/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace Redshift { namespace Model { /** *

Describes the result of a cluster resize operation.

See Also:

* AWS * API Reference

*/ class CancelResizeResult { public: AWS_REDSHIFT_API CancelResizeResult(); AWS_REDSHIFT_API CancelResizeResult(const Aws::AmazonWebServiceResult& result); AWS_REDSHIFT_API CancelResizeResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline const Aws::String& GetTargetNodeType() const{ return m_targetNodeType; } /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline void SetTargetNodeType(const Aws::String& value) { m_targetNodeType = value; } /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline void SetTargetNodeType(Aws::String&& value) { m_targetNodeType = std::move(value); } /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline void SetTargetNodeType(const char* value) { m_targetNodeType.assign(value); } /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline CancelResizeResult& WithTargetNodeType(const Aws::String& value) { SetTargetNodeType(value); return *this;} /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline CancelResizeResult& WithTargetNodeType(Aws::String&& value) { SetTargetNodeType(std::move(value)); return *this;} /** *

The node type that the cluster will have after the resize operation is * complete.

*/ inline CancelResizeResult& WithTargetNodeType(const char* value) { SetTargetNodeType(value); return *this;} /** *

The number of nodes that the cluster will have after the resize operation is * complete.

*/ inline int GetTargetNumberOfNodes() const{ return m_targetNumberOfNodes; } /** *

The number of nodes that the cluster will have after the resize operation is * complete.

*/ inline void SetTargetNumberOfNodes(int value) { m_targetNumberOfNodes = value; } /** *

The number of nodes that the cluster will have after the resize operation is * complete.

*/ inline CancelResizeResult& WithTargetNumberOfNodes(int value) { SetTargetNumberOfNodes(value); return *this;} /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline const Aws::String& GetTargetClusterType() const{ return m_targetClusterType; } /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline void SetTargetClusterType(const Aws::String& value) { m_targetClusterType = value; } /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline void SetTargetClusterType(Aws::String&& value) { m_targetClusterType = std::move(value); } /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline void SetTargetClusterType(const char* value) { m_targetClusterType.assign(value); } /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline CancelResizeResult& WithTargetClusterType(const Aws::String& value) { SetTargetClusterType(value); return *this;} /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline CancelResizeResult& WithTargetClusterType(Aws::String&& value) { SetTargetClusterType(std::move(value)); return *this;} /** *

The cluster type after the resize operation is complete.

Valid Values: * multi-node | single-node

*/ inline CancelResizeResult& WithTargetClusterType(const char* value) { SetTargetClusterType(value); return *this;} /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline const Aws::String& GetStatus() const{ return m_status; } /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline void SetStatus(const Aws::String& value) { m_status = value; } /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline void SetStatus(Aws::String&& value) { m_status = std::move(value); } /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline void SetStatus(const char* value) { m_status.assign(value); } /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline CancelResizeResult& WithStatus(const Aws::String& value) { SetStatus(value); return *this;} /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline CancelResizeResult& WithStatus(Aws::String&& value) { SetStatus(std::move(value)); return *this;} /** *

The status of the resize operation.

Valid Values: NONE | * IN_PROGRESS | FAILED | SUCCEEDED | * CANCELLING

*/ inline CancelResizeResult& WithStatus(const char* value) { SetStatus(value); return *this;} /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline const Aws::Vector& GetImportTablesCompleted() const{ return m_importTablesCompleted; } /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline void SetImportTablesCompleted(const Aws::Vector& value) { m_importTablesCompleted = value; } /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline void SetImportTablesCompleted(Aws::Vector&& value) { m_importTablesCompleted = std::move(value); } /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline CancelResizeResult& WithImportTablesCompleted(const Aws::Vector& value) { SetImportTablesCompleted(value); return *this;} /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline CancelResizeResult& WithImportTablesCompleted(Aws::Vector&& value) { SetImportTablesCompleted(std::move(value)); return *this;} /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesCompleted(const Aws::String& value) { m_importTablesCompleted.push_back(value); return *this; } /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesCompleted(Aws::String&& value) { m_importTablesCompleted.push_back(std::move(value)); return *this; } /** *

The names of tables that have been completely imported .

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesCompleted(const char* value) { m_importTablesCompleted.push_back(value); return *this; } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline const Aws::Vector& GetImportTablesInProgress() const{ return m_importTablesInProgress; } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline void SetImportTablesInProgress(const Aws::Vector& value) { m_importTablesInProgress = value; } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline void SetImportTablesInProgress(Aws::Vector&& value) { m_importTablesInProgress = std::move(value); } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline CancelResizeResult& WithImportTablesInProgress(const Aws::Vector& value) { SetImportTablesInProgress(value); return *this;} /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline CancelResizeResult& WithImportTablesInProgress(Aws::Vector&& value) { SetImportTablesInProgress(std::move(value)); return *this;} /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesInProgress(const Aws::String& value) { m_importTablesInProgress.push_back(value); return *this; } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesInProgress(Aws::String&& value) { m_importTablesInProgress.push_back(std::move(value)); return *this; } /** *

The names of tables that are being currently imported.

Valid Values: * List of table names.

*/ inline CancelResizeResult& AddImportTablesInProgress(const char* value) { m_importTablesInProgress.push_back(value); return *this; } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline const Aws::Vector& GetImportTablesNotStarted() const{ return m_importTablesNotStarted; } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline void SetImportTablesNotStarted(const Aws::Vector& value) { m_importTablesNotStarted = value; } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline void SetImportTablesNotStarted(Aws::Vector&& value) { m_importTablesNotStarted = std::move(value); } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline CancelResizeResult& WithImportTablesNotStarted(const Aws::Vector& value) { SetImportTablesNotStarted(value); return *this;} /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline CancelResizeResult& WithImportTablesNotStarted(Aws::Vector&& value) { SetImportTablesNotStarted(std::move(value)); return *this;} /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline CancelResizeResult& AddImportTablesNotStarted(const Aws::String& value) { m_importTablesNotStarted.push_back(value); return *this; } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline CancelResizeResult& AddImportTablesNotStarted(Aws::String&& value) { m_importTablesNotStarted.push_back(std::move(value)); return *this; } /** *

The names of tables that have not been yet imported.

Valid Values: * List of table names

*/ inline CancelResizeResult& AddImportTablesNotStarted(const char* value) { m_importTablesNotStarted.push_back(value); return *this; } /** *

The average rate of the resize operation over the last few minutes, measured * in megabytes per second. After the resize operation completes, this value shows * the average rate of the entire resize operation.

*/ inline double GetAvgResizeRateInMegaBytesPerSecond() const{ return m_avgResizeRateInMegaBytesPerSecond; } /** *

The average rate of the resize operation over the last few minutes, measured * in megabytes per second. After the resize operation completes, this value shows * the average rate of the entire resize operation.

*/ inline void SetAvgResizeRateInMegaBytesPerSecond(double value) { m_avgResizeRateInMegaBytesPerSecond = value; } /** *

The average rate of the resize operation over the last few minutes, measured * in megabytes per second. After the resize operation completes, this value shows * the average rate of the entire resize operation.

*/ inline CancelResizeResult& WithAvgResizeRateInMegaBytesPerSecond(double value) { SetAvgResizeRateInMegaBytesPerSecond(value); return *this;} /** *

The estimated total amount of data, in megabytes, on the cluster before the * resize operation began.

*/ inline long long GetTotalResizeDataInMegaBytes() const{ return m_totalResizeDataInMegaBytes; } /** *

The estimated total amount of data, in megabytes, on the cluster before the * resize operation began.

*/ inline void SetTotalResizeDataInMegaBytes(long long value) { m_totalResizeDataInMegaBytes = value; } /** *

The estimated total amount of data, in megabytes, on the cluster before the * resize operation began.

*/ inline CancelResizeResult& WithTotalResizeDataInMegaBytes(long long value) { SetTotalResizeDataInMegaBytes(value); return *this;} /** *

While the resize operation is in progress, this value shows the current * amount of data, in megabytes, that has been processed so far. When the resize * operation is complete, this value shows the total amount of data, in megabytes, * on the cluster, which may be more or less than TotalResizeDataInMegaBytes (the * estimated total amount of data before resize).

*/ inline long long GetProgressInMegaBytes() const{ return m_progressInMegaBytes; } /** *

While the resize operation is in progress, this value shows the current * amount of data, in megabytes, that has been processed so far. When the resize * operation is complete, this value shows the total amount of data, in megabytes, * on the cluster, which may be more or less than TotalResizeDataInMegaBytes (the * estimated total amount of data before resize).

*/ inline void SetProgressInMegaBytes(long long value) { m_progressInMegaBytes = value; } /** *

While the resize operation is in progress, this value shows the current * amount of data, in megabytes, that has been processed so far. When the resize * operation is complete, this value shows the total amount of data, in megabytes, * on the cluster, which may be more or less than TotalResizeDataInMegaBytes (the * estimated total amount of data before resize).

*/ inline CancelResizeResult& WithProgressInMegaBytes(long long value) { SetProgressInMegaBytes(value); return *this;} /** *

The amount of seconds that have elapsed since the resize operation began. * After the resize operation completes, this value shows the total actual time, in * seconds, for the resize operation.

*/ inline long long GetElapsedTimeInSeconds() const{ return m_elapsedTimeInSeconds; } /** *

The amount of seconds that have elapsed since the resize operation began. * After the resize operation completes, this value shows the total actual time, in * seconds, for the resize operation.

*/ inline void SetElapsedTimeInSeconds(long long value) { m_elapsedTimeInSeconds = value; } /** *

The amount of seconds that have elapsed since the resize operation began. * After the resize operation completes, this value shows the total actual time, in * seconds, for the resize operation.

*/ inline CancelResizeResult& WithElapsedTimeInSeconds(long long value) { SetElapsedTimeInSeconds(value); return *this;} /** *

The estimated time remaining, in seconds, until the resize operation is * complete. This value is calculated based on the average resize rate and the * estimated amount of data remaining to be processed. Once the resize operation is * complete, this value will be 0.

*/ inline long long GetEstimatedTimeToCompletionInSeconds() const{ return m_estimatedTimeToCompletionInSeconds; } /** *

The estimated time remaining, in seconds, until the resize operation is * complete. This value is calculated based on the average resize rate and the * estimated amount of data remaining to be processed. Once the resize operation is * complete, this value will be 0.

*/ inline void SetEstimatedTimeToCompletionInSeconds(long long value) { m_estimatedTimeToCompletionInSeconds = value; } /** *

The estimated time remaining, in seconds, until the resize operation is * complete. This value is calculated based on the average resize rate and the * estimated amount of data remaining to be processed. Once the resize operation is * complete, this value will be 0.

*/ inline CancelResizeResult& WithEstimatedTimeToCompletionInSeconds(long long value) { SetEstimatedTimeToCompletionInSeconds(value); return *this;} /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline const Aws::String& GetResizeType() const{ return m_resizeType; } /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline void SetResizeType(const Aws::String& value) { m_resizeType = value; } /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline void SetResizeType(Aws::String&& value) { m_resizeType = std::move(value); } /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline void SetResizeType(const char* value) { m_resizeType.assign(value); } /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline CancelResizeResult& WithResizeType(const Aws::String& value) { SetResizeType(value); return *this;} /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline CancelResizeResult& WithResizeType(Aws::String&& value) { SetResizeType(std::move(value)); return *this;} /** *

An enum with possible values of ClassicResize and * ElasticResize. These values describe the type of resize operation * being performed.

*/ inline CancelResizeResult& WithResizeType(const char* value) { SetResizeType(value); return *this;} /** *

An optional string to provide additional details about the resize action.

*/ inline const Aws::String& GetMessage() const{ return m_message; } /** *

An optional string to provide additional details about the resize action.

*/ inline void SetMessage(const Aws::String& value) { m_message = value; } /** *

An optional string to provide additional details about the resize action.

*/ inline void SetMessage(Aws::String&& value) { m_message = std::move(value); } /** *

An optional string to provide additional details about the resize action.

*/ inline void SetMessage(const char* value) { m_message.assign(value); } /** *

An optional string to provide additional details about the resize action.

*/ inline CancelResizeResult& WithMessage(const Aws::String& value) { SetMessage(value); return *this;} /** *

An optional string to provide additional details about the resize action.

*/ inline CancelResizeResult& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;} /** *

An optional string to provide additional details about the resize action.

*/ inline CancelResizeResult& WithMessage(const char* value) { SetMessage(value); return *this;} /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline const Aws::String& GetTargetEncryptionType() const{ return m_targetEncryptionType; } /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline void SetTargetEncryptionType(const Aws::String& value) { m_targetEncryptionType = value; } /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline void SetTargetEncryptionType(Aws::String&& value) { m_targetEncryptionType = std::move(value); } /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline void SetTargetEncryptionType(const char* value) { m_targetEncryptionType.assign(value); } /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline CancelResizeResult& WithTargetEncryptionType(const Aws::String& value) { SetTargetEncryptionType(value); return *this;} /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline CancelResizeResult& WithTargetEncryptionType(Aws::String&& value) { SetTargetEncryptionType(std::move(value)); return *this;} /** *

The type of encryption for the cluster after the resize is complete.

*

Possible values are KMS and None.

*/ inline CancelResizeResult& WithTargetEncryptionType(const char* value) { SetTargetEncryptionType(value); return *this;} /** *

The percent of data transferred from source cluster to target cluster.

*/ inline double GetDataTransferProgressPercent() const{ return m_dataTransferProgressPercent; } /** *

The percent of data transferred from source cluster to target cluster.

*/ inline void SetDataTransferProgressPercent(double value) { m_dataTransferProgressPercent = value; } /** *

The percent of data transferred from source cluster to target cluster.

*/ inline CancelResizeResult& WithDataTransferProgressPercent(double value) { SetDataTransferProgressPercent(value); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline CancelResizeResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline CancelResizeResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_targetNodeType; int m_targetNumberOfNodes; Aws::String m_targetClusterType; Aws::String m_status; Aws::Vector m_importTablesCompleted; Aws::Vector m_importTablesInProgress; Aws::Vector m_importTablesNotStarted; double m_avgResizeRateInMegaBytesPerSecond; long long m_totalResizeDataInMegaBytes; long long m_progressInMegaBytes; long long m_elapsedTimeInSeconds; long long m_estimatedTimeToCompletionInSeconds; Aws::String m_resizeType; Aws::String m_message; Aws::String m_targetEncryptionType; double m_dataTransferProgressPercent; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace Redshift } // namespace Aws