modifyDBClusterSnapshotAttribute method
Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.
To share a manual 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 cluster snapshot. Use
the value all
to make the manual cluster snapshot public,
which means that it can be copied or restored by all AWS accounts. 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. If a manual 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.
May throw DBClusterSnapshotNotFoundFault. May throw InvalidDBClusterSnapshotStateFault. May throw SharedSnapshotQuotaExceededFault.
Parameter attributeName
:
The name of the cluster snapshot attribute to modify.
To manage authorization for other AWS accounts to copy or restore a manual
cluster snapshot, set this value to restore
.
Parameter dBClusterSnapshotIdentifier
:
The identifier for the cluster snapshot to modify the attributes for.
Parameter valuesToAdd
:
A list of cluster snapshot attributes to add to the attribute specified by
AttributeName
.
To authorize other AWS accounts to copy or restore a manual cluster
snapshot, set this list to include one or more AWS account IDs. To make
the manual cluster snapshot restorable by any AWS account, set it to
all
. Do not add the all
value for any manual
cluster snapshots that contain private information that you don't want to
be available to all AWS accounts.
Parameter valuesToRemove
:
A list of cluster snapshot attributes to remove from the attribute
specified by AttributeName
.
To remove authorization for other AWS accounts to copy or restore a manual
cluster snapshot, set this list to include one or more AWS account
identifiers. To remove authorization for any AWS account to copy or
restore the cluster snapshot, set it to all
. If you specify
all
, an AWS account whose account ID is explicitly added to
the restore
attribute can still copy or restore a manual
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);
}