7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/lightsail/model/AccessRules.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/lightsail/model/ResourceLocation.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/lightsail/model/BucketState.h>
14#include <aws/lightsail/model/BucketAccessLogConfig.h>
15#include <aws/lightsail/model/Tag.h>
16#include <aws/lightsail/model/ResourceReceivingAccess.h>
42 AWS_LIGHTSAIL_API
Bucket() =
default;
54 template<
typename ResourceTypeT = Aws::String>
55 void SetResourceType(ResourceTypeT&& value) { m_resourceTypeHasBeenSet =
true; m_resourceType = std::forward<ResourceTypeT>(value); }
56 template<
typename ResourceTypeT = Aws::String>
66 template<
typename AccessRulesT = AccessRules>
67 void SetAccessRules(AccessRulesT&& value) { m_accessRulesHasBeenSet =
true; m_accessRules = std::forward<AccessRulesT>(value); }
68 template<
typename AccessRulesT = AccessRules>
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>
94 template<
typename BundleIdT = Aws::String>
95 void SetBundleId(BundleIdT&& value) { m_bundleIdHasBeenSet =
true; m_bundleId = std::forward<BundleIdT>(value); }
96 template<
typename BundleIdT = Aws::String>
106 template<
typename CreatedAtT = Aws::Utils::DateTime>
107 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
108 template<
typename CreatedAtT = Aws::Utils::DateTime>
118 template<
typename UrlT = Aws::String>
119 void SetUrl(UrlT&& value) { m_urlHasBeenSet =
true; m_url = std::forward<UrlT>(value); }
120 template<
typename UrlT = Aws::String>
131 template<
typename LocationT = ResourceLocation>
132 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
133 template<
typename LocationT = ResourceLocation>
143 template<
typename NameT = Aws::String>
144 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
145 template<
typename NameT = Aws::String>
157 template<
typename SupportCodeT = Aws::String>
158 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet =
true; m_supportCode = std::forward<SupportCodeT>(value); }
159 template<
typename SupportCodeT = Aws::String>
171 template<
typename TagsT = Aws::Vector<Tag>>
172 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
173 template<
typename TagsT = Aws::Vector<Tag>>
175 template<
typename TagsT = Tag>
176 Bucket&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
190 template<
typename ObjectVersioningT = Aws::String>
191 void SetObjectVersioning(ObjectVersioningT&& value) { m_objectVersioningHasBeenSet =
true; m_objectVersioning = std::forward<ObjectVersioningT>(value); }
192 template<
typename ObjectVersioningT = Aws::String>
206 inline void SetAbleToUpdateBundle(
bool value) { m_ableToUpdateBundleHasBeenSet =
true; m_ableToUpdateBundle = value; }
217 template<
typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
218 void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) { m_readonlyAccessAccountsHasBeenSet =
true; m_readonlyAccessAccounts = std::forward<ReadonlyAccessAccountsT>(value); }
219 template<
typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
221 template<
typename ReadonlyAccessAccountsT = Aws::String>
222 Bucket&
AddReadonlyAccessAccounts(ReadonlyAccessAccountsT&& value) { m_readonlyAccessAccountsHasBeenSet =
true; m_readonlyAccessAccounts.emplace_back(std::forward<ReadonlyAccessAccountsT>(value));
return *
this; }
234 template<
typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
235 void SetResourcesReceivingAccess(ResourcesReceivingAccessT&& value) { m_resourcesReceivingAccessHasBeenSet =
true; m_resourcesReceivingAccess = std::forward<ResourcesReceivingAccessT>(value); }
236 template<
typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
238 template<
typename ResourcesReceivingAccessT = ResourceReceivingAccess>
239 Bucket&
AddResourcesReceivingAccess(ResourcesReceivingAccessT&& value) { m_resourcesReceivingAccessHasBeenSet =
true; m_resourcesReceivingAccess.emplace_back(std::forward<ResourcesReceivingAccessT>(value));
return *
this; }
248 template<
typename StateT = BucketState>
249 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
250 template<
typename StateT = BucketState>
260 template<
typename AccessLogConfigT = BucketAccessLogConfig>
261 void SetAccessLogConfig(AccessLogConfigT&& value) { m_accessLogConfigHasBeenSet =
true; m_accessLogConfig = std::forward<AccessLogConfigT>(value); }
262 template<
typename AccessLogConfigT = BucketAccessLogConfig>
268 bool m_resourceTypeHasBeenSet =
false;
271 bool m_accessRulesHasBeenSet =
false;
274 bool m_arnHasBeenSet =
false;
277 bool m_bundleIdHasBeenSet =
false;
280 bool m_createdAtHasBeenSet =
false;
283 bool m_urlHasBeenSet =
false;
285 ResourceLocation m_location;
286 bool m_locationHasBeenSet =
false;
289 bool m_nameHasBeenSet =
false;
292 bool m_supportCodeHasBeenSet =
false;
295 bool m_tagsHasBeenSet =
false;
298 bool m_objectVersioningHasBeenSet =
false;
300 bool m_ableToUpdateBundle{
false};
301 bool m_ableToUpdateBundleHasBeenSet =
false;
304 bool m_readonlyAccessAccountsHasBeenSet =
false;
307 bool m_resourcesReceivingAccessHasBeenSet =
false;
310 bool m_stateHasBeenSet =
false;
312 BucketAccessLogConfig m_accessLogConfig;
313 bool m_accessLogConfigHasBeenSet =
false;
bool TagsHasBeenSet() const
AWS_LIGHTSAIL_API Bucket()=default
void SetAbleToUpdateBundle(bool value)
Bucket & WithResourceType(ResourceTypeT &&value)
void SetLocation(LocationT &&value)
void SetResourceType(ResourceTypeT &&value)
void SetState(StateT &&value)
const Aws::Vector< Tag > & GetTags() const
Bucket & WithSupportCode(SupportCodeT &&value)
bool LocationHasBeenSet() const
AWS_LIGHTSAIL_API Bucket(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithLocation(LocationT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
Bucket & WithAccessLogConfig(AccessLogConfigT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
bool ArnHasBeenSet() const
Bucket & AddReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
bool ReadonlyAccessAccountsHasBeenSet() const
Bucket & WithState(StateT &&value)
const Aws::String & GetSupportCode() const
void SetResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
void SetObjectVersioning(ObjectVersioningT &&value)
bool AccessLogConfigHasBeenSet() const
const Aws::String & GetResourceType() const
bool CreatedAtHasBeenSet() const
bool AbleToUpdateBundleHasBeenSet() const
void SetAccessRules(AccessRulesT &&value)
Bucket & WithBundleId(BundleIdT &&value)
void SetTags(TagsT &&value)
Bucket & WithCreatedAt(CreatedAtT &&value)
void SetSupportCode(SupportCodeT &&value)
Bucket & WithObjectVersioning(ObjectVersioningT &&value)
Bucket & WithName(NameT &&value)
void SetName(NameT &&value)
const BucketState & GetState() const
void SetArn(ArnT &&value)
const Aws::String & GetName() const
const Aws::String & GetObjectVersioning() const
bool StateHasBeenSet() const
bool ResourcesReceivingAccessHasBeenSet() const
Bucket & WithResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
Bucket & AddTags(TagsT &&value)
const Aws::String & GetArn() const
bool BundleIdHasBeenSet() const
bool ResourceTypeHasBeenSet() const
AWS_LIGHTSAIL_API Bucket & operator=(Aws::Utils::Json::JsonView jsonValue)
Bucket & WithArn(ArnT &&value)
Bucket & WithAccessRules(AccessRulesT &&value)
Bucket & WithReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
Bucket & WithTags(TagsT &&value)
bool SupportCodeHasBeenSet() const
const Aws::String & GetUrl() const
bool UrlHasBeenSet() const
const Aws::String & GetBundleId() const
void SetUrl(UrlT &&value)
void SetCreatedAt(CreatedAtT &&value)
Bucket & WithUrl(UrlT &&value)
const Aws::Vector< ResourceReceivingAccess > & GetResourcesReceivingAccess() const
void SetAccessLogConfig(AccessLogConfigT &&value)
const Aws::Vector< Aws::String > & GetReadonlyAccessAccounts() const
const ResourceLocation & GetLocation() const
bool NameHasBeenSet() const
Bucket & WithAbleToUpdateBundle(bool value)
void SetReadonlyAccessAccounts(ReadonlyAccessAccountsT &&value)
bool ObjectVersioningHasBeenSet() const
const AccessRules & GetAccessRules() const
const BucketAccessLogConfig & GetAccessLogConfig() const
bool AccessRulesHasBeenSet() const
Bucket & AddResourcesReceivingAccess(ResourcesReceivingAccessT &&value)
bool GetAbleToUpdateBundle() const
void SetBundleId(BundleIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue