modifyDBClusterSnapshotAttribute method
Adds an attribute and values to, or removes an attribute and values from, a manual cluster snapshot.
To share a manual cluster snapshot with other Amazon Web Services
accounts, specify restore as the AttributeName,
and use the ValuesToAdd parameter to add a list of IDs of the
Amazon Web Services 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 Amazon Web Services accounts. Do not add the all value
for any manual cluster snapshots that contain private information that you
don't want available to all Amazon Web Services accounts. If a manual
cluster snapshot is encrypted, it can be shared, but only by specifying a
list of authorized Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services accounts to copy or restore a
manual cluster snapshot, set this list to include one or more Amazon Web
Services account IDs. To make the manual cluster snapshot restorable by
any Amazon Web Services 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 Amazon Web
Services accounts.
Parameter valuesToRemove :
A list of cluster snapshot attributes to remove from the attribute
specified by AttributeName.
To remove authorization for other Amazon Web Services accounts to copy or
restore a manual cluster snapshot, set this list to include one or more
Amazon Web Services account identifiers. To remove authorization for any
Amazon Web Services account to copy or restore the cluster snapshot, set
it to all . If you specify all, an Amazon Web
Services 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 {
final $request = <String, String>{
'AttributeName': attributeName,
'DBClusterSnapshotIdentifier': dBClusterSnapshotIdentifier,
if (valuesToAdd != null)
if (valuesToAdd.isEmpty)
'ValuesToAdd': ''
else
for (var i1 = 0; i1 < valuesToAdd.length; i1++)
'ValuesToAdd.AttributeValue.${i1 + 1}': valuesToAdd[i1],
if (valuesToRemove != null)
if (valuesToRemove.isEmpty)
'ValuesToRemove': ''
else
for (var i1 = 0; i1 < valuesToRemove.length; i1++)
'ValuesToRemove.AttributeValue.${i1 + 1}': valuesToRemove[i1],
};
final $result = await _protocol.send(
$request,
action: 'ModifyDBClusterSnapshotAttribute',
version: '2014-10-31',
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
resultWrapper: 'ModifyDBClusterSnapshotAttributeResult',
);
return ModifyDBClusterSnapshotAttributeResult.fromXml($result);
}