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

See Also:

AWS * API Reference

*/ class DeleteClusterRequest : public RedshiftRequest { public: AWS_REDSHIFT_API DeleteClusterRequest(); // 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 "DeleteCluster"; } AWS_REDSHIFT_API Aws::String SerializePayload() const override; protected: AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; } /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; } /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; } /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); } /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); } /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DeleteClusterRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;} /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DeleteClusterRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;} /** *

The identifier of the cluster to be deleted.

Constraints:

    *
  • Must contain lowercase characters.

  • Must contain from 1 * to 63 alphanumeric characters or hyphens.

  • First character must * be a letter.

  • Cannot end with a hyphen or contain two * consecutive hyphens.

*/ inline DeleteClusterRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;} /** *

Determines whether a final snapshot of the cluster is created before Amazon * Redshift deletes the cluster. If true, a final cluster snapshot is * not created. If false, a final cluster snapshot is created before * the cluster is deleted.

The FinalClusterSnapshotIdentifier * parameter must be specified if SkipFinalClusterSnapshot is * false.

Default: false

*/ inline bool GetSkipFinalClusterSnapshot() const{ return m_skipFinalClusterSnapshot; } /** *

Determines whether a final snapshot of the cluster is created before Amazon * Redshift deletes the cluster. If true, a final cluster snapshot is * not created. If false, a final cluster snapshot is created before * the cluster is deleted.

The FinalClusterSnapshotIdentifier * parameter must be specified if SkipFinalClusterSnapshot is * false.

Default: false

*/ inline bool SkipFinalClusterSnapshotHasBeenSet() const { return m_skipFinalClusterSnapshotHasBeenSet; } /** *

Determines whether a final snapshot of the cluster is created before Amazon * Redshift deletes the cluster. If true, a final cluster snapshot is * not created. If false, a final cluster snapshot is created before * the cluster is deleted.

The FinalClusterSnapshotIdentifier * parameter must be specified if SkipFinalClusterSnapshot is * false.

Default: false

*/ inline void SetSkipFinalClusterSnapshot(bool value) { m_skipFinalClusterSnapshotHasBeenSet = true; m_skipFinalClusterSnapshot = value; } /** *

Determines whether a final snapshot of the cluster is created before Amazon * Redshift deletes the cluster. If true, a final cluster snapshot is * not created. If false, a final cluster snapshot is created before * the cluster is deleted.

The FinalClusterSnapshotIdentifier * parameter must be specified if SkipFinalClusterSnapshot is * false.

Default: false

*/ inline DeleteClusterRequest& WithSkipFinalClusterSnapshot(bool value) { SetSkipFinalClusterSnapshot(value); return *this;} /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline const Aws::String& GetFinalClusterSnapshotIdentifier() const{ return m_finalClusterSnapshotIdentifier; } /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline bool FinalClusterSnapshotIdentifierHasBeenSet() const { return m_finalClusterSnapshotIdentifierHasBeenSet; } /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline void SetFinalClusterSnapshotIdentifier(const Aws::String& value) { m_finalClusterSnapshotIdentifierHasBeenSet = true; m_finalClusterSnapshotIdentifier = value; } /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline void SetFinalClusterSnapshotIdentifier(Aws::String&& value) { m_finalClusterSnapshotIdentifierHasBeenSet = true; m_finalClusterSnapshotIdentifier = std::move(value); } /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline void SetFinalClusterSnapshotIdentifier(const char* value) { m_finalClusterSnapshotIdentifierHasBeenSet = true; m_finalClusterSnapshotIdentifier.assign(value); } /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline DeleteClusterRequest& WithFinalClusterSnapshotIdentifier(const Aws::String& value) { SetFinalClusterSnapshotIdentifier(value); return *this;} /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline DeleteClusterRequest& WithFinalClusterSnapshotIdentifier(Aws::String&& value) { SetFinalClusterSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier of the final snapshot that is to be created immediately before * deleting the cluster. If this parameter is provided, * SkipFinalClusterSnapshot must be false.

*

Constraints:

  • Must be 1 to 255 alphanumeric characters.

    *
  • First character must be a letter.

  • Cannot end * with a hyphen or contain two consecutive hyphens.

*/ inline DeleteClusterRequest& WithFinalClusterSnapshotIdentifier(const char* value) { SetFinalClusterSnapshotIdentifier(value); return *this;} /** *

The number of days that a manual snapshot is retained. If the value is -1, * the manual snapshot is retained indefinitely.

The value must be either -1 * or an integer between 1 and 3,653.

The default value is -1.

*/ inline int GetFinalClusterSnapshotRetentionPeriod() const{ return m_finalClusterSnapshotRetentionPeriod; } /** *

The number of days that a manual snapshot is retained. If the value is -1, * the manual snapshot is retained indefinitely.

The value must be either -1 * or an integer between 1 and 3,653.

The default value is -1.

*/ inline bool FinalClusterSnapshotRetentionPeriodHasBeenSet() const { return m_finalClusterSnapshotRetentionPeriodHasBeenSet; } /** *

The number of days that a manual snapshot is retained. If the value is -1, * the manual snapshot is retained indefinitely.

The value must be either -1 * or an integer between 1 and 3,653.

The default value is -1.

*/ inline void SetFinalClusterSnapshotRetentionPeriod(int value) { m_finalClusterSnapshotRetentionPeriodHasBeenSet = true; m_finalClusterSnapshotRetentionPeriod = value; } /** *

The number of days that a manual snapshot is retained. If the value is -1, * the manual snapshot is retained indefinitely.

The value must be either -1 * or an integer between 1 and 3,653.

The default value is -1.

*/ inline DeleteClusterRequest& WithFinalClusterSnapshotRetentionPeriod(int value) { SetFinalClusterSnapshotRetentionPeriod(value); return *this;} private: Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; bool m_skipFinalClusterSnapshot; bool m_skipFinalClusterSnapshotHasBeenSet = false; Aws::String m_finalClusterSnapshotIdentifier; bool m_finalClusterSnapshotIdentifierHasBeenSet = false; int m_finalClusterSnapshotRetentionPeriod; bool m_finalClusterSnapshotRetentionPeriodHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws