Skip to content

untag_resource async

untag_resource(
    resource_arn: ARN,
    tag_key_list: TagKeyList,
    *,
    config_overrides: Optional[AsyncBackupClientConfig] = None,
) -> None

Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)

This API is not supported for recovery points for resource types including Aurora, Amazon DocumentDB. Amazon EBS, Amazon FSx, Neptune, and Amazon RDS.

Parameters:

  • resource_arn (ARN) –

    An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

    ARNs that do not include backup are incompatible with tagging. TagResource and UntagResource with invalid ARNs will result in an error. Acceptable ARN content can include arn:aws:backup:us-east. Invalid ARN content may look like arn:aws:ec2:us-east.

  • tag_key_list (TagKeyList) –

    The keys to identify which key-value tags to remove from a resource.

Raises:

Source code in docs_src/capo_backup/_services/async_backup.py
async def untag_resource(
    self,
    resource_arn: "capo_backup.types.arn.ARN",
    tag_key_list: "capo_backup.types.tag_key_list.TagKeyList",
    *,
    config_overrides: Optional[AsyncBackupClientConfig] = None,
) -> None:
    """<p>Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)</p> <p>This API is not supported for recovery points for resource types including Aurora, Amazon DocumentDB. Amazon EBS, Amazon FSx, Neptune, and Amazon RDS.</p>

    Args:
        resource_arn: <p>An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.</p> <p>ARNs that do not include <code>backup</code> are incompatible with tagging. <code>TagResource</code> and <code>UntagResource</code> with invalid ARNs will result in an error. Acceptable ARN content can include <code>arn:aws:backup:us-east</code>. Invalid ARN content may look like <code>arn:aws:ec2:us-east</code>.</p>
        tag_key_list: <p>The keys to identify which key-value tags to remove from a resource.</p>

    Raises:
        capo_backup.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>Indicates that something is wrong with a parameter's value. For example, the value is out of range.</p>
        capo_backup.errors.missing_parameter_value_exception.MissingParameterValueException: <p>Indicates that a required parameter is missing.</p>
        capo_backup.errors.resource_not_found_exception.ResourceNotFoundException: <p>A resource that is required for the action doesn't exist.</p>
        capo_backup.errors.service_unavailable_exception.ServiceUnavailableException: <p>The request failed due to a temporary failure of the server.</p>
        capo_backup.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_backup.types.untag_resource_input.UntagResourceInput]",
    ) -> AsyncOperationResponse[None]:
        import capo_backup._operations.cryo_controller_user_manager.untag_resource

        (
            output,
            http_response,
        ) = await capo_backup._operations.cryo_controller_user_manager.untag_resource.async_untag_resource(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_backup.types.untag_resource_input.UntagResourceInput",
    ) -> dict[str, Any]:
        import capo_backup.types.untag_resource_input

        return capo_backup.types.untag_resource_input.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UntagResource", redact_input=_redact_input),
    )
    input_: capo_backup.types.untag_resource_input.UntagResourceInput = {
        "resource_arn": resource_arn,
        "tag_key_list": tag_key_list,
    }

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