/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityLake { namespace Model { /** *

Provides details of Amazon Security Lake object.

See Also:

* AWS * API Reference

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

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline const DataLakeStatus& GetCreateStatus() const{ return m_createStatus; } /** *

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline bool CreateStatusHasBeenSet() const { return m_createStatusHasBeenSet; } /** *

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline void SetCreateStatus(const DataLakeStatus& value) { m_createStatusHasBeenSet = true; m_createStatus = value; } /** *

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline void SetCreateStatus(DataLakeStatus&& value) { m_createStatusHasBeenSet = true; m_createStatus = std::move(value); } /** *

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline DataLakeResource& WithCreateStatus(const DataLakeStatus& value) { SetCreateStatus(value); return *this;} /** *

Retrieves the status of the configuration operation for an account in Amazon * Security Lake.

*/ inline DataLakeResource& WithCreateStatus(DataLakeStatus&& value) { SetCreateStatus(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline const Aws::String& GetDataLakeArn() const{ return m_dataLakeArn; } /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline bool DataLakeArnHasBeenSet() const { return m_dataLakeArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline void SetDataLakeArn(const Aws::String& value) { m_dataLakeArnHasBeenSet = true; m_dataLakeArn = value; } /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline void SetDataLakeArn(Aws::String&& value) { m_dataLakeArnHasBeenSet = true; m_dataLakeArn = std::move(value); } /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline void SetDataLakeArn(const char* value) { m_dataLakeArnHasBeenSet = true; m_dataLakeArn.assign(value); } /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline DataLakeResource& WithDataLakeArn(const Aws::String& value) { SetDataLakeArn(value); return *this;} /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline DataLakeResource& WithDataLakeArn(Aws::String&& value) { SetDataLakeArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) created by you to provide to the subscriber. * For more information about ARNs and how to use them in policies, see the Amazon * Security Lake User Guide.

*/ inline DataLakeResource& WithDataLakeArn(const char* value) { SetDataLakeArn(value); return *this;} /** *

Provides encryption details of Amazon Security Lake object.

*/ inline const DataLakeEncryptionConfiguration& GetEncryptionConfiguration() const{ return m_encryptionConfiguration; } /** *

Provides encryption details of Amazon Security Lake object.

*/ inline bool EncryptionConfigurationHasBeenSet() const { return m_encryptionConfigurationHasBeenSet; } /** *

Provides encryption details of Amazon Security Lake object.

*/ inline void SetEncryptionConfiguration(const DataLakeEncryptionConfiguration& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = value; } /** *

Provides encryption details of Amazon Security Lake object.

*/ inline void SetEncryptionConfiguration(DataLakeEncryptionConfiguration&& value) { m_encryptionConfigurationHasBeenSet = true; m_encryptionConfiguration = std::move(value); } /** *

Provides encryption details of Amazon Security Lake object.

*/ inline DataLakeResource& WithEncryptionConfiguration(const DataLakeEncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

Provides encryption details of Amazon Security Lake object.

*/ inline DataLakeResource& WithEncryptionConfiguration(DataLakeEncryptionConfiguration&& value) { SetEncryptionConfiguration(std::move(value)); return *this;} /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline const DataLakeLifecycleConfiguration& GetLifecycleConfiguration() const{ return m_lifecycleConfiguration; } /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline bool LifecycleConfigurationHasBeenSet() const { return m_lifecycleConfigurationHasBeenSet; } /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline void SetLifecycleConfiguration(const DataLakeLifecycleConfiguration& value) { m_lifecycleConfigurationHasBeenSet = true; m_lifecycleConfiguration = value; } /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline void SetLifecycleConfiguration(DataLakeLifecycleConfiguration&& value) { m_lifecycleConfigurationHasBeenSet = true; m_lifecycleConfiguration = std::move(value); } /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline DataLakeResource& WithLifecycleConfiguration(const DataLakeLifecycleConfiguration& value) { SetLifecycleConfiguration(value); return *this;} /** *

Provides lifecycle details of Amazon Security Lake object.

*/ inline DataLakeResource& WithLifecycleConfiguration(DataLakeLifecycleConfiguration&& value) { SetLifecycleConfiguration(std::move(value)); return *this;} /** *

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

The Amazon Web Services Regions where Security Lake is enabled.

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

Provides replication details of Amazon Security Lake object.

*/ inline const DataLakeReplicationConfiguration& GetReplicationConfiguration() const{ return m_replicationConfiguration; } /** *

Provides replication details of Amazon Security Lake object.

*/ inline bool ReplicationConfigurationHasBeenSet() const { return m_replicationConfigurationHasBeenSet; } /** *

Provides replication details of Amazon Security Lake object.

*/ inline void SetReplicationConfiguration(const DataLakeReplicationConfiguration& value) { m_replicationConfigurationHasBeenSet = true; m_replicationConfiguration = value; } /** *

Provides replication details of Amazon Security Lake object.

*/ inline void SetReplicationConfiguration(DataLakeReplicationConfiguration&& value) { m_replicationConfigurationHasBeenSet = true; m_replicationConfiguration = std::move(value); } /** *

Provides replication details of Amazon Security Lake object.

*/ inline DataLakeResource& WithReplicationConfiguration(const DataLakeReplicationConfiguration& value) { SetReplicationConfiguration(value); return *this;} /** *

Provides replication details of Amazon Security Lake object.

*/ inline DataLakeResource& WithReplicationConfiguration(DataLakeReplicationConfiguration&& value) { SetReplicationConfiguration(std::move(value)); return *this;} /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline const Aws::String& GetS3BucketArn() const{ return m_s3BucketArn; } /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline bool S3BucketArnHasBeenSet() const { return m_s3BucketArnHasBeenSet; } /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline void SetS3BucketArn(const Aws::String& value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn = value; } /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline void SetS3BucketArn(Aws::String&& value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn = std::move(value); } /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline void SetS3BucketArn(const char* value) { m_s3BucketArnHasBeenSet = true; m_s3BucketArn.assign(value); } /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline DataLakeResource& WithS3BucketArn(const Aws::String& value) { SetS3BucketArn(value); return *this;} /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline DataLakeResource& WithS3BucketArn(Aws::String&& value) { SetS3BucketArn(std::move(value)); return *this;} /** *

The ARN for the Amazon Security Lake Amazon S3 bucket.

*/ inline DataLakeResource& WithS3BucketArn(const char* value) { SetS3BucketArn(value); return *this;} /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline const DataLakeUpdateStatus& GetUpdateStatus() const{ return m_updateStatus; } /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline bool UpdateStatusHasBeenSet() const { return m_updateStatusHasBeenSet; } /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline void SetUpdateStatus(const DataLakeUpdateStatus& value) { m_updateStatusHasBeenSet = true; m_updateStatus = value; } /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline void SetUpdateStatus(DataLakeUpdateStatus&& value) { m_updateStatusHasBeenSet = true; m_updateStatus = std::move(value); } /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline DataLakeResource& WithUpdateStatus(const DataLakeUpdateStatus& value) { SetUpdateStatus(value); return *this;} /** *

The status of the last UpdateDataLake or * DeleteDataLake API request.

*/ inline DataLakeResource& WithUpdateStatus(DataLakeUpdateStatus&& value) { SetUpdateStatus(std::move(value)); return *this;} private: DataLakeStatus m_createStatus; bool m_createStatusHasBeenSet = false; Aws::String m_dataLakeArn; bool m_dataLakeArnHasBeenSet = false; DataLakeEncryptionConfiguration m_encryptionConfiguration; bool m_encryptionConfigurationHasBeenSet = false; DataLakeLifecycleConfiguration m_lifecycleConfiguration; bool m_lifecycleConfigurationHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; DataLakeReplicationConfiguration m_replicationConfiguration; bool m_replicationConfigurationHasBeenSet = false; Aws::String m_s3BucketArn; bool m_s3BucketArnHasBeenSet = false; DataLakeUpdateStatus m_updateStatus; bool m_updateStatusHasBeenSet = false; }; } // namespace Model } // namespace SecurityLake } // namespace Aws