ResilienceHub / Client / add_draft_app_version_resource_mappings

add_draft_app_version_resource_mappings#

ResilienceHub.Client.add_draft_app_version_resource_mappings(**kwargs)#

Adds the source of resource-maps to the draft version of an application. During assessment, Resilience Hub will use these resource-maps to resolve the latest physical ID for each resource in the application template. For more information about different types of resources suported by Resilience Hub and how to add them in your application, see Step 2: How is your application managed? in the Resilience Hub User Guide.

See also: AWS API Documentation

Request Syntax

response = client.add_draft_app_version_resource_mappings(
    appArn='string',
    resourceMappings=[
        {
            'appRegistryAppName': 'string',
            'eksSourceName': 'string',
            'logicalStackName': 'string',
            'mappingType': 'CfnStack'|'Resource'|'AppRegistryApp'|'ResourceGroup'|'Terraform'|'EKS',
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceGroupName': 'string',
            'resourceName': 'string',
            'terraformSourceName': 'string'
        },
    ]
)
Parameters:
  • appArn (string) –

    [REQUIRED]

    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.

  • resourceMappings (list) –

    [REQUIRED]

    Mappings used to map logical resources from the template to physical resources. You can use the mapping type CFN_STACK if the application template uses a logical stack name. Or you can map individual resources by using the mapping type RESOURCE. We recommend using the mapping type CFN_STACK if the application is backed by a CloudFormation stack.

    • (dict) –

      Defines a resource mapping.

      • appRegistryAppName (string) –

        The name of the application this resource is mapped to.

      • eksSourceName (string) –

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

        Note

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

      • logicalStackName (string) –

        The name of the CloudFormation stack this resource is mapped to.

      • mappingType (string) – [REQUIRED]

        Specifies the type of resource mapping.

        AppRegistryApp

        The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

        CfnStack

        The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

        Resource

        The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

        ResourceGroup

        The resource is mapped to Resource Groups. The name of the resource group is contained in the resourceGroupName property.

      • physicalResourceId (dict) – [REQUIRED]

        Identifier of the physical 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) – [REQUIRED]

          Identifier of the physical resource.

        • type (string) – [REQUIRED]

          Specifies the type of physical resource identifier.

          Arn

          The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:

          • AWS::ECS::Service

          • AWS::EFS::FileSystem

          • AWS::ElasticLoadBalancingV2::LoadBalancer

          • AWS::Lambda::Function

          • AWS::SNS::Topic

            Native

          The resource identifier is an Resilience Hub-native identifier and it can identify the following list of resources:

          • AWS::ApiGateway::RestApi

          • AWS::ApiGatewayV2::Api

          • AWS::AutoScaling::AutoScalingGroup

          • AWS::DocDB::DBCluster

          • AWS::DocDB::DBGlobalCluster

          • AWS::DocDB::DBInstance

          • AWS::DynamoDB::GlobalTable

          • AWS::DynamoDB::Table

          • AWS::EC2::EC2Fleet

          • AWS::EC2::Instance

          • AWS::EC2::NatGateway

          • AWS::EC2::Volume

          • AWS::ElasticLoadBalancing::LoadBalancer

          • AWS::RDS::DBCluster

          • AWS::RDS::DBInstance

          • AWS::RDS::GlobalCluster

          • AWS::Route53::RecordSet

          • AWS::S3::Bucket

          • AWS::SQS::Queue

      • resourceGroupName (string) –

        Name of the resource group that the resource is mapped to.

      • resourceName (string) –

        Name of the resource that the resource is mapped to.

      • terraformSourceName (string) –

        The short name of the Terraform source.

Return type:

dict

Returns:

Response Syntax

{
    'appArn': 'string',
    'appVersion': 'string',
    'resourceMappings': [
        {
            'appRegistryAppName': 'string',
            'eksSourceName': 'string',
            'logicalStackName': 'string',
            'mappingType': 'CfnStack'|'Resource'|'AppRegistryApp'|'ResourceGroup'|'Terraform'|'EKS',
            'physicalResourceId': {
                'awsAccountId': 'string',
                'awsRegion': 'string',
                'identifier': 'string',
                'type': 'Arn'|'Native'
            },
            'resourceGroupName': 'string',
            'resourceName': 'string',
            'terraformSourceName': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • appArn (string) –

      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.

    • appVersion (string) –

      The version of the application.

    • resourceMappings (list) –

      List of sources that are used to map a logical resource from the template to a physical resource. You can use sources such as CloudFormation, Terraform state files, AppRegistry applications, or Amazon EKS.

      • (dict) –

        Defines a resource mapping.

        • appRegistryAppName (string) –

          The name of the application this resource is mapped to.

        • eksSourceName (string) –

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

          Note

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

        • logicalStackName (string) –

          The name of the CloudFormation stack this resource is mapped to.

        • mappingType (string) –

          Specifies the type of resource mapping.

          AppRegistryApp

          The resource is mapped to another application. The name of the application is contained in the appRegistryAppName property.

          CfnStack

          The resource is mapped to a CloudFormation stack. The name of the CloudFormation stack is contained in the logicalStackName property.

          Resource

          The resource is mapped to another resource. The name of the resource is contained in the resourceName property.

          ResourceGroup

          The resource is mapped to Resource Groups. The name of the resource group is contained in the resourceGroupName property.

        • physicalResourceId (dict) –

          Identifier of the physical 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) –

            Identifier of the physical resource.

          • type (string) –

            Specifies the type of physical resource identifier.

            Arn

            The resource identifier is an Amazon Resource Name (ARN) and it can identify the following list of resources:

            • AWS::ECS::Service

            • AWS::EFS::FileSystem

            • AWS::ElasticLoadBalancingV2::LoadBalancer

            • AWS::Lambda::Function

            • AWS::SNS::Topic

              Native

            The resource identifier is an Resilience Hub-native identifier and it can identify the following list of resources:

            • AWS::ApiGateway::RestApi

            • AWS::ApiGatewayV2::Api

            • AWS::AutoScaling::AutoScalingGroup

            • AWS::DocDB::DBCluster

            • AWS::DocDB::DBGlobalCluster

            • AWS::DocDB::DBInstance

            • AWS::DynamoDB::GlobalTable

            • AWS::DynamoDB::Table

            • AWS::EC2::EC2Fleet

            • AWS::EC2::Instance

            • AWS::EC2::NatGateway

            • AWS::EC2::Volume

            • AWS::ElasticLoadBalancing::LoadBalancer

            • AWS::RDS::DBCluster

            • AWS::RDS::DBInstance

            • AWS::RDS::GlobalCluster

            • AWS::Route53::RecordSet

            • AWS::S3::Bucket

            • AWS::SQS::Queue

        • resourceGroupName (string) –

          Name of the resource group that the resource is mapped to.

        • resourceName (string) –

          Name of the resource that the resource is mapped to.

        • terraformSourceName (string) –

          The short name of the Terraform source.

Exceptions

  • ResilienceHub.Client.exceptions.InternalServerException

  • ResilienceHub.Client.exceptions.ResourceNotFoundException

  • ResilienceHub.Client.exceptions.ConflictException

  • ResilienceHub.Client.exceptions.ThrottlingException

  • ResilienceHub.Client.exceptions.ValidationException

  • ResilienceHub.Client.exceptions.AccessDeniedException