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

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline const Aws::String& GetClusterSecurityGroupName() const{ return m_clusterSecurityGroupName; } /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline bool ClusterSecurityGroupNameHasBeenSet() const { return m_clusterSecurityGroupNameHasBeenSet; } /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline void SetClusterSecurityGroupName(const Aws::String& value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName = value; } /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline void SetClusterSecurityGroupName(Aws::String&& value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName = std::move(value); } /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline void SetClusterSecurityGroupName(const char* value) { m_clusterSecurityGroupNameHasBeenSet = true; m_clusterSecurityGroupName.assign(value); } /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline DescribeClusterSecurityGroupsRequest& WithClusterSecurityGroupName(const Aws::String& value) { SetClusterSecurityGroupName(value); return *this;} /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline DescribeClusterSecurityGroupsRequest& WithClusterSecurityGroupName(Aws::String&& value) { SetClusterSecurityGroupName(std::move(value)); return *this;} /** *

The name of a cluster security group for which you are requesting details. * You must specify either the Marker parameter or a * ClusterSecurityGroupName parameter, but not both.

Example: * securitygroup1

*/ inline DescribeClusterSecurityGroupsRequest& WithClusterSecurityGroupName(const char* value) { SetClusterSecurityGroupName(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 DescribeClusterSecurityGroupsRequest& 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ inline DescribeClusterSecurityGroupsRequest& 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

*/ inline DescribeClusterSecurityGroupsRequest& 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 DescribeClusterSecurityGroups * 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.

*

Constraints: You must specify either the ClusterSecurityGroupName * parameter or the Marker parameter, but not both.

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

A tag key or keys for which you want to return all matching cluster security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * groups that have either or both of these tag keys associated with them.

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

A tag key or keys for which you want to return all matching cluster security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * groups that have either or both of these tag keys associated with them.

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

A tag key or keys for which you want to return all matching cluster security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * groups that have either or both of these tag keys associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * groups that have either or both of these tag keys associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& 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 security * groups that are associated with the specified key or keys. For example, suppose * that you have security 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 security * groups that have either or both of these tag keys associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * groups that have either or both of these tag values associated with them.

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

A tag value or values for which you want to return all matching cluster * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * groups that have either or both of these tag values associated with them.

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

A tag value or values for which you want to return all matching cluster * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * groups that have either or both of these tag values associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * groups that have either or both of these tag values associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& 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 * security groups that are associated with the specified tag value or values. For * example, suppose that you have security 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 security * groups that have either or both of these tag values associated with them.

*/ inline DescribeClusterSecurityGroupsRequest& AddTagValues(const char* value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } private: Aws::String m_clusterSecurityGroupName; bool m_clusterSecurityGroupNameHasBeenSet = 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