Skip to content

start_connection async

start_connection(
    asset_id: AssetId,
    client_public_key: WireGuardPublicKey,
    network_interface_device_index: NetworkInterfaceDeviceIndex,
    *,
    config_overrides: Optional[AsyncOutpostsClientConfig] = None,
    device_serial_number: Optional[DeviceSerialNumber] = None,
) -> StartConnectionResponse

Amazon Web Services uses this action to install Outpost servers.

Starts the connection required for Outpost server installation.

Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see Amazon Web Services managed policies for Amazon Web Services Outposts and Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail in the Amazon Web Services Outposts User Guide.

Parameters:

Raises:

Source code in docs_src/capo_outposts/_services/async_outposts.py
async def start_connection(
    self,
    asset_id: "capo_outposts.types.asset_id.AssetId",
    client_public_key: "capo_outposts.types.wire_guard_public_key.WireGuardPublicKey",
    network_interface_device_index: "capo_outposts.types.network_interface_device_index.NetworkInterfaceDeviceIndex",
    *,
    config_overrides: Optional[AsyncOutpostsClientConfig] = None,
    device_serial_number: Optional[
        "capo_outposts.types.device_serial_number.DeviceSerialNumber"
    ] = None,
) -> "capo_outposts.types.start_connection_response.StartConnectionResponse":
    """<note> <p> Amazon Web Services uses this action to install Outpost servers.</p> </note> <p> Starts the connection required for Outpost server installation. </p> <p> Use CloudTrail to monitor this action or Amazon Web Services managed policy for Amazon Web Services Outposts to secure it. For more information, see <a href="https://docs.aws.amazon.com/outposts/latest/userguide/security-iam-awsmanpol.html"> Amazon Web Services managed policies for Amazon Web Services Outposts</a> and <a href="https://docs.aws.amazon.com/outposts/latest/userguide/logging-using-cloudtrail.html"> Logging Amazon Web Services Outposts API calls with Amazon Web Services CloudTrail</a> in the <i>Amazon Web Services Outposts User Guide</i>. </p>

    Args:
        device_serial_number: <p> The serial number of the dongle. </p>
        asset_id: <p> The ID of the Outpost server.</p>
        client_public_key: <p> The public key of the client. </p>
        network_interface_device_index: <p> The device index of the network interface on the Outpost server. </p>

    Raises:
        capo_outposts.errors.access_denied_exception.AccessDeniedException: <p>You do not have permission to perform this operation.</p>
        capo_outposts.errors.internal_server_exception.InternalServerException: <p>An internal error has occurred.</p>
        capo_outposts.errors.not_found_exception.NotFoundException: <p>The specified request is not valid.</p>
        capo_outposts.errors.validation_exception.ValidationException: <p>A parameter is not valid.</p>
        capo_outposts.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_outposts.types.start_connection_request.StartConnectionRequest]",
    ) -> AsyncOperationResponse[
        "capo_outposts.types.start_connection_response.StartConnectionResponse"
    ]:
        import capo_outposts._operations.outposts_olaf_service.start_connection

        (
            output,
            http_response,
        ) = await capo_outposts._operations.outposts_olaf_service.start_connection.async_start_connection(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("StartConnection")
    )
    input_: capo_outposts.types.start_connection_request.StartConnectionRequest = {
        "asset_id": asset_id,
        "client_public_key": client_public_key,
        "network_interface_device_index": network_interface_device_index,
    }
    if device_serial_number is not None:
        input_["device_serial_number"] = device_serial_number

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output