/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Macie2 { namespace Model { /** *

Provides statistical data and other information about an S3 bucket that * Amazon Macie monitors and analyzes for your account. By default, object count * and storage size values include data for object parts that are the result of * incomplete multipart uploads. For more information, see How * Macie monitors Amazon S3 data security in the Amazon Macie User * Guide.

If an error occurs when Macie attempts to retrieve and process * metadata from Amazon S3 for the bucket or the bucket's objects, the value for * the versioning property is false and the value for most other properties is * null. Key exceptions are accountId, bucketArn, bucketCreatedAt, bucketName, * lastUpdated, and region. To identify the cause of the error, refer to the * errorCode and errorMessage values.

See Also:

AWS * API Reference

*/ class BucketMetadata { public: AWS_MACIE2_API BucketMetadata(); AWS_MACIE2_API BucketMetadata(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API BucketMetadata& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_MACIE2_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline const Aws::String& GetAccountId() const{ return m_accountId; } /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline BucketMetadata& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline BucketMetadata& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} /** *

The unique identifier for the Amazon Web Services account that owns the * bucket.

*/ inline BucketMetadata& WithAccountId(const char* value) { SetAccountId(value); return *this;} /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline const AllowsUnencryptedObjectUploads& GetAllowsUnencryptedObjectUploads() const{ return m_allowsUnencryptedObjectUploads; } /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline bool AllowsUnencryptedObjectUploadsHasBeenSet() const { return m_allowsUnencryptedObjectUploadsHasBeenSet; } /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline void SetAllowsUnencryptedObjectUploads(const AllowsUnencryptedObjectUploads& value) { m_allowsUnencryptedObjectUploadsHasBeenSet = true; m_allowsUnencryptedObjectUploads = value; } /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline void SetAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads&& value) { m_allowsUnencryptedObjectUploadsHasBeenSet = true; m_allowsUnencryptedObjectUploads = std::move(value); } /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline BucketMetadata& WithAllowsUnencryptedObjectUploads(const AllowsUnencryptedObjectUploads& value) { SetAllowsUnencryptedObjectUploads(value); return *this;} /** *

Specifies whether the bucket policy for the bucket requires server-side * encryption of objects when objects are added to the bucket. Possible values * are:

  • FALSE - The bucket policy requires server-side encryption of * new objects. PutObject requests must include a valid server-side encryption * header.

  • TRUE - The bucket doesn't have a bucket policy or it has * a bucket policy that doesn't require server-side encryption of new objects. If a * bucket policy exists, it doesn't require PutObject requests to include a valid * server-side encryption header.

  • UNKNOWN - Amazon Macie can't * determine whether the bucket policy requires server-side encryption of new * objects.

Valid server-side encryption headers are: * x-amz-server-side-encryption with a value of AES256 or aws:kms, and * x-amz-server-side-encryption-customer-algorithm with a value of AES256.

*/ inline BucketMetadata& WithAllowsUnencryptedObjectUploads(AllowsUnencryptedObjectUploads&& value) { SetAllowsUnencryptedObjectUploads(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline const Aws::String& GetBucketArn() const{ return m_bucketArn; } /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline bool BucketArnHasBeenSet() const { return m_bucketArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline void SetBucketArn(const Aws::String& value) { m_bucketArnHasBeenSet = true; m_bucketArn = value; } /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline void SetBucketArn(Aws::String&& value) { m_bucketArnHasBeenSet = true; m_bucketArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline void SetBucketArn(const char* value) { m_bucketArnHasBeenSet = true; m_bucketArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline BucketMetadata& WithBucketArn(const Aws::String& value) { SetBucketArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline BucketMetadata& WithBucketArn(Aws::String&& value) { SetBucketArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the bucket.

*/ inline BucketMetadata& WithBucketArn(const char* value) { SetBucketArn(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline const Aws::Utils::DateTime& GetBucketCreatedAt() const{ return m_bucketCreatedAt; } /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline bool BucketCreatedAtHasBeenSet() const { return m_bucketCreatedAtHasBeenSet; } /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline void SetBucketCreatedAt(const Aws::Utils::DateTime& value) { m_bucketCreatedAtHasBeenSet = true; m_bucketCreatedAt = value; } /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline void SetBucketCreatedAt(Aws::Utils::DateTime&& value) { m_bucketCreatedAtHasBeenSet = true; m_bucketCreatedAt = std::move(value); } /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline BucketMetadata& WithBucketCreatedAt(const Aws::Utils::DateTime& value) { SetBucketCreatedAt(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when the bucket was * created. This value can also indicate when changes such as edits to the bucket's * policy were most recently made to the bucket.

*/ inline BucketMetadata& WithBucketCreatedAt(Aws::Utils::DateTime&& value) { SetBucketCreatedAt(std::move(value)); return *this;} /** *

The name of the bucket.

*/ inline const Aws::String& GetBucketName() const{ return m_bucketName; } /** *

The name of the bucket.

*/ inline bool BucketNameHasBeenSet() const { return m_bucketNameHasBeenSet; } /** *

The name of the bucket.

*/ inline void SetBucketName(const Aws::String& value) { m_bucketNameHasBeenSet = true; m_bucketName = value; } /** *

The name of the bucket.

*/ inline void SetBucketName(Aws::String&& value) { m_bucketNameHasBeenSet = true; m_bucketName = std::move(value); } /** *

The name of the bucket.

*/ inline void SetBucketName(const char* value) { m_bucketNameHasBeenSet = true; m_bucketName.assign(value); } /** *

The name of the bucket.

*/ inline BucketMetadata& WithBucketName(const Aws::String& value) { SetBucketName(value); return *this;} /** *

The name of the bucket.

*/ inline BucketMetadata& WithBucketName(Aws::String&& value) { SetBucketName(std::move(value)); return *this;} /** *

The name of the bucket.

*/ inline BucketMetadata& WithBucketName(const char* value) { SetBucketName(value); return *this;} /** *

The total number of objects that Amazon Macie can analyze in the bucket. * These objects use a supported storage class and have a file name extension for a * supported file or storage format.

*/ inline long long GetClassifiableObjectCount() const{ return m_classifiableObjectCount; } /** *

The total number of objects that Amazon Macie can analyze in the bucket. * These objects use a supported storage class and have a file name extension for a * supported file or storage format.

*/ inline bool ClassifiableObjectCountHasBeenSet() const { return m_classifiableObjectCountHasBeenSet; } /** *

The total number of objects that Amazon Macie can analyze in the bucket. * These objects use a supported storage class and have a file name extension for a * supported file or storage format.

*/ inline void SetClassifiableObjectCount(long long value) { m_classifiableObjectCountHasBeenSet = true; m_classifiableObjectCount = value; } /** *

The total number of objects that Amazon Macie can analyze in the bucket. * These objects use a supported storage class and have a file name extension for a * supported file or storage format.

*/ inline BucketMetadata& WithClassifiableObjectCount(long long value) { SetClassifiableObjectCount(value); return *this;} /** *

The total storage size, in bytes, of the objects that Amazon Macie can * analyze in the bucket. These objects use a supported storage class and have a * file name extension for a supported file or storage format.

If versioning * is enabled for the bucket, Macie calculates this value based on the size of the * latest version of each applicable object in the bucket. This value doesn't * reflect the storage size of all versions of each applicable object in the * bucket.

*/ inline long long GetClassifiableSizeInBytes() const{ return m_classifiableSizeInBytes; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can * analyze in the bucket. These objects use a supported storage class and have a * file name extension for a supported file or storage format.

If versioning * is enabled for the bucket, Macie calculates this value based on the size of the * latest version of each applicable object in the bucket. This value doesn't * reflect the storage size of all versions of each applicable object in the * bucket.

*/ inline bool ClassifiableSizeInBytesHasBeenSet() const { return m_classifiableSizeInBytesHasBeenSet; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can * analyze in the bucket. These objects use a supported storage class and have a * file name extension for a supported file or storage format.

If versioning * is enabled for the bucket, Macie calculates this value based on the size of the * latest version of each applicable object in the bucket. This value doesn't * reflect the storage size of all versions of each applicable object in the * bucket.

*/ inline void SetClassifiableSizeInBytes(long long value) { m_classifiableSizeInBytesHasBeenSet = true; m_classifiableSizeInBytes = value; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can * analyze in the bucket. These objects use a supported storage class and have a * file name extension for a supported file or storage format.

If versioning * is enabled for the bucket, Macie calculates this value based on the size of the * latest version of each applicable object in the bucket. This value doesn't * reflect the storage size of all versions of each applicable object in the * bucket.

*/ inline BucketMetadata& WithClassifiableSizeInBytes(long long value) { SetClassifiableSizeInBytes(value); return *this;} /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline const BucketMetadataErrorCode& GetErrorCode() const{ return m_errorCode; } /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline bool ErrorCodeHasBeenSet() const { return m_errorCodeHasBeenSet; } /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline void SetErrorCode(const BucketMetadataErrorCode& value) { m_errorCodeHasBeenSet = true; m_errorCode = value; } /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline void SetErrorCode(BucketMetadataErrorCode&& value) { m_errorCodeHasBeenSet = true; m_errorCode = std::move(value); } /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline BucketMetadata& WithErrorCode(const BucketMetadataErrorCode& value) { SetErrorCode(value); return *this;} /** *

The error code for an error that prevented Amazon Macie from retrieving and * processing information about the bucket and the bucket's objects. If this value * is ACCESS_DENIED, Macie doesn't have permission to retrieve the information. For * example, the bucket has a restrictive bucket policy and Amazon S3 denied the * request. If this value is null, Macie was able to retrieve and process the * information.

*/ inline BucketMetadata& WithErrorCode(BucketMetadataErrorCode&& value) { SetErrorCode(std::move(value)); return *this;} /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline const Aws::String& GetErrorMessage() const{ return m_errorMessage; } /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline bool ErrorMessageHasBeenSet() const { return m_errorMessageHasBeenSet; } /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline void SetErrorMessage(const Aws::String& value) { m_errorMessageHasBeenSet = true; m_errorMessage = value; } /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline void SetErrorMessage(Aws::String&& value) { m_errorMessageHasBeenSet = true; m_errorMessage = std::move(value); } /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline void SetErrorMessage(const char* value) { m_errorMessageHasBeenSet = true; m_errorMessage.assign(value); } /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline BucketMetadata& WithErrorMessage(const Aws::String& value) { SetErrorMessage(value); return *this;} /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline BucketMetadata& WithErrorMessage(Aws::String&& value) { SetErrorMessage(std::move(value)); return *this;} /** *

A brief description of the error (errorCode) that prevented Amazon Macie from * retrieving and processing information about the bucket and the bucket's objects. * This value is null if Macie was able to retrieve and process the * information.

*/ inline BucketMetadata& WithErrorMessage(const char* value) { SetErrorMessage(value); return *this;} /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline const JobDetails& GetJobDetails() const{ return m_jobDetails; } /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline bool JobDetailsHasBeenSet() const { return m_jobDetailsHasBeenSet; } /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline void SetJobDetails(const JobDetails& value) { m_jobDetailsHasBeenSet = true; m_jobDetails = value; } /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline void SetJobDetails(JobDetails&& value) { m_jobDetailsHasBeenSet = true; m_jobDetails = std::move(value); } /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline BucketMetadata& WithJobDetails(const JobDetails& value) { SetJobDetails(value); return *this;} /** *

Specifies whether any one-time or recurring classification jobs are * configured to analyze data in the bucket, and, if so, the details of the job * that ran most recently.

*/ inline BucketMetadata& WithJobDetails(JobDetails&& value) { SetJobDetails(std::move(value)); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline const Aws::Utils::DateTime& GetLastAutomatedDiscoveryTime() const{ return m_lastAutomatedDiscoveryTime; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline bool LastAutomatedDiscoveryTimeHasBeenSet() const { return m_lastAutomatedDiscoveryTimeHasBeenSet; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline void SetLastAutomatedDiscoveryTime(const Aws::Utils::DateTime& value) { m_lastAutomatedDiscoveryTimeHasBeenSet = true; m_lastAutomatedDiscoveryTime = value; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline void SetLastAutomatedDiscoveryTime(Aws::Utils::DateTime&& value) { m_lastAutomatedDiscoveryTimeHasBeenSet = true; m_lastAutomatedDiscoveryTime = std::move(value); } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline BucketMetadata& WithLastAutomatedDiscoveryTime(const Aws::Utils::DateTime& value) { SetLastAutomatedDiscoveryTime(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently analyzed data in the bucket while performing automated sensitive * data discovery for your account. This value is null if automated sensitive data * discovery is currently disabled for your account.

*/ inline BucketMetadata& WithLastAutomatedDiscoveryTime(Aws::Utils::DateTime&& value) { SetLastAutomatedDiscoveryTime(std::move(value)); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline const Aws::Utils::DateTime& GetLastUpdated() const{ return m_lastUpdated; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline bool LastUpdatedHasBeenSet() const { return m_lastUpdatedHasBeenSet; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline void SetLastUpdated(const Aws::Utils::DateTime& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = value; } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline void SetLastUpdated(Aws::Utils::DateTime&& value) { m_lastUpdatedHasBeenSet = true; m_lastUpdated = std::move(value); } /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline BucketMetadata& WithLastUpdated(const Aws::Utils::DateTime& value) { SetLastUpdated(value); return *this;} /** *

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie * most recently retrieved bucket or object metadata from Amazon S3 for the * bucket.

*/ inline BucketMetadata& WithLastUpdated(Aws::Utils::DateTime&& value) { SetLastUpdated(std::move(value)); return *this;} /** *

The total number of objects in the bucket.

*/ inline long long GetObjectCount() const{ return m_objectCount; } /** *

The total number of objects in the bucket.

*/ inline bool ObjectCountHasBeenSet() const { return m_objectCountHasBeenSet; } /** *

The total number of objects in the bucket.

*/ inline void SetObjectCount(long long value) { m_objectCountHasBeenSet = true; m_objectCount = value; } /** *

The total number of objects in the bucket.

*/ inline BucketMetadata& WithObjectCount(long long value) { SetObjectCount(value); return *this;} /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline const ObjectCountByEncryptionType& GetObjectCountByEncryptionType() const{ return m_objectCountByEncryptionType; } /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline bool ObjectCountByEncryptionTypeHasBeenSet() const { return m_objectCountByEncryptionTypeHasBeenSet; } /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline void SetObjectCountByEncryptionType(const ObjectCountByEncryptionType& value) { m_objectCountByEncryptionTypeHasBeenSet = true; m_objectCountByEncryptionType = value; } /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline void SetObjectCountByEncryptionType(ObjectCountByEncryptionType&& value) { m_objectCountByEncryptionTypeHasBeenSet = true; m_objectCountByEncryptionType = std::move(value); } /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline BucketMetadata& WithObjectCountByEncryptionType(const ObjectCountByEncryptionType& value) { SetObjectCountByEncryptionType(value); return *this;} /** *

The total number of objects in the bucket, grouped by server-side encryption * type. This includes a grouping that reports the total number of objects that * aren't encrypted or use client-side encryption.

*/ inline BucketMetadata& WithObjectCountByEncryptionType(ObjectCountByEncryptionType&& value) { SetObjectCountByEncryptionType(std::move(value)); return *this;} /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline const BucketPublicAccess& GetPublicAccess() const{ return m_publicAccess; } /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline bool PublicAccessHasBeenSet() const { return m_publicAccessHasBeenSet; } /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline void SetPublicAccess(const BucketPublicAccess& value) { m_publicAccessHasBeenSet = true; m_publicAccess = value; } /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline void SetPublicAccess(BucketPublicAccess&& value) { m_publicAccessHasBeenSet = true; m_publicAccess = std::move(value); } /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline BucketMetadata& WithPublicAccess(const BucketPublicAccess& value) { SetPublicAccess(value); return *this;} /** *

Specifies whether the bucket is publicly accessible due to the combination of * permissions settings that apply to the bucket, and provides information about * those settings.

*/ inline BucketMetadata& WithPublicAccess(BucketPublicAccess&& value) { SetPublicAccess(std::move(value)); return *this;} /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline BucketMetadata& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline BucketMetadata& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The Amazon Web Services Region that hosts the bucket.

*/ inline BucketMetadata& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline const ReplicationDetails& GetReplicationDetails() const{ return m_replicationDetails; } /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline bool ReplicationDetailsHasBeenSet() const { return m_replicationDetailsHasBeenSet; } /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline void SetReplicationDetails(const ReplicationDetails& value) { m_replicationDetailsHasBeenSet = true; m_replicationDetails = value; } /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline void SetReplicationDetails(ReplicationDetails&& value) { m_replicationDetailsHasBeenSet = true; m_replicationDetails = std::move(value); } /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline BucketMetadata& WithReplicationDetails(const ReplicationDetails& value) { SetReplicationDetails(value); return *this;} /** *

Specifies whether the bucket is configured to replicate one or more objects * to buckets for other Amazon Web Services accounts and, if so, which * accounts.

*/ inline BucketMetadata& WithReplicationDetails(ReplicationDetails&& value) { SetReplicationDetails(std::move(value)); return *this;} /** *

The sensitivity score for the bucket, ranging from -1 (classification error) * to 100 (sensitive). This value is null if automated sensitive data discovery is * currently disabled for your account.

*/ inline int GetSensitivityScore() const{ return m_sensitivityScore; } /** *

The sensitivity score for the bucket, ranging from -1 (classification error) * to 100 (sensitive). This value is null if automated sensitive data discovery is * currently disabled for your account.

*/ inline bool SensitivityScoreHasBeenSet() const { return m_sensitivityScoreHasBeenSet; } /** *

The sensitivity score for the bucket, ranging from -1 (classification error) * to 100 (sensitive). This value is null if automated sensitive data discovery is * currently disabled for your account.

*/ inline void SetSensitivityScore(int value) { m_sensitivityScoreHasBeenSet = true; m_sensitivityScore = value; } /** *

The sensitivity score for the bucket, ranging from -1 (classification error) * to 100 (sensitive). This value is null if automated sensitive data discovery is * currently disabled for your account.

*/ inline BucketMetadata& WithSensitivityScore(int value) { SetSensitivityScore(value); return *this;} /** *

The default server-side encryption settings for the bucket.

*/ inline const BucketServerSideEncryption& GetServerSideEncryption() const{ return m_serverSideEncryption; } /** *

The default server-side encryption settings for the bucket.

*/ inline bool ServerSideEncryptionHasBeenSet() const { return m_serverSideEncryptionHasBeenSet; } /** *

The default server-side encryption settings for the bucket.

*/ inline void SetServerSideEncryption(const BucketServerSideEncryption& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = value; } /** *

The default server-side encryption settings for the bucket.

*/ inline void SetServerSideEncryption(BucketServerSideEncryption&& value) { m_serverSideEncryptionHasBeenSet = true; m_serverSideEncryption = std::move(value); } /** *

The default server-side encryption settings for the bucket.

*/ inline BucketMetadata& WithServerSideEncryption(const BucketServerSideEncryption& value) { SetServerSideEncryption(value); return *this;} /** *

The default server-side encryption settings for the bucket.

*/ inline BucketMetadata& WithServerSideEncryption(BucketServerSideEncryption&& value) { SetServerSideEncryption(std::move(value)); return *this;} /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline const SharedAccess& GetSharedAccess() const{ return m_sharedAccess; } /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline bool SharedAccessHasBeenSet() const { return m_sharedAccessHasBeenSet; } /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline void SetSharedAccess(const SharedAccess& value) { m_sharedAccessHasBeenSet = true; m_sharedAccess = value; } /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline void SetSharedAccess(SharedAccess&& value) { m_sharedAccessHasBeenSet = true; m_sharedAccess = std::move(value); } /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline BucketMetadata& WithSharedAccess(const SharedAccess& value) { SetSharedAccess(value); return *this;} /** *

Specifies whether the bucket is shared with another Amazon Web Services * account, an Amazon CloudFront origin access identity (OAI), or a CloudFront * origin access control (OAC). Possible values are:

  • EXTERNAL - The * bucket is shared with one or more of the following or any combination of the * following: a CloudFront OAI, a CloudFront OAC, or an Amazon Web Services account * that isn't part of your Amazon Macie organization.

  • INTERNAL - * The bucket is shared with one or more Amazon Web Services accounts that are part * of your Amazon Macie organization. It isn't shared with a CloudFront OAI or * OAC.

  • NOT_SHARED - The bucket isn't shared with another Amazon * Web Services account, a CloudFront OAI, or a CloudFront OAC.

  • *
  • UNKNOWN - Amazon Macie wasn't able to evaluate the shared access settings * for the bucket.

An Amazon Macie organization is a set of * Macie accounts that are centrally managed as a group of related accounts through * Organizations or by Macie invitation.

*/ inline BucketMetadata& WithSharedAccess(SharedAccess&& value) { SetSharedAccess(std::move(value)); return *this;} /** *

The total storage size, in bytes, of the bucket.

If versioning is * enabled for the bucket, Amazon Macie calculates this value based on the size of * the latest version of each object in the bucket. This value doesn't reflect the * storage size of all versions of each object in the bucket.

*/ inline long long GetSizeInBytes() const{ return m_sizeInBytes; } /** *

The total storage size, in bytes, of the bucket.

If versioning is * enabled for the bucket, Amazon Macie calculates this value based on the size of * the latest version of each object in the bucket. This value doesn't reflect the * storage size of all versions of each object in the bucket.

*/ inline bool SizeInBytesHasBeenSet() const { return m_sizeInBytesHasBeenSet; } /** *

The total storage size, in bytes, of the bucket.

If versioning is * enabled for the bucket, Amazon Macie calculates this value based on the size of * the latest version of each object in the bucket. This value doesn't reflect the * storage size of all versions of each object in the bucket.

*/ inline void SetSizeInBytes(long long value) { m_sizeInBytesHasBeenSet = true; m_sizeInBytes = value; } /** *

The total storage size, in bytes, of the bucket.

If versioning is * enabled for the bucket, Amazon Macie calculates this value based on the size of * the latest version of each object in the bucket. This value doesn't reflect the * storage size of all versions of each object in the bucket.

*/ inline BucketMetadata& WithSizeInBytes(long long value) { SetSizeInBytes(value); return *this;} /** *

The total storage size, in bytes, of the objects that are compressed (.gz, * .gzip, .zip) files in the bucket.

If versioning is enabled for the * bucket, Amazon Macie calculates this value based on the size of the latest * version of each applicable object in the bucket. This value doesn't reflect the * storage size of all versions of each applicable object in the bucket.

*/ inline long long GetSizeInBytesCompressed() const{ return m_sizeInBytesCompressed; } /** *

The total storage size, in bytes, of the objects that are compressed (.gz, * .gzip, .zip) files in the bucket.

If versioning is enabled for the * bucket, Amazon Macie calculates this value based on the size of the latest * version of each applicable object in the bucket. This value doesn't reflect the * storage size of all versions of each applicable object in the bucket.

*/ inline bool SizeInBytesCompressedHasBeenSet() const { return m_sizeInBytesCompressedHasBeenSet; } /** *

The total storage size, in bytes, of the objects that are compressed (.gz, * .gzip, .zip) files in the bucket.

If versioning is enabled for the * bucket, Amazon Macie calculates this value based on the size of the latest * version of each applicable object in the bucket. This value doesn't reflect the * storage size of all versions of each applicable object in the bucket.

*/ inline void SetSizeInBytesCompressed(long long value) { m_sizeInBytesCompressedHasBeenSet = true; m_sizeInBytesCompressed = value; } /** *

The total storage size, in bytes, of the objects that are compressed (.gz, * .gzip, .zip) files in the bucket.

If versioning is enabled for the * bucket, Amazon Macie calculates this value based on the size of the latest * version of each applicable object in the bucket. This value doesn't reflect the * storage size of all versions of each applicable object in the bucket.

*/ inline BucketMetadata& WithSizeInBytesCompressed(long long value) { SetSizeInBytesCompressed(value); return *this;} /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline BucketMetadata& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline BucketMetadata& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline BucketMetadata& AddTags(const KeyValuePair& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

An array that specifies the tags (keys and values) that are associated with * the bucket.

*/ inline BucketMetadata& AddTags(KeyValuePair&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline const ObjectLevelStatistics& GetUnclassifiableObjectCount() const{ return m_unclassifiableObjectCount; } /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline bool UnclassifiableObjectCountHasBeenSet() const { return m_unclassifiableObjectCountHasBeenSet; } /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline void SetUnclassifiableObjectCount(const ObjectLevelStatistics& value) { m_unclassifiableObjectCountHasBeenSet = true; m_unclassifiableObjectCount = value; } /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline void SetUnclassifiableObjectCount(ObjectLevelStatistics&& value) { m_unclassifiableObjectCountHasBeenSet = true; m_unclassifiableObjectCount = std::move(value); } /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline BucketMetadata& WithUnclassifiableObjectCount(const ObjectLevelStatistics& value) { SetUnclassifiableObjectCount(value); return *this;} /** *

The total number of objects that Amazon Macie can't analyze in the bucket. * These objects don't use a supported storage class or don't have a file name * extension for a supported file or storage format.

*/ inline BucketMetadata& WithUnclassifiableObjectCount(ObjectLevelStatistics&& value) { SetUnclassifiableObjectCount(std::move(value)); return *this;} /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline const ObjectLevelStatistics& GetUnclassifiableObjectSizeInBytes() const{ return m_unclassifiableObjectSizeInBytes; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline bool UnclassifiableObjectSizeInBytesHasBeenSet() const { return m_unclassifiableObjectSizeInBytesHasBeenSet; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline void SetUnclassifiableObjectSizeInBytes(const ObjectLevelStatistics& value) { m_unclassifiableObjectSizeInBytesHasBeenSet = true; m_unclassifiableObjectSizeInBytes = value; } /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline void SetUnclassifiableObjectSizeInBytes(ObjectLevelStatistics&& value) { m_unclassifiableObjectSizeInBytesHasBeenSet = true; m_unclassifiableObjectSizeInBytes = std::move(value); } /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline BucketMetadata& WithUnclassifiableObjectSizeInBytes(const ObjectLevelStatistics& value) { SetUnclassifiableObjectSizeInBytes(value); return *this;} /** *

The total storage size, in bytes, of the objects that Amazon Macie can't * analyze in the bucket. These objects don't use a supported storage class or * don't have a file name extension for a supported file or storage format.

*/ inline BucketMetadata& WithUnclassifiableObjectSizeInBytes(ObjectLevelStatistics&& value) { SetUnclassifiableObjectSizeInBytes(std::move(value)); return *this;} /** *

Specifies whether versioning is enabled for the bucket.

*/ inline bool GetVersioning() const{ return m_versioning; } /** *

Specifies whether versioning is enabled for the bucket.

*/ inline bool VersioningHasBeenSet() const { return m_versioningHasBeenSet; } /** *

Specifies whether versioning is enabled for the bucket.

*/ inline void SetVersioning(bool value) { m_versioningHasBeenSet = true; m_versioning = value; } /** *

Specifies whether versioning is enabled for the bucket.

*/ inline BucketMetadata& WithVersioning(bool value) { SetVersioning(value); return *this;} private: Aws::String m_accountId; bool m_accountIdHasBeenSet = false; AllowsUnencryptedObjectUploads m_allowsUnencryptedObjectUploads; bool m_allowsUnencryptedObjectUploadsHasBeenSet = false; Aws::String m_bucketArn; bool m_bucketArnHasBeenSet = false; Aws::Utils::DateTime m_bucketCreatedAt; bool m_bucketCreatedAtHasBeenSet = false; Aws::String m_bucketName; bool m_bucketNameHasBeenSet = false; long long m_classifiableObjectCount; bool m_classifiableObjectCountHasBeenSet = false; long long m_classifiableSizeInBytes; bool m_classifiableSizeInBytesHasBeenSet = false; BucketMetadataErrorCode m_errorCode; bool m_errorCodeHasBeenSet = false; Aws::String m_errorMessage; bool m_errorMessageHasBeenSet = false; JobDetails m_jobDetails; bool m_jobDetailsHasBeenSet = false; Aws::Utils::DateTime m_lastAutomatedDiscoveryTime; bool m_lastAutomatedDiscoveryTimeHasBeenSet = false; Aws::Utils::DateTime m_lastUpdated; bool m_lastUpdatedHasBeenSet = false; long long m_objectCount; bool m_objectCountHasBeenSet = false; ObjectCountByEncryptionType m_objectCountByEncryptionType; bool m_objectCountByEncryptionTypeHasBeenSet = false; BucketPublicAccess m_publicAccess; bool m_publicAccessHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; ReplicationDetails m_replicationDetails; bool m_replicationDetailsHasBeenSet = false; int m_sensitivityScore; bool m_sensitivityScoreHasBeenSet = false; BucketServerSideEncryption m_serverSideEncryption; bool m_serverSideEncryptionHasBeenSet = false; SharedAccess m_sharedAccess; bool m_sharedAccessHasBeenSet = false; long long m_sizeInBytes; bool m_sizeInBytesHasBeenSet = false; long long m_sizeInBytesCompressed; bool m_sizeInBytesCompressedHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; ObjectLevelStatistics m_unclassifiableObjectCount; bool m_unclassifiableObjectCountHasBeenSet = false; ObjectLevelStatistics m_unclassifiableObjectSizeInBytes; bool m_unclassifiableObjectSizeInBytesHasBeenSet = false; bool m_versioning; bool m_versioningHasBeenSet = false; }; } // namespace Model } // namespace Macie2 } // namespace Aws