deleteVirtualGateway method

Future<DeleteVirtualGatewayOutput> deleteVirtualGateway({
  1. required String meshName,
  2. required String virtualGatewayName,
  3. String? meshOwner,
})

Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it.

May throw NotFoundException. May throw BadRequestException. May throw TooManyRequestsException. May throw ForbiddenException. May throw ResourceInUseException. May throw ServiceUnavailableException. May throw InternalServerErrorException.

Parameter meshName : The name of the service mesh to delete the virtual gateway from.

Parameter virtualGatewayName : The name of the virtual gateway to delete.

Parameter meshOwner : The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.

Implementation

Future<DeleteVirtualGatewayOutput> deleteVirtualGateway({
  required String meshName,
  required String virtualGatewayName,
  String? meshOwner,
}) async {
  ArgumentError.checkNotNull(meshName, 'meshName');
  _s.validateStringLength(
    'meshName',
    meshName,
    1,
    255,
    isRequired: true,
  );
  ArgumentError.checkNotNull(virtualGatewayName, 'virtualGatewayName');
  _s.validateStringLength(
    'virtualGatewayName',
    virtualGatewayName,
    1,
    255,
    isRequired: true,
  );
  _s.validateStringLength(
    'meshOwner',
    meshOwner,
    12,
    12,
  );
  final $query = <String, List<String>>{
    if (meshOwner != null) 'meshOwner': [meshOwner],
  };
  final response = await _protocol.sendRaw(
    payload: null,
    method: 'DELETE',
    requestUri:
        '/v20190125/meshes/${Uri.encodeComponent(meshName)}/virtualGateways/${Uri.encodeComponent(virtualGatewayName)}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  final $json = await _s.jsonFromResponse(response);
  return DeleteVirtualGatewayOutput(
    virtualGateway: VirtualGatewayData.fromJson($json),
  );
}