/** * 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 SecurityHub { namespace Model { /** *

Information about a replica of a DynamoDB table.

See Also:

* AWS * API Reference

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

List of global secondary indexes for the replica.

*/ inline const Aws::Vector& GetGlobalSecondaryIndexes() const{ return m_globalSecondaryIndexes; } /** *

List of global secondary indexes for the replica.

*/ inline bool GlobalSecondaryIndexesHasBeenSet() const { return m_globalSecondaryIndexesHasBeenSet; } /** *

List of global secondary indexes for the replica.

*/ inline void SetGlobalSecondaryIndexes(const Aws::Vector& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = value; } /** *

List of global secondary indexes for the replica.

*/ inline void SetGlobalSecondaryIndexes(Aws::Vector&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes = std::move(value); } /** *

List of global secondary indexes for the replica.

*/ inline AwsDynamoDbTableReplica& WithGlobalSecondaryIndexes(const Aws::Vector& value) { SetGlobalSecondaryIndexes(value); return *this;} /** *

List of global secondary indexes for the replica.

*/ inline AwsDynamoDbTableReplica& WithGlobalSecondaryIndexes(Aws::Vector&& value) { SetGlobalSecondaryIndexes(std::move(value)); return *this;} /** *

List of global secondary indexes for the replica.

*/ inline AwsDynamoDbTableReplica& AddGlobalSecondaryIndexes(const AwsDynamoDbTableReplicaGlobalSecondaryIndex& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(value); return *this; } /** *

List of global secondary indexes for the replica.

*/ inline AwsDynamoDbTableReplica& AddGlobalSecondaryIndexes(AwsDynamoDbTableReplicaGlobalSecondaryIndex&& value) { m_globalSecondaryIndexesHasBeenSet = true; m_globalSecondaryIndexes.push_back(std::move(value)); return *this; } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline const Aws::String& GetKmsMasterKeyId() const{ return m_kmsMasterKeyId; } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline bool KmsMasterKeyIdHasBeenSet() const { return m_kmsMasterKeyIdHasBeenSet; } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline void SetKmsMasterKeyId(const Aws::String& value) { m_kmsMasterKeyIdHasBeenSet = true; m_kmsMasterKeyId = value; } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline void SetKmsMasterKeyId(Aws::String&& value) { m_kmsMasterKeyIdHasBeenSet = true; m_kmsMasterKeyId = std::move(value); } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline void SetKmsMasterKeyId(const char* value) { m_kmsMasterKeyIdHasBeenSet = true; m_kmsMasterKeyId.assign(value); } /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline AwsDynamoDbTableReplica& WithKmsMasterKeyId(const Aws::String& value) { SetKmsMasterKeyId(value); return *this;} /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline AwsDynamoDbTableReplica& WithKmsMasterKeyId(Aws::String&& value) { SetKmsMasterKeyId(std::move(value)); return *this;} /** *

The identifier of the KMS key that will be used for KMS encryption for the * replica.

*/ inline AwsDynamoDbTableReplica& WithKmsMasterKeyId(const char* value) { SetKmsMasterKeyId(value); return *this;} /** *

Replica-specific configuration for the provisioned throughput.

*/ inline const AwsDynamoDbTableProvisionedThroughputOverride& GetProvisionedThroughputOverride() const{ return m_provisionedThroughputOverride; } /** *

Replica-specific configuration for the provisioned throughput.

*/ inline bool ProvisionedThroughputOverrideHasBeenSet() const { return m_provisionedThroughputOverrideHasBeenSet; } /** *

Replica-specific configuration for the provisioned throughput.

*/ inline void SetProvisionedThroughputOverride(const AwsDynamoDbTableProvisionedThroughputOverride& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = value; } /** *

Replica-specific configuration for the provisioned throughput.

*/ inline void SetProvisionedThroughputOverride(AwsDynamoDbTableProvisionedThroughputOverride&& value) { m_provisionedThroughputOverrideHasBeenSet = true; m_provisionedThroughputOverride = std::move(value); } /** *

Replica-specific configuration for the provisioned throughput.

*/ inline AwsDynamoDbTableReplica& WithProvisionedThroughputOverride(const AwsDynamoDbTableProvisionedThroughputOverride& value) { SetProvisionedThroughputOverride(value); return *this;} /** *

Replica-specific configuration for the provisioned throughput.

*/ inline AwsDynamoDbTableReplica& WithProvisionedThroughputOverride(AwsDynamoDbTableProvisionedThroughputOverride&& value) { SetProvisionedThroughputOverride(std::move(value)); return *this;} /** *

The name of the Region where the replica is located.

*/ inline const Aws::String& GetRegionName() const{ return m_regionName; } /** *

The name of the Region where the replica is located.

*/ inline bool RegionNameHasBeenSet() const { return m_regionNameHasBeenSet; } /** *

The name of the Region where the replica is located.

*/ inline void SetRegionName(const Aws::String& value) { m_regionNameHasBeenSet = true; m_regionName = value; } /** *

The name of the Region where the replica is located.

*/ inline void SetRegionName(Aws::String&& value) { m_regionNameHasBeenSet = true; m_regionName = std::move(value); } /** *

The name of the Region where the replica is located.

*/ inline void SetRegionName(const char* value) { m_regionNameHasBeenSet = true; m_regionName.assign(value); } /** *

The name of the Region where the replica is located.

*/ inline AwsDynamoDbTableReplica& WithRegionName(const Aws::String& value) { SetRegionName(value); return *this;} /** *

The name of the Region where the replica is located.

*/ inline AwsDynamoDbTableReplica& WithRegionName(Aws::String&& value) { SetRegionName(std::move(value)); return *this;} /** *

The name of the Region where the replica is located.

*/ inline AwsDynamoDbTableReplica& WithRegionName(const char* value) { SetRegionName(value); return *this;} /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline const Aws::String& GetReplicaStatus() const{ return m_replicaStatus; } /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline bool ReplicaStatusHasBeenSet() const { return m_replicaStatusHasBeenSet; } /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline void SetReplicaStatus(const Aws::String& value) { m_replicaStatusHasBeenSet = true; m_replicaStatus = value; } /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline void SetReplicaStatus(Aws::String&& value) { m_replicaStatusHasBeenSet = true; m_replicaStatus = std::move(value); } /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline void SetReplicaStatus(const char* value) { m_replicaStatusHasBeenSet = true; m_replicaStatus.assign(value); } /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline AwsDynamoDbTableReplica& WithReplicaStatus(const Aws::String& value) { SetReplicaStatus(value); return *this;} /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline AwsDynamoDbTableReplica& WithReplicaStatus(Aws::String&& value) { SetReplicaStatus(std::move(value)); return *this;} /** *

The current status of the replica. Valid values are as follows:

  • *

    ACTIVE

  • CREATING

  • *
  • CREATION_FAILED

  • DELETING *

  • UPDATING

*/ inline AwsDynamoDbTableReplica& WithReplicaStatus(const char* value) { SetReplicaStatus(value); return *this;} /** *

Detailed information about the replica status.

*/ inline const Aws::String& GetReplicaStatusDescription() const{ return m_replicaStatusDescription; } /** *

Detailed information about the replica status.

*/ inline bool ReplicaStatusDescriptionHasBeenSet() const { return m_replicaStatusDescriptionHasBeenSet; } /** *

Detailed information about the replica status.

*/ inline void SetReplicaStatusDescription(const Aws::String& value) { m_replicaStatusDescriptionHasBeenSet = true; m_replicaStatusDescription = value; } /** *

Detailed information about the replica status.

*/ inline void SetReplicaStatusDescription(Aws::String&& value) { m_replicaStatusDescriptionHasBeenSet = true; m_replicaStatusDescription = std::move(value); } /** *

Detailed information about the replica status.

*/ inline void SetReplicaStatusDescription(const char* value) { m_replicaStatusDescriptionHasBeenSet = true; m_replicaStatusDescription.assign(value); } /** *

Detailed information about the replica status.

*/ inline AwsDynamoDbTableReplica& WithReplicaStatusDescription(const Aws::String& value) { SetReplicaStatusDescription(value); return *this;} /** *

Detailed information about the replica status.

*/ inline AwsDynamoDbTableReplica& WithReplicaStatusDescription(Aws::String&& value) { SetReplicaStatusDescription(std::move(value)); return *this;} /** *

Detailed information about the replica status.

*/ inline AwsDynamoDbTableReplica& WithReplicaStatusDescription(const char* value) { SetReplicaStatusDescription(value); return *this;} private: Aws::Vector m_globalSecondaryIndexes; bool m_globalSecondaryIndexesHasBeenSet = false; Aws::String m_kmsMasterKeyId; bool m_kmsMasterKeyIdHasBeenSet = false; AwsDynamoDbTableProvisionedThroughputOverride m_provisionedThroughputOverride; bool m_provisionedThroughputOverrideHasBeenSet = false; Aws::String m_regionName; bool m_regionNameHasBeenSet = false; Aws::String m_replicaStatus; bool m_replicaStatusHasBeenSet = false; Aws::String m_replicaStatusDescription; bool m_replicaStatusDescriptionHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws