/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The details of an Amazon S3 bucket.See Also:
AWS
* API Reference
The canonical user ID of the owner of the S3 bucket.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *The canonical user ID of the owner of the S3 bucket.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *The canonical user ID of the owner of the S3 bucket.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *The canonical user ID of the owner of the S3 bucket.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *The canonical user ID of the owner of the S3 bucket.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *The canonical user ID of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *The canonical user ID of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *The canonical user ID of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *The display name of the owner of the S3 bucket.
*/ inline const Aws::String& GetOwnerName() const{ return m_ownerName; } /** *The display name of the owner of the S3 bucket.
*/ inline bool OwnerNameHasBeenSet() const { return m_ownerNameHasBeenSet; } /** *The display name of the owner of the S3 bucket.
*/ inline void SetOwnerName(const Aws::String& value) { m_ownerNameHasBeenSet = true; m_ownerName = value; } /** *The display name of the owner of the S3 bucket.
*/ inline void SetOwnerName(Aws::String&& value) { m_ownerNameHasBeenSet = true; m_ownerName = std::move(value); } /** *The display name of the owner of the S3 bucket.
*/ inline void SetOwnerName(const char* value) { m_ownerNameHasBeenSet = true; m_ownerName.assign(value); } /** *The display name of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerName(const Aws::String& value) { SetOwnerName(value); return *this;} /** *The display name of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerName(Aws::String&& value) { SetOwnerName(std::move(value)); return *this;} /** *The display name of the owner of the S3 bucket.
*/ inline AwsS3BucketDetails& WithOwnerName(const char* value) { SetOwnerName(value); return *this;} /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline const Aws::String& GetOwnerAccountId() const{ return m_ownerAccountId; } /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline void SetOwnerAccountId(const Aws::String& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = value; } /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline void SetOwnerAccountId(Aws::String&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::move(value); } /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline void SetOwnerAccountId(const char* value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId.assign(value); } /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline AwsS3BucketDetails& WithOwnerAccountId(const Aws::String& value) { SetOwnerAccountId(value); return *this;} /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline AwsS3BucketDetails& WithOwnerAccountId(Aws::String&& value) { SetOwnerAccountId(std::move(value)); return *this;} /** *The Amazon Web Services account identifier of the account that owns the S3 * bucket.
*/ inline AwsS3BucketDetails& WithOwnerAccountId(const char* value) { SetOwnerAccountId(value); return *this;} /** *Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
Indicates when the S3 bucket was created.
Uses the
* date-time
format specified in RFC 3339 section 5.6,
* Internet Date/Time Format. The value cannot contain spaces, and date and
* time should be separated by T
. For example,
* 2020-03-22T13:22:13.933Z
.
The encryption rules that are applied to the S3 bucket.
*/ inline const AwsS3BucketServerSideEncryptionConfiguration& GetServerSideEncryptionConfiguration() const{ return m_serverSideEncryptionConfiguration; } /** *The encryption rules that are applied to the S3 bucket.
*/ inline bool ServerSideEncryptionConfigurationHasBeenSet() const { return m_serverSideEncryptionConfigurationHasBeenSet; } /** *The encryption rules that are applied to the S3 bucket.
*/ inline void SetServerSideEncryptionConfiguration(const AwsS3BucketServerSideEncryptionConfiguration& value) { m_serverSideEncryptionConfigurationHasBeenSet = true; m_serverSideEncryptionConfiguration = value; } /** *The encryption rules that are applied to the S3 bucket.
*/ inline void SetServerSideEncryptionConfiguration(AwsS3BucketServerSideEncryptionConfiguration&& value) { m_serverSideEncryptionConfigurationHasBeenSet = true; m_serverSideEncryptionConfiguration = std::move(value); } /** *The encryption rules that are applied to the S3 bucket.
*/ inline AwsS3BucketDetails& WithServerSideEncryptionConfiguration(const AwsS3BucketServerSideEncryptionConfiguration& value) { SetServerSideEncryptionConfiguration(value); return *this;} /** *The encryption rules that are applied to the S3 bucket.
*/ inline AwsS3BucketDetails& WithServerSideEncryptionConfiguration(AwsS3BucketServerSideEncryptionConfiguration&& value) { SetServerSideEncryptionConfiguration(std::move(value)); return *this;} /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline const AwsS3BucketBucketLifecycleConfigurationDetails& GetBucketLifecycleConfiguration() const{ return m_bucketLifecycleConfiguration; } /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline bool BucketLifecycleConfigurationHasBeenSet() const { return m_bucketLifecycleConfigurationHasBeenSet; } /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline void SetBucketLifecycleConfiguration(const AwsS3BucketBucketLifecycleConfigurationDetails& value) { m_bucketLifecycleConfigurationHasBeenSet = true; m_bucketLifecycleConfiguration = value; } /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline void SetBucketLifecycleConfiguration(AwsS3BucketBucketLifecycleConfigurationDetails&& value) { m_bucketLifecycleConfigurationHasBeenSet = true; m_bucketLifecycleConfiguration = std::move(value); } /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketLifecycleConfiguration(const AwsS3BucketBucketLifecycleConfigurationDetails& value) { SetBucketLifecycleConfiguration(value); return *this;} /** *The lifecycle configuration for objects in the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketLifecycleConfiguration(AwsS3BucketBucketLifecycleConfigurationDetails&& value) { SetBucketLifecycleConfiguration(std::move(value)); return *this;} /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline const AwsS3AccountPublicAccessBlockDetails& GetPublicAccessBlockConfiguration() const{ return m_publicAccessBlockConfiguration; } /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline bool PublicAccessBlockConfigurationHasBeenSet() const { return m_publicAccessBlockConfigurationHasBeenSet; } /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline void SetPublicAccessBlockConfiguration(const AwsS3AccountPublicAccessBlockDetails& value) { m_publicAccessBlockConfigurationHasBeenSet = true; m_publicAccessBlockConfiguration = value; } /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline void SetPublicAccessBlockConfiguration(AwsS3AccountPublicAccessBlockDetails&& value) { m_publicAccessBlockConfigurationHasBeenSet = true; m_publicAccessBlockConfiguration = std::move(value); } /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline AwsS3BucketDetails& WithPublicAccessBlockConfiguration(const AwsS3AccountPublicAccessBlockDetails& value) { SetPublicAccessBlockConfiguration(value); return *this;} /** *Provides information about the Amazon S3 Public Access Block configuration * for the S3 bucket.
*/ inline AwsS3BucketDetails& WithPublicAccessBlockConfiguration(AwsS3AccountPublicAccessBlockDetails&& value) { SetPublicAccessBlockConfiguration(std::move(value)); return *this;} /** *The access control list for the S3 bucket.
*/ inline const Aws::String& GetAccessControlList() const{ return m_accessControlList; } /** *The access control list for the S3 bucket.
*/ inline bool AccessControlListHasBeenSet() const { return m_accessControlListHasBeenSet; } /** *The access control list for the S3 bucket.
*/ inline void SetAccessControlList(const Aws::String& value) { m_accessControlListHasBeenSet = true; m_accessControlList = value; } /** *The access control list for the S3 bucket.
*/ inline void SetAccessControlList(Aws::String&& value) { m_accessControlListHasBeenSet = true; m_accessControlList = std::move(value); } /** *The access control list for the S3 bucket.
*/ inline void SetAccessControlList(const char* value) { m_accessControlListHasBeenSet = true; m_accessControlList.assign(value); } /** *The access control list for the S3 bucket.
*/ inline AwsS3BucketDetails& WithAccessControlList(const Aws::String& value) { SetAccessControlList(value); return *this;} /** *The access control list for the S3 bucket.
*/ inline AwsS3BucketDetails& WithAccessControlList(Aws::String&& value) { SetAccessControlList(std::move(value)); return *this;} /** *The access control list for the S3 bucket.
*/ inline AwsS3BucketDetails& WithAccessControlList(const char* value) { SetAccessControlList(value); return *this;} /** *The logging configuration for the S3 bucket.
*/ inline const AwsS3BucketLoggingConfiguration& GetBucketLoggingConfiguration() const{ return m_bucketLoggingConfiguration; } /** *The logging configuration for the S3 bucket.
*/ inline bool BucketLoggingConfigurationHasBeenSet() const { return m_bucketLoggingConfigurationHasBeenSet; } /** *The logging configuration for the S3 bucket.
*/ inline void SetBucketLoggingConfiguration(const AwsS3BucketLoggingConfiguration& value) { m_bucketLoggingConfigurationHasBeenSet = true; m_bucketLoggingConfiguration = value; } /** *The logging configuration for the S3 bucket.
*/ inline void SetBucketLoggingConfiguration(AwsS3BucketLoggingConfiguration&& value) { m_bucketLoggingConfigurationHasBeenSet = true; m_bucketLoggingConfiguration = std::move(value); } /** *The logging configuration for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketLoggingConfiguration(const AwsS3BucketLoggingConfiguration& value) { SetBucketLoggingConfiguration(value); return *this;} /** *The logging configuration for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketLoggingConfiguration(AwsS3BucketLoggingConfiguration&& value) { SetBucketLoggingConfiguration(std::move(value)); return *this;} /** *The website configuration parameters for the S3 bucket.
*/ inline const AwsS3BucketWebsiteConfiguration& GetBucketWebsiteConfiguration() const{ return m_bucketWebsiteConfiguration; } /** *The website configuration parameters for the S3 bucket.
*/ inline bool BucketWebsiteConfigurationHasBeenSet() const { return m_bucketWebsiteConfigurationHasBeenSet; } /** *The website configuration parameters for the S3 bucket.
*/ inline void SetBucketWebsiteConfiguration(const AwsS3BucketWebsiteConfiguration& value) { m_bucketWebsiteConfigurationHasBeenSet = true; m_bucketWebsiteConfiguration = value; } /** *The website configuration parameters for the S3 bucket.
*/ inline void SetBucketWebsiteConfiguration(AwsS3BucketWebsiteConfiguration&& value) { m_bucketWebsiteConfigurationHasBeenSet = true; m_bucketWebsiteConfiguration = std::move(value); } /** *The website configuration parameters for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketWebsiteConfiguration(const AwsS3BucketWebsiteConfiguration& value) { SetBucketWebsiteConfiguration(value); return *this;} /** *The website configuration parameters for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketWebsiteConfiguration(AwsS3BucketWebsiteConfiguration&& value) { SetBucketWebsiteConfiguration(std::move(value)); return *this;} /** *The notification configuration for the S3 bucket.
*/ inline const AwsS3BucketNotificationConfiguration& GetBucketNotificationConfiguration() const{ return m_bucketNotificationConfiguration; } /** *The notification configuration for the S3 bucket.
*/ inline bool BucketNotificationConfigurationHasBeenSet() const { return m_bucketNotificationConfigurationHasBeenSet; } /** *The notification configuration for the S3 bucket.
*/ inline void SetBucketNotificationConfiguration(const AwsS3BucketNotificationConfiguration& value) { m_bucketNotificationConfigurationHasBeenSet = true; m_bucketNotificationConfiguration = value; } /** *The notification configuration for the S3 bucket.
*/ inline void SetBucketNotificationConfiguration(AwsS3BucketNotificationConfiguration&& value) { m_bucketNotificationConfigurationHasBeenSet = true; m_bucketNotificationConfiguration = std::move(value); } /** *The notification configuration for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketNotificationConfiguration(const AwsS3BucketNotificationConfiguration& value) { SetBucketNotificationConfiguration(value); return *this;} /** *The notification configuration for the S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketNotificationConfiguration(AwsS3BucketNotificationConfiguration&& value) { SetBucketNotificationConfiguration(std::move(value)); return *this;} /** *The versioning state of an S3 bucket.
*/ inline const AwsS3BucketBucketVersioningConfiguration& GetBucketVersioningConfiguration() const{ return m_bucketVersioningConfiguration; } /** *The versioning state of an S3 bucket.
*/ inline bool BucketVersioningConfigurationHasBeenSet() const { return m_bucketVersioningConfigurationHasBeenSet; } /** *The versioning state of an S3 bucket.
*/ inline void SetBucketVersioningConfiguration(const AwsS3BucketBucketVersioningConfiguration& value) { m_bucketVersioningConfigurationHasBeenSet = true; m_bucketVersioningConfiguration = value; } /** *The versioning state of an S3 bucket.
*/ inline void SetBucketVersioningConfiguration(AwsS3BucketBucketVersioningConfiguration&& value) { m_bucketVersioningConfigurationHasBeenSet = true; m_bucketVersioningConfiguration = std::move(value); } /** *The versioning state of an S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketVersioningConfiguration(const AwsS3BucketBucketVersioningConfiguration& value) { SetBucketVersioningConfiguration(value); return *this;} /** *The versioning state of an S3 bucket.
*/ inline AwsS3BucketDetails& WithBucketVersioningConfiguration(AwsS3BucketBucketVersioningConfiguration&& value) { SetBucketVersioningConfiguration(std::move(value)); return *this;} /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline const AwsS3BucketObjectLockConfiguration& GetObjectLockConfiguration() const{ return m_objectLockConfiguration; } /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline bool ObjectLockConfigurationHasBeenSet() const { return m_objectLockConfigurationHasBeenSet; } /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline void SetObjectLockConfiguration(const AwsS3BucketObjectLockConfiguration& value) { m_objectLockConfigurationHasBeenSet = true; m_objectLockConfiguration = value; } /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline void SetObjectLockConfiguration(AwsS3BucketObjectLockConfiguration&& value) { m_objectLockConfigurationHasBeenSet = true; m_objectLockConfiguration = std::move(value); } /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline AwsS3BucketDetails& WithObjectLockConfiguration(const AwsS3BucketObjectLockConfiguration& value) { SetObjectLockConfiguration(value); return *this;} /** *Specifies which rule Amazon S3 applies by default to every new object placed * in the specified bucket.
*/ inline AwsS3BucketDetails& WithObjectLockConfiguration(AwsS3BucketObjectLockConfiguration&& value) { SetObjectLockConfiguration(std::move(value)); return *this;} private: Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; Aws::String m_ownerName; bool m_ownerNameHasBeenSet = false; Aws::String m_ownerAccountId; bool m_ownerAccountIdHasBeenSet = false; Aws::String m_createdAt; bool m_createdAtHasBeenSet = false; AwsS3BucketServerSideEncryptionConfiguration m_serverSideEncryptionConfiguration; bool m_serverSideEncryptionConfigurationHasBeenSet = false; AwsS3BucketBucketLifecycleConfigurationDetails m_bucketLifecycleConfiguration; bool m_bucketLifecycleConfigurationHasBeenSet = false; AwsS3AccountPublicAccessBlockDetails m_publicAccessBlockConfiguration; bool m_publicAccessBlockConfigurationHasBeenSet = false; Aws::String m_accessControlList; bool m_accessControlListHasBeenSet = false; AwsS3BucketLoggingConfiguration m_bucketLoggingConfiguration; bool m_bucketLoggingConfigurationHasBeenSet = false; AwsS3BucketWebsiteConfiguration m_bucketWebsiteConfiguration; bool m_bucketWebsiteConfigurationHasBeenSet = false; AwsS3BucketNotificationConfiguration m_bucketNotificationConfiguration; bool m_bucketNotificationConfigurationHasBeenSet = false; AwsS3BucketBucketVersioningConfiguration m_bucketVersioningConfiguration; bool m_bucketVersioningConfigurationHasBeenSet = false; AwsS3BucketObjectLockConfiguration m_objectLockConfiguration; bool m_objectLockConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws