/** * 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 { /** *

See Also:

AWS * API Reference

*/ class DescribeClusterSnapshotsRequest : public RedshiftRequest { public: AWS_REDSHIFT_API DescribeClusterSnapshotsRequest(); // 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 "DescribeClusterSnapshots"; } 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 which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The identifier of the cluster which generated the requested snapshots.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

The snapshot identifier of the snapshot about which to return * information.

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

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

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

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

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

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

*/ 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 cluster snapshots.

*/ 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 cluster snapshots.

*/ 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 cluster snapshots.

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

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

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

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

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

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline const Aws::String& GetSnapshotType() const{ return m_snapshotType; } /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline bool SnapshotTypeHasBeenSet() const { return m_snapshotTypeHasBeenSet; } /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline void SetSnapshotType(const Aws::String& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = value; } /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline void SetSnapshotType(Aws::String&& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = std::move(value); } /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline void SetSnapshotType(const char* value) { m_snapshotTypeHasBeenSet = true; m_snapshotType.assign(value); } /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline DescribeClusterSnapshotsRequest& WithSnapshotType(const Aws::String& value) { SetSnapshotType(value); return *this;} /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline DescribeClusterSnapshotsRequest& WithSnapshotType(Aws::String&& value) { SetSnapshotType(std::move(value)); return *this;} /** *

The type of snapshots for which you are requesting information. By default, * snapshots of all types are returned.

Valid Values: automated * | manual

*/ inline DescribeClusterSnapshotsRequest& WithSnapshotType(const char* value) { SetSnapshotType(value); return *this;} /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; } /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; } /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; } /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); } /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline DescribeClusterSnapshotsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;} /** *

A value that requests only snapshots created at or after the specified time. * The time value is specified in ISO 8601 format. For more information about ISO * 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline DescribeClusterSnapshotsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;} /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; } /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; } /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; } /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); } /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline DescribeClusterSnapshotsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;} /** *

A time value that requests only snapshots created at or before the specified * time. The time value is specified in ISO 8601 format. For more information about * ISO 8601, go to the ISO8601 * Wikipedia page.

Example: 2012-07-16T18:00:00Z

*/ inline DescribeClusterSnapshotsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(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 DescribeClusterSnapshotsRequest& 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 DescribeClusterSnapshots 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 DescribeClusterSnapshots 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 DescribeClusterSnapshots 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 DescribeClusterSnapshots 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 DescribeClusterSnapshots 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 DescribeClusterSnapshots 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 DescribeClusterSnapshotsRequest& 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 DescribeClusterSnapshots 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 DescribeClusterSnapshotsRequest& 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 DescribeClusterSnapshots 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 DescribeClusterSnapshotsRequest& WithMarker(const char* value) { SetMarker(value); return *this;} /** *

The Amazon Web Services account used to create or copy the snapshot. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

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

The Amazon Web Services account used to create or copy the snapshot. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

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

The Amazon Web Services account used to create or copy the snapshot. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

*/ 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. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

*/ 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. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

*/ 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. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

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

The Amazon Web Services account used to create or copy the snapshot. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

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

The Amazon Web Services account used to create or copy the snapshot. Use this * field to filter the results to snapshots owned by a particular account. To * describe snapshots you own, either specify your Amazon Web Services account, or * do not specify the parameter.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline DescribeClusterSnapshotsRequest& AddTagValues(const char* value) { m_tagValuesHasBeenSet = true; m_tagValues.push_back(value); return *this; } /** *

A value that indicates whether to return snapshots only for an existing * cluster. You can perform table-level restore only by using a snapshot of an * existing cluster, that is, a cluster that has not been deleted. Values for this * parameter work as follows:

  • If ClusterExists is * set to true, ClusterIdentifier is required.

  • *
  • If ClusterExists is set to false and * ClusterIdentifier isn't specified, all snapshots associated with * deleted clusters (orphaned snapshots) are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for a deleted cluster, snapshots * associated with that cluster are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for an existing cluster, no * snapshots are returned.

*/ inline bool GetClusterExists() const{ return m_clusterExists; } /** *

A value that indicates whether to return snapshots only for an existing * cluster. You can perform table-level restore only by using a snapshot of an * existing cluster, that is, a cluster that has not been deleted. Values for this * parameter work as follows:

  • If ClusterExists is * set to true, ClusterIdentifier is required.

  • *
  • If ClusterExists is set to false and * ClusterIdentifier isn't specified, all snapshots associated with * deleted clusters (orphaned snapshots) are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for a deleted cluster, snapshots * associated with that cluster are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for an existing cluster, no * snapshots are returned.

*/ inline bool ClusterExistsHasBeenSet() const { return m_clusterExistsHasBeenSet; } /** *

A value that indicates whether to return snapshots only for an existing * cluster. You can perform table-level restore only by using a snapshot of an * existing cluster, that is, a cluster that has not been deleted. Values for this * parameter work as follows:

  • If ClusterExists is * set to true, ClusterIdentifier is required.

  • *
  • If ClusterExists is set to false and * ClusterIdentifier isn't specified, all snapshots associated with * deleted clusters (orphaned snapshots) are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for a deleted cluster, snapshots * associated with that cluster are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for an existing cluster, no * snapshots are returned.

*/ inline void SetClusterExists(bool value) { m_clusterExistsHasBeenSet = true; m_clusterExists = value; } /** *

A value that indicates whether to return snapshots only for an existing * cluster. You can perform table-level restore only by using a snapshot of an * existing cluster, that is, a cluster that has not been deleted. Values for this * parameter work as follows:

  • If ClusterExists is * set to true, ClusterIdentifier is required.

  • *
  • If ClusterExists is set to false and * ClusterIdentifier isn't specified, all snapshots associated with * deleted clusters (orphaned snapshots) are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for a deleted cluster, snapshots * associated with that cluster are returned.

  • If * ClusterExists is set to false and * ClusterIdentifier is specified for an existing cluster, no * snapshots are returned.

*/ inline DescribeClusterSnapshotsRequest& WithClusterExists(bool value) { SetClusterExists(value); return *this;} /** *

*/ inline const Aws::Vector& GetSortingEntities() const{ return m_sortingEntities; } /** *

*/ inline bool SortingEntitiesHasBeenSet() const { return m_sortingEntitiesHasBeenSet; } /** *

*/ inline void SetSortingEntities(const Aws::Vector& value) { m_sortingEntitiesHasBeenSet = true; m_sortingEntities = value; } /** *

*/ inline void SetSortingEntities(Aws::Vector&& value) { m_sortingEntitiesHasBeenSet = true; m_sortingEntities = std::move(value); } /** *

*/ inline DescribeClusterSnapshotsRequest& WithSortingEntities(const Aws::Vector& value) { SetSortingEntities(value); return *this;} /** *

*/ inline DescribeClusterSnapshotsRequest& WithSortingEntities(Aws::Vector&& value) { SetSortingEntities(std::move(value)); return *this;} /** *

*/ inline DescribeClusterSnapshotsRequest& AddSortingEntities(const SnapshotSortingEntity& value) { m_sortingEntitiesHasBeenSet = true; m_sortingEntities.push_back(value); return *this; } /** *

*/ inline DescribeClusterSnapshotsRequest& AddSortingEntities(SnapshotSortingEntity&& value) { m_sortingEntitiesHasBeenSet = true; m_sortingEntities.push_back(std::move(value)); return *this; } private: 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_snapshotType; bool m_snapshotTypeHasBeenSet = false; Aws::Utils::DateTime m_startTime; bool m_startTimeHasBeenSet = false; Aws::Utils::DateTime m_endTime; bool m_endTimeHasBeenSet = false; int m_maxRecords; bool m_maxRecordsHasBeenSet = false; Aws::String m_marker; bool m_markerHasBeenSet = false; Aws::String m_ownerAccount; bool m_ownerAccountHasBeenSet = false; Aws::Vector m_tagKeys; bool m_tagKeysHasBeenSet = false; Aws::Vector m_tagValues; bool m_tagValuesHasBeenSet = false; bool m_clusterExists; bool m_clusterExistsHasBeenSet = false; Aws::Vector m_sortingEntities; bool m_sortingEntitiesHasBeenSet = false; }; } // namespace Model } // namespace Redshift } // namespace Aws