updateConnectionAliasPermission method

Future<void> updateConnectionAliasPermission({
  1. required String aliasId,
  2. required ConnectionAliasPermission connectionAliasPermission,
})

Shares or unshares a connection alias with one account by specifying whether that account has permission to associate the connection alias with a directory. If the association permission is granted, the connection alias is shared with that account. If the association permission is revoked, the connection alias is unshared with the account. For more information, see Cross-Region Redirection for Amazon WorkSpaces.

  • Before performing this operation, call DescribeConnectionAliases to make sure that the current state of the connection alias is CREATED.
  • To delete a connection alias that has been shared, the shared account must first disassociate the connection alias from any directories it has been associated with. Then you must unshare the connection alias from the account it has been shared with. You can delete a connection alias only after it is no longer shared with any accounts or associated with any directories.

May throw AccessDeniedException. May throw InvalidParameterValuesException. May throw ResourceLimitExceededException. May throw ResourceNotFoundException. May throw ResourceAssociatedException. May throw InvalidResourceStateException. May throw OperationNotSupportedException.

Parameter aliasId : The identifier of the connection alias that you want to update permissions for.

Parameter connectionAliasPermission : Indicates whether to share or unshare the connection alias with the specified AWS account.

Implementation

Future<void> updateConnectionAliasPermission({
  required String aliasId,
  required ConnectionAliasPermission connectionAliasPermission,
}) async {
  ArgumentError.checkNotNull(aliasId, 'aliasId');
  _s.validateStringLength(
    'aliasId',
    aliasId,
    13,
    68,
    isRequired: true,
  );
  ArgumentError.checkNotNull(
      connectionAliasPermission, 'connectionAliasPermission');
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'WorkspacesService.UpdateConnectionAliasPermission'
  };
  await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'AliasId': aliasId,
      'ConnectionAliasPermission': connectionAliasPermission,
    },
  );
}