AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
S3Location.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/s3/S3_EXPORTS.h>
10#include <aws/s3/model/Encryption.h>
11#include <aws/s3/model/Grant.h>
12#include <aws/s3/model/MetadataEntry.h>
13#include <aws/s3/model/ObjectCannedACL.h>
14#include <aws/s3/model/StorageClass.h>
15#include <aws/s3/model/Tagging.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace S3 {
26namespace Model {
27
35 public:
36 AWS_S3_API S3Location() = default;
37 AWS_S3_API S3Location(const Aws::Utils::Xml::XmlNode& xmlNode);
38 AWS_S3_API S3Location& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
39
40 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
41
43
46 inline const Aws::String& GetBucketName() const { return m_bucketName; }
47 inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; }
48 template <typename BucketNameT = Aws::String>
49 void SetBucketName(BucketNameT&& value) {
50 m_bucketNameHasBeenSet = true;
51 m_bucketName = std::forward<BucketNameT>(value);
52 }
53 template <typename BucketNameT = Aws::String>
54 S3Location& WithBucketName(BucketNameT&& value) {
55 SetBucketName(std::forward<BucketNameT>(value));
56 return *this;
57 }
59
61
64 inline const Aws::String& GetPrefix() const { return m_prefix; }
65 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
66 template <typename PrefixT = Aws::String>
67 void SetPrefix(PrefixT&& value) {
68 m_prefixHasBeenSet = true;
69 m_prefix = std::forward<PrefixT>(value);
70 }
71 template <typename PrefixT = Aws::String>
72 S3Location& WithPrefix(PrefixT&& value) {
73 SetPrefix(std::forward<PrefixT>(value));
74 return *this;
75 }
77
79
80 inline const Encryption& GetEncryption() const { return m_encryption; }
81 inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
82 template <typename EncryptionT = Encryption>
83 void SetEncryption(EncryptionT&& value) {
84 m_encryptionHasBeenSet = true;
85 m_encryption = std::forward<EncryptionT>(value);
86 }
87 template <typename EncryptionT = Encryption>
88 S3Location& WithEncryption(EncryptionT&& value) {
89 SetEncryption(std::forward<EncryptionT>(value));
90 return *this;
91 }
93
95
98 inline ObjectCannedACL GetCannedACL() const { return m_cannedACL; }
99 inline bool CannedACLHasBeenSet() const { return m_cannedACLHasBeenSet; }
100 inline void SetCannedACL(ObjectCannedACL value) {
101 m_cannedACLHasBeenSet = true;
102 m_cannedACL = value;
103 }
105 SetCannedACL(value);
106 return *this;
107 }
109
111
114 inline const Aws::Vector<Grant>& GetAccessControlList() const { return m_accessControlList; }
115 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
116 template <typename AccessControlListT = Aws::Vector<Grant>>
117 void SetAccessControlList(AccessControlListT&& value) {
118 m_accessControlListHasBeenSet = true;
119 m_accessControlList = std::forward<AccessControlListT>(value);
120 }
121 template <typename AccessControlListT = Aws::Vector<Grant>>
122 S3Location& WithAccessControlList(AccessControlListT&& value) {
123 SetAccessControlList(std::forward<AccessControlListT>(value));
124 return *this;
125 }
126 template <typename AccessControlListT = Grant>
127 S3Location& AddAccessControlList(AccessControlListT&& value) {
128 m_accessControlListHasBeenSet = true;
129 m_accessControlList.emplace_back(std::forward<AccessControlListT>(value));
130 return *this;
131 }
133
135
138 inline const Tagging& GetTagging() const { return m_tagging; }
139 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
140 template <typename TaggingT = Tagging>
141 void SetTagging(TaggingT&& value) {
142 m_taggingHasBeenSet = true;
143 m_tagging = std::forward<TaggingT>(value);
144 }
145 template <typename TaggingT = Tagging>
146 S3Location& WithTagging(TaggingT&& value) {
147 SetTagging(std::forward<TaggingT>(value));
148 return *this;
149 }
151
153
156 inline const Aws::Vector<MetadataEntry>& GetUserMetadata() const { return m_userMetadata; }
157 inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; }
158 template <typename UserMetadataT = Aws::Vector<MetadataEntry>>
159 void SetUserMetadata(UserMetadataT&& value) {
160 m_userMetadataHasBeenSet = true;
161 m_userMetadata = std::forward<UserMetadataT>(value);
162 }
163 template <typename UserMetadataT = Aws::Vector<MetadataEntry>>
164 S3Location& WithUserMetadata(UserMetadataT&& value) {
165 SetUserMetadata(std::forward<UserMetadataT>(value));
166 return *this;
167 }
168 template <typename UserMetadataT = MetadataEntry>
169 S3Location& AddUserMetadata(UserMetadataT&& value) {
170 m_userMetadataHasBeenSet = true;
171 m_userMetadata.emplace_back(std::forward<UserMetadataT>(value));
172 return *this;
173 }
175
177
180 inline StorageClass GetStorageClass() const { return m_storageClass; }
181 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
182 inline void SetStorageClass(StorageClass value) {
183 m_storageClassHasBeenSet = true;
184 m_storageClass = value;
185 }
187 SetStorageClass(value);
188 return *this;
189 }
191 private:
192 Aws::String m_bucketName;
193
194 Aws::String m_prefix;
195
196 Encryption m_encryption;
197
199
200 Aws::Vector<Grant> m_accessControlList;
201
202 Tagging m_tagging;
203
204 Aws::Vector<MetadataEntry> m_userMetadata;
205
206 StorageClass m_storageClass{StorageClass::NOT_SET};
207 bool m_bucketNameHasBeenSet = false;
208 bool m_prefixHasBeenSet = false;
209 bool m_encryptionHasBeenSet = false;
210 bool m_cannedACLHasBeenSet = false;
211 bool m_accessControlListHasBeenSet = false;
212 bool m_taggingHasBeenSet = false;
213 bool m_userMetadataHasBeenSet = false;
214 bool m_storageClassHasBeenSet = false;
215};
216
217} // namespace Model
218} // namespace S3
219} // namespace Aws
S3Location & AddAccessControlList(AccessControlListT &&value)
Definition S3Location.h:127
bool PrefixHasBeenSet() const
Definition S3Location.h:65
S3Location & WithCannedACL(ObjectCannedACL value)
Definition S3Location.h:104
void SetEncryption(EncryptionT &&value)
Definition S3Location.h:83
bool TaggingHasBeenSet() const
Definition S3Location.h:139
void SetUserMetadata(UserMetadataT &&value)
Definition S3Location.h:159
void SetPrefix(PrefixT &&value)
Definition S3Location.h:67
S3Location & WithPrefix(PrefixT &&value)
Definition S3Location.h:72
AWS_S3_API S3Location()=default
StorageClass GetStorageClass() const
Definition S3Location.h:180
void SetCannedACL(ObjectCannedACL value)
Definition S3Location.h:100
ObjectCannedACL GetCannedACL() const
Definition S3Location.h:98
AWS_S3_API S3Location(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AccessControlListHasBeenSet() const
Definition S3Location.h:115
const Aws::String & GetPrefix() const
Definition S3Location.h:64
S3Location & WithTagging(TaggingT &&value)
Definition S3Location.h:146
AWS_S3_API S3Location & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
const Aws::Vector< Grant > & GetAccessControlList() const
Definition S3Location.h:114
const Aws::String & GetBucketName() const
Definition S3Location.h:46
bool EncryptionHasBeenSet() const
Definition S3Location.h:81
bool CannedACLHasBeenSet() const
Definition S3Location.h:99
void SetStorageClass(StorageClass value)
Definition S3Location.h:182
S3Location & WithEncryption(EncryptionT &&value)
Definition S3Location.h:88
S3Location & AddUserMetadata(UserMetadataT &&value)
Definition S3Location.h:169
S3Location & WithStorageClass(StorageClass value)
Definition S3Location.h:186
bool BucketNameHasBeenSet() const
Definition S3Location.h:47
bool StorageClassHasBeenSet() const
Definition S3Location.h:181
void SetTagging(TaggingT &&value)
Definition S3Location.h:141
S3Location & WithUserMetadata(UserMetadataT &&value)
Definition S3Location.h:164
void SetAccessControlList(AccessControlListT &&value)
Definition S3Location.h:117
S3Location & WithBucketName(BucketNameT &&value)
Definition S3Location.h:54
const Tagging & GetTagging() const
Definition S3Location.h:138
const Aws::Vector< MetadataEntry > & GetUserMetadata() const
Definition S3Location.h:156
const Encryption & GetEncryption() const
Definition S3Location.h:80
void SetBucketName(BucketNameT &&value)
Definition S3Location.h:49
bool UserMetadataHasBeenSet() const
Definition S3Location.h:157
S3Location & WithAccessControlList(AccessControlListT &&value)
Definition S3Location.h:122
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector