Skip to content

register_on_premises_instance async

register_on_premises_instance(
    instance_name: InstanceName,
    *,
    config_overrides: Optional[AsyncCodeDeployClientConfig] = None,
    iam_session_arn: Optional[IamSessionArn] = None,
    iam_user_arn: Optional[IamUserArn] = None,
) -> None

Registers an on-premises instance.

Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.

Parameters:

  • instance_name (InstanceName) –

    The name of the on-premises instance to register.

  • iam_session_arn (Optional[IamSessionArn], default: None ) –

    The ARN of the IAM session to associate with the on-premises instance.

  • iam_user_arn (Optional[IamUserArn], default: None ) –

    The ARN of the user to associate with the on-premises instance.

Raises:

Source code in docs_src/capo_codedeploy/_services/async_code_deploy.py
async def register_on_premises_instance(
    self,
    instance_name: "capo_codedeploy.types.instance_name.InstanceName",
    *,
    config_overrides: Optional[AsyncCodeDeployClientConfig] = None,
    iam_session_arn: Optional[
        "capo_codedeploy.types.iam_session_arn.IamSessionArn"
    ] = None,
    iam_user_arn: Optional["capo_codedeploy.types.iam_user_arn.IamUserArn"] = None,
) -> None:
    """<p>Registers an on-premises instance.</p> <note> <p>Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.</p> </note>

    Args:
        instance_name: <p>The name of the on-premises instance to register.</p>
        iam_session_arn: <p>The ARN of the IAM session to associate with the on-premises instance.</p>
        iam_user_arn: <p>The ARN of the user to associate with the on-premises instance.</p>

    Raises:
        capo_codedeploy.errors.iam_arn_required_exception.IamArnRequiredException: <p>No IAM ARN was included in the request. You must use an IAM session ARN or user ARN in the request.</p>
        capo_codedeploy.errors.iam_session_arn_already_registered_exception.IamSessionArnAlreadyRegisteredException: <p>The request included an IAM session ARN that has already been used to register a different instance.</p>
        capo_codedeploy.errors.iam_user_arn_already_registered_exception.IamUserArnAlreadyRegisteredException: <p>The specified user ARN is already registered with an on-premises instance.</p>
        capo_codedeploy.errors.iam_user_arn_required_exception.IamUserArnRequiredException: <p>An user ARN was not specified.</p>
        capo_codedeploy.errors.instance_name_already_registered_exception.InstanceNameAlreadyRegisteredException: <p>The specified on-premises instance name is already registered.</p>
        capo_codedeploy.errors.instance_name_required_exception.InstanceNameRequiredException: <p>An on-premises instance name was not specified.</p>
        capo_codedeploy.errors.invalid_iam_session_arn_exception.InvalidIamSessionArnException: <p>The IAM session ARN was specified in an invalid format.</p>
        capo_codedeploy.errors.invalid_iam_user_arn_exception.InvalidIamUserArnException: <p>The user ARN was specified in an invalid format.</p>
        capo_codedeploy.errors.invalid_instance_name_exception.InvalidInstanceNameException: <p>The on-premises instance name was specified in an invalid format.</p>
        capo_codedeploy.errors.multiple_iam_arns_provided_exception.MultipleIamArnsProvidedException: <p>Both an user ARN and an IAM session ARN were included in the request. Use only one ARN type.</p>
        capo_codedeploy.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_codedeploy.types.register_on_premises_instance_input.RegisterOnPremisesInstanceInput]",
    ) -> AsyncOperationResponse[None]:
        import capo_codedeploy._operations.code_deploy_20141006.register_on_premises_instance

        (
            output,
            http_response,
        ) = await capo_codedeploy._operations.code_deploy_20141006.register_on_premises_instance.async_register_on_premises_instance(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RegisterOnPremisesInstance")
    )
    input_: capo_codedeploy.types.register_on_premises_instance_input.RegisterOnPremisesInstanceInput = {
        "instance_name": instance_name
    }
    if iam_session_arn is not None:
        input_["iam_session_arn"] = iam_session_arn
    if iam_user_arn is not None:
        input_["iam_user_arn"] = iam_user_arn

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