ResilienceHub / Client / create_app_version_resource

create_app_version_resource#

ResilienceHub.Client.create_app_version_resource(**kwargs)#

Adds a resource to the Resilience Hub application and assigns it to the specified Application Components. If you specify a new Application Component, Resilience Hub will automatically create the Application Component.

Note

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

  • To update application version with new physicalResourceID, you must call ResolveAppVersionResources API.

See also: AWS API Documentation

Request Syntax

response = client.create_app_version_resource(
    additionalInfo={
        'string': [
            'string',
        ]
    },
    appArn='string',
    appComponents=[
        'string',
    ],
    awsAccountId='string',
    awsRegion='string',
    clientToken='string',
    logicalResourceId={
        'eksSourceName': 'string',
        'identifier': 'string',
        'logicalStackName': 'string',
        'resourceGroupName': 'string',
        'terraformSourceName': 'string'
    },
    physicalResourceId='string',
    resourceName='string',
    resourceType='string'
)
Parameters:
  • additionalInfo (dict) –

    Currently, there is no supported additional information for resources.

    • (string) –

      • (list) –

        • (string) –

  • appArn (string) –

    [REQUIRED]

    The Amazon Resource Name (ARN) of the AWS 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 AWS General Reference guide.

  • appComponents (list) –

    [REQUIRED]

    The list of Application Components that this resource belongs to. If an Application Component is not part of the AWS Resilience Hub application, it will be added.

    • (string) –

  • awsAccountId (string) – The Amazon Web Services account that owns the physical resource.

  • awsRegion (string) – The Amazon Web Services region that owns the physical resource.

  • clientToken (string) –

    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.

    This field is autopopulated if not provided.

  • logicalResourceId (dict) –

    [REQUIRED]

    The logical identifier of the resource.

    • eksSourceName (string) –

      The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

      Note

      This parameter accepts values in “eks-cluster/namespace” format.

    • identifier (string) – [REQUIRED]

      The identifier of the resource.

    • logicalStackName (string) –

      The name of the CloudFormation stack this resource belongs to.

    • resourceGroupName (string) –

      The name of the resource group that this resource belongs to.

    • terraformSourceName (string) –

      The name of the Terraform S3 state file this resource belongs to.

  • physicalResourceId (string) –

    [REQUIRED]

    The physical identifier of the resource.

  • resourceName (string) –

    [REQUIRED]

    The name of the resource.

  • resourceType (string) –

    [REQUIRED]

    The type of resource.

Return type:

dict

Returns:

Response Syntax

{
    'appArn': 'string',
    'appVersion': 'string',
    'physicalResource': {
        'additionalInfo': {
            'string': [
                'string',
            ]
        },
        'appComponents': [
            {
                'additionalInfo': {
                    'string': [
                        'string',
                    ]
                },
                'id': 'string',
                'name': 'string',
                'type': 'string'
            },
        ],
        'excluded': True|False,
        'logicalResourceId': {
            'eksSourceName': 'string',
            'identifier': 'string',
            'logicalStackName': 'string',
            'resourceGroupName': 'string',
            'terraformSourceName': 'string'
        },
        'physicalResourceId': {
            'awsAccountId': 'string',
            'awsRegion': 'string',
            'identifier': 'string',
            'type': 'Arn'|'Native'
        },
        'resourceName': 'string',
        'resourceType': 'string'
    }
}

Response Structure

  • (dict) –

    • appArn (string) –

      The Amazon Resource Name (ARN) of the AWS 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 AWS General Reference guide.

    • appVersion (string) –

      The AWS Resilience Hub application version.

    • physicalResource (dict) –

      Defines a physical resource. A physical resource is a resource that exists in your account. It can be identified using an Amazon Resource Name (ARN) or a Resilience Hub-native identifier.

      • additionalInfo (dict) –

        Additional configuration parameters for an AWS Resilience Hub application.

        Note

        Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

        Key: "failover-regions"

        Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

        • (string) –

          • (list) –

            • (string) –

      • appComponents (list) –

        The application components that belong to this resource.

        • (dict) –

          Defines an Application Component.

          • additionalInfo (dict) –

            Additional configuration parameters for an AWS Resilience Hub application.

            Note

            Currently, this parameter accepts a key-value mapping (in a string format) of only one failover region and one associated account.

            Key: "failover-regions"

            Value: "[{"region":"<REGION>", "accounts":[{"id":"<ACCOUNT_ID>"}]}]"

            • (string) –

              • (list) –

                • (string) –

          • id (string) –

            Unique identifier of the Application Component.

          • name (string) –

            The name of the Application Component.

          • type (string) –

            The type of Application Component.

      • excluded (boolean) –

        Indicates if a resource is included or excluded from the assessment.

      • logicalResourceId (dict) –

        The logical identifier of the resource.

        • eksSourceName (string) –

          The name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to.

          Note

          This parameter accepts values in “eks-cluster/namespace” format.

        • identifier (string) –

          The identifier of the resource.

        • logicalStackName (string) –

          The name of the CloudFormation stack this resource belongs to.

        • resourceGroupName (string) –

          The name of the resource group that this resource belongs to.

        • terraformSourceName (string) –

          The name of the Terraform S3 state file this resource belongs to.

      • physicalResourceId (dict) –

        The physical identifier of the resource.

        • awsAccountId (string) –

          The Amazon Web Services account that owns the physical resource.

        • awsRegion (string) –

          The Amazon Web Services Region that the physical resource is located in.

        • identifier (string) –

          The identifier of the physical resource.

        • type (string) –

          Specifies the type of physical resource identifier.

          Arn

          The resource identifier is an Amazon Resource Name (ARN) .

          Native

          The resource identifier is an Resilience Hub-native identifier.

      • resourceName (string) –

        The name of the resource.

      • resourceType (string) –

        The type of resource.

Exceptions

  • ResilienceHub.Client.exceptions.InternalServerException

  • ResilienceHub.Client.exceptions.ResourceNotFoundException

  • ResilienceHub.Client.exceptions.ConflictException

  • ResilienceHub.Client.exceptions.ServiceQuotaExceededException

  • ResilienceHub.Client.exceptions.ThrottlingException

  • ResilienceHub.Client.exceptions.ValidationException

  • ResilienceHub.Client.exceptions.AccessDeniedException