aws-cdk-lib 2.184.1__py3-none-any.whl → 2.186.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 (75) hide show
  1. aws_cdk/__init__.py +102 -29
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.184.1.jsii.tgz → aws-cdk-lib@2.186.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +3 -2
  5. aws_cdk/aws_apigateway/__init__.py +1 -1
  6. aws_cdk/aws_apigatewayv2/__init__.py +9 -0
  7. aws_cdk/aws_appconfig/__init__.py +3 -3
  8. aws_cdk/aws_applicationsignals/__init__.py +495 -1
  9. aws_cdk/aws_appsync/__init__.py +65 -11
  10. aws_cdk/aws_athena/__init__.py +143 -0
  11. aws_cdk/aws_backup/__init__.py +4 -2
  12. aws_cdk/aws_batch/__init__.py +9 -0
  13. aws_cdk/aws_bedrock/__init__.py +645 -199
  14. aws_cdk/aws_cassandra/__init__.py +3 -5
  15. aws_cdk/aws_chatbot/__init__.py +41 -0
  16. aws_cdk/aws_cleanrooms/__init__.py +21 -9
  17. aws_cdk/aws_cloudformation/__init__.py +1 -5
  18. aws_cdk/aws_cloudfront/__init__.py +4 -1
  19. aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
  20. aws_cdk/aws_codeartifact/__init__.py +20 -33
  21. aws_cdk/aws_codebuild/__init__.py +10 -3
  22. aws_cdk/aws_codepipeline/__init__.py +1328 -120
  23. aws_cdk/aws_cognito/__init__.py +1 -1
  24. aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
  25. aws_cdk/aws_config/__init__.py +1 -1
  26. aws_cdk/aws_connect/__init__.py +3 -7
  27. aws_cdk/aws_controltower/__init__.py +18 -26
  28. aws_cdk/aws_datasync/__init__.py +12 -14
  29. aws_cdk/aws_datazone/__init__.py +3471 -2
  30. aws_cdk/aws_ec2/__init__.py +701 -37
  31. aws_cdk/aws_ecr/__init__.py +84 -2
  32. aws_cdk/aws_ecs/__init__.py +20 -25
  33. aws_cdk/aws_eks/__init__.py +2 -0
  34. aws_cdk/aws_elasticloadbalancingv2/__init__.py +42 -5
  35. aws_cdk/aws_elasticsearch/__init__.py +1 -1
  36. aws_cdk/aws_events/__init__.py +37 -14
  37. aws_cdk/aws_events_targets/__init__.py +5 -5
  38. aws_cdk/aws_gamelift/__init__.py +165 -165
  39. aws_cdk/aws_gameliftstreams/__init__.py +199 -59
  40. aws_cdk/aws_iam/__init__.py +320 -25
  41. aws_cdk/aws_imagebuilder/__init__.py +15 -2
  42. aws_cdk/aws_iotfleetwise/__init__.py +15 -6
  43. aws_cdk/aws_kinesisfirehose/__init__.py +115 -113
  44. aws_cdk/aws_lambda/__init__.py +7 -1
  45. aws_cdk/aws_location/__init__.py +24 -7
  46. aws_cdk/aws_logs/__init__.py +21 -27
  47. aws_cdk/aws_msk/__init__.py +17 -50
  48. aws_cdk/aws_networkfirewall/__init__.py +16 -12
  49. aws_cdk/aws_oam/__init__.py +8 -37
  50. aws_cdk/aws_opensearchservice/__init__.py +1 -1
  51. aws_cdk/aws_pcs/__init__.py +33 -22
  52. aws_cdk/aws_quicksight/__init__.py +6 -69
  53. aws_cdk/aws_rds/__init__.py +8 -4
  54. aws_cdk/aws_redshiftserverless/__init__.py +192 -15
  55. aws_cdk/aws_rum/__init__.py +454 -43
  56. aws_cdk/aws_s3/__init__.py +4 -6
  57. aws_cdk/aws_s3_deployment/__init__.py +2 -0
  58. aws_cdk/aws_sagemaker/__init__.py +524 -0
  59. aws_cdk/aws_scheduler/__init__.py +3944 -121
  60. aws_cdk/aws_scheduler_targets/__init__.py +4472 -0
  61. aws_cdk/aws_ses/__init__.py +9 -9
  62. aws_cdk/aws_sns/__init__.py +12 -12
  63. aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
  64. aws_cdk/aws_stepfunctions/__init__.py +17 -15
  65. aws_cdk/aws_timestream/__init__.py +4 -4
  66. aws_cdk/aws_wafv2/__init__.py +345 -0
  67. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  68. aws_cdk/cx_api/__init__.py +53 -0
  69. aws_cdk/region_info/__init__.py +2 -2
  70. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/METADATA +1 -1
  71. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/RECORD +75 -73
  72. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/LICENSE +0 -0
  73. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/NOTICE +0 -0
  74. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/WHEEL +0 -0
  75. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/top_level.txt +0 -0
@@ -771,9 +771,11 @@ class CfnPullThroughCacheRule(
771
771
 
772
772
  cfn_pull_through_cache_rule = ecr.CfnPullThroughCacheRule(self, "MyCfnPullThroughCacheRule",
773
773
  credential_arn="credentialArn",
774
+ custom_role_arn="customRoleArn",
774
775
  ecr_repository_prefix="ecrRepositoryPrefix",
775
776
  upstream_registry="upstreamRegistry",
776
- upstream_registry_url="upstreamRegistryUrl"
777
+ upstream_registry_url="upstreamRegistryUrl",
778
+ upstream_repository_prefix="upstreamRepositoryPrefix"
777
779
  )
778
780
  '''
779
781
 
@@ -783,17 +785,21 @@ class CfnPullThroughCacheRule(
783
785
  id: builtins.str,
784
786
  *,
785
787
  credential_arn: typing.Optional[builtins.str] = None,
788
+ custom_role_arn: typing.Optional[builtins.str] = None,
786
789
  ecr_repository_prefix: typing.Optional[builtins.str] = None,
787
790
  upstream_registry: typing.Optional[builtins.str] = None,
788
791
  upstream_registry_url: typing.Optional[builtins.str] = None,
792
+ upstream_repository_prefix: typing.Optional[builtins.str] = None,
789
793
  ) -> None:
790
794
  '''
791
795
  :param scope: Scope in which this resource is defined.
792
796
  :param id: Construct identifier for this resource (unique in its scope).
793
797
  :param credential_arn: The ARN of the Secrets Manager secret associated with the pull through cache rule.
798
+ :param custom_role_arn: The ARN of the IAM role associated with the pull through cache rule.
794
799
  :param ecr_repository_prefix: The Amazon ECR repository prefix associated with the pull through cache rule.
795
800
  :param upstream_registry: The name of the upstream source registry associated with the pull through cache rule.
796
801
  :param upstream_registry_url: The upstream registry URL associated with the pull through cache rule.
802
+ :param upstream_repository_prefix: The upstream repository prefix associated with the pull through cache rule.
797
803
  '''
798
804
  if __debug__:
799
805
  type_hints = typing.get_type_hints(_typecheckingstub__d43871e7810dc89346a08c3c9c24a04a2b82bf02da0d8fa05ef0df564aea4986)
@@ -801,9 +807,11 @@ class CfnPullThroughCacheRule(
801
807
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
802
808
  props = CfnPullThroughCacheRuleProps(
803
809
  credential_arn=credential_arn,
810
+ custom_role_arn=custom_role_arn,
804
811
  ecr_repository_prefix=ecr_repository_prefix,
805
812
  upstream_registry=upstream_registry,
806
813
  upstream_registry_url=upstream_registry_url,
814
+ upstream_repository_prefix=upstream_repository_prefix,
807
815
  )
808
816
 
809
817
  jsii.create(self.__class__, self, [scope, id, props])
@@ -856,6 +864,19 @@ class CfnPullThroughCacheRule(
856
864
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
857
865
  jsii.set(self, "credentialArn", value) # pyright: ignore[reportArgumentType]
858
866
 
867
+ @builtins.property
868
+ @jsii.member(jsii_name="customRoleArn")
869
+ def custom_role_arn(self) -> typing.Optional[builtins.str]:
870
+ '''The ARN of the IAM role associated with the pull through cache rule.'''
871
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "customRoleArn"))
872
+
873
+ @custom_role_arn.setter
874
+ def custom_role_arn(self, value: typing.Optional[builtins.str]) -> None:
875
+ if __debug__:
876
+ type_hints = typing.get_type_hints(_typecheckingstub__bfdbe9596057e097bfe1b7f8a0aa5e6c64ae2382eeabb10b892cc46dd20f8291)
877
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
878
+ jsii.set(self, "customRoleArn", value) # pyright: ignore[reportArgumentType]
879
+
859
880
  @builtins.property
860
881
  @jsii.member(jsii_name="ecrRepositoryPrefix")
861
882
  def ecr_repository_prefix(self) -> typing.Optional[builtins.str]:
@@ -895,15 +916,30 @@ class CfnPullThroughCacheRule(
895
916
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
896
917
  jsii.set(self, "upstreamRegistryUrl", value) # pyright: ignore[reportArgumentType]
897
918
 
919
+ @builtins.property
920
+ @jsii.member(jsii_name="upstreamRepositoryPrefix")
921
+ def upstream_repository_prefix(self) -> typing.Optional[builtins.str]:
922
+ '''The upstream repository prefix associated with the pull through cache rule.'''
923
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "upstreamRepositoryPrefix"))
924
+
925
+ @upstream_repository_prefix.setter
926
+ def upstream_repository_prefix(self, value: typing.Optional[builtins.str]) -> None:
927
+ if __debug__:
928
+ type_hints = typing.get_type_hints(_typecheckingstub__5acaf55fdc7a202ee1e0b91a061ceea344f717ca76a78fbb62ae05bdbc30add0)
929
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
930
+ jsii.set(self, "upstreamRepositoryPrefix", value) # pyright: ignore[reportArgumentType]
931
+
898
932
 
899
933
  @jsii.data_type(
900
934
  jsii_type="aws-cdk-lib.aws_ecr.CfnPullThroughCacheRuleProps",
901
935
  jsii_struct_bases=[],
902
936
  name_mapping={
903
937
  "credential_arn": "credentialArn",
938
+ "custom_role_arn": "customRoleArn",
904
939
  "ecr_repository_prefix": "ecrRepositoryPrefix",
905
940
  "upstream_registry": "upstreamRegistry",
906
941
  "upstream_registry_url": "upstreamRegistryUrl",
942
+ "upstream_repository_prefix": "upstreamRepositoryPrefix",
907
943
  },
908
944
  )
909
945
  class CfnPullThroughCacheRuleProps:
@@ -911,16 +947,20 @@ class CfnPullThroughCacheRuleProps:
911
947
  self,
912
948
  *,
913
949
  credential_arn: typing.Optional[builtins.str] = None,
950
+ custom_role_arn: typing.Optional[builtins.str] = None,
914
951
  ecr_repository_prefix: typing.Optional[builtins.str] = None,
915
952
  upstream_registry: typing.Optional[builtins.str] = None,
916
953
  upstream_registry_url: typing.Optional[builtins.str] = None,
954
+ upstream_repository_prefix: typing.Optional[builtins.str] = None,
917
955
  ) -> None:
918
956
  '''Properties for defining a ``CfnPullThroughCacheRule``.
919
957
 
920
958
  :param credential_arn: The ARN of the Secrets Manager secret associated with the pull through cache rule.
959
+ :param custom_role_arn: The ARN of the IAM role associated with the pull through cache rule.
921
960
  :param ecr_repository_prefix: The Amazon ECR repository prefix associated with the pull through cache rule.
922
961
  :param upstream_registry: The name of the upstream source registry associated with the pull through cache rule.
923
962
  :param upstream_registry_url: The upstream registry URL associated with the pull through cache rule.
963
+ :param upstream_repository_prefix: The upstream repository prefix associated with the pull through cache rule.
924
964
 
925
965
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html
926
966
  :exampleMetadata: fixture=_generated
@@ -933,26 +973,34 @@ class CfnPullThroughCacheRuleProps:
933
973
 
934
974
  cfn_pull_through_cache_rule_props = ecr.CfnPullThroughCacheRuleProps(
935
975
  credential_arn="credentialArn",
976
+ custom_role_arn="customRoleArn",
936
977
  ecr_repository_prefix="ecrRepositoryPrefix",
937
978
  upstream_registry="upstreamRegistry",
938
- upstream_registry_url="upstreamRegistryUrl"
979
+ upstream_registry_url="upstreamRegistryUrl",
980
+ upstream_repository_prefix="upstreamRepositoryPrefix"
939
981
  )
940
982
  '''
941
983
  if __debug__:
942
984
  type_hints = typing.get_type_hints(_typecheckingstub__e53d5495feeae3bec08dd309eceed79d390d73c31e234c306abd812ec670db16)
943
985
  check_type(argname="argument credential_arn", value=credential_arn, expected_type=type_hints["credential_arn"])
986
+ check_type(argname="argument custom_role_arn", value=custom_role_arn, expected_type=type_hints["custom_role_arn"])
944
987
  check_type(argname="argument ecr_repository_prefix", value=ecr_repository_prefix, expected_type=type_hints["ecr_repository_prefix"])
945
988
  check_type(argname="argument upstream_registry", value=upstream_registry, expected_type=type_hints["upstream_registry"])
946
989
  check_type(argname="argument upstream_registry_url", value=upstream_registry_url, expected_type=type_hints["upstream_registry_url"])
990
+ check_type(argname="argument upstream_repository_prefix", value=upstream_repository_prefix, expected_type=type_hints["upstream_repository_prefix"])
947
991
  self._values: typing.Dict[builtins.str, typing.Any] = {}
948
992
  if credential_arn is not None:
949
993
  self._values["credential_arn"] = credential_arn
994
+ if custom_role_arn is not None:
995
+ self._values["custom_role_arn"] = custom_role_arn
950
996
  if ecr_repository_prefix is not None:
951
997
  self._values["ecr_repository_prefix"] = ecr_repository_prefix
952
998
  if upstream_registry is not None:
953
999
  self._values["upstream_registry"] = upstream_registry
954
1000
  if upstream_registry_url is not None:
955
1001
  self._values["upstream_registry_url"] = upstream_registry_url
1002
+ if upstream_repository_prefix is not None:
1003
+ self._values["upstream_repository_prefix"] = upstream_repository_prefix
956
1004
 
957
1005
  @builtins.property
958
1006
  def credential_arn(self) -> typing.Optional[builtins.str]:
@@ -963,6 +1011,15 @@ class CfnPullThroughCacheRuleProps:
963
1011
  result = self._values.get("credential_arn")
964
1012
  return typing.cast(typing.Optional[builtins.str], result)
965
1013
 
1014
+ @builtins.property
1015
+ def custom_role_arn(self) -> typing.Optional[builtins.str]:
1016
+ '''The ARN of the IAM role associated with the pull through cache rule.
1017
+
1018
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-customrolearn
1019
+ '''
1020
+ result = self._values.get("custom_role_arn")
1021
+ return typing.cast(typing.Optional[builtins.str], result)
1022
+
966
1023
  @builtins.property
967
1024
  def ecr_repository_prefix(self) -> typing.Optional[builtins.str]:
968
1025
  '''The Amazon ECR repository prefix associated with the pull through cache rule.
@@ -990,6 +1047,15 @@ class CfnPullThroughCacheRuleProps:
990
1047
  result = self._values.get("upstream_registry_url")
991
1048
  return typing.cast(typing.Optional[builtins.str], result)
992
1049
 
1050
+ @builtins.property
1051
+ def upstream_repository_prefix(self) -> typing.Optional[builtins.str]:
1052
+ '''The upstream repository prefix associated with the pull through cache rule.
1053
+
1054
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-pullthroughcacherule.html#cfn-ecr-pullthroughcacherule-upstreamrepositoryprefix
1055
+ '''
1056
+ result = self._values.get("upstream_repository_prefix")
1057
+ return typing.cast(typing.Optional[builtins.str], result)
1058
+
993
1059
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
994
1060
  return isinstance(rhs, self.__class__) and rhs._values == self._values
995
1061
 
@@ -5108,9 +5174,11 @@ def _typecheckingstub__d43871e7810dc89346a08c3c9c24a04a2b82bf02da0d8fa05ef0df564
5108
5174
  id: builtins.str,
5109
5175
  *,
5110
5176
  credential_arn: typing.Optional[builtins.str] = None,
5177
+ custom_role_arn: typing.Optional[builtins.str] = None,
5111
5178
  ecr_repository_prefix: typing.Optional[builtins.str] = None,
5112
5179
  upstream_registry: typing.Optional[builtins.str] = None,
5113
5180
  upstream_registry_url: typing.Optional[builtins.str] = None,
5181
+ upstream_repository_prefix: typing.Optional[builtins.str] = None,
5114
5182
  ) -> None:
5115
5183
  """Type checking stubs"""
5116
5184
  pass
@@ -5133,6 +5201,12 @@ def _typecheckingstub__a379fdfcc316f1fba45c0243614513599bd6a9e9b599a9e279a8cc606
5133
5201
  """Type checking stubs"""
5134
5202
  pass
5135
5203
 
5204
+ def _typecheckingstub__bfdbe9596057e097bfe1b7f8a0aa5e6c64ae2382eeabb10b892cc46dd20f8291(
5205
+ value: typing.Optional[builtins.str],
5206
+ ) -> None:
5207
+ """Type checking stubs"""
5208
+ pass
5209
+
5136
5210
  def _typecheckingstub__97e7364a9d8ce3c9c0a95d7d650a21956fb29a984bd55c4450ace32814a23728(
5137
5211
  value: typing.Optional[builtins.str],
5138
5212
  ) -> None:
@@ -5151,12 +5225,20 @@ def _typecheckingstub__7eb1d214154bb7e817af1779f0f5bf9f4b1c880ec0a8357fa98987f10
5151
5225
  """Type checking stubs"""
5152
5226
  pass
5153
5227
 
5228
+ def _typecheckingstub__5acaf55fdc7a202ee1e0b91a061ceea344f717ca76a78fbb62ae05bdbc30add0(
5229
+ value: typing.Optional[builtins.str],
5230
+ ) -> None:
5231
+ """Type checking stubs"""
5232
+ pass
5233
+
5154
5234
  def _typecheckingstub__e53d5495feeae3bec08dd309eceed79d390d73c31e234c306abd812ec670db16(
5155
5235
  *,
5156
5236
  credential_arn: typing.Optional[builtins.str] = None,
5237
+ custom_role_arn: typing.Optional[builtins.str] = None,
5157
5238
  ecr_repository_prefix: typing.Optional[builtins.str] = None,
5158
5239
  upstream_registry: typing.Optional[builtins.str] = None,
5159
5240
  upstream_registry_url: typing.Optional[builtins.str] = None,
5241
+ upstream_repository_prefix: typing.Optional[builtins.str] = None,
5160
5242
  ) -> None:
5161
5243
  """Type checking stubs"""
5162
5244
  pass
@@ -543,7 +543,7 @@ To grant a principal permission to run your `TaskDefinition`, you can use the `T
543
543
  # role: iam.IGrantable
544
544
 
545
545
  task_def = ecs.TaskDefinition(self, "TaskDef",
546
- cpu="512",
546
+ cpu="256",
547
547
  memory_mi_b="512",
548
548
  compatibility=ecs.Compatibility.EC2_AND_FARGATE
549
549
  )
@@ -9181,7 +9181,7 @@ class CfnService(
9181
9181
 
9182
9182
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
9183
9183
 
9184
- :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` . - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
9184
+ :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
9185
9185
  :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
9186
9186
  :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
9187
9187
 
@@ -9221,7 +9221,6 @@ class CfnService(
9221
9221
 
9222
9222
  - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` .
9223
9223
  - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
9224
- - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
9225
9224
 
9226
9225
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html#cfn-ecs-service-awsvpcconfiguration-assignpublicip
9227
9226
  '''
@@ -18582,7 +18581,7 @@ class CfnTaskSet(
18582
18581
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
18583
18582
 
18584
18583
  :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
18585
- :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` . - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
18584
+ :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` . - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
18586
18585
  :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
18587
18586
 
18588
18587
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
@@ -18638,7 +18637,6 @@ class CfnTaskSet(
18638
18637
 
18639
18638
  - When you use ``create-service`` or ``update-service`` , the default is ``DISABLED`` .
18640
18639
  - When the service ``deploymentController`` is ``ECS`` , the value must be ``DISABLED`` .
18641
- - When you use ``create-service`` or ``update-service`` , the default is ``ENABLED`` .
18642
18640
 
18643
18641
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html#cfn-ecs-taskset-awsvpcconfiguration-assignpublicip
18644
18642
  '''
@@ -27937,6 +27935,8 @@ class FileSystemType(enum.Enum):
27937
27935
  '''ext4 type.'''
27938
27936
  XFS = "XFS"
27939
27937
  '''xfs type.'''
27938
+ NTFS = "NTFS"
27939
+ '''ntfs type.'''
27940
27940
 
27941
27941
 
27942
27942
  @jsii.data_type(
@@ -37170,33 +37170,28 @@ class TaskDefinition(
37170
37170
 
37171
37171
  Example::
37172
37172
 
37173
- # task_definition: ecs.TaskDefinition
37173
+ import aws_cdk.aws_cloudwatch as cw
37174
+
37174
37175
  # cluster: ecs.Cluster
37176
+ # task_definition: ecs.TaskDefinition
37175
37177
 
37176
37178
 
37177
- # Add a container to the task definition
37178
- specific_container = task_definition.add_container("Container",
37179
- image=ecs.ContainerImage.from_registry("/aws/aws-example-app"),
37180
- memory_limit_mi_b=2048
37179
+ service = ecs.FargateService(self, "Service",
37180
+ cluster=cluster,
37181
+ task_definition=task_definition
37181
37182
  )
37182
37183
 
37183
- # Add a port mapping
37184
- specific_container.add_port_mappings(
37185
- container_port=7600,
37186
- protocol=ecs.Protocol.TCP
37184
+ cpu_alarm_name = "MyCpuMetricAlarm"
37185
+ my_alarm = cw.Alarm(self, "CPUAlarm",
37186
+ alarm_name=cpu_alarm_name,
37187
+ metric=service.metric_cpu_utilization(),
37188
+ evaluation_periods=2,
37189
+ threshold=80
37187
37190
  )
37188
37191
 
37189
- ecs.Ec2Service(self, "Service",
37190
- cluster=cluster,
37191
- task_definition=task_definition,
37192
- min_healthy_percent=100,
37193
- cloud_map_options=ecs.CloudMapOptions(
37194
- # Create SRV records - useful for bridge networking
37195
- dns_record_type=cloudmap.DnsRecordType.SRV,
37196
- # Targets port TCP port 7600 `specificContainer`
37197
- container=specific_container,
37198
- container_port=7600
37199
- )
37192
+ # Using `myAlarm.alarmName` here will cause a circular dependency
37193
+ service.enable_deployment_alarms([cpu_alarm_name],
37194
+ behavior=ecs.AlarmBehavior.FAIL_ON_ALARM
37200
37195
  )
37201
37196
  '''
37202
37197
 
@@ -4743,6 +4743,8 @@ class CapacityType(enum.Enum):
4743
4743
  '''spot instances.'''
4744
4744
  ON_DEMAND = "ON_DEMAND"
4745
4745
  '''on-demand instances.'''
4746
+ CAPACITY_BLOCK = "CAPACITY_BLOCK"
4747
+ '''capacity block instances.'''
4746
4748
 
4747
4749
 
4748
4750
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
@@ -5020,9 +5020,9 @@ class CfnListener(
5020
5020
  ) -> None:
5021
5021
  '''The mutual authentication configuration information.
5022
5022
 
5023
- :param advertise_trust_store_ca_names: Indicates whether trust store CA certificate names are advertised. The default value is ``off`` .
5023
+ :param advertise_trust_store_ca_names: Indicates whether trust store CA certificate names are advertised.
5024
5024
  :param ignore_client_certificate_expiry: Indicates whether expired client certificates are ignored.
5025
- :param mode: The client certificate handling method. The possible values are ``off`` , ``passthrough`` , and ``verify`` . The default value is ``off`` .
5025
+ :param mode: The client certificate handling method. Options are ``off`` , ``passthrough`` or ``verify`` . The default value is ``off`` .
5026
5026
  :param trust_store_arn: The Amazon Resource Name (ARN) of the trust store.
5027
5027
 
5028
5028
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html
@@ -5061,8 +5061,6 @@ class CfnListener(
5061
5061
  def advertise_trust_store_ca_names(self) -> typing.Optional[builtins.str]:
5062
5062
  '''Indicates whether trust store CA certificate names are advertised.
5063
5063
 
5064
- The default value is ``off`` .
5065
-
5066
5064
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-advertisetruststorecanames
5067
5065
  '''
5068
5066
  result = self._values.get("advertise_trust_store_ca_names")
@@ -5083,7 +5081,7 @@ class CfnListener(
5083
5081
  def mode(self) -> typing.Optional[builtins.str]:
5084
5082
  '''The client certificate handling method.
5085
5083
 
5086
- The possible values are ``off`` , ``passthrough`` , and ``verify`` . The default value is ``off`` .
5084
+ Options are ``off`` , ``passthrough`` or ``verify`` . The default value is ``off`` .
5087
5085
 
5088
5086
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html#cfn-elasticloadbalancingv2-listener-mutualauthentication-mode
5089
5087
  '''
@@ -8350,6 +8348,7 @@ class CfnLoadBalancer(
8350
8348
  enable_prefix_for_ipv6_source_nat="enablePrefixForIpv6SourceNat",
8351
8349
  enforce_security_group_inbound_rules_on_private_link_traffic="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
8352
8350
  ip_address_type="ipAddressType",
8351
+ ipv4_ipam_pool_id="ipv4IpamPoolId",
8353
8352
  load_balancer_attributes=[elbv2.CfnLoadBalancer.LoadBalancerAttributeProperty(
8354
8353
  key="key",
8355
8354
  value="value"
@@ -8386,6 +8385,7 @@ class CfnLoadBalancer(
8386
8385
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
8387
8386
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
8388
8387
  ip_address_type: typing.Optional[builtins.str] = None,
8388
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
8389
8389
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.LoadBalancerAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8390
8390
  minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.MinimumLoadBalancerCapacityProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8391
8391
  name: typing.Optional[builtins.str] = None,
@@ -8402,6 +8402,7 @@ class CfnLoadBalancer(
8402
8402
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
8403
8403
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink . The default is ``on`` .
8404
8404
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
8405
+ :param ipv4_ipam_pool_id:
8405
8406
  :param load_balancer_attributes: The load balancer attributes.
8406
8407
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
8407
8408
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
@@ -8420,6 +8421,7 @@ class CfnLoadBalancer(
8420
8421
  enable_prefix_for_ipv6_source_nat=enable_prefix_for_ipv6_source_nat,
8421
8422
  enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
8422
8423
  ip_address_type=ip_address_type,
8424
+ ipv4_ipam_pool_id=ipv4_ipam_pool_id,
8423
8425
  load_balancer_attributes=load_balancer_attributes,
8424
8426
  minimum_load_balancer_capacity=minimum_load_balancer_capacity,
8425
8427
  name=name,
@@ -8586,6 +8588,18 @@ class CfnLoadBalancer(
8586
8588
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8587
8589
  jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
8588
8590
 
8591
+ @builtins.property
8592
+ @jsii.member(jsii_name="ipv4IpamPoolId")
8593
+ def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
8594
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv4IpamPoolId"))
8595
+
8596
+ @ipv4_ipam_pool_id.setter
8597
+ def ipv4_ipam_pool_id(self, value: typing.Optional[builtins.str]) -> None:
8598
+ if __debug__:
8599
+ type_hints = typing.get_type_hints(_typecheckingstub__771a4ecd225b5b92f56a4b9a0a84ed7c75fd81e16cb556169a6648b7d21e82bf)
8600
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8601
+ jsii.set(self, "ipv4IpamPoolId", value) # pyright: ignore[reportArgumentType]
8602
+
8589
8603
  @builtins.property
8590
8604
  @jsii.member(jsii_name="loadBalancerAttributes")
8591
8605
  def load_balancer_attributes(
@@ -9013,6 +9027,7 @@ class CfnLoadBalancer(
9013
9027
  "enable_prefix_for_ipv6_source_nat": "enablePrefixForIpv6SourceNat",
9014
9028
  "enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
9015
9029
  "ip_address_type": "ipAddressType",
9030
+ "ipv4_ipam_pool_id": "ipv4IpamPoolId",
9016
9031
  "load_balancer_attributes": "loadBalancerAttributes",
9017
9032
  "minimum_load_balancer_capacity": "minimumLoadBalancerCapacity",
9018
9033
  "name": "name",
@@ -9031,6 +9046,7 @@ class CfnLoadBalancerProps:
9031
9046
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
9032
9047
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
9033
9048
  ip_address_type: typing.Optional[builtins.str] = None,
9049
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
9034
9050
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
9035
9051
  minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9036
9052
  name: typing.Optional[builtins.str] = None,
@@ -9046,6 +9062,7 @@ class CfnLoadBalancerProps:
9046
9062
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
9047
9063
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink . The default is ``on`` .
9048
9064
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
9065
+ :param ipv4_ipam_pool_id:
9049
9066
  :param load_balancer_attributes: The load balancer attributes.
9050
9067
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
9051
9068
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
@@ -9069,6 +9086,7 @@ class CfnLoadBalancerProps:
9069
9086
  enable_prefix_for_ipv6_source_nat="enablePrefixForIpv6SourceNat",
9070
9087
  enforce_security_group_inbound_rules_on_private_link_traffic="enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
9071
9088
  ip_address_type="ipAddressType",
9089
+ ipv4_ipam_pool_id="ipv4IpamPoolId",
9072
9090
  load_balancer_attributes=[elbv2.CfnLoadBalancer.LoadBalancerAttributeProperty(
9073
9091
  key="key",
9074
9092
  value="value"
@@ -9101,6 +9119,7 @@ class CfnLoadBalancerProps:
9101
9119
  check_type(argname="argument enable_prefix_for_ipv6_source_nat", value=enable_prefix_for_ipv6_source_nat, expected_type=type_hints["enable_prefix_for_ipv6_source_nat"])
9102
9120
  check_type(argname="argument enforce_security_group_inbound_rules_on_private_link_traffic", value=enforce_security_group_inbound_rules_on_private_link_traffic, expected_type=type_hints["enforce_security_group_inbound_rules_on_private_link_traffic"])
9103
9121
  check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
9122
+ check_type(argname="argument ipv4_ipam_pool_id", value=ipv4_ipam_pool_id, expected_type=type_hints["ipv4_ipam_pool_id"])
9104
9123
  check_type(argname="argument load_balancer_attributes", value=load_balancer_attributes, expected_type=type_hints["load_balancer_attributes"])
9105
9124
  check_type(argname="argument minimum_load_balancer_capacity", value=minimum_load_balancer_capacity, expected_type=type_hints["minimum_load_balancer_capacity"])
9106
9125
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
@@ -9117,6 +9136,8 @@ class CfnLoadBalancerProps:
9117
9136
  self._values["enforce_security_group_inbound_rules_on_private_link_traffic"] = enforce_security_group_inbound_rules_on_private_link_traffic
9118
9137
  if ip_address_type is not None:
9119
9138
  self._values["ip_address_type"] = ip_address_type
9139
+ if ipv4_ipam_pool_id is not None:
9140
+ self._values["ipv4_ipam_pool_id"] = ipv4_ipam_pool_id
9120
9141
  if load_balancer_attributes is not None:
9121
9142
  self._values["load_balancer_attributes"] = load_balancer_attributes
9122
9143
  if minimum_load_balancer_capacity is not None:
@@ -9175,6 +9196,14 @@ class CfnLoadBalancerProps:
9175
9196
  result = self._values.get("ip_address_type")
9176
9197
  return typing.cast(typing.Optional[builtins.str], result)
9177
9198
 
9199
+ @builtins.property
9200
+ def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
9201
+ '''
9202
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-ipv4ipampoolid
9203
+ '''
9204
+ result = self._values.get("ipv4_ipam_pool_id")
9205
+ return typing.cast(typing.Optional[builtins.str], result)
9206
+
9178
9207
  @builtins.property
9179
9208
  def load_balancer_attributes(
9180
9209
  self,
@@ -26757,6 +26786,7 @@ def _typecheckingstub__907e1e3e88136a6a7bdcdac293563447ed893c77b9f7b1e7154fb1749
26757
26786
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
26758
26787
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
26759
26788
  ip_address_type: typing.Optional[builtins.str] = None,
26789
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
26760
26790
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
26761
26791
  minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
26762
26792
  name: typing.Optional[builtins.str] = None,
@@ -26800,6 +26830,12 @@ def _typecheckingstub__aa89d4763e09b4dd77b6896bc1e3ca0aec2c737fc1c1fe61ce1510756
26800
26830
  """Type checking stubs"""
26801
26831
  pass
26802
26832
 
26833
+ def _typecheckingstub__771a4ecd225b5b92f56a4b9a0a84ed7c75fd81e16cb556169a6648b7d21e82bf(
26834
+ value: typing.Optional[builtins.str],
26835
+ ) -> None:
26836
+ """Type checking stubs"""
26837
+ pass
26838
+
26803
26839
  def _typecheckingstub__8b18943454864026c64dd9c2bc7fdaf60ac5114bf771f7304a82e9bdfd652972(
26804
26840
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.LoadBalancerAttributeProperty]]]],
26805
26841
  ) -> None:
@@ -26885,6 +26921,7 @@ def _typecheckingstub__6b1eb30cea756dc45f625ec82ab8cba6ea31d24595a925a4aabceb7e6
26885
26921
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.str] = None,
26886
26922
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
26887
26923
  ip_address_type: typing.Optional[builtins.str] = None,
26924
+ ipv4_ipam_pool_id: typing.Optional[builtins.str] = None,
26888
26925
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
26889
26926
  minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
26890
26927
  name: typing.Optional[builtins.str] = None,
@@ -236,7 +236,7 @@ domain = es.Domain(self, "Domain",
236
236
  ```
237
237
 
238
238
  For more complex use-cases, for example, to set the domain up to receive data from a
239
- [cross-account Kinesis Firehose](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-firehose-cross-account-streaming/) the `addAccessPolicies` helper method
239
+ [cross-account Amazon Data Firehose](https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-firehose-cross-account-streaming/) the `addAccessPolicies` helper method
240
240
  allows for policies that include the explicit domain ARN.
241
241
 
242
242
  ```python
@@ -374,6 +374,7 @@ from ..aws_iam import (
374
374
  AddToResourcePolicyResult as _AddToResourcePolicyResult_1d0a53ad,
375
375
  Grant as _Grant_a7ae64f8,
376
376
  IGrantable as _IGrantable_71c4f5de,
377
+ IResourceWithPolicy as _IResourceWithPolicy_720d64fc,
377
378
  IRole as _IRole_235f5d8e,
378
379
  PolicyStatement as _PolicyStatement_0fe33853,
379
380
  )
@@ -9505,10 +9506,15 @@ class IEventBus(_IResource_c80c4260, typing_extensions.Protocol):
9505
9506
  ...
9506
9507
 
9507
9508
  @jsii.member(jsii_name="grantPutEventsTo")
9508
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
9509
+ def grant_put_events_to(
9510
+ self,
9511
+ grantee: _IGrantable_71c4f5de,
9512
+ sid: typing.Optional[builtins.str] = None,
9513
+ ) -> _Grant_a7ae64f8:
9509
9514
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
9510
9515
 
9511
9516
  :param grantee: The principal (no-op if undefined).
9517
+ :param sid: The Statement ID used if we need to add a trust policy on the event bus.
9512
9518
  '''
9513
9519
  ...
9514
9520
 
@@ -9593,15 +9599,21 @@ class _IEventBusProxy(
9593
9599
  return typing.cast(Archive, jsii.invoke(self, "archive", [id, props]))
9594
9600
 
9595
9601
  @jsii.member(jsii_name="grantPutEventsTo")
9596
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
9602
+ def grant_put_events_to(
9603
+ self,
9604
+ grantee: _IGrantable_71c4f5de,
9605
+ sid: typing.Optional[builtins.str] = None,
9606
+ ) -> _Grant_a7ae64f8:
9597
9607
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
9598
9608
 
9599
9609
  :param grantee: The principal (no-op if undefined).
9610
+ :param sid: The Statement ID used if we need to add a trust policy on the event bus.
9600
9611
  '''
9601
9612
  if __debug__:
9602
9613
  type_hints = typing.get_type_hints(_typecheckingstub__d2c68164c7bcf711cce4fa768eb0c26c773cd00ae54af79587f28c0ff626481f)
9603
9614
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
9604
- return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee]))
9615
+ check_type(argname="argument sid", value=sid, expected_type=type_hints["sid"])
9616
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee, sid]))
9605
9617
 
9606
9618
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
9607
9619
  typing.cast(typing.Any, IEventBus).__jsii_proxy_class__ = lambda : _IEventBusProxy
@@ -11913,7 +11925,7 @@ class Connection(
11913
11925
  return typing.cast(builtins.str, jsii.get(self, "connectionSecretArn"))
11914
11926
 
11915
11927
 
11916
- @jsii.implements(IEventBus)
11928
+ @jsii.implements(IEventBus, _IResourceWithPolicy_720d64fc)
11917
11929
  class EventBus(
11918
11930
  _Resource_45bc6135,
11919
11931
  metaclass=jsii.JSIIMeta,
@@ -11926,15 +11938,18 @@ class EventBus(
11926
11938
 
11927
11939
  Example::
11928
11940
 
11929
- import aws_cdk.aws_events as events
11930
-
11931
- # my_configuration_set: ses.ConfigurationSet
11932
-
11933
-
11934
- bus = events.EventBus.from_event_bus_name(self, "EventBus", "default")
11941
+ bus = events.EventBus(self, "bus",
11942
+ event_bus_name="MyCustomEventBus",
11943
+ description="MyCustomEventBus"
11944
+ )
11935
11945
 
11936
- my_configuration_set.add_event_destination("ToEventBus",
11937
- destination=ses.EventDestination.event_bus(bus)
11946
+ bus.archive("MyArchive",
11947
+ archive_name="MyCustomEventBusArchive",
11948
+ description="MyCustomerEventBus Archive",
11949
+ event_pattern=events.EventPattern(
11950
+ account=[Stack.of(self).account]
11951
+ ),
11952
+ retention=Duration.days(365)
11938
11953
  )
11939
11954
  '''
11940
11955
 
@@ -12108,15 +12123,21 @@ class EventBus(
12108
12123
  return typing.cast(Archive, jsii.invoke(self, "archive", [id, props]))
12109
12124
 
12110
12125
  @jsii.member(jsii_name="grantPutEventsTo")
12111
- def grant_put_events_to(self, grantee: _IGrantable_71c4f5de) -> _Grant_a7ae64f8:
12126
+ def grant_put_events_to(
12127
+ self,
12128
+ grantee: _IGrantable_71c4f5de,
12129
+ sid: typing.Optional[builtins.str] = None,
12130
+ ) -> _Grant_a7ae64f8:
12112
12131
  '''Grants an IAM Principal to send custom events to the eventBus so that they can be matched to rules.
12113
12132
 
12114
12133
  :param grantee: -
12134
+ :param sid: -
12115
12135
  '''
12116
12136
  if __debug__:
12117
12137
  type_hints = typing.get_type_hints(_typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c8287a4f)
12118
12138
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
12119
- return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee]))
12139
+ check_type(argname="argument sid", value=sid, expected_type=type_hints["sid"])
12140
+ return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantPutEventsTo", [grantee, sid]))
12120
12141
 
12121
12142
  @builtins.property
12122
12143
  @jsii.member(jsii_name="eventBusArn")
@@ -13272,6 +13293,7 @@ def _typecheckingstub__1ed58495b96f0f8ed0dfb0c65e8400413d45c5c1f372215e535272012
13272
13293
 
13273
13294
  def _typecheckingstub__d2c68164c7bcf711cce4fa768eb0c26c773cd00ae54af79587f28c0ff626481f(
13274
13295
  grantee: _IGrantable_71c4f5de,
13296
+ sid: typing.Optional[builtins.str] = None,
13275
13297
  ) -> None:
13276
13298
  """Type checking stubs"""
13277
13299
  pass
@@ -13697,6 +13719,7 @@ def _typecheckingstub__7330918630167c372966fe4a86452f34a261c80460ae944bcce168d6b
13697
13719
 
13698
13720
  def _typecheckingstub__f55b55b311ab4cc3f0aabb9339086b97d1f1340dcc28209fe5e78777c8287a4f(
13699
13721
  grantee: _IGrantable_71c4f5de,
13722
+ sid: typing.Optional[builtins.str] = None,
13700
13723
  ) -> None:
13701
13724
  """Type checking stubs"""
13702
13725
  pass