aws-cdk-lib 2.157.0__py3-none-any.whl → 2.159.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 (294) hide show
  1. aws_cdk/__init__.py +52 -20
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.157.0.jsii.tgz → aws-cdk-lib@2.159.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +16 -1
  5. aws_cdk/assertions/__init__.py +16 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +16 -1
  7. aws_cdk/aws_acmpca/__init__.py +16 -1
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +38 -9
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
  11. aws_cdk/aws_apigateway/__init__.py +16 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +46 -1
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
  15. aws_cdk/aws_appconfig/__init__.py +19 -4
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +16 -1
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +560 -5
  20. aws_cdk/aws_applicationsignals/__init__.py +186 -143
  21. aws_cdk/aws_appmesh/__init__.py +16 -1
  22. aws_cdk/aws_apprunner/__init__.py +16 -1
  23. aws_cdk/aws_appstream/__init__.py +16 -1
  24. aws_cdk/aws_appsync/__init__.py +16 -1
  25. aws_cdk/aws_apptest/__init__.py +16 -1
  26. aws_cdk/aws_aps/__init__.py +16 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +16 -1
  28. aws_cdk/aws_athena/__init__.py +31 -16
  29. aws_cdk/aws_auditmanager/__init__.py +21 -6
  30. aws_cdk/aws_autoscaling/__init__.py +16 -1
  31. aws_cdk/aws_autoscaling_common/__init__.py +16 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +16 -1
  34. aws_cdk/aws_b2bi/__init__.py +16 -1
  35. aws_cdk/aws_backup/__init__.py +16 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +16 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +23 -8
  40. aws_cdk/aws_billingconductor/__init__.py +16 -1
  41. aws_cdk/aws_budgets/__init__.py +16 -1
  42. aws_cdk/aws_cassandra/__init__.py +16 -1
  43. aws_cdk/aws_ce/__init__.py +16 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +16 -1
  45. aws_cdk/aws_chatbot/__init__.py +16 -1
  46. aws_cdk/aws_cleanrooms/__init__.py +16 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +16 -1
  48. aws_cdk/aws_cloud9/__init__.py +16 -1
  49. aws_cdk/aws_cloudformation/__init__.py +16 -1
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +16 -1
  52. aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +16 -1
  54. aws_cdk/aws_cloudwatch/__init__.py +16 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
  56. aws_cdk/aws_codeartifact/__init__.py +16 -1
  57. aws_cdk/aws_codebuild/__init__.py +55 -19
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +17 -2
  60. aws_cdk/aws_codedeploy/__init__.py +16 -1
  61. aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +16 -1
  63. aws_cdk/aws_codepipeline/__init__.py +16 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
  65. aws_cdk/aws_codestar/__init__.py +16 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +16 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +16 -1
  68. aws_cdk/aws_cognito/__init__.py +406 -204
  69. aws_cdk/aws_comprehend/__init__.py +16 -1
  70. aws_cdk/aws_config/__init__.py +16 -1
  71. aws_cdk/aws_connect/__init__.py +1695 -153
  72. aws_cdk/aws_connectcampaigns/__init__.py +16 -1
  73. aws_cdk/aws_controltower/__init__.py +16 -1
  74. aws_cdk/aws_cur/__init__.py +16 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +16 -1
  76. aws_cdk/aws_databrew/__init__.py +16 -1
  77. aws_cdk/aws_datapipeline/__init__.py +16 -1
  78. aws_cdk/aws_datasync/__init__.py +16 -1
  79. aws_cdk/aws_datazone/__init__.py +681 -41
  80. aws_cdk/aws_dax/__init__.py +16 -1
  81. aws_cdk/aws_deadline/__init__.py +16 -1
  82. aws_cdk/aws_detective/__init__.py +16 -1
  83. aws_cdk/aws_devicefarm/__init__.py +16 -1
  84. aws_cdk/aws_devopsguru/__init__.py +16 -1
  85. aws_cdk/aws_directoryservice/__init__.py +16 -1
  86. aws_cdk/aws_dlm/__init__.py +16 -1
  87. aws_cdk/aws_dms/__init__.py +16 -1
  88. aws_cdk/aws_docdb/__init__.py +22 -2
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +21 -6
  91. aws_cdk/aws_ec2/__init__.py +137 -37
  92. aws_cdk/aws_ecr/__init__.py +30 -7
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +36 -21
  95. aws_cdk/aws_ecs_patterns/__init__.py +16 -1
  96. aws_cdk/aws_efs/__init__.py +16 -1
  97. aws_cdk/aws_eks/__init__.py +16 -1
  98. aws_cdk/aws_elasticache/__init__.py +16 -1
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +183 -21
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +16 -1
  105. aws_cdk/aws_emr/__init__.py +24 -9
  106. aws_cdk/aws_emrcontainers/__init__.py +16 -1
  107. aws_cdk/aws_emrserverless/__init__.py +16 -1
  108. aws_cdk/aws_entityresolution/__init__.py +16 -1
  109. aws_cdk/aws_events/__init__.py +35 -18
  110. aws_cdk/aws_events_targets/__init__.py +181 -86
  111. aws_cdk/aws_eventschemas/__init__.py +16 -1
  112. aws_cdk/aws_evidently/__init__.py +16 -1
  113. aws_cdk/aws_finspace/__init__.py +16 -1
  114. aws_cdk/aws_fis/__init__.py +16 -1
  115. aws_cdk/aws_fms/__init__.py +75 -1
  116. aws_cdk/aws_forecast/__init__.py +16 -1
  117. aws_cdk/aws_frauddetector/__init__.py +16 -1
  118. aws_cdk/aws_fsx/__init__.py +19 -4
  119. aws_cdk/aws_gamelift/__init__.py +56 -53
  120. aws_cdk/aws_globalaccelerator/__init__.py +38 -30
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -1
  123. aws_cdk/aws_grafana/__init__.py +16 -1
  124. aws_cdk/aws_greengrass/__init__.py +16 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +16 -1
  126. aws_cdk/aws_groundstation/__init__.py +16 -1
  127. aws_cdk/aws_guardduty/__init__.py +16 -1
  128. aws_cdk/aws_healthimaging/__init__.py +16 -1
  129. aws_cdk/aws_healthlake/__init__.py +16 -1
  130. aws_cdk/aws_iam/__init__.py +38 -21
  131. aws_cdk/aws_identitystore/__init__.py +16 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +16 -1
  133. aws_cdk/aws_inspector/__init__.py +16 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +16 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +16 -1
  136. aws_cdk/aws_iot/__init__.py +16 -1
  137. aws_cdk/aws_iot1click/__init__.py +16 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +16 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
  140. aws_cdk/aws_iotevents/__init__.py +16 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +16 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +435 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +106 -2
  144. aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +16 -1
  146. aws_cdk/aws_iotwireless/__init__.py +221 -1
  147. aws_cdk/aws_ivs/__init__.py +16 -1
  148. aws_cdk/aws_ivschat/__init__.py +16 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +16 -1
  150. aws_cdk/aws_kendra/__init__.py +16 -1
  151. aws_cdk/aws_kendraranking/__init__.py +16 -1
  152. aws_cdk/aws_kinesis/__init__.py +16 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
  156. aws_cdk/aws_kinesisvideo/__init__.py +16 -1
  157. aws_cdk/aws_kms/__init__.py +16 -1
  158. aws_cdk/aws_lakeformation/__init__.py +16 -1
  159. aws_cdk/aws_lambda/__init__.py +145 -17
  160. aws_cdk/aws_lambda_destinations/__init__.py +16 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +16 -1
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +31 -2
  165. aws_cdk/aws_licensemanager/__init__.py +16 -1
  166. aws_cdk/aws_lightsail/__init__.py +16 -1
  167. aws_cdk/aws_location/__init__.py +16 -1
  168. aws_cdk/aws_logs/__init__.py +17 -2
  169. aws_cdk/aws_logs_destinations/__init__.py +16 -1
  170. aws_cdk/aws_lookoutequipment/__init__.py +16 -1
  171. aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
  172. aws_cdk/aws_lookoutvision/__init__.py +16 -1
  173. aws_cdk/aws_m2/__init__.py +16 -1
  174. aws_cdk/aws_macie/__init__.py +16 -1
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +127 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +8004 -3263
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +16 -1
  181. aws_cdk/aws_mediastore/__init__.py +16 -1
  182. aws_cdk/aws_mediatailor/__init__.py +16 -1
  183. aws_cdk/aws_memorydb/__init__.py +16 -1
  184. aws_cdk/aws_msk/__init__.py +303 -480
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +16 -1
  187. aws_cdk/aws_neptunegraph/__init__.py +16 -1
  188. aws_cdk/aws_networkfirewall/__init__.py +16 -1
  189. aws_cdk/aws_networkmanager/__init__.py +16 -1
  190. aws_cdk/aws_nimblestudio/__init__.py +16 -1
  191. aws_cdk/aws_oam/__init__.py +16 -1
  192. aws_cdk/aws_omics/__init__.py +16 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +16 -1
  194. aws_cdk/aws_opensearchservice/__init__.py +22 -1
  195. aws_cdk/aws_opsworks/__init__.py +16 -1
  196. aws_cdk/aws_opsworkscm/__init__.py +16 -1
  197. aws_cdk/aws_organizations/__init__.py +16 -1
  198. aws_cdk/aws_osis/__init__.py +16 -1
  199. aws_cdk/aws_panorama/__init__.py +16 -1
  200. aws_cdk/aws_paymentcryptography/__init__.py +16 -1
  201. aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +85 -31
  203. aws_cdk/aws_personalize/__init__.py +16 -1
  204. aws_cdk/aws_pinpoint/__init__.py +16 -1
  205. aws_cdk/aws_pinpointemail/__init__.py +16 -1
  206. aws_cdk/aws_pipes/__init__.py +65 -1
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +27 -15
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +654 -100
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +78 -32
  213. aws_cdk/aws_redshift/__init__.py +16 -1
  214. aws_cdk/aws_redshiftserverless/__init__.py +16 -1
  215. aws_cdk/aws_refactorspaces/__init__.py +16 -1
  216. aws_cdk/aws_rekognition/__init__.py +16 -1
  217. aws_cdk/aws_resiliencehub/__init__.py +16 -1
  218. aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
  219. aws_cdk/aws_resourcegroups/__init__.py +16 -1
  220. aws_cdk/aws_robomaker/__init__.py +16 -1
  221. aws_cdk/aws_rolesanywhere/__init__.py +16 -1
  222. aws_cdk/aws_route53/__init__.py +16 -1
  223. aws_cdk/aws_route53_patterns/__init__.py +16 -1
  224. aws_cdk/aws_route53_targets/__init__.py +16 -1
  225. aws_cdk/aws_route53profiles/__init__.py +16 -1
  226. aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
  227. aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
  228. aws_cdk/aws_route53resolver/__init__.py +16 -1
  229. aws_cdk/aws_rum/__init__.py +16 -1
  230. aws_cdk/aws_s3/__init__.py +231 -34
  231. aws_cdk/aws_s3_assets/__init__.py +16 -1
  232. aws_cdk/aws_s3_deployment/__init__.py +16 -1
  233. aws_cdk/aws_s3_notifications/__init__.py +16 -1
  234. aws_cdk/aws_s3express/__init__.py +16 -1
  235. aws_cdk/aws_s3objectlambda/__init__.py +18 -3
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +888 -59
  238. aws_cdk/aws_sam/__init__.py +16 -1
  239. aws_cdk/aws_scheduler/__init__.py +16 -1
  240. aws_cdk/aws_sdb/__init__.py +16 -1
  241. aws_cdk/aws_secretsmanager/__init__.py +38 -9
  242. aws_cdk/aws_securityhub/__init__.py +277 -20
  243. aws_cdk/aws_securitylake/__init__.py +343 -8
  244. aws_cdk/aws_servicecatalog/__init__.py +16 -1
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
  246. aws_cdk/aws_servicediscovery/__init__.py +21 -6
  247. aws_cdk/aws_ses/__init__.py +16 -1
  248. aws_cdk/aws_ses_actions/__init__.py +16 -1
  249. aws_cdk/aws_shield/__init__.py +16 -1
  250. aws_cdk/aws_signer/__init__.py +16 -1
  251. aws_cdk/aws_simspaceweaver/__init__.py +16 -1
  252. aws_cdk/aws_sns/__init__.py +16 -9
  253. aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
  254. aws_cdk/aws_sqs/__init__.py +16 -1
  255. aws_cdk/aws_ssm/__init__.py +36 -13
  256. aws_cdk/aws_ssmcontacts/__init__.py +16 -1
  257. aws_cdk/aws_ssmincidents/__init__.py +16 -1
  258. aws_cdk/aws_ssmquicksetup/__init__.py +16 -1
  259. aws_cdk/aws_sso/__init__.py +16 -1
  260. aws_cdk/aws_stepfunctions/__init__.py +16 -1
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +52 -1
  262. aws_cdk/aws_supportapp/__init__.py +16 -1
  263. aws_cdk/aws_synthetics/__init__.py +16 -1
  264. aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
  265. aws_cdk/aws_timestream/__init__.py +16 -1
  266. aws_cdk/aws_transfer/__init__.py +16 -1
  267. aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
  268. aws_cdk/aws_voiceid/__init__.py +16 -1
  269. aws_cdk/aws_vpclattice/__init__.py +16 -1
  270. aws_cdk/aws_waf/__init__.py +16 -1
  271. aws_cdk/aws_wafregional/__init__.py +16 -1
  272. aws_cdk/aws_wafv2/__init__.py +16 -1
  273. aws_cdk/aws_wisdom/__init__.py +16 -1
  274. aws_cdk/aws_workspaces/__init__.py +16 -1
  275. aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
  276. aws_cdk/aws_workspacesweb/__init__.py +16 -1
  277. aws_cdk/aws_xray/__init__.py +16 -1
  278. aws_cdk/cloud_assembly_schema/__init__.py +16 -1
  279. aws_cdk/cloudformation_include/__init__.py +16 -1
  280. aws_cdk/custom_resources/__init__.py +16 -1
  281. aws_cdk/cx_api/__init__.py +35 -1
  282. aws_cdk/lambda_layer_awscli/__init__.py +16 -1
  283. aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
  284. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
  285. aws_cdk/pipelines/__init__.py +16 -1
  286. aws_cdk/region_info/__init__.py +16 -1
  287. aws_cdk/triggers/__init__.py +16 -1
  288. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.159.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.157.0.dist-info/RECORD +0 -294
  292. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.157.0.dist-info → aws_cdk_lib-2.159.0.dist-info}/top_level.txt +0 -0
@@ -198,6 +198,8 @@ If you do not provide any options for this method, it redirects HTTP port 80 to
198
198
  By default all ingress traffic will be allowed on the source port. If you want to be more selective with your
199
199
  ingress rules then set `open: false` and use the listener's `connections` object to selectively grant access to the listener.
200
200
 
201
+ **Note**: The `path` parameter must start with a `/`.
202
+
201
203
  ### Application Load Balancer attributes
202
204
 
203
205
  You can modify attributes of Application Load Balancers:
@@ -289,6 +291,32 @@ lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc)
289
291
  lb.log_connection_logs(bucket)
290
292
  ```
291
293
 
294
+ ### Dualstack Application Load Balancer
295
+
296
+ You can create a dualstack Network Load Balancer using the `ipAddressType` property:
297
+
298
+ ```python
299
+ # vpc: ec2.Vpc
300
+
301
+
302
+ lb = elbv2.ApplicationLoadBalancer(self, "LB",
303
+ vpc=vpc,
304
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
305
+ )
306
+ ```
307
+
308
+ By setting `DUAL_STACK_WITHOUT_PUBLIC_IPV4`, you can provision load balancers without public IPv4s
309
+
310
+ ```python
311
+ # vpc: ec2.Vpc
312
+
313
+
314
+ lb = elbv2.ApplicationLoadBalancer(self, "LB",
315
+ vpc=vpc,
316
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4
317
+ )
318
+ ```
319
+
292
320
  ## Defining a Network Load Balancer
293
321
 
294
322
  Network Load Balancers are defined in a similar way to Application Load
@@ -903,7 +931,22 @@ import jsii
903
931
  import publication
904
932
  import typing_extensions
905
933
 
906
- from typeguard import check_type
934
+ import typeguard
935
+ from importlib.metadata import version as _metadata_package_version
936
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
937
+
938
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
939
+ if TYPEGUARD_MAJOR_VERSION <= 2:
940
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
941
+ else:
942
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
943
+ pass
944
+ else:
945
+ if TYPEGUARD_MAJOR_VERSION == 3:
946
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
947
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
948
+ else:
949
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
907
950
 
908
951
  from .._jsii import *
909
952
 
@@ -3445,6 +3488,10 @@ class CfnListener(
3445
3488
  certificates=[elbv2.CfnListener.CertificateProperty(
3446
3489
  certificate_arn="certificateArn"
3447
3490
  )],
3491
+ listener_attributes=[elbv2.CfnListener.ListenerAttributeProperty(
3492
+ key="key",
3493
+ value="value"
3494
+ )],
3448
3495
  mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
3449
3496
  ignore_client_certificate_expiry=False,
3450
3497
  mode="mode",
@@ -3465,6 +3512,7 @@ class CfnListener(
3465
3512
  load_balancer_arn: builtins.str,
3466
3513
  alpn_policy: typing.Optional[typing.Sequence[builtins.str]] = None,
3467
3514
  certificates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnListener.CertificateProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3515
+ listener_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnListener.ListenerAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3468
3516
  mutual_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnListener.MutualAuthenticationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3469
3517
  port: typing.Optional[jsii.Number] = None,
3470
3518
  protocol: typing.Optional[builtins.str] = None,
@@ -3477,6 +3525,7 @@ class CfnListener(
3477
3525
  :param load_balancer_arn: The Amazon Resource Name (ARN) of the load balancer.
3478
3526
  :param alpn_policy: [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
3479
3527
  :param certificates: The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use `AWS::ElasticLoadBalancingV2::ListenerCertificate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html>`_ .
3528
+ :param listener_attributes:
3480
3529
  :param mutual_authentication: The mutual authentication configuration information.
3481
3530
  :param port: The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.
3482
3531
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.
@@ -3491,6 +3540,7 @@ class CfnListener(
3491
3540
  load_balancer_arn=load_balancer_arn,
3492
3541
  alpn_policy=alpn_policy,
3493
3542
  certificates=certificates,
3543
+ listener_attributes=listener_attributes,
3494
3544
  mutual_authentication=mutual_authentication,
3495
3545
  port=port,
3496
3546
  protocol=protocol,
@@ -3608,6 +3658,23 @@ class CfnListener(
3608
3658
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3609
3659
  jsii.set(self, "certificates", value) # pyright: ignore[reportArgumentType]
3610
3660
 
3661
+ @builtins.property
3662
+ @jsii.member(jsii_name="listenerAttributes")
3663
+ def listener_attributes(
3664
+ self,
3665
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnListener.ListenerAttributeProperty"]]]]:
3666
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnListener.ListenerAttributeProperty"]]]], jsii.get(self, "listenerAttributes"))
3667
+
3668
+ @listener_attributes.setter
3669
+ def listener_attributes(
3670
+ self,
3671
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnListener.ListenerAttributeProperty"]]]],
3672
+ ) -> None:
3673
+ if __debug__:
3674
+ type_hints = typing.get_type_hints(_typecheckingstub__3b1b9d350ce31742bfadffdc2323f76036aecec151afd7512bdaf44e71eda7fb)
3675
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3676
+ jsii.set(self, "listenerAttributes", value) # pyright: ignore[reportArgumentType]
3677
+
3611
3678
  @builtins.property
3612
3679
  @jsii.member(jsii_name="mutualAuthentication")
3613
3680
  def mutual_authentication(
@@ -4597,6 +4664,80 @@ class CfnListener(
4597
4664
  k + "=" + repr(v) for k, v in self._values.items()
4598
4665
  )
4599
4666
 
4667
+ @jsii.data_type(
4668
+ jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener.ListenerAttributeProperty",
4669
+ jsii_struct_bases=[],
4670
+ name_mapping={"key": "key", "value": "value"},
4671
+ )
4672
+ class ListenerAttributeProperty:
4673
+ def __init__(
4674
+ self,
4675
+ *,
4676
+ key: typing.Optional[builtins.str] = None,
4677
+ value: typing.Optional[builtins.str] = None,
4678
+ ) -> None:
4679
+ '''Information about a listener attribute.
4680
+
4681
+ :param key: The name of the attribute. The following attribute is supported by Network Load Balancers, and Gateway Load Balancers. - ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.
4682
+ :param value: The value of the attribute.
4683
+
4684
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html
4685
+ :exampleMetadata: fixture=_generated
4686
+
4687
+ Example::
4688
+
4689
+ # The code below shows an example of how to instantiate this type.
4690
+ # The values are placeholders you should change.
4691
+ from aws_cdk import aws_elasticloadbalancingv2 as elbv2
4692
+
4693
+ listener_attribute_property = elbv2.CfnListener.ListenerAttributeProperty(
4694
+ key="key",
4695
+ value="value"
4696
+ )
4697
+ '''
4698
+ if __debug__:
4699
+ type_hints = typing.get_type_hints(_typecheckingstub__0e09ea6213c5fb2125f07b2f54d7fe6ee24307939dcc06580928b2ef024c5d2f)
4700
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
4701
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4702
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4703
+ if key is not None:
4704
+ self._values["key"] = key
4705
+ if value is not None:
4706
+ self._values["value"] = value
4707
+
4708
+ @builtins.property
4709
+ def key(self) -> typing.Optional[builtins.str]:
4710
+ '''The name of the attribute.
4711
+
4712
+ The following attribute is supported by Network Load Balancers, and Gateway Load Balancers.
4713
+
4714
+ - ``tcp.idle_timeout.seconds`` - The tcp idle timeout value, in seconds. The valid range is 60-6000 seconds. The default is 350 seconds.
4715
+
4716
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html#cfn-elasticloadbalancingv2-listener-listenerattribute-key
4717
+ '''
4718
+ result = self._values.get("key")
4719
+ return typing.cast(typing.Optional[builtins.str], result)
4720
+
4721
+ @builtins.property
4722
+ def value(self) -> typing.Optional[builtins.str]:
4723
+ '''The value of the attribute.
4724
+
4725
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-listenerattribute.html#cfn-elasticloadbalancingv2-listener-listenerattribute-value
4726
+ '''
4727
+ result = self._values.get("value")
4728
+ return typing.cast(typing.Optional[builtins.str], result)
4729
+
4730
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4731
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4732
+
4733
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4734
+ return not (rhs == self)
4735
+
4736
+ def __repr__(self) -> str:
4737
+ return "ListenerAttributeProperty(%s)" % ", ".join(
4738
+ k + "=" + repr(v) for k, v in self._values.items()
4739
+ )
4740
+
4600
4741
  @jsii.data_type(
4601
4742
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnListener.MutualAuthenticationProperty",
4602
4743
  jsii_struct_bases=[],
@@ -5267,6 +5408,7 @@ class CfnListenerCertificateProps:
5267
5408
  "load_balancer_arn": "loadBalancerArn",
5268
5409
  "alpn_policy": "alpnPolicy",
5269
5410
  "certificates": "certificates",
5411
+ "listener_attributes": "listenerAttributes",
5270
5412
  "mutual_authentication": "mutualAuthentication",
5271
5413
  "port": "port",
5272
5414
  "protocol": "protocol",
@@ -5281,6 +5423,7 @@ class CfnListenerProps:
5281
5423
  load_balancer_arn: builtins.str,
5282
5424
  alpn_policy: typing.Optional[typing.Sequence[builtins.str]] = None,
5283
5425
  certificates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.CertificateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5426
+ listener_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.ListenerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5284
5427
  mutual_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.MutualAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5285
5428
  port: typing.Optional[jsii.Number] = None,
5286
5429
  protocol: typing.Optional[builtins.str] = None,
@@ -5292,6 +5435,7 @@ class CfnListenerProps:
5292
5435
  :param load_balancer_arn: The Amazon Resource Name (ARN) of the load balancer.
5293
5436
  :param alpn_policy: [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
5294
5437
  :param certificates: The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS. To create a certificate list for a secure listener, use `AWS::ElasticLoadBalancingV2::ListenerCertificate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html>`_ .
5438
+ :param listener_attributes:
5295
5439
  :param mutual_authentication: The mutual authentication configuration information.
5296
5440
  :param port: The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.
5297
5441
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.
@@ -5380,6 +5524,10 @@ class CfnListenerProps:
5380
5524
  certificates=[elbv2.CfnListener.CertificateProperty(
5381
5525
  certificate_arn="certificateArn"
5382
5526
  )],
5527
+ listener_attributes=[elbv2.CfnListener.ListenerAttributeProperty(
5528
+ key="key",
5529
+ value="value"
5530
+ )],
5383
5531
  mutual_authentication=elbv2.CfnListener.MutualAuthenticationProperty(
5384
5532
  ignore_client_certificate_expiry=False,
5385
5533
  mode="mode",
@@ -5396,6 +5544,7 @@ class CfnListenerProps:
5396
5544
  check_type(argname="argument load_balancer_arn", value=load_balancer_arn, expected_type=type_hints["load_balancer_arn"])
5397
5545
  check_type(argname="argument alpn_policy", value=alpn_policy, expected_type=type_hints["alpn_policy"])
5398
5546
  check_type(argname="argument certificates", value=certificates, expected_type=type_hints["certificates"])
5547
+ check_type(argname="argument listener_attributes", value=listener_attributes, expected_type=type_hints["listener_attributes"])
5399
5548
  check_type(argname="argument mutual_authentication", value=mutual_authentication, expected_type=type_hints["mutual_authentication"])
5400
5549
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
5401
5550
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
@@ -5408,6 +5557,8 @@ class CfnListenerProps:
5408
5557
  self._values["alpn_policy"] = alpn_policy
5409
5558
  if certificates is not None:
5410
5559
  self._values["certificates"] = certificates
5560
+ if listener_attributes is not None:
5561
+ self._values["listener_attributes"] = listener_attributes
5411
5562
  if mutual_authentication is not None:
5412
5563
  self._values["mutual_authentication"] = mutual_authentication
5413
5564
  if port is not None:
@@ -5465,6 +5616,16 @@ class CfnListenerProps:
5465
5616
  result = self._values.get("certificates")
5466
5617
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnListener.CertificateProperty]]]], result)
5467
5618
 
5619
+ @builtins.property
5620
+ def listener_attributes(
5621
+ self,
5622
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnListener.ListenerAttributeProperty]]]]:
5623
+ '''
5624
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-listenerattributes
5625
+ '''
5626
+ result = self._values.get("listener_attributes")
5627
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnListener.ListenerAttributeProperty]]]], result)
5628
+
5468
5629
  @builtins.property
5469
5630
  def mutual_authentication(
5470
5631
  self,
@@ -14942,28 +15103,11 @@ class IpAddressType(enum.Enum):
14942
15103
 
14943
15104
  Example::
14944
15105
 
14945
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
14946
-
14947
-
14948
- # The VPC and subnet must have associated IPv6 CIDR blocks.
14949
- vpc = ec2.Vpc(self, "Vpc",
14950
- ip_protocol=ec2.IpProtocol.DUAL_STACK
14951
- )
14952
- cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
15106
+ # vpc: ec2.Vpc
14953
15107
 
14954
- service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "myService",
14955
- cluster=cluster,
14956
- task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
14957
- image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
14958
- ),
14959
- ip_address_type=elbv2.IpAddressType.DUAL_STACK
14960
- )
14961
15108
 
14962
- application_load_balanced_ec2_service = ecs_patterns.ApplicationLoadBalancedEc2Service(self, "myService",
14963
- cluster=cluster,
14964
- task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
14965
- image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
14966
- ),
15109
+ lb = elbv2.ApplicationLoadBalancer(self, "LB",
15110
+ vpc=vpc,
14967
15111
  ip_address_type=elbv2.IpAddressType.DUAL_STACK
14968
15112
  )
14969
15113
  '''
@@ -14972,6 +15116,8 @@ class IpAddressType(enum.Enum):
14972
15116
  '''Allocate IPv4 addresses.'''
14973
15117
  DUAL_STACK = "DUAL_STACK"
14974
15118
  '''Allocate both IPv4 and IPv6 addresses.'''
15119
+ DUAL_STACK_WITHOUT_PUBLIC_IPV4 = "DUAL_STACK_WITHOUT_PUBLIC_IPV4"
15120
+ '''IPv6 only public addresses, with private IPv4 and IPv6 addresses.'''
14975
15121
 
14976
15122
 
14977
15123
  @jsii.implements(IListenerAction)
@@ -24769,6 +24915,7 @@ def _typecheckingstub__da6c6bab97eae93f0a1595d72a25ac890e7034cc701e7cf76b58f5c6a
24769
24915
  load_balancer_arn: builtins.str,
24770
24916
  alpn_policy: typing.Optional[typing.Sequence[builtins.str]] = None,
24771
24917
  certificates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.CertificateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24918
+ listener_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.ListenerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24772
24919
  mutual_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.MutualAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24773
24920
  port: typing.Optional[jsii.Number] = None,
24774
24921
  protocol: typing.Optional[builtins.str] = None,
@@ -24813,6 +24960,12 @@ def _typecheckingstub__61f97e9ea7f88d4009c002606c3949415591bdcf9c6178a79e7393f3b
24813
24960
  """Type checking stubs"""
24814
24961
  pass
24815
24962
 
24963
+ def _typecheckingstub__3b1b9d350ce31742bfadffdc2323f76036aecec151afd7512bdaf44e71eda7fb(
24964
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnListener.ListenerAttributeProperty]]]],
24965
+ ) -> None:
24966
+ """Type checking stubs"""
24967
+ pass
24968
+
24816
24969
  def _typecheckingstub__e2037bfa810705678f0e924d5416268a866686cb43dd3194eaf57585e0b95ac3(
24817
24970
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnListener.MutualAuthenticationProperty]],
24818
24971
  ) -> None:
@@ -24907,6 +25060,14 @@ def _typecheckingstub__76a2843eb97151186fbdfa49596935d3eaaa57f1a9d2a415ebe1955fc
24907
25060
  """Type checking stubs"""
24908
25061
  pass
24909
25062
 
25063
+ def _typecheckingstub__0e09ea6213c5fb2125f07b2f54d7fe6ee24307939dcc06580928b2ef024c5d2f(
25064
+ *,
25065
+ key: typing.Optional[builtins.str] = None,
25066
+ value: typing.Optional[builtins.str] = None,
25067
+ ) -> None:
25068
+ """Type checking stubs"""
25069
+ pass
25070
+
24910
25071
  def _typecheckingstub__07605e87f763c352d3e6705d69aa07723ad3c005493c1fdef02b175f49d53ee0(
24911
25072
  *,
24912
25073
  ignore_client_certificate_expiry: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -24999,6 +25160,7 @@ def _typecheckingstub__aab6d22e7b936da7d57033477b79897453525b2ac292509d47ddac8e9
24999
25160
  load_balancer_arn: builtins.str,
25000
25161
  alpn_policy: typing.Optional[typing.Sequence[builtins.str]] = None,
25001
25162
  certificates: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.CertificateProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25163
+ listener_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.ListenerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25002
25164
  mutual_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnListener.MutualAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25003
25165
  port: typing.Optional[jsii.Number] = None,
25004
25166
  protocol: typing.Optional[builtins.str] = None,
@@ -84,7 +84,22 @@ import jsii
84
84
  import publication
85
85
  import typing_extensions
86
86
 
87
- from typeguard import check_type
87
+ import typeguard
88
+ from importlib.metadata import version as _metadata_package_version
89
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
90
+
91
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
92
+ if TYPEGUARD_MAJOR_VERSION <= 2:
93
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
94
+ else:
95
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
96
+ pass
97
+ else:
98
+ if TYPEGUARD_MAJOR_VERSION == 3:
99
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
100
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
101
+ else:
102
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
88
103
 
89
104
  from .._jsii import *
90
105
 
@@ -16,7 +16,22 @@ import jsii
16
16
  import publication
17
17
  import typing_extensions
18
18
 
19
- from typeguard import check_type
19
+ import typeguard
20
+ from importlib.metadata import version as _metadata_package_version
21
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
22
+
23
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
24
+ if TYPEGUARD_MAJOR_VERSION <= 2:
25
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
26
+ else:
27
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
28
+ pass
29
+ else:
30
+ if TYPEGUARD_MAJOR_VERSION == 3:
31
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
32
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
33
+ else:
34
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
20
35
 
21
36
  from .._jsii import *
22
37
 
@@ -440,7 +440,22 @@ import jsii
440
440
  import publication
441
441
  import typing_extensions
442
442
 
443
- from typeguard import check_type
443
+ import typeguard
444
+ from importlib.metadata import version as _metadata_package_version
445
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
446
+
447
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
448
+ if TYPEGUARD_MAJOR_VERSION <= 2:
449
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
450
+ else:
451
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
452
+ pass
453
+ else:
454
+ if TYPEGUARD_MAJOR_VERSION == 3:
455
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
456
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
457
+ else:
458
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
444
459
 
445
460
  from .._jsii import *
446
461
 
@@ -38,7 +38,22 @@ import jsii
38
38
  import publication
39
39
  import typing_extensions
40
40
 
41
- from typeguard import check_type
41
+ import typeguard
42
+ from importlib.metadata import version as _metadata_package_version
43
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
44
+
45
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
46
+ if TYPEGUARD_MAJOR_VERSION <= 2:
47
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
48
+ else:
49
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
50
+ pass
51
+ else:
52
+ if TYPEGUARD_MAJOR_VERSION == 3:
53
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
54
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
55
+ else:
56
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
42
57
 
43
58
  from .._jsii import *
44
59
 
@@ -2448,8 +2463,8 @@ class CfnCluster(
2448
2463
 
2449
2464
  The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.
2450
2465
 
2451
- :param on_demand_specification: The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy. .. epigraph:: The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
2452
- :param spot_specification: The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.
2466
+ :param on_demand_specification: The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy and capacity reservation options. .. epigraph:: The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
2467
+ :param spot_specification: The launch specification for Spot instances in the fleet, which determines the allocation strategy, defined duration, and provisioning timeout behavior.
2453
2468
 
2454
2469
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetprovisioningspecifications.html
2455
2470
  :exampleMetadata: fixture=_generated
@@ -2488,7 +2503,7 @@ class CfnCluster(
2488
2503
  def on_demand_specification(
2489
2504
  self,
2490
2505
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.OnDemandProvisioningSpecificationProperty"]]:
2491
- '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.
2506
+ '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy and capacity reservation options.
2492
2507
 
2493
2508
  .. epigraph::
2494
2509
 
@@ -2503,7 +2518,7 @@ class CfnCluster(
2503
2518
  def spot_specification(
2504
2519
  self,
2505
2520
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCluster.SpotProvisioningSpecificationProperty"]]:
2506
- '''The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.
2521
+ '''The launch specification for Spot instances in the fleet, which determines the allocation strategy, defined duration, and provisioning timeout behavior.
2507
2522
 
2508
2523
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-cluster-instancefleetprovisioningspecifications.html#cfn-emr-cluster-instancefleetprovisioningspecifications-spotspecification
2509
2524
  '''
@@ -6756,8 +6771,8 @@ class CfnInstanceFleetConfig(
6756
6771
 
6757
6772
  ``InstanceTypeConfig`` is a sub-property of ``InstanceFleetConfig`` . ``InstanceTypeConfig`` determines the EC2 instances that Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities.
6758
6773
 
6759
- :param on_demand_specification: The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy. .. epigraph:: The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
6760
- :param spot_specification: The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.
6774
+ :param on_demand_specification: The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy and capacity reservation options. .. epigraph:: The instance fleet configuration is available only in Amazon EMR releases 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation strategy is available in Amazon EMR releases 5.12.1 and later.
6775
+ :param spot_specification: The launch specification for Spot instances in the fleet, which determines the allocation strategy, defined duration, and provisioning timeout behavior.
6761
6776
 
6762
6777
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancefleetprovisioningspecifications.html
6763
6778
  :exampleMetadata: fixture=_generated
@@ -6796,7 +6811,7 @@ class CfnInstanceFleetConfig(
6796
6811
  def on_demand_specification(
6797
6812
  self,
6798
6813
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.OnDemandProvisioningSpecificationProperty"]]:
6799
- '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy.
6814
+ '''The launch specification for On-Demand Instances in the instance fleet, which determines the allocation strategy and capacity reservation options.
6800
6815
 
6801
6816
  .. epigraph::
6802
6817
 
@@ -6811,7 +6826,7 @@ class CfnInstanceFleetConfig(
6811
6826
  def spot_specification(
6812
6827
  self,
6813
6828
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstanceFleetConfig.SpotProvisioningSpecificationProperty"]]:
6814
- '''The launch specification for Spot instances in the fleet, which determines the defined duration, provisioning timeout behavior, and allocation strategy.
6829
+ '''The launch specification for Spot instances in the fleet, which determines the allocation strategy, defined duration, and provisioning timeout behavior.
6815
6830
 
6816
6831
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-emr-instancefleetconfig-instancefleetprovisioningspecifications.html#cfn-emr-instancefleetconfig-instancefleetprovisioningspecifications-spotspecification
6817
6832
  '''
@@ -38,7 +38,22 @@ import jsii
38
38
  import publication
39
39
  import typing_extensions
40
40
 
41
- from typeguard import check_type
41
+ import typeguard
42
+ from importlib.metadata import version as _metadata_package_version
43
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
44
+
45
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
46
+ if TYPEGUARD_MAJOR_VERSION <= 2:
47
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
48
+ else:
49
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
50
+ pass
51
+ else:
52
+ if TYPEGUARD_MAJOR_VERSION == 3:
53
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
54
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
55
+ else:
56
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
42
57
 
43
58
  from .._jsii import *
44
59
 
@@ -38,7 +38,22 @@ import jsii
38
38
  import publication
39
39
  import typing_extensions
40
40
 
41
- from typeguard import check_type
41
+ import typeguard
42
+ from importlib.metadata import version as _metadata_package_version
43
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
44
+
45
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
46
+ if TYPEGUARD_MAJOR_VERSION <= 2:
47
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
48
+ else:
49
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
50
+ pass
51
+ else:
52
+ if TYPEGUARD_MAJOR_VERSION == 3:
53
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
54
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
55
+ else:
56
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
42
57
 
43
58
  from .._jsii import *
44
59
 
@@ -48,7 +48,22 @@ import jsii
48
48
  import publication
49
49
  import typing_extensions
50
50
 
51
- from typeguard import check_type
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
52
67
 
53
68
  from .._jsii import *
54
69