aws-cdk-lib 2.152.0__py3-none-any.whl → 2.154.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 (269) hide show
  1. aws_cdk/__init__.py +157 -215
  2. aws_cdk/_jsii/__init__.py +2 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.152.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -3
  5. aws_cdk/aws_accessanalyzer/__init__.py +5 -5
  6. aws_cdk/aws_acmpca/__init__.py +79 -24
  7. aws_cdk/aws_amazonmq/__init__.py +161 -161
  8. aws_cdk/aws_amplify/__init__.py +36 -36
  9. aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
  10. aws_cdk/aws_apigateway/__init__.py +122 -122
  11. aws_cdk/aws_apigatewayv2/__init__.py +135 -121
  12. aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
  13. aws_cdk/aws_appconfig/__init__.py +59 -59
  14. aws_cdk/aws_appflow/__init__.py +20 -20
  15. aws_cdk/aws_appintegrations/__init__.py +19 -19
  16. aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
  17. aws_cdk/aws_applicationinsights/__init__.py +11 -11
  18. aws_cdk/aws_applicationsignals/__init__.py +5 -5
  19. aws_cdk/aws_appmesh/__init__.py +35 -35
  20. aws_cdk/aws_apprunner/__init__.py +25 -25
  21. aws_cdk/aws_appstream/__init__.py +105 -105
  22. aws_cdk/aws_appsync/__init__.py +89 -89
  23. aws_cdk/aws_apptest/__init__.py +25 -25
  24. aws_cdk/aws_aps/__init__.py +14 -14
  25. aws_cdk/aws_arczonalshift/__init__.py +200 -3
  26. aws_cdk/aws_athena/__init__.py +25 -25
  27. aws_cdk/aws_auditmanager/__init__.py +15 -15
  28. aws_cdk/aws_autoscaling/__init__.py +84 -84
  29. aws_cdk/aws_autoscalingplans/__init__.py +2 -2
  30. aws_cdk/aws_b2bi/__init__.py +24 -24
  31. aws_cdk/aws_backup/__init__.py +33 -33
  32. aws_cdk/aws_backupgateway/__init__.py +7 -7
  33. aws_cdk/aws_batch/__init__.py +289 -35
  34. aws_cdk/aws_bcmdataexports/__init__.py +2 -2
  35. aws_cdk/aws_bedrock/__init__.py +13239 -3277
  36. aws_cdk/aws_billingconductor/__init__.py +28 -28
  37. aws_cdk/aws_budgets/__init__.py +12 -12
  38. aws_cdk/aws_cassandra/__init__.py +16 -16
  39. aws_cdk/aws_ce/__init__.py +17 -17
  40. aws_cdk/aws_certificatemanager/__init__.py +9 -9
  41. aws_cdk/aws_chatbot/__init__.py +22 -22
  42. aws_cdk/aws_cleanrooms/__init__.py +2470 -307
  43. aws_cdk/aws_cleanroomsml/__init__.py +5 -5
  44. aws_cdk/aws_cloud9/__init__.py +10 -10
  45. aws_cdk/aws_cloudformation/__init__.py +94 -69
  46. aws_cdk/aws_cloudfront/__init__.py +31 -30
  47. aws_cdk/aws_cloudfront/experimental/__init__.py +23 -0
  48. aws_cdk/aws_cloudtrail/__init__.py +46 -44
  49. aws_cdk/aws_cloudwatch/__init__.py +61 -69
  50. aws_cdk/aws_codeartifact/__init__.py +19 -19
  51. aws_cdk/aws_codebuild/__init__.py +60 -68
  52. aws_cdk/aws_codecommit/__init__.py +10 -6
  53. aws_cdk/aws_codeconnections/__init__.py +5 -5
  54. aws_cdk/aws_codedeploy/__init__.py +28 -28
  55. aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
  56. aws_cdk/aws_codegurureviewer/__init__.py +6 -6
  57. aws_cdk/aws_codepipeline/__init__.py +849 -52
  58. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  59. aws_cdk/aws_codestar/__init__.py +8 -8
  60. aws_cdk/aws_codestarconnections/__init__.py +17 -17
  61. aws_cdk/aws_codestarnotifications/__init__.py +10 -10
  62. aws_cdk/aws_cognito/__init__.py +465 -133
  63. aws_cdk/aws_comprehend/__init__.py +20 -20
  64. aws_cdk/aws_config/__init__.py +67 -67
  65. aws_cdk/aws_connect/__init__.py +139 -137
  66. aws_cdk/aws_connectcampaigns/__init__.py +5 -5
  67. aws_cdk/aws_controltower/__init__.py +12 -12
  68. aws_cdk/aws_cur/__init__.py +12 -12
  69. aws_cdk/aws_customerprofiles/__init__.py +36 -36
  70. aws_cdk/aws_databrew/__init__.py +45 -45
  71. aws_cdk/aws_datapipeline/__init__.py +12 -8
  72. aws_cdk/aws_datasync/__init__.py +119 -117
  73. aws_cdk/aws_datazone/__init__.py +63 -63
  74. aws_cdk/aws_dax/__init__.py +20 -20
  75. aws_cdk/aws_deadline/__init__.py +221 -292
  76. aws_cdk/aws_detective/__init__.py +8 -8
  77. aws_cdk/aws_devicefarm/__init__.py +37 -37
  78. aws_cdk/aws_devopsguru/__init__.py +2 -2
  79. aws_cdk/aws_directoryservice/__init__.py +15 -15
  80. aws_cdk/aws_dlm/__init__.py +12 -12
  81. aws_cdk/aws_dms/__init__.py +300 -298
  82. aws_cdk/aws_docdb/__init__.py +49 -49
  83. aws_cdk/aws_docdbelastic/__init__.py +14 -14
  84. aws_cdk/aws_dynamodb/__init__.py +371 -37
  85. aws_cdk/aws_ec2/__init__.py +900 -606
  86. aws_cdk/aws_ecr/__init__.py +117 -77
  87. aws_cdk/aws_ecr_assets/__init__.py +4 -4
  88. aws_cdk/aws_ecs/__init__.py +190 -191
  89. aws_cdk/aws_ecs_patterns/__init__.py +2 -2
  90. aws_cdk/aws_efs/__init__.py +22 -22
  91. aws_cdk/aws_eks/__init__.py +177 -61
  92. aws_cdk/aws_elasticache/__init__.py +218 -226
  93. aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
  94. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
  95. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
  96. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
  97. aws_cdk/aws_elasticsearch/__init__.py +16 -16
  98. aws_cdk/aws_emr/__init__.py +74 -74
  99. aws_cdk/aws_emrcontainers/__init__.py +3 -3
  100. aws_cdk/aws_emrserverless/__init__.py +157 -14
  101. aws_cdk/aws_entityresolution/__init__.py +613 -35
  102. aws_cdk/aws_events/__init__.py +42 -42
  103. aws_cdk/aws_eventschemas/__init__.py +16 -16
  104. aws_cdk/aws_evidently/__init__.py +38 -38
  105. aws_cdk/aws_finspace/__init__.py +8 -8
  106. aws_cdk/aws_fis/__init__.py +12 -12
  107. aws_cdk/aws_fms/__init__.py +21 -21
  108. aws_cdk/aws_forecast/__init__.py +18 -11
  109. aws_cdk/aws_frauddetector/__init__.py +35 -35
  110. aws_cdk/aws_fsx/__init__.py +35 -35
  111. aws_cdk/aws_gamelift/__init__.py +103 -103
  112. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  113. aws_cdk/aws_glue/__init__.py +132 -139
  114. aws_cdk/aws_grafana/__init__.py +17 -17
  115. aws_cdk/aws_greengrass/__init__.py +48 -48
  116. aws_cdk/aws_greengrassv2/__init__.py +10 -10
  117. aws_cdk/aws_groundstation/__init__.py +16 -16
  118. aws_cdk/aws_guardduty/__init__.py +40 -38
  119. aws_cdk/aws_healthimaging/__init__.py +3 -3
  120. aws_cdk/aws_healthlake/__init__.py +6 -6
  121. aws_cdk/aws_iam/__init__.py +120 -122
  122. aws_cdk/aws_identitystore/__init__.py +6 -6
  123. aws_cdk/aws_imagebuilder/__init__.py +92 -92
  124. aws_cdk/aws_inspector/__init__.py +8 -8
  125. aws_cdk/aws_inspectorv2/__init__.py +102 -97
  126. aws_cdk/aws_internetmonitor/__init__.py +12 -12
  127. aws_cdk/aws_iot/__init__.py +141 -141
  128. aws_cdk/aws_iot1click/__init__.py +9 -9
  129. aws_cdk/aws_iotanalytics/__init__.py +21 -21
  130. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
  131. aws_cdk/aws_iotevents/__init__.py +20 -20
  132. aws_cdk/aws_iotfleethub/__init__.py +4 -4
  133. aws_cdk/aws_iotfleetwise/__init__.py +45 -45
  134. aws_cdk/aws_iotsitewise/__init__.py +40 -40
  135. aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
  136. aws_cdk/aws_iottwinmaker/__init__.py +34 -34
  137. aws_cdk/aws_iotwireless/__init__.py +66 -66
  138. aws_cdk/aws_ivs/__init__.py +32 -32
  139. aws_cdk/aws_ivschat/__init__.py +9 -9
  140. aws_cdk/aws_kafkaconnect/__init__.py +22 -22
  141. aws_cdk/aws_kendra/__init__.py +28 -28
  142. aws_cdk/aws_kendraranking/__init__.py +4 -4
  143. aws_cdk/aws_kinesis/__init__.py +8 -8
  144. aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
  145. aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
  146. aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
  147. aws_cdk/aws_kinesisvideo/__init__.py +10 -10
  148. aws_cdk/aws_kms/__init__.py +20 -20
  149. aws_cdk/aws_lakeformation/__init__.py +36 -36
  150. aws_cdk/aws_lambda/__init__.py +435 -227
  151. aws_cdk/aws_lambda_nodejs/__init__.py +23 -0
  152. aws_cdk/aws_launchwizard/__init__.py +508 -0
  153. aws_cdk/aws_lex/__init__.py +24 -24
  154. aws_cdk/aws_licensemanager/__init__.py +17 -17
  155. aws_cdk/aws_lightsail/__init__.py +90 -90
  156. aws_cdk/aws_location/__init__.py +41 -41
  157. aws_cdk/aws_logs/__init__.py +50 -50
  158. aws_cdk/aws_lookoutequipment/__init__.py +9 -9
  159. aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
  160. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  161. aws_cdk/aws_m2/__init__.py +20 -20
  162. aws_cdk/aws_macie/__init__.py +19 -19
  163. aws_cdk/aws_managedblockchain/__init__.py +10 -10
  164. aws_cdk/aws_mediaconnect/__init__.py +114 -77
  165. aws_cdk/aws_mediaconvert/__init__.py +20 -20
  166. aws_cdk/aws_medialive/__init__.py +44 -76
  167. aws_cdk/aws_mediapackage/__init__.py +38 -38
  168. aws_cdk/aws_mediapackagev2/__init__.py +178 -25
  169. aws_cdk/aws_mediastore/__init__.py +7 -7
  170. aws_cdk/aws_mediatailor/__init__.py +40 -40
  171. aws_cdk/aws_memorydb/__init__.py +41 -41
  172. aws_cdk/aws_msk/__init__.py +39 -39
  173. aws_cdk/aws_mwaa/__init__.py +25 -25
  174. aws_cdk/aws_neptune/__init__.py +55 -55
  175. aws_cdk/aws_neptunegraph/__init__.py +11 -11
  176. aws_cdk/aws_networkfirewall/__init__.py +36 -30
  177. aws_cdk/aws_networkmanager/__init__.py +1062 -91
  178. aws_cdk/aws_nimblestudio/__init__.py +31 -31
  179. aws_cdk/aws_oam/__init__.py +8 -8
  180. aws_cdk/aws_omics/__init__.py +36 -36
  181. aws_cdk/aws_opensearchserverless/__init__.py +25 -25
  182. aws_cdk/aws_opensearchservice/__init__.py +20 -20
  183. aws_cdk/aws_opsworks/__init__.py +87 -87
  184. aws_cdk/aws_opsworkscm/__init__.py +21 -21
  185. aws_cdk/aws_organizations/__init__.py +17 -17
  186. aws_cdk/aws_osis/__init__.py +122 -9
  187. aws_cdk/aws_panorama/__init__.py +27 -22
  188. aws_cdk/aws_paymentcryptography/__init__.py +7 -7
  189. aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
  190. aws_cdk/aws_personalize/__init__.py +19 -19
  191. aws_cdk/aws_pinpoint/__init__.py +122 -122
  192. aws_cdk/aws_pinpointemail/__init__.py +16 -16
  193. aws_cdk/aws_pipes/__init__.py +14 -16
  194. aws_cdk/aws_proton/__init__.py +19 -19
  195. aws_cdk/aws_qbusiness/__init__.py +160 -45
  196. aws_cdk/aws_qldb/__init__.py +12 -12
  197. aws_cdk/aws_quicksight/__init__.py +91 -91
  198. aws_cdk/aws_ram/__init__.py +11 -11
  199. aws_cdk/aws_rds/__init__.py +365 -259
  200. aws_cdk/aws_redshift/__init__.py +136 -91
  201. aws_cdk/aws_redshiftserverless/__init__.py +27 -27
  202. aws_cdk/aws_refactorspaces/__init__.py +26 -26
  203. aws_cdk/aws_rekognition/__init__.py +16 -16
  204. aws_cdk/aws_resiliencehub/__init__.py +15 -15
  205. aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
  206. aws_cdk/aws_resourcegroups/__init__.py +6 -6
  207. aws_cdk/aws_robomaker/__init__.py +25 -25
  208. aws_cdk/aws_rolesanywhere/__init__.py +67 -19
  209. aws_cdk/aws_route53/__init__.py +36 -36
  210. aws_cdk/aws_route53profiles/__init__.py +11 -11
  211. aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
  212. aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
  213. aws_cdk/aws_route53resolver/__init__.py +123 -82
  214. aws_cdk/aws_rum/__init__.py +6 -6
  215. aws_cdk/aws_s3/__init__.py +136 -80
  216. aws_cdk/aws_s3_deployment/__init__.py +30 -24
  217. aws_cdk/aws_s3_notifications/__init__.py +3 -4
  218. aws_cdk/aws_s3express/__init__.py +5 -5
  219. aws_cdk/aws_s3objectlambda/__init__.py +6 -6
  220. aws_cdk/aws_s3outposts/__init__.py +16 -16
  221. aws_cdk/aws_sagemaker/__init__.py +2412 -280
  222. aws_cdk/aws_sam/__init__.py +101 -101
  223. aws_cdk/aws_scheduler/__init__.py +13 -13
  224. aws_cdk/aws_sdb/__init__.py +1 -1
  225. aws_cdk/aws_secretsmanager/__init__.py +20 -19
  226. aws_cdk/aws_securityhub/__init__.py +70 -57
  227. aws_cdk/aws_securitylake/__init__.py +341 -16
  228. aws_cdk/aws_servicecatalog/__init__.py +87 -87
  229. aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
  230. aws_cdk/aws_servicediscovery/__init__.py +23 -23
  231. aws_cdk/aws_ses/__init__.py +12038 -5604
  232. aws_cdk/aws_shield/__init__.py +15 -15
  233. aws_cdk/aws_signer/__init__.py +9 -9
  234. aws_cdk/aws_simspaceweaver/__init__.py +5 -5
  235. aws_cdk/aws_sns/__init__.py +28 -28
  236. aws_cdk/aws_sqs/__init__.py +20 -20
  237. aws_cdk/aws_ssm/__init__.py +172 -101
  238. aws_cdk/aws_ssmcontacts/__init__.py +18 -18
  239. aws_cdk/aws_ssmincidents/__init__.py +11 -11
  240. aws_cdk/aws_sso/__init__.py +31 -31
  241. aws_cdk/aws_stepfunctions/__init__.py +370 -28
  242. aws_cdk/aws_supportapp/__init__.py +11 -11
  243. aws_cdk/aws_synthetics/__init__.py +18 -18
  244. aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
  245. aws_cdk/aws_timestream/__init__.py +34 -34
  246. aws_cdk/aws_transfer/__init__.py +57 -57
  247. aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
  248. aws_cdk/aws_voiceid/__init__.py +4 -4
  249. aws_cdk/aws_vpclattice/__init__.py +42 -42
  250. aws_cdk/aws_waf/__init__.py +17 -17
  251. aws_cdk/aws_wafregional/__init__.py +28 -28
  252. aws_cdk/aws_wafv2/__init__.py +39 -39
  253. aws_cdk/aws_wisdom/__init__.py +16 -16
  254. aws_cdk/aws_workspaces/__init__.py +18 -18
  255. aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
  256. aws_cdk/aws_workspacesweb/__init__.py +87 -46
  257. aws_cdk/aws_xray/__init__.py +12 -12
  258. aws_cdk/cloud_assembly_schema/__init__.py +348 -239
  259. aws_cdk/custom_resources/__init__.py +283 -0
  260. aws_cdk/cx_api/__init__.py +15 -15
  261. aws_cdk/pipelines/__init__.py +172 -237
  262. aws_cdk/triggers/__init__.py +23 -0
  263. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
  264. aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
  265. aws_cdk_lib-2.152.0.dist-info/RECORD +0 -291
  266. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
  267. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
  268. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
  269. {aws_cdk_lib-2.152.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
@@ -296,6 +296,17 @@ bucket = s3.Bucket.from_bucket_attributes(self, "ImportedBucket",
296
296
  bucket.add_event_notification(s3.EventType.OBJECT_CREATED, s3n.SnsDestination(topic))
297
297
  ```
298
298
 
299
+ If you do not want for S3 to validate permissions of Amazon SQS, Amazon SNS, and Lambda destinations you can use the `notificationsSkipDestinationValidation` flag:
300
+
301
+ ```python
302
+ # my_queue: sqs.Queue
303
+
304
+ bucket = s3.Bucket(self, "MyBucket",
305
+ notifications_skip_destination_validation=True
306
+ )
307
+ bucket.add_event_notification(s3.EventType.OBJECT_REMOVED, s3n.SqsDestination(my_queue))
308
+ ```
309
+
299
310
  When you add an event notification to a bucket, a custom resource is created to
300
311
  manage the notifications. By default, a new role is created for the Lambda
301
312
  function that implements this feature. If you want to use your own role instead,
@@ -852,7 +863,7 @@ class BlockPublicAccess(
852
863
  if __debug__:
853
864
  type_hints = typing.get_type_hints(_typecheckingstub__7c7460d0788a3581f53118e0e633044dbbacdb3bb39e06a86a9c4e5c3d7e5a9f)
854
865
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
855
- jsii.set(self, "blockPublicAcls", value)
866
+ jsii.set(self, "blockPublicAcls", value) # pyright: ignore[reportArgumentType]
856
867
 
857
868
  @builtins.property
858
869
  @jsii.member(jsii_name="blockPublicPolicy")
@@ -864,7 +875,7 @@ class BlockPublicAccess(
864
875
  if __debug__:
865
876
  type_hints = typing.get_type_hints(_typecheckingstub__d4ba75c66cc4ad7c5aa33a917a7eb35002488faf18ffffef6c2c5a7b960dbfc4)
866
877
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
867
- jsii.set(self, "blockPublicPolicy", value)
878
+ jsii.set(self, "blockPublicPolicy", value) # pyright: ignore[reportArgumentType]
868
879
 
869
880
  @builtins.property
870
881
  @jsii.member(jsii_name="ignorePublicAcls")
@@ -876,7 +887,7 @@ class BlockPublicAccess(
876
887
  if __debug__:
877
888
  type_hints = typing.get_type_hints(_typecheckingstub__1f8520208f2ebe15624fbe74bc5aaef53e90abcb8518f3f569338cc8ab293916)
878
889
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
879
- jsii.set(self, "ignorePublicAcls", value)
890
+ jsii.set(self, "ignorePublicAcls", value) # pyright: ignore[reportArgumentType]
880
891
 
881
892
  @builtins.property
882
893
  @jsii.member(jsii_name="restrictPublicBuckets")
@@ -888,7 +899,7 @@ class BlockPublicAccess(
888
899
  if __debug__:
889
900
  type_hints = typing.get_type_hints(_typecheckingstub__266e1f4868fa40826ae202681f95a8932749e242098b75f166505480f09f05b0)
890
901
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
891
- jsii.set(self, "restrictPublicBuckets", value)
902
+ jsii.set(self, "restrictPublicBuckets", value) # pyright: ignore[reportArgumentType]
892
903
 
893
904
 
894
905
  @jsii.data_type(
@@ -1726,6 +1737,7 @@ class BucketPolicyProps:
1726
1737
  "metrics": "metrics",
1727
1738
  "minimum_tls_version": "minimumTLSVersion",
1728
1739
  "notifications_handler_role": "notificationsHandlerRole",
1740
+ "notifications_skip_destination_validation": "notificationsSkipDestinationValidation",
1729
1741
  "object_lock_default_retention": "objectLockDefaultRetention",
1730
1742
  "object_lock_enabled": "objectLockEnabled",
1731
1743
  "object_ownership": "objectOwnership",
@@ -1762,6 +1774,7 @@ class BucketProps:
1762
1774
  metrics: typing.Optional[typing.Sequence[typing.Union[BucketMetrics, typing.Dict[builtins.str, typing.Any]]]] = None,
1763
1775
  minimum_tls_version: typing.Optional[jsii.Number] = None,
1764
1776
  notifications_handler_role: typing.Optional[_IRole_235f5d8e] = None,
1777
+ notifications_skip_destination_validation: typing.Optional[builtins.bool] = None,
1765
1778
  object_lock_default_retention: typing.Optional["ObjectLockRetention"] = None,
1766
1779
  object_lock_enabled: typing.Optional[builtins.bool] = None,
1767
1780
  object_ownership: typing.Optional["ObjectOwnership"] = None,
@@ -1794,9 +1807,10 @@ class BucketProps:
1794
1807
  :param metrics: The metrics configuration of this bucket. Default: - No metrics configuration.
1795
1808
  :param minimum_tls_version: Enforces minimum TLS version for requests. Requires ``enforceSSL`` to be enabled. Default: No minimum TLS version is enforced.
1796
1809
  :param notifications_handler_role: The role to be used by the notifications handler. Default: - a new role will be created.
1810
+ :param notifications_skip_destination_validation: Skips notification validation of Amazon SQS, Amazon SNS, and Lambda destinations. Default: false
1797
1811
  :param object_lock_default_retention: The default retention mode and rules for S3 Object Lock. Default retention can be configured after a bucket is created if the bucket already has object lock enabled. Enabling object lock for existing buckets is not supported. Default: no default retention period
1798
1812
  :param object_lock_enabled: Enable object lock on the bucket. Enabling object lock for existing buckets is not supported. Object lock must be enabled when the bucket is created. Default: false, unless objectLockDefaultRetention is set (then, true)
1799
- :param object_ownership: The objectOwnership of the bucket. Default: - No ObjectOwnership configuration, uploading account will own the object.
1813
+ :param object_ownership: The objectOwnership of the bucket. Default: - No ObjectOwnership configuration. By default, Amazon S3 sets Object Ownership to ``Bucket owner enforced``. This means ACLs are disabled and the bucket owner will own every object.
1800
1814
  :param public_read_access: Grants public read access to all objects in the bucket. Similar to calling ``bucket.grantPublicAccess()`` Default: false
1801
1815
  :param removal_policy: Policy to apply when the bucket is removed from this stack. Default: - The bucket will be orphaned.
1802
1816
  :param server_access_logs_bucket: Destination bucket for the server access logs. Default: - If "serverAccessLogsPrefix" undefined - access logs disabled, otherwise - log to current bucket.
@@ -1850,6 +1864,7 @@ class BucketProps:
1850
1864
  check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
1851
1865
  check_type(argname="argument minimum_tls_version", value=minimum_tls_version, expected_type=type_hints["minimum_tls_version"])
1852
1866
  check_type(argname="argument notifications_handler_role", value=notifications_handler_role, expected_type=type_hints["notifications_handler_role"])
1867
+ check_type(argname="argument notifications_skip_destination_validation", value=notifications_skip_destination_validation, expected_type=type_hints["notifications_skip_destination_validation"])
1853
1868
  check_type(argname="argument object_lock_default_retention", value=object_lock_default_retention, expected_type=type_hints["object_lock_default_retention"])
1854
1869
  check_type(argname="argument object_lock_enabled", value=object_lock_enabled, expected_type=type_hints["object_lock_enabled"])
1855
1870
  check_type(argname="argument object_ownership", value=object_ownership, expected_type=type_hints["object_ownership"])
@@ -1897,6 +1912,8 @@ class BucketProps:
1897
1912
  self._values["minimum_tls_version"] = minimum_tls_version
1898
1913
  if notifications_handler_role is not None:
1899
1914
  self._values["notifications_handler_role"] = notifications_handler_role
1915
+ if notifications_skip_destination_validation is not None:
1916
+ self._values["notifications_skip_destination_validation"] = notifications_skip_destination_validation
1900
1917
  if object_lock_default_retention is not None:
1901
1918
  self._values["object_lock_default_retention"] = object_lock_default_retention
1902
1919
  if object_lock_enabled is not None:
@@ -2122,6 +2139,17 @@ class BucketProps:
2122
2139
  result = self._values.get("notifications_handler_role")
2123
2140
  return typing.cast(typing.Optional[_IRole_235f5d8e], result)
2124
2141
 
2142
+ @builtins.property
2143
+ def notifications_skip_destination_validation(
2144
+ self,
2145
+ ) -> typing.Optional[builtins.bool]:
2146
+ '''Skips notification validation of Amazon SQS, Amazon SNS, and Lambda destinations.
2147
+
2148
+ :default: false
2149
+ '''
2150
+ result = self._values.get("notifications_skip_destination_validation")
2151
+ return typing.cast(typing.Optional[builtins.bool], result)
2152
+
2125
2153
  @builtins.property
2126
2154
  def object_lock_default_retention(self) -> typing.Optional["ObjectLockRetention"]:
2127
2155
  '''The default retention mode and rules for S3 Object Lock.
@@ -2154,7 +2182,10 @@ class BucketProps:
2154
2182
  def object_ownership(self) -> typing.Optional["ObjectOwnership"]:
2155
2183
  '''The objectOwnership of the bucket.
2156
2184
 
2157
- :default: - No ObjectOwnership configuration, uploading account will own the object.
2185
+ :default:
2186
+
2187
+ - No ObjectOwnership configuration. By default, Amazon S3 sets Object Ownership to ``Bucket owner enforced``.
2188
+ This means ACLs are disabled and the bucket owner will own every object.
2158
2189
 
2159
2190
  :see: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
2160
2191
  '''
@@ -2449,7 +2480,7 @@ class CfnAccessGrant(
2449
2480
  if __debug__:
2450
2481
  type_hints = typing.get_type_hints(_typecheckingstub__7750d212c13d41d88644a83707c5c60f4dd086f751d2f0979fa8364391f3cc05)
2451
2482
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2452
- jsii.set(self, "accessGrantsLocationId", value)
2483
+ jsii.set(self, "accessGrantsLocationId", value) # pyright: ignore[reportArgumentType]
2453
2484
 
2454
2485
  @builtins.property
2455
2486
  @jsii.member(jsii_name="grantee")
@@ -2467,7 +2498,7 @@ class CfnAccessGrant(
2467
2498
  if __debug__:
2468
2499
  type_hints = typing.get_type_hints(_typecheckingstub__431ce233bff506f83ee44602a4737c7e178a9d1ac6aa3d74f059a83dbc331bf8)
2469
2500
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2470
- jsii.set(self, "grantee", value)
2501
+ jsii.set(self, "grantee", value) # pyright: ignore[reportArgumentType]
2471
2502
 
2472
2503
  @builtins.property
2473
2504
  @jsii.member(jsii_name="permission")
@@ -2480,7 +2511,7 @@ class CfnAccessGrant(
2480
2511
  if __debug__:
2481
2512
  type_hints = typing.get_type_hints(_typecheckingstub__c743ab8e808b39c70065cfa43a083c3c97cd4d346016128603893332604f159b)
2482
2513
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2483
- jsii.set(self, "permission", value)
2514
+ jsii.set(self, "permission", value) # pyright: ignore[reportArgumentType]
2484
2515
 
2485
2516
  @builtins.property
2486
2517
  @jsii.member(jsii_name="accessGrantsLocationConfiguration")
@@ -2498,7 +2529,7 @@ class CfnAccessGrant(
2498
2529
  if __debug__:
2499
2530
  type_hints = typing.get_type_hints(_typecheckingstub__8e58d71c4ba726798891ac585e0984b18ab1040549545b96163bd2699812b609)
2500
2531
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2501
- jsii.set(self, "accessGrantsLocationConfiguration", value)
2532
+ jsii.set(self, "accessGrantsLocationConfiguration", value) # pyright: ignore[reportArgumentType]
2502
2533
 
2503
2534
  @builtins.property
2504
2535
  @jsii.member(jsii_name="applicationArn")
@@ -2511,7 +2542,7 @@ class CfnAccessGrant(
2511
2542
  if __debug__:
2512
2543
  type_hints = typing.get_type_hints(_typecheckingstub__c0d70891eae94ebbab8cc362f7a9a438c6715995972b22d5b4b14057acb7cfe5)
2513
2544
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2514
- jsii.set(self, "applicationArn", value)
2545
+ jsii.set(self, "applicationArn", value) # pyright: ignore[reportArgumentType]
2515
2546
 
2516
2547
  @builtins.property
2517
2548
  @jsii.member(jsii_name="s3PrefixType")
@@ -2524,7 +2555,7 @@ class CfnAccessGrant(
2524
2555
  if __debug__:
2525
2556
  type_hints = typing.get_type_hints(_typecheckingstub__b506a8fd769f3485e18f8209a0a136623369f2bbcb7eb045111e2f4058218750)
2526
2557
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2527
- jsii.set(self, "s3PrefixType", value)
2558
+ jsii.set(self, "s3PrefixType", value) # pyright: ignore[reportArgumentType]
2528
2559
 
2529
2560
  @builtins.property
2530
2561
  @jsii.member(jsii_name="tags")
@@ -2537,7 +2568,7 @@ class CfnAccessGrant(
2537
2568
  if __debug__:
2538
2569
  type_hints = typing.get_type_hints(_typecheckingstub__659b5473c09a3cd1d139db66aeb8bc0de478770051664670ba222033647b5b55)
2539
2570
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2540
- jsii.set(self, "tags", value)
2571
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
2541
2572
 
2542
2573
  @jsii.data_type(
2543
2574
  jsii_type="aws-cdk-lib.aws_s3.CfnAccessGrant.AccessGrantsLocationConfigurationProperty",
@@ -2992,7 +3023,7 @@ class CfnAccessGrantsInstance(
2992
3023
  if __debug__:
2993
3024
  type_hints = typing.get_type_hints(_typecheckingstub__d1edfd3c71ca2c204d8c2d42fea322038a8895b842d27bac8381609ced7dbeb4)
2994
3025
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2995
- jsii.set(self, "identityCenterArn", value)
3026
+ jsii.set(self, "identityCenterArn", value) # pyright: ignore[reportArgumentType]
2996
3027
 
2997
3028
  @builtins.property
2998
3029
  @jsii.member(jsii_name="tags")
@@ -3005,7 +3036,7 @@ class CfnAccessGrantsInstance(
3005
3036
  if __debug__:
3006
3037
  type_hints = typing.get_type_hints(_typecheckingstub__c9b78b2087e9cc15388ddb58da353ffe059b1e3b8044b2db62a599ecd5b176b4)
3007
3038
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3008
- jsii.set(self, "tags", value)
3039
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3009
3040
 
3010
3041
 
3011
3042
  @jsii.data_type(
@@ -3223,7 +3254,7 @@ class CfnAccessGrantsLocation(
3223
3254
  if __debug__:
3224
3255
  type_hints = typing.get_type_hints(_typecheckingstub__c6ad3ea630d95d457364fa227ccc4159df9b2fe48cab3fd14afc7301612ddce6)
3225
3256
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3226
- jsii.set(self, "iamRoleArn", value)
3257
+ jsii.set(self, "iamRoleArn", value) # pyright: ignore[reportArgumentType]
3227
3258
 
3228
3259
  @builtins.property
3229
3260
  @jsii.member(jsii_name="locationScope")
@@ -3236,7 +3267,7 @@ class CfnAccessGrantsLocation(
3236
3267
  if __debug__:
3237
3268
  type_hints = typing.get_type_hints(_typecheckingstub__80f4ecc1c277ca36e62d80157ee09c7e5856bf9bc1e1542588d3449f958c3302)
3238
3269
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3239
- jsii.set(self, "locationScope", value)
3270
+ jsii.set(self, "locationScope", value) # pyright: ignore[reportArgumentType]
3240
3271
 
3241
3272
  @builtins.property
3242
3273
  @jsii.member(jsii_name="tags")
@@ -3249,7 +3280,7 @@ class CfnAccessGrantsLocation(
3249
3280
  if __debug__:
3250
3281
  type_hints = typing.get_type_hints(_typecheckingstub__34ec64e9e3a170eac86359c24d865c728a0273caa8c470380483ea14cc644f5c)
3251
3282
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3252
- jsii.set(self, "tags", value)
3283
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
3253
3284
 
3254
3285
 
3255
3286
  @jsii.data_type(
@@ -3513,7 +3544,7 @@ class CfnAccessPoint(
3513
3544
  if __debug__:
3514
3545
  type_hints = typing.get_type_hints(_typecheckingstub__f05d02ed64de76ec07ffab71aa952c3861b4de33221b338dcc4ff6eda2ea54fd)
3515
3546
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3516
- jsii.set(self, "bucket", value)
3547
+ jsii.set(self, "bucket", value) # pyright: ignore[reportArgumentType]
3517
3548
 
3518
3549
  @builtins.property
3519
3550
  @jsii.member(jsii_name="bucketAccountId")
@@ -3526,7 +3557,7 @@ class CfnAccessPoint(
3526
3557
  if __debug__:
3527
3558
  type_hints = typing.get_type_hints(_typecheckingstub__a20900e59a68c51259a69f8b59e898cf7f2b7da3295de514614bf9738b61566c)
3528
3559
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3529
- jsii.set(self, "bucketAccountId", value)
3560
+ jsii.set(self, "bucketAccountId", value) # pyright: ignore[reportArgumentType]
3530
3561
 
3531
3562
  @builtins.property
3532
3563
  @jsii.member(jsii_name="name")
@@ -3539,7 +3570,7 @@ class CfnAccessPoint(
3539
3570
  if __debug__:
3540
3571
  type_hints = typing.get_type_hints(_typecheckingstub__3a857c1b168134cdd7d76a3c9a3359cc7cf23990068b2761f01adf573b2cb2d6)
3541
3572
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3542
- jsii.set(self, "name", value)
3573
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
3543
3574
 
3544
3575
  @builtins.property
3545
3576
  @jsii.member(jsii_name="policy")
@@ -3552,7 +3583,7 @@ class CfnAccessPoint(
3552
3583
  if __debug__:
3553
3584
  type_hints = typing.get_type_hints(_typecheckingstub__e424ad18d868eff85114332893fcf1ce3e590b1265b2bf01673d07c7eae67193)
3554
3585
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3555
- jsii.set(self, "policy", value)
3586
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
3556
3587
 
3557
3588
  @builtins.property
3558
3589
  @jsii.member(jsii_name="publicAccessBlockConfiguration")
@@ -3570,7 +3601,7 @@ class CfnAccessPoint(
3570
3601
  if __debug__:
3571
3602
  type_hints = typing.get_type_hints(_typecheckingstub__f1674ffbc32679c9e6b98201180481c7cd25fa6b6b1611ce89faf76ad24f3aba)
3572
3603
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3573
- jsii.set(self, "publicAccessBlockConfiguration", value)
3604
+ jsii.set(self, "publicAccessBlockConfiguration", value) # pyright: ignore[reportArgumentType]
3574
3605
 
3575
3606
  @builtins.property
3576
3607
  @jsii.member(jsii_name="vpcConfiguration")
@@ -3588,7 +3619,7 @@ class CfnAccessPoint(
3588
3619
  if __debug__:
3589
3620
  type_hints = typing.get_type_hints(_typecheckingstub__a49ee3ddcfdce1bcd8c198e3823a2490c2f4ac82647902a91b701dbc61ab86b8)
3590
3621
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3591
- jsii.set(self, "vpcConfiguration", value)
3622
+ jsii.set(self, "vpcConfiguration", value) # pyright: ignore[reportArgumentType]
3592
3623
 
3593
3624
  @jsii.data_type(
3594
3625
  jsii_type="aws-cdk-lib.aws_s3.CfnAccessPoint.PublicAccessBlockConfigurationProperty",
@@ -3616,7 +3647,7 @@ class CfnAccessPoint(
3616
3647
  :param block_public_acls: Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior: - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public. - PUT Object calls fail if the request includes a public ACL. - PUT Bucket calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
3617
3648
  :param block_public_policy: Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
3618
3649
  :param ignore_public_acls: Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
3619
- :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
3650
+ :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
3620
3651
 
3621
3652
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html
3622
3653
  :exampleMetadata: fixture=_generated
@@ -3705,7 +3736,7 @@ class CfnAccessPoint(
3705
3736
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
3706
3737
  '''Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
3707
3738
 
3708
- Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.
3739
+ Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.
3709
3740
 
3710
3741
  Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
3711
3742
 
@@ -4162,7 +4193,7 @@ class CfnBucket(
4162
4193
  if __debug__:
4163
4194
  type_hints = typing.get_type_hints(_typecheckingstub__59850cae72bb7791c6b0c0ae14619dda37c70534d161318a8465134bb5f4fe02)
4164
4195
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4165
- jsii.set(self, "accelerateConfiguration", value)
4196
+ jsii.set(self, "accelerateConfiguration", value) # pyright: ignore[reportArgumentType]
4166
4197
 
4167
4198
  @builtins.property
4168
4199
  @jsii.member(jsii_name="accessControl")
@@ -4177,7 +4208,7 @@ class CfnBucket(
4177
4208
  if __debug__:
4178
4209
  type_hints = typing.get_type_hints(_typecheckingstub__558367ea58f04be68475519df751a354550328b2bd68ab64f3deb5d2df97846c)
4179
4210
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4180
- jsii.set(self, "accessControl", value)
4211
+ jsii.set(self, "accessControl", value) # pyright: ignore[reportArgumentType]
4181
4212
 
4182
4213
  @builtins.property
4183
4214
  @jsii.member(jsii_name="analyticsConfigurations")
@@ -4195,7 +4226,7 @@ class CfnBucket(
4195
4226
  if __debug__:
4196
4227
  type_hints = typing.get_type_hints(_typecheckingstub__7079422ddf22c742f00b15b0fb37f52680a2d0578fc4df7ebe03b5ce965b918c)
4197
4228
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4198
- jsii.set(self, "analyticsConfigurations", value)
4229
+ jsii.set(self, "analyticsConfigurations", value) # pyright: ignore[reportArgumentType]
4199
4230
 
4200
4231
  @builtins.property
4201
4232
  @jsii.member(jsii_name="bucketEncryption")
@@ -4213,7 +4244,7 @@ class CfnBucket(
4213
4244
  if __debug__:
4214
4245
  type_hints = typing.get_type_hints(_typecheckingstub__51b46a81434808d9dc9a5d68b053ff1b93618b7249c98960f0b51727be51b5ad)
4215
4246
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4216
- jsii.set(self, "bucketEncryption", value)
4247
+ jsii.set(self, "bucketEncryption", value) # pyright: ignore[reportArgumentType]
4217
4248
 
4218
4249
  @builtins.property
4219
4250
  @jsii.member(jsii_name="bucketName")
@@ -4226,7 +4257,7 @@ class CfnBucket(
4226
4257
  if __debug__:
4227
4258
  type_hints = typing.get_type_hints(_typecheckingstub__54108cc6ed6ba655299058199da4b6fec6fa93a8906725ea4b77f9b08dc389da)
4228
4259
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4229
- jsii.set(self, "bucketName", value)
4260
+ jsii.set(self, "bucketName", value) # pyright: ignore[reportArgumentType]
4230
4261
 
4231
4262
  @builtins.property
4232
4263
  @jsii.member(jsii_name="corsConfiguration")
@@ -4244,7 +4275,7 @@ class CfnBucket(
4244
4275
  if __debug__:
4245
4276
  type_hints = typing.get_type_hints(_typecheckingstub__cb3da71fd03c0ae5ddaf7d7c45c63bf3dc9b5724984d98444a4630d8d4b1fdb5)
4246
4277
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4247
- jsii.set(self, "corsConfiguration", value)
4278
+ jsii.set(self, "corsConfiguration", value) # pyright: ignore[reportArgumentType]
4248
4279
 
4249
4280
  @builtins.property
4250
4281
  @jsii.member(jsii_name="intelligentTieringConfigurations")
@@ -4262,7 +4293,7 @@ class CfnBucket(
4262
4293
  if __debug__:
4263
4294
  type_hints = typing.get_type_hints(_typecheckingstub__4fb21ce4f81db8de1df3e39aaf7ed39f66b28a3f89b3c78938b1ff3d59ead30e)
4264
4295
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4265
- jsii.set(self, "intelligentTieringConfigurations", value)
4296
+ jsii.set(self, "intelligentTieringConfigurations", value) # pyright: ignore[reportArgumentType]
4266
4297
 
4267
4298
  @builtins.property
4268
4299
  @jsii.member(jsii_name="inventoryConfigurations")
@@ -4280,7 +4311,7 @@ class CfnBucket(
4280
4311
  if __debug__:
4281
4312
  type_hints = typing.get_type_hints(_typecheckingstub__c33d443a6fcc8a546a42351915fcdc741dcfd4a8ebb3c8dc71924203c4153b65)
4282
4313
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4283
- jsii.set(self, "inventoryConfigurations", value)
4314
+ jsii.set(self, "inventoryConfigurations", value) # pyright: ignore[reportArgumentType]
4284
4315
 
4285
4316
  @builtins.property
4286
4317
  @jsii.member(jsii_name="lifecycleConfiguration")
@@ -4298,7 +4329,7 @@ class CfnBucket(
4298
4329
  if __debug__:
4299
4330
  type_hints = typing.get_type_hints(_typecheckingstub__88e54b469a555c42174e4cb7a836533b85bf97d9148bc93a37bf1f3b4e5553e5)
4300
4331
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4301
- jsii.set(self, "lifecycleConfiguration", value)
4332
+ jsii.set(self, "lifecycleConfiguration", value) # pyright: ignore[reportArgumentType]
4302
4333
 
4303
4334
  @builtins.property
4304
4335
  @jsii.member(jsii_name="loggingConfiguration")
@@ -4316,7 +4347,7 @@ class CfnBucket(
4316
4347
  if __debug__:
4317
4348
  type_hints = typing.get_type_hints(_typecheckingstub__4b77f03fd3b3677eb1438ce6b2a3991e386c73bd8744df53f5e4ba5ea0868fa6)
4318
4349
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4319
- jsii.set(self, "loggingConfiguration", value)
4350
+ jsii.set(self, "loggingConfiguration", value) # pyright: ignore[reportArgumentType]
4320
4351
 
4321
4352
  @builtins.property
4322
4353
  @jsii.member(jsii_name="metricsConfigurations")
@@ -4334,7 +4365,7 @@ class CfnBucket(
4334
4365
  if __debug__:
4335
4366
  type_hints = typing.get_type_hints(_typecheckingstub__eac9036be4bb48ceb77f2042d6e2e3fb403dcb81f8655b8537b4075e2a39cc3b)
4336
4367
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4337
- jsii.set(self, "metricsConfigurations", value)
4368
+ jsii.set(self, "metricsConfigurations", value) # pyright: ignore[reportArgumentType]
4338
4369
 
4339
4370
  @builtins.property
4340
4371
  @jsii.member(jsii_name="notificationConfiguration")
@@ -4352,7 +4383,7 @@ class CfnBucket(
4352
4383
  if __debug__:
4353
4384
  type_hints = typing.get_type_hints(_typecheckingstub__20a66130902c7d4592805ff8dc880725751a60a4171e09fd6aa5385ce24598fd)
4354
4385
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4355
- jsii.set(self, "notificationConfiguration", value)
4386
+ jsii.set(self, "notificationConfiguration", value) # pyright: ignore[reportArgumentType]
4356
4387
 
4357
4388
  @builtins.property
4358
4389
  @jsii.member(jsii_name="objectLockConfiguration")
@@ -4372,7 +4403,7 @@ class CfnBucket(
4372
4403
  if __debug__:
4373
4404
  type_hints = typing.get_type_hints(_typecheckingstub__e8b8559e4a081774c2749be759390488e40a24643968140ea2346ff609521ea2)
4374
4405
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4375
- jsii.set(self, "objectLockConfiguration", value)
4406
+ jsii.set(self, "objectLockConfiguration", value) # pyright: ignore[reportArgumentType]
4376
4407
 
4377
4408
  @builtins.property
4378
4409
  @jsii.member(jsii_name="objectLockEnabled")
@@ -4390,7 +4421,7 @@ class CfnBucket(
4390
4421
  if __debug__:
4391
4422
  type_hints = typing.get_type_hints(_typecheckingstub__6f8424bc1449670166518896e6a7a45b3df40a9b94a427798a622a961b5ae965)
4392
4423
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4393
- jsii.set(self, "objectLockEnabled", value)
4424
+ jsii.set(self, "objectLockEnabled", value) # pyright: ignore[reportArgumentType]
4394
4425
 
4395
4426
  @builtins.property
4396
4427
  @jsii.member(jsii_name="ownershipControls")
@@ -4408,7 +4439,7 @@ class CfnBucket(
4408
4439
  if __debug__:
4409
4440
  type_hints = typing.get_type_hints(_typecheckingstub__f0a377f5fa5575a942ea4c125def763d108db389f3189897344168f5ee5f9578)
4410
4441
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4411
- jsii.set(self, "ownershipControls", value)
4442
+ jsii.set(self, "ownershipControls", value) # pyright: ignore[reportArgumentType]
4412
4443
 
4413
4444
  @builtins.property
4414
4445
  @jsii.member(jsii_name="publicAccessBlockConfiguration")
@@ -4426,7 +4457,7 @@ class CfnBucket(
4426
4457
  if __debug__:
4427
4458
  type_hints = typing.get_type_hints(_typecheckingstub__ee5ab6031f494032aea942170873734a91bbb68afd4490340c53268f4b0cafde)
4428
4459
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4429
- jsii.set(self, "publicAccessBlockConfiguration", value)
4460
+ jsii.set(self, "publicAccessBlockConfiguration", value) # pyright: ignore[reportArgumentType]
4430
4461
 
4431
4462
  @builtins.property
4432
4463
  @jsii.member(jsii_name="replicationConfiguration")
@@ -4444,7 +4475,7 @@ class CfnBucket(
4444
4475
  if __debug__:
4445
4476
  type_hints = typing.get_type_hints(_typecheckingstub__7721d25a7203c95793b94cc10e13ce2b5bc18dddf33f9bef78764a8324aac491)
4446
4477
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4447
- jsii.set(self, "replicationConfiguration", value)
4478
+ jsii.set(self, "replicationConfiguration", value) # pyright: ignore[reportArgumentType]
4448
4479
 
4449
4480
  @builtins.property
4450
4481
  @jsii.member(jsii_name="tagsRaw")
@@ -4457,7 +4488,7 @@ class CfnBucket(
4457
4488
  if __debug__:
4458
4489
  type_hints = typing.get_type_hints(_typecheckingstub__5d4f9db226bf40c4990f36de793587b8a795ed9c7670326433f1e6c2b93c5f7d)
4459
4490
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4460
- jsii.set(self, "tagsRaw", value)
4491
+ jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4461
4492
 
4462
4493
  @builtins.property
4463
4494
  @jsii.member(jsii_name="versioningConfiguration")
@@ -4475,7 +4506,7 @@ class CfnBucket(
4475
4506
  if __debug__:
4476
4507
  type_hints = typing.get_type_hints(_typecheckingstub__4984f673222966737c2901226c6bfe5186dbc7dd12751fcbc01b53341605b5b0)
4477
4508
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4478
- jsii.set(self, "versioningConfiguration", value)
4509
+ jsii.set(self, "versioningConfiguration", value) # pyright: ignore[reportArgumentType]
4479
4510
 
4480
4511
  @builtins.property
4481
4512
  @jsii.member(jsii_name="websiteConfiguration")
@@ -4493,7 +4524,7 @@ class CfnBucket(
4493
4524
  if __debug__:
4494
4525
  type_hints = typing.get_type_hints(_typecheckingstub__81f473c3bbc4b92d2b62f5c4a09f49b95480f03d5666d07ad20a7c77c9a3edc0)
4495
4526
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4496
- jsii.set(self, "websiteConfiguration", value)
4527
+ jsii.set(self, "websiteConfiguration", value) # pyright: ignore[reportArgumentType]
4497
4528
 
4498
4529
  @jsii.data_type(
4499
4530
  jsii_type="aws-cdk-lib.aws_s3.CfnBucket.AbortIncompleteMultipartUploadProperty",
@@ -7220,7 +7251,7 @@ class CfnBucket(
7220
7251
  :param block_public_acls: Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior: - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public. - PUT Object calls fail if the request includes a public ACL. - PUT Bucket calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
7221
7252
  :param block_public_policy: Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
7222
7253
  :param ignore_public_acls: Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
7223
- :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
7254
+ :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
7224
7255
 
7225
7256
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html
7226
7257
  :exampleMetadata: fixture=_generated
@@ -7309,7 +7340,7 @@ class CfnBucket(
7309
7340
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7310
7341
  '''Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
7311
7342
 
7312
- Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.
7343
+ Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.
7313
7344
 
7314
7345
  Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
7315
7346
 
@@ -10339,7 +10370,7 @@ class CfnBucketPolicy(
10339
10370
  if __debug__:
10340
10371
  type_hints = typing.get_type_hints(_typecheckingstub__8b5451a546c891d4596957e8ab503d7f49164dd86fa1f0fa30cca1ffc579ae63)
10341
10372
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10342
- jsii.set(self, "bucket", value)
10373
+ jsii.set(self, "bucket", value) # pyright: ignore[reportArgumentType]
10343
10374
 
10344
10375
  @builtins.property
10345
10376
  @jsii.member(jsii_name="policyDocument")
@@ -10352,7 +10383,7 @@ class CfnBucketPolicy(
10352
10383
  if __debug__:
10353
10384
  type_hints = typing.get_type_hints(_typecheckingstub__0e8fd92f949a743ee76326cb0c265c3f249d88130ab93dbd4233f73361a53885)
10354
10385
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10355
- jsii.set(self, "policyDocument", value)
10386
+ jsii.set(self, "policyDocument", value) # pyright: ignore[reportArgumentType]
10356
10387
 
10357
10388
 
10358
10389
  @jsii.data_type(
@@ -10992,7 +11023,7 @@ class CfnMultiRegionAccessPoint(
10992
11023
  if __debug__:
10993
11024
  type_hints = typing.get_type_hints(_typecheckingstub__abf30f9759724879a8879072672e118efc44335a0667b00427319fbcf50b326b)
10994
11025
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10995
- jsii.set(self, "regions", value)
11026
+ jsii.set(self, "regions", value) # pyright: ignore[reportArgumentType]
10996
11027
 
10997
11028
  @builtins.property
10998
11029
  @jsii.member(jsii_name="name")
@@ -11005,7 +11036,7 @@ class CfnMultiRegionAccessPoint(
11005
11036
  if __debug__:
11006
11037
  type_hints = typing.get_type_hints(_typecheckingstub__44d6d7312671090bddc10fb211738cc12e4c1f5e00ee3e72f8c030c91477ddf1)
11007
11038
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11008
- jsii.set(self, "name", value)
11039
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
11009
11040
 
11010
11041
  @builtins.property
11011
11042
  @jsii.member(jsii_name="publicAccessBlockConfiguration")
@@ -11023,7 +11054,7 @@ class CfnMultiRegionAccessPoint(
11023
11054
  if __debug__:
11024
11055
  type_hints = typing.get_type_hints(_typecheckingstub__1d2683633ee0afd0f5bc9f609e4e09e2e89e8ebe6f84ca95e487620baab02904)
11025
11056
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11026
- jsii.set(self, "publicAccessBlockConfiguration", value)
11057
+ jsii.set(self, "publicAccessBlockConfiguration", value) # pyright: ignore[reportArgumentType]
11027
11058
 
11028
11059
  @jsii.data_type(
11029
11060
  jsii_type="aws-cdk-lib.aws_s3.CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty",
@@ -11051,7 +11082,7 @@ class CfnMultiRegionAccessPoint(
11051
11082
  :param block_public_acls: Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior: - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public. - PUT Object calls fail if the request includes a public ACL. - PUT Bucket calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
11052
11083
  :param block_public_policy: Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
11053
11084
  :param ignore_public_acls: Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
11054
- :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
11085
+ :param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
11055
11086
 
11056
11087
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html
11057
11088
  :exampleMetadata: fixture=_generated
@@ -11140,7 +11171,7 @@ class CfnMultiRegionAccessPoint(
11140
11171
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
11141
11172
  '''Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
11142
11173
 
11143
- Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.
11174
+ Setting this element to ``TRUE`` restricts access to this bucket to only AWS-service principals and authorized users within this account if the bucket has a public policy.
11144
11175
 
11145
11176
  Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
11146
11177
 
@@ -11350,7 +11381,7 @@ class CfnMultiRegionAccessPointPolicy(
11350
11381
  if __debug__:
11351
11382
  type_hints = typing.get_type_hints(_typecheckingstub__17f32a002f27dea27870835c7ec14b66b5e1668b65ce5f1e92e3841321192080)
11352
11383
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11353
- jsii.set(self, "mrapName", value)
11384
+ jsii.set(self, "mrapName", value) # pyright: ignore[reportArgumentType]
11354
11385
 
11355
11386
  @builtins.property
11356
11387
  @jsii.member(jsii_name="policy")
@@ -11363,7 +11394,7 @@ class CfnMultiRegionAccessPointPolicy(
11363
11394
  if __debug__:
11364
11395
  type_hints = typing.get_type_hints(_typecheckingstub__f652c96d8b984e16b2d02a6b6cce91057e4836c1eca63227e3d8951f867147b4)
11365
11396
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11366
- jsii.set(self, "policy", value)
11397
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
11367
11398
 
11368
11399
  @jsii.data_type(
11369
11400
  jsii_type="aws-cdk-lib.aws_s3.CfnMultiRegionAccessPointPolicy.PolicyStatusProperty",
@@ -11804,7 +11835,7 @@ class CfnStorageLens(
11804
11835
  if __debug__:
11805
11836
  type_hints = typing.get_type_hints(_typecheckingstub__f35f40ae5dafee2732cb533b5c63c68b228b6ed5c2729e9daf124f35d29c4632)
11806
11837
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11807
- jsii.set(self, "storageLensConfiguration", value)
11838
+ jsii.set(self, "storageLensConfiguration", value) # pyright: ignore[reportArgumentType]
11808
11839
 
11809
11840
  @builtins.property
11810
11841
  @jsii.member(jsii_name="tagsRaw")
@@ -11817,7 +11848,7 @@ class CfnStorageLens(
11817
11848
  if __debug__:
11818
11849
  type_hints = typing.get_type_hints(_typecheckingstub__0530718447b790342c8d2881cb2324f474879f89248f162150fb9512520ca065)
11819
11850
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11820
- jsii.set(self, "tagsRaw", value)
11851
+ jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
11821
11852
 
11822
11853
  @jsii.data_type(
11823
11854
  jsii_type="aws-cdk-lib.aws_s3.CfnStorageLens.AccountLevelProperty",
@@ -13756,7 +13787,7 @@ class CfnStorageLensGroup(
13756
13787
  if __debug__:
13757
13788
  type_hints = typing.get_type_hints(_typecheckingstub__e28051bd1722ff06856f70b9254cb6f3916e33e05b162c4e7c2fb8f985955f7e)
13758
13789
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
13759
- jsii.set(self, "filter", value)
13790
+ jsii.set(self, "filter", value) # pyright: ignore[reportArgumentType]
13760
13791
 
13761
13792
  @builtins.property
13762
13793
  @jsii.member(jsii_name="name")
@@ -13769,7 +13800,7 @@ class CfnStorageLensGroup(
13769
13800
  if __debug__:
13770
13801
  type_hints = typing.get_type_hints(_typecheckingstub__e6352d8510fa53fd6e57a3a505437c1fc03b2303c43ec2d2c48a495c9c41bac7)
13771
13802
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
13772
- jsii.set(self, "name", value)
13803
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
13773
13804
 
13774
13805
  @builtins.property
13775
13806
  @jsii.member(jsii_name="tags")
@@ -13782,7 +13813,7 @@ class CfnStorageLensGroup(
13782
13813
  if __debug__:
13783
13814
  type_hints = typing.get_type_hints(_typecheckingstub__6e84ad8afd56ef3e30a306bbf30582a814aad58c407feefb71d4baf2f9d3d49c)
13784
13815
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
13785
- jsii.set(self, "tags", value)
13816
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
13786
13817
 
13787
13818
  @jsii.data_type(
13788
13819
  jsii_type="aws-cdk-lib.aws_s3.CfnStorageLensGroup.AndProperty",
@@ -14890,15 +14921,12 @@ class EventType(enum.Enum):
14890
14921
 
14891
14922
  Example::
14892
14923
 
14893
- # my_lambda: lambda.Function
14894
-
14895
- bucket = s3.Bucket.from_bucket_attributes(self, "ImportedBucket",
14896
- bucket_arn="arn:aws:s3:::my-bucket"
14897
- )
14924
+ # my_queue: sqs.Queue
14898
14925
 
14899
- # now you can just call methods on the bucket
14900
- bucket.add_event_notification(s3.EventType.OBJECT_CREATED, s3n.LambdaDestination(my_lambda),
14901
- prefix="home/myusername/*"
14926
+ bucket = s3.Bucket(self, "MyBucket")
14927
+ bucket.add_event_notification(s3.EventType.OBJECT_REMOVED, s3n.SqsDestination(my_queue),
14928
+ prefix="foo/",
14929
+ suffix=".jpg"
14902
14930
  )
14903
14931
  '''
14904
14932
 
@@ -15665,7 +15693,7 @@ class _IBucketProxy(
15665
15693
  if __debug__:
15666
15694
  type_hints = typing.get_type_hints(_typecheckingstub__eee382ff86c17d46379012dcccee86976ea92e15cb6d63c3e3f4e853c058ac53)
15667
15695
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
15668
- jsii.set(self, "policy", value)
15696
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
15669
15697
 
15670
15698
  @jsii.member(jsii_name="addEventNotification")
15671
15699
  def add_event_notification(
@@ -19110,7 +19138,24 @@ class BucketBase(
19110
19138
  if __debug__:
19111
19139
  type_hints = typing.get_type_hints(_typecheckingstub__379a88b5f70f3d0bcea4ef03e8d2e7c8d8bf62a080e3ea71e8d2c12af42fb5c2)
19112
19140
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19113
- jsii.set(self, "notificationsHandlerRole", value)
19141
+ jsii.set(self, "notificationsHandlerRole", value) # pyright: ignore[reportArgumentType]
19142
+
19143
+ @builtins.property
19144
+ @jsii.member(jsii_name="notificationsSkipDestinationValidation")
19145
+ def _notifications_skip_destination_validation(
19146
+ self,
19147
+ ) -> typing.Optional[builtins.bool]:
19148
+ return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "notificationsSkipDestinationValidation"))
19149
+
19150
+ @_notifications_skip_destination_validation.setter
19151
+ def _notifications_skip_destination_validation(
19152
+ self,
19153
+ value: typing.Optional[builtins.bool],
19154
+ ) -> None:
19155
+ if __debug__:
19156
+ type_hints = typing.get_type_hints(_typecheckingstub__42e85b6923bfd67ab8a552353ddd2926a9f375ed612e3f505a0edb6ab7b88ef0)
19157
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19158
+ jsii.set(self, "notificationsSkipDestinationValidation", value) # pyright: ignore[reportArgumentType]
19114
19159
 
19115
19160
  @builtins.property
19116
19161
  @jsii.member(jsii_name="objectOwnership")
@@ -19122,7 +19167,7 @@ class BucketBase(
19122
19167
  if __debug__:
19123
19168
  type_hints = typing.get_type_hints(_typecheckingstub__7b774af5b2b1e2ee5e0028e8447eaa4ff4997a31be4ec32c1d4c40be3a26fcd9)
19124
19169
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19125
- jsii.set(self, "objectOwnership", value)
19170
+ jsii.set(self, "objectOwnership", value) # pyright: ignore[reportArgumentType]
19126
19171
 
19127
19172
  @builtins.property
19128
19173
  @jsii.member(jsii_name="policy")
@@ -19210,7 +19255,7 @@ class _BucketBaseProxy(
19210
19255
  if __debug__:
19211
19256
  type_hints = typing.get_type_hints(_typecheckingstub__0582098f8e3dd726fbdc6c6a107c1357209a1393b57d66b13cdfdd987e1d2059)
19212
19257
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19213
- jsii.set(self, "autoCreatePolicy", value)
19258
+ jsii.set(self, "autoCreatePolicy", value) # pyright: ignore[reportArgumentType]
19214
19259
 
19215
19260
  @builtins.property
19216
19261
  @jsii.member(jsii_name="disallowPublicAccess")
@@ -19223,7 +19268,7 @@ class _BucketBaseProxy(
19223
19268
  if __debug__:
19224
19269
  type_hints = typing.get_type_hints(_typecheckingstub__e09f0f11401862e34b246bbedc7f76234ab2424a7a05160418c68ebc32d26912)
19225
19270
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19226
- jsii.set(self, "disallowPublicAccess", value)
19271
+ jsii.set(self, "disallowPublicAccess", value) # pyright: ignore[reportArgumentType]
19227
19272
 
19228
19273
  @builtins.property
19229
19274
  @jsii.member(jsii_name="policy")
@@ -19240,7 +19285,7 @@ class _BucketBaseProxy(
19240
19285
  if __debug__:
19241
19286
  type_hints = typing.get_type_hints(_typecheckingstub__1d54fb5dd19da2dbb943d620662efadde1df29be901c2f95b3ae6d389056896c)
19242
19287
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19243
- jsii.set(self, "policy", value)
19288
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
19244
19289
 
19245
19290
  # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
19246
19291
  typing.cast(typing.Any, BucketBase).__jsii_proxy_class__ = lambda : _BucketBaseProxy
@@ -19291,6 +19336,7 @@ class Bucket(
19291
19336
  metrics: typing.Optional[typing.Sequence[typing.Union[BucketMetrics, typing.Dict[builtins.str, typing.Any]]]] = None,
19292
19337
  minimum_tls_version: typing.Optional[jsii.Number] = None,
19293
19338
  notifications_handler_role: typing.Optional[_IRole_235f5d8e] = None,
19339
+ notifications_skip_destination_validation: typing.Optional[builtins.bool] = None,
19294
19340
  object_lock_default_retention: typing.Optional[ObjectLockRetention] = None,
19295
19341
  object_lock_enabled: typing.Optional[builtins.bool] = None,
19296
19342
  object_ownership: typing.Optional[ObjectOwnership] = None,
@@ -19325,9 +19371,10 @@ class Bucket(
19325
19371
  :param metrics: The metrics configuration of this bucket. Default: - No metrics configuration.
19326
19372
  :param minimum_tls_version: Enforces minimum TLS version for requests. Requires ``enforceSSL`` to be enabled. Default: No minimum TLS version is enforced.
19327
19373
  :param notifications_handler_role: The role to be used by the notifications handler. Default: - a new role will be created.
19374
+ :param notifications_skip_destination_validation: Skips notification validation of Amazon SQS, Amazon SNS, and Lambda destinations. Default: false
19328
19375
  :param object_lock_default_retention: The default retention mode and rules for S3 Object Lock. Default retention can be configured after a bucket is created if the bucket already has object lock enabled. Enabling object lock for existing buckets is not supported. Default: no default retention period
19329
19376
  :param object_lock_enabled: Enable object lock on the bucket. Enabling object lock for existing buckets is not supported. Object lock must be enabled when the bucket is created. Default: false, unless objectLockDefaultRetention is set (then, true)
19330
- :param object_ownership: The objectOwnership of the bucket. Default: - No ObjectOwnership configuration, uploading account will own the object.
19377
+ :param object_ownership: The objectOwnership of the bucket. Default: - No ObjectOwnership configuration. By default, Amazon S3 sets Object Ownership to ``Bucket owner enforced``. This means ACLs are disabled and the bucket owner will own every object.
19331
19378
  :param public_read_access: Grants public read access to all objects in the bucket. Similar to calling ``bucket.grantPublicAccess()`` Default: false
19332
19379
  :param removal_policy: Policy to apply when the bucket is removed from this stack. Default: - The bucket will be orphaned.
19333
19380
  :param server_access_logs_bucket: Destination bucket for the server access logs. Default: - If "serverAccessLogsPrefix" undefined - access logs disabled, otherwise - log to current bucket.
@@ -19361,6 +19408,7 @@ class Bucket(
19361
19408
  metrics=metrics,
19362
19409
  minimum_tls_version=minimum_tls_version,
19363
19410
  notifications_handler_role=notifications_handler_role,
19411
+ notifications_skip_destination_validation=notifications_skip_destination_validation,
19364
19412
  object_lock_default_retention=object_lock_default_retention,
19365
19413
  object_lock_enabled=object_lock_enabled,
19366
19414
  object_ownership=object_ownership,
@@ -19713,7 +19761,7 @@ class Bucket(
19713
19761
  if __debug__:
19714
19762
  type_hints = typing.get_type_hints(_typecheckingstub__10798637aab1875b3bf2e274b42cec4e14584bbf542724bbdf98ab697c8fdf68)
19715
19763
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19716
- jsii.set(self, "autoCreatePolicy", value)
19764
+ jsii.set(self, "autoCreatePolicy", value) # pyright: ignore[reportArgumentType]
19717
19765
 
19718
19766
  @builtins.property
19719
19767
  @jsii.member(jsii_name="disallowPublicAccess")
@@ -19726,7 +19774,7 @@ class Bucket(
19726
19774
  if __debug__:
19727
19775
  type_hints = typing.get_type_hints(_typecheckingstub__9c28a6c819a753d85a34d358b6f42613072c93deab766ea0a865ed09f7a51085)
19728
19776
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19729
- jsii.set(self, "disallowPublicAccess", value)
19777
+ jsii.set(self, "disallowPublicAccess", value) # pyright: ignore[reportArgumentType]
19730
19778
 
19731
19779
  @builtins.property
19732
19780
  @jsii.member(jsii_name="policy")
@@ -19743,7 +19791,7 @@ class Bucket(
19743
19791
  if __debug__:
19744
19792
  type_hints = typing.get_type_hints(_typecheckingstub__afd8c4da1d866abcdc76879948bb11bd5a21a374e5ebf1e4445208dec1df8f2e)
19745
19793
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19746
- jsii.set(self, "policy", value)
19794
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
19747
19795
 
19748
19796
 
19749
19797
  __all__ = [
@@ -19933,6 +19981,7 @@ def _typecheckingstub__f2ff878f2dca3dd037442155369c2fcc7bd194425c0967a7fd7bfa576
19933
19981
  metrics: typing.Optional[typing.Sequence[typing.Union[BucketMetrics, typing.Dict[builtins.str, typing.Any]]]] = None,
19934
19982
  minimum_tls_version: typing.Optional[jsii.Number] = None,
19935
19983
  notifications_handler_role: typing.Optional[_IRole_235f5d8e] = None,
19984
+ notifications_skip_destination_validation: typing.Optional[builtins.bool] = None,
19936
19985
  object_lock_default_retention: typing.Optional[ObjectLockRetention] = None,
19937
19986
  object_lock_enabled: typing.Optional[builtins.bool] = None,
19938
19987
  object_ownership: typing.Optional[ObjectOwnership] = None,
@@ -21915,6 +21964,12 @@ def _typecheckingstub__379a88b5f70f3d0bcea4ef03e8d2e7c8d8bf62a080e3ea71e8d2c12af
21915
21964
  """Type checking stubs"""
21916
21965
  pass
21917
21966
 
21967
+ def _typecheckingstub__42e85b6923bfd67ab8a552353ddd2926a9f375ed612e3f505a0edb6ab7b88ef0(
21968
+ value: typing.Optional[builtins.bool],
21969
+ ) -> None:
21970
+ """Type checking stubs"""
21971
+ pass
21972
+
21918
21973
  def _typecheckingstub__7b774af5b2b1e2ee5e0028e8447eaa4ff4997a31be4ec32c1d4c40be3a26fcd9(
21919
21974
  value: typing.Optional[ObjectOwnership],
21920
21975
  ) -> None:
@@ -21959,6 +22014,7 @@ def _typecheckingstub__25f24cbf29544d9c579e765350a7b51ec4ec81bc2cc07a21660738a1e
21959
22014
  metrics: typing.Optional[typing.Sequence[typing.Union[BucketMetrics, typing.Dict[builtins.str, typing.Any]]]] = None,
21960
22015
  minimum_tls_version: typing.Optional[jsii.Number] = None,
21961
22016
  notifications_handler_role: typing.Optional[_IRole_235f5d8e] = None,
22017
+ notifications_skip_destination_validation: typing.Optional[builtins.bool] = None,
21962
22018
  object_lock_default_retention: typing.Optional[ObjectLockRetention] = None,
21963
22019
  object_lock_enabled: typing.Optional[builtins.bool] = None,
21964
22020
  object_ownership: typing.Optional[ObjectOwnership] = None,