7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/AccessRules.h>
12#include <aws/lightsail/model/BucketAccessLogConfig.h>
13#include <aws/lightsail/model/BucketCorsConfig.h>
14#include <aws/lightsail/model/BucketState.h>
15#include <aws/lightsail/model/ResourceLocation.h>
16#include <aws/lightsail/model/ResourceReceivingAccess.h>
17#include <aws/lightsail/model/Tag.h>
38 AWS_LIGHTSAIL_API
Bucket() =
default;
49 template <
typename ResourceTypeT = Aws::String>
51 m_resourceTypeHasBeenSet =
true;
52 m_resourceType = std::forward<ResourceTypeT>(value);
54 template <
typename ResourceTypeT = Aws::String>
67 template <
typename AccessRulesT = AccessRules>
69 m_accessRulesHasBeenSet =
true;
70 m_accessRules = std::forward<AccessRulesT>(value);
72 template <
typename AccessRulesT = AccessRules>
85 template <
typename ArnT = Aws::String>
87 m_arnHasBeenSet =
true;
88 m_arn = std::forward<ArnT>(value);
90 template <
typename ArnT = Aws::String>
92 SetArn(std::forward<ArnT>(value));
107 template <
typename BundleIdT = Aws::String>
109 m_bundleIdHasBeenSet =
true;
110 m_bundleId = std::forward<BundleIdT>(value);
112 template <
typename BundleIdT = Aws::String>
125 template <
typename CreatedAtT = Aws::Utils::DateTime>
127 m_createdAtHasBeenSet =
true;
128 m_createdAt = std::forward<CreatedAtT>(value);
130 template <
typename CreatedAtT = Aws::Utils::DateTime>
143 template <
typename UrlT = Aws::String>
145 m_urlHasBeenSet =
true;
146 m_url = std::forward<UrlT>(value);
148 template <
typename UrlT = Aws::String>
150 SetUrl(std::forward<UrlT>(value));
162 template <
typename LocationT = ResourceLocation>
164 m_locationHasBeenSet =
true;
165 m_location = std::forward<LocationT>(value);
167 template <
typename LocationT = ResourceLocation>
180 template <
typename NameT = Aws::String>
182 m_nameHasBeenSet =
true;
183 m_name = std::forward<NameT>(value);
185 template <
typename NameT = Aws::String>
187 SetName(std::forward<NameT>(value));
200 template <
typename SupportCodeT = Aws::String>
202 m_supportCodeHasBeenSet =
true;
203 m_supportCode = std::forward<SupportCodeT>(value);
205 template <
typename SupportCodeT = Aws::String>
220 template <
typename TagsT = Aws::Vector<Tag>>
222 m_tagsHasBeenSet =
true;
223 m_tags = std::forward<TagsT>(value);
225 template <
typename TagsT = Aws::Vector<Tag>>
227 SetTags(std::forward<TagsT>(value));
230 template <
typename TagsT = Tag>
232 m_tagsHasBeenSet =
true;
233 m_tags.emplace_back(std::forward<TagsT>(value));
249 template <
typename ObjectVersioningT = Aws::String>
251 m_objectVersioningHasBeenSet =
true;
252 m_objectVersioning = std::forward<ObjectVersioningT>(value);
254 template <
typename ObjectVersioningT = Aws::String>
272 m_ableToUpdateBundleHasBeenSet =
true;
273 m_ableToUpdateBundle = value;
288 template <
typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
290 m_readonlyAccessAccountsHasBeenSet =
true;
291 m_readonlyAccessAccounts = std::forward<ReadonlyAccessAccountsT>(value);
293 template <
typename ReadonlyAccessAccountsT = Aws::Vector<Aws::String>>
298 template <
typename ReadonlyAccessAccountsT = Aws::String>
300 m_readonlyAccessAccountsHasBeenSet =
true;
301 m_readonlyAccessAccounts.emplace_back(std::forward<ReadonlyAccessAccountsT>(value));
315 template <
typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
317 m_resourcesReceivingAccessHasBeenSet =
true;
318 m_resourcesReceivingAccess = std::forward<ResourcesReceivingAccessT>(value);
320 template <
typename ResourcesReceivingAccessT = Aws::Vector<ResourceReceivingAccess>>
325 template <
typename ResourcesReceivingAccessT = ResourceReceivingAccess>
327 m_resourcesReceivingAccessHasBeenSet =
true;
328 m_resourcesReceivingAccess.emplace_back(std::forward<ResourcesReceivingAccessT>(value));
339 template <
typename StateT = BucketState>
341 m_stateHasBeenSet =
true;
342 m_state = std::forward<StateT>(value);
344 template <
typename StateT = BucketState>
346 SetState(std::forward<StateT>(value));
357 template <
typename AccessLogConfigT = BucketAccessLogConfig>
359 m_accessLogConfigHasBeenSet =
true;
360 m_accessLogConfig = std::forward<AccessLogConfigT>(value);
362 template <
typename AccessLogConfigT = BucketAccessLogConfig>
380 template <
typename CorsT = BucketCorsConfig>
382 m_corsHasBeenSet =
true;
383 m_cors = std::forward<CorsT>(value);
385 template <
typename CorsT = BucketCorsConfig>
387 SetCors(std::forward<CorsT>(value));
404 ResourceLocation m_location;
414 bool m_ableToUpdateBundle{
false};
422 BucketAccessLogConfig m_accessLogConfig;
424 BucketCorsConfig m_cors;
425 bool m_resourceTypeHasBeenSet =
false;
426 bool m_accessRulesHasBeenSet =
false;
427 bool m_arnHasBeenSet =
false;
428 bool m_bundleIdHasBeenSet =
false;
429 bool m_createdAtHasBeenSet =
false;
430 bool m_urlHasBeenSet =
false;
431 bool m_locationHasBeenSet =
false;
432 bool m_nameHasBeenSet =
false;
433 bool m_supportCodeHasBeenSet =
false;
434 bool m_tagsHasBeenSet =
false;
435 bool m_objectVersioningHasBeenSet =
false;
436 bool m_ableToUpdateBundleHasBeenSet =
false;
437 bool m_readonlyAccessAccountsHasBeenSet =
false;
438 bool m_resourcesReceivingAccessHasBeenSet =
false;
439 bool m_stateHasBeenSet =
false;
440 bool m_accessLogConfigHasBeenSet =
false;
441 bool m_corsHasBeenSet =
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)
const BucketCorsConfig & GetCors() const
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)
void SetCors(CorsT &&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
bool CorsHasBeenSet() 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
Bucket & WithCors(CorsT &&value)
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