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 DB cluster snapshots. This API action supports pagination.

For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

May throw DBClusterSnapshotNotFoundFault.

Parameter dBClusterIdentifier : The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter isn't case-sensitive.

Constraints:

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

Parameter dBClusterSnapshotIdentifier : A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, 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 : A filter that specifies one or more DB cluster snapshots to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs).
  • db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
  • snapshot-type - Accepts types of DB cluster snapshots.
  • engine - Accepts names of database engines.

Parameter includePublic : A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

Parameter includeShared : A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

Parameter marker : An optional pagination token provided by a previous DescribeDBClusterSnapshots 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 called a marker is included in the response so you can retrieve the remaining results.

Default: 100

Constraints: Minimum 20, maximum 100.

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

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.
  • manual - Return all DB cluster snapshots that have been taken by my AWS account.
  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.
  • public - Return all DB cluster snapshots that have been marked as public.
If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter.

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);
}