/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace DocDB { namespace Model { /** *

Represents the input to DescribeDBClusterSnapshots.

See * Also:

AWS * API Reference

*/ class AWS_DOCDB_API DescribeDBClusterSnapshotsRequest : public DocDBRequest { public: DescribeDBClusterSnapshotsRequest(); // 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 "DescribeDBClusterSnapshots"; } Aws::String SerializePayload() const override; protected: void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; } /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; } /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; } /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); } /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); } /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;} /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;} /** *

The ID of the cluster to retrieve the list of cluster snapshots for. This * parameter can't be used with the DBClusterSnapshotIdentifier * parameter. This parameter is not case sensitive.

Constraints:

    *
  • If provided, must match the identifier of an existing * DBCluster.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;} /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline const Aws::String& GetDBClusterSnapshotIdentifier() const{ return m_dBClusterSnapshotIdentifier; } /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline bool DBClusterSnapshotIdentifierHasBeenSet() const { return m_dBClusterSnapshotIdentifierHasBeenSet; } /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline void SetDBClusterSnapshotIdentifier(const Aws::String& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = value; } /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline void SetDBClusterSnapshotIdentifier(Aws::String&& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = std::move(value); } /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline void SetDBClusterSnapshotIdentifier(const char* value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier.assign(value); } /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(const Aws::String& value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(Aws::String&& value) { SetDBClusterSnapshotIdentifier(std::move(value)); return *this;} /** *

A specific cluster snapshot identifier to describe. This parameter can't be * used with the DBClusterIdentifier parameter. This value is stored * as a lowercase string.

Constraints:

  • If provided, must * match the identifier of an existing DBClusterSnapshot.

  • *
  • If this identifier is for an automated snapshot, the * SnapshotType parameter must also be specified.

*/ inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(const char* value) { SetDBClusterSnapshotIdentifier(value); return *this;} /** *

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

The type of cluster snapshots to be returned. You can specify one of the * following values:

  • automated - Return all cluster * snapshots that Amazon DocumentDB has automatically created for your AWS * account.

  • manual - Return all cluster snapshots * that you have manually created for your AWS account.

  • * shared - Return all manual cluster snapshots that have been shared * to your AWS account.

  • public - Return all cluster * snapshots that have been marked as public.

If you don't * specify a SnapshotType value, then both automated and manual * cluster snapshots are returned. You can include shared cluster snapshots with * these results by setting the IncludeShared parameter to * true. You can include public cluster snapshots with these results * by setting the IncludePublic parameter to true.

*

The IncludeShared and IncludePublic parameters * don't apply for SnapshotType values of manual or * automated. The IncludePublic parameter doesn't apply * when SnapshotType is set to shared. The * IncludeShared parameter doesn't apply when * SnapshotType is set to public.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

This parameter is not currently supported.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * (marker) is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * (marker) is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * (marker) is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

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

The maximum number of records to include in the response. If more records * exist than the specified MaxRecords value, a pagination token * (marker) is included in the response so that the remaining results can be * retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

An optional pagination token provided by a previous request. If this * parameter is specified, the response includes only records beyond the marker, up * to the value specified by MaxRecords.

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

Set to true to include shared manual cluster snapshots from * other AWS accounts that this AWS account has been given permission to copy or * restore, and otherwise false. The default is * false.

*/ inline bool GetIncludeShared() const{ return m_includeShared; } /** *

Set to true to include shared manual cluster snapshots from * other AWS accounts that this AWS account has been given permission to copy or * restore, and otherwise false. The default is * false.

*/ inline bool IncludeSharedHasBeenSet() const { return m_includeSharedHasBeenSet; } /** *

Set to true to include shared manual cluster snapshots from * other AWS accounts that this AWS account has been given permission to copy or * restore, and otherwise false. The default is * false.

*/ inline void SetIncludeShared(bool value) { m_includeSharedHasBeenSet = true; m_includeShared = value; } /** *

Set to true to include shared manual cluster snapshots from * other AWS accounts that this AWS account has been given permission to copy or * restore, and otherwise false. The default is * false.

*/ inline DescribeDBClusterSnapshotsRequest& WithIncludeShared(bool value) { SetIncludeShared(value); return *this;} /** *

Set to true to include manual cluster snapshots that are public * and can be copied or restored by any AWS account, and otherwise * false. The default is false.

*/ inline bool GetIncludePublic() const{ return m_includePublic; } /** *

Set to true to include manual cluster snapshots that are public * and can be copied or restored by any AWS account, and otherwise * false. The default is false.

*/ inline bool IncludePublicHasBeenSet() const { return m_includePublicHasBeenSet; } /** *

Set to true to include manual cluster snapshots that are public * and can be copied or restored by any AWS account, and otherwise * false. The default is false.

*/ inline void SetIncludePublic(bool value) { m_includePublicHasBeenSet = true; m_includePublic = value; } /** *

Set to true to include manual cluster snapshots that are public * and can be copied or restored by any AWS account, and otherwise * false. The default is false.

*/ inline DescribeDBClusterSnapshotsRequest& WithIncludePublic(bool value) { SetIncludePublic(value); return *this;} private: Aws::String m_dBClusterIdentifier; bool m_dBClusterIdentifierHasBeenSet; Aws::String m_dBClusterSnapshotIdentifier; bool m_dBClusterSnapshotIdentifierHasBeenSet; Aws::String m_snapshotType; bool m_snapshotTypeHasBeenSet; Aws::Vector m_filters; bool m_filtersHasBeenSet; int m_maxRecords; bool m_maxRecordsHasBeenSet; Aws::String m_marker; bool m_markerHasBeenSet; bool m_includeShared; bool m_includeSharedHasBeenSet; bool m_includePublic; bool m_includePublicHasBeenSet; }; } // namespace Model } // namespace DocDB } // namespace Aws