Skip to content

replace_iam_instance_profile_association

replace_iam_instance_profile_association(
    *,
    config_overrides: Optional[EC2ClientConfig] = 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/ec2.py
def replace_iam_instance_profile_association(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = 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.
    """

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

        output, http_response = (
            capo_ec2._operations.amazon_ec2.replace_iam_instance_profile_association.replace_iam_instance_profile_association(
                req.options, req.input
            )
        )
        return OperationResponse(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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output