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/glacier/Glacier_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/glacier/model/Encryption.h>
10#include <aws/glacier/model/CannedACL.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/glacier/model/StorageClass.h>
14#include <aws/glacier/model/Grant.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Glacier
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_GLACIER_API S3Location() = default;
42 AWS_GLACIER_API S3Location(Aws::Utils::Json::JsonView jsonValue);
43 AWS_GLACIER_API S3Location& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_GLACIER_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetBucketName() const { return m_bucketName; }
52 inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; }
53 template<typename BucketNameT = Aws::String>
54 void SetBucketName(BucketNameT&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::forward<BucketNameT>(value); }
55 template<typename BucketNameT = Aws::String>
56 S3Location& WithBucketName(BucketNameT&& value) { SetBucketName(std::forward<BucketNameT>(value)); return *this;}
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) { m_prefixHasBeenSet = true; m_prefix = std::forward<PrefixT>(value); }
67 template<typename PrefixT = Aws::String>
68 S3Location& WithPrefix(PrefixT&& value) { SetPrefix(std::forward<PrefixT>(value)); return *this;}
70
72
76 inline const Encryption& GetEncryption() const { return m_encryption; }
77 inline bool EncryptionHasBeenSet() const { return m_encryptionHasBeenSet; }
78 template<typename EncryptionT = Encryption>
79 void SetEncryption(EncryptionT&& value) { m_encryptionHasBeenSet = true; m_encryption = std::forward<EncryptionT>(value); }
80 template<typename EncryptionT = Encryption>
81 S3Location& WithEncryption(EncryptionT&& value) { SetEncryption(std::forward<EncryptionT>(value)); return *this;}
83
85
88 inline CannedACL GetCannedACL() const { return m_cannedACL; }
89 inline bool CannedACLHasBeenSet() const { return m_cannedACLHasBeenSet; }
90 inline void SetCannedACL(CannedACL value) { m_cannedACLHasBeenSet = true; m_cannedACL = value; }
91 inline S3Location& WithCannedACL(CannedACL value) { SetCannedACL(value); return *this;}
93
95
98 inline const Aws::Vector<Grant>& GetAccessControlList() const { return m_accessControlList; }
99 inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; }
100 template<typename AccessControlListT = Aws::Vector<Grant>>
101 void SetAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::forward<AccessControlListT>(value); }
102 template<typename AccessControlListT = Aws::Vector<Grant>>
103 S3Location& WithAccessControlList(AccessControlListT&& value) { SetAccessControlList(std::forward<AccessControlListT>(value)); return *this;}
104 template<typename AccessControlListT = Grant>
105 S3Location& AddAccessControlList(AccessControlListT&& value) { m_accessControlListHasBeenSet = true; m_accessControlList.emplace_back(std::forward<AccessControlListT>(value)); return *this; }
107
109
112 inline const Aws::Map<Aws::String, Aws::String>& GetTagging() const { return m_tagging; }
113 inline bool TaggingHasBeenSet() const { return m_taggingHasBeenSet; }
114 template<typename TaggingT = Aws::Map<Aws::String, Aws::String>>
115 void SetTagging(TaggingT&& value) { m_taggingHasBeenSet = true; m_tagging = std::forward<TaggingT>(value); }
116 template<typename TaggingT = Aws::Map<Aws::String, Aws::String>>
117 S3Location& WithTagging(TaggingT&& value) { SetTagging(std::forward<TaggingT>(value)); return *this;}
118 template<typename TaggingKeyT = Aws::String, typename TaggingValueT = Aws::String>
119 S3Location& AddTagging(TaggingKeyT&& key, TaggingValueT&& value) {
120 m_taggingHasBeenSet = true; m_tagging.emplace(std::forward<TaggingKeyT>(key), std::forward<TaggingValueT>(value)); return *this;
121 }
123
125
128 inline const Aws::Map<Aws::String, Aws::String>& GetUserMetadata() const { return m_userMetadata; }
129 inline bool UserMetadataHasBeenSet() const { return m_userMetadataHasBeenSet; }
130 template<typename UserMetadataT = Aws::Map<Aws::String, Aws::String>>
131 void SetUserMetadata(UserMetadataT&& value) { m_userMetadataHasBeenSet = true; m_userMetadata = std::forward<UserMetadataT>(value); }
132 template<typename UserMetadataT = Aws::Map<Aws::String, Aws::String>>
133 S3Location& WithUserMetadata(UserMetadataT&& value) { SetUserMetadata(std::forward<UserMetadataT>(value)); return *this;}
134 template<typename UserMetadataKeyT = Aws::String, typename UserMetadataValueT = Aws::String>
135 S3Location& AddUserMetadata(UserMetadataKeyT&& key, UserMetadataValueT&& value) {
136 m_userMetadataHasBeenSet = true; m_userMetadata.emplace(std::forward<UserMetadataKeyT>(key), std::forward<UserMetadataValueT>(value)); return *this;
137 }
139
141
144 inline StorageClass GetStorageClass() const { return m_storageClass; }
145 inline bool StorageClassHasBeenSet() const { return m_storageClassHasBeenSet; }
146 inline void SetStorageClass(StorageClass value) { m_storageClassHasBeenSet = true; m_storageClass = value; }
147 inline S3Location& WithStorageClass(StorageClass value) { SetStorageClass(value); return *this;}
149 private:
150
151 Aws::String m_bucketName;
152 bool m_bucketNameHasBeenSet = false;
153
154 Aws::String m_prefix;
155 bool m_prefixHasBeenSet = false;
156
157 Encryption m_encryption;
158 bool m_encryptionHasBeenSet = false;
159
160 CannedACL m_cannedACL{CannedACL::NOT_SET};
161 bool m_cannedACLHasBeenSet = false;
162
163 Aws::Vector<Grant> m_accessControlList;
164 bool m_accessControlListHasBeenSet = false;
165
167 bool m_taggingHasBeenSet = false;
168
170 bool m_userMetadataHasBeenSet = false;
171
172 StorageClass m_storageClass{StorageClass::NOT_SET};
173 bool m_storageClassHasBeenSet = false;
174 };
175
176} // namespace Model
177} // namespace Glacier
178} // namespace Aws
S3Location & WithEncryption(EncryptionT &&value)
Definition S3Location.h:81
S3Location & WithStorageClass(StorageClass value)
Definition S3Location.h:147
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:103
const Aws::String & GetBucketName() const
Definition S3Location.h:51
const Aws::Vector< Grant > & GetAccessControlList() const
Definition S3Location.h:98
const Aws::String & GetPrefix() const
Definition S3Location.h:63
S3Location & AddUserMetadata(UserMetadataKeyT &&key, UserMetadataValueT &&value)
Definition S3Location.h:135
S3Location & WithTagging(TaggingT &&value)
Definition S3Location.h:117
S3Location & AddAccessControlList(AccessControlListT &&value)
Definition S3Location.h:105
bool AccessControlListHasBeenSet() const
Definition S3Location.h:99
S3Location & WithBucketName(BucketNameT &&value)
Definition S3Location.h:56
AWS_GLACIER_API S3Location(Aws::Utils::Json::JsonView jsonValue)
void SetTagging(TaggingT &&value)
Definition S3Location.h:115
void SetCannedACL(CannedACL value)
Definition S3Location.h:90
const Encryption & GetEncryption() const
Definition S3Location.h:76
S3Location & WithCannedACL(CannedACL value)
Definition S3Location.h:91
S3Location & WithPrefix(PrefixT &&value)
Definition S3Location.h:68
void SetUserMetadata(UserMetadataT &&value)
Definition S3Location.h:131
const Aws::Map< Aws::String, Aws::String > & GetTagging() const
Definition S3Location.h:112
void SetStorageClass(StorageClass value)
Definition S3Location.h:146
void SetBucketName(BucketNameT &&value)
Definition S3Location.h:54
void SetEncryption(EncryptionT &&value)
Definition S3Location.h:79
S3Location & WithUserMetadata(UserMetadataT &&value)
Definition S3Location.h:133
CannedACL GetCannedACL() const
Definition S3Location.h:88
const Aws::Map< Aws::String, Aws::String > & GetUserMetadata() const
Definition S3Location.h:128
AWS_GLACIER_API Aws::Utils::Json::JsonValue Jsonize() const
StorageClass GetStorageClass() const
Definition S3Location.h:144
S3Location & AddTagging(TaggingKeyT &&key, TaggingValueT &&value)
Definition S3Location.h:119
void SetAccessControlList(AccessControlListT &&value)
Definition S3Location.h:101
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