Skip to content

delete_app_version_resource async

delete_app_version_resource(
    app_arn: Arn,
    *,
    config_overrides: Optional[AsyncresiliencehubClientConfig] = None,
    resource_name: Optional[EntityName] = None,
    logical_resource_id: Optional[LogicalResourceId] = None,
    physical_resource_id: Optional[String2048] = None,
    aws_region: Optional[AwsRegion] = None,
    aws_account_id: Optional[CustomerId] = None,
    client_token: Optional[ClientToken] = None,
) -> DeleteAppVersionResourceResponse

Deletes a resource from the Resilience Hub application.

  • You can only delete a manually added resource. To exclude non-manually added resources, use the UpdateAppVersionResource API.

  • This action has no effect outside Resilience Hub.

  • This API updates the Resilience Hub application draft version. To use this resource for running resiliency assessments, you must publish the Resilience Hub application using the PublishAppVersion API.

Parameters:

  • app_arn (Arn) –

    Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:partition:resiliencehub:region:account:app/app-id. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference guide.

  • resource_name (Optional[EntityName], default: None ) –

    Name of the resource.

  • logical_resource_id (Optional[LogicalResourceId], default: None ) –

    Logical identifier of the resource.

  • physical_resource_id (Optional[String2048], default: None ) –

    Physical identifier of the resource.

  • aws_region (Optional[AwsRegion], default: None ) –

    Amazon Web Services region that owns the physical resource.

  • aws_account_id (Optional[CustomerId], default: None ) –

    Amazon Web Services account that owns the physical resource.

  • client_token (Optional[ClientToken], default: None ) –

    Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.

Raises:

  • AccessDeniedException –

    You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions.

  • ConflictException –

    This exception occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

  • InternalServerException –

    This exception occurs when there is an internal failure in the Resilience Hub service.

  • ResourceNotFoundException –

    This exception occurs when the specified resource could not be found.

  • ThrottlingException –

    This exception occurs when you have exceeded the limit on the number of requests per second.

  • ValidationException –

    This exception occurs when a request is not valid.

  • UnknownServiceError –

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

Source code in docs_src/capo_resiliencehub/_services/async_resiliencehub.py
async def delete_app_version_resource(
    self,
    app_arn: "capo_resiliencehub.types.arn.Arn",
    *,
    config_overrides: Optional[AsyncresiliencehubClientConfig] = None,
    resource_name: Optional[
        "capo_resiliencehub.types.entity_name.EntityName"
    ] = None,
    logical_resource_id: Optional[
        "capo_resiliencehub.types.logical_resource_id.LogicalResourceId"
    ] = None,
    physical_resource_id: Optional[
        "capo_resiliencehub.types.string2048.String2048"
    ] = None,
    aws_region: Optional["capo_resiliencehub.types.aws_region.AwsRegion"] = None,
    aws_account_id: Optional[
        "capo_resiliencehub.types.customer_id.CustomerId"
    ] = None,
    client_token: Optional[
        "capo_resiliencehub.types.client_token.ClientToken"
    ] = None,
) -> "capo_resiliencehub.types.delete_app_version_resource_response.DeleteAppVersionResourceResponse":
    """<p>Deletes a resource from the Resilience Hub application.</p> <note> <ul> <li> <p>You can only delete a manually added resource. To exclude non-manually added resources, use the <code>UpdateAppVersionResource</code> API.</p> </li> <li> <p>This action has no effect outside Resilience Hub.</p> </li> <li> <p>This API updates the Resilience Hub application draft version. To use this resource for running resiliency assessments, you must publish the Resilience Hub application using the <code>PublishAppVersion</code> API.</p> </li> </ul> </note>

    Args:
        app_arn: <p>Amazon Resource Name (ARN) of the Resilience Hub application. The format for this ARN is: arn:<code>partition</code>:resiliencehub:<code>region</code>:<code>account</code>:app/<code>app-id</code>. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html"> Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i> guide.</p>
        resource_name: <p>Name of the resource.</p>
        logical_resource_id: <p>Logical identifier of the resource.</p>
        physical_resource_id: <p>Physical identifier of the resource.</p>
        aws_region: <p>Amazon Web Services region that owns the physical resource.</p>
        aws_account_id: <p>Amazon Web Services account that owns the physical resource.</p>
        client_token: <p>Used for an idempotency token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. You should not reuse the same client token for other API requests.</p>

    Raises:
        capo_resiliencehub.errors.access_denied_exception.AccessDeniedException: <p>You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions.</p>
        capo_resiliencehub.errors.conflict_exception.ConflictException: <p>This exception occurs when a conflict with a previous successful write is detected. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.</p>
        capo_resiliencehub.errors.internal_server_exception.InternalServerException: <p>This exception occurs when there is an internal failure in the Resilience Hub service.</p>
        capo_resiliencehub.errors.resource_not_found_exception.ResourceNotFoundException: <p>This exception occurs when the specified resource could not be found.</p>
        capo_resiliencehub.errors.throttling_exception.ThrottlingException: <p>This exception occurs when you have exceeded the limit on the number of requests per second.</p>
        capo_resiliencehub.errors.validation_exception.ValidationException: <p>This exception occurs when a request is not valid.</p>
        capo_resiliencehub.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_resiliencehub.types.delete_app_version_resource_request.DeleteAppVersionResourceRequest]",
    ) -> AsyncOperationResponse[
        "capo_resiliencehub.types.delete_app_version_resource_response.DeleteAppVersionResourceResponse"
    ]:
        import capo_resiliencehub._operations.aws_resilience_hub.delete_app_version_resource

        (
            output,
            http_response,
        ) = await capo_resiliencehub._operations.aws_resilience_hub.delete_app_version_resource.async_delete_app_version_resource(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("DeleteAppVersionResource")
    )
    input_: capo_resiliencehub.types.delete_app_version_resource_request.DeleteAppVersionResourceRequest = {
        "app_arn": app_arn
    }
    if resource_name is not None:
        input_["resource_name"] = resource_name
    if logical_resource_id is not None:
        input_["logical_resource_id"] = logical_resource_id
    if physical_resource_id is not None:
        input_["physical_resource_id"] = physical_resource_id
    if aws_region is not None:
        input_["aws_region"] = aws_region
    if aws_account_id is not None:
        input_["aws_account_id"] = aws_account_id
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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