aws-cdk-lib 2.219.0__py3-none-any.whl → 2.220.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 (51) hide show
  1. aws_cdk/__init__.py +12 -17
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.219.0.jsii.tgz → aws-cdk-lib@2.220.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationsignals/__init__.py +450 -2
  5. aws_cdk/aws_arcregionswitch/__init__.py +8 -0
  6. aws_cdk/aws_backup/__init__.py +29 -0
  7. aws_cdk/aws_batch/__init__.py +109 -7
  8. aws_cdk/aws_bedrock/__init__.py +44 -16
  9. aws_cdk/aws_bedrockagentcore/__init__.py +7872 -1718
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  11. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  12. aws_cdk/aws_cloudwatch/__init__.py +5 -5
  13. aws_cdk/aws_cognito/__init__.py +6 -4
  14. aws_cdk/aws_dax/__init__.py +12 -3
  15. aws_cdk/aws_directoryservice/__init__.py +29 -0
  16. aws_cdk/aws_ec2/__init__.py +99 -8
  17. aws_cdk/aws_ecs/__init__.py +342 -134
  18. aws_cdk/aws_eks/__init__.py +114 -9
  19. aws_cdk/aws_fsx/__init__.py +4 -4
  20. aws_cdk/aws_imagebuilder/__init__.py +397 -0
  21. aws_cdk/aws_iotsitewise/__init__.py +136 -80
  22. aws_cdk/aws_kinesis/__init__.py +95 -4
  23. aws_cdk/aws_lambda/__init__.py +43 -0
  24. aws_cdk/aws_lightsail/__init__.py +584 -0
  25. aws_cdk/aws_logs/__init__.py +57 -0
  26. aws_cdk/aws_lookoutmetrics/__init__.py +14 -2
  27. aws_cdk/aws_m2/__init__.py +59 -13
  28. aws_cdk/aws_medialive/__init__.py +108 -0
  29. aws_cdk/aws_mwaa/__init__.py +5 -5
  30. aws_cdk/aws_neptune/__init__.py +133 -70
  31. aws_cdk/aws_networkmanager/__init__.py +29 -0
  32. aws_cdk/aws_observabilityadmin/__init__.py +1227 -83
  33. aws_cdk/aws_omics/__init__.py +7 -1
  34. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  35. aws_cdk/aws_pcs/__init__.py +224 -33
  36. aws_cdk/aws_pinpoint/__init__.py +58 -0
  37. aws_cdk/aws_quicksight/__init__.py +80 -0
  38. aws_cdk/aws_rds/__init__.py +29 -23
  39. aws_cdk/aws_refactorspaces/__init__.py +18 -6
  40. aws_cdk/aws_route53/__init__.py +130 -6
  41. aws_cdk/aws_s3/__init__.py +29 -2
  42. aws_cdk/aws_s3objectlambda/__init__.py +44 -12
  43. aws_cdk/aws_servicecatalog/__init__.py +25 -20
  44. aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
  45. aws_cdk/aws_synthetics/__init__.py +21 -1
  46. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/METADATA +1 -1
  47. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/RECORD +51 -51
  48. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/LICENSE +0 -0
  49. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/NOTICE +0 -0
  50. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/WHEEL +0 -0
  51. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -21672,25 +21672,20 @@ class RemovalPolicy(enum.Enum):
21672
21672
 
21673
21673
  Example::
21674
21674
 
21675
- import aws_cdk as cdk
21676
-
21677
-
21678
- app = cdk.App()
21679
- stack = cdk.Stack(app, "Stack", env=cdk.Environment(region="us-west-2"))
21675
+ # my_role: iam.Role
21680
21676
 
21681
- global_table = dynamodb.TableV2(stack, "GlobalTable",
21682
- partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING),
21683
- removal_policy=cdk.RemovalPolicy.DESTROY,
21684
- deletion_protection=True,
21685
- # only the replica in us-east-1 will be deleted during stack deletion
21686
- replicas=[dynamodb.ReplicaTableProps(
21687
- region="us-east-1",
21688
- deletion_protection=False
21689
- ), dynamodb.ReplicaTableProps(
21690
- region="us-east-2",
21691
- deletion_protection=True
21677
+ cr.AwsCustomResource(self, "Customized",
21678
+ role=my_role, # must be assumable by the `lambda.amazonaws.com` service principal
21679
+ timeout=Duration.minutes(10), # defaults to 2 minutes
21680
+ memory_size=1025, # defaults to 512 if installLatestAwsSdk is true
21681
+ log_group=logs.LogGroup(self, "AwsCustomResourceLogs",
21682
+ retention=logs.RetentionDays.ONE_DAY
21683
+ ),
21684
+ function_name="my-custom-name", # defaults to a CloudFormation generated name
21685
+ removal_policy=RemovalPolicy.RETAIN, # defaults to `RemovalPolicy.DESTROY`
21686
+ policy=cr.AwsCustomResourcePolicy.from_sdk_calls(
21687
+ resources=cr.AwsCustomResourcePolicy.ANY_RESOURCE
21692
21688
  )
21693
- ]
21694
21689
  )
21695
21690
  '''
21696
21691
 
aws_cdk/_jsii/__init__.py CHANGED
@@ -34,7 +34,7 @@ import aws_cdk.cloud_assembly_schema._jsii
34
34
  import constructs._jsii
35
35
 
36
36
  __jsii_assembly__ = jsii.JSIIAssembly.load(
37
- "aws-cdk-lib", "2.219.0", __name__[0:-6], "aws-cdk-lib@2.219.0.jsii.tgz"
37
+ "aws-cdk-lib", "2.220.0", __name__[0:-6], "aws-cdk-lib@2.220.0.jsii.tgz"
38
38
  )
39
39
 
40
40
  __all__ = [
@@ -113,6 +113,71 @@ class CfnDiscoveryProps:
113
113
  )
114
114
 
115
115
 
116
+ @jsii.data_type(
117
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnGroupingConfigurationProps",
118
+ jsii_struct_bases=[],
119
+ name_mapping={"grouping_attribute_definitions": "groupingAttributeDefinitions"},
120
+ )
121
+ class CfnGroupingConfigurationProps:
122
+ def __init__(
123
+ self,
124
+ *,
125
+ grouping_attribute_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGroupingConfiguration.GroupingAttributeDefinitionProperty", typing.Dict[builtins.str, typing.Any]]]]],
126
+ ) -> None:
127
+ '''Properties for defining a ``CfnGroupingConfiguration``.
128
+
129
+ :param grouping_attribute_definitions: An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys.
130
+
131
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-groupingconfiguration.html
132
+ :exampleMetadata: fixture=_generated
133
+
134
+ Example::
135
+
136
+ # The code below shows an example of how to instantiate this type.
137
+ # The values are placeholders you should change.
138
+ from aws_cdk import aws_applicationsignals as applicationsignals
139
+
140
+ cfn_grouping_configuration_props = applicationsignals.CfnGroupingConfigurationProps(
141
+ grouping_attribute_definitions=[applicationsignals.CfnGroupingConfiguration.GroupingAttributeDefinitionProperty(
142
+ grouping_name="groupingName",
143
+ grouping_source_keys=["groupingSourceKeys"],
144
+
145
+ # the properties below are optional
146
+ default_grouping_value="defaultGroupingValue"
147
+ )]
148
+ )
149
+ '''
150
+ if __debug__:
151
+ type_hints = typing.get_type_hints(_typecheckingstub__f1092a665e6fb60575de2d22516416485dc448d30b228f509e488593e009ff91)
152
+ check_type(argname="argument grouping_attribute_definitions", value=grouping_attribute_definitions, expected_type=type_hints["grouping_attribute_definitions"])
153
+ self._values: typing.Dict[builtins.str, typing.Any] = {
154
+ "grouping_attribute_definitions": grouping_attribute_definitions,
155
+ }
156
+
157
+ @builtins.property
158
+ def grouping_attribute_definitions(
159
+ self,
160
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGroupingConfiguration.GroupingAttributeDefinitionProperty"]]]:
161
+ '''An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys.
162
+
163
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-groupingconfiguration.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinitions
164
+ '''
165
+ result = self._values.get("grouping_attribute_definitions")
166
+ assert result is not None, "Required property 'grouping_attribute_definitions' is missing"
167
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGroupingConfiguration.GroupingAttributeDefinitionProperty"]]], result)
168
+
169
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
170
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
171
+
172
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
173
+ return not (rhs == self)
174
+
175
+ def __repr__(self) -> str:
176
+ return "CfnGroupingConfigurationProps(%s)" % ", ".join(
177
+ k + "=" + repr(v) for k, v in self._values.items()
178
+ )
179
+
180
+
116
181
  @jsii.data_type(
117
182
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjectiveProps",
118
183
  jsii_struct_bases=[],
@@ -516,6 +581,55 @@ class DiscoveryReference:
516
581
  )
517
582
 
518
583
 
584
+ @jsii.data_type(
585
+ jsii_type="aws-cdk-lib.aws_applicationsignals.GroupingConfigurationReference",
586
+ jsii_struct_bases=[],
587
+ name_mapping={"account_id": "accountId"},
588
+ )
589
+ class GroupingConfigurationReference:
590
+ def __init__(self, *, account_id: builtins.str) -> None:
591
+ '''A reference to a GroupingConfiguration resource.
592
+
593
+ :param account_id: The AccountId of the GroupingConfiguration resource.
594
+
595
+ :exampleMetadata: fixture=_generated
596
+
597
+ Example::
598
+
599
+ # The code below shows an example of how to instantiate this type.
600
+ # The values are placeholders you should change.
601
+ from aws_cdk import aws_applicationsignals as applicationsignals
602
+
603
+ grouping_configuration_reference = applicationsignals.GroupingConfigurationReference(
604
+ account_id="accountId"
605
+ )
606
+ '''
607
+ if __debug__:
608
+ type_hints = typing.get_type_hints(_typecheckingstub__ae567aeddbe652faa360c59707e41b9c2af35fb469b410ba0b525e8b848a24cf)
609
+ check_type(argname="argument account_id", value=account_id, expected_type=type_hints["account_id"])
610
+ self._values: typing.Dict[builtins.str, typing.Any] = {
611
+ "account_id": account_id,
612
+ }
613
+
614
+ @builtins.property
615
+ def account_id(self) -> builtins.str:
616
+ '''The AccountId of the GroupingConfiguration resource.'''
617
+ result = self._values.get("account_id")
618
+ assert result is not None, "Required property 'account_id' is missing"
619
+ return typing.cast(builtins.str, result)
620
+
621
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
622
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
623
+
624
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
625
+ return not (rhs == self)
626
+
627
+ def __repr__(self) -> str:
628
+ return "GroupingConfigurationReference(%s)" % ", ".join(
629
+ k + "=" + repr(v) for k, v in self._values.items()
630
+ )
631
+
632
+
519
633
  @jsii.interface(jsii_type="aws-cdk-lib.aws_applicationsignals.IDiscoveryRef")
520
634
  class IDiscoveryRef(_constructs_77d1e7e8.IConstruct, typing_extensions.Protocol):
521
635
  '''(experimental) Indicates that this resource can be referenced as a Discovery.
@@ -556,6 +670,51 @@ class _IDiscoveryRefProxy(
556
670
  typing.cast(typing.Any, IDiscoveryRef).__jsii_proxy_class__ = lambda : _IDiscoveryRefProxy
557
671
 
558
672
 
673
+ @jsii.interface(
674
+ jsii_type="aws-cdk-lib.aws_applicationsignals.IGroupingConfigurationRef"
675
+ )
676
+ class IGroupingConfigurationRef(
677
+ _constructs_77d1e7e8.IConstruct,
678
+ typing_extensions.Protocol,
679
+ ):
680
+ '''(experimental) Indicates that this resource can be referenced as a GroupingConfiguration.
681
+
682
+ :stability: experimental
683
+ '''
684
+
685
+ @builtins.property
686
+ @jsii.member(jsii_name="groupingConfigurationRef")
687
+ def grouping_configuration_ref(self) -> GroupingConfigurationReference:
688
+ '''(experimental) A reference to a GroupingConfiguration resource.
689
+
690
+ :stability: experimental
691
+ '''
692
+ ...
693
+
694
+
695
+ class _IGroupingConfigurationRefProxy(
696
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
697
+ ):
698
+ '''(experimental) Indicates that this resource can be referenced as a GroupingConfiguration.
699
+
700
+ :stability: experimental
701
+ '''
702
+
703
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_applicationsignals.IGroupingConfigurationRef"
704
+
705
+ @builtins.property
706
+ @jsii.member(jsii_name="groupingConfigurationRef")
707
+ def grouping_configuration_ref(self) -> GroupingConfigurationReference:
708
+ '''(experimental) A reference to a GroupingConfiguration resource.
709
+
710
+ :stability: experimental
711
+ '''
712
+ return typing.cast(GroupingConfigurationReference, jsii.get(self, "groupingConfigurationRef"))
713
+
714
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
715
+ typing.cast(typing.Any, IGroupingConfigurationRef).__jsii_proxy_class__ = lambda : _IGroupingConfigurationRefProxy
716
+
717
+
559
718
  @jsii.interface(
560
719
  jsii_type="aws-cdk-lib.aws_applicationsignals.IServiceLevelObjectiveRef"
561
720
  )
@@ -656,9 +815,11 @@ class CfnDiscovery(
656
815
  metaclass=jsii.JSIIMeta,
657
816
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnDiscovery",
658
817
  ):
659
- '''Enables this AWS account to be able to use CloudWatch Application Signals by creating the ``AWSServiceRoleForCloudWatchApplicationSignals`` service-linked role.
818
+ '''.. epigraph::
819
+
820
+ If you have existing ``AWS::ApplicationSignals::Discovery`` resources that were created prior to the Application Map release, you will need to delete and recreate these resources in your account to enable Application Map.
660
821
 
661
- This service-linked role has the following permissions:
822
+ Enables this AWS account to be able to use CloudWatch Application Signals by creating the ``AWSServiceRoleForCloudWatchApplicationSignals`` service-linked role. This service-linked role has the following permissions:
662
823
 
663
824
  - ``xray:GetServiceGraph``
664
825
  - ``logs:StartQuery``
@@ -668,6 +829,8 @@ class CfnDiscovery(
668
829
  - ``tag:GetResources``
669
830
  - ``autoscaling:DescribeAutoScalingGroups``
670
831
 
832
+ A service-linked CloudTrail event channel is created to process CloudTrail events and return change event information. This includes last deployment time, userName, eventName, and other event metadata.
833
+
671
834
  After completing this step, you still need to instrument your Java and Python applications to send data to Application Signals. For more information, see `Enabling Application Signals <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals-Enable.html>`_ .
672
835
 
673
836
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-discovery.html
@@ -747,6 +910,237 @@ class CfnDiscovery(
747
910
  return typing.cast(DiscoveryReference, jsii.get(self, "discoveryRef"))
748
911
 
749
912
 
913
+ @jsii.implements(_IInspectable_c2943556, IGroupingConfigurationRef)
914
+ class CfnGroupingConfiguration(
915
+ _CfnResource_9df397a6,
916
+ metaclass=jsii.JSIIMeta,
917
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnGroupingConfiguration",
918
+ ):
919
+ '''A structure that contains the complete grouping configuration for an account, including all defined grouping attributes and metadata about when it was last updated.
920
+
921
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-groupingconfiguration.html
922
+ :cloudformationResource: AWS::ApplicationSignals::GroupingConfiguration
923
+ :exampleMetadata: fixture=_generated
924
+
925
+ Example::
926
+
927
+ # The code below shows an example of how to instantiate this type.
928
+ # The values are placeholders you should change.
929
+ from aws_cdk import aws_applicationsignals as applicationsignals
930
+
931
+ cfn_grouping_configuration = applicationsignals.CfnGroupingConfiguration(self, "MyCfnGroupingConfiguration",
932
+ grouping_attribute_definitions=[applicationsignals.CfnGroupingConfiguration.GroupingAttributeDefinitionProperty(
933
+ grouping_name="groupingName",
934
+ grouping_source_keys=["groupingSourceKeys"],
935
+
936
+ # the properties below are optional
937
+ default_grouping_value="defaultGroupingValue"
938
+ )]
939
+ )
940
+ '''
941
+
942
+ def __init__(
943
+ self,
944
+ scope: _constructs_77d1e7e8.Construct,
945
+ id: builtins.str,
946
+ *,
947
+ grouping_attribute_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGroupingConfiguration.GroupingAttributeDefinitionProperty", typing.Dict[builtins.str, typing.Any]]]]],
948
+ ) -> None:
949
+ '''
950
+ :param scope: Scope in which this resource is defined.
951
+ :param id: Construct identifier for this resource (unique in its scope).
952
+ :param grouping_attribute_definitions: An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys.
953
+ '''
954
+ if __debug__:
955
+ type_hints = typing.get_type_hints(_typecheckingstub__55532ed92820a19cd89fdea2459ad5e1c62c57066396013b794bd07c6ac99dc7)
956
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
957
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
958
+ props = CfnGroupingConfigurationProps(
959
+ grouping_attribute_definitions=grouping_attribute_definitions
960
+ )
961
+
962
+ jsii.create(self.__class__, self, [scope, id, props])
963
+
964
+ @jsii.member(jsii_name="inspect")
965
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
966
+ '''Examines the CloudFormation resource and discloses attributes.
967
+
968
+ :param inspector: tree inspector to collect and process attributes.
969
+ '''
970
+ if __debug__:
971
+ type_hints = typing.get_type_hints(_typecheckingstub__2a3e17541436550f60b4791ec84a0a3f55e01116438640d7611729b4a57c83f2)
972
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
973
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
974
+
975
+ @jsii.member(jsii_name="renderProperties")
976
+ def _render_properties(
977
+ self,
978
+ props: typing.Mapping[builtins.str, typing.Any],
979
+ ) -> typing.Mapping[builtins.str, typing.Any]:
980
+ '''
981
+ :param props: -
982
+ '''
983
+ if __debug__:
984
+ type_hints = typing.get_type_hints(_typecheckingstub__cda9952303bd2ef359ba71cc1d51f0cf288102f05b353d4815dc5d37feca2339)
985
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
986
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
987
+
988
+ @jsii.python.classproperty
989
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
990
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
991
+ '''The CloudFormation resource type name for this resource class.'''
992
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
993
+
994
+ @builtins.property
995
+ @jsii.member(jsii_name="attrAccountId")
996
+ def attr_account_id(self) -> builtins.str:
997
+ '''The identifier for the specified AWS account.
998
+
999
+ :cloudformationAttribute: AccountId
1000
+ '''
1001
+ return typing.cast(builtins.str, jsii.get(self, "attrAccountId"))
1002
+
1003
+ @builtins.property
1004
+ @jsii.member(jsii_name="attrUpdatedAt")
1005
+ def attr_updated_at(self) -> builtins.str:
1006
+ '''The timestamp when this grouping configuration was last updated.
1007
+
1008
+ When used in a raw HTTP Query API, it is formatted as epoch time in seconds.
1009
+
1010
+ :cloudformationAttribute: UpdatedAt
1011
+ '''
1012
+ return typing.cast(builtins.str, jsii.get(self, "attrUpdatedAt"))
1013
+
1014
+ @builtins.property
1015
+ @jsii.member(jsii_name="cfnProperties")
1016
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1017
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1018
+
1019
+ @builtins.property
1020
+ @jsii.member(jsii_name="groupingConfigurationRef")
1021
+ def grouping_configuration_ref(self) -> GroupingConfigurationReference:
1022
+ '''A reference to a GroupingConfiguration resource.'''
1023
+ return typing.cast(GroupingConfigurationReference, jsii.get(self, "groupingConfigurationRef"))
1024
+
1025
+ @builtins.property
1026
+ @jsii.member(jsii_name="groupingAttributeDefinitions")
1027
+ def grouping_attribute_definitions(
1028
+ self,
1029
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGroupingConfiguration.GroupingAttributeDefinitionProperty"]]]:
1030
+ '''An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys.'''
1031
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGroupingConfiguration.GroupingAttributeDefinitionProperty"]]], jsii.get(self, "groupingAttributeDefinitions"))
1032
+
1033
+ @grouping_attribute_definitions.setter
1034
+ def grouping_attribute_definitions(
1035
+ self,
1036
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnGroupingConfiguration.GroupingAttributeDefinitionProperty"]]],
1037
+ ) -> None:
1038
+ if __debug__:
1039
+ type_hints = typing.get_type_hints(_typecheckingstub__7d78d0fae36bb4fcb95bd95998dbc65997f7d545af59f216256213408c4f30f2)
1040
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1041
+ jsii.set(self, "groupingAttributeDefinitions", value) # pyright: ignore[reportArgumentType]
1042
+
1043
+ @jsii.data_type(
1044
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnGroupingConfiguration.GroupingAttributeDefinitionProperty",
1045
+ jsii_struct_bases=[],
1046
+ name_mapping={
1047
+ "grouping_name": "groupingName",
1048
+ "grouping_source_keys": "groupingSourceKeys",
1049
+ "default_grouping_value": "defaultGroupingValue",
1050
+ },
1051
+ )
1052
+ class GroupingAttributeDefinitionProperty:
1053
+ def __init__(
1054
+ self,
1055
+ *,
1056
+ grouping_name: builtins.str,
1057
+ grouping_source_keys: typing.Sequence[builtins.str],
1058
+ default_grouping_value: typing.Optional[builtins.str] = None,
1059
+ ) -> None:
1060
+ '''A structure that defines how services should be grouped based on specific attributes.
1061
+
1062
+ This includes the friendly name for the grouping, the source keys to derive values from, and an optional default value.
1063
+
1064
+ :param grouping_name: The friendly name for this grouping attribute, such as ``BusinessUnit`` or ``Environment`` . This name is used to identify the grouping in the console and APIs.
1065
+ :param grouping_source_keys: An array of source keys used to derive the grouping attribute value from telemetry data, AWS tags, or other sources. For example, ["business_unit", "team"] would look for values in those fields.
1066
+ :param default_grouping_value: The default value to use for this grouping attribute when no value can be derived from the source keys. This ensures all services have a grouping value even if the source data is missing.
1067
+
1068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html
1069
+ :exampleMetadata: fixture=_generated
1070
+
1071
+ Example::
1072
+
1073
+ # The code below shows an example of how to instantiate this type.
1074
+ # The values are placeholders you should change.
1075
+ from aws_cdk import aws_applicationsignals as applicationsignals
1076
+
1077
+ grouping_attribute_definition_property = applicationsignals.CfnGroupingConfiguration.GroupingAttributeDefinitionProperty(
1078
+ grouping_name="groupingName",
1079
+ grouping_source_keys=["groupingSourceKeys"],
1080
+
1081
+ # the properties below are optional
1082
+ default_grouping_value="defaultGroupingValue"
1083
+ )
1084
+ '''
1085
+ if __debug__:
1086
+ type_hints = typing.get_type_hints(_typecheckingstub__4809aa4639bc02468e9643d2a4f1a9e5305f3985a02486a04a21025dc2913b23)
1087
+ check_type(argname="argument grouping_name", value=grouping_name, expected_type=type_hints["grouping_name"])
1088
+ check_type(argname="argument grouping_source_keys", value=grouping_source_keys, expected_type=type_hints["grouping_source_keys"])
1089
+ check_type(argname="argument default_grouping_value", value=default_grouping_value, expected_type=type_hints["default_grouping_value"])
1090
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1091
+ "grouping_name": grouping_name,
1092
+ "grouping_source_keys": grouping_source_keys,
1093
+ }
1094
+ if default_grouping_value is not None:
1095
+ self._values["default_grouping_value"] = default_grouping_value
1096
+
1097
+ @builtins.property
1098
+ def grouping_name(self) -> builtins.str:
1099
+ '''The friendly name for this grouping attribute, such as ``BusinessUnit`` or ``Environment`` .
1100
+
1101
+ This name is used to identify the grouping in the console and APIs.
1102
+
1103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-groupingname
1104
+ '''
1105
+ result = self._values.get("grouping_name")
1106
+ assert result is not None, "Required property 'grouping_name' is missing"
1107
+ return typing.cast(builtins.str, result)
1108
+
1109
+ @builtins.property
1110
+ def grouping_source_keys(self) -> typing.List[builtins.str]:
1111
+ '''An array of source keys used to derive the grouping attribute value from telemetry data, AWS tags, or other sources.
1112
+
1113
+ For example, ["business_unit", "team"] would look for values in those fields.
1114
+
1115
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-groupingsourcekeys
1116
+ '''
1117
+ result = self._values.get("grouping_source_keys")
1118
+ assert result is not None, "Required property 'grouping_source_keys' is missing"
1119
+ return typing.cast(typing.List[builtins.str], result)
1120
+
1121
+ @builtins.property
1122
+ def default_grouping_value(self) -> typing.Optional[builtins.str]:
1123
+ '''The default value to use for this grouping attribute when no value can be derived from the source keys.
1124
+
1125
+ This ensures all services have a grouping value even if the source data is missing.
1126
+
1127
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-groupingconfiguration-groupingattributedefinition.html#cfn-applicationsignals-groupingconfiguration-groupingattributedefinition-defaultgroupingvalue
1128
+ '''
1129
+ result = self._values.get("default_grouping_value")
1130
+ return typing.cast(typing.Optional[builtins.str], result)
1131
+
1132
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1133
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1134
+
1135
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1136
+ return not (rhs == self)
1137
+
1138
+ def __repr__(self) -> str:
1139
+ return "GroupingAttributeDefinitionProperty(%s)" % ", ".join(
1140
+ k + "=" + repr(v) for k, v in self._values.items()
1141
+ )
1142
+
1143
+
750
1144
  @jsii.implements(_IInspectable_c2943556, IServiceLevelObjectiveRef, _ITaggableV2_4e6798f8)
751
1145
  class CfnServiceLevelObjective(
752
1146
  _CfnResource_9df397a6,
@@ -3321,16 +3715,27 @@ class CfnServiceLevelObjective(
3321
3715
  __all__ = [
3322
3716
  "CfnDiscovery",
3323
3717
  "CfnDiscoveryProps",
3718
+ "CfnGroupingConfiguration",
3719
+ "CfnGroupingConfigurationProps",
3324
3720
  "CfnServiceLevelObjective",
3325
3721
  "CfnServiceLevelObjectiveProps",
3326
3722
  "DiscoveryReference",
3723
+ "GroupingConfigurationReference",
3327
3724
  "IDiscoveryRef",
3725
+ "IGroupingConfigurationRef",
3328
3726
  "IServiceLevelObjectiveRef",
3329
3727
  "ServiceLevelObjectiveReference",
3330
3728
  ]
3331
3729
 
3332
3730
  publication.publish()
3333
3731
 
3732
+ def _typecheckingstub__f1092a665e6fb60575de2d22516416485dc448d30b228f509e488593e009ff91(
3733
+ *,
3734
+ grouping_attribute_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGroupingConfiguration.GroupingAttributeDefinitionProperty, typing.Dict[builtins.str, typing.Any]]]]],
3735
+ ) -> None:
3736
+ """Type checking stubs"""
3737
+ pass
3738
+
3334
3739
  def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee(
3335
3740
  *,
3336
3741
  name: builtins.str,
@@ -3352,6 +3757,13 @@ def _typecheckingstub__3ae2bd86b52b8376135e6a0403bddad426628a9251837d98b72330906
3352
3757
  """Type checking stubs"""
3353
3758
  pass
3354
3759
 
3760
+ def _typecheckingstub__ae567aeddbe652faa360c59707e41b9c2af35fb469b410ba0b525e8b848a24cf(
3761
+ *,
3762
+ account_id: builtins.str,
3763
+ ) -> None:
3764
+ """Type checking stubs"""
3765
+ pass
3766
+
3355
3767
  def _typecheckingstub__ffb2179a3df5fd3e340705140187e7094f0de9530c40bd432501e998aafc7145(
3356
3768
  *,
3357
3769
  service_level_objective_arn: builtins.str,
@@ -3378,6 +3790,42 @@ def _typecheckingstub__eb458e3d0e3086df3dd6729e5a3b2db446683118361abbfeb5b60c322
3378
3790
  """Type checking stubs"""
3379
3791
  pass
3380
3792
 
3793
+ def _typecheckingstub__55532ed92820a19cd89fdea2459ad5e1c62c57066396013b794bd07c6ac99dc7(
3794
+ scope: _constructs_77d1e7e8.Construct,
3795
+ id: builtins.str,
3796
+ *,
3797
+ grouping_attribute_definitions: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnGroupingConfiguration.GroupingAttributeDefinitionProperty, typing.Dict[builtins.str, typing.Any]]]]],
3798
+ ) -> None:
3799
+ """Type checking stubs"""
3800
+ pass
3801
+
3802
+ def _typecheckingstub__2a3e17541436550f60b4791ec84a0a3f55e01116438640d7611729b4a57c83f2(
3803
+ inspector: _TreeInspector_488e0dd5,
3804
+ ) -> None:
3805
+ """Type checking stubs"""
3806
+ pass
3807
+
3808
+ def _typecheckingstub__cda9952303bd2ef359ba71cc1d51f0cf288102f05b353d4815dc5d37feca2339(
3809
+ props: typing.Mapping[builtins.str, typing.Any],
3810
+ ) -> None:
3811
+ """Type checking stubs"""
3812
+ pass
3813
+
3814
+ def _typecheckingstub__7d78d0fae36bb4fcb95bd95998dbc65997f7d545af59f216256213408c4f30f2(
3815
+ value: typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnGroupingConfiguration.GroupingAttributeDefinitionProperty]]],
3816
+ ) -> None:
3817
+ """Type checking stubs"""
3818
+ pass
3819
+
3820
+ def _typecheckingstub__4809aa4639bc02468e9643d2a4f1a9e5305f3985a02486a04a21025dc2913b23(
3821
+ *,
3822
+ grouping_name: builtins.str,
3823
+ grouping_source_keys: typing.Sequence[builtins.str],
3824
+ default_grouping_value: typing.Optional[builtins.str] = None,
3825
+ ) -> None:
3826
+ """Type checking stubs"""
3827
+ pass
3828
+
3381
3829
  def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365dd7adba1(
3382
3830
  scope: _constructs_77d1e7e8.Construct,
3383
3831
  id: builtins.str,
@@ -885,6 +885,14 @@ class CfnPlan(
885
885
  '''
886
886
  return typing.cast(builtins.str, jsii.get(self, "attrOwner"))
887
887
 
888
+ @builtins.property
889
+ @jsii.member(jsii_name="attrPlanHealthChecks")
890
+ def attr_plan_health_checks(self) -> typing.List[builtins.str]:
891
+ '''
892
+ :cloudformationAttribute: PlanHealthChecks
893
+ '''
894
+ return typing.cast(typing.List[builtins.str], jsii.get(self, "attrPlanHealthChecks"))
895
+
888
896
  @builtins.property
889
897
  @jsii.member(jsii_name="attrRoute53HealthChecks")
890
898
  def attr_route53_health_checks(self) -> _IResolvable_da3f097b:
@@ -7114,6 +7114,27 @@ class CfnLogicallyAirGappedBackupVault(
7114
7114
 
7115
7115
  jsii.create(self.__class__, self, [scope, id, props])
7116
7116
 
7117
+ @jsii.member(jsii_name="fromBackupVaultName")
7118
+ @builtins.classmethod
7119
+ def from_backup_vault_name(
7120
+ cls,
7121
+ scope: _constructs_77d1e7e8.Construct,
7122
+ id: builtins.str,
7123
+ backup_vault_name: builtins.str,
7124
+ ) -> ILogicallyAirGappedBackupVaultRef:
7125
+ '''Creates a new ILogicallyAirGappedBackupVaultRef from a backupVaultName.
7126
+
7127
+ :param scope: -
7128
+ :param id: -
7129
+ :param backup_vault_name: -
7130
+ '''
7131
+ if __debug__:
7132
+ type_hints = typing.get_type_hints(_typecheckingstub__e2d7a451581b8c789f1a800340871c2a6bccebe8622af1e2f5b447a3a98d1dbb)
7133
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
7134
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
7135
+ check_type(argname="argument backup_vault_name", value=backup_vault_name, expected_type=type_hints["backup_vault_name"])
7136
+ return typing.cast(ILogicallyAirGappedBackupVaultRef, jsii.sinvoke(cls, "fromBackupVaultName", [scope, id, backup_vault_name]))
7137
+
7117
7138
  @jsii.member(jsii_name="inspect")
7118
7139
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
7119
7140
  '''Examines the CloudFormation resource and discloses attributes.
@@ -9479,6 +9500,14 @@ def _typecheckingstub__f46c2d817c43abec9e204fc8a7211b43dd15b93e11a637e67a9711664
9479
9500
  """Type checking stubs"""
9480
9501
  pass
9481
9502
 
9503
+ def _typecheckingstub__e2d7a451581b8c789f1a800340871c2a6bccebe8622af1e2f5b447a3a98d1dbb(
9504
+ scope: _constructs_77d1e7e8.Construct,
9505
+ id: builtins.str,
9506
+ backup_vault_name: builtins.str,
9507
+ ) -> None:
9508
+ """Type checking stubs"""
9509
+ pass
9510
+
9482
9511
  def _typecheckingstub__415ff13e64a57b94538bf66464736e9dc201021da09242c46763584700ef7f37(
9483
9512
  inspector: _TreeInspector_488e0dd5,
9484
9513
  ) -> None: