/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #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 DataLakeConfiguration { public: AWS_SECURITYLAKE_API DataLakeConfiguration(); AWS_SECURITYLAKE_API DataLakeConfiguration(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYLAKE_API DataLakeConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SECURITYLAKE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 DataLakeConfiguration& WithEncryptionConfiguration(const DataLakeEncryptionConfiguration& value) { SetEncryptionConfiguration(value); return *this;} /** *

Provides encryption details of Amazon Security Lake object.

*/ inline DataLakeConfiguration& 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 DataLakeConfiguration& WithLifecycleConfiguration(const DataLakeLifecycleConfiguration& value) { SetLifecycleConfiguration(value); return *this;} /** *

Provides lifecycle details of Amazon Security Lake object.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

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

The Amazon Web Services Regions where Security Lake is automatically * enabled.

*/ inline DataLakeConfiguration& 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 DataLakeConfiguration& WithReplicationConfiguration(const DataLakeReplicationConfiguration& value) { SetReplicationConfiguration(value); return *this;} /** *

Provides replication details of Amazon Security Lake object.

*/ inline DataLakeConfiguration& WithReplicationConfiguration(DataLakeReplicationConfiguration&& value) { SetReplicationConfiguration(std::move(value)); return *this;} private: 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; }; } // namespace Model } // namespace SecurityLake } // namespace Aws