Skip to content

create_direct_connect_gateway_association_proposal

create_direct_connect_gateway_association_proposal(
    direct_connect_gateway_id: DirectConnectGatewayId,
    direct_connect_gateway_owner_account: OwnerAccount,
    gateway_id: GatewayIdToAssociate,
    *,
    config_overrides: Optional[DirectConnectClientConfig] = None,
    add_allowed_prefixes_to_direct_connect_gateway: Optional[
        RouteFilterPrefixList
    ] = None,
    remove_allowed_prefixes_to_direct_connect_gateway: Optional[
        RouteFilterPrefixList
    ] = None,
) -> CreateDirectConnectGatewayAssociationProposalResult

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.

Parameters:

  • direct_connect_gateway_id (DirectConnectGatewayId) –

    The ID of the Direct Connect gateway.

  • direct_connect_gateway_owner_account (OwnerAccount) –

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

  • gateway_id (GatewayIdToAssociate) –

    The ID of the virtual private gateway or transit gateway.

  • add_allowed_prefixes_to_direct_connect_gateway (Optional[RouteFilterPrefixList], default: None ) –

    The Amazon VPC prefixes to advertise to the Direct Connect gateway.

  • remove_allowed_prefixes_to_direct_connect_gateway (Optional[RouteFilterPrefixList], default: None ) –

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

Raises:

Source code in docs_src/capo_direct_connect/_services/direct_connect.py
def create_direct_connect_gateway_association_proposal(
    self,
    direct_connect_gateway_id: "capo_direct_connect.types.direct_connect_gateway_id.DirectConnectGatewayId",
    direct_connect_gateway_owner_account: "capo_direct_connect.types.owner_account.OwnerAccount",
    gateway_id: "capo_direct_connect.types.gateway_id_to_associate.GatewayIdToAssociate",
    *,
    config_overrides: Optional[DirectConnectClientConfig] = None,
    add_allowed_prefixes_to_direct_connect_gateway: Optional[
        "capo_direct_connect.types.route_filter_prefix_list.RouteFilterPrefixList"
    ] = None,
    remove_allowed_prefixes_to_direct_connect_gateway: Optional[
        "capo_direct_connect.types.route_filter_prefix_list.RouteFilterPrefixList"
    ] = None,
) -> "capo_direct_connect.types.create_direct_connect_gateway_association_proposal_result.CreateDirectConnectGatewayAssociationProposalResult":
    """<p>Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.</p> <p>You can associate a Direct Connect gateway and virtual private gateway or transit gateway that is owned by any Amazon Web Services account. </p>

    Args:
        direct_connect_gateway_id: <p>The ID of the Direct Connect gateway.</p>
        direct_connect_gateway_owner_account: <p>The ID of the Amazon Web Services account that owns the Direct Connect gateway.</p>
        gateway_id: <p>The ID of the virtual private gateway or transit gateway.</p>
        add_allowed_prefixes_to_direct_connect_gateway: <p>The Amazon VPC prefixes to advertise to the Direct Connect gateway.</p>
        remove_allowed_prefixes_to_direct_connect_gateway: <p>The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.</p>

    Raises:
        capo_direct_connect.errors.direct_connect_client_exception.DirectConnectClientException: <p>One or more parameters are not valid.</p>
        capo_direct_connect.errors.direct_connect_server_exception.DirectConnectServerException: <p>A server-side error occurred.</p>
        capo_direct_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_direct_connect.types.create_direct_connect_gateway_association_proposal_request.CreateDirectConnectGatewayAssociationProposalRequest]",
    ) -> OperationResponse[
        "capo_direct_connect.types.create_direct_connect_gateway_association_proposal_result.CreateDirectConnectGatewayAssociationProposalResult"
    ]:
        import capo_direct_connect._operations.overture_service.create_direct_connect_gateway_association_proposal

        output, http_response = (
            capo_direct_connect._operations.overture_service.create_direct_connect_gateway_association_proposal.create_direct_connect_gateway_association_proposal(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateDirectConnectGatewayAssociationProposal"),
    )
    input_: capo_direct_connect.types.create_direct_connect_gateway_association_proposal_request.CreateDirectConnectGatewayAssociationProposalRequest = {
        "direct_connect_gateway_id": direct_connect_gateway_id,
        "direct_connect_gateway_owner_account": direct_connect_gateway_owner_account,
        "gateway_id": gateway_id,
    }
    if add_allowed_prefixes_to_direct_connect_gateway is not None:
        input_["add_allowed_prefixes_to_direct_connect_gateway"] = (
            add_allowed_prefixes_to_direct_connect_gateway
        )
    if remove_allowed_prefixes_to_direct_connect_gateway is not None:
        input_["remove_allowed_prefixes_to_direct_connect_gateway"] = (
            remove_allowed_prefixes_to_direct_connect_gateway
        )

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output