modifyDBClusterSnapshotAttribute method
Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.
To share a manual DB cluster snapshot with other AWS accounts, specify
restore
as the AttributeName
and use the
ValuesToAdd
parameter to add a list of IDs of the AWS
accounts that are authorized to restore the manual DB cluster snapshot.
Use the value all
to make the manual DB cluster snapshot
public, which means that it can be copied or restored by all AWS accounts.
If a manual DB cluster snapshot is encrypted, it can be shared, but only
by specifying a list of authorized AWS account IDs for the
ValuesToAdd
parameter. You can't use all
as a
value for that parameter in this case.
To view which AWS accounts have access to copy or restore a manual DB
cluster snapshot, or whether a manual DB cluster snapshot is public or
private, use the DescribeDBClusterSnapshotAttributes API action.
The accounts are returned as values for the restore
attribute.
May throw DBClusterSnapshotNotFoundFault. May throw InvalidDBClusterSnapshotStateFault. May throw SharedSnapshotQuotaExceededFault.
Parameter attributeName
:
The name of the DB cluster snapshot attribute to modify.
To manage authorization for other AWS accounts to copy or restore a manual
DB cluster snapshot, set this value to restore
.
Parameter dBClusterSnapshotIdentifier
:
The identifier for the DB cluster snapshot to modify the attributes for.
Parameter valuesToAdd
:
A list of DB cluster snapshot attributes to add to the attribute specified
by AttributeName
.
To authorize other AWS accounts to copy or restore a manual DB cluster
snapshot, set this list to include one or more AWS account IDs, or
all
to make the manual DB cluster snapshot restorable by any
AWS account. Do not add the all
value for any manual DB
cluster snapshots that contain private information that you don't want
available to all AWS accounts.
Parameter valuesToRemove
:
A list of DB cluster snapshot attributes to remove from the attribute
specified by AttributeName
.
To remove authorization for other AWS accounts to copy or restore a manual
DB cluster snapshot, set this list to include one or more AWS account
identifiers, or all
to remove authorization for any AWS
account to copy or restore the DB cluster snapshot. If you specify
all
, an AWS account whose account ID is explicitly added to
the restore
attribute can still copy or restore a manual DB
cluster snapshot.
Implementation
Future<ModifyDBClusterSnapshotAttributeResult>
modifyDBClusterSnapshotAttribute({
required String attributeName,
required String dBClusterSnapshotIdentifier,
List<String>? valuesToAdd,
List<String>? valuesToRemove,
}) async {
ArgumentError.checkNotNull(attributeName, 'attributeName');
ArgumentError.checkNotNull(
dBClusterSnapshotIdentifier, 'dBClusterSnapshotIdentifier');
final $request = <String, dynamic>{};
$request['AttributeName'] = attributeName;
$request['DBClusterSnapshotIdentifier'] = dBClusterSnapshotIdentifier;
valuesToAdd?.also((arg) => $request['ValuesToAdd'] = arg);
valuesToRemove?.also((arg) => $request['ValuesToRemove'] = arg);
final $result = await _protocol.send(
$request,
action: 'ModifyDBClusterSnapshotAttribute',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
shape: shapes['ModifyDBClusterSnapshotAttributeMessage'],
shapes: shapes,
resultWrapper: 'ModifyDBClusterSnapshotAttributeResult',
);
return ModifyDBClusterSnapshotAttributeResult.fromXml($result);
}