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>
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>
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>
105 template<
typename DefaultServerS
ideEncryptionT = ServerS
ideEncryption>
106 void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT&& value) { m_defaultServerSideEncryptionHasBeenSet =
true; m_defaultServerSideEncryption = std::forward<DefaultServerSideEncryptionT>(value); }
107 template<
typename DefaultServerS
ideEncryptionT = ServerS
ideEncryption>
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>
130 template<
typename OwnerT = S3BucketOwner>
131 void SetOwner(OwnerT&& value) { m_ownerHasBeenSet =
true; m_owner = std::forward<OwnerT>(value); }
132 template<
typename OwnerT = S3BucketOwner>
143 template<
typename PublicAccessT = BucketPublicAccess>
144 void SetPublicAccess(PublicAccessT&& value) { m_publicAccessHasBeenSet =
true; m_publicAccess = std::forward<PublicAccessT>(value); }
145 template<
typename PublicAccessT = BucketPublicAccess>
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>>
159 template<
typename TagsT = KeyValuePair>
160 S3Bucket&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
165 bool m_allowsUnencryptedObjectUploadsHasBeenSet =
false;
168 bool m_arnHasBeenSet =
false;
171 bool m_createdAtHasBeenSet =
false;
173 ServerSideEncryption m_defaultServerSideEncryption;
174 bool m_defaultServerSideEncryptionHasBeenSet =
false;
177 bool m_nameHasBeenSet =
false;
179 S3BucketOwner m_owner;
180 bool m_ownerHasBeenSet =
false;
182 BucketPublicAccess m_publicAccess;
183 bool m_publicAccessHasBeenSet =
false;
186 bool m_tagsHasBeenSet =
false;
void SetCreatedAt(CreatedAtT &&value)
AWS_MACIE2_API S3Bucket()=default
S3Bucket & WithOwner(OwnerT &&value)
void SetOwner(OwnerT &&value)
AWS_MACIE2_API S3Bucket(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & WithAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
S3Bucket & WithTags(TagsT &&value)
bool OwnerHasBeenSet() const
S3Bucket & WithPublicAccess(PublicAccessT &&value)
S3Bucket & WithDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
const Aws::String & GetArn() const
const Aws::Vector< KeyValuePair > & GetTags() const
S3Bucket & WithCreatedAt(CreatedAtT &&value)
AWS_MACIE2_API S3Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
S3Bucket & AddTags(TagsT &&value)
bool PublicAccessHasBeenSet() const
bool NameHasBeenSet() const
void SetDefaultServerSideEncryption(DefaultServerSideEncryptionT &&value)
void SetAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads value)
const Aws::String & GetName() const
const BucketPublicAccess & GetPublicAccess() const
S3Bucket & WithName(NameT &&value)
bool AllowsUnencryptedObjectUploadsHasBeenSet() const
AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const
AllowsUnencryptedObjectUploads GetAllowsUnencryptedObjectUploads() const
S3Bucket & WithArn(ArnT &&value)
bool CreatedAtHasBeenSet() const
void SetArn(ArnT &&value)
void SetName(NameT &&value)
void SetPublicAccess(PublicAccessT &&value)
bool ArnHasBeenSet() const
const ServerSideEncryption & GetDefaultServerSideEncryption() const
const Aws::Utils::DateTime & GetCreatedAt() const
const S3BucketOwner & GetOwner() const
bool TagsHasBeenSet() const
bool DefaultServerSideEncryptionHasBeenSet() const
void SetTags(TagsT &&value)
AllowsUnencryptedObjectUploads
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue