describeDBClusterSnapshots method
Returns information about DB cluster snapshots. This API action supports pagination.
For more information on Amazon Aurora DB clusters, see What is Amazon Aurora? in the Amazon Aurora User Guide.
For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS 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
SnapshotTypeparameter must also be specified.
Parameter dbClusterResourceId :
A specific DB cluster resource ID to describe.
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 :
Specifies whether to include manual DB cluster snapshots that are public
and can be copied or restored by any Amazon Web Services 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 :
Specifies whether to include shared manual DB cluster snapshots from other
Amazon Web Services accounts that this Amazon Web Services account has
been given permission to copy or restore. By default, these snapshots are
not included.
You can give an Amazon Web Services account permission to restore a manual
DB cluster snapshot from another Amazon Web Services 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 Amazon Web Services account. -
manual- Return all DB cluster snapshots that have been taken by my Amazon Web Services account. -
shared- Return all manual DB cluster snapshots that have been shared to my Amazon Web Services account. -
public- Return all DB cluster snapshots that have been marked as public.
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,
String? dbClusterResourceId,
List<Filter>? filters,
bool? includePublic,
bool? includeShared,
String? marker,
int? maxRecords,
String? snapshotType,
}) async {
final $request = <String, String>{
if (dBClusterIdentifier != null)
'DBClusterIdentifier': dBClusterIdentifier,
if (dBClusterSnapshotIdentifier != null)
'DBClusterSnapshotIdentifier': dBClusterSnapshotIdentifier,
if (dbClusterResourceId != null)
'DbClusterResourceId': dbClusterResourceId,
if (filters != null)
if (filters.isEmpty)
'Filters': ''
else
for (var i1 = 0; i1 < filters.length; i1++)
for (var e3 in filters[i1].toQueryMap().entries)
'Filters.Filter.${i1 + 1}.${e3.key}': e3.value,
if (includePublic != null) 'IncludePublic': includePublic.toString(),
if (includeShared != null) 'IncludeShared': includeShared.toString(),
if (marker != null) 'Marker': marker,
if (maxRecords != null) 'MaxRecords': maxRecords.toString(),
if (snapshotType != null) 'SnapshotType': snapshotType,
};
final $result = await _protocol.send(
$request,
action: 'DescribeDBClusterSnapshots',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'DescribeDBClusterSnapshotsResult',
);
return DBClusterSnapshotMessage.fromXml($result);
}