Skip to content

create_app_version_app_component

create_app_version_app_component(
    app_arn: Arn,
    name: String255,
    type: String255,
    *,
    config_overrides: Optional[resiliencehubClientConfig] = None,
    id: Optional[String255] = None,
    additional_info: Optional[AdditionalInfoMap] = None,
    client_token: Optional[ClientToken] = None,
) -> CreateAppVersionAppComponentResponse

Creates a new Application Component in the Resilience Hub application.

This API updates the Resilience Hub application draft version. To use this Application Component for running 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.

  • id (Optional[String255], default: None ) –

    Identifier of the Application Component.

  • name (String255) –

    Name of the Application Component.

  • type (String255) –

    Type of Application Component. For more information about the types of Application Component, see Grouping resources in an AppComponent.

  • additional_info (Optional[AdditionalInfoMap], default: None ) –

    Currently, there is no supported additional information for Application Components.

  • 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.

  • ServiceQuotaExceededException –

    This exception occurs when you have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.

  • 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/resiliencehub.py
def create_app_version_app_component(
    self,
    app_arn: "capo_resiliencehub.types.arn.Arn",
    name: "capo_resiliencehub.types.string255.String255",
    type: "capo_resiliencehub.types.string255.String255",
    *,
    config_overrides: Optional[resiliencehubClientConfig] = None,
    id: Optional["capo_resiliencehub.types.string255.String255"] = None,
    additional_info: Optional[
        "capo_resiliencehub.types.additional_info_map.AdditionalInfoMap"
    ] = None,
    client_token: Optional[
        "capo_resiliencehub.types.client_token.ClientToken"
    ] = None,
) -> "capo_resiliencehub.types.create_app_version_app_component_response.CreateAppVersionAppComponentResponse":
    """<p>Creates a new Application Component in the Resilience Hub application.</p> <note> <p>This API updates the Resilience Hub application draft version. To use this Application Component for running assessments, you must publish the Resilience Hub application using the <code>PublishAppVersion</code> API.</p> </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>
        id: <p>Identifier of the Application Component.</p>
        name: <p>Name of the Application Component.</p>
        type: <p>Type of Application Component. For more information about the types of Application Component, see <a href="https://docs.aws.amazon.com/resilience-hub/latest/userguide/AppComponent.grouping.html">Grouping resources in an AppComponent</a>.</p>
        additional_info: <p>Currently, there is no supported additional information for Application Components.</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.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>This exception occurs when you have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.</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.
    """

    def _handler(
        req: "OperationRequest[capo_resiliencehub.types.create_app_version_app_component_request.CreateAppVersionAppComponentRequest]",
    ) -> OperationResponse[
        "capo_resiliencehub.types.create_app_version_app_component_response.CreateAppVersionAppComponentResponse"
    ]:
        import capo_resiliencehub._operations.aws_resilience_hub.create_app_version_app_component

        output, http_response = (
            capo_resiliencehub._operations.aws_resilience_hub.create_app_version_app_component.create_app_version_app_component(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateAppVersionAppComponent")
    )
    input_: capo_resiliencehub.types.create_app_version_app_component_request.CreateAppVersionAppComponentRequest = {
        "app_arn": app_arn,
        "name": name,
        "type": type,
    }
    if id is not None:
        input_["id"] = id
    if additional_info is not None:
        input_["additional_info"] = additional_info
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output