/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes an Amazon Lightsail bucket.See Also:
AWS
* API Reference
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
The Lightsail resource type of the bucket (for example,
* Bucket
).
An object that describes the access rules of the bucket.
*/ inline const AccessRules& GetAccessRules() const{ return m_accessRules; } /** *An object that describes the access rules of the bucket.
*/ inline bool AccessRulesHasBeenSet() const { return m_accessRulesHasBeenSet; } /** *An object that describes the access rules of the bucket.
*/ inline void SetAccessRules(const AccessRules& value) { m_accessRulesHasBeenSet = true; m_accessRules = value; } /** *An object that describes the access rules of the bucket.
*/ inline void SetAccessRules(AccessRules&& value) { m_accessRulesHasBeenSet = true; m_accessRules = std::move(value); } /** *An object that describes the access rules of the bucket.
*/ inline Bucket& WithAccessRules(const AccessRules& value) { SetAccessRules(value); return *this;} /** *An object that describes the access rules of the bucket.
*/ inline Bucket& WithAccessRules(AccessRules&& value) { SetAccessRules(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline Bucket& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline Bucket& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) of the bucket.
*/ inline Bucket& WithArn(const char* value) { SetArn(value); return *this;} /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline const Aws::String& GetBundleId() const{ return m_bundleId; } /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline bool BundleIdHasBeenSet() const { return m_bundleIdHasBeenSet; } /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline void SetBundleId(const Aws::String& value) { m_bundleIdHasBeenSet = true; m_bundleId = value; } /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline void SetBundleId(Aws::String&& value) { m_bundleIdHasBeenSet = true; m_bundleId = std::move(value); } /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline void SetBundleId(const char* value) { m_bundleIdHasBeenSet = true; m_bundleId.assign(value); } /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline Bucket& WithBundleId(const Aws::String& value) { SetBundleId(value); return *this;} /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline Bucket& WithBundleId(Aws::String&& value) { SetBundleId(std::move(value)); return *this;} /** *The ID of the bundle currently applied to the bucket.
A bucket bundle * specifies the monthly cost, storage space, and data transfer quota for a * bucket.
Use the UpdateBucketBundle * action to change the bundle of a bucket.
*/ inline Bucket& WithBundleId(const char* value) { SetBundleId(value); return *this;} /** *The timestamp when the distribution was created.
*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *The timestamp when the distribution was created.
*/ inline bool CreatedAtHasBeenSet() const { return m_createdAtHasBeenSet; } /** *The timestamp when the distribution was created.
*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAtHasBeenSet = true; m_createdAt = value; } /** *The timestamp when the distribution was created.
*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAtHasBeenSet = true; m_createdAt = std::move(value); } /** *The timestamp when the distribution was created.
*/ inline Bucket& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *The timestamp when the distribution was created.
*/ inline Bucket& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} /** *The URL of the bucket.
*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *The URL of the bucket.
*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *The URL of the bucket.
*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *The URL of the bucket.
*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *The URL of the bucket.
*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *The URL of the bucket.
*/ inline Bucket& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *The URL of the bucket.
*/ inline Bucket& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *The URL of the bucket.
*/ inline Bucket& WithUrl(const char* value) { SetUrl(value); return *this;} /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline const ResourceLocation& GetLocation() const{ return m_location; } /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline void SetLocation(const ResourceLocation& value) { m_locationHasBeenSet = true; m_location = value; } /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline void SetLocation(ResourceLocation&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline Bucket& WithLocation(const ResourceLocation& value) { SetLocation(value); return *this;} /** *An object that describes the location of the bucket, such as the Amazon Web * Services Region and Availability Zone.
*/ inline Bucket& WithLocation(ResourceLocation&& value) { SetLocation(std::move(value)); return *this;} /** *The name of the bucket.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name of the bucket.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name of the bucket.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name of the bucket.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name of the bucket.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name of the bucket.
*/ inline Bucket& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name of the bucket.
*/ inline Bucket& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name of the bucket.
*/ inline Bucket& WithName(const char* value) { SetName(value); return *this;} /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline const Aws::String& GetSupportCode() const{ return m_supportCode; } /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline bool SupportCodeHasBeenSet() const { return m_supportCodeHasBeenSet; } /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const Aws::String& value) { m_supportCodeHasBeenSet = true; m_supportCode = value; } /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(Aws::String&& value) { m_supportCodeHasBeenSet = true; m_supportCode = std::move(value); } /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline void SetSupportCode(const char* value) { m_supportCodeHasBeenSet = true; m_supportCode.assign(value); } /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline Bucket& WithSupportCode(const Aws::String& value) { SetSupportCode(value); return *this;} /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline Bucket& WithSupportCode(Aws::String&& value) { SetSupportCode(std::move(value)); return *this;} /** *The support code for a bucket. Include this code in your email to support * when you have questions about a Lightsail bucket. This code enables our support * team to look up your Lightsail information more easily.
*/ inline Bucket& WithSupportCode(const char* value) { SetSupportCode(value); return *this;} /** *The tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline const Aws::VectorThe tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *The tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline void SetTags(const Aws::VectorThe tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline void SetTags(Aws::VectorThe tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline Bucket& WithTags(const Aws::VectorThe tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline Bucket& WithTags(Aws::VectorThe tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline Bucket& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *The tag keys and optional values for the bucket. For more information, see Tags * in Amazon Lightsail in the Amazon Lightsail Developer Guide.
*/ inline Bucket& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether object versioning is enabled for the bucket.
The * following options can be configured:
Enabled
-
* Object versioning is enabled.
Suspended
- Object
* versioning was previously enabled but is currently suspended. Existing object
* versions are retained.
NeverEnabled
- Object
* versioning has never been enabled.
Indicates whether the bundle that is currently applied to a bucket can be * changed to another bundle.
You can update a bucket's bundle only one time * within a monthly Amazon Web Services billing cycle.
Use the UpdateBucketBundle * action to change a bucket's bundle.
*/ inline bool GetAbleToUpdateBundle() const{ return m_ableToUpdateBundle; } /** *Indicates whether the bundle that is currently applied to a bucket can be * changed to another bundle.
You can update a bucket's bundle only one time * within a monthly Amazon Web Services billing cycle.
Use the UpdateBucketBundle * action to change a bucket's bundle.
*/ inline bool AbleToUpdateBundleHasBeenSet() const { return m_ableToUpdateBundleHasBeenSet; } /** *Indicates whether the bundle that is currently applied to a bucket can be * changed to another bundle.
You can update a bucket's bundle only one time * within a monthly Amazon Web Services billing cycle.
Use the UpdateBucketBundle * action to change a bucket's bundle.
*/ inline void SetAbleToUpdateBundle(bool value) { m_ableToUpdateBundleHasBeenSet = true; m_ableToUpdateBundle = value; } /** *Indicates whether the bundle that is currently applied to a bucket can be * changed to another bundle.
You can update a bucket's bundle only one time * within a monthly Amazon Web Services billing cycle.
Use the UpdateBucketBundle * action to change a bucket's bundle.
*/ inline Bucket& WithAbleToUpdateBundle(bool value) { SetAbleToUpdateBundle(value); return *this;} /** *An array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline const Aws::VectorAn array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline bool ReadonlyAccessAccountsHasBeenSet() const { return m_readonlyAccessAccountsHasBeenSet; } /** *An array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline void SetReadonlyAccessAccounts(const Aws::VectorAn array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline void SetReadonlyAccessAccounts(Aws::VectorAn array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline Bucket& WithReadonlyAccessAccounts(const Aws::VectorAn array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline Bucket& WithReadonlyAccessAccounts(Aws::VectorAn array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline Bucket& AddReadonlyAccessAccounts(const Aws::String& value) { m_readonlyAccessAccountsHasBeenSet = true; m_readonlyAccessAccounts.push_back(value); return *this; } /** *An array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline Bucket& AddReadonlyAccessAccounts(Aws::String&& value) { m_readonlyAccessAccountsHasBeenSet = true; m_readonlyAccessAccounts.push_back(std::move(value)); return *this; } /** *An array of strings that specify the Amazon Web Services account IDs that * have read-only access to the bucket.
*/ inline Bucket& AddReadonlyAccessAccounts(const char* value) { m_readonlyAccessAccountsHasBeenSet = true; m_readonlyAccessAccounts.push_back(value); return *this; } /** *An array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline const Aws::VectorAn array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline bool ResourcesReceivingAccessHasBeenSet() const { return m_resourcesReceivingAccessHasBeenSet; } /** *An array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline void SetResourcesReceivingAccess(const Aws::VectorAn array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline void SetResourcesReceivingAccess(Aws::VectorAn array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline Bucket& WithResourcesReceivingAccess(const Aws::VectorAn array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline Bucket& WithResourcesReceivingAccess(Aws::VectorAn array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline Bucket& AddResourcesReceivingAccess(const ResourceReceivingAccess& value) { m_resourcesReceivingAccessHasBeenSet = true; m_resourcesReceivingAccess.push_back(value); return *this; } /** *An array of objects that describe Lightsail instances that have access to the * bucket.
Use the SetResourceAccessForBucket * action to update the instances that have access to a bucket.
*/ inline Bucket& AddResourcesReceivingAccess(ResourceReceivingAccess&& value) { m_resourcesReceivingAccessHasBeenSet = true; m_resourcesReceivingAccess.push_back(std::move(value)); return *this; } /** *An object that describes the state of the bucket.
*/ inline const BucketState& GetState() const{ return m_state; } /** *An object that describes the state of the bucket.
*/ inline bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *An object that describes the state of the bucket.
*/ inline void SetState(const BucketState& value) { m_stateHasBeenSet = true; m_state = value; } /** *An object that describes the state of the bucket.
*/ inline void SetState(BucketState&& value) { m_stateHasBeenSet = true; m_state = std::move(value); } /** *An object that describes the state of the bucket.
*/ inline Bucket& WithState(const BucketState& value) { SetState(value); return *this;} /** *An object that describes the state of the bucket.
*/ inline Bucket& WithState(BucketState&& value) { SetState(std::move(value)); return *this;} /** *An object that describes the access log configuration for the bucket.
*/ inline const BucketAccessLogConfig& GetAccessLogConfig() const{ return m_accessLogConfig; } /** *An object that describes the access log configuration for the bucket.
*/ inline bool AccessLogConfigHasBeenSet() const { return m_accessLogConfigHasBeenSet; } /** *An object that describes the access log configuration for the bucket.
*/ inline void SetAccessLogConfig(const BucketAccessLogConfig& value) { m_accessLogConfigHasBeenSet = true; m_accessLogConfig = value; } /** *An object that describes the access log configuration for the bucket.
*/ inline void SetAccessLogConfig(BucketAccessLogConfig&& value) { m_accessLogConfigHasBeenSet = true; m_accessLogConfig = std::move(value); } /** *An object that describes the access log configuration for the bucket.
*/ inline Bucket& WithAccessLogConfig(const BucketAccessLogConfig& value) { SetAccessLogConfig(value); return *this;} /** *An object that describes the access log configuration for the bucket.
*/ inline Bucket& WithAccessLogConfig(BucketAccessLogConfig&& value) { SetAccessLogConfig(std::move(value)); return *this;} private: Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; AccessRules m_accessRules; bool m_accessRulesHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_bundleId; bool m_bundleIdHasBeenSet = false; Aws::Utils::DateTime m_createdAt; bool m_createdAtHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; ResourceLocation m_location; bool m_locationHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_supportCode; bool m_supportCodeHasBeenSet = false; Aws::Vector