Class CfnExperimentTemplate

java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.103.1 (build bef2dea)", date="2024-10-05T03:43:43.803Z") @Stability(Stable) public class CfnExperimentTemplate extends CfnResource implements IInspectable, ITaggable
Specifies an experiment template.

An experiment template includes the following components:

  • Targets : A target can be a specific resource in your AWS environment, or one or more resources that match criteria that you specify, for example, resources that have specific tags.
  • Actions : The actions to carry out on the target. You can specify multiple actions, the duration of each action, and when to start each action during an experiment.
  • Stop conditions : If a stop condition is triggered while an experiment is running, the experiment is automatically stopped. You can define a stop condition as a CloudWatch alarm.

For more information, see Experiment templates in the AWS Fault Injection Service User Guide .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.fis.*;
 Object cloudWatchLogsConfiguration;
 Object s3Configuration;
 CfnExperimentTemplate cfnExperimentTemplate = CfnExperimentTemplate.Builder.create(this, "MyCfnExperimentTemplate")
         .description("description")
         .roleArn("roleArn")
         .stopConditions(List.of(ExperimentTemplateStopConditionProperty.builder()
                 .source("source")
                 // the properties below are optional
                 .value("value")
                 .build()))
         .targets(Map.of(
                 "targetsKey", ExperimentTemplateTargetProperty.builder()
                         .resourceType("resourceType")
                         .selectionMode("selectionMode")
                         // the properties below are optional
                         .filters(List.of(ExperimentTemplateTargetFilterProperty.builder()
                                 .path("path")
                                 .values(List.of("values"))
                                 .build()))
                         .parameters(Map.of(
                                 "parametersKey", "parameters"))
                         .resourceArns(List.of("resourceArns"))
                         .resourceTags(Map.of(
                                 "resourceTagsKey", "resourceTags"))
                         .build()))
         // the properties below are optional
         .actions(Map.of(
                 "actionsKey", ExperimentTemplateActionProperty.builder()
                         .actionId("actionId")
                         // the properties below are optional
                         .description("description")
                         .parameters(Map.of(
                                 "parametersKey", "parameters"))
                         .startAfter(List.of("startAfter"))
                         .targets(Map.of(
                                 "targetsKey", "targets"))
                         .build()))
         .experimentOptions(ExperimentTemplateExperimentOptionsProperty.builder()
                 .accountTargeting("accountTargeting")
                 .emptyTargetResolutionMode("emptyTargetResolutionMode")
                 .build())
         .logConfiguration(ExperimentTemplateLogConfigurationProperty.builder()
                 .logSchemaVersion(123)
                 // the properties below are optional
                 .cloudWatchLogsConfiguration(cloudWatchLogsConfiguration)
                 .s3Configuration(s3Configuration)
                 .build())
         .tags(Map.of(
                 "tagsKey", "tags"))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnExperimentTemplate

      protected CfnExperimentTemplate(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnExperimentTemplate

      protected CfnExperimentTemplate(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnExperimentTemplate

      @Stability(Stable) public CfnExperimentTemplate(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnExperimentTemplateProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
      The ID of the experiment template.
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getDescription

      @Stability(Stable) @NotNull public String getDescription()
      The description for the experiment template.
    • setDescription

      @Stability(Stable) public void setDescription(@NotNull String value)
      The description for the experiment template.
    • getRoleArn

      @Stability(Stable) @NotNull public String getRoleArn()
      The Amazon Resource Name (ARN) of an IAM role.
    • setRoleArn

      @Stability(Stable) public void setRoleArn(@NotNull String value)
      The Amazon Resource Name (ARN) of an IAM role.
    • getStopConditions

      @Stability(Stable) @NotNull public Object getStopConditions()
      The stop conditions for the experiment.
    • setStopConditions

      @Stability(Stable) public void setStopConditions(@NotNull IResolvable value)
      The stop conditions for the experiment.
    • setStopConditions

      @Stability(Stable) public void setStopConditions(@NotNull List<Object> value)
      The stop conditions for the experiment.
    • getTargets

      @Stability(Stable) @NotNull public Object getTargets()
      The targets for the experiment.
    • setTargets

      @Stability(Stable) public void setTargets(@NotNull IResolvable value)
      The targets for the experiment.
    • setTargets

      @Stability(Stable) public void setTargets(@NotNull Map<String,Object> value)
      The targets for the experiment.
    • getActions

      @Stability(Stable) @Nullable public Object getActions()
      The actions for the experiment.
    • setActions

      @Stability(Stable) public void setActions(@Nullable IResolvable value)
      The actions for the experiment.
    • setActions

      @Stability(Stable) public void setActions(@Nullable Map<String,Object> value)
      The actions for the experiment.
    • getExperimentOptions

      @Stability(Stable) @Nullable public Object getExperimentOptions()
      The experiment options for an experiment template.
    • setExperimentOptions

      @Stability(Stable) public void setExperimentOptions(@Nullable IResolvable value)
      The experiment options for an experiment template.
    • setExperimentOptions

      @Stability(Stable) public void setExperimentOptions(@Nullable CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty value)
      The experiment options for an experiment template.
    • getLogConfiguration

      @Stability(Stable) @Nullable public Object getLogConfiguration()
      The configuration for experiment logging.
    • setLogConfiguration

      @Stability(Stable) public void setLogConfiguration(@Nullable IResolvable value)
      The configuration for experiment logging.
    • setLogConfiguration

      @Stability(Stable) public void setLogConfiguration(@Nullable CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty value)
      The configuration for experiment logging.
    • getTagsRaw

      @Stability(Stable) @Nullable public Map<String,String> getTagsRaw()
      The tags for the experiment template.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable Map<String,String> value)
      The tags for the experiment template.