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

Represents one of the following:

  • A new replica to be added * to an existing regional table or global table. This request invokes the * CreateTableReplica action in the destination Region.

  • *

    New parameters for an existing replica. This request invokes the * UpdateTable action in the destination Region.

  • An * existing replica to be deleted. The request invokes the * DeleteTableReplica action in the destination Region, deleting the * replica and all if its items in the destination Region.

*

When you manually remove a table or global table replica, you do not * automatically remove any associated scalable targets, scaling policies, or * CloudWatch alarms.

See Also:

AWS * API Reference

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

The parameters required for creating a replica for the table.

*/ inline const CreateReplicationGroupMemberAction& GetCreate() const{ return m_create; } /** *

The parameters required for creating a replica for the table.

*/ inline bool CreateHasBeenSet() const { return m_createHasBeenSet; } /** *

The parameters required for creating a replica for the table.

*/ inline void SetCreate(const CreateReplicationGroupMemberAction& value) { m_createHasBeenSet = true; m_create = value; } /** *

The parameters required for creating a replica for the table.

*/ inline void SetCreate(CreateReplicationGroupMemberAction&& value) { m_createHasBeenSet = true; m_create = std::move(value); } /** *

The parameters required for creating a replica for the table.

*/ inline ReplicationGroupUpdate& WithCreate(const CreateReplicationGroupMemberAction& value) { SetCreate(value); return *this;} /** *

The parameters required for creating a replica for the table.

*/ inline ReplicationGroupUpdate& WithCreate(CreateReplicationGroupMemberAction&& value) { SetCreate(std::move(value)); return *this;} /** *

The parameters required for updating a replica for the table.

*/ inline const UpdateReplicationGroupMemberAction& GetUpdate() const{ return m_update; } /** *

The parameters required for updating a replica for the table.

*/ inline bool UpdateHasBeenSet() const { return m_updateHasBeenSet; } /** *

The parameters required for updating a replica for the table.

*/ inline void SetUpdate(const UpdateReplicationGroupMemberAction& value) { m_updateHasBeenSet = true; m_update = value; } /** *

The parameters required for updating a replica for the table.

*/ inline void SetUpdate(UpdateReplicationGroupMemberAction&& value) { m_updateHasBeenSet = true; m_update = std::move(value); } /** *

The parameters required for updating a replica for the table.

*/ inline ReplicationGroupUpdate& WithUpdate(const UpdateReplicationGroupMemberAction& value) { SetUpdate(value); return *this;} /** *

The parameters required for updating a replica for the table.

*/ inline ReplicationGroupUpdate& WithUpdate(UpdateReplicationGroupMemberAction&& value) { SetUpdate(std::move(value)); return *this;} /** *

The parameters required for deleting a replica for the table.

*/ inline const DeleteReplicationGroupMemberAction& GetDelete() const{ return m_delete; } /** *

The parameters required for deleting a replica for the table.

*/ inline bool DeleteHasBeenSet() const { return m_deleteHasBeenSet; } /** *

The parameters required for deleting a replica for the table.

*/ inline void SetDelete(const DeleteReplicationGroupMemberAction& value) { m_deleteHasBeenSet = true; m_delete = value; } /** *

The parameters required for deleting a replica for the table.

*/ inline void SetDelete(DeleteReplicationGroupMemberAction&& value) { m_deleteHasBeenSet = true; m_delete = std::move(value); } /** *

The parameters required for deleting a replica for the table.

*/ inline ReplicationGroupUpdate& WithDelete(const DeleteReplicationGroupMemberAction& value) { SetDelete(value); return *this;} /** *

The parameters required for deleting a replica for the table.

*/ inline ReplicationGroupUpdate& WithDelete(DeleteReplicationGroupMemberAction&& value) { SetDelete(std::move(value)); return *this;} private: CreateReplicationGroupMemberAction m_create; bool m_createHasBeenSet = false; UpdateReplicationGroupMemberAction m_update; bool m_updateHasBeenSet = false; DeleteReplicationGroupMemberAction m_delete; bool m_deleteHasBeenSet = false; }; } // namespace Model } // namespace DynamoDB } // namespace Aws