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) –

        Name of the application this resource is mapped to when the mappingType is AppRegistryApp.

      • eksSourceName (string) –

        Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the mappingType is EKS.

        Note

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

      • logicalStackName (string) –

        Name of the CloudFormation stack this resource is mapped to when the mappingType is CfnStack.

      • mappingType (string) – [REQUIRED]

        Specifies the type of resource mapping.

      • 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 Groups that this resource is mapped to when the mappingType is ResourceGroup.

      • resourceName (string) –

        Name of the resource that this resource is mapped to when the mappingType is Resource.

      • terraformSourceName (string) –

        Name of the Terraform source that this resource is mapped to when the mappingType is Terraform.

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) –

          Name of the application this resource is mapped to when the mappingType is AppRegistryApp.

        • eksSourceName (string) –

          Name of the Amazon Elastic Kubernetes Service cluster and namespace that this resource is mapped to when the mappingType is EKS.

          Note

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

        • logicalStackName (string) –

          Name of the CloudFormation stack this resource is mapped to when the mappingType is CfnStack.

        • mappingType (string) –

          Specifies the type of resource mapping.

        • 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 Groups that this resource is mapped to when the mappingType is ResourceGroup.

        • resourceName (string) –

          Name of the resource that this resource is mapped to when the mappingType is Resource.

        • terraformSourceName (string) –

          Name of the Terraform source that this resource is mapped to when the mappingType is Terraform.

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