Skip to content

register_compute_node_group_instance async

register_compute_node_group_instance(
    cluster_identifier: ClusterIdentifier,
    bootstrap_id: BootstrapId,
    *,
    config_overrides: Optional[AsyncPCSClientConfig] = None,
) -> RegisterComputeNodeGroupInstanceResponse

This API action isn't intended for you to use.

PCS uses this API action to register the compute nodes it launches in your account.

Parameters:

  • cluster_identifier (ClusterIdentifier) –

    The name or ID of the cluster to register the compute node group instance in.

  • bootstrap_id (BootstrapId) –

    The client-generated token to allow for retries.

Raises:

  • AccessDeniedException –

    You don't have permission to perform the action.

    Examples

    • The launch template instance profile doesn't pass iam:PassRole verification.

    • There is a mismatch between the account ID and cluster ID.

    • The cluster ID doesn't exist.

    • The EC2 instance isn't present.

  • InternalServerException –

    PCS can't process your request right now. Try again later.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_pcs/_services/async_pcs.py
async def register_compute_node_group_instance(
    self,
    cluster_identifier: "capo_pcs.types.cluster_identifier.ClusterIdentifier",
    bootstrap_id: "capo_pcs.types.bootstrap_id.BootstrapId",
    *,
    config_overrides: Optional[AsyncPCSClientConfig] = None,
) -> "capo_pcs.types.register_compute_node_group_instance_response.RegisterComputeNodeGroupInstanceResponse":
    """<important> <p>This API action isn't intended for you to use.</p> </important> <p>PCS uses this API action to register the compute nodes it launches in your account.</p>

    Args:
        cluster_identifier: <p>The name or ID of the cluster to register the compute node group instance in.</p>
        bootstrap_id: <p>The client-generated token to allow for retries.</p>

    Raises:
        capo_pcs.errors.access_denied_exception.AccessDeniedException: <p>You don't have permission to perform the action.</p> <p> <u>Examples</u> </p> <ul> <li> <p>The launch template instance profile doesn't pass <code>iam:PassRole</code> verification.</p> </li> <li> <p>There is a mismatch between the account ID and cluster ID.</p> </li> <li> <p>The cluster ID doesn't exist.</p> </li> <li> <p>The EC2 instance isn't present.</p> </li> </ul>
        capo_pcs.errors.internal_server_exception.InternalServerException: <p>PCS can't process your request right now. Try again later.</p>
        capo_pcs.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_pcs.types.register_compute_node_group_instance_request.RegisterComputeNodeGroupInstanceRequest]",
    ) -> AsyncOperationResponse[
        "capo_pcs.types.register_compute_node_group_instance_response.RegisterComputeNodeGroupInstanceResponse"
    ]:
        import capo_pcs._operations.aws_parallel_computing_service.register_compute_node_group_instance

        (
            output,
            http_response,
        ) = await capo_pcs._operations.aws_parallel_computing_service.register_compute_node_group_instance.async_register_compute_node_group_instance(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_pcs.types.register_compute_node_group_instance_response.RegisterComputeNodeGroupInstanceResponse",
    ) -> dict[str, Any]:
        import capo_pcs.types.register_compute_node_group_instance_response

        return capo_pcs.types.register_compute_node_group_instance_response.redact_sensitive(
            output
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "RegisterComputeNodeGroupInstance", redact_output=_redact_output
        ),
    )
    input_: capo_pcs.types.register_compute_node_group_instance_request.RegisterComputeNodeGroupInstanceRequest = {
        "cluster_identifier": cluster_identifier,
        "bootstrap_id": bootstrap_id,
    }

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