Skip to content

replace_iam_instance_profile_association async

replace_iam_instance_profile_association(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    iam_instance_profile: Optional[IamInstanceProfileSpecification] = None,
    association_id: Optional[IamInstanceProfileAssociationId] = None,
) -> ReplaceIamInstanceProfileAssociationResult

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

Parameters:

Raises:

Source code in docs_src/capo_ec2/_services/async_ec2.py
async def replace_iam_instance_profile_association(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    iam_instance_profile: Optional[
        "capo_ec2.types.iam_instance_profile_specification.IamInstanceProfileSpecification"
    ] = None,
    association_id: Optional[
        "capo_ec2.types.iam_instance_profile_association_id.IamInstanceProfileAssociationId"
    ] = None,
) -> "capo_ec2.types.replace_iam_instance_profile_association_result.ReplaceIamInstanceProfileAssociationResult":
    """<p>Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.</p> <p>Use <a>DescribeIamInstanceProfileAssociations</a> to get the association ID.</p>

    Args:
        iam_instance_profile: <p>The IAM instance profile.</p>
        association_id: <p>The ID of the existing IAM instance profile association.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.replace_iam_instance_profile_association_request.ReplaceIamInstanceProfileAssociationRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.replace_iam_instance_profile_association_result.ReplaceIamInstanceProfileAssociationResult"
    ]:
        import capo_ec2._operations.amazon_ec2.replace_iam_instance_profile_association

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.replace_iam_instance_profile_association.async_replace_iam_instance_profile_association(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ReplaceIamInstanceProfileAssociation")
    )
    input_: capo_ec2.types.replace_iam_instance_profile_association_request.ReplaceIamInstanceProfileAssociationRequest = {}
    if iam_instance_profile is not None:
        input_["iam_instance_profile"] = iam_instance_profile
    if association_id is not None:
        input_["association_id"] = association_id

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