aws-cdk-lib 2.114.0__py3-none-any.whl → 2.115.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (47) hide show
  1. aws_cdk/__init__.py +7 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.114.0.jsii.tgz → aws-cdk-lib@2.115.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +6 -0
  5. aws_cdk/aws_apigatewayv2/__init__.py +223 -574
  6. aws_cdk/aws_autoscaling/__init__.py +99 -86
  7. aws_cdk/aws_bedrock/__init__.py +355 -0
  8. aws_cdk/aws_billingconductor/__init__.py +41 -0
  9. aws_cdk/aws_cleanrooms/__init__.py +46 -20
  10. aws_cdk/aws_cloudformation/__init__.py +5 -1
  11. aws_cdk/aws_cloudtrail/__init__.py +89 -0
  12. aws_cdk/aws_codedeploy/__init__.py +233 -1
  13. aws_cdk/aws_connect/__init__.py +49 -2
  14. aws_cdk/aws_dlm/__init__.py +8 -11
  15. aws_cdk/aws_dms/__init__.py +3861 -1643
  16. aws_cdk/aws_ec2/__init__.py +91 -47
  17. aws_cdk/aws_ecs/__init__.py +18 -0
  18. aws_cdk/aws_efs/__init__.py +1 -1
  19. aws_cdk/aws_eks/__init__.py +26 -13
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +110 -54
  21. aws_cdk/aws_emr/__init__.py +287 -18
  22. aws_cdk/aws_eventschemas/__init__.py +1 -1
  23. aws_cdk/aws_fis/__init__.py +466 -34
  24. aws_cdk/aws_iam/__init__.py +47 -35
  25. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  26. aws_cdk/aws_lightsail/__init__.py +4 -2
  27. aws_cdk/aws_logs/__init__.py +5 -4
  28. aws_cdk/aws_opensearchservice/__init__.py +47 -0
  29. aws_cdk/aws_osis/__init__.py +272 -32
  30. aws_cdk/aws_rds/__init__.py +205 -87
  31. aws_cdk/aws_resiliencehub/__init__.py +9 -14
  32. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  33. aws_cdk/aws_route53/__init__.py +3 -3
  34. aws_cdk/aws_route53_targets/__init__.py +2 -2
  35. aws_cdk/aws_s3/__init__.py +2 -6
  36. aws_cdk/aws_s3express/__init__.py +3 -3
  37. aws_cdk/aws_sagemaker/__init__.py +82 -11
  38. aws_cdk/aws_sns/__init__.py +181 -0
  39. aws_cdk/aws_stepfunctions/__init__.py +16 -8
  40. aws_cdk/aws_stepfunctions_tasks/__init__.py +975 -139
  41. aws_cdk/aws_workspacesthinclient/__init__.py +44 -35
  42. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/METADATA +2 -2
  43. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/RECORD +47 -46
  44. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.114.0.dist-info → aws_cdk_lib-2.115.0.dist-info}/top_level.txt +0 -0
@@ -56,15 +56,7 @@ class CfnExperimentTemplate(
56
56
  metaclass=jsii.JSIIMeta,
57
57
  jsii_type="aws-cdk-lib.aws_fis.CfnExperimentTemplate",
58
58
  ):
59
- '''Specifies an experiment template.
60
-
61
- An experiment template includes the following components:
62
-
63
- - *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.
64
- - *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.
65
- - *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.
66
-
67
- For more information, see `Experiment templates <https://docs.aws.amazon.com/fis/latest/userguide/experiment-templates.html>`_ in the *AWS Fault Injection Simulator User Guide* .
59
+ '''Describes an experiment template.
68
60
 
69
61
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html
70
62
  :cloudformationResource: AWS::FIS::ExperimentTemplate
@@ -124,6 +116,10 @@ class CfnExperimentTemplate(
124
116
  }
125
117
  )
126
118
  },
119
+ experiment_options=fis.CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty(
120
+ account_targeting="accountTargeting",
121
+ empty_target_resolution_mode="emptyTargetResolutionMode"
122
+ ),
127
123
  log_configuration=fis.CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty(
128
124
  log_schema_version=123,
129
125
 
@@ -147,6 +143,7 @@ class CfnExperimentTemplate(
147
143
  stop_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnExperimentTemplate.ExperimentTemplateStopConditionProperty", typing.Dict[builtins.str, typing.Any]]]]],
148
144
  targets: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnExperimentTemplate.ExperimentTemplateTargetProperty", typing.Dict[builtins.str, typing.Any]]]]],
149
145
  actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnExperimentTemplate.ExperimentTemplateActionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
146
+ experiment_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
150
147
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
151
148
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
152
149
  ) -> None:
@@ -158,6 +155,7 @@ class CfnExperimentTemplate(
158
155
  :param stop_conditions: The stop conditions for the experiment.
159
156
  :param targets: The targets for the experiment.
160
157
  :param actions: The actions for the experiment.
158
+ :param experiment_options: The experiment options for an experiment template.
161
159
  :param log_configuration: The configuration for experiment logging.
162
160
  :param tags: The tags for the experiment template.
163
161
  '''
@@ -171,6 +169,7 @@ class CfnExperimentTemplate(
171
169
  stop_conditions=stop_conditions,
172
170
  targets=targets,
173
171
  actions=actions,
172
+ experiment_options=experiment_options,
174
173
  log_configuration=log_configuration,
175
174
  tags=tags,
176
175
  )
@@ -210,8 +209,7 @@ class CfnExperimentTemplate(
210
209
  @builtins.property
211
210
  @jsii.member(jsii_name="attrId")
212
211
  def attr_id(self) -> builtins.str:
213
- '''The ID of the experiment template.
214
-
212
+ '''
215
213
  :cloudformationAttribute: Id
216
214
  '''
217
215
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -307,6 +305,24 @@ class CfnExperimentTemplate(
307
305
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
308
306
  jsii.set(self, "actions", value)
309
307
 
308
+ @builtins.property
309
+ @jsii.member(jsii_name="experimentOptions")
310
+ def experiment_options(
311
+ self,
312
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty"]]:
313
+ '''The experiment options for an experiment template.'''
314
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty"]], jsii.get(self, "experimentOptions"))
315
+
316
+ @experiment_options.setter
317
+ def experiment_options(
318
+ self,
319
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty"]],
320
+ ) -> None:
321
+ if __debug__:
322
+ type_hints = typing.get_type_hints(_typecheckingstub__2251459b83052b3128b2130de1f378662da3a8fc2b39b8c1132616a0a918cb23)
323
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
324
+ jsii.set(self, "experimentOptions", value)
325
+
310
326
  @builtins.property
311
327
  @jsii.member(jsii_name="logConfiguration")
312
328
  def log_configuration(
@@ -414,9 +430,7 @@ class CfnExperimentTemplate(
414
430
  start_after: typing.Optional[typing.Sequence[builtins.str]] = None,
415
431
  targets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
416
432
  ) -> None:
417
- '''Specifies an action for an experiment template.
418
-
419
- For more information, see `Actions <https://docs.aws.amazon.com/fis/latest/userguide/actions.html>`_ in the *AWS Fault Injection Simulator User Guide* .
433
+ '''Describes an action for an experiment template.
420
434
 
421
435
  :param action_id: The ID of the action.
422
436
  :param description: A description for the action.
@@ -527,6 +541,79 @@ class CfnExperimentTemplate(
527
541
  k + "=" + repr(v) for k, v in self._values.items()
528
542
  )
529
543
 
544
+ @jsii.data_type(
545
+ jsii_type="aws-cdk-lib.aws_fis.CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty",
546
+ jsii_struct_bases=[],
547
+ name_mapping={
548
+ "account_targeting": "accountTargeting",
549
+ "empty_target_resolution_mode": "emptyTargetResolutionMode",
550
+ },
551
+ )
552
+ class ExperimentTemplateExperimentOptionsProperty:
553
+ def __init__(
554
+ self,
555
+ *,
556
+ account_targeting: typing.Optional[builtins.str] = None,
557
+ empty_target_resolution_mode: typing.Optional[builtins.str] = None,
558
+ ) -> None:
559
+ '''Describes the experiment options for an experiment template.
560
+
561
+ :param account_targeting: The account targeting setting for an experiment template.
562
+ :param empty_target_resolution_mode: The empty target resolution mode for an experiment template.
563
+
564
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateexperimentoptions.html
565
+ :exampleMetadata: fixture=_generated
566
+
567
+ Example::
568
+
569
+ # The code below shows an example of how to instantiate this type.
570
+ # The values are placeholders you should change.
571
+ from aws_cdk import aws_fis as fis
572
+
573
+ experiment_template_experiment_options_property = fis.CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty(
574
+ account_targeting="accountTargeting",
575
+ empty_target_resolution_mode="emptyTargetResolutionMode"
576
+ )
577
+ '''
578
+ if __debug__:
579
+ type_hints = typing.get_type_hints(_typecheckingstub__869a915a73baa324d4389a3b1a7ec2993ddb272931a4d1ca1bca643f0c5c7277)
580
+ check_type(argname="argument account_targeting", value=account_targeting, expected_type=type_hints["account_targeting"])
581
+ check_type(argname="argument empty_target_resolution_mode", value=empty_target_resolution_mode, expected_type=type_hints["empty_target_resolution_mode"])
582
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
583
+ if account_targeting is not None:
584
+ self._values["account_targeting"] = account_targeting
585
+ if empty_target_resolution_mode is not None:
586
+ self._values["empty_target_resolution_mode"] = empty_target_resolution_mode
587
+
588
+ @builtins.property
589
+ def account_targeting(self) -> typing.Optional[builtins.str]:
590
+ '''The account targeting setting for an experiment template.
591
+
592
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateexperimentoptions.html#cfn-fis-experimenttemplate-experimenttemplateexperimentoptions-accounttargeting
593
+ '''
594
+ result = self._values.get("account_targeting")
595
+ return typing.cast(typing.Optional[builtins.str], result)
596
+
597
+ @builtins.property
598
+ def empty_target_resolution_mode(self) -> typing.Optional[builtins.str]:
599
+ '''The empty target resolution mode for an experiment template.
600
+
601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplateexperimentoptions.html#cfn-fis-experimenttemplate-experimenttemplateexperimentoptions-emptytargetresolutionmode
602
+ '''
603
+ result = self._values.get("empty_target_resolution_mode")
604
+ return typing.cast(typing.Optional[builtins.str], result)
605
+
606
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
607
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
608
+
609
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
610
+ return not (rhs == self)
611
+
612
+ def __repr__(self) -> str:
613
+ return "ExperimentTemplateExperimentOptionsProperty(%s)" % ", ".join(
614
+ k + "=" + repr(v) for k, v in self._values.items()
615
+ )
616
+
530
617
  @jsii.data_type(
531
618
  jsii_type="aws-cdk-lib.aws_fis.CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty",
532
619
  jsii_struct_bases=[],
@@ -544,13 +631,11 @@ class CfnExperimentTemplate(
544
631
  cloud_watch_logs_configuration: typing.Any = None,
545
632
  s3_configuration: typing.Any = None,
546
633
  ) -> None:
547
- '''Specifies the configuration for experiment logging.
548
-
549
- For more information, see `Experiment logging <https://docs.aws.amazon.com/fis/latest/userguide/monitoring-logging.html>`_ in the *AWS Fault Injection Simulator User Guide* .
634
+ '''Describes the configuration for experiment logging.
550
635
 
551
636
  :param log_schema_version: The schema version.
552
- :param cloud_watch_logs_configuration: The configuration for experiment logging to CloudWatch Logs .
553
- :param s3_configuration: The configuration for experiment logging to Amazon S3 .
637
+ :param cloud_watch_logs_configuration: The configuration for experiment logging to Amazon CloudWatch Logs.
638
+ :param s3_configuration: The configuration for experiment logging to Amazon S3.
554
639
 
555
640
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatelogconfiguration.html
556
641
  :exampleMetadata: fixture=_generated
@@ -597,7 +682,7 @@ class CfnExperimentTemplate(
597
682
 
598
683
  @builtins.property
599
684
  def cloud_watch_logs_configuration(self) -> typing.Any:
600
- '''The configuration for experiment logging to CloudWatch Logs .
685
+ '''The configuration for experiment logging to Amazon CloudWatch Logs.
601
686
 
602
687
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatelogconfiguration.html#cfn-fis-experimenttemplate-experimenttemplatelogconfiguration-cloudwatchlogsconfiguration
603
688
  '''
@@ -606,7 +691,7 @@ class CfnExperimentTemplate(
606
691
 
607
692
  @builtins.property
608
693
  def s3_configuration(self) -> typing.Any:
609
- '''The configuration for experiment logging to Amazon S3 .
694
+ '''The configuration for experiment logging to Amazon S3.
610
695
 
611
696
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatelogconfiguration.html#cfn-fis-experimenttemplate-experimenttemplatelogconfiguration-s3configuration
612
697
  '''
@@ -636,9 +721,7 @@ class CfnExperimentTemplate(
636
721
  source: builtins.str,
637
722
  value: typing.Optional[builtins.str] = None,
638
723
  ) -> None:
639
- '''Specifies a stop condition for an experiment template.
640
-
641
- For more information, see `Stop conditions <https://docs.aws.amazon.com/fis/latest/userguide/stop-conditions.html>`_ in the *AWS Fault Injection Simulator User Guide* .
724
+ '''Describes a stop condition for an experiment template.
642
725
 
643
726
  :param source: The source for the stop condition.
644
727
  :param value: The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.
@@ -711,9 +794,7 @@ class CfnExperimentTemplate(
711
794
  path: builtins.str,
712
795
  values: typing.Sequence[builtins.str],
713
796
  ) -> None:
714
- '''Specifies a filter used for the target resource input in an experiment template.
715
-
716
- For more information, see `Resource filters <https://docs.aws.amazon.com/fis/latest/userguide/targets.html#target-filters>`_ in the *AWS Fault Injection Simulator User Guide* .
797
+ '''Describes a filter used for the target resources in an experiment template.
717
798
 
718
799
  :param path: The attribute path for the filter.
719
800
  :param values: The attribute values for the filter.
@@ -795,16 +876,12 @@ class CfnExperimentTemplate(
795
876
  resource_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
796
877
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
797
878
  ) -> None:
798
- '''Specifies a target for an experiment.
799
-
800
- You must specify at least one Amazon Resource Name (ARN) or at least one resource tag. You cannot specify both ARNs and tags.
801
-
802
- For more information, see `Targets <https://docs.aws.amazon.com/fis/latest/userguide/targets.html>`_ in the *AWS Fault Injection Simulator User Guide* .
879
+ '''Describes a target for an experiment template.
803
880
 
804
881
  :param resource_type: The resource type.
805
882
  :param selection_mode: Scopes the identified resources to a specific count or percentage.
806
883
  :param filters: The filters to apply to identify target resources using specific attributes.
807
- :param parameters: The parameters for the resource type.
884
+ :param parameters: The resource type parameters.
808
885
  :param resource_arns: The Amazon Resource Names (ARNs) of the targets.
809
886
  :param resource_tags: The tags for the target resources.
810
887
 
@@ -891,7 +968,7 @@ class CfnExperimentTemplate(
891
968
  def parameters(
892
969
  self,
893
970
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
894
- '''The parameters for the resource type.
971
+ '''The resource type parameters.
895
972
 
896
973
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-fis-experimenttemplate-experimenttemplatetarget.html#cfn-fis-experimenttemplate-experimenttemplatetarget-parameters
897
974
  '''
@@ -1012,6 +1089,7 @@ class CfnExperimentTemplate(
1012
1089
  "stop_conditions": "stopConditions",
1013
1090
  "targets": "targets",
1014
1091
  "actions": "actions",
1092
+ "experiment_options": "experimentOptions",
1015
1093
  "log_configuration": "logConfiguration",
1016
1094
  "tags": "tags",
1017
1095
  },
@@ -1025,6 +1103,7 @@ class CfnExperimentTemplateProps:
1025
1103
  stop_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateStopConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
1026
1104
  targets: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateTargetProperty, typing.Dict[builtins.str, typing.Any]]]]],
1027
1105
  actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1106
+ experiment_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1028
1107
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1029
1108
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1030
1109
  ) -> None:
@@ -1035,6 +1114,7 @@ class CfnExperimentTemplateProps:
1035
1114
  :param stop_conditions: The stop conditions for the experiment.
1036
1115
  :param targets: The targets for the experiment.
1037
1116
  :param actions: The actions for the experiment.
1117
+ :param experiment_options: The experiment options for an experiment template.
1038
1118
  :param log_configuration: The configuration for experiment logging.
1039
1119
  :param tags: The tags for the experiment template.
1040
1120
 
@@ -1095,6 +1175,10 @@ class CfnExperimentTemplateProps:
1095
1175
  }
1096
1176
  )
1097
1177
  },
1178
+ experiment_options=fis.CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty(
1179
+ account_targeting="accountTargeting",
1180
+ empty_target_resolution_mode="emptyTargetResolutionMode"
1181
+ ),
1098
1182
  log_configuration=fis.CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty(
1099
1183
  log_schema_version=123,
1100
1184
 
@@ -1114,6 +1198,7 @@ class CfnExperimentTemplateProps:
1114
1198
  check_type(argname="argument stop_conditions", value=stop_conditions, expected_type=type_hints["stop_conditions"])
1115
1199
  check_type(argname="argument targets", value=targets, expected_type=type_hints["targets"])
1116
1200
  check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
1201
+ check_type(argname="argument experiment_options", value=experiment_options, expected_type=type_hints["experiment_options"])
1117
1202
  check_type(argname="argument log_configuration", value=log_configuration, expected_type=type_hints["log_configuration"])
1118
1203
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1119
1204
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -1124,6 +1209,8 @@ class CfnExperimentTemplateProps:
1124
1209
  }
1125
1210
  if actions is not None:
1126
1211
  self._values["actions"] = actions
1212
+ if experiment_options is not None:
1213
+ self._values["experiment_options"] = experiment_options
1127
1214
  if log_configuration is not None:
1128
1215
  self._values["log_configuration"] = log_configuration
1129
1216
  if tags is not None:
@@ -1184,6 +1271,17 @@ class CfnExperimentTemplateProps:
1184
1271
  result = self._values.get("actions")
1185
1272
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, CfnExperimentTemplate.ExperimentTemplateActionProperty]]]], result)
1186
1273
 
1274
+ @builtins.property
1275
+ def experiment_options(
1276
+ self,
1277
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty]]:
1278
+ '''The experiment options for an experiment template.
1279
+
1280
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-experimenttemplate.html#cfn-fis-experimenttemplate-experimentoptions
1281
+ '''
1282
+ result = self._values.get("experiment_options")
1283
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty]], result)
1284
+
1187
1285
  @builtins.property
1188
1286
  def log_configuration(
1189
1287
  self,
@@ -1216,9 +1314,269 @@ class CfnExperimentTemplateProps:
1216
1314
  )
1217
1315
 
1218
1316
 
1317
+ @jsii.implements(_IInspectable_c2943556)
1318
+ class CfnTargetAccountConfiguration(
1319
+ _CfnResource_9df397a6,
1320
+ metaclass=jsii.JSIIMeta,
1321
+ jsii_type="aws-cdk-lib.aws_fis.CfnTargetAccountConfiguration",
1322
+ ):
1323
+ '''Creates a target account configuration for the experiment template.
1324
+
1325
+ A target account configuration is required when ``accountTargeting`` of ``experimentOptions`` is set to ``multi-account`` . For more information, see `experiment options <https://docs.aws.amazon.com/fis/latest/userguide/experiment-options.html>`_ in the *AWS Fault Injection Simulator User Guide* .
1326
+
1327
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html
1328
+ :cloudformationResource: AWS::FIS::TargetAccountConfiguration
1329
+ :exampleMetadata: fixture=_generated
1330
+
1331
+ Example::
1332
+
1333
+ # The code below shows an example of how to instantiate this type.
1334
+ # The values are placeholders you should change.
1335
+ from aws_cdk import aws_fis as fis
1336
+
1337
+ cfn_target_account_configuration = fis.CfnTargetAccountConfiguration(self, "MyCfnTargetAccountConfiguration",
1338
+ account_id="accountId",
1339
+ experiment_template_id="experimentTemplateId",
1340
+ role_arn="roleArn",
1341
+
1342
+ # the properties below are optional
1343
+ description="description"
1344
+ )
1345
+ '''
1346
+
1347
+ def __init__(
1348
+ self,
1349
+ scope: _constructs_77d1e7e8.Construct,
1350
+ id: builtins.str,
1351
+ *,
1352
+ account_id: builtins.str,
1353
+ experiment_template_id: builtins.str,
1354
+ role_arn: builtins.str,
1355
+ description: typing.Optional[builtins.str] = None,
1356
+ ) -> None:
1357
+ '''
1358
+ :param scope: Scope in which this resource is defined.
1359
+ :param id: Construct identifier for this resource (unique in its scope).
1360
+ :param account_id: The AWS account ID of the target account.
1361
+ :param experiment_template_id: The ID of the experiment template.
1362
+ :param role_arn: The Amazon Resource Name (ARN) of an IAM role for the target account.
1363
+ :param description: The description of the target account.
1364
+ '''
1365
+ if __debug__:
1366
+ type_hints = typing.get_type_hints(_typecheckingstub__1d0fb924a03756f6ae5153adb03414ea3ed5c7be2c4632f5a2e6ea82bacabfaf)
1367
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1368
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1369
+ props = CfnTargetAccountConfigurationProps(
1370
+ account_id=account_id,
1371
+ experiment_template_id=experiment_template_id,
1372
+ role_arn=role_arn,
1373
+ description=description,
1374
+ )
1375
+
1376
+ jsii.create(self.__class__, self, [scope, id, props])
1377
+
1378
+ @jsii.member(jsii_name="inspect")
1379
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1380
+ '''Examines the CloudFormation resource and discloses attributes.
1381
+
1382
+ :param inspector: tree inspector to collect and process attributes.
1383
+ '''
1384
+ if __debug__:
1385
+ type_hints = typing.get_type_hints(_typecheckingstub__8e051df8abbe83c9ccd9dc11aaf79b1c71895a89c11123f6126ca0dc5c7dcba3)
1386
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
1387
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
1388
+
1389
+ @jsii.member(jsii_name="renderProperties")
1390
+ def _render_properties(
1391
+ self,
1392
+ props: typing.Mapping[builtins.str, typing.Any],
1393
+ ) -> typing.Mapping[builtins.str, typing.Any]:
1394
+ '''
1395
+ :param props: -
1396
+ '''
1397
+ if __debug__:
1398
+ type_hints = typing.get_type_hints(_typecheckingstub__bce08895a46b9ab4071478fe0556197011e783de179134a0a7ab8d61d1cec266)
1399
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
1400
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
1401
+
1402
+ @jsii.python.classproperty
1403
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
1404
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
1405
+ '''The CloudFormation resource type name for this resource class.'''
1406
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
1407
+
1408
+ @builtins.property
1409
+ @jsii.member(jsii_name="cfnProperties")
1410
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1411
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1412
+
1413
+ @builtins.property
1414
+ @jsii.member(jsii_name="accountId")
1415
+ def account_id(self) -> builtins.str:
1416
+ '''The AWS account ID of the target account.'''
1417
+ return typing.cast(builtins.str, jsii.get(self, "accountId"))
1418
+
1419
+ @account_id.setter
1420
+ def account_id(self, value: builtins.str) -> None:
1421
+ if __debug__:
1422
+ type_hints = typing.get_type_hints(_typecheckingstub__57de8ac124fae71b8e2f672d33adef7b3ed8c80d4669d633824de2df3bd7695d)
1423
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1424
+ jsii.set(self, "accountId", value)
1425
+
1426
+ @builtins.property
1427
+ @jsii.member(jsii_name="experimentTemplateId")
1428
+ def experiment_template_id(self) -> builtins.str:
1429
+ '''The ID of the experiment template.'''
1430
+ return typing.cast(builtins.str, jsii.get(self, "experimentTemplateId"))
1431
+
1432
+ @experiment_template_id.setter
1433
+ def experiment_template_id(self, value: builtins.str) -> None:
1434
+ if __debug__:
1435
+ type_hints = typing.get_type_hints(_typecheckingstub__3ebb3f970a053d3f704a84257668e2c36d6fb6eed39725a8032481946a873ad1)
1436
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1437
+ jsii.set(self, "experimentTemplateId", value)
1438
+
1439
+ @builtins.property
1440
+ @jsii.member(jsii_name="roleArn")
1441
+ def role_arn(self) -> builtins.str:
1442
+ '''The Amazon Resource Name (ARN) of an IAM role for the target account.'''
1443
+ return typing.cast(builtins.str, jsii.get(self, "roleArn"))
1444
+
1445
+ @role_arn.setter
1446
+ def role_arn(self, value: builtins.str) -> None:
1447
+ if __debug__:
1448
+ type_hints = typing.get_type_hints(_typecheckingstub__a9ed278632748c59137a2dbca99b6e45d5cb7c1b814c716cb029aaafa9fd4517)
1449
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1450
+ jsii.set(self, "roleArn", value)
1451
+
1452
+ @builtins.property
1453
+ @jsii.member(jsii_name="description")
1454
+ def description(self) -> typing.Optional[builtins.str]:
1455
+ '''The description of the target account.'''
1456
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "description"))
1457
+
1458
+ @description.setter
1459
+ def description(self, value: typing.Optional[builtins.str]) -> None:
1460
+ if __debug__:
1461
+ type_hints = typing.get_type_hints(_typecheckingstub__24cca29d5fdc3b90e8a3ddf44d290b9f1be52044525168852ccc4995de002e2a)
1462
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1463
+ jsii.set(self, "description", value)
1464
+
1465
+
1466
+ @jsii.data_type(
1467
+ jsii_type="aws-cdk-lib.aws_fis.CfnTargetAccountConfigurationProps",
1468
+ jsii_struct_bases=[],
1469
+ name_mapping={
1470
+ "account_id": "accountId",
1471
+ "experiment_template_id": "experimentTemplateId",
1472
+ "role_arn": "roleArn",
1473
+ "description": "description",
1474
+ },
1475
+ )
1476
+ class CfnTargetAccountConfigurationProps:
1477
+ def __init__(
1478
+ self,
1479
+ *,
1480
+ account_id: builtins.str,
1481
+ experiment_template_id: builtins.str,
1482
+ role_arn: builtins.str,
1483
+ description: typing.Optional[builtins.str] = None,
1484
+ ) -> None:
1485
+ '''Properties for defining a ``CfnTargetAccountConfiguration``.
1486
+
1487
+ :param account_id: The AWS account ID of the target account.
1488
+ :param experiment_template_id: The ID of the experiment template.
1489
+ :param role_arn: The Amazon Resource Name (ARN) of an IAM role for the target account.
1490
+ :param description: The description of the target account.
1491
+
1492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html
1493
+ :exampleMetadata: fixture=_generated
1494
+
1495
+ Example::
1496
+
1497
+ # The code below shows an example of how to instantiate this type.
1498
+ # The values are placeholders you should change.
1499
+ from aws_cdk import aws_fis as fis
1500
+
1501
+ cfn_target_account_configuration_props = fis.CfnTargetAccountConfigurationProps(
1502
+ account_id="accountId",
1503
+ experiment_template_id="experimentTemplateId",
1504
+ role_arn="roleArn",
1505
+
1506
+ # the properties below are optional
1507
+ description="description"
1508
+ )
1509
+ '''
1510
+ if __debug__:
1511
+ type_hints = typing.get_type_hints(_typecheckingstub__52162b9ee7ba883129d6c48b81b7033336e7ba5ee28a661f761f134ad8623c1c)
1512
+ check_type(argname="argument account_id", value=account_id, expected_type=type_hints["account_id"])
1513
+ check_type(argname="argument experiment_template_id", value=experiment_template_id, expected_type=type_hints["experiment_template_id"])
1514
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
1515
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1516
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1517
+ "account_id": account_id,
1518
+ "experiment_template_id": experiment_template_id,
1519
+ "role_arn": role_arn,
1520
+ }
1521
+ if description is not None:
1522
+ self._values["description"] = description
1523
+
1524
+ @builtins.property
1525
+ def account_id(self) -> builtins.str:
1526
+ '''The AWS account ID of the target account.
1527
+
1528
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html#cfn-fis-targetaccountconfiguration-accountid
1529
+ '''
1530
+ result = self._values.get("account_id")
1531
+ assert result is not None, "Required property 'account_id' is missing"
1532
+ return typing.cast(builtins.str, result)
1533
+
1534
+ @builtins.property
1535
+ def experiment_template_id(self) -> builtins.str:
1536
+ '''The ID of the experiment template.
1537
+
1538
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html#cfn-fis-targetaccountconfiguration-experimenttemplateid
1539
+ '''
1540
+ result = self._values.get("experiment_template_id")
1541
+ assert result is not None, "Required property 'experiment_template_id' is missing"
1542
+ return typing.cast(builtins.str, result)
1543
+
1544
+ @builtins.property
1545
+ def role_arn(self) -> builtins.str:
1546
+ '''The Amazon Resource Name (ARN) of an IAM role for the target account.
1547
+
1548
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html#cfn-fis-targetaccountconfiguration-rolearn
1549
+ '''
1550
+ result = self._values.get("role_arn")
1551
+ assert result is not None, "Required property 'role_arn' is missing"
1552
+ return typing.cast(builtins.str, result)
1553
+
1554
+ @builtins.property
1555
+ def description(self) -> typing.Optional[builtins.str]:
1556
+ '''The description of the target account.
1557
+
1558
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-fis-targetaccountconfiguration.html#cfn-fis-targetaccountconfiguration-description
1559
+ '''
1560
+ result = self._values.get("description")
1561
+ return typing.cast(typing.Optional[builtins.str], result)
1562
+
1563
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1564
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1565
+
1566
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1567
+ return not (rhs == self)
1568
+
1569
+ def __repr__(self) -> str:
1570
+ return "CfnTargetAccountConfigurationProps(%s)" % ", ".join(
1571
+ k + "=" + repr(v) for k, v in self._values.items()
1572
+ )
1573
+
1574
+
1219
1575
  __all__ = [
1220
1576
  "CfnExperimentTemplate",
1221
1577
  "CfnExperimentTemplateProps",
1578
+ "CfnTargetAccountConfiguration",
1579
+ "CfnTargetAccountConfigurationProps",
1222
1580
  ]
1223
1581
 
1224
1582
  publication.publish()
@@ -1232,6 +1590,7 @@ def _typecheckingstub__18c9c3e4d1ff3bcad4812197927f55bc4b8c438403e1429c7b277b86b
1232
1590
  stop_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateStopConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
1233
1591
  targets: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateTargetProperty, typing.Dict[builtins.str, typing.Any]]]]],
1234
1592
  actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1593
+ experiment_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1235
1594
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1236
1595
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1237
1596
  ) -> None:
@@ -1280,6 +1639,12 @@ def _typecheckingstub__22aee6a5f24a3b5f7703cdc58296037efae82a62ae6fa0d1015d70f5d
1280
1639
  """Type checking stubs"""
1281
1640
  pass
1282
1641
 
1642
+ def _typecheckingstub__2251459b83052b3128b2130de1f378662da3a8fc2b39b8c1132616a0a918cb23(
1643
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty]],
1644
+ ) -> None:
1645
+ """Type checking stubs"""
1646
+ pass
1647
+
1283
1648
  def _typecheckingstub__2b371aaef4be3b5a571bd0e430ed72ecd5f188dc9132824cf152f2c7540ec6ba(
1284
1649
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty]],
1285
1650
  ) -> None:
@@ -1310,6 +1675,14 @@ def _typecheckingstub__cfd0480625d74c960ee482fc7a2768b219a983b728703ef9e9c4b167f
1310
1675
  """Type checking stubs"""
1311
1676
  pass
1312
1677
 
1678
+ def _typecheckingstub__869a915a73baa324d4389a3b1a7ec2993ddb272931a4d1ca1bca643f0c5c7277(
1679
+ *,
1680
+ account_targeting: typing.Optional[builtins.str] = None,
1681
+ empty_target_resolution_mode: typing.Optional[builtins.str] = None,
1682
+ ) -> None:
1683
+ """Type checking stubs"""
1684
+ pass
1685
+
1313
1686
  def _typecheckingstub__5be67d06cbc96a947e3d11cff6395cab486589f4446ebc98f97413d01bef8d28(
1314
1687
  *,
1315
1688
  log_schema_version: jsii.Number,
@@ -1362,8 +1735,67 @@ def _typecheckingstub__03c2530c6ad2cb6b023e7f311ea85dbbb8733b3040e35cf25da12302d
1362
1735
  stop_conditions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateStopConditionProperty, typing.Dict[builtins.str, typing.Any]]]]],
1363
1736
  targets: typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateTargetProperty, typing.Dict[builtins.str, typing.Any]]]]],
1364
1737
  actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
1738
+ experiment_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateExperimentOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1365
1739
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnExperimentTemplate.ExperimentTemplateLogConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1366
1740
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
1367
1741
  ) -> None:
1368
1742
  """Type checking stubs"""
1369
1743
  pass
1744
+
1745
+ def _typecheckingstub__1d0fb924a03756f6ae5153adb03414ea3ed5c7be2c4632f5a2e6ea82bacabfaf(
1746
+ scope: _constructs_77d1e7e8.Construct,
1747
+ id: builtins.str,
1748
+ *,
1749
+ account_id: builtins.str,
1750
+ experiment_template_id: builtins.str,
1751
+ role_arn: builtins.str,
1752
+ description: typing.Optional[builtins.str] = None,
1753
+ ) -> None:
1754
+ """Type checking stubs"""
1755
+ pass
1756
+
1757
+ def _typecheckingstub__8e051df8abbe83c9ccd9dc11aaf79b1c71895a89c11123f6126ca0dc5c7dcba3(
1758
+ inspector: _TreeInspector_488e0dd5,
1759
+ ) -> None:
1760
+ """Type checking stubs"""
1761
+ pass
1762
+
1763
+ def _typecheckingstub__bce08895a46b9ab4071478fe0556197011e783de179134a0a7ab8d61d1cec266(
1764
+ props: typing.Mapping[builtins.str, typing.Any],
1765
+ ) -> None:
1766
+ """Type checking stubs"""
1767
+ pass
1768
+
1769
+ def _typecheckingstub__57de8ac124fae71b8e2f672d33adef7b3ed8c80d4669d633824de2df3bd7695d(
1770
+ value: builtins.str,
1771
+ ) -> None:
1772
+ """Type checking stubs"""
1773
+ pass
1774
+
1775
+ def _typecheckingstub__3ebb3f970a053d3f704a84257668e2c36d6fb6eed39725a8032481946a873ad1(
1776
+ value: builtins.str,
1777
+ ) -> None:
1778
+ """Type checking stubs"""
1779
+ pass
1780
+
1781
+ def _typecheckingstub__a9ed278632748c59137a2dbca99b6e45d5cb7c1b814c716cb029aaafa9fd4517(
1782
+ value: builtins.str,
1783
+ ) -> None:
1784
+ """Type checking stubs"""
1785
+ pass
1786
+
1787
+ def _typecheckingstub__24cca29d5fdc3b90e8a3ddf44d290b9f1be52044525168852ccc4995de002e2a(
1788
+ value: typing.Optional[builtins.str],
1789
+ ) -> None:
1790
+ """Type checking stubs"""
1791
+ pass
1792
+
1793
+ def _typecheckingstub__52162b9ee7ba883129d6c48b81b7033336e7ba5ee28a661f761f134ad8623c1c(
1794
+ *,
1795
+ account_id: builtins.str,
1796
+ experiment_template_id: builtins.str,
1797
+ role_arn: builtins.str,
1798
+ description: typing.Optional[builtins.str] = None,
1799
+ ) -> None:
1800
+ """Type checking stubs"""
1801
+ pass