describeDBSnapshots method
Returns information about DB snapshots. This API action supports pagination.
May throw DBSnapshotNotFoundFault.
Parameter dBInstanceIdentifier :
The ID of the DB instance to retrieve the list of DB snapshots for. This
parameter isn't case-sensitive.
Constraints:
- If supplied, must match the identifier of an existing DBInstance.
Parameter dBSnapshotIdentifier :
A specific DB snapshot identifier to describe. This value is stored as a
lowercase string.
Constraints:
- If supplied, must match the identifier of an existing DBSnapshot.
-
If this identifier is for an automated snapshot, the
SnapshotTypeparameter must also be specified.
Parameter dbiResourceId :
A specific DB resource ID to describe.
Parameter filters :
A filter that specifies one or more DB snapshots to describe.
Supported filters:
-
db-instance-id- Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). -
db-snapshot-id- Accepts DB snapshot identifiers. -
dbi-resource-id- Accepts identifiers of source DB instances. -
snapshot-type- Accepts types of DB 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 snapshot as public by using the ModifyDBSnapshotAttribute API.
This setting doesn't apply to RDS Custom.
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 snapshot from another Amazon Web Services account by using the
ModifyDBSnapshotAttribute API action.
This setting doesn't apply to RDS Custom.
Parameter marker :
An optional pagination token provided by a previous
DescribeDBSnapshots 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 that you can retrieve the
remaining results.
Default: 100
Constraints: Minimum 20, maximum 100.
Parameter snapshotType :
The type of snapshots to be returned. You can specify one of the following
values:
-
automated- Return all DB snapshots that have been automatically taken by Amazon RDS for my Amazon Web Services account. -
manual- Return all DB snapshots that have been taken by my Amazon Web Services account. -
shared- Return all manual DB snapshots that have been shared to my Amazon Web Services account. -
public- Return all DB snapshots that have been marked as public. -
awsbackup- Return the DB snapshots managed by the Amazon Web Services Backup service.For information about Amazon Web Services Backup, see the Amazon Web Services Backup Developer Guide.
The
awsbackuptype does not apply to Aurora.
SnapshotType value, then both
automated and manual snapshots are returned. Shared and public DB
snapshots are not included in the returned results by default. You can
include shared snapshots with these results by enabling the
IncludeShared parameter. You can include public 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<DBSnapshotMessage> describeDBSnapshots({
String? dBInstanceIdentifier,
String? dBSnapshotIdentifier,
String? dbiResourceId,
List<Filter>? filters,
bool? includePublic,
bool? includeShared,
String? marker,
int? maxRecords,
String? snapshotType,
}) async {
final $request = <String, String>{
if (dBInstanceIdentifier != null)
'DBInstanceIdentifier': dBInstanceIdentifier,
if (dBSnapshotIdentifier != null)
'DBSnapshotIdentifier': dBSnapshotIdentifier,
if (dbiResourceId != null) 'DbiResourceId': dbiResourceId,
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: 'DescribeDBSnapshots',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'DescribeDBSnapshotsResult',
);
return DBSnapshotMessage.fromXml($result);
}