/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Redshift { namespace Model { /** */ class DescribeNodeConfigurationOptionsRequest : public RedshiftRequest { public: AWS_REDSHIFT_API DescribeNodeConfigurationOptionsRequest(); // 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 "DescribeNodeConfigurationOptions"; } AWS_REDSHIFT_API Aws::String SerializePayload() const override; protected: AWS_REDSHIFT_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline const ActionType& GetActionType() const{ return m_actionType; } /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline bool ActionTypeHasBeenSet() const { return m_actionTypeHasBeenSet; } /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline void SetActionType(const ActionType& value) { m_actionTypeHasBeenSet = true; m_actionType = value; } /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline void SetActionType(ActionType&& value) { m_actionTypeHasBeenSet = true; m_actionType = std::move(value); } /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline DescribeNodeConfigurationOptionsRequest& WithActionType(const ActionType& value) { SetActionType(value); return *this;} /** *

The action type to evaluate for possible node configurations. Specify * "restore-cluster" to get configuration combinations based on an existing * snapshot. Specify "recommend-node-config" to get configuration recommendations * based on an existing cluster or snapshot. Specify "resize-cluster" to get * configuration combinations for elastic resize based on an existing cluster.

*/ inline DescribeNodeConfigurationOptionsRequest& WithActionType(ActionType&& value) { SetActionType(std::move(value)); return *this;} /** *

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the cluster to evaluate for possible node * configurations.

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

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline const Aws::String& GetSnapshotIdentifier() const{ return m_snapshotIdentifier; } /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline bool SnapshotIdentifierHasBeenSet() const { return m_snapshotIdentifierHasBeenSet; } /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline void SetSnapshotIdentifier(const Aws::String& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = value; } /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline void SetSnapshotIdentifier(Aws::String&& value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier = std::move(value); } /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline void SetSnapshotIdentifier(const char* value) { m_snapshotIdentifierHasBeenSet = true; m_snapshotIdentifier.assign(value); } /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotIdentifier(const Aws::String& value) { SetSnapshotIdentifier(value); return *this;} /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotIdentifier(Aws::String&& value) { SetSnapshotIdentifier(std::move(value)); return *this;} /** *

The identifier of the snapshot to evaluate for possible node * configurations.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotIdentifier(const char* value) { SetSnapshotIdentifier(value); return *this;} /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline const Aws::String& GetSnapshotArn() const{ return m_snapshotArn; } /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline bool SnapshotArnHasBeenSet() const { return m_snapshotArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline void SetSnapshotArn(const Aws::String& value) { m_snapshotArnHasBeenSet = true; m_snapshotArn = value; } /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline void SetSnapshotArn(Aws::String&& value) { m_snapshotArnHasBeenSet = true; m_snapshotArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline void SetSnapshotArn(const char* value) { m_snapshotArnHasBeenSet = true; m_snapshotArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotArn(const Aws::String& value) { SetSnapshotArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotArn(Aws::String&& value) { SetSnapshotArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the snapshot associated with the message to * describe node configuration.

*/ inline DescribeNodeConfigurationOptionsRequest& WithSnapshotArn(const char* value) { SetSnapshotArn(value); return *this;} /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline const Aws::String& GetOwnerAccount() const{ return m_ownerAccount; } /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline bool OwnerAccountHasBeenSet() const { return m_ownerAccountHasBeenSet; } /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline void SetOwnerAccount(const Aws::String& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = value; } /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline void SetOwnerAccount(Aws::String&& value) { m_ownerAccountHasBeenSet = true; m_ownerAccount = std::move(value); } /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline void SetOwnerAccount(const char* value) { m_ownerAccountHasBeenSet = true; m_ownerAccount.assign(value); } /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline DescribeNodeConfigurationOptionsRequest& WithOwnerAccount(const Aws::String& value) { SetOwnerAccount(value); return *this;} /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline DescribeNodeConfigurationOptionsRequest& WithOwnerAccount(Aws::String&& value) { SetOwnerAccount(std::move(value)); return *this;} /** *

The Amazon Web Services account used to create or copy the snapshot. Required * if you are restoring a snapshot you do not own, optional if you own the * snapshot.

*/ inline DescribeNodeConfigurationOptionsRequest& WithOwnerAccount(const char* value) { SetOwnerAccount(value); return *this;} /** *

A set of name, operator, and value items to filter the results.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

A set of name, operator, and value items to filter the results.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

A set of name, operator, and value items to filter the results.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

A set of name, operator, and value items to filter the results.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

A set of name, operator, and value items to filter the results.

*/ inline DescribeNodeConfigurationOptionsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

A set of name, operator, and value items to filter the results.

*/ inline DescribeNodeConfigurationOptionsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

A set of name, operator, and value items to filter the results.

*/ inline DescribeNodeConfigurationOptionsRequest& AddFilters(const NodeConfigurationOptionsFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

A set of name, operator, and value items to filter the results.

*/ inline DescribeNodeConfigurationOptionsRequest& AddFilters(NodeConfigurationOptionsFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline const Aws::String& GetMarker() const{ return m_marker; } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); } /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline DescribeNodeConfigurationOptionsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;} /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline DescribeNodeConfigurationOptionsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;} /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeNodeConfigurationOptions * request exceed the value specified in MaxRecords, Amazon Web * Services returns a value in the Marker field of the response. You * can retrieve the next set of response records by providing the returned marker * value in the Marker parameter and retrying the request.

*/ inline DescribeNodeConfigurationOptionsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

The maximum number of response records to return in each call. If the number * of remaining response records exceeds the specified MaxRecords * value, a value is returned in a marker field of the response. You * can retrieve the next set of records by retrying the command with the returned * marker value.

Default: 500

Constraints: minimum * 100, maximum 500.

*/ inline int GetMaxRecords() const{ return m_maxRecords; } /** *

The maximum number of response records to return in each call. If the number * of remaining response records exceeds the specified MaxRecords * value, a value is returned in a marker field of the response. You * can retrieve the next set of records by retrying the command with the returned * marker value.

Default: 500

Constraints: minimum * 100, maximum 500.

*/ inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; } /** *

The maximum number of response records to return in each call. If the number * of remaining response records exceeds the specified MaxRecords * value, a value is returned in a marker field of the response. You * can retrieve the next set of records by retrying the command with the returned * marker value.

Default: 500

Constraints: minimum * 100, maximum 500.

*/ inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; } /** *

The maximum number of response records to return in each call. If the number * of remaining response records exceeds the specified MaxRecords * value, a value is returned in a marker field of the response. You * can retrieve the next set of records by retrying the command with the returned * marker value.

Default: 500

Constraints: minimum * 100, maximum 500.

*/ inline DescribeNodeConfigurationOptionsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} private: ActionType m_actionType; bool m_actionTypeHasBeenSet = false; Aws::String m_clusterIdentifier; bool m_clusterIdentifierHasBeenSet = false; Aws::String m_snapshotIdentifier; bool m_snapshotIdentifierHasBeenSet = false; Aws::String m_snapshotArn; bool m_snapshotArnHasBeenSet = false; Aws::String m_ownerAccount; bool m_ownerAccountHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws