Skip to content

update_app async

update_app(
    app_arn: Arn,
    *,
    config_overrides: Optional[AsyncresiliencehubClientConfig] = None,
    description: Optional[EntityDescription] = None,
    policy_arn: Optional[Arn] = None,
    clear_resiliency_policy_arn: Optional[BooleanOptional] = None,
    assessment_schedule: Optional[AppAssessmentScheduleType] = None,
    permission_model: Optional[PermissionModel] = None,
    event_subscriptions: Optional[EventSubscriptionList] = None,
) -> UpdateAppResponse

Updates an application.

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.

  • description (Optional[EntityDescription], default: None ) –

    The optional description for an app.

  • policy_arn (Optional[Arn], default: None ) –

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

  • clear_resiliency_policy_arn (Optional[BooleanOptional], default: None ) –

    Specifies if the resiliency policy ARN should be cleared.

  • assessment_schedule (Optional[AppAssessmentScheduleType], default: None ) –

    Assessment execution schedule with 'Daily' or 'Disabled' values.

  • permission_model (Optional[PermissionModel], default: None ) –

    Defines the roles and credentials that Resilience Hub would use while creating an application, importing its resources, and running an assessment.

  • event_subscriptions (Optional[EventSubscriptionList], default: None ) –

    The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.

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 update_app(
    self,
    app_arn: "capo_resiliencehub.types.arn.Arn",
    *,
    config_overrides: Optional[AsyncresiliencehubClientConfig] = None,
    description: Optional[
        "capo_resiliencehub.types.entity_description.EntityDescription"
    ] = None,
    policy_arn: Optional["capo_resiliencehub.types.arn.Arn"] = None,
    clear_resiliency_policy_arn: Optional[
        "capo_resiliencehub.types.boolean_optional.BooleanOptional"
    ] = None,
    assessment_schedule: Optional[
        "capo_resiliencehub.types.app_assessment_schedule_type.AppAssessmentScheduleType"
    ] = None,
    permission_model: Optional[
        "capo_resiliencehub.types.permission_model.PermissionModel"
    ] = None,
    event_subscriptions: Optional[
        "capo_resiliencehub.types.event_subscription_list.EventSubscriptionList"
    ] = None,
) -> "capo_resiliencehub.types.update_app_response.UpdateAppResponse":
    """<p>Updates an application.</p>

    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>
        description: <p>The optional description for an app.</p>
        policy_arn: <p>Amazon Resource Name (ARN) of the resiliency policy. The format for this ARN is: arn:<code>partition</code>:resiliencehub:<code>region</code>:<code>account</code>:resiliency-policy/<code>policy-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>
        clear_resiliency_policy_arn: <p>Specifies if the resiliency policy ARN should be cleared.</p>
        assessment_schedule: <p> Assessment execution schedule with 'Daily' or 'Disabled' values. </p>
        permission_model: <p>Defines the roles and credentials that Resilience Hub would use while creating an application, importing its resources, and running an assessment.</p>
        event_subscriptions: <p>The list of events you would like to subscribe and get notification for. Currently, Resilience Hub supports notifications only for <b>Drift detected</b> and <b>Scheduled assessment failure</b> events.</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.update_app_request.UpdateAppRequest]",
    ) -> AsyncOperationResponse[
        "capo_resiliencehub.types.update_app_response.UpdateAppResponse"
    ]:
        import capo_resiliencehub._operations.aws_resilience_hub.update_app

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

    def _redact_output(
        output: "capo_resiliencehub.types.update_app_response.UpdateAppResponse",
    ) -> dict[str, Any]:
        import capo_resiliencehub.types.update_app_response

        return capo_resiliencehub.types.update_app_response.redact_sensitive(output)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("UpdateApp", redact_output=_redact_output),
    )
    input_: capo_resiliencehub.types.update_app_request.UpdateAppRequest = {
        "app_arn": app_arn
    }
    if description is not None:
        input_["description"] = description
    if policy_arn is not None:
        input_["policy_arn"] = policy_arn
    if clear_resiliency_policy_arn is not None:
        input_["clear_resiliency_policy_arn"] = clear_resiliency_policy_arn
    if assessment_schedule is not None:
        input_["assessment_schedule"] = assessment_schedule
    if permission_model is not None:
        input_["permission_model"] = permission_model
    if event_subscriptions is not None:
        input_["event_subscriptions"] = event_subscriptions

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