CfnAppProps

class aws_cdk.aws_resiliencehub.CfnAppProps(*, app_template_body, name, resource_mappings, app_assessment_schedule=None, description=None, event_subscriptions=None, permission_model=None, resiliency_policy_arn=None, tags=None)

Bases: object

Properties for defining a CfnApp.

Parameters:
  • app_template_body (str) –

    A JSON string that provides information about your application structure. To learn more about the appTemplateBody template, see the sample template in Sample appTemplateBody template . The appTemplateBody JSON string has the following structure: - ``resources`` The list of logical resources that needs to be included in the AWS Resilience Hub application. Type: Array .. epigraph:: Don’t add the resources that you want to exclude. Each resources array item includes the following fields: - ``logicalResourceId`` The logical identifier of the resource. Type: Object Each logicalResourceId object includes the following fields: - identifier Identifier of the resource. Type: String - logicalStackName Name of the AWS CloudFormation stack this resource belongs to. Type: String - resourceGroupName Name of the resource group this resource belongs to. Type: String - terraformSourceName Name of the Terraform S3 state file this resource belongs to. Type: String - eksSourceName Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. .. epigraph:: This parameter accepts values in “eks-cluster/namespace” format. Type: String - ``type`` The type of resource. Type: string - ``name`` Name of the resource. Type: String - additionalInfo Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:: 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>"}]}]" - ``appComponents`` The list of Application Components (AppComponent) that this resource belongs to. If an AppComponent is not part of the AWS Resilience Hub application, it will be added. Type: Array Each appComponents array item includes the following fields: - name Name of the AppComponent. Type: String - type The type of AppComponent. For more information about the types of AppComponent, see Grouping resources in an AppComponent . Type: String - resourceNames The list of included resources that are assigned to the AppComponent. Type: Array of strings - additionalInfo Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:: 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>"}]}]" - ``excludedResources`` The list of logical resource identifiers to be excluded from the application. Type: Array .. epigraph:: Don’t add the resources that you want to include. Each excludedResources array item includes the following fields: - ``logicalResourceIds`` The logical identifier of the resource. Type: Object .. epigraph:: You can configure only one of the following fields: - logicalStackName - resourceGroupName - terraformSourceName - eksSourceName Each logicalResourceIds object includes the following fields: - identifier The identifier of the resource. Type: String - logicalStackName Name of the AWS CloudFormation stack this resource belongs to. Type: String - resourceGroupName Name of the resource group this resource belongs to. Type: String - terraformSourceName Name of the Terraform S3 state file this resource belongs to. Type: String - eksSourceName Name of the Amazon Elastic Kubernetes Service cluster and namespace this resource belongs to. .. epigraph:: This parameter accepts values in “eks-cluster/namespace” format. Type: String - ``version`` The AWS Resilience Hub application version. - additionalInfo Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:: 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>"}]}]"

  • name (str) – Name for the application.

  • resource_mappings (Union[IResolvable, Sequence[Union[IResolvable, ResourceMappingProperty, Dict[str, Any]]]]) – An array of ResourceMapping objects.

  • app_assessment_schedule (Optional[str]) – Assessment execution schedule with ‘Daily’ or ‘Disabled’ values.

  • description (Optional[str]) – Optional description for an application.

  • event_subscriptions (Union[IResolvable, Sequence[Union[IResolvable, EventSubscriptionProperty, Dict[str, Any]]], None]) – The list of events you would like to subscribe and get notification for. Currently, AWS Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.

  • permission_model (Union[IResolvable, PermissionModelProperty, Dict[str, Any], None]) – Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.

  • resiliency_policy_arn (Optional[str]) – The Amazon Resource Name (ARN) of the resiliency policy.

  • tags (Optional[Mapping[str, str]]) – Tags assigned to the resource. A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_resiliencehub as resiliencehub

cfn_app_props = resiliencehub.CfnAppProps(
    app_template_body="appTemplateBody",
    name="name",
    resource_mappings=[resiliencehub.CfnApp.ResourceMappingProperty(
        mapping_type="mappingType",
        physical_resource_id=resiliencehub.CfnApp.PhysicalResourceIdProperty(
            identifier="identifier",
            type="type",

            # the properties below are optional
            aws_account_id="awsAccountId",
            aws_region="awsRegion"
        ),

        # the properties below are optional
        eks_source_name="eksSourceName",
        logical_stack_name="logicalStackName",
        resource_name="resourceName",
        terraform_source_name="terraformSourceName"
    )],

    # the properties below are optional
    app_assessment_schedule="appAssessmentSchedule",
    description="description",
    event_subscriptions=[resiliencehub.CfnApp.EventSubscriptionProperty(
        event_type="eventType",
        name="name",

        # the properties below are optional
        sns_topic_arn="snsTopicArn"
    )],
    permission_model=resiliencehub.CfnApp.PermissionModelProperty(
        type="type",

        # the properties below are optional
        cross_account_role_arns=["crossAccountRoleArns"],
        invoker_role_name="invokerRoleName"
    ),
    resiliency_policy_arn="resiliencyPolicyArn",
    tags={
        "tags_key": "tags"
    }
)

Attributes

app_assessment_schedule

Assessment execution schedule with ‘Daily’ or ‘Disabled’ values.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-appassessmentschedule

app_template_body

A JSON string that provides information about your application structure.

To learn more about the appTemplateBody template, see the sample template in Sample appTemplateBody template .

The appTemplateBody JSON string has the following structure:

  • ``resources``

The list of logical resources that needs to be included in the AWS Resilience Hub application.

Type: Array .. epigraph:

Don't add the resources that you want to exclude.

Each resources array item includes the following fields:

  • ``logicalResourceId``

The logical identifier of the resource.

Type: Object

Each logicalResourceId object includes the following fields:

  • identifier

Identifier of the resource.

Type: String

  • logicalStackName

Name of the AWS CloudFormation stack this resource belongs to.

Type: String

  • resourceGroupName

Name of the resource group this resource belongs to.

Type: String

  • terraformSourceName

Name of the Terraform S3 state file this resource belongs to.

Type: String

  • eksSourceName

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

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

Type: String

  • ``type``

The type of resource.

Type: string

  • ``name``

Name of the resource.

Type: String

  • additionalInfo

Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:

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>"}]}]"``
  • ``appComponents``

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

Type: Array

Each appComponents array item includes the following fields:

  • name

Name of the AppComponent.

Type: String

  • type

The type of AppComponent. For more information about the types of AppComponent, see Grouping resources in an AppComponent .

Type: String

  • resourceNames

The list of included resources that are assigned to the AppComponent.

Type: Array of strings

  • additionalInfo

Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:

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>"}]}]"``
  • ``excludedResources``

The list of logical resource identifiers to be excluded from the application.

Type: Array .. epigraph:

Don't add the resources that you want to include.

Each excludedResources array item includes the following fields:

  • ``logicalResourceIds``

The logical identifier of the resource.

Type: Object .. epigraph:

You can configure only one of the following fields:

- ``logicalStackName``
- ``resourceGroupName``
- ``terraformSourceName``
- ``eksSourceName``

Each logicalResourceIds object includes the following fields:

  • identifier

The identifier of the resource.

Type: String

  • logicalStackName

Name of the AWS CloudFormation stack this resource belongs to.

Type: String

  • resourceGroupName

Name of the resource group this resource belongs to.

Type: String

  • terraformSourceName

Name of the Terraform S3 state file this resource belongs to.

Type: String

  • eksSourceName

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

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

Type: String

  • ``version``

The AWS Resilience Hub application version.

  • additionalInfo

Additional configuration parameters for an AWS Resilience Hub application. If you want to implement additionalInfo through the AWS Resilience Hub console rather than using an API call, see Configure the application configuration parameters . .. epigraph:

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>"}]}]"``
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-apptemplatebody

description

Optional description for an application.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-description

event_subscriptions

The list of events you would like to subscribe and get notification for.

Currently, AWS Resilience Hub supports notifications only for Drift detected and Scheduled assessment failure events.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-eventsubscriptions

name

Name for the application.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-name

permission_model

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

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-permissionmodel

resiliency_policy_arn

The Amazon Resource Name (ARN) of the resiliency policy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-resiliencypolicyarn

resource_mappings

An array of ResourceMapping objects.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-resourcemappings

tags

Tags assigned to the resource.

A tag is a label that you assign to an AWS resource. Each tag consists of a key/value pair.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resiliencehub-app.html#cfn-resiliencehub-app-tags