updateVirtualRouter method
- required String meshName,
- required VirtualRouterSpec spec,
- required String virtualRouterName,
- String? clientToken,
Updates an existing virtual router in a specified service mesh.
May throw BadRequestException. May throw ConflictException. May throw ForbiddenException. May throw InternalServerErrorException. May throw LimitExceededException. May throw NotFoundException. May throw ServiceUnavailableException. May throw TooManyRequestsException.
Parameter meshName
:
The name of the service mesh in which the virtual router resides.
Parameter spec
:
The new virtual router specification to apply. This overwrites the
existing data.
Parameter virtualRouterName
:
The name of the virtual router to update.
Parameter clientToken
:
Unique, case-sensitive identifier that you provide to ensure the
idempotency of the
request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
Implementation
Future<UpdateVirtualRouterOutput> updateVirtualRouter({
required String meshName,
required VirtualRouterSpec spec,
required String virtualRouterName,
String? clientToken,
}) async {
ArgumentError.checkNotNull(meshName, 'meshName');
_s.validateStringLength(
'meshName',
meshName,
1,
255,
isRequired: true,
);
ArgumentError.checkNotNull(spec, 'spec');
ArgumentError.checkNotNull(virtualRouterName, 'virtualRouterName');
_s.validateStringLength(
'virtualRouterName',
virtualRouterName,
1,
255,
isRequired: true,
);
final $payload = <String, dynamic>{
'spec': spec,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
};
final response = await _protocol.sendRaw(
payload: $payload,
method: 'PUT',
requestUri:
'/meshes/${Uri.encodeComponent(meshName)}/virtualRouters/${Uri.encodeComponent(virtualRouterName)}',
exceptionFnMap: _exceptionFns,
);
final $json = await _s.jsonFromResponse(response);
return UpdateVirtualRouterOutput(
virtualRouter: VirtualRouterData.fromJson($json),
);
}