Class CfnAppProps.Builder

java.lang.Object
software.amazon.awscdk.services.resiliencehub.CfnAppProps.Builder
All Implemented Interfaces:
software.amazon.jsii.Builder<CfnAppProps>
Enclosing interface:
CfnAppProps

@Stability(Stable) public static final class CfnAppProps.Builder extends Object implements software.amazon.jsii.Builder<CfnAppProps>
A builder for CfnAppProps
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • appTemplateBody

      @Stability(Stable) public CfnAppProps.Builder appTemplateBody(String appTemplateBody)
      Parameters:
      appTemplateBody - A JSON string that provides information about your application structure. This parameter is required. 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

      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.

      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 .

      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 .

      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

      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

      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.

      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 .

      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>"}]}]"

      Returns:
      this
    • name

      @Stability(Stable) public CfnAppProps.Builder name(String name)
      Sets the value of CfnAppProps.getName()
      Parameters:
      name - Name for the application. This parameter is required.
      Returns:
      this
    • resourceMappings

      @Stability(Stable) public CfnAppProps.Builder resourceMappings(IResolvable resourceMappings)
      Parameters:
      resourceMappings - An array of ResourceMapping objects. This parameter is required.
      Returns:
      this
    • resourceMappings

      @Stability(Stable) public CfnAppProps.Builder resourceMappings(List<? extends Object> resourceMappings)
      Parameters:
      resourceMappings - An array of ResourceMapping objects. This parameter is required.
      Returns:
      this
    • appAssessmentSchedule

      @Stability(Stable) public CfnAppProps.Builder appAssessmentSchedule(String appAssessmentSchedule)
      Parameters:
      appAssessmentSchedule - Assessment execution schedule with 'Daily' or 'Disabled' values.
      Returns:
      this
    • description

      @Stability(Stable) public CfnAppProps.Builder description(String description)
      Parameters:
      description - Optional description for an application.
      Returns:
      this
    • eventSubscriptions

      @Stability(Stable) public CfnAppProps.Builder eventSubscriptions(IResolvable eventSubscriptions)
      Parameters:
      eventSubscriptions - 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.
      Returns:
      this
    • eventSubscriptions

      @Stability(Stable) public CfnAppProps.Builder eventSubscriptions(List<? extends Object> eventSubscriptions)
      Parameters:
      eventSubscriptions - 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.
      Returns:
      this
    • permissionModel

      @Stability(Stable) public CfnAppProps.Builder permissionModel(IResolvable permissionModel)
      Parameters:
      permissionModel - Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.
      Returns:
      this
    • permissionModel

      @Stability(Stable) public CfnAppProps.Builder permissionModel(CfnApp.PermissionModelProperty permissionModel)
      Parameters:
      permissionModel - Defines the roles and credentials that AWS Resilience Hub would use while creating the application, importing its resources, and running an assessment.
      Returns:
      this
    • resiliencyPolicyArn

      @Stability(Stable) public CfnAppProps.Builder resiliencyPolicyArn(String resiliencyPolicyArn)
      Parameters:
      resiliencyPolicyArn - The Amazon Resource Name (ARN) of the resiliency policy.
      Returns:
      this
    • tags

      @Stability(Stable) public CfnAppProps.Builder tags(Map<String,String> tags)
      Sets the value of CfnAppProps.getTags()
      Parameters:
      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.
      Returns:
      this
    • build

      @Stability(Stable) public CfnAppProps build()
      Builds the configured instance.
      Specified by:
      build in interface software.amazon.jsii.Builder<CfnAppProps>
      Returns:
      a new instance of CfnAppProps
      Throws:
      NullPointerException - if any required attribute was not provided