associateCustomerGateway method
Associates a customer gateway with a device and optionally, with a link. If you specify a link, it must be associated with the specified device.
You can only associate customer gateways that are connected to a VPN
attachment on a transit gateway. The transit gateway must be registered in
your global network. When you register a transit gateway, customer
gateways that are connected to the transit gateway are automatically
included in the global network. To list customer gateways that are
connected to a transit gateway, use the DescribeVpnConnections
EC2 API and filter by transit-gateway-id
.
You cannot associate a customer gateway with more than one device and link.
May throw ValidationException. May throw ServiceQuotaExceededException. May throw AccessDeniedException. May throw ResourceNotFoundException. May throw ConflictException. May throw ThrottlingException. May throw InternalServerException.
Parameter customerGatewayArn
:
The Amazon Resource Name (ARN) of the customer gateway. For more
information, see Resources
Defined by Amazon EC2.
Parameter deviceId
:
The ID of the device.
Parameter globalNetworkId
:
The ID of the global network.
Parameter linkId
:
The ID of the link.
Implementation
Future<AssociateCustomerGatewayResponse> associateCustomerGateway({
required String customerGatewayArn,
required String deviceId,
required String globalNetworkId,
String? linkId,
}) async {
ArgumentError.checkNotNull(customerGatewayArn, 'customerGatewayArn');
ArgumentError.checkNotNull(deviceId, 'deviceId');
ArgumentError.checkNotNull(globalNetworkId, 'globalNetworkId');
final $payload = <String, dynamic>{
'CustomerGatewayArn': customerGatewayArn,
'DeviceId': deviceId,
if (linkId != null) 'LinkId': linkId,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/global-networks/${Uri.encodeComponent(globalNetworkId)}/customer-gateway-associations',
exceptionFnMap: _exceptionFns,
);
return AssociateCustomerGatewayResponse.fromJson(response);
}