aws-cdk-lib 2.159.1__py3-none-any.whl → 2.161.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 (58) hide show
  1. aws_cdk/__init__.py +281 -33
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.159.1.jsii.tgz → aws-cdk-lib@2.161.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +13 -14
  5. aws_cdk/aws_autoscaling/__init__.py +2 -2
  6. aws_cdk/aws_b2bi/__init__.py +2283 -672
  7. aws_cdk/aws_batch/__init__.py +9 -5
  8. aws_cdk/aws_bedrock/__init__.py +52 -20
  9. aws_cdk/aws_cloudformation/__init__.py +9 -9
  10. aws_cdk/aws_cloudtrail/__init__.py +97 -183
  11. aws_cdk/aws_cloudwatch/__init__.py +38 -42
  12. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  13. aws_cdk/aws_cognito/__init__.py +18 -0
  14. aws_cdk/aws_datasync/__init__.py +1 -1
  15. aws_cdk/aws_dynamodb/__init__.py +4 -4
  16. aws_cdk/aws_ec2/__init__.py +138 -12
  17. aws_cdk/aws_ecs/__init__.py +517 -6
  18. aws_cdk/aws_eks/__init__.py +118 -2
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +5 -3
  20. aws_cdk/aws_glue/__init__.py +386 -0
  21. aws_cdk/aws_iotfleetwise/__init__.py +49 -49
  22. aws_cdk/aws_iottwinmaker/__init__.py +4 -4
  23. aws_cdk/aws_iotwireless/__init__.py +2 -1
  24. aws_cdk/aws_kinesisfirehose/__init__.py +52 -76
  25. aws_cdk/aws_kms/__init__.py +4 -4
  26. aws_cdk/aws_lambda/__init__.py +385 -244
  27. aws_cdk/aws_logs/__init__.py +455 -24
  28. aws_cdk/aws_mediaconnect/__init__.py +6 -4
  29. aws_cdk/aws_medialive/__init__.py +36 -0
  30. aws_cdk/aws_organizations/__init__.py +4 -3
  31. aws_cdk/aws_pipes/__init__.py +2 -2
  32. aws_cdk/aws_quicksight/__init__.py +1086 -6
  33. aws_cdk/aws_rds/__init__.py +182 -3
  34. aws_cdk/aws_route53resolver/__init__.py +3 -17
  35. aws_cdk/aws_s3/__init__.py +24 -15
  36. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  37. aws_cdk/aws_s3express/__init__.py +314 -4
  38. aws_cdk/aws_sagemaker/__init__.py +44 -4
  39. aws_cdk/aws_secretsmanager/__init__.py +14 -7
  40. aws_cdk/aws_securityhub/__init__.py +16 -14
  41. aws_cdk/aws_ses/__init__.py +52 -18
  42. aws_cdk/aws_sqs/__init__.py +16 -14
  43. aws_cdk/aws_ssm/__init__.py +6 -2
  44. aws_cdk/aws_stepfunctions/__init__.py +412 -32
  45. aws_cdk/aws_synthetics/__init__.py +46 -0
  46. aws_cdk/aws_waf/__init__.py +33 -22
  47. aws_cdk/aws_wafregional/__init__.py +36 -24
  48. aws_cdk/aws_workspacesweb/__init__.py +54 -3
  49. aws_cdk/cloud_assembly_schema/__init__.py +1304 -417
  50. aws_cdk/cloudformation_include/__init__.py +28 -0
  51. aws_cdk/cx_api/__init__.py +129 -0
  52. aws_cdk/pipelines/__init__.py +4 -4
  53. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/METADATA +4 -4
  54. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/RECORD +58 -58
  55. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/LICENSE +0 -0
  56. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/NOTICE +0 -0
  57. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/WHEEL +0 -0
  58. {aws_cdk_lib-2.159.1.dist-info → aws_cdk_lib-2.161.0.dist-info}/top_level.txt +0 -0
@@ -71,6 +71,7 @@ import constructs as _constructs_77d1e7e8
71
71
  from .. import (
72
72
  CfnResource as _CfnResource_9df397a6,
73
73
  IInspectable as _IInspectable_c2943556,
74
+ IResolvable as _IResolvable_da3f097b,
74
75
  TreeInspector as _TreeInspector_488e0dd5,
75
76
  )
76
77
 
@@ -307,11 +308,19 @@ class CfnDirectoryBucket(
307
308
  - s3express:ListAllMyDirectoryBuckets
308
309
  - Read
309
310
  - s3express:ListAllMyDirectoryBuckets
311
+ - ec2:DescribeAvailabilityZones
310
312
  - Delete
311
313
  - s3express:DeleteBucket
312
314
  - s3express:ListAllMyDirectoryBuckets
313
315
  - List
314
316
  - s3express:ListAllMyDirectoryBuckets
317
+ - PutBucketEncryption
318
+ - s3express:PutEncryptionConfiguration
319
+ - To set a directory bucket default encryption with SSE-KMS, you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and AWS KMS key policies for the target AWS KMS key.
320
+ - GetBucketEncryption
321
+ - s3express:GetBucketEncryption
322
+ - DeleteBucketEncryption
323
+ - s3express:PutEncryptionConfiguration
315
324
 
316
325
  The following operations are related to ``AWS::S3Express::DirectoryBucket`` :
317
326
 
@@ -334,6 +343,14 @@ class CfnDirectoryBucket(
334
343
  location_name="locationName",
335
344
 
336
345
  # the properties below are optional
346
+ bucket_encryption=s3express.CfnDirectoryBucket.BucketEncryptionProperty(
347
+ server_side_encryption_configuration=[s3express.CfnDirectoryBucket.ServerSideEncryptionRuleProperty(
348
+ bucket_key_enabled=False,
349
+ server_side_encryption_by_default=s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty(
350
+ sse_algorithm="sseAlgorithm"
351
+ )
352
+ )]
353
+ ),
337
354
  bucket_name="bucketName"
338
355
  )
339
356
  '''
@@ -345,6 +362,7 @@ class CfnDirectoryBucket(
345
362
  *,
346
363
  data_redundancy: builtins.str,
347
364
  location_name: builtins.str,
365
+ bucket_encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDirectoryBucket.BucketEncryptionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
348
366
  bucket_name: typing.Optional[builtins.str] = None,
349
367
  ) -> None:
350
368
  '''
@@ -352,7 +370,8 @@ class CfnDirectoryBucket(
352
370
  :param id: Construct identifier for this resource (unique in its scope).
353
371
  :param data_redundancy: The number of Availability Zone that's used for redundancy for the bucket.
354
372
  :param location_name: The name of the location where the bucket will be created. For directory buckets, the name of the location is the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is ``usw2-az1`` .
355
- :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, ``*DOC-EXAMPLE-BUCKET* -- *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.
373
+ :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* .
374
+ :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.
356
375
  '''
357
376
  if __debug__:
358
377
  type_hints = typing.get_type_hints(_typecheckingstub__ea5a1e5897b0467fb93393ad6ea2dbcd3916f27713079e8bef3badf71ce2bb20)
@@ -361,6 +380,7 @@ class CfnDirectoryBucket(
361
380
  props = CfnDirectoryBucketProps(
362
381
  data_redundancy=data_redundancy,
363
382
  location_name=location_name,
383
+ bucket_encryption=bucket_encryption,
364
384
  bucket_name=bucket_name,
365
385
  )
366
386
 
@@ -401,12 +421,26 @@ class CfnDirectoryBucket(
401
421
  def attr_arn(self) -> builtins.str:
402
422
  '''Returns the Amazon Resource Name (ARN) of the specified bucket.
403
423
 
404
- Example: ``arn:aws:s3express: *us-west-2* : *account_id* :bucket/ *DOC-EXAMPLE-BUCKET* -- *usw2-az1* --x-s3``
424
+ Example: ``arn:aws:s3express: *us-west-2* : *account_id* :bucket/ *bucket_base_name* -- *usw2-az1* --x-s3``
405
425
 
406
426
  :cloudformationAttribute: Arn
407
427
  '''
408
428
  return typing.cast(builtins.str, jsii.get(self, "attrArn"))
409
429
 
430
+ @builtins.property
431
+ @jsii.member(jsii_name="attrAvailabilityZoneName")
432
+ def attr_availability_zone_name(self) -> builtins.str:
433
+ '''Returns the code for the Availability Zone where the directory bucket was created.
434
+
435
+ Example: *us-east-1f*
436
+ .. epigraph::
437
+
438
+ 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* .
439
+
440
+ :cloudformationAttribute: AvailabilityZoneName
441
+ '''
442
+ return typing.cast(builtins.str, jsii.get(self, "attrAvailabilityZoneName"))
443
+
410
444
  @builtins.property
411
445
  @jsii.member(jsii_name="cfnProperties")
412
446
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -438,6 +472,24 @@ class CfnDirectoryBucket(
438
472
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
439
473
  jsii.set(self, "locationName", value) # pyright: ignore[reportArgumentType]
440
474
 
475
+ @builtins.property
476
+ @jsii.member(jsii_name="bucketEncryption")
477
+ def bucket_encryption(
478
+ self,
479
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.BucketEncryptionProperty"]]:
480
+ '''Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).'''
481
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.BucketEncryptionProperty"]], jsii.get(self, "bucketEncryption"))
482
+
483
+ @bucket_encryption.setter
484
+ def bucket_encryption(
485
+ self,
486
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.BucketEncryptionProperty"]],
487
+ ) -> None:
488
+ if __debug__:
489
+ type_hints = typing.get_type_hints(_typecheckingstub__ec12f12e4471077fcc9afe2e16208df6b915dc349584d6784410dc28aeaa9ac3)
490
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
491
+ jsii.set(self, "bucketEncryption", value) # pyright: ignore[reportArgumentType]
492
+
441
493
  @builtins.property
442
494
  @jsii.member(jsii_name="bucketName")
443
495
  def bucket_name(self) -> typing.Optional[builtins.str]:
@@ -451,6 +503,207 @@ class CfnDirectoryBucket(
451
503
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
452
504
  jsii.set(self, "bucketName", value) # pyright: ignore[reportArgumentType]
453
505
 
506
+ @jsii.data_type(
507
+ jsii_type="aws-cdk-lib.aws_s3express.CfnDirectoryBucket.BucketEncryptionProperty",
508
+ jsii_struct_bases=[],
509
+ name_mapping={
510
+ "server_side_encryption_configuration": "serverSideEncryptionConfiguration",
511
+ },
512
+ )
513
+ class BucketEncryptionProperty:
514
+ def __init__(
515
+ self,
516
+ *,
517
+ server_side_encryption_configuration: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDirectoryBucket.ServerSideEncryptionRuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
518
+ ) -> None:
519
+ '''Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
520
+
521
+ :param server_side_encryption_configuration: Specifies the default server-side-encryption configuration.
522
+
523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-bucketencryption.html
524
+ :exampleMetadata: fixture=_generated
525
+
526
+ Example::
527
+
528
+ # The code below shows an example of how to instantiate this type.
529
+ # The values are placeholders you should change.
530
+ from aws_cdk import aws_s3express as s3express
531
+
532
+ bucket_encryption_property = s3express.CfnDirectoryBucket.BucketEncryptionProperty(
533
+ server_side_encryption_configuration=[s3express.CfnDirectoryBucket.ServerSideEncryptionRuleProperty(
534
+ bucket_key_enabled=False,
535
+ server_side_encryption_by_default=s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty(
536
+ sse_algorithm="sseAlgorithm"
537
+ )
538
+ )]
539
+ )
540
+ '''
541
+ if __debug__:
542
+ type_hints = typing.get_type_hints(_typecheckingstub__2bda13f500a0910d95ef795cf250698cc9bc399a6809500b0318dd2399fa0dfc)
543
+ check_type(argname="argument server_side_encryption_configuration", value=server_side_encryption_configuration, expected_type=type_hints["server_side_encryption_configuration"])
544
+ self._values: typing.Dict[builtins.str, typing.Any] = {
545
+ "server_side_encryption_configuration": server_side_encryption_configuration,
546
+ }
547
+
548
+ @builtins.property
549
+ def server_side_encryption_configuration(
550
+ self,
551
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.ServerSideEncryptionRuleProperty"]]]:
552
+ '''Specifies the default server-side-encryption configuration.
553
+
554
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-bucketencryption.html#cfn-s3express-directorybucket-bucketencryption-serversideencryptionconfiguration
555
+ '''
556
+ result = self._values.get("server_side_encryption_configuration")
557
+ assert result is not None, "Required property 'server_side_encryption_configuration' is missing"
558
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.ServerSideEncryptionRuleProperty"]]], result)
559
+
560
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
561
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
562
+
563
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
564
+ return not (rhs == self)
565
+
566
+ def __repr__(self) -> str:
567
+ return "BucketEncryptionProperty(%s)" % ", ".join(
568
+ k + "=" + repr(v) for k, v in self._values.items()
569
+ )
570
+
571
+ @jsii.data_type(
572
+ jsii_type="aws-cdk-lib.aws_s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty",
573
+ jsii_struct_bases=[],
574
+ name_mapping={"sse_algorithm": "sseAlgorithm"},
575
+ )
576
+ class ServerSideEncryptionByDefaultProperty:
577
+ def __init__(self, *, sse_algorithm: builtins.str) -> None:
578
+ '''Specifies the default server-side encryption to apply to new objects in the bucket.
579
+
580
+ If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
581
+
582
+ :param sse_algorithm:
583
+
584
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-serversideencryptionbydefault.html
585
+ :exampleMetadata: fixture=_generated
586
+
587
+ Example::
588
+
589
+ # The code below shows an example of how to instantiate this type.
590
+ # The values are placeholders you should change.
591
+ from aws_cdk import aws_s3express as s3express
592
+
593
+ server_side_encryption_by_default_property = s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty(
594
+ sse_algorithm="sseAlgorithm"
595
+ )
596
+ '''
597
+ if __debug__:
598
+ type_hints = typing.get_type_hints(_typecheckingstub__5104b7dd2a8f7d075aebe34991fe63f5722d4515b7d5df7eadca88aa065daee9)
599
+ check_type(argname="argument sse_algorithm", value=sse_algorithm, expected_type=type_hints["sse_algorithm"])
600
+ self._values: typing.Dict[builtins.str, typing.Any] = {
601
+ "sse_algorithm": sse_algorithm,
602
+ }
603
+
604
+ @builtins.property
605
+ def sse_algorithm(self) -> builtins.str:
606
+ '''
607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-serversideencryptionbydefault.html#cfn-s3express-directorybucket-serversideencryptionbydefault-ssealgorithm
608
+ '''
609
+ result = self._values.get("sse_algorithm")
610
+ assert result is not None, "Required property 'sse_algorithm' is missing"
611
+ return typing.cast(builtins.str, result)
612
+
613
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
614
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
615
+
616
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
617
+ return not (rhs == self)
618
+
619
+ def __repr__(self) -> str:
620
+ return "ServerSideEncryptionByDefaultProperty(%s)" % ", ".join(
621
+ k + "=" + repr(v) for k, v in self._values.items()
622
+ )
623
+
624
+ @jsii.data_type(
625
+ jsii_type="aws-cdk-lib.aws_s3express.CfnDirectoryBucket.ServerSideEncryptionRuleProperty",
626
+ jsii_struct_bases=[],
627
+ name_mapping={
628
+ "bucket_key_enabled": "bucketKeyEnabled",
629
+ "server_side_encryption_by_default": "serverSideEncryptionByDefault",
630
+ },
631
+ )
632
+ class ServerSideEncryptionRuleProperty:
633
+ def __init__(
634
+ self,
635
+ *,
636
+ bucket_key_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
637
+ server_side_encryption_by_default: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
638
+ ) -> None:
639
+ '''Specifies the default server-side encryption configuration.
640
+
641
+ :param bucket_key_enabled: Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.
642
+ :param server_side_encryption_by_default: Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
643
+
644
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-serversideencryptionrule.html
645
+ :exampleMetadata: fixture=_generated
646
+
647
+ Example::
648
+
649
+ # The code below shows an example of how to instantiate this type.
650
+ # The values are placeholders you should change.
651
+ from aws_cdk import aws_s3express as s3express
652
+
653
+ server_side_encryption_rule_property = s3express.CfnDirectoryBucket.ServerSideEncryptionRuleProperty(
654
+ bucket_key_enabled=False,
655
+ server_side_encryption_by_default=s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty(
656
+ sse_algorithm="sseAlgorithm"
657
+ )
658
+ )
659
+ '''
660
+ if __debug__:
661
+ type_hints = typing.get_type_hints(_typecheckingstub__cb4bc307ba12040c7d9910685d8ea50fd2f9f3f34fdecd3ca61c34ccd69e3dbf)
662
+ check_type(argname="argument bucket_key_enabled", value=bucket_key_enabled, expected_type=type_hints["bucket_key_enabled"])
663
+ check_type(argname="argument server_side_encryption_by_default", value=server_side_encryption_by_default, expected_type=type_hints["server_side_encryption_by_default"])
664
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
665
+ if bucket_key_enabled is not None:
666
+ self._values["bucket_key_enabled"] = bucket_key_enabled
667
+ if server_side_encryption_by_default is not None:
668
+ self._values["server_side_encryption_by_default"] = server_side_encryption_by_default
669
+
670
+ @builtins.property
671
+ def bucket_key_enabled(
672
+ self,
673
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
674
+ '''Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket.
675
+
676
+ Existing objects are not affected. Amazon S3 Express One Zone uses an S3 Bucket Key with SSE-KMS and S3 Bucket Key cannot be disabled. It's only allowed to set the BucketKeyEnabled element to true.
677
+
678
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-serversideencryptionrule.html#cfn-s3express-directorybucket-serversideencryptionrule-bucketkeyenabled
679
+ '''
680
+ result = self._values.get("bucket_key_enabled")
681
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
682
+
683
+ @builtins.property
684
+ def server_side_encryption_by_default(
685
+ self,
686
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty"]]:
687
+ '''Specifies the default server-side encryption to apply to new objects in the bucket.
688
+
689
+ If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
690
+
691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-directorybucket-serversideencryptionrule.html#cfn-s3express-directorybucket-serversideencryptionrule-serversideencryptionbydefault
692
+ '''
693
+ result = self._values.get("server_side_encryption_by_default")
694
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty"]], result)
695
+
696
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
697
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
698
+
699
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
700
+ return not (rhs == self)
701
+
702
+ def __repr__(self) -> str:
703
+ return "ServerSideEncryptionRuleProperty(%s)" % ", ".join(
704
+ k + "=" + repr(v) for k, v in self._values.items()
705
+ )
706
+
454
707
 
455
708
  @jsii.data_type(
456
709
  jsii_type="aws-cdk-lib.aws_s3express.CfnDirectoryBucketProps",
@@ -458,6 +711,7 @@ class CfnDirectoryBucket(
458
711
  name_mapping={
459
712
  "data_redundancy": "dataRedundancy",
460
713
  "location_name": "locationName",
714
+ "bucket_encryption": "bucketEncryption",
461
715
  "bucket_name": "bucketName",
462
716
  },
463
717
  )
@@ -467,13 +721,15 @@ class CfnDirectoryBucketProps:
467
721
  *,
468
722
  data_redundancy: builtins.str,
469
723
  location_name: builtins.str,
724
+ bucket_encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDirectoryBucket.BucketEncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
470
725
  bucket_name: typing.Optional[builtins.str] = None,
471
726
  ) -> None:
472
727
  '''Properties for defining a ``CfnDirectoryBucket``.
473
728
 
474
729
  :param data_redundancy: The number of Availability Zone that's used for redundancy for the bucket.
475
730
  :param location_name: The name of the location where the bucket will be created. For directory buckets, the name of the location is the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is ``usw2-az1`` .
476
- :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, ``*DOC-EXAMPLE-BUCKET* -- *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.
731
+ :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* .
732
+ :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.
477
733
 
478
734
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html
479
735
  :exampleMetadata: fixture=_generated
@@ -489,6 +745,14 @@ class CfnDirectoryBucketProps:
489
745
  location_name="locationName",
490
746
 
491
747
  # the properties below are optional
748
+ bucket_encryption=s3express.CfnDirectoryBucket.BucketEncryptionProperty(
749
+ server_side_encryption_configuration=[s3express.CfnDirectoryBucket.ServerSideEncryptionRuleProperty(
750
+ bucket_key_enabled=False,
751
+ server_side_encryption_by_default=s3express.CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty(
752
+ sse_algorithm="sseAlgorithm"
753
+ )
754
+ )]
755
+ ),
492
756
  bucket_name="bucketName"
493
757
  )
494
758
  '''
@@ -496,11 +760,14 @@ class CfnDirectoryBucketProps:
496
760
  type_hints = typing.get_type_hints(_typecheckingstub__997b2abc28c849393aef2f13f43682b271277998e07114f1b224078949985e6e)
497
761
  check_type(argname="argument data_redundancy", value=data_redundancy, expected_type=type_hints["data_redundancy"])
498
762
  check_type(argname="argument location_name", value=location_name, expected_type=type_hints["location_name"])
763
+ check_type(argname="argument bucket_encryption", value=bucket_encryption, expected_type=type_hints["bucket_encryption"])
499
764
  check_type(argname="argument bucket_name", value=bucket_name, expected_type=type_hints["bucket_name"])
500
765
  self._values: typing.Dict[builtins.str, typing.Any] = {
501
766
  "data_redundancy": data_redundancy,
502
767
  "location_name": location_name,
503
768
  }
769
+ if bucket_encryption is not None:
770
+ self._values["bucket_encryption"] = bucket_encryption
504
771
  if bucket_name is not None:
505
772
  self._values["bucket_name"] = bucket_name
506
773
 
@@ -526,11 +793,24 @@ class CfnDirectoryBucketProps:
526
793
  assert result is not None, "Required property 'location_name' is missing"
527
794
  return typing.cast(builtins.str, result)
528
795
 
796
+ @builtins.property
797
+ def bucket_encryption(
798
+ self,
799
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDirectoryBucket.BucketEncryptionProperty]]:
800
+ '''Specifies default encryption for a bucket using server-side encryption with Amazon S3 managed keys (SSE-S3) or AWS KMS keys (SSE-KMS).
801
+
802
+ 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* .
803
+
804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-directorybucket.html#cfn-s3express-directorybucket-bucketencryption
805
+ '''
806
+ result = self._values.get("bucket_encryption")
807
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDirectoryBucket.BucketEncryptionProperty]], result)
808
+
529
809
  @builtins.property
530
810
  def bucket_name(self) -> typing.Optional[builtins.str]:
531
811
  '''A name for the bucket.
532
812
 
533
- 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, ``*DOC-EXAMPLE-BUCKET* -- *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* .
813
+ 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* .
534
814
  .. epigraph::
535
815
 
536
816
  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.
@@ -609,6 +889,7 @@ def _typecheckingstub__ea5a1e5897b0467fb93393ad6ea2dbcd3916f27713079e8bef3badf71
609
889
  *,
610
890
  data_redundancy: builtins.str,
611
891
  location_name: builtins.str,
892
+ bucket_encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDirectoryBucket.BucketEncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
612
893
  bucket_name: typing.Optional[builtins.str] = None,
613
894
  ) -> None:
614
895
  """Type checking stubs"""
@@ -638,16 +919,45 @@ def _typecheckingstub__352b4b43cbbf4d81310eac7a66fd236d34a92a5af6e8099d48e6ec1e7
638
919
  """Type checking stubs"""
639
920
  pass
640
921
 
922
+ def _typecheckingstub__ec12f12e4471077fcc9afe2e16208df6b915dc349584d6784410dc28aeaa9ac3(
923
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDirectoryBucket.BucketEncryptionProperty]],
924
+ ) -> None:
925
+ """Type checking stubs"""
926
+ pass
927
+
641
928
  def _typecheckingstub__678dc679eb1daf10bbced208f7ef85b8fe01f1ae8ea62c5354ac80b289edc1ed(
642
929
  value: typing.Optional[builtins.str],
643
930
  ) -> None:
644
931
  """Type checking stubs"""
645
932
  pass
646
933
 
934
+ def _typecheckingstub__2bda13f500a0910d95ef795cf250698cc9bc399a6809500b0318dd2399fa0dfc(
935
+ *,
936
+ server_side_encryption_configuration: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDirectoryBucket.ServerSideEncryptionRuleProperty, typing.Dict[builtins.str, typing.Any]]]]],
937
+ ) -> None:
938
+ """Type checking stubs"""
939
+ pass
940
+
941
+ def _typecheckingstub__5104b7dd2a8f7d075aebe34991fe63f5722d4515b7d5df7eadca88aa065daee9(
942
+ *,
943
+ sse_algorithm: builtins.str,
944
+ ) -> None:
945
+ """Type checking stubs"""
946
+ pass
947
+
948
+ def _typecheckingstub__cb4bc307ba12040c7d9910685d8ea50fd2f9f3f34fdecd3ca61c34ccd69e3dbf(
949
+ *,
950
+ bucket_key_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
951
+ server_side_encryption_by_default: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDirectoryBucket.ServerSideEncryptionByDefaultProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
952
+ ) -> None:
953
+ """Type checking stubs"""
954
+ pass
955
+
647
956
  def _typecheckingstub__997b2abc28c849393aef2f13f43682b271277998e07114f1b224078949985e6e(
648
957
  *,
649
958
  data_redundancy: builtins.str,
650
959
  location_name: builtins.str,
960
+ bucket_encryption: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDirectoryBucket.BucketEncryptionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
651
961
  bucket_name: typing.Optional[builtins.str] = None,
652
962
  ) -> None:
653
963
  """Type checking stubs"""
@@ -15436,7 +15436,8 @@ class CfnImageVersion(
15436
15436
  processor="processor",
15437
15437
  programming_lang="programmingLang",
15438
15438
  release_notes="releaseNotes",
15439
- vendor_guidance="vendorGuidance"
15439
+ vendor_guidance="vendorGuidance",
15440
+ version=123
15440
15441
  )
15441
15442
  '''
15442
15443
 
@@ -15456,6 +15457,7 @@ class CfnImageVersion(
15456
15457
  programming_lang: typing.Optional[builtins.str] = None,
15457
15458
  release_notes: typing.Optional[builtins.str] = None,
15458
15459
  vendor_guidance: typing.Optional[builtins.str] = None,
15460
+ version: typing.Optional[jsii.Number] = None,
15459
15461
  ) -> None:
15460
15462
  '''
15461
15463
  :param scope: Scope in which this resource is defined.
@@ -15471,6 +15473,7 @@ class CfnImageVersion(
15471
15473
  :param programming_lang: The supported programming language and its version.
15472
15474
  :param release_notes: The maintainer description of the image version.
15473
15475
  :param vendor_guidance: The availability of the image version specified by the maintainer.
15476
+ :param version: The version number.
15474
15477
  '''
15475
15478
  if __debug__:
15476
15479
  type_hints = typing.get_type_hints(_typecheckingstub__1ad8c361f2876657ea1cf0f0f9f7356de06575f95ad80d7a587da19094ecd39f)
@@ -15488,6 +15491,7 @@ class CfnImageVersion(
15488
15491
  programming_lang=programming_lang,
15489
15492
  release_notes=release_notes,
15490
15493
  vendor_guidance=vendor_guidance,
15494
+ version=version,
15491
15495
  )
15492
15496
 
15493
15497
  jsii.create(self.__class__, self, [scope, id, props])
@@ -15558,8 +15562,7 @@ class CfnImageVersion(
15558
15562
  @builtins.property
15559
15563
  @jsii.member(jsii_name="attrVersion")
15560
15564
  def attr_version(self) -> jsii.Number:
15561
- '''The version of the image.
15562
-
15565
+ '''
15563
15566
  :cloudformationAttribute: Version
15564
15567
  '''
15565
15568
  return typing.cast(jsii.Number, jsii.get(self, "attrVersion"))
@@ -15717,6 +15720,19 @@ class CfnImageVersion(
15717
15720
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
15718
15721
  jsii.set(self, "vendorGuidance", value) # pyright: ignore[reportArgumentType]
15719
15722
 
15723
+ @builtins.property
15724
+ @jsii.member(jsii_name="version")
15725
+ def version(self) -> typing.Optional[jsii.Number]:
15726
+ '''The version number.'''
15727
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "version"))
15728
+
15729
+ @version.setter
15730
+ def version(self, value: typing.Optional[jsii.Number]) -> None:
15731
+ if __debug__:
15732
+ type_hints = typing.get_type_hints(_typecheckingstub__dbae2e45ceac204e4cf39ca16d43059237d821690a48fcb3456dbcd9ef6f1aef)
15733
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
15734
+ jsii.set(self, "version", value) # pyright: ignore[reportArgumentType]
15735
+
15720
15736
 
15721
15737
  @jsii.data_type(
15722
15738
  jsii_type="aws-cdk-lib.aws_sagemaker.CfnImageVersionProps",
@@ -15733,6 +15749,7 @@ class CfnImageVersion(
15733
15749
  "programming_lang": "programmingLang",
15734
15750
  "release_notes": "releaseNotes",
15735
15751
  "vendor_guidance": "vendorGuidance",
15752
+ "version": "version",
15736
15753
  },
15737
15754
  )
15738
15755
  class CfnImageVersionProps:
@@ -15750,6 +15767,7 @@ class CfnImageVersionProps:
15750
15767
  programming_lang: typing.Optional[builtins.str] = None,
15751
15768
  release_notes: typing.Optional[builtins.str] = None,
15752
15769
  vendor_guidance: typing.Optional[builtins.str] = None,
15770
+ version: typing.Optional[jsii.Number] = None,
15753
15771
  ) -> None:
15754
15772
  '''Properties for defining a ``CfnImageVersion``.
15755
15773
 
@@ -15764,6 +15782,7 @@ class CfnImageVersionProps:
15764
15782
  :param programming_lang: The supported programming language and its version.
15765
15783
  :param release_notes: The maintainer description of the image version.
15766
15784
  :param vendor_guidance: The availability of the image version specified by the maintainer.
15785
+ :param version: The version number.
15767
15786
 
15768
15787
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html
15769
15788
  :exampleMetadata: fixture=_generated
@@ -15787,7 +15806,8 @@ class CfnImageVersionProps:
15787
15806
  processor="processor",
15788
15807
  programming_lang="programmingLang",
15789
15808
  release_notes="releaseNotes",
15790
- vendor_guidance="vendorGuidance"
15809
+ vendor_guidance="vendorGuidance",
15810
+ version=123
15791
15811
  )
15792
15812
  '''
15793
15813
  if __debug__:
@@ -15803,6 +15823,7 @@ class CfnImageVersionProps:
15803
15823
  check_type(argname="argument programming_lang", value=programming_lang, expected_type=type_hints["programming_lang"])
15804
15824
  check_type(argname="argument release_notes", value=release_notes, expected_type=type_hints["release_notes"])
15805
15825
  check_type(argname="argument vendor_guidance", value=vendor_guidance, expected_type=type_hints["vendor_guidance"])
15826
+ check_type(argname="argument version", value=version, expected_type=type_hints["version"])
15806
15827
  self._values: typing.Dict[builtins.str, typing.Any] = {
15807
15828
  "base_image": base_image,
15808
15829
  "image_name": image_name,
@@ -15825,6 +15846,8 @@ class CfnImageVersionProps:
15825
15846
  self._values["release_notes"] = release_notes
15826
15847
  if vendor_guidance is not None:
15827
15848
  self._values["vendor_guidance"] = vendor_guidance
15849
+ if version is not None:
15850
+ self._values["version"] = version
15828
15851
 
15829
15852
  @builtins.property
15830
15853
  def base_image(self) -> builtins.str:
@@ -15933,6 +15956,15 @@ class CfnImageVersionProps:
15933
15956
  result = self._values.get("vendor_guidance")
15934
15957
  return typing.cast(typing.Optional[builtins.str], result)
15935
15958
 
15959
+ @builtins.property
15960
+ def version(self) -> typing.Optional[jsii.Number]:
15961
+ '''The version number.
15962
+
15963
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-imageversion.html#cfn-sagemaker-imageversion-version
15964
+ '''
15965
+ result = self._values.get("version")
15966
+ return typing.cast(typing.Optional[jsii.Number], result)
15967
+
15936
15968
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
15937
15969
  return isinstance(rhs, self.__class__) and rhs._values == self._values
15938
15970
 
@@ -49816,6 +49848,7 @@ def _typecheckingstub__1ad8c361f2876657ea1cf0f0f9f7356de06575f95ad80d7a587da1909
49816
49848
  programming_lang: typing.Optional[builtins.str] = None,
49817
49849
  release_notes: typing.Optional[builtins.str] = None,
49818
49850
  vendor_guidance: typing.Optional[builtins.str] = None,
49851
+ version: typing.Optional[jsii.Number] = None,
49819
49852
  ) -> None:
49820
49853
  """Type checking stubs"""
49821
49854
  pass
@@ -49898,6 +49931,12 @@ def _typecheckingstub__5382fea0d28fb1b1a6c04307334e93f65dd93058c962443126e577604
49898
49931
  """Type checking stubs"""
49899
49932
  pass
49900
49933
 
49934
+ def _typecheckingstub__dbae2e45ceac204e4cf39ca16d43059237d821690a48fcb3456dbcd9ef6f1aef(
49935
+ value: typing.Optional[jsii.Number],
49936
+ ) -> None:
49937
+ """Type checking stubs"""
49938
+ pass
49939
+
49901
49940
  def _typecheckingstub__eb1cf2f49fa3a5bb0e6e9fdd2097a7a9401edb65fabfda045235c1b04b02fbf1(
49902
49941
  *,
49903
49942
  base_image: builtins.str,
@@ -49911,6 +49950,7 @@ def _typecheckingstub__eb1cf2f49fa3a5bb0e6e9fdd2097a7a9401edb65fabfda045235c1b04
49911
49950
  programming_lang: typing.Optional[builtins.str] = None,
49912
49951
  release_notes: typing.Optional[builtins.str] = None,
49913
49952
  vendor_guidance: typing.Optional[builtins.str] = None,
49953
+ version: typing.Optional[jsii.Number] = None,
49914
49954
  ) -> None:
49915
49955
  """Type checking stubs"""
49916
49956
  pass