describeDBSnapshotTenantDatabases method

Future<DBSnapshotTenantDatabasesMessage> describeDBSnapshotTenantDatabases({
  1. String? dBInstanceIdentifier,
  2. String? dBSnapshotIdentifier,
  3. String? dbiResourceId,
  4. List<Filter>? filters,
  5. String? marker,
  6. int? maxRecords,
  7. String? snapshotType,
})

Describes the tenant databases that exist in a DB snapshot. This command only applies to RDS for Oracle DB instances in the multi-tenant configuration.

You can use this command to inspect the tenant databases within a snapshot before restoring it. You can't directly interact with the tenant databases in a DB snapshot. If you restore a snapshot that was taken from DB instance using the multi-tenant configuration, you restore all its tenant databases.

May throw DBSnapshotNotFoundFault.

Parameter dBInstanceIdentifier : The ID of the DB instance used to create the DB snapshots. This parameter isn't case-sensitive.

Constraints:

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

Parameter dBSnapshotIdentifier : The ID of a DB snapshot that contains the tenant databases to describe. This value is stored as a lowercase string.

Constraints:

  • If you specify this parameter, the value must match the ID of an existing DB snapshot.
  • If you specify an automatic snapshot, you must also specify SnapshotType.

Parameter dbiResourceId : A specific DB resource identifier to describe.

Parameter filters : A filter that specifies one or more tenant databases to describe.

Supported filters:

  • tenant-db-name - Tenant database names. The results list only includes information about the tenant databases that match these tenant DB names.
  • tenant-database-resource-id - Tenant database resource identifiers. The results list only includes information about the tenant databases contained within the DB snapshots.
  • dbi-resource-id - DB instance resource identifiers. The results list only includes information about snapshots containing tenant databases contained within the DB instances identified by these resource identifiers.
  • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs).
  • db-snapshot-id - Accepts DB snapshot identifiers.
  • snapshot-type - Accepts types of DB snapshots.

Parameter marker : An optional pagination token provided by a previous DescribeDBSnapshotTenantDatabases 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.

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

  • automated – All DB snapshots that have been automatically taken by Amazon RDS for my Amazon Web Services account.
  • manual – All DB snapshots that have been taken by my Amazon Web Services account.
  • shared – All manual DB snapshots that have been shared to my Amazon Web Services account.
  • public – All DB snapshots that have been marked as public.
  • awsbackup – All DB snapshots managed by the Amazon Web Services Backup service.

Implementation

Future<DBSnapshotTenantDatabasesMessage> describeDBSnapshotTenantDatabases({
  String? dBInstanceIdentifier,
  String? dBSnapshotIdentifier,
  String? dbiResourceId,
  List<Filter>? filters,
  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 (marker != null) 'Marker': marker,
    if (maxRecords != null) 'MaxRecords': maxRecords.toString(),
    if (snapshotType != null) 'SnapshotType': snapshotType,
  };
  final $result = await _protocol.send(
    $request,
    action: 'DescribeDBSnapshotTenantDatabases',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'DescribeDBSnapshotTenantDatabasesResult',
  );
  return DBSnapshotTenantDatabasesMessage.fromXml($result);
}