/** * 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 Neptune { namespace Model { /** */ class ModifyGlobalClusterRequest : public NeptuneRequest { public: AWS_NEPTUNE_API ModifyGlobalClusterRequest(); // 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 "ModifyGlobalCluster"; } AWS_NEPTUNE_API Aws::String SerializePayload() const override; protected: AWS_NEPTUNE_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline const Aws::String& GetGlobalClusterIdentifier() const{ return m_globalClusterIdentifier; } /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline bool GlobalClusterIdentifierHasBeenSet() const { return m_globalClusterIdentifierHasBeenSet; } /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline void SetGlobalClusterIdentifier(const Aws::String& value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier = value; } /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline void SetGlobalClusterIdentifier(Aws::String&& value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier = std::move(value); } /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline void SetGlobalClusterIdentifier(const char* value) { m_globalClusterIdentifierHasBeenSet = true; m_globalClusterIdentifier.assign(value); } /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline ModifyGlobalClusterRequest& WithGlobalClusterIdentifier(const Aws::String& value) { SetGlobalClusterIdentifier(value); return *this;} /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline ModifyGlobalClusterRequest& WithGlobalClusterIdentifier(Aws::String&& value) { SetGlobalClusterIdentifier(std::move(value)); return *this;} /** *

The DB cluster identifier for the global cluster being modified. This * parameter is not case-sensitive.

Constraints: Must match the identifier * of an existing global database cluster.

*/ inline ModifyGlobalClusterRequest& WithGlobalClusterIdentifier(const char* value) { SetGlobalClusterIdentifier(value); return *this;} /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline const Aws::String& GetNewGlobalClusterIdentifier() const{ return m_newGlobalClusterIdentifier; } /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline bool NewGlobalClusterIdentifierHasBeenSet() const { return m_newGlobalClusterIdentifierHasBeenSet; } /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline void SetNewGlobalClusterIdentifier(const Aws::String& value) { m_newGlobalClusterIdentifierHasBeenSet = true; m_newGlobalClusterIdentifier = value; } /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline void SetNewGlobalClusterIdentifier(Aws::String&& value) { m_newGlobalClusterIdentifierHasBeenSet = true; m_newGlobalClusterIdentifier = std::move(value); } /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline void SetNewGlobalClusterIdentifier(const char* value) { m_newGlobalClusterIdentifierHasBeenSet = true; m_newGlobalClusterIdentifier.assign(value); } /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline ModifyGlobalClusterRequest& WithNewGlobalClusterIdentifier(const Aws::String& value) { SetNewGlobalClusterIdentifier(value); return *this;} /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline ModifyGlobalClusterRequest& WithNewGlobalClusterIdentifier(Aws::String&& value) { SetNewGlobalClusterIdentifier(std::move(value)); return *this;} /** *

A new cluster identifier to assign to the global database. This value is * stored as a lowercase string.

Constraints:

  • Must contain * from 1 to 63 letters, numbers, or hyphens.

  • The first character * must be a letter.

  • Can't end with a hyphen or contain two * consecutive hyphens

Example: my-cluster2

*/ inline ModifyGlobalClusterRequest& WithNewGlobalClusterIdentifier(const char* value) { SetNewGlobalClusterIdentifier(value); return *this;} /** *

Indicates whether the global database has deletion protection enabled. The * global database cannot be deleted when deletion protection is enabled.

*/ inline bool GetDeletionProtection() const{ return m_deletionProtection; } /** *

Indicates whether the global database has deletion protection enabled. The * global database cannot be deleted when deletion protection is enabled.

*/ inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; } /** *

Indicates whether the global database has deletion protection enabled. The * global database cannot be deleted when deletion protection is enabled.

*/ inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; } /** *

Indicates whether the global database has deletion protection enabled. The * global database cannot be deleted when deletion protection is enabled.

*/ inline ModifyGlobalClusterRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;} /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline const Aws::String& GetEngineVersion() const{ return m_engineVersion; } /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline bool EngineVersionHasBeenSet() const { return m_engineVersionHasBeenSet; } /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline void SetEngineVersion(const Aws::String& value) { m_engineVersionHasBeenSet = true; m_engineVersion = value; } /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline void SetEngineVersion(Aws::String&& value) { m_engineVersionHasBeenSet = true; m_engineVersion = std::move(value); } /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline void SetEngineVersion(const char* value) { m_engineVersionHasBeenSet = true; m_engineVersion.assign(value); } /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline ModifyGlobalClusterRequest& WithEngineVersion(const Aws::String& value) { SetEngineVersion(value); return *this;} /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline ModifyGlobalClusterRequest& WithEngineVersion(Aws::String&& value) { SetEngineVersion(std::move(value)); return *this;} /** *

The version number of the database engine to which you want to upgrade. * Changing this parameter will result in an outage. The change is applied during * the next maintenance window unless ApplyImmediately is enabled.

*

To list all of the available Neptune engine versions, use the following * command:

*/ inline ModifyGlobalClusterRequest& WithEngineVersion(const char* value) { SetEngineVersion(value); return *this;} /** *

A value that indicates whether major version upgrades are allowed.

*

Constraints: You must allow major version upgrades if you specify a value for * the EngineVersion parameter that is a different major version than * the DB cluster's current version.

If you upgrade the major version of a * global database, the cluster and DB instance parameter groups are set to the * default parameter groups for the new version, so you will need to apply any * custom parameter groups after completing the upgrade.

*/ inline bool GetAllowMajorVersionUpgrade() const{ return m_allowMajorVersionUpgrade; } /** *

A value that indicates whether major version upgrades are allowed.

*

Constraints: You must allow major version upgrades if you specify a value for * the EngineVersion parameter that is a different major version than * the DB cluster's current version.

If you upgrade the major version of a * global database, the cluster and DB instance parameter groups are set to the * default parameter groups for the new version, so you will need to apply any * custom parameter groups after completing the upgrade.

*/ inline bool AllowMajorVersionUpgradeHasBeenSet() const { return m_allowMajorVersionUpgradeHasBeenSet; } /** *

A value that indicates whether major version upgrades are allowed.

*

Constraints: You must allow major version upgrades if you specify a value for * the EngineVersion parameter that is a different major version than * the DB cluster's current version.

If you upgrade the major version of a * global database, the cluster and DB instance parameter groups are set to the * default parameter groups for the new version, so you will need to apply any * custom parameter groups after completing the upgrade.

*/ inline void SetAllowMajorVersionUpgrade(bool value) { m_allowMajorVersionUpgradeHasBeenSet = true; m_allowMajorVersionUpgrade = value; } /** *

A value that indicates whether major version upgrades are allowed.

*

Constraints: You must allow major version upgrades if you specify a value for * the EngineVersion parameter that is a different major version than * the DB cluster's current version.

If you upgrade the major version of a * global database, the cluster and DB instance parameter groups are set to the * default parameter groups for the new version, so you will need to apply any * custom parameter groups after completing the upgrade.

*/ inline ModifyGlobalClusterRequest& WithAllowMajorVersionUpgrade(bool value) { SetAllowMajorVersionUpgrade(value); return *this;} private: Aws::String m_globalClusterIdentifier; bool m_globalClusterIdentifierHasBeenSet = false; Aws::String m_newGlobalClusterIdentifier; bool m_newGlobalClusterIdentifierHasBeenSet = false; bool m_deletionProtection; bool m_deletionProtectionHasBeenSet = false; Aws::String m_engineVersion; bool m_engineVersionHasBeenSet = false; bool m_allowMajorVersionUpgrade; bool m_allowMajorVersionUpgradeHasBeenSet = false; }; } // namespace Model } // namespace Neptune } // namespace Aws