aws-cdk-lib 2.156.0__py3-none-any.whl → 2.158.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 +42 -23
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.158.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 +26 -76
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +122 -1
  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 +97 -14
  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 +16 -1
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +30 -15
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +16 -1
  20. aws_cdk/aws_applicationsignals/__init__.py +766 -2
  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 +66 -19
  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 +16 -1
  29. aws_cdk/aws_auditmanager/__init__.py +16 -1
  30. aws_cdk/aws_autoscaling/__init__.py +22 -7
  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 +55 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +57 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +1529 -95
  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 +22 -7
  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 +38 -23
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +46 -4
  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 +16 -1
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +16 -1
  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 +16 -1
  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 +16 -1
  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 +56 -30
  79. aws_cdk/aws_datazone/__init__.py +16 -1
  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 +16 -1
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +16 -1
  91. aws_cdk/aws_ec2/__init__.py +389 -50
  92. aws_cdk/aws_ecr/__init__.py +16 -1
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +269 -88
  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 +20 -5
  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 +16 -1
  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 +133 -5
  109. aws_cdk/aws_events/__init__.py +16 -1
  110. aws_cdk/aws_events_targets/__init__.py +16 -1
  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 +16 -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 +16 -1
  119. aws_cdk/aws_gamelift/__init__.py +16 -1
  120. aws_cdk/aws_globalaccelerator/__init__.py +16 -1
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -9
  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 +43 -17
  127. aws_cdk/aws_guardduty/__init__.py +42 -15
  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 +16 -1
  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 +124 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +16 -1
  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 +16 -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 +163 -18
  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 +46 -4
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +16 -1
  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 +16 -1
  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 +20 -5
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +16 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +364 -1
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +54 -39
  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 +16 -1
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +30 -9
  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 +210 -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 +899 -0
  203. aws_cdk/aws_personalize/__init__.py +18 -3
  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 +38 -23
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +691 -7
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +3301 -1
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +58 -5
  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 +16 -1
  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 +16 -1
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +1183 -1
  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 +18 -4
  242. aws_cdk/aws_securityhub/__init__.py +124 -104
  243. aws_cdk/aws_securitylake/__init__.py +16 -1
  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 +16 -1
  247. aws_cdk/aws_ses/__init__.py +47 -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 +35 -14
  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 +26 -7
  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 +982 -0
  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 +20 -5
  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 +16 -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 +46 -4
  288. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.158.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.156.0.dist-info/RECORD +0 -292
  292. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/top_level.txt +0 -0
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -997,12 +1012,12 @@ class CfnLocationEFS(
997
1012
  '''
998
1013
  :param scope: Scope in which this resource is defined.
999
1014
  :param id: Construct identifier for this resource (unique in its scope).
1000
- :param ec2_config: Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.
1001
- :param access_point_arn: Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.
1002
- :param efs_filesystem_arn: Specifies the ARN for the Amazon EFS file system.
1003
- :param file_system_access_role_arn: Specifies an AWS Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.
1004
- :param in_transit_encryption: Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file system. If you specify an access point using ``AccessPointArn`` or an IAM role using ``FileSystemAccessRoleArn`` , you must set this parameter to ``TLS1_2`` .
1005
- :param subdirectory: Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories. .. epigraph:: You must specify a value with forward slashes (for example, ``/path/to/folder`` ).
1015
+ :param ec2_config: Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
1016
+ :param access_point_arn: Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. For more information, see `Accessing restricted file systems <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam>`_ .
1017
+ :param efs_filesystem_arn: Specifies the ARN for your Amazon EFS file system.
1018
+ :param file_system_access_role_arn: Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. For information on creating this role, see `Creating a DataSync IAM role for file system access <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role>`_ .
1019
+ :param in_transit_encryption: Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. If you specify an access point using ``AccessPointArn`` or an IAM role using ``FileSystemAccessRoleArn`` , you must set this parameter to ``TLS1_2`` .
1020
+ :param subdirectory: Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location) on your file system. By default, DataSync uses the root directory (or `access point <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ if you provide one by using ``AccessPointArn`` ). You can also include subdirectories using forward slashes (for example, ``/path/to/folder`` ).
1006
1021
  :param tags: Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.
1007
1022
  '''
1008
1023
  if __debug__:
@@ -1085,7 +1100,7 @@ class CfnLocationEFS(
1085
1100
  def ec2_config(
1086
1101
  self,
1087
1102
  ) -> typing.Union[_IResolvable_da3f097b, "CfnLocationEFS.Ec2ConfigProperty"]:
1088
- '''Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.'''
1103
+ '''Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .'''
1089
1104
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnLocationEFS.Ec2ConfigProperty"], jsii.get(self, "ec2Config"))
1090
1105
 
1091
1106
  @ec2_config.setter
@@ -1101,7 +1116,7 @@ class CfnLocationEFS(
1101
1116
  @builtins.property
1102
1117
  @jsii.member(jsii_name="accessPointArn")
1103
1118
  def access_point_arn(self) -> typing.Optional[builtins.str]:
1104
- '''Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.'''
1119
+ '''Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.'''
1105
1120
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accessPointArn"))
1106
1121
 
1107
1122
  @access_point_arn.setter
@@ -1114,7 +1129,7 @@ class CfnLocationEFS(
1114
1129
  @builtins.property
1115
1130
  @jsii.member(jsii_name="efsFilesystemArn")
1116
1131
  def efs_filesystem_arn(self) -> typing.Optional[builtins.str]:
1117
- '''Specifies the ARN for the Amazon EFS file system.'''
1132
+ '''Specifies the ARN for your Amazon EFS file system.'''
1118
1133
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "efsFilesystemArn"))
1119
1134
 
1120
1135
  @efs_filesystem_arn.setter
@@ -1127,7 +1142,7 @@ class CfnLocationEFS(
1127
1142
  @builtins.property
1128
1143
  @jsii.member(jsii_name="fileSystemAccessRoleArn")
1129
1144
  def file_system_access_role_arn(self) -> typing.Optional[builtins.str]:
1130
- '''Specifies an AWS Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.'''
1145
+ '''Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.'''
1131
1146
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "fileSystemAccessRoleArn"))
1132
1147
 
1133
1148
  @file_system_access_role_arn.setter
@@ -1140,7 +1155,7 @@ class CfnLocationEFS(
1140
1155
  @builtins.property
1141
1156
  @jsii.member(jsii_name="inTransitEncryption")
1142
1157
  def in_transit_encryption(self) -> typing.Optional[builtins.str]:
1143
- '''Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file system.'''
1158
+ '''Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.'''
1144
1159
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "inTransitEncryption"))
1145
1160
 
1146
1161
  @in_transit_encryption.setter
@@ -1191,7 +1206,7 @@ class CfnLocationEFS(
1191
1206
  security_group_arns: typing.Sequence[builtins.str],
1192
1207
  subnet_arn: builtins.str,
1193
1208
  ) -> None:
1194
- '''The subnet and security groups that AWS DataSync uses to access your Amazon EFS file system.
1209
+ '''The subnet and security groups that AWS DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
1195
1210
 
1196
1211
  :param security_group_arns: Specifies the Amazon Resource Names (ARNs) of the security groups associated with an Amazon EFS file system's mount target.
1197
1212
  :param subnet_arn: Specifies the ARN of a subnet where DataSync creates the `network interfaces <https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces>`_ for managing traffic during your transfer. The subnet must be located: - In the same virtual private cloud (VPC) as the Amazon EFS file system. - In the same Availability Zone as at least one mount target for the Amazon EFS file system. .. epigraph:: You don't need to specify a subnet that includes a file system mount target.
@@ -1287,12 +1302,12 @@ class CfnLocationEFSProps:
1287
1302
  ) -> None:
1288
1303
  '''Properties for defining a ``CfnLocationEFS``.
1289
1304
 
1290
- :param ec2_config: Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.
1291
- :param access_point_arn: Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.
1292
- :param efs_filesystem_arn: Specifies the ARN for the Amazon EFS file system.
1293
- :param file_system_access_role_arn: Specifies an AWS Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.
1294
- :param in_transit_encryption: Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file system. If you specify an access point using ``AccessPointArn`` or an IAM role using ``FileSystemAccessRoleArn`` , you must set this parameter to ``TLS1_2`` .
1295
- :param subdirectory: Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories. .. epigraph:: You must specify a value with forward slashes (for example, ``/path/to/folder`` ).
1305
+ :param ec2_config: Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
1306
+ :param access_point_arn: Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system. For more information, see `Accessing restricted file systems <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam>`_ .
1307
+ :param efs_filesystem_arn: Specifies the ARN for your Amazon EFS file system.
1308
+ :param file_system_access_role_arn: Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system. For information on creating this role, see `Creating a DataSync IAM role for file system access <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role>`_ .
1309
+ :param in_transit_encryption: Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system. If you specify an access point using ``AccessPointArn`` or an IAM role using ``FileSystemAccessRoleArn`` , you must set this parameter to ``TLS1_2`` .
1310
+ :param subdirectory: Specifies a mount path for your Amazon EFS file system. This is where DataSync reads or writes data (depending on if this is a source or destination location) on your file system. By default, DataSync uses the root directory (or `access point <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ if you provide one by using ``AccessPointArn`` ). You can also include subdirectories using forward slashes (for example, ``/path/to/folder`` ).
1296
1311
  :param tags: Specifies the key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.
1297
1312
 
1298
1313
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html
@@ -1351,7 +1366,7 @@ class CfnLocationEFSProps:
1351
1366
  def ec2_config(
1352
1367
  self,
1353
1368
  ) -> typing.Union[_IResolvable_da3f097b, CfnLocationEFS.Ec2ConfigProperty]:
1354
- '''Specifies the subnet and security groups DataSync uses to access your Amazon EFS file system.
1369
+ '''Specifies the subnet and security groups DataSync uses to connect to one of your Amazon EFS file system's `mount targets <https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html>`_ .
1355
1370
 
1356
1371
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-ec2config
1357
1372
  '''
@@ -1361,7 +1376,9 @@ class CfnLocationEFSProps:
1361
1376
 
1362
1377
  @builtins.property
1363
1378
  def access_point_arn(self) -> typing.Optional[builtins.str]:
1364
- '''Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to access the Amazon EFS file system.
1379
+ '''Specifies the Amazon Resource Name (ARN) of the access point that DataSync uses to mount your Amazon EFS file system.
1380
+
1381
+ For more information, see `Accessing restricted file systems <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam>`_ .
1365
1382
 
1366
1383
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-accesspointarn
1367
1384
  '''
@@ -1370,7 +1387,7 @@ class CfnLocationEFSProps:
1370
1387
 
1371
1388
  @builtins.property
1372
1389
  def efs_filesystem_arn(self) -> typing.Optional[builtins.str]:
1373
- '''Specifies the ARN for the Amazon EFS file system.
1390
+ '''Specifies the ARN for your Amazon EFS file system.
1374
1391
 
1375
1392
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-efsfilesystemarn
1376
1393
  '''
@@ -1379,7 +1396,9 @@ class CfnLocationEFSProps:
1379
1396
 
1380
1397
  @builtins.property
1381
1398
  def file_system_access_role_arn(self) -> typing.Optional[builtins.str]:
1382
- '''Specifies an AWS Identity and Access Management (IAM) role that DataSync assumes when mounting the Amazon EFS file system.
1399
+ '''Specifies an AWS Identity and Access Management (IAM) role that allows DataSync to access your Amazon EFS file system.
1400
+
1401
+ For information on creating this role, see `Creating a DataSync IAM role for file system access <https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html#create-efs-location-iam-role>`_ .
1383
1402
 
1384
1403
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-filesystemaccessrolearn
1385
1404
  '''
@@ -1388,7 +1407,7 @@ class CfnLocationEFSProps:
1388
1407
 
1389
1408
  @builtins.property
1390
1409
  def in_transit_encryption(self) -> typing.Optional[builtins.str]:
1391
- '''Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it copies data to or from the Amazon EFS file system.
1410
+ '''Specifies whether you want DataSync to use Transport Layer Security (TLS) 1.2 encryption when it transfers data to or from your Amazon EFS file system.
1392
1411
 
1393
1412
  If you specify an access point using ``AccessPointArn`` or an IAM role using ``FileSystemAccessRoleArn`` , you must set this parameter to ``TLS1_2`` .
1394
1413
 
@@ -1401,10 +1420,9 @@ class CfnLocationEFSProps:
1401
1420
  def subdirectory(self) -> typing.Optional[builtins.str]:
1402
1421
  '''Specifies a mount path for your Amazon EFS file system.
1403
1422
 
1404
- This is where DataSync reads or writes data (depending on if this is a source or destination location). By default, DataSync uses the root directory, but you can also include subdirectories.
1405
- .. epigraph::
1423
+ This is where DataSync reads or writes data (depending on if this is a source or destination location) on your file system.
1406
1424
 
1407
- You must specify a value with forward slashes (for example, ``/path/to/folder`` ).
1425
+ By default, DataSync uses the root directory (or `access point <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ if you provide one by using ``AccessPointArn`` ). You can also include subdirectories using forward slashes (for example, ``/path/to/folder`` ).
1408
1426
 
1409
1427
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html#cfn-datasync-locationefs-subdirectory
1410
1428
  '''
@@ -8428,7 +8446,7 @@ class CfnTask(
8428
8446
  ) -> None:
8429
8447
  '''Configures your AWS DataSync task to run on a `schedule <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html>`_ (at a minimum interval of 1 hour).
8430
8448
 
8431
- :param schedule_expression: Specifies your task schedule by using a cron expression in UTC time. For information about cron expression syntax, see the `*Amazon EventBridge User Guide* <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html>`_ .
8449
+ :param schedule_expression: Specifies your task schedule by using a cron or rate expression. Use cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month: ``cron(0 8 * * 3#1)`` Use rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours: ``rate(12 hours)`` For information about cron and rate expression syntax, see the `*Amazon EventBridge User Guide* <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html>`_ .
8432
8450
  :param status: Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to perform maintenance on a storage system before you can begin a recurring DataSync transfer. DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see the `*DataSync User Guide* <https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html#pause-task-schedule>`_ .
8433
8451
 
8434
8452
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html
@@ -8457,9 +8475,17 @@ class CfnTask(
8457
8475
 
8458
8476
  @builtins.property
8459
8477
  def schedule_expression(self) -> typing.Optional[builtins.str]:
8460
- '''Specifies your task schedule by using a cron expression in UTC time.
8478
+ '''Specifies your task schedule by using a cron or rate expression.
8479
+
8480
+ Use cron expressions for task schedules that run on a specific time and day. For example, the following cron expression creates a task schedule that runs at 8 AM on the first Wednesday of every month:
8481
+
8482
+ ``cron(0 8 * * 3#1)``
8483
+
8484
+ Use rate expressions for task schedules that run on a regular interval. For example, the following rate expression creates a task schedule that runs every 12 hours:
8485
+
8486
+ ``rate(12 hours)``
8461
8487
 
8462
- For information about cron expression syntax, see the `*Amazon EventBridge User Guide* <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cron-expressions.html>`_ .
8488
+ For information about cron and rate expression syntax, see the `*Amazon EventBridge User Guide* <https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html>`_ .
8463
8489
 
8464
8490
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html#cfn-datasync-task-taskschedule-scheduleexpression
8465
8491
  '''
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -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
 
@@ -317,7 +317,22 @@ import jsii
317
317
  import publication
318
318
  import typing_extensions
319
319
 
320
- from typeguard import check_type
320
+ import typeguard
321
+ from importlib.metadata import version as _metadata_package_version
322
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
323
+
324
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
325
+ if TYPEGUARD_MAJOR_VERSION <= 2:
326
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
327
+ else:
328
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
329
+ pass
330
+ else:
331
+ if TYPEGUARD_MAJOR_VERSION == 3:
332
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
333
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
334
+ else:
335
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
321
336
 
322
337
  from .._jsii import *
323
338
 
@@ -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