describeDBClusterSnapshots method

Future<DBClusterSnapshotMessage> describeDBClusterSnapshots({
  1. String? dBClusterIdentifier,
  2. String? dBClusterSnapshotIdentifier,
  3. List<Filter>? filters,
  4. bool? includePublic,
  5. bool? includeShared,
  6. String? marker,
  7. int? maxRecords,
  8. String? snapshotType,
})

Returns information about cluster snapshots. This API operation supports pagination.

May throw DBClusterSnapshotNotFoundFault.

Parameter 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.

Parameter 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.

Parameter filters : This parameter is not currently supported.

Parameter 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.

Parameter 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.

Parameter 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.

Parameter 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.

Parameter 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.

Implementation

Future<DBClusterSnapshotMessage> describeDBClusterSnapshots({
  String? dBClusterIdentifier,
  String? dBClusterSnapshotIdentifier,
  List<Filter>? filters,
  bool? includePublic,
  bool? includeShared,
  String? marker,
  int? maxRecords,
  String? snapshotType,
}) async {
  final $request = <String, dynamic>{};
  dBClusterIdentifier?.also((arg) => $request['DBClusterIdentifier'] = arg);
  dBClusterSnapshotIdentifier
      ?.also((arg) => $request['DBClusterSnapshotIdentifier'] = arg);
  filters?.also((arg) => $request['Filters'] = arg);
  includePublic?.also((arg) => $request['IncludePublic'] = arg);
  includeShared?.also((arg) => $request['IncludeShared'] = arg);
  marker?.also((arg) => $request['Marker'] = arg);
  maxRecords?.also((arg) => $request['MaxRecords'] = arg);
  snapshotType?.also((arg) => $request['SnapshotType'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'DescribeDBClusterSnapshots',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['DescribeDBClusterSnapshotsMessage'],
    shapes: shapes,
    resultWrapper: 'DescribeDBClusterSnapshotsResult',
  );
  return DBClusterSnapshotMessage.fromXml($result);
}