disassociateResourceSharePermission method

Future<DisassociateResourceSharePermissionResponse> disassociateResourceSharePermission({
  1. required String permissionArn,
  2. required String resourceShareArn,
  3. String? clientToken,
})

Removes a managed permission from a resource share. Permission changes take effect immediately. You can remove a managed permission from a resource share only if there are currently no resources of the relevant resource type currently attached to the resource share.

May throw InvalidClientTokenException. May throw InvalidParameterException. May throw InvalidStateTransitionException. May throw MalformedArnException. May throw OperationNotPermittedException. May throw ServerInternalException. May throw ServiceUnavailableException. May throw UnknownResourceException.

Parameter permissionArn : The Amazon Resource Name (ARN) of the managed permission to disassociate from the resource share. Changes to permissions take effect immediately.

Parameter resourceShareArn : The Amazon Resource Name (ARN) of the resource share that you want to remove the managed permission from.

Parameter clientToken : Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a UUID type of value..

If you don't provide this value, then Amazon Web Services generates a random one for you.

If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotentParameterMismatch error.

Implementation

Future<DisassociateResourceSharePermissionResponse>
    disassociateResourceSharePermission({
  required String permissionArn,
  required String resourceShareArn,
  String? clientToken,
}) async {
  final $payload = <String, dynamic>{
    'permissionArn': permissionArn,
    'resourceShareArn': resourceShareArn,
    if (clientToken != null) 'clientToken': clientToken,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/disassociateresourcesharepermission',
    exceptionFnMap: _exceptionFns,
  );
  return DisassociateResourceSharePermissionResponse.fromJson(response);
}