AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
S3Location.h
1
6#pragma once
7#include <aws/s3/S3_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/s3/model/Encryption.h>
10#include <aws/s3/model/ObjectCannedACL.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/s3/model/Tagging.h>
13#include <aws/s3/model/StorageClass.h>
14#include <aws/s3/model/Grant.h>
15#include <aws/s3/model/MetadataEntry.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Xml
23{
24 class XmlNode;
25} // namespace Xml
26} // namespace Utils
27namespace S3
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_S3_API S3Location() = default;
42 AWS_S3_API S3Location(const Aws::Utils::Xml::XmlNode& xmlNode);
43 AWS_S3_API S3Location& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
44
45 AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode& parentNode) const;
46
47
49
52 inline const Aws::String& GetBucketName() const { return m_bucketName; }
53 inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; }
54 template<typename BucketNameT = Aws::String>
55 void SetBucketName(BucketNameT&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::forward<BucketNameT>(value); }
56 template<typename BucketNameT = Aws::String>
57 S3Location& WithBucketName(BucketNameT&& value) { SetBucketName(std::forward<BucketNameT>(value)); return *this;}
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) { m_prefixHasBeenSet = true; m_prefix = std::forward<PrefixT>(value); }
68 template<typename PrefixT = Aws::String>
69 S3Location& WithPrefix(PrefixT&& value) { SetPrefix(std::forward<PrefixT>(value)); return *this;}
71
73
74 inline const Encryption& GetEncryption() const { return m_encryption; }
75 inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
76 template<typename EncryptionT = Encryption>
77 void SetEncryption(EncryptionT&& value) { m_encryptionHasBeenSet = true; m_encryption = std::forward<EncryptionT>(value); }
78 template<typename EncryptionT = Encryption>
79 S3Location& WithEncryption(EncryptionT&& value) { SetEncryption(std::forward<EncryptionT>(value)); return *this;}
81
83
86 inline ObjectCannedACL GetCannedACL() const { return m_cannedACL; }
87 inline bool CannedACLHasBeenSet() const { return m_cannedACLHasBeenSet; }
88 inline void SetCannedACL(ObjectCannedACL value) { m_cannedACLHasBeenSet = true; m_cannedACL = value; }
89 inline S3Location& WithCannedACL(ObjectCannedACL value) { SetCannedACL(value); return *this;}
91
93
96 inline const Aws::Vector<Grant>& GetAccessControlList() const { return m_accessControlList; }
97 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
98 template<typename AccessControlListT = Aws::Vector<Grant>>
99 void SetAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::forward<AccessControlListT>(value); }
100 template<typename AccessControlListT = Aws::Vector<Grant>>
101 S3Location& WithAccessControlList(AccessControlListT&& value) { SetAccessControlList(std::forward<AccessControlListT>(value)); return *this;}
102 template<typename AccessControlListT = Grant>
103 S3Location& AddAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList.emplace_back(std::forward<AccessControlListT>(value)); return *this; }
105
107
110 inline const Tagging& GetTagging() const { return m_tagging; }
111 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
112 template<typename TaggingT = Tagging>
113 void SetTagging(TaggingT&& value) { m_taggingHasBeenSet = true; m_tagging = std::forward<TaggingT>(value); }
114 template<typename TaggingT = Tagging>
115 S3Location& WithTagging(TaggingT&& value) { SetTagging(std::forward<TaggingT>(value)); return *this;}
117
119
122 inline const Aws::Vector<MetadataEntry>& GetUserMetadata() const { return m_userMetadata; }
123 inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; }
124 template<typename UserMetadataT = Aws::Vector<MetadataEntry>>
125 void SetUserMetadata(UserMetadataT&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::forward<UserMetadataT>(value); }
126 template<typename UserMetadataT = Aws::Vector<MetadataEntry>>
127 S3Location& WithUserMetadata(UserMetadataT&& value) { SetUserMetadata(std::forward<UserMetadataT>(value)); return *this;}
128 template<typename UserMetadataT = MetadataEntry>
129 S3Location& AddUserMetadata(UserMetadataT&& value) { m_userMetadataHasBeenSet = true; m_userMetadata.emplace_back(std::forward<UserMetadataT>(value)); return *this; }
131
133
136 inline StorageClass GetStorageClass() const { return m_storageClass; }
137 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
138 inline void SetStorageClass(StorageClass value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
139 inline S3Location& WithStorageClass(StorageClass value) { SetStorageClass(value); return *this;}
141 private:
142
143 Aws::String m_bucketName;
144 bool m_bucketNameHasBeenSet = false;
145
146 Aws::String m_prefix;
147 bool m_prefixHasBeenSet = false;
148
149 Encryption m_encryption;
150 bool m_encryptionHasBeenSet = false;
151
153 bool m_cannedACLHasBeenSet = false;
154
155 Aws::Vector<Grant> m_accessControlList;
156 bool m_accessControlListHasBeenSet = false;
157
158 Tagging m_tagging;
159 bool m_taggingHasBeenSet = false;
160
161 Aws::Vector<MetadataEntry> m_userMetadata;
162 bool m_userMetadataHasBeenSet = false;
163
164 StorageClass m_storageClass{StorageClass::NOT_SET};
165 bool m_storageClassHasBeenSet = false;
166 };
167
168} // namespace Model
169} // namespace S3
170} // namespace Aws
S3Location & AddAccessControlList(AccessControlListT &&value)
Definition S3Location.h:103
bool PrefixHasBeenSet() const
Definition S3Location.h:65
S3Location & WithCannedACL(ObjectCannedACL value)
Definition S3Location.h:89
void SetEncryption(EncryptionT &&value)
Definition S3Location.h:77
bool TaggingHasBeenSet() const
Definition S3Location.h:111
void SetUserMetadata(UserMetadataT &&value)
Definition S3Location.h:125
void SetPrefix(PrefixT &&value)
Definition S3Location.h:67
S3Location & WithPrefix(PrefixT &&value)
Definition S3Location.h:69
AWS_S3_API S3Location()=default
StorageClass GetStorageClass() const
Definition S3Location.h:136
void SetCannedACL(ObjectCannedACL value)
Definition S3Location.h:88
ObjectCannedACL GetCannedACL() const
Definition S3Location.h:86
AWS_S3_API S3Location(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AccessControlListHasBeenSet() const
Definition S3Location.h:97
const Aws::String & GetPrefix() const
Definition S3Location.h:64
S3Location & WithTagging(TaggingT &&value)
Definition S3Location.h:115
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:96
const Aws::String & GetBucketName() const
Definition S3Location.h:52
bool EncryptionHasBeenSet() const
Definition S3Location.h:75
bool CannedACLHasBeenSet() const
Definition S3Location.h:87
void SetStorageClass(StorageClass value)
Definition S3Location.h:138
S3Location & WithEncryption(EncryptionT &&value)
Definition S3Location.h:79
S3Location & AddUserMetadata(UserMetadataT &&value)
Definition S3Location.h:129
S3Location & WithStorageClass(StorageClass value)
Definition S3Location.h:139
bool BucketNameHasBeenSet() const
Definition S3Location.h:53
bool StorageClassHasBeenSet() const
Definition S3Location.h:137
void SetTagging(TaggingT &&value)
Definition S3Location.h:113
S3Location & WithUserMetadata(UserMetadataT &&value)
Definition S3Location.h:127
void SetAccessControlList(AccessControlListT &&value)
Definition S3Location.h:99
S3Location & WithBucketName(BucketNameT &&value)
Definition S3Location.h:57
const Tagging & GetTagging() const
Definition S3Location.h:110
const Aws::Vector< MetadataEntry > & GetUserMetadata() const
Definition S3Location.h:122
const Encryption & GetEncryption() const
Definition S3Location.h:74
void SetBucketName(BucketNameT &&value)
Definition S3Location.h:55
bool UserMetadataHasBeenSet() const
Definition S3Location.h:123
S3Location & WithAccessControlList(AccessControlListT &&value)
Definition S3Location.h:101
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector