AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
S3Bucket.h
1
6#pragma once
7#include <aws/macie2/Macie2_EXPORTS.h>
8#include <aws/macie2/model/AllowsUnencryptedObjectUploads.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/macie2/model/ServerSideEncryption.h>
12#include <aws/macie2/model/S3BucketOwner.h>
13#include <aws/macie2/model/BucketPublicAccess.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/macie2/model/KeyValuePair.h>
16#include <utility>
17
18namespace Aws
19{
20namespace Utils
21{
22namespace Json
23{
24 class JsonValue;
25 class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace Macie2
29{
30namespace Model
31{
32
43 {
44 public:
45 AWS_MACIE2_API S3Bucket() = default;
46 AWS_MACIE2_API S3Bucket(Aws::Utils::Json::JsonView jsonValue);
47 AWS_MACIE2_API S3Bucket& operator=(Aws::Utils::Json::JsonView jsonValue);
48 AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const;
49
50
52
66 inline AllowsUnencryptedObjectUploads GetAllowsUnencryptedObjectUploads() const { return m_allowsUnencryptedObjectUploads; }
67 inline bool AllowsUnencryptedObjectUploadsHasBeenSet() const { return m_allowsUnencryptedObjectUploadsHasBeenSet; }
68 inline void SetAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value) { m_allowsUnencryptedObjectUploadsHasBeenSet = true; m_allowsUnencryptedObjectUploads = value; }
71
73
76 inline const Aws::String& GetArn() const { return m_arn; }
77 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
78 template<typename ArnT = Aws::String>
79 void SetArn(ArnT&& value) { m_arnHasBeenSet = true; m_arn = std::forward<ArnT>(value); }
80 template<typename ArnT = Aws::String>
81 S3Bucket& WithArn(ArnT&& value) { SetArn(std::forward<ArnT>(value)); return *this;}
83
85
91 inline const Aws::Utils::DateTime& GetCreatedAt() const { return m_createdAt; }
92 inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; }
93 template<typename CreatedAtT = Aws::Utils::DateTime>
94 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::forward<CreatedAtT>(value); }
95 template<typename CreatedAtT = Aws::Utils::DateTime>
96 S3Bucket& WithCreatedAt(CreatedAtT&& value) { SetCreatedAt(std::forward<CreatedAtT>(value)); return *this;}
98
100
103 inline const ServerSideEncryption& GetDefaultServerSideEncryption() const { return m_defaultServerSideEncryption; }
104 inline bool DefaultServerSideEncryptionHasBeenSet() const { return m_defaultServerSideEncryptionHasBeenSet; }
105 template<typename DefaultServerSideEncryptionT = ServerSideEncryption>
106 void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) { m_defaultServerSideEncryptionHasBeenSet = true; m_defaultServerSideEncryption = std::forward<DefaultServerSideEncryptionT>(value); }
107 template<typename DefaultServerSideEncryptionT = ServerSideEncryption>
108 S3Bucket& WithDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) { SetDefaultServerSideEncryption(std::forward<DefaultServerSideEncryptionT>(value)); return *this;}
110
112
115 inline const Aws::String& GetName() const { return m_name; }
116 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
117 template<typename NameT = Aws::String>
118 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
119 template<typename NameT = Aws::String>
120 S3Bucket& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
122
124
128 inline const S3BucketOwner& GetOwner() const { return m_owner; }
129 inline bool OwnerHasBeenSet() const { return m_ownerHasBeenSet; }
130 template<typename OwnerT = S3BucketOwner>
131 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet = true; m_owner = std::forward<OwnerT>(value); }
132 template<typename OwnerT = S3BucketOwner>
133 S3Bucket& WithOwner(OwnerT&& value) { SetOwner(std::forward<OwnerT>(value)); return *this;}
135
137
141 inline const BucketPublicAccess& GetPublicAccess() const { return m_publicAccess; }
142 inline bool PublicAccessHasBeenSet() const { return m_publicAccessHasBeenSet; }
143 template<typename PublicAccessT = BucketPublicAccess>
144 void SetPublicAccess(PublicAccessT&& value) { m_publicAccessHasBeenSet = true; m_publicAccess = std::forward<PublicAccessT>(value); }
145 template<typename PublicAccessT = BucketPublicAccess>
146 S3Bucket& WithPublicAccess(PublicAccessT&& value) { SetPublicAccess(std::forward<PublicAccessT>(value)); return *this;}
148
150
153 inline const Aws::Vector<KeyValuePair>& GetTags() const { return m_tags; }
154 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
155 template<typename TagsT = Aws::Vector<KeyValuePair>>
156 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
157 template<typename TagsT = Aws::Vector<KeyValuePair>>
158 S3Bucket& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
159 template<typename TagsT = KeyValuePair>
160 S3Bucket& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
162 private:
163
165 bool m_allowsUnencryptedObjectUploadsHasBeenSet = false;
166
167 Aws::String m_arn;
168 bool m_arnHasBeenSet = false;
169
170 Aws::Utils::DateTime m_createdAt{};
171 bool m_createdAtHasBeenSet = false;
172
173 ServerSideEncryption m_defaultServerSideEncryption;
174 bool m_defaultServerSideEncryptionHasBeenSet = false;
175
176 Aws::String m_name;
177 bool m_nameHasBeenSet = false;
178
179 S3BucketOwner m_owner;
180 bool m_ownerHasBeenSet = false;
181
182 BucketPublicAccess m_publicAccess;
183 bool m_publicAccessHasBeenSet = false;
184
186 bool m_tagsHasBeenSet = false;
187 };
188
189} // namespace Model
190} // namespace Macie2
191} // namespace Aws
void SetCreatedAt(CreatedAtT &&value)
Definition S3Bucket.h:94
AWS_MACIE2_API S3Bucket()=default
S3Bucket & WithOwner(OwnerT &&value)
Definition S3Bucket.h:133
void SetOwner(OwnerT &&value)
Definition S3Bucket.h:131
AWS_MACIE2_API S3Bucket(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & WithAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
Definition S3Bucket.h:69
S3Bucket & WithTags(TagsT &&value)
Definition S3Bucket.h:158
S3Bucket & WithPublicAccess(PublicAccessT &&value)
Definition S3Bucket.h:146
S3Bucket & WithDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
Definition S3Bucket.h:108
const Aws::String & GetArn() const
Definition S3Bucket.h:76
const Aws::Vector< KeyValuePair > & GetTags() const
Definition S3Bucket.h:153
S3Bucket & WithCreatedAt(CreatedAtT &&value)
Definition S3Bucket.h:96
AWS_MACIE2_API S3Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & AddTags(TagsT &&value)
Definition S3Bucket.h:160
bool PublicAccessHasBeenSet() const
Definition S3Bucket.h:142
void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
Definition S3Bucket.h:106
void SetAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
Definition S3Bucket.h:68
const Aws::String & GetName() const
Definition S3Bucket.h:115
const BucketPublicAccess & GetPublicAccess() const
Definition S3Bucket.h:141
S3Bucket & WithName(NameT &&value)
Definition S3Bucket.h:120
bool AllowsUnencryptedObjectUploadsHasBeenSet() const
Definition S3Bucket.h:67
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
AllowsUnencryptedObjectUploads GetAllowsUnencryptedObjectUploads() const
Definition S3Bucket.h:66
S3Bucket & WithArn(ArnT &&value)
Definition S3Bucket.h:81
bool CreatedAtHasBeenSet() const
Definition S3Bucket.h:92
void SetArn(ArnT &&value)
Definition S3Bucket.h:79
void SetName(NameT &&value)
Definition S3Bucket.h:118
void SetPublicAccess(PublicAccessT &&value)
Definition S3Bucket.h:144
const ServerSideEncryption & GetDefaultServerSideEncryption() const
Definition S3Bucket.h:103
const Aws::Utils::DateTime & GetCreatedAt() const
Definition S3Bucket.h:91
const S3BucketOwner & GetOwner() const
Definition S3Bucket.h:128
bool DefaultServerSideEncryptionHasBeenSet() const
Definition S3Bucket.h:104
void SetTags(TagsT &&value)
Definition S3Bucket.h:156
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue