deleteVirtualRouter method

Future<DeleteVirtualRouterOutput> deleteVirtualRouter({
  1. required String meshName,
  2. required String virtualRouterName,
  3. String? meshOwner,
})

Deletes an existing virtual router.

You must delete any routes associated with the virtual router before you can delete the router itself.

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 router in.

Parameter virtualRouterName : The name of the virtual router 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<DeleteVirtualRouterOutput> deleteVirtualRouter({
  required String meshName,
  required String virtualRouterName,
  String? meshOwner,
}) async {
  ArgumentError.checkNotNull(meshName, 'meshName');
  _s.validateStringLength(
    'meshName',
    meshName,
    1,
    255,
    isRequired: true,
  );
  ArgumentError.checkNotNull(virtualRouterName, 'virtualRouterName');
  _s.validateStringLength(
    'virtualRouterName',
    virtualRouterName,
    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)}/virtualRouters/${Uri.encodeComponent(virtualRouterName)}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  final $json = await _s.jsonFromResponse(response);
  return DeleteVirtualRouterOutput(
    virtualRouter: VirtualRouterData.fromJson($json),
  );
}