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

See Also:

AWS * API Reference

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

The name of the cluster subnet group for which information is requested.

*/ inline const Aws::String& GetClusterSubnetGroupName() const{ return m_clusterSubnetGroupName; } /** *

The name of the cluster subnet group for which information is requested.

*/ inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; } /** *

The name of the cluster subnet group for which information is requested.

*/ inline void SetClusterSubnetGroupName(const Aws::String& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = value; } /** *

The name of the cluster subnet group for which information is requested.

*/ inline void SetClusterSubnetGroupName(Aws::String&& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = std::move(value); } /** *

The name of the cluster subnet group for which information is requested.

*/ inline void SetClusterSubnetGroupName(const char* value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName.assign(value); } /** *

The name of the cluster subnet group for which information is requested.

*/ inline DescribeClusterSubnetGroupsRequest& WithClusterSubnetGroupName(const Aws::String& value) { SetClusterSubnetGroupName(value); return *this;} /** *

The name of the cluster subnet group for which information is requested.

*/ inline DescribeClusterSubnetGroupsRequest& WithClusterSubnetGroupName(Aws::String&& value) { SetClusterSubnetGroupName(std::move(value)); return *this;} /** *

The name of the cluster subnet group for which information is requested.

*/ inline DescribeClusterSubnetGroupsRequest& WithClusterSubnetGroupName(const char* value) { SetClusterSubnetGroupName(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: 100

Constraints: minimum 20, * maximum 100.

*/ 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: 100

Constraints: minimum 20, * maximum 100.

*/ 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: 100

Constraints: minimum 20, * maximum 100.

*/ 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: 100

Constraints: minimum 20, * maximum 100.

*/ inline DescribeClusterSubnetGroupsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;} /** *

An optional parameter that specifies the starting point to return a set of * response records. When the results of a DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroupsRequest& 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroupsRequest& 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 DescribeClusterSubnetGroups * 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 DescribeClusterSubnetGroupsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline const Aws::Vector& GetTagKeys() const{ return m_tagKeys; } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline bool TagKeysHasBeenSet() const { return m_tagKeysHasBeenSet; } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline void SetTagKeys(const Aws::Vector& value) { m_tagKeysHasBeenSet = true; m_tagKeys = value; } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline void SetTagKeys(Aws::Vector&& value) { m_tagKeysHasBeenSet = true; m_tagKeys = std::move(value); } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& WithTagKeys(const Aws::Vector& value) { SetTagKeys(value); return *this;} /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& WithTagKeys(Aws::Vector&& value) { SetTagKeys(std::move(value)); return *this;} /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagKeys(const Aws::String& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagKeys(Aws::String&& value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(std::move(value)); return *this; } /** *

A tag key or keys for which you want to return all matching cluster subnet * groups that are associated with the specified key or keys. For example, suppose * that you have subnet groups that are tagged with keys called owner * and environment. If you specify both of these tag keys in the * request, Amazon Redshift returns a response with the subnet groups that have * either or both of these tag keys associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagKeys(const char* value) { m_tagKeysHasBeenSet = true; m_tagKeys.push_back(value); return *this; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline const Aws::Vector& GetTagValues() const{ return m_tagValues; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline bool TagValuesHasBeenSet() const { return m_tagValuesHasBeenSet; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline void SetTagValues(const Aws::Vector& value) { m_tagValuesHasBeenSet = true; m_tagValues = value; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline void SetTagValues(Aws::Vector&& value) { m_tagValuesHasBeenSet = true; m_tagValues = std::move(value); } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& WithTagValues(const Aws::Vector& value) { SetTagValues(value); return *this;} /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& WithTagValues(Aws::Vector&& value) { SetTagValues(std::move(value)); return *this;} /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagValues(const Aws::String& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagValues(Aws::String&& value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(std::move(value)); return *this; } /** *

A tag value or values for which you want to return all matching cluster * subnet groups that are associated with the specified tag value or values. For * example, suppose that you have subnet groups that are tagged with values called * admin and test. If you specify both of these tag * values in the request, Amazon Redshift returns a response with the subnet groups * that have either or both of these tag values associated with them.

*/ inline DescribeClusterSubnetGroupsRequest& AddTagValues(const char* value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } private: Aws::String m_clusterSubnetGroupName; bool m_clusterSubnetGroupNameHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; Aws::Vector m_tagKeys; bool m_tagKeysHasBeenSet = false; Aws::Vector m_tagValues; bool m_tagValuesHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws