/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace ElastiCache { namespace Model { /** */ class AWS_ELASTICACHE_API CreateGlobalReplicationGroupRequest : public ElastiCacheRequest { public: CreateGlobalReplicationGroupRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateGlobalReplicationGroup"; } Aws::String SerializePayload() const override; protected: void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline const Aws::String& GetGlobalReplicationGroupIdSuffix() const{ return m_globalReplicationGroupIdSuffix; } /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline bool GlobalReplicationGroupIdSuffixHasBeenSet() const { return m_globalReplicationGroupIdSuffixHasBeenSet; } /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline void SetGlobalReplicationGroupIdSuffix(const Aws::String& value) { m_globalReplicationGroupIdSuffixHasBeenSet = true; m_globalReplicationGroupIdSuffix = value; } /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline void SetGlobalReplicationGroupIdSuffix(Aws::String&& value) { m_globalReplicationGroupIdSuffixHasBeenSet = true; m_globalReplicationGroupIdSuffix = std::move(value); } /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline void SetGlobalReplicationGroupIdSuffix(const char* value) { m_globalReplicationGroupIdSuffixHasBeenSet = true; m_globalReplicationGroupIdSuffix.assign(value); } /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupIdSuffix(const Aws::String& value) { SetGlobalReplicationGroupIdSuffix(value); return *this;} /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupIdSuffix(Aws::String&& value) { SetGlobalReplicationGroupIdSuffix(std::move(value)); return *this;} /** *

The suffix name of a Global Datastore. The suffix guarantees uniqueness of * the Global Datastore name across multiple regions.

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupIdSuffix(const char* value) { SetGlobalReplicationGroupIdSuffix(value); return *this;} /** *

Provides details of the Global Datastore

*/ inline const Aws::String& GetGlobalReplicationGroupDescription() const{ return m_globalReplicationGroupDescription; } /** *

Provides details of the Global Datastore

*/ inline bool GlobalReplicationGroupDescriptionHasBeenSet() const { return m_globalReplicationGroupDescriptionHasBeenSet; } /** *

Provides details of the Global Datastore

*/ inline void SetGlobalReplicationGroupDescription(const Aws::String& value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription = value; } /** *

Provides details of the Global Datastore

*/ inline void SetGlobalReplicationGroupDescription(Aws::String&& value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription = std::move(value); } /** *

Provides details of the Global Datastore

*/ inline void SetGlobalReplicationGroupDescription(const char* value) { m_globalReplicationGroupDescriptionHasBeenSet = true; m_globalReplicationGroupDescription.assign(value); } /** *

Provides details of the Global Datastore

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(const Aws::String& value) { SetGlobalReplicationGroupDescription(value); return *this;} /** *

Provides details of the Global Datastore

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(Aws::String&& value) { SetGlobalReplicationGroupDescription(std::move(value)); return *this;} /** *

Provides details of the Global Datastore

*/ inline CreateGlobalReplicationGroupRequest& WithGlobalReplicationGroupDescription(const char* value) { SetGlobalReplicationGroupDescription(value); return *this;} /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline const Aws::String& GetPrimaryReplicationGroupId() const{ return m_primaryReplicationGroupId; } /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline bool PrimaryReplicationGroupIdHasBeenSet() const { return m_primaryReplicationGroupIdHasBeenSet; } /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline void SetPrimaryReplicationGroupId(const Aws::String& value) { m_primaryReplicationGroupIdHasBeenSet = true; m_primaryReplicationGroupId = value; } /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline void SetPrimaryReplicationGroupId(Aws::String&& value) { m_primaryReplicationGroupIdHasBeenSet = true; m_primaryReplicationGroupId = std::move(value); } /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline void SetPrimaryReplicationGroupId(const char* value) { m_primaryReplicationGroupIdHasBeenSet = true; m_primaryReplicationGroupId.assign(value); } /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline CreateGlobalReplicationGroupRequest& WithPrimaryReplicationGroupId(const Aws::String& value) { SetPrimaryReplicationGroupId(value); return *this;} /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline CreateGlobalReplicationGroupRequest& WithPrimaryReplicationGroupId(Aws::String&& value) { SetPrimaryReplicationGroupId(std::move(value)); return *this;} /** *

The name of the primary cluster that accepts writes and will replicate * updates to the secondary cluster.

*/ inline CreateGlobalReplicationGroupRequest& WithPrimaryReplicationGroupId(const char* value) { SetPrimaryReplicationGroupId(value); return *this;} private: Aws::String m_globalReplicationGroupIdSuffix; bool m_globalReplicationGroupIdSuffixHasBeenSet; Aws::String m_globalReplicationGroupDescription; bool m_globalReplicationGroupDescriptionHasBeenSet; Aws::String m_primaryReplicationGroupId; bool m_primaryReplicationGroupIdHasBeenSet; }; } // namespace Model } // namespace ElastiCache } // namespace Aws