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

Contains details about the global table.

See Also:

AWS * API Reference

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

The Regions where the global table has replicas.

*/ inline const Aws::Vector& GetReplicationGroup() const{ return m_replicationGroup; } /** *

The Regions where the global table has replicas.

*/ inline bool ReplicationGroupHasBeenSet() const { return m_replicationGroupHasBeenSet; } /** *

The Regions where the global table has replicas.

*/ inline void SetReplicationGroup(const Aws::Vector& value) { m_replicationGroupHasBeenSet = true; m_replicationGroup = value; } /** *

The Regions where the global table has replicas.

*/ inline void SetReplicationGroup(Aws::Vector&& value) { m_replicationGroupHasBeenSet = true; m_replicationGroup = std::move(value); } /** *

The Regions where the global table has replicas.

*/ inline GlobalTableDescription& WithReplicationGroup(const Aws::Vector& value) { SetReplicationGroup(value); return *this;} /** *

The Regions where the global table has replicas.

*/ inline GlobalTableDescription& WithReplicationGroup(Aws::Vector&& value) { SetReplicationGroup(std::move(value)); return *this;} /** *

The Regions where the global table has replicas.

*/ inline GlobalTableDescription& AddReplicationGroup(const ReplicaDescription& value) { m_replicationGroupHasBeenSet = true; m_replicationGroup.push_back(value); return *this; } /** *

The Regions where the global table has replicas.

*/ inline GlobalTableDescription& AddReplicationGroup(ReplicaDescription&& value) { m_replicationGroupHasBeenSet = true; m_replicationGroup.push_back(std::move(value)); return *this; } /** *

The unique identifier of the global table.

*/ inline const Aws::String& GetGlobalTableArn() const{ return m_globalTableArn; } /** *

The unique identifier of the global table.

*/ inline bool GlobalTableArnHasBeenSet() const { return m_globalTableArnHasBeenSet; } /** *

The unique identifier of the global table.

*/ inline void SetGlobalTableArn(const Aws::String& value) { m_globalTableArnHasBeenSet = true; m_globalTableArn = value; } /** *

The unique identifier of the global table.

*/ inline void SetGlobalTableArn(Aws::String&& value) { m_globalTableArnHasBeenSet = true; m_globalTableArn = std::move(value); } /** *

The unique identifier of the global table.

*/ inline void SetGlobalTableArn(const char* value) { m_globalTableArnHasBeenSet = true; m_globalTableArn.assign(value); } /** *

The unique identifier of the global table.

*/ inline GlobalTableDescription& WithGlobalTableArn(const Aws::String& value) { SetGlobalTableArn(value); return *this;} /** *

The unique identifier of the global table.

*/ inline GlobalTableDescription& WithGlobalTableArn(Aws::String&& value) { SetGlobalTableArn(std::move(value)); return *this;} /** *

The unique identifier of the global table.

*/ inline GlobalTableDescription& WithGlobalTableArn(const char* value) { SetGlobalTableArn(value); return *this;} /** *

The creation time of the global table.

*/ inline const Aws::Utils::DateTime& GetCreationDateTime() const{ return m_creationDateTime; } /** *

The creation time of the global table.

*/ inline bool CreationDateTimeHasBeenSet() const { return m_creationDateTimeHasBeenSet; } /** *

The creation time of the global table.

*/ inline void SetCreationDateTime(const Aws::Utils::DateTime& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = value; } /** *

The creation time of the global table.

*/ inline void SetCreationDateTime(Aws::Utils::DateTime&& value) { m_creationDateTimeHasBeenSet = true; m_creationDateTime = std::move(value); } /** *

The creation time of the global table.

*/ inline GlobalTableDescription& WithCreationDateTime(const Aws::Utils::DateTime& value) { SetCreationDateTime(value); return *this;} /** *

The creation time of the global table.

*/ inline GlobalTableDescription& WithCreationDateTime(Aws::Utils::DateTime&& value) { SetCreationDateTime(std::move(value)); return *this;} /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline const GlobalTableStatus& GetGlobalTableStatus() const{ return m_globalTableStatus; } /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline bool GlobalTableStatusHasBeenSet() const { return m_globalTableStatusHasBeenSet; } /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline void SetGlobalTableStatus(const GlobalTableStatus& value) { m_globalTableStatusHasBeenSet = true; m_globalTableStatus = value; } /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline void SetGlobalTableStatus(GlobalTableStatus&& value) { m_globalTableStatusHasBeenSet = true; m_globalTableStatus = std::move(value); } /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline GlobalTableDescription& WithGlobalTableStatus(const GlobalTableStatus& value) { SetGlobalTableStatus(value); return *this;} /** *

The current state of the global table:

  • * CREATING - The global table is being created.

  • * UPDATING - The global table is being updated.

  • * DELETING - The global table is being deleted.

  • * ACTIVE - The global table is ready for use.

*/ inline GlobalTableDescription& WithGlobalTableStatus(GlobalTableStatus&& value) { SetGlobalTableStatus(std::move(value)); return *this;} /** *

The global table name.

*/ inline const Aws::String& GetGlobalTableName() const{ return m_globalTableName; } /** *

The global table name.

*/ inline bool GlobalTableNameHasBeenSet() const { return m_globalTableNameHasBeenSet; } /** *

The global table name.

*/ inline void SetGlobalTableName(const Aws::String& value) { m_globalTableNameHasBeenSet = true; m_globalTableName = value; } /** *

The global table name.

*/ inline void SetGlobalTableName(Aws::String&& value) { m_globalTableNameHasBeenSet = true; m_globalTableName = std::move(value); } /** *

The global table name.

*/ inline void SetGlobalTableName(const char* value) { m_globalTableNameHasBeenSet = true; m_globalTableName.assign(value); } /** *

The global table name.

*/ inline GlobalTableDescription& WithGlobalTableName(const Aws::String& value) { SetGlobalTableName(value); return *this;} /** *

The global table name.

*/ inline GlobalTableDescription& WithGlobalTableName(Aws::String&& value) { SetGlobalTableName(std::move(value)); return *this;} /** *

The global table name.

*/ inline GlobalTableDescription& WithGlobalTableName(const char* value) { SetGlobalTableName(value); return *this;} private: Aws::Vector m_replicationGroup; bool m_replicationGroupHasBeenSet = false; Aws::String m_globalTableArn; bool m_globalTableArnHasBeenSet = false; Aws::Utils::DateTime m_creationDateTime; bool m_creationDateTimeHasBeenSet = false; GlobalTableStatus m_globalTableStatus; bool m_globalTableStatusHasBeenSet = false; Aws::String m_globalTableName; bool m_globalTableNameHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws