sdk/include/alibabacloud/oss/model/InventoryConfiguration.h (117 lines of code) (raw):

/* * Copyright 2009-2017 Alibaba Cloud All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <alibabacloud/oss/Export.h> #include <alibabacloud/oss/Types.h> #include <string> #include <vector> namespace AlibabaCloud { namespace OSS { class ALIBABACLOUD_OSS_EXPORT InventoryFilter { public: InventoryFilter(); InventoryFilter(const std::string& prefix); const std::string& Prefix() const { return prefix_; } void setPrefix(const std::string& prefix) { prefix_ = prefix; } private: std::string prefix_; }; class ALIBABACLOUD_OSS_EXPORT InventorySSEOSS { public: InventorySSEOSS(); }; class ALIBABACLOUD_OSS_EXPORT InventorySSEKMS { public: InventorySSEKMS(); InventorySSEKMS(const std::string& key); const std::string& KeyId() const { return keyId_; } void setKeyId(const std::string& key) { keyId_ = key; } private: std::string keyId_; }; class ALIBABACLOUD_OSS_EXPORT InventoryEncryption { public: InventoryEncryption(); InventoryEncryption(const InventorySSEOSS& value); InventoryEncryption(const InventorySSEKMS& value); const InventorySSEOSS& SSEOSS() const { return inventorySSEOSS_; } void setSSEOSS(const InventorySSEOSS& value) { inventorySSEOSS_ = value; inventorySSEOSIsSet_ = true; } bool hasSSEOSS() const { return inventorySSEOSIsSet_; } const InventorySSEKMS& SSEKMS() const { return inventorySSEKMS_; } void setSSEKMS(const InventorySSEKMS& value) { inventorySSEKMS_ = value; inventorySSEKMSIsSet_ = true; } bool hasSSEKMS() const { return inventorySSEKMSIsSet_; } private: InventorySSEOSS inventorySSEOSS_; bool inventorySSEOSIsSet_; InventorySSEKMS inventorySSEKMS_; bool inventorySSEKMSIsSet_; }; class ALIBABACLOUD_OSS_EXPORT InventoryOSSBucketDestination { public: InventoryOSSBucketDestination(); InventoryFormat Format() const { return format_; } const std::string& AccountId() const { return accountId_; } const std::string& RoleArn() const { return roleArn_; } const std::string& Bucket() const { return bucket_; } const std::string& Prefix() const { return prefix_; } const InventoryEncryption& Encryption() const { return encryption_; } void setFormat(InventoryFormat format) { format_ = format; } void setAccountId(const std::string& accountId) { accountId_ = accountId; } void setRoleArn(const std::string& roleArn) { roleArn_ = roleArn; } void setBucket(const std::string& bucket) { bucket_ = bucket; } void setPrefix(const std::string& prefix) { prefix_ = prefix; } void setEncryption(const InventoryEncryption& encryption) { encryption_ = encryption; } private: InventoryFormat format_; std::string accountId_; std::string roleArn_; std::string bucket_; std::string prefix_; InventoryEncryption encryption_; }; class InventoryDestination { public: InventoryDestination() {} InventoryDestination(const InventoryOSSBucketDestination& destination):InventoryOSSBucketDestination_(destination){} const InventoryOSSBucketDestination& OSSBucketDestination() const { return InventoryOSSBucketDestination_; } void setOSSBucketDestination(const InventoryOSSBucketDestination& destination) { InventoryOSSBucketDestination_ = destination; } private: InventoryOSSBucketDestination InventoryOSSBucketDestination_; }; using InventoryOptionalFields = std::vector<InventoryOptionalField>; class ALIBABACLOUD_OSS_EXPORT InventoryConfiguration { public: InventoryConfiguration(); const std::string& Id() const { return id_; } bool IsEnabled() const { return isEnabled_; } const InventoryFilter& Filter() const { return filter_; } const InventoryDestination& Destination() const { return destination_; } const InventoryFrequency& Schedule() const { return schedule_; } const InventoryIncludedObjectVersions& IncludedObjectVersions() const { return includedObjectVersions_; } const InventoryOptionalFields& OptionalFields() const { return optionalFields_; } void setId(const std::string& id) { id_ = id; } void setIsEnabled(bool isEnabled) { isEnabled_ = isEnabled; } void setFilter(const InventoryFilter& prefix) { filter_ = prefix; } void setDestination(const InventoryDestination& destination) { destination_ = destination; } void setSchedule(const InventoryFrequency& schedule) { schedule_ = schedule; } void setIncludedObjectVersions(const InventoryIncludedObjectVersions& includedObjectVersions) { includedObjectVersions_ = includedObjectVersions; } void setOptionalFields(const InventoryOptionalFields& opt) { optionalFields_ = opt; } private: std::string id_; bool isEnabled_; InventoryFilter filter_; InventoryDestination destination_; InventoryFrequency schedule_; InventoryIncludedObjectVersions includedObjectVersions_; InventoryOptionalFields optionalFields_; }; using InventoryConfigurationList = std::vector<InventoryConfiguration>; } }