aws-cdk-lib 2.218.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 (65) hide show
  1. aws_cdk/__init__.py +31 -36
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.218.0.jsii.tgz → aws-cdk-lib@2.220.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +98 -87
  5. aws_cdk/aws_apigateway/__init__.py +39 -0
  6. aws_cdk/aws_applicationsignals/__init__.py +450 -2
  7. aws_cdk/aws_arcregionswitch/__init__.py +8 -0
  8. aws_cdk/aws_backup/__init__.py +29 -0
  9. aws_cdk/aws_batch/__init__.py +109 -7
  10. aws_cdk/aws_bcmdataexports/__init__.py +9 -0
  11. aws_cdk/aws_bedrock/__init__.py +384 -1
  12. aws_cdk/aws_bedrockagentcore/__init__.py +7862 -1568
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  14. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  15. aws_cdk/aws_cloudwatch/__init__.py +5 -5
  16. aws_cdk/aws_codebuild/__init__.py +339 -62
  17. aws_cdk/aws_cognito/__init__.py +6 -4
  18. aws_cdk/aws_connect/__init__.py +9 -9
  19. aws_cdk/aws_cur/__init__.py +5 -3
  20. aws_cdk/aws_datasync/__init__.py +44 -22
  21. aws_cdk/aws_datazone/__init__.py +35 -33
  22. aws_cdk/aws_dax/__init__.py +12 -3
  23. aws_cdk/aws_dms/__init__.py +3 -5
  24. aws_cdk/aws_ec2/__init__.py +2721 -30
  25. aws_cdk/aws_ecs/__init__.py +2900 -90
  26. aws_cdk/aws_eks/__init__.py +114 -9
  27. aws_cdk/aws_entityresolution/__init__.py +18 -0
  28. aws_cdk/aws_fsx/__init__.py +4 -4
  29. aws_cdk/aws_greengrassv2/__init__.py +29 -0
  30. aws_cdk/aws_imagebuilder/__init__.py +397 -0
  31. aws_cdk/aws_iotsitewise/__init__.py +136 -80
  32. aws_cdk/aws_kinesis/__init__.py +95 -4
  33. aws_cdk/aws_lambda/__init__.py +43 -0
  34. aws_cdk/aws_lightsail/__init__.py +584 -0
  35. aws_cdk/aws_logs/__init__.py +57 -0
  36. aws_cdk/aws_lookoutmetrics/__init__.py +14 -2
  37. aws_cdk/aws_m2/__init__.py +59 -13
  38. aws_cdk/aws_medialive/__init__.py +108 -0
  39. aws_cdk/aws_msk/__init__.py +4 -2
  40. aws_cdk/aws_mwaa/__init__.py +5 -5
  41. aws_cdk/aws_neptune/__init__.py +133 -70
  42. aws_cdk/aws_networkfirewall/__init__.py +6 -2
  43. aws_cdk/aws_networkmanager/__init__.py +29 -0
  44. aws_cdk/aws_observabilityadmin/__init__.py +1227 -83
  45. aws_cdk/aws_omics/__init__.py +7 -1
  46. aws_cdk/aws_opensearchservice/__init__.py +64 -0
  47. aws_cdk/aws_opsworkscm/__init__.py +0 -29
  48. aws_cdk/aws_pcs/__init__.py +224 -33
  49. aws_cdk/aws_pinpoint/__init__.py +58 -0
  50. aws_cdk/aws_quicksight/__init__.py +118 -0
  51. aws_cdk/aws_rds/__init__.py +62 -37
  52. aws_cdk/aws_refactorspaces/__init__.py +18 -6
  53. aws_cdk/aws_route53/__init__.py +138 -8
  54. aws_cdk/aws_s3/__init__.py +29 -2
  55. aws_cdk/aws_s3objectlambda/__init__.py +44 -12
  56. aws_cdk/aws_servicecatalog/__init__.py +103 -106
  57. aws_cdk/aws_smsvoice/__init__.py +319 -0
  58. aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
  59. aws_cdk/aws_synthetics/__init__.py +21 -1
  60. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/METADATA +2 -2
  61. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/RECORD +65 -65
  62. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/LICENSE +0 -0
  63. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/NOTICE +0 -0
  64. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/WHEEL +0 -0
  65. {aws_cdk_lib-2.218.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/top_level.txt +0 -0
@@ -6622,6 +6622,7 @@ class CfnResourceProps:
6622
6622
  "name": "name",
6623
6623
  "parameters": "parameters",
6624
6624
  "policy": "policy",
6625
+ "security_policy": "securityPolicy",
6625
6626
  "tags": "tags",
6626
6627
  },
6627
6628
  )
@@ -6643,6 +6644,7 @@ class CfnRestApiProps:
6643
6644
  name: typing.Optional[builtins.str] = None,
6644
6645
  parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
6645
6646
  policy: typing.Any = None,
6647
+ security_policy: typing.Optional[builtins.str] = None,
6646
6648
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6647
6649
  ) -> None:
6648
6650
  '''Properties for defining a ``CfnRestApi``.
@@ -6661,6 +6663,7 @@ class CfnRestApiProps:
6661
6663
  :param name: The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.
6662
6664
  :param parameters: Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'`` .
6663
6665
  :param policy: A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``""`` as delimiter and values of ``"execute-api:/"`` and ``"*"`` .
6666
+ :param security_policy:
6664
6667
  :param tags: The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:`` . The tag value can be up to 256 characters.
6665
6668
 
6666
6669
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html
@@ -6701,6 +6704,7 @@ class CfnRestApiProps:
6701
6704
  "parameters_key": "parameters"
6702
6705
  },
6703
6706
  policy=policy,
6707
+ security_policy="securityPolicy",
6704
6708
  tags=[CfnTag(
6705
6709
  key="key",
6706
6710
  value="value"
@@ -6723,6 +6727,7 @@ class CfnRestApiProps:
6723
6727
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
6724
6728
  check_type(argname="argument parameters", value=parameters, expected_type=type_hints["parameters"])
6725
6729
  check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
6730
+ check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
6726
6731
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6727
6732
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6728
6733
  if api_key_source_type is not None:
@@ -6753,6 +6758,8 @@ class CfnRestApiProps:
6753
6758
  self._values["parameters"] = parameters
6754
6759
  if policy is not None:
6755
6760
  self._values["policy"] = policy
6761
+ if security_policy is not None:
6762
+ self._values["security_policy"] = security_policy
6756
6763
  if tags is not None:
6757
6764
  self._values["tags"] = tags
6758
6765
 
@@ -6924,6 +6931,14 @@ class CfnRestApiProps:
6924
6931
  result = self._values.get("policy")
6925
6932
  return typing.cast(typing.Any, result)
6926
6933
 
6934
+ @builtins.property
6935
+ def security_policy(self) -> typing.Optional[builtins.str]:
6936
+ '''
6937
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-securitypolicy
6938
+ '''
6939
+ result = self._values.get("security_policy")
6940
+ return typing.cast(typing.Optional[builtins.str], result)
6941
+
6927
6942
  @builtins.property
6928
6943
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6929
6944
  '''The key-value map of strings.
@@ -27462,6 +27477,7 @@ class CfnRestApi(
27462
27477
  "parameters_key": "parameters"
27463
27478
  },
27464
27479
  policy=policy,
27480
+ security_policy="securityPolicy",
27465
27481
  tags=[CfnTag(
27466
27482
  key="key",
27467
27483
  value="value"
@@ -27488,6 +27504,7 @@ class CfnRestApi(
27488
27504
  name: typing.Optional[builtins.str] = None,
27489
27505
  parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
27490
27506
  policy: typing.Any = None,
27507
+ security_policy: typing.Optional[builtins.str] = None,
27491
27508
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
27492
27509
  ) -> None:
27493
27510
  '''
@@ -27507,6 +27524,7 @@ class CfnRestApi(
27507
27524
  :param name: The name of the RestApi. A name is required if the REST API is not based on an OpenAPI specification.
27508
27525
  :param parameters: Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ``ignore=documentation`` as a ``parameters`` value, as in the AWS CLI command of ``aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'`` .
27509
27526
  :param policy: A policy document that contains the permissions for the ``RestApi`` resource. To set the ARN for the policy, use the ``!Join`` intrinsic function with ``""`` as delimiter and values of ``"execute-api:/"`` and ``"*"`` .
27527
+ :param security_policy:
27510
27528
  :param tags: The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with ``aws:`` . The tag value can be up to 256 characters.
27511
27529
  '''
27512
27530
  if __debug__:
@@ -27528,6 +27546,7 @@ class CfnRestApi(
27528
27546
  name=name,
27529
27547
  parameters=parameters,
27530
27548
  policy=policy,
27549
+ security_policy=security_policy,
27531
27550
  tags=tags,
27532
27551
  )
27533
27552
 
@@ -27829,6 +27848,18 @@ class CfnRestApi(
27829
27848
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
27830
27849
  jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
27831
27850
 
27851
+ @builtins.property
27852
+ @jsii.member(jsii_name="securityPolicy")
27853
+ def security_policy(self) -> typing.Optional[builtins.str]:
27854
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "securityPolicy"))
27855
+
27856
+ @security_policy.setter
27857
+ def security_policy(self, value: typing.Optional[builtins.str]) -> None:
27858
+ if __debug__:
27859
+ type_hints = typing.get_type_hints(_typecheckingstub__b5cbad8ea7b13cc4138aea2c1f4832de11327b51e38539bb2f152732a2d44409)
27860
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
27861
+ jsii.set(self, "securityPolicy", value) # pyright: ignore[reportArgumentType]
27862
+
27832
27863
  @builtins.property
27833
27864
  @jsii.member(jsii_name="tagsRaw")
27834
27865
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -36725,6 +36756,7 @@ def _typecheckingstub__5e6d4ed4722f0c07021ff207940f8656b0bbeb24224daef1a2a167c70
36725
36756
  name: typing.Optional[builtins.str] = None,
36726
36757
  parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
36727
36758
  policy: typing.Any = None,
36759
+ security_policy: typing.Optional[builtins.str] = None,
36728
36760
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
36729
36761
  ) -> None:
36730
36762
  """Type checking stubs"""
@@ -39167,6 +39199,7 @@ def _typecheckingstub__781aae0a2f2512495cbd89d2be23edec0478e71fd6a59c0527cabb245
39167
39199
  name: typing.Optional[builtins.str] = None,
39168
39200
  parameters: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
39169
39201
  policy: typing.Any = None,
39202
+ security_policy: typing.Optional[builtins.str] = None,
39170
39203
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
39171
39204
  ) -> None:
39172
39205
  """Type checking stubs"""
@@ -39276,6 +39309,12 @@ def _typecheckingstub__b7c411e289712e4a9bfc8e944902e0103f628540a4cf7e48a8c916788
39276
39309
  """Type checking stubs"""
39277
39310
  pass
39278
39311
 
39312
+ def _typecheckingstub__b5cbad8ea7b13cc4138aea2c1f4832de11327b51e38539bb2f152732a2d44409(
39313
+ value: typing.Optional[builtins.str],
39314
+ ) -> None:
39315
+ """Type checking stubs"""
39316
+ pass
39317
+
39279
39318
  def _typecheckingstub__9ae71bb5beb4f360ca0016003cbb508243a9ad4b5e494d1a4655780f8350d620(
39280
39319
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
39281
39320
  ) -> None:
@@ -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,