updateVirtualNode method

Future<UpdateVirtualNodeOutput> updateVirtualNode({
  1. required String meshName,
  2. required VirtualNodeSpec spec,
  3. required String virtualNodeName,
  4. String? clientToken,
  5. String? meshOwner,
})

Updates an existing virtual node 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 that the virtual node resides in.

Parameter spec : The new virtual node specification to apply. This overwrites the existing data.

Parameter virtualNodeName : The name of the virtual node 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.

Parameter meshOwner : The Amazon Web Services 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<UpdateVirtualNodeOutput> updateVirtualNode({
  required String meshName,
  required VirtualNodeSpec spec,
  required String virtualNodeName,
  String? clientToken,
  String? meshOwner,
}) async {
  final $query = <String, List<String>>{
    if (meshOwner != null) 'meshOwner': [meshOwner],
  };
  final $payload = <String, dynamic>{
    'spec': spec,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
  };
  final response = await _protocol.sendRaw(
    payload: $payload,
    method: 'PUT',
    requestUri:
        '/v20190125/meshes/${Uri.encodeComponent(meshName)}/virtualNodes/${Uri.encodeComponent(virtualNodeName)}',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  final $json = await _s.jsonFromResponse(response);
  return UpdateVirtualNodeOutput(
    virtualNode: VirtualNodeData.fromJson($json),
  );
}