AWS SDK for C++

AWS SDK for C++ Version 1.11.741

Loading...
Searching...
No Matches
S3Location.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSMap.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/glacier/Glacier_EXPORTS.h>
11#include <aws/glacier/model/CannedACL.h>
12#include <aws/glacier/model/Encryption.h>
13#include <aws/glacier/model/Grant.h>
14#include <aws/glacier/model/StorageClass.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Glacier {
26namespace Model {
27
35 public:
36 AWS_GLACIER_API S3Location() = default;
37 AWS_GLACIER_API S3Location(Aws::Utils::Json::JsonView jsonValue);
38 AWS_GLACIER_API S3Location& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_GLACIER_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::String& GetBucketName() const { return m_bucketName; }
46 inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; }
47 template <typename BucketNameT = Aws::String>
48 void SetBucketName(BucketNameT&& value) {
49 m_bucketNameHasBeenSet = true;
50 m_bucketName = std::forward<BucketNameT>(value);
51 }
52 template <typename BucketNameT = Aws::String>
53 S3Location& WithBucketName(BucketNameT&& value) {
54 SetBucketName(std::forward<BucketNameT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::String& GetPrefix() const { return m_prefix; }
64 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
65 template <typename PrefixT = Aws::String>
66 void SetPrefix(PrefixT&& value) {
67 m_prefixHasBeenSet = true;
68 m_prefix = std::forward<PrefixT>(value);
69 }
70 template <typename PrefixT = Aws::String>
71 S3Location& WithPrefix(PrefixT&& value) {
72 SetPrefix(std::forward<PrefixT>(value));
73 return *this;
74 }
76
78
82 inline const Encryption& GetEncryption() const { return m_encryption; }
83 inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
84 template <typename EncryptionT = Encryption>
85 void SetEncryption(EncryptionT&& value) {
86 m_encryptionHasBeenSet = true;
87 m_encryption = std::forward<EncryptionT>(value);
88 }
89 template <typename EncryptionT = Encryption>
90 S3Location& WithEncryption(EncryptionT&& value) {
91 SetEncryption(std::forward<EncryptionT>(value));
92 return *this;
93 }
95
97
100 inline CannedACL GetCannedACL() const { return m_cannedACL; }
101 inline bool CannedACLHasBeenSet() const { return m_cannedACLHasBeenSet; }
102 inline void SetCannedACL(CannedACL value) {
103 m_cannedACLHasBeenSet = true;
104 m_cannedACL = value;
105 }
107 SetCannedACL(value);
108 return *this;
109 }
111
113
116 inline const Aws::Vector<Grant>& GetAccessControlList() const { return m_accessControlList; }
117 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
118 template <typename AccessControlListT = Aws::Vector<Grant>>
119 void SetAccessControlList(AccessControlListT&& value) {
120 m_accessControlListHasBeenSet = true;
121 m_accessControlList = std::forward<AccessControlListT>(value);
122 }
123 template <typename AccessControlListT = Aws::Vector<Grant>>
124 S3Location& WithAccessControlList(AccessControlListT&& value) {
125 SetAccessControlList(std::forward<AccessControlListT>(value));
126 return *this;
127 }
128 template <typename AccessControlListT = Grant>
129 S3Location& AddAccessControlList(AccessControlListT&& value) {
130 m_accessControlListHasBeenSet = true;
131 m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
132 return *this;
133 }
135
137
140 inline const Aws::Map<Aws::String, Aws::String>& GetTagging() const { return m_tagging; }
141 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
142 template <typename TaggingT = Aws::Map<Aws::String, Aws::String>>
143 void SetTagging(TaggingT&& value) {
144 m_taggingHasBeenSet = true;
145 m_tagging = std::forward<TaggingT>(value);
146 }
147 template <typename TaggingT = Aws::Map<Aws::String, Aws::String>>
148 S3Location& WithTagging(TaggingT&& value) {
149 SetTagging(std::forward<TaggingT>(value));
150 return *this;
151 }
152 template <typename TaggingKeyT = Aws::String, typename TaggingValueT = Aws::String>
153 S3Location& AddTagging(TaggingKeyT&& key, TaggingValueT&& value) {
154 m_taggingHasBeenSet = true;
155 m_tagging.emplace(std::forward<TaggingKeyT>(key), std::forward<TaggingValueT>(value));
156 return *this;
157 }
159
161
164 inline const Aws::Map<Aws::String, Aws::String>& GetUserMetadata() const { return m_userMetadata; }
165 inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; }
166 template <typename UserMetadataT = Aws::Map<Aws::String, Aws::String>>
167 void SetUserMetadata(UserMetadataT&& value) {
168 m_userMetadataHasBeenSet = true;
169 m_userMetadata = std::forward<UserMetadataT>(value);
170 }
171 template <typename UserMetadataT = Aws::Map<Aws::String, Aws::String>>
172 S3Location& WithUserMetadata(UserMetadataT&& value) {
173 SetUserMetadata(std::forward<UserMetadataT>(value));
174 return *this;
175 }
176 template <typename UserMetadataKeyT = Aws::String, typename UserMetadataValueT = Aws::String>
177 S3Location& AddUserMetadata(UserMetadataKeyT&& key, UserMetadataValueT&& value) {
178 m_userMetadataHasBeenSet = true;
179 m_userMetadata.emplace(std::forward<UserMetadataKeyT>(key), std::forward<UserMetadataValueT>(value));
180 return *this;
181 }
183
185
188 inline StorageClass GetStorageClass() const { return m_storageClass; }
189 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
190 inline void SetStorageClass(StorageClass value) {
191 m_storageClassHasBeenSet = true;
192 m_storageClass = value;
193 }
195 SetStorageClass(value);
196 return *this;
197 }
199 private:
200 Aws::String m_bucketName;
201
202 Aws::String m_prefix;
203
204 Encryption m_encryption;
205
206 CannedACL m_cannedACL{CannedACL::NOT_SET};
207
208 Aws::Vector<Grant> m_accessControlList;
209
211
213
214 StorageClass m_storageClass{StorageClass::NOT_SET};
215 bool m_bucketNameHasBeenSet = false;
216 bool m_prefixHasBeenSet = false;
217 bool m_encryptionHasBeenSet = false;
218 bool m_cannedACLHasBeenSet = false;
219 bool m_accessControlListHasBeenSet = false;
220 bool m_taggingHasBeenSet = false;
221 bool m_userMetadataHasBeenSet = false;
222 bool m_storageClassHasBeenSet = false;
223};
224
225} // namespace Model
226} // namespace Glacier
227} // namespace Aws
S3Location & WithEncryption(EncryptionT &&value)
Definition S3Location.h:90
S3Location & WithStorageClass(StorageClass value)
Definition S3Location.h:194
AWS_GLACIER_API S3Location & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_GLACIER_API S3Location()=default
void SetPrefix(PrefixT &&value)
Definition S3Location.h:66
S3Location & WithAccessControlList(AccessControlListT &&value)
Definition S3Location.h:124
const Aws::String & GetBucketName() const
Definition S3Location.h:45
const Aws::Vector< Grant > & GetAccessControlList() const
Definition S3Location.h:116
const Aws::String & GetPrefix() const
Definition S3Location.h:63
S3Location & AddUserMetadata(UserMetadataKeyT &&key, UserMetadataValueT &&value)
Definition S3Location.h:177
S3Location & WithTagging(TaggingT &&value)
Definition S3Location.h:148
S3Location & AddAccessControlList(AccessControlListT &&value)
Definition S3Location.h:129
bool AccessControlListHasBeenSet() const
Definition S3Location.h:117
S3Location & WithBucketName(BucketNameT &&value)
Definition S3Location.h:53
AWS_GLACIER_API S3Location(Aws::Utils::Json::JsonView jsonValue)
void SetTagging(TaggingT &&value)
Definition S3Location.h:143
void SetCannedACL(CannedACL value)
Definition S3Location.h:102
const Encryption & GetEncryption() const
Definition S3Location.h:82
S3Location & WithCannedACL(CannedACL value)
Definition S3Location.h:106
S3Location & WithPrefix(PrefixT &&value)
Definition S3Location.h:71
void SetUserMetadata(UserMetadataT &&value)
Definition S3Location.h:167
const Aws::Map< Aws::String, Aws::String > & GetTagging() const
Definition S3Location.h:140
void SetStorageClass(StorageClass value)
Definition S3Location.h:190
void SetBucketName(BucketNameT &&value)
Definition S3Location.h:48
void SetEncryption(EncryptionT &&value)
Definition S3Location.h:85
S3Location & WithUserMetadata(UserMetadataT &&value)
Definition S3Location.h:172
CannedACL GetCannedACL() const
Definition S3Location.h:100
const Aws::Map< Aws::String, Aws::String > & GetUserMetadata() const
Definition S3Location.h:164
AWS_GLACIER_API Aws::Utils::Json::JsonValue Jsonize() const
StorageClass GetStorageClass() const
Definition S3Location.h:188
S3Location & AddTagging(TaggingKeyT &&key, TaggingValueT &&value)
Definition S3Location.h:153
void SetAccessControlList(AccessControlListT &&value)
Definition S3Location.h:119
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue