createCustomAvailabilityZone method

Future<CreateCustomAvailabilityZoneResult> createCustomAvailabilityZone({
  1. required String customAvailabilityZoneName,
  2. String? existingVpnId,
  3. String? newVpnTunnelName,
  4. String? vpnTunnelOriginatorIP,
})

Creates a custom Availability Zone (AZ).

A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster.

For more information about RDS on VMware, see the RDS on VMware User Guide.

May throw CustomAvailabilityZoneAlreadyExistsFault. May throw CustomAvailabilityZoneQuotaExceededFault. May throw KMSKeyNotAccessibleFault.

Parameter customAvailabilityZoneName : The name of the custom Availability Zone (AZ).

Parameter existingVpnId : The ID of an existing virtual private network (VPN) between the Amazon RDS website and the VMware vSphere cluster.

Parameter newVpnTunnelName : The name of a new VPN tunnel between the Amazon RDS website and the VMware vSphere cluster.

Specify this parameter only if ExistingVpnId isn't specified.

Parameter vpnTunnelOriginatorIP : The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

Specify this parameter only if ExistingVpnId isn't specified.

Implementation

Future<CreateCustomAvailabilityZoneResult> createCustomAvailabilityZone({
  required String customAvailabilityZoneName,
  String? existingVpnId,
  String? newVpnTunnelName,
  String? vpnTunnelOriginatorIP,
}) async {
  ArgumentError.checkNotNull(
      customAvailabilityZoneName, 'customAvailabilityZoneName');
  final $request = <String, dynamic>{};
  $request['CustomAvailabilityZoneName'] = customAvailabilityZoneName;
  existingVpnId?.also((arg) => $request['ExistingVpnId'] = arg);
  newVpnTunnelName?.also((arg) => $request['NewVpnTunnelName'] = arg);
  vpnTunnelOriginatorIP
      ?.also((arg) => $request['VpnTunnelOriginatorIP'] = arg);
  final $result = await _protocol.send(
    $request,
    action: 'CreateCustomAvailabilityZone',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    shape: shapes['CreateCustomAvailabilityZoneMessage'],
    shapes: shapes,
    resultWrapper: 'CreateCustomAvailabilityZoneResult',
  );
  return CreateCustomAvailabilityZoneResult.fromXml($result);
}