createDirectConnectGatewayAssociationProposal method

Future<CreateDirectConnectGatewayAssociationProposalResult> createDirectConnectGatewayAssociationProposal({
  1. required String directConnectGatewayId,
  2. required String directConnectGatewayOwnerAccount,
  3. required String gatewayId,
  4. List<RouteFilterPrefix>? addAllowedPrefixesToDirectConnectGateway,
  5. List<RouteFilterPrefix>? removeAllowedPrefixesToDirectConnectGateway,
})

Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.

You can associate a Direct Connect gateway and virtual private gateway or transit gateway that is owned by any Amazon Web Services account.

May throw DirectConnectClientException. May throw DirectConnectServerException.

Parameter directConnectGatewayId : The ID of the Direct Connect gateway.

Parameter directConnectGatewayOwnerAccount : The ID of the Amazon Web Services account that owns the Direct Connect gateway.

Parameter gatewayId : The ID of the virtual private gateway or transit gateway.

Parameter addAllowedPrefixesToDirectConnectGateway : The Amazon VPC prefixes to advertise to the Direct Connect gateway.

Parameter removeAllowedPrefixesToDirectConnectGateway : The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

Implementation

Future<CreateDirectConnectGatewayAssociationProposalResult>
    createDirectConnectGatewayAssociationProposal({
  required String directConnectGatewayId,
  required String directConnectGatewayOwnerAccount,
  required String gatewayId,
  List<RouteFilterPrefix>? addAllowedPrefixesToDirectConnectGateway,
  List<RouteFilterPrefix>? removeAllowedPrefixesToDirectConnectGateway,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target':
        'OvertureService.CreateDirectConnectGatewayAssociationProposal'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'directConnectGatewayId': directConnectGatewayId,
      'directConnectGatewayOwnerAccount': directConnectGatewayOwnerAccount,
      'gatewayId': gatewayId,
      if (addAllowedPrefixesToDirectConnectGateway != null)
        'addAllowedPrefixesToDirectConnectGateway':
            addAllowedPrefixesToDirectConnectGateway,
      if (removeAllowedPrefixesToDirectConnectGateway != null)
        'removeAllowedPrefixesToDirectConnectGateway':
            removeAllowedPrefixesToDirectConnectGateway,
    },
  );

  return CreateDirectConnectGatewayAssociationProposalResult.fromJson(
      jsonResponse.body);
}