aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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 (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -1267,6 +1267,10 @@ class CfnWorkgroup(
1267
1267
  max_capacity=123,
1268
1268
  namespace_name="namespaceName",
1269
1269
  port=123,
1270
+ price_performance_target=redshiftserverless.CfnWorkgroup.PerformanceTargetProperty(
1271
+ level=123,
1272
+ status="status"
1273
+ ),
1270
1274
  publicly_accessible=False,
1271
1275
  security_group_ids=["securityGroupIds"],
1272
1276
  subnet_ids=["subnetIds"],
@@ -1289,6 +1293,7 @@ class CfnWorkgroup(
1289
1293
  max_capacity: typing.Optional[jsii.Number] = None,
1290
1294
  namespace_name: typing.Optional[builtins.str] = None,
1291
1295
  port: typing.Optional[jsii.Number] = None,
1296
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkgroup.PerformanceTargetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1292
1297
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1293
1298
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
1294
1299
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -1304,6 +1309,7 @@ class CfnWorkgroup(
1304
1309
  :param max_capacity: The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.
1305
1310
  :param namespace_name: The namespace the workgroup is associated with.
1306
1311
  :param port: The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.
1312
+ :param price_performance_target: An object that represents the price performance target settings for the workgroup.
1307
1313
  :param publicly_accessible: A value that specifies whether the workgroup can be accessible from a public network. Default: - false
1308
1314
  :param security_group_ids: A list of security group IDs to associate with the workgroup.
1309
1315
  :param subnet_ids: A list of subnet IDs the workgroup is associated with.
@@ -1321,6 +1327,7 @@ class CfnWorkgroup(
1321
1327
  max_capacity=max_capacity,
1322
1328
  namespace_name=namespace_name,
1323
1329
  port=port,
1330
+ price_performance_target=price_performance_target,
1324
1331
  publicly_accessible=publicly_accessible,
1325
1332
  security_group_ids=security_group_ids,
1326
1333
  subnet_ids=subnet_ids,
@@ -1633,6 +1640,24 @@ class CfnWorkgroup(
1633
1640
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1634
1641
  jsii.set(self, "port", value) # pyright: ignore[reportArgumentType]
1635
1642
 
1643
+ @builtins.property
1644
+ @jsii.member(jsii_name="pricePerformanceTarget")
1645
+ def price_performance_target(
1646
+ self,
1647
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkgroup.PerformanceTargetProperty"]]:
1648
+ '''An object that represents the price performance target settings for the workgroup.'''
1649
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkgroup.PerformanceTargetProperty"]], jsii.get(self, "pricePerformanceTarget"))
1650
+
1651
+ @price_performance_target.setter
1652
+ def price_performance_target(
1653
+ self,
1654
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkgroup.PerformanceTargetProperty"]],
1655
+ ) -> None:
1656
+ if __debug__:
1657
+ type_hints = typing.get_type_hints(_typecheckingstub__971a4fc1559ba6fa762249206f240d83ab3e607f325e8eeed9b9122b529c78e0)
1658
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1659
+ jsii.set(self, "pricePerformanceTarget", value) # pyright: ignore[reportArgumentType]
1660
+
1636
1661
  @builtins.property
1637
1662
  @jsii.member(jsii_name="publiclyAccessible")
1638
1663
  def publicly_accessible(
@@ -1973,6 +1998,78 @@ class CfnWorkgroup(
1973
1998
  k + "=" + repr(v) for k, v in self._values.items()
1974
1999
  )
1975
2000
 
2001
+ @jsii.data_type(
2002
+ jsii_type="aws-cdk-lib.aws_redshiftserverless.CfnWorkgroup.PerformanceTargetProperty",
2003
+ jsii_struct_bases=[],
2004
+ name_mapping={"level": "level", "status": "status"},
2005
+ )
2006
+ class PerformanceTargetProperty:
2007
+ def __init__(
2008
+ self,
2009
+ *,
2010
+ level: typing.Optional[jsii.Number] = None,
2011
+ status: typing.Optional[builtins.str] = None,
2012
+ ) -> None:
2013
+ '''An object that represents the price performance target settings for the workgroup.
2014
+
2015
+ :param level: The target price performance level for the workgroup. Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.
2016
+ :param status: Whether the price performance target is enabled for the workgroup.
2017
+
2018
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html
2019
+ :exampleMetadata: fixture=_generated
2020
+
2021
+ Example::
2022
+
2023
+ # The code below shows an example of how to instantiate this type.
2024
+ # The values are placeholders you should change.
2025
+ from aws_cdk import aws_redshiftserverless as redshiftserverless
2026
+
2027
+ performance_target_property = redshiftserverless.CfnWorkgroup.PerformanceTargetProperty(
2028
+ level=123,
2029
+ status="status"
2030
+ )
2031
+ '''
2032
+ if __debug__:
2033
+ type_hints = typing.get_type_hints(_typecheckingstub__e7166282347ab806de45e7f23d02833af860bdd81c72c593cfef563b261c272f)
2034
+ check_type(argname="argument level", value=level, expected_type=type_hints["level"])
2035
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
2036
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
2037
+ if level is not None:
2038
+ self._values["level"] = level
2039
+ if status is not None:
2040
+ self._values["status"] = status
2041
+
2042
+ @builtins.property
2043
+ def level(self) -> typing.Optional[jsii.Number]:
2044
+ '''The target price performance level for the workgroup.
2045
+
2046
+ Valid values include 1, 25, 50, 75, and 100. These correspond to the price performance levels LOW_COST, ECONOMICAL, BALANCED, RESOURCEFUL, and HIGH_PERFORMANCE.
2047
+
2048
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html#cfn-redshiftserverless-workgroup-performancetarget-level
2049
+ '''
2050
+ result = self._values.get("level")
2051
+ return typing.cast(typing.Optional[jsii.Number], result)
2052
+
2053
+ @builtins.property
2054
+ def status(self) -> typing.Optional[builtins.str]:
2055
+ '''Whether the price performance target is enabled for the workgroup.
2056
+
2057
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-performancetarget.html#cfn-redshiftserverless-workgroup-performancetarget-status
2058
+ '''
2059
+ result = self._values.get("status")
2060
+ return typing.cast(typing.Optional[builtins.str], result)
2061
+
2062
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2063
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2064
+
2065
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2066
+ return not (rhs == self)
2067
+
2068
+ def __repr__(self) -> str:
2069
+ return "PerformanceTargetProperty(%s)" % ", ".join(
2070
+ k + "=" + repr(v) for k, v in self._values.items()
2071
+ )
2072
+
1976
2073
  @jsii.data_type(
1977
2074
  jsii_type="aws-cdk-lib.aws_redshiftserverless.CfnWorkgroup.VpcEndpointProperty",
1978
2075
  jsii_struct_bases=[],
@@ -2082,6 +2179,7 @@ class CfnWorkgroup(
2082
2179
  "enhanced_vpc_routing": "enhancedVpcRouting",
2083
2180
  "max_capacity": "maxCapacity",
2084
2181
  "namespace_name": "namespaceName",
2182
+ "price_performance_target": "pricePerformanceTarget",
2085
2183
  "publicly_accessible": "publiclyAccessible",
2086
2184
  "security_group_ids": "securityGroupIds",
2087
2185
  "status": "status",
@@ -2102,6 +2200,7 @@ class CfnWorkgroup(
2102
2200
  enhanced_vpc_routing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2103
2201
  max_capacity: typing.Optional[jsii.Number] = None,
2104
2202
  namespace_name: typing.Optional[builtins.str] = None,
2203
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkgroup.PerformanceTargetProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2105
2204
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2106
2205
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2107
2206
  status: typing.Optional[builtins.str] = None,
@@ -2119,6 +2218,7 @@ class CfnWorkgroup(
2119
2218
  :param enhanced_vpc_routing: The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.
2120
2219
  :param max_capacity: The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.
2121
2220
  :param namespace_name: The namespace the workgroup is associated with.
2221
+ :param price_performance_target: An object that represents the price performance target settings for the workgroup.
2122
2222
  :param publicly_accessible: A value that specifies whether the workgroup can be accessible from a public network.
2123
2223
  :param security_group_ids: An array of security group IDs to associate with the workgroup.
2124
2224
  :param status: The status of the workgroup.
@@ -2160,6 +2260,10 @@ class CfnWorkgroup(
2160
2260
  enhanced_vpc_routing=False,
2161
2261
  max_capacity=123,
2162
2262
  namespace_name="namespaceName",
2263
+ price_performance_target=redshiftserverless.CfnWorkgroup.PerformanceTargetProperty(
2264
+ level=123,
2265
+ status="status"
2266
+ ),
2163
2267
  publicly_accessible=False,
2164
2268
  security_group_ids=["securityGroupIds"],
2165
2269
  status="status",
@@ -2178,6 +2282,7 @@ class CfnWorkgroup(
2178
2282
  check_type(argname="argument enhanced_vpc_routing", value=enhanced_vpc_routing, expected_type=type_hints["enhanced_vpc_routing"])
2179
2283
  check_type(argname="argument max_capacity", value=max_capacity, expected_type=type_hints["max_capacity"])
2180
2284
  check_type(argname="argument namespace_name", value=namespace_name, expected_type=type_hints["namespace_name"])
2285
+ check_type(argname="argument price_performance_target", value=price_performance_target, expected_type=type_hints["price_performance_target"])
2181
2286
  check_type(argname="argument publicly_accessible", value=publicly_accessible, expected_type=type_hints["publicly_accessible"])
2182
2287
  check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
2183
2288
  check_type(argname="argument status", value=status, expected_type=type_hints["status"])
@@ -2200,6 +2305,8 @@ class CfnWorkgroup(
2200
2305
  self._values["max_capacity"] = max_capacity
2201
2306
  if namespace_name is not None:
2202
2307
  self._values["namespace_name"] = namespace_name
2308
+ if price_performance_target is not None:
2309
+ self._values["price_performance_target"] = price_performance_target
2203
2310
  if publicly_accessible is not None:
2204
2311
  self._values["publicly_accessible"] = publicly_accessible
2205
2312
  if security_group_ids is not None:
@@ -2288,6 +2395,17 @@ class CfnWorkgroup(
2288
2395
  result = self._values.get("namespace_name")
2289
2396
  return typing.cast(typing.Optional[builtins.str], result)
2290
2397
 
2398
+ @builtins.property
2399
+ def price_performance_target(
2400
+ self,
2401
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkgroup.PerformanceTargetProperty"]]:
2402
+ '''An object that represents the price performance target settings for the workgroup.
2403
+
2404
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-workgroup-workgroup.html#cfn-redshiftserverless-workgroup-workgroup-priceperformancetarget
2405
+ '''
2406
+ result = self._values.get("price_performance_target")
2407
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWorkgroup.PerformanceTargetProperty"]], result)
2408
+
2291
2409
  @builtins.property
2292
2410
  def publicly_accessible(
2293
2411
  self,
@@ -2376,6 +2494,7 @@ class CfnWorkgroup(
2376
2494
  "max_capacity": "maxCapacity",
2377
2495
  "namespace_name": "namespaceName",
2378
2496
  "port": "port",
2497
+ "price_performance_target": "pricePerformanceTarget",
2379
2498
  "publicly_accessible": "publiclyAccessible",
2380
2499
  "security_group_ids": "securityGroupIds",
2381
2500
  "subnet_ids": "subnetIds",
@@ -2393,6 +2512,7 @@ class CfnWorkgroupProps:
2393
2512
  max_capacity: typing.Optional[jsii.Number] = None,
2394
2513
  namespace_name: typing.Optional[builtins.str] = None,
2395
2514
  port: typing.Optional[jsii.Number] = None,
2515
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkgroup.PerformanceTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2396
2516
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2397
2517
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2398
2518
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2407,6 +2527,7 @@ class CfnWorkgroupProps:
2407
2527
  :param max_capacity: The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.
2408
2528
  :param namespace_name: The namespace the workgroup is associated with.
2409
2529
  :param port: The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.
2530
+ :param price_performance_target: An object that represents the price performance target settings for the workgroup.
2410
2531
  :param publicly_accessible: A value that specifies whether the workgroup can be accessible from a public network. Default: - false
2411
2532
  :param security_group_ids: A list of security group IDs to associate with the workgroup.
2412
2533
  :param subnet_ids: A list of subnet IDs the workgroup is associated with.
@@ -2434,6 +2555,10 @@ class CfnWorkgroupProps:
2434
2555
  max_capacity=123,
2435
2556
  namespace_name="namespaceName",
2436
2557
  port=123,
2558
+ price_performance_target=redshiftserverless.CfnWorkgroup.PerformanceTargetProperty(
2559
+ level=123,
2560
+ status="status"
2561
+ ),
2437
2562
  publicly_accessible=False,
2438
2563
  security_group_ids=["securityGroupIds"],
2439
2564
  subnet_ids=["subnetIds"],
@@ -2452,6 +2577,7 @@ class CfnWorkgroupProps:
2452
2577
  check_type(argname="argument max_capacity", value=max_capacity, expected_type=type_hints["max_capacity"])
2453
2578
  check_type(argname="argument namespace_name", value=namespace_name, expected_type=type_hints["namespace_name"])
2454
2579
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
2580
+ check_type(argname="argument price_performance_target", value=price_performance_target, expected_type=type_hints["price_performance_target"])
2455
2581
  check_type(argname="argument publicly_accessible", value=publicly_accessible, expected_type=type_hints["publicly_accessible"])
2456
2582
  check_type(argname="argument security_group_ids", value=security_group_ids, expected_type=type_hints["security_group_ids"])
2457
2583
  check_type(argname="argument subnet_ids", value=subnet_ids, expected_type=type_hints["subnet_ids"])
@@ -2471,6 +2597,8 @@ class CfnWorkgroupProps:
2471
2597
  self._values["namespace_name"] = namespace_name
2472
2598
  if port is not None:
2473
2599
  self._values["port"] = port
2600
+ if price_performance_target is not None:
2601
+ self._values["price_performance_target"] = price_performance_target
2474
2602
  if publicly_accessible is not None:
2475
2603
  self._values["publicly_accessible"] = publicly_accessible
2476
2604
  if security_group_ids is not None:
@@ -2556,6 +2684,17 @@ class CfnWorkgroupProps:
2556
2684
  result = self._values.get("port")
2557
2685
  return typing.cast(typing.Optional[jsii.Number], result)
2558
2686
 
2687
+ @builtins.property
2688
+ def price_performance_target(
2689
+ self,
2690
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkgroup.PerformanceTargetProperty]]:
2691
+ '''An object that represents the price performance target settings for the workgroup.
2692
+
2693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html#cfn-redshiftserverless-workgroup-priceperformancetarget
2694
+ '''
2695
+ result = self._values.get("price_performance_target")
2696
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkgroup.PerformanceTargetProperty]], result)
2697
+
2559
2698
  @builtins.property
2560
2699
  def publicly_accessible(
2561
2700
  self,
@@ -2810,6 +2949,7 @@ def _typecheckingstub__61a1b6ebbdacc577619f4e17ddabdaa553ffe5fe072b72e14ddf7d9c3
2810
2949
  max_capacity: typing.Optional[jsii.Number] = None,
2811
2950
  namespace_name: typing.Optional[builtins.str] = None,
2812
2951
  port: typing.Optional[jsii.Number] = None,
2952
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkgroup.PerformanceTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2813
2953
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2814
2954
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2815
2955
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2872,6 +3012,12 @@ def _typecheckingstub__7e3a61acfcbbe3b107c15ebd1c1248f3bd150ad58cf876908da7870de
2872
3012
  """Type checking stubs"""
2873
3013
  pass
2874
3014
 
3015
+ def _typecheckingstub__971a4fc1559ba6fa762249206f240d83ab3e607f325e8eeed9b9122b529c78e0(
3016
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWorkgroup.PerformanceTargetProperty]],
3017
+ ) -> None:
3018
+ """Type checking stubs"""
3019
+ pass
3020
+
2875
3021
  def _typecheckingstub__974542b0d8aa6c1847dd536dcf795ef2c4719aed798ea365b0767f6ad3234ca0(
2876
3022
  value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
2877
3023
  ) -> None:
@@ -2923,6 +3069,14 @@ def _typecheckingstub__c27a8032aaa250691e1e68b2e75ce65c47142ac6b83ad22f01b09ec29
2923
3069
  """Type checking stubs"""
2924
3070
  pass
2925
3071
 
3072
+ def _typecheckingstub__e7166282347ab806de45e7f23d02833af860bdd81c72c593cfef563b261c272f(
3073
+ *,
3074
+ level: typing.Optional[jsii.Number] = None,
3075
+ status: typing.Optional[builtins.str] = None,
3076
+ ) -> None:
3077
+ """Type checking stubs"""
3078
+ pass
3079
+
2926
3080
  def _typecheckingstub__200b427a09281b666ef25deaac2b6bf3abeeda64d77ffa3f7903dbe300b6606d(
2927
3081
  *,
2928
3082
  network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkgroup.NetworkInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -2941,6 +3095,7 @@ def _typecheckingstub__b7cad236eecd67272da075e88f17a1dbdae4ee5083553d6443dcc19b3
2941
3095
  enhanced_vpc_routing: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2942
3096
  max_capacity: typing.Optional[jsii.Number] = None,
2943
3097
  namespace_name: typing.Optional[builtins.str] = None,
3098
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkgroup.PerformanceTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2944
3099
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2945
3100
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2946
3101
  status: typing.Optional[builtins.str] = None,
@@ -2961,6 +3116,7 @@ def _typecheckingstub__1ee3941005026bdab05d38183c12cc7cf5ff218e6db3877161b60d823
2961
3116
  max_capacity: typing.Optional[jsii.Number] = None,
2962
3117
  namespace_name: typing.Optional[builtins.str] = None,
2963
3118
  port: typing.Optional[jsii.Number] = None,
3119
+ price_performance_target: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWorkgroup.PerformanceTargetProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2964
3120
  publicly_accessible: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2965
3121
  security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2966
3122
  subnet_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -494,7 +494,7 @@ class CfnApp(
494
494
 
495
495
  :param type: Defines how AWS Resilience Hub scans your resources. It can scan for the resources by using a pre-existing role in your AWS account, or by using the credentials of the current IAM user.
496
496
  :param cross_account_role_arns: Defines a list of role Amazon Resource Names (ARNs) to be used in other accounts. These ARNs are used for querying purposes while importing resources and assessing your application. .. epigraph:: - These ARNs are required only when your resources are in other accounts and you have different role name in these accounts. Else, the invoker role name will be used in the other accounts. - These roles must have a trust policy with ``iam:AssumeRole`` permission to the invoker role in the primary account.
497
- :param invoker_role_name: Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment. .. epigraph:: - You must have ``iam:passRole`` permission for this role while creating or updating the application. - Currently, ``invokerRoleName`` accepts only ``[A-Za-z0-9_+=,.@-]`` characters.
497
+ :param invoker_role_name: Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment. If your IAM role includes a path, you must include the path in the ``invokerRoleName`` parameter. For example, if your IAM role's ARN is ``arn:aws:iam:123456789012:role/my-path/role-name`` , you should pass ``my-path/role-name`` . .. epigraph:: - You must have ``iam:passRole`` permission for this role while creating or updating the application. - Currently, ``invokerRoleName`` accepts only ``[A-Za-z0-9_+=,.@-]`` characters.
498
498
 
499
499
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resiliencehub-app-permissionmodel.html
500
500
  :exampleMetadata: fixture=_generated
@@ -557,6 +557,7 @@ class CfnApp(
557
557
  def invoker_role_name(self) -> typing.Optional[builtins.str]:
558
558
  '''Existing AWS IAM role name in the primary AWS account that will be assumed by AWS Resilience Hub Service Principle to obtain a read-only access to your application resources while running an assessment.
559
559
 
560
+ If your IAM role includes a path, you must include the path in the ``invokerRoleName`` parameter. For example, if your IAM role's ARN is ``arn:aws:iam:123456789012:role/my-path/role-name`` , you should pass ``my-path/role-name`` .
560
561
  .. epigraph::
561
562
 
562
563
  - You must have ``iam:passRole`` permission for this role while creating or updating the application.
@@ -1027,19 +1027,19 @@ class UserPoolDomainTarget(
1027
1027
  @jsii.member(jsii_name="bind")
1028
1028
  def bind(
1029
1029
  self,
1030
- _record: _IRecordSet_7d446a82,
1030
+ record: _IRecordSet_7d446a82,
1031
1031
  _zone: typing.Optional[_IHostedZone_9a6907ad] = None,
1032
1032
  ) -> _AliasRecordTargetConfig_588f62e9:
1033
1033
  '''Return hosted zone ID and DNS name, usable for Route53 alias targets.
1034
1034
 
1035
- :param _record: -
1035
+ :param record: -
1036
1036
  :param _zone: -
1037
1037
  '''
1038
1038
  if __debug__:
1039
1039
  type_hints = typing.get_type_hints(_typecheckingstub__ce4923401899f48bd0c1ae21051fc7f7dfe9597cb06da980cb1dc4cf441fbf3c)
1040
- check_type(argname="argument _record", value=_record, expected_type=type_hints["_record"])
1040
+ check_type(argname="argument record", value=record, expected_type=type_hints["record"])
1041
1041
  check_type(argname="argument _zone", value=_zone, expected_type=type_hints["_zone"])
1042
- return typing.cast(_AliasRecordTargetConfig_588f62e9, jsii.invoke(self, "bind", [_record, _zone]))
1042
+ return typing.cast(_AliasRecordTargetConfig_588f62e9, jsii.invoke(self, "bind", [record, _zone]))
1043
1043
 
1044
1044
 
1045
1045
  class ApiGateway(
@@ -1268,7 +1268,7 @@ def _typecheckingstub__b00bf5eba0024f5bf7c1acfbffab5d3fa54e65eb29951b3b0fe2f6659
1268
1268
  pass
1269
1269
 
1270
1270
  def _typecheckingstub__ce4923401899f48bd0c1ae21051fc7f7dfe9597cb06da980cb1dc4cf441fbf3c(
1271
- _record: _IRecordSet_7d446a82,
1271
+ record: _IRecordSet_7d446a82,
1272
1272
  _zone: typing.Optional[_IHostedZone_9a6907ad] = None,
1273
1273
  ) -> None:
1274
1274
  """Type checking stubs"""
@@ -2013,19 +2013,20 @@ class BucketProps:
2013
2013
 
2014
2014
  Example::
2015
2015
 
2016
- import aws_cdk.aws_kms as kms
2017
-
2018
-
2019
- my_kms_key = kms.Key(self, "myKMSKey")
2020
- my_bucket = s3.Bucket(self, "mySSEKMSEncryptedBucket",
2021
- encryption=s3.BucketEncryption.KMS,
2022
- encryption_key=my_kms_key,
2016
+ access_logs_bucket = s3.Bucket(self, "AccessLogsBucket",
2023
2017
  object_ownership=s3.ObjectOwnership.BUCKET_OWNER_ENFORCED
2024
2018
  )
2025
- cloudfront.Distribution(self, "myDist",
2026
- default_behavior=cloudfront.BehaviorOptions(
2027
- origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket)
2028
- )
2019
+
2020
+ access_logs_bucket.add_to_resource_policy(
2021
+ iam.PolicyStatement(
2022
+ actions=["s3:*"],
2023
+ resources=[access_logs_bucket.bucket_arn, access_logs_bucket.arn_for_objects("*")],
2024
+ principals=[iam.AnyPrincipal()]
2025
+ ))
2026
+
2027
+ bucket = s3.Bucket(self, "MyBucket",
2028
+ server_access_logs_bucket=access_logs_bucket,
2029
+ server_access_logs_prefix="logs"
2029
2030
  )
2030
2031
  '''
2031
2032
  if isinstance(website_redirect, dict):
@@ -4236,7 +4237,7 @@ class CfnBucket(
4236
4237
  :param access_control: .. epigraph:: This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see `Controlling object ownership <https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html>`_ in the *Amazon S3 User Guide* . A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see `Canned ACL <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl>`_ in the *Amazon S3 User Guide* . S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the `AWS::S3::OwnershipControls <https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html>`_ property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon. The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see `AWS::S3::BucketPolicy <https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html>`_ . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see `Bucket policy examples <https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html>`_ in the *Amazon S3 User Guide* .
4237
4238
  :param analytics_configurations: Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
4238
4239
  :param bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see `Amazon S3 Default Encryption for S3 Buckets <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html>`_ in the *Amazon S3 User Guide* .
4239
- :param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
4240
+ :param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
4240
4241
  :param cors_configuration: Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see `Enabling Cross-Origin Resource Sharing <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html>`_ in the *Amazon S3 User Guide* .
4241
4242
  :param intelligent_tiering_configurations: Defines how Amazon S3 handles Intelligent-Tiering storage.
4242
4243
  :param inventory_configurations: Specifies the inventory configuration for an Amazon S3 bucket. For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
@@ -9507,7 +9508,7 @@ class CfnBucket(
9507
9508
  .. epigraph::
9508
9509
 
9509
9510
  - *General purpose buckets* - If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key ( ``aws/s3`` ) in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS.
9510
- - *Directory buckets* - Your SSE-KMS configuration can only support 1 `customer managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk>`_ per directory bucket for the lifetime of the bucket. The `AWS managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk>`_ ( ``aws/s3`` ) isn't supported.
9511
+ - *Directory buckets* - Your SSE-KMS configuration can only support 1 `customer managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk>`_ per directory bucket's lifetime. The `AWS managed key <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk>`_ ( ``aws/s3`` ) isn't supported.
9511
9512
  - *Directory buckets* - For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS.
9512
9513
 
9513
9514
  :param sse_algorithm: Server-side encryption algorithm to use for the default encryption. .. epigraph:: For directory buckets, there are only two supported values for server-side encryption: ``AES256`` and ``aws:kms`` .
@@ -9894,6 +9895,8 @@ class CfnBucket(
9894
9895
  def __init__(self, *, key: builtins.str, value: builtins.str) -> None:
9895
9896
  '''Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.
9896
9897
 
9898
+ For more information, see `Categorizing your storage using tags <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html>`_ in the *Amazon Simple Storage Service User Guide* .
9899
+
9897
9900
  :param key: The tag key.
9898
9901
  :param value: The tag value.
9899
9902
 
@@ -10512,6 +10515,13 @@ class CfnBucketPolicy(
10512
10515
 
10513
10516
  As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
10514
10517
 
10518
+ When using the ``AWS::S3::BucketPolicy`` resource, you can create, update, and delete bucket policies for S3 buckets located in regions different from the stack's region. This cross-region bucket policy modification functionality is supported for backward compatibility with existing workflows.
10519
+ .. epigraph::
10520
+
10521
+ If the `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ is not specified or set to ``Delete`` , the bucket policy will be removed when the stack is deleted. If set to ``Retain`` , the bucket policy will be preserved even after the stack is deleted.
10522
+
10523
+ For example, a CloudFormation stack in ``us-east-1`` can use the ``AWS::S3::BucketPolicy`` resource to manage the bucket policy for an S3 bucket in ``us-west-2`` . The retention or removal of the bucket policy during the stack deletion is determined by the ``DeletionPolicy`` attribute specified in the stack template.
10524
+
10515
10525
  For more information, see `Bucket policy examples <https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html>`_ .
10516
10526
 
10517
10527
  The following operations are related to ``PutBucketPolicy`` :
@@ -10789,7 +10799,7 @@ class CfnBucketProps:
10789
10799
  :param access_control: .. epigraph:: This is a legacy property, and it is not recommended for most use cases. A majority of modern use cases in Amazon S3 no longer require the use of ACLs, and we recommend that you keep ACLs disabled. For more information, see `Controlling object ownership <https://docs.aws.amazon.com//AmazonS3/latest/userguide/about-object-ownership.html>`_ in the *Amazon S3 User Guide* . A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see `Canned ACL <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl>`_ in the *Amazon S3 User Guide* . S3 buckets are created with ACLs disabled by default. Therefore, unless you explicitly set the `AWS::S3::OwnershipControls <https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html>`_ property to enable ACLs, your resource will fail to deploy with any value other than Private. Use cases requiring ACLs are uncommon. The majority of access control configurations can be successfully and more easily achieved with bucket policies. For more information, see `AWS::S3::BucketPolicy <https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html>`_ . For examples of common policy configurations, including S3 Server Access Logs buckets and more, see `Bucket policy examples <https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html>`_ in the *Amazon S3 User Guide* .
10790
10800
  :param analytics_configurations: Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
10791
10801
  :param bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3), AWS KMS-managed keys (SSE-KMS), or dual-layer server-side encryption with KMS-managed keys (DSSE-KMS). For information about the Amazon S3 default encryption feature, see `Amazon S3 Default Encryption for S3 Buckets <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html>`_ in the *Amazon S3 User Guide* .
10792
- :param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
10802
+ :param bucket_name: A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
10793
10803
  :param cors_configuration: Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see `Enabling Cross-Origin Resource Sharing <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html>`_ in the *Amazon S3 User Guide* .
10794
10804
  :param intelligent_tiering_configurations: Defines how Amazon S3 handles Intelligent-Tiering storage.
10795
10805
  :param inventory_configurations: Specifies the inventory configuration for an Amazon S3 bucket. For more information, see `GET Bucket inventory <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html>`_ in the *Amazon S3 API Reference* .
@@ -10945,7 +10955,7 @@ class CfnBucketProps:
10945
10955
  def bucket_name(self) -> typing.Optional[builtins.str]:
10946
10956
  '''A name for the bucket.
10947
10957
 
10948
- If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules>`_ in the *Amazon S3 User Guide* .
10958
+ If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow `Amazon S3 bucket restrictions and limitations <https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html>`_ . For more information, see `Rules for naming Amazon S3 buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>`_ in the *Amazon S3 User Guide* .
10949
10959
  .. epigraph::
10950
10960
 
10951
10961
  If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
@@ -82,7 +82,7 @@ class CfnBucketPolicy(
82
82
  metaclass=jsii.JSIIMeta,
83
83
  jsii_type="aws-cdk-lib.aws_s3express.CfnBucketPolicy",
84
84
  ):
85
- '''Applies an Amazon S3 bucket policy to an Amazon S3 directory bucket.
85
+ '''The ``AWS::S3Express::BucketPolicy`` resource defines an Amazon S3 bucket policy to an Amazon S3 directory bucket.
86
86
 
87
87
  - **Permissions** - If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must both have the required permissions on the specified bucket and belong to the bucket owner's account in order to use this operation. For more information about directory bucket policies and permissions, see `AWS Identity and Access Management (IAM) for S3 Express One Zone <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html>`_ in the *Amazon S3 User Guide* .
88
88
 
@@ -295,7 +295,7 @@ class CfnDirectoryBucket(
295
295
  metaclass=jsii.JSIIMeta,
296
296
  jsii_type="aws-cdk-lib.aws_s3express.CfnDirectoryBucket",
297
297
  ):
298
- '''The ``AWS::S3Express::DirectoryBucket`` resource creates an Amazon S3 directory bucket in the same AWS Region where you create the AWS CloudFormation stack.
298
+ '''The ``AWS::S3Express::DirectoryBucket`` resource defines an Amazon S3 directory bucket in the same AWS Region where you create the AWS CloudFormation stack.
299
299
 
300
300
  To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see `DeletionPolicy attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html>`_ .
301
301
  .. epigraph::
@@ -390,7 +390,7 @@ class CfnDirectoryBucket(
390
390
  :param data_redundancy: The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.
391
391
  :param location_name: The name of the location where the bucket will be created. For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is ``usw2-az1`` .
392
392
  :param bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see `Setting and monitoring default encryption for directory buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html>`_ in the *Amazon S3 User Guide* .
393
- :param bucket_name: A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format ``*bucket_base_name* -- *az_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
393
+ :param bucket_name: A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format ``*bucket_base_name* -- *zone_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
394
394
  :param lifecycle_configuration: Container for lifecycle rules. You can add as many as 1000 rules. For more information see, `Creating and managing a lifecycle configuration for directory buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html>`_ in the *Amazon S3 User Guide* .
395
395
  '''
396
396
  if __debug__:
@@ -451,9 +451,9 @@ class CfnDirectoryBucket(
451
451
  @builtins.property
452
452
  @jsii.member(jsii_name="attrAvailabilityZoneName")
453
453
  def attr_availability_zone_name(self) -> builtins.str:
454
- '''Returns the code for the Availability Zone where the directory bucket was created.
454
+ '''Returns the code for the Availability Zone or the Local Zone where the directory bucket was created.
455
455
 
456
- Example: *us-east-1f*
456
+ Example value for an Availability Zone code: *us-east-1f*
457
457
  .. epigraph::
458
458
 
459
459
  An Availability Zone code might not represent the same physical location for different AWS accounts. For more information, see `Availability Zones and Regions <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Endpoints.html>`_ in the *Amazon S3 User Guide* .
@@ -1130,7 +1130,7 @@ class CfnDirectoryBucketProps:
1130
1130
  :param data_redundancy: The number of Zone (Availability Zone or Local Zone) that's used for redundancy for the bucket.
1131
1131
  :param location_name: The name of the location where the bucket will be created. For directory buckets, the name of the location is the Zone ID of the Availability Zone (AZ) or Local Zone (LZ) where the bucket will be created. An example AZ ID value is ``usw2-az1`` .
1132
1132
  :param bucket_encryption: Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS). For information about default encryption for directory buckets, see `Setting and monitoring default encryption for directory buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-bucket-encryption.html>`_ in the *Amazon S3 User Guide* .
1133
- :param bucket_name: A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format ``*bucket_base_name* -- *az_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
1133
+ :param bucket_name: A name for the bucket. The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format ``*bucket_base_name* -- *zone_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* . .. epigraph:: If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
1134
1134
  :param lifecycle_configuration: Container for lifecycle rules. You can add as many as 1000 rules. For more information see, `Creating and managing a lifecycle configuration for directory buckets <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-lifecycle.html>`_ in the *Amazon S3 User Guide* .
1135
1135
 
1136
1136
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html
@@ -1233,7 +1233,7 @@ class CfnDirectoryBucketProps:
1233
1233
  def bucket_name(self) -> typing.Optional[builtins.str]:
1234
1234
  '''A name for the bucket.
1235
1235
 
1236
- The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Availability Zone. The bucket name must also follow the format ``*bucket_base_name* -- *az_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* .
1236
+ The bucket name must contain only lowercase letters, numbers, and hyphens (-). A directory bucket name must be unique in the chosen Zone (Availability Zone or Local Zone). The bucket name must also follow the format ``*bucket_base_name* -- *zone_id* --x-s3`` (for example, ``*bucket_base_name* -- *usw2-az1* --x-s3`` ). If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. For information about bucket naming restrictions, see `Directory bucket naming rules <https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html>`_ in the *Amazon S3 User Guide* .
1237
1237
  .. epigraph::
1238
1238
 
1239
1239
  If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.