updateAccelerator method

Future<UpdateAcceleratorResponse> updateAccelerator({
  1. required String acceleratorArn,
  2. bool? enabled,
  3. IpAddressType? ipAddressType,
  4. List<String>? ipAddresses,
  5. String? name,
})

Update an accelerator to make changes, such as the following:

  • Change the name of the accelerator.
  • Disable the accelerator so that it no longer accepts or routes traffic, or so that you can delete it.
  • Enable the accelerator, if it is disabled.
  • Change the IP address type to dual-stack if it is IPv4, or change the IP address type to IPv4 if it's dual-stack.
Be aware that static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete the accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them.

May throw AcceleratorNotFoundException. May throw AccessDeniedException. May throw ConflictException. May throw InternalServiceErrorException. May throw InvalidArgumentException. May throw TransactionInProgressException.

Parameter acceleratorArn : The Amazon Resource Name (ARN) of the accelerator to update.

Parameter enabled : Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

Parameter ipAddressType : The IP address type that an accelerator supports. For a standard accelerator, the value can be IPV4 or DUAL_STACK.

Parameter ipAddresses : The IP addresses for an accelerator.

Parameter name : The name of the accelerator. The name can have a maximum of 64 characters, must contain only alphanumeric characters, periods (.), or hyphens (-), and must not begin or end with a hyphen or period.

Implementation

Future<UpdateAcceleratorResponse> updateAccelerator({
  required String acceleratorArn,
  bool? enabled,
  IpAddressType? ipAddressType,
  List<String>? ipAddresses,
  String? name,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'GlobalAccelerator_V20180706.UpdateAccelerator'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'AcceleratorArn': acceleratorArn,
      if (enabled != null) 'Enabled': enabled,
      if (ipAddressType != null) 'IpAddressType': ipAddressType.value,
      if (ipAddresses != null) 'IpAddresses': ipAddresses,
      if (name != null) 'Name': name,
    },
  );

  return UpdateAcceleratorResponse.fromJson(jsonResponse.body);
}