aws-cdk-lib 2.166.0__py3-none-any.whl → 2.167.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 (38) hide show
  1. aws_cdk/__init__.py +1 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.166.0.jsii.tgz → aws-cdk-lib@2.167.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +9 -0
  5. aws_cdk/aws_appsync/__init__.py +209 -79
  6. aws_cdk/aws_bedrock/__init__.py +51 -45
  7. aws_cdk/aws_cleanrooms/__init__.py +66 -5
  8. aws_cdk/aws_cloudfront/__init__.py +21 -3
  9. aws_cdk/aws_cloudfront/experimental/__init__.py +3 -3
  10. aws_cdk/aws_codebuild/__init__.py +59 -29
  11. aws_cdk/aws_datasync/__init__.py +51 -0
  12. aws_cdk/aws_ec2/__init__.py +305 -9
  13. aws_cdk/aws_ecs/__init__.py +37 -34
  14. aws_cdk/aws_elasticache/__init__.py +5 -3
  15. aws_cdk/aws_elasticloadbalancingv2/__init__.py +73 -46
  16. aws_cdk/aws_gamelift/__init__.py +52 -40
  17. aws_cdk/aws_inspectorv2/__init__.py +6 -12
  18. aws_cdk/aws_kms/__init__.py +2 -0
  19. aws_cdk/aws_lambda/__init__.py +336 -19
  20. aws_cdk/aws_lambda_nodejs/__init__.py +3 -3
  21. aws_cdk/aws_logs/__init__.py +214 -0
  22. aws_cdk/aws_nimblestudio/__init__.py +6 -103
  23. aws_cdk/aws_quicksight/__init__.py +481 -10
  24. aws_cdk/aws_rds/__init__.py +602 -0
  25. aws_cdk/aws_s3_assets/__init__.py +37 -0
  26. aws_cdk/aws_s3_deployment/__init__.py +5 -0
  27. aws_cdk/aws_servicecatalog/__init__.py +52 -4
  28. aws_cdk/aws_ses/__init__.py +5 -3
  29. aws_cdk/aws_stepfunctions/__init__.py +8 -0
  30. aws_cdk/aws_synthetics/__init__.py +12 -1
  31. aws_cdk/aws_wisdom/__init__.py +344 -24
  32. aws_cdk/triggers/__init__.py +3 -3
  33. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/METADATA +1 -1
  34. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/RECORD +38 -38
  35. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/WHEEL +1 -1
  36. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/LICENSE +0 -0
  37. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/NOTICE +0 -0
  38. {aws_cdk_lib-2.166.0.dist-info → aws_cdk_lib-2.167.0.dist-info}/top_level.txt +0 -0
@@ -258,6 +258,7 @@ from .. import (
258
258
  SymlinkFollowMode as _SymlinkFollowMode_047ec1f6,
259
259
  )
260
260
  from ..aws_iam import IGrantable as _IGrantable_71c4f5de
261
+ from ..aws_kms import IKey as _IKey_5f11635f
261
262
  from ..aws_s3 import IBucket as _IBucket_42e086fd
262
263
 
263
264
 
@@ -294,6 +295,7 @@ class Asset(
294
295
  path: builtins.str,
295
296
  deploy_time: typing.Optional[builtins.bool] = None,
296
297
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
298
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
297
299
  asset_hash: typing.Optional[builtins.str] = None,
298
300
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
299
301
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -307,6 +309,7 @@ class Asset(
307
309
  :param path: The disk location of the asset. The path should refer to one of the following: - A regular file or a .zip file, in which case the file will be uploaded as-is to S3. - A directory, in which case it will be archived into a .zip file and uploaded to S3.
308
310
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
309
311
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
312
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
310
313
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
311
314
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
312
315
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -322,6 +325,7 @@ class Asset(
322
325
  path=path,
323
326
  deploy_time=deploy_time,
324
327
  readers=readers,
328
+ source_kms_key=source_kms_key,
325
329
  asset_hash=asset_hash,
326
330
  asset_hash_type=asset_hash_type,
327
331
  bundling=bundling,
@@ -459,6 +463,7 @@ class Asset(
459
463
  "ignore_mode": "ignoreMode",
460
464
  "deploy_time": "deployTime",
461
465
  "readers": "readers",
466
+ "source_kms_key": "sourceKMSKey",
462
467
  },
463
468
  )
464
469
  class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
@@ -473,6 +478,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
473
478
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
474
479
  deploy_time: typing.Optional[builtins.bool] = None,
475
480
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
481
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
476
482
  ) -> None:
477
483
  '''
478
484
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -483,6 +489,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
483
489
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
484
490
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
485
491
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
492
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
486
493
 
487
494
  :exampleMetadata: infused
488
495
 
@@ -512,6 +519,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
512
519
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
513
520
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
514
521
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
522
+ check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
515
523
  self._values: typing.Dict[builtins.str, typing.Any] = {}
516
524
  if asset_hash is not None:
517
525
  self._values["asset_hash"] = asset_hash
@@ -529,6 +537,8 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
529
537
  self._values["deploy_time"] = deploy_time
530
538
  if readers is not None:
531
539
  self._values["readers"] = readers
540
+ if source_kms_key is not None:
541
+ self._values["source_kms_key"] = source_kms_key
532
542
 
533
543
  @builtins.property
534
544
  def asset_hash(self) -> typing.Optional[builtins.str]:
@@ -642,6 +652,15 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
642
652
  result = self._values.get("readers")
643
653
  return typing.cast(typing.Optional[typing.List[_IGrantable_71c4f5de]], result)
644
654
 
655
+ @builtins.property
656
+ def source_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
657
+ '''The ARN of the KMS key used to encrypt the handler code.
658
+
659
+ :default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
660
+ '''
661
+ result = self._values.get("source_kms_key")
662
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
663
+
645
664
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
646
665
  return isinstance(rhs, self.__class__) and rhs._values == self._values
647
666
 
@@ -666,6 +685,7 @@ class AssetOptions(_AssetOptions_9cd3031e, _FileCopyOptions_e03e2a30):
666
685
  "ignore_mode": "ignoreMode",
667
686
  "deploy_time": "deployTime",
668
687
  "readers": "readers",
688
+ "source_kms_key": "sourceKMSKey",
669
689
  "path": "path",
670
690
  },
671
691
  )
@@ -681,6 +701,7 @@ class AssetProps(AssetOptions):
681
701
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
682
702
  deploy_time: typing.Optional[builtins.bool] = None,
683
703
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
704
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
684
705
  path: builtins.str,
685
706
  ) -> None:
686
707
  '''
@@ -692,6 +713,7 @@ class AssetProps(AssetOptions):
692
713
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
693
714
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
694
715
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
716
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
695
717
  :param path: The disk location of the asset. The path should refer to one of the following: - A regular file or a .zip file, in which case the file will be uploaded as-is to S3. - A directory, in which case it will be archived into a .zip file and uploaded to S3.
696
718
 
697
719
  :exampleMetadata: infused
@@ -722,6 +744,7 @@ class AssetProps(AssetOptions):
722
744
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
723
745
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
724
746
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
747
+ check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
725
748
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
726
749
  self._values: typing.Dict[builtins.str, typing.Any] = {
727
750
  "path": path,
@@ -742,6 +765,8 @@ class AssetProps(AssetOptions):
742
765
  self._values["deploy_time"] = deploy_time
743
766
  if readers is not None:
744
767
  self._values["readers"] = readers
768
+ if source_kms_key is not None:
769
+ self._values["source_kms_key"] = source_kms_key
745
770
 
746
771
  @builtins.property
747
772
  def asset_hash(self) -> typing.Optional[builtins.str]:
@@ -855,6 +880,15 @@ class AssetProps(AssetOptions):
855
880
  result = self._values.get("readers")
856
881
  return typing.cast(typing.Optional[typing.List[_IGrantable_71c4f5de]], result)
857
882
 
883
+ @builtins.property
884
+ def source_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
885
+ '''The ARN of the KMS key used to encrypt the handler code.
886
+
887
+ :default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
888
+ '''
889
+ result = self._values.get("source_kms_key")
890
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
891
+
858
892
  @builtins.property
859
893
  def path(self) -> builtins.str:
860
894
  '''The disk location of the asset.
@@ -895,6 +929,7 @@ def _typecheckingstub__00df81fd3b746cf2ee52c0e7a23b6fdc1b45db97673ca7e25a9651e7e
895
929
  path: builtins.str,
896
930
  deploy_time: typing.Optional[builtins.bool] = None,
897
931
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
932
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
898
933
  asset_hash: typing.Optional[builtins.str] = None,
899
934
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
900
935
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -928,6 +963,7 @@ def _typecheckingstub__11950fe0327642dd25ddfeb2c620bb33847718475fe489bf003d096a0
928
963
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
929
964
  deploy_time: typing.Optional[builtins.bool] = None,
930
965
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
966
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
931
967
  ) -> None:
932
968
  """Type checking stubs"""
933
969
  pass
@@ -942,6 +978,7 @@ def _typecheckingstub__f879318d3885bc2e9c71c124fac7ad5a955812e438be7c03244c3aad7
942
978
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
943
979
  deploy_time: typing.Optional[builtins.bool] = None,
944
980
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
981
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
945
982
  path: builtins.str,
946
983
  ) -> None:
947
984
  """Type checking stubs"""
@@ -579,6 +579,7 @@ from ..aws_ec2 import (
579
579
  IVpc as _IVpc_f30d5663, SubnetSelection as _SubnetSelection_e57d76df
580
580
  )
581
581
  from ..aws_iam import IGrantable as _IGrantable_71c4f5de, IRole as _IRole_235f5d8e
582
+ from ..aws_kms import IKey as _IKey_5f11635f
582
583
  from ..aws_logs import (
583
584
  ILogGroup as _ILogGroup_3c4fa718, RetentionDays as _RetentionDays_070f99f0
584
585
  )
@@ -1950,6 +1951,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1950
1951
  *,
1951
1952
  deploy_time: typing.Optional[builtins.bool] = None,
1952
1953
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
1954
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
1953
1955
  asset_hash: typing.Optional[builtins.str] = None,
1954
1956
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
1955
1957
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -1965,6 +1967,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1965
1967
  :param path: The path to a local .zip file or a directory.
1966
1968
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
1967
1969
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
1970
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
1968
1971
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
1969
1972
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
1970
1973
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -1978,6 +1981,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
1978
1981
  options = _AssetOptions_2aa69621(
1979
1982
  deploy_time=deploy_time,
1980
1983
  readers=readers,
1984
+ source_kms_key=source_kms_key,
1981
1985
  asset_hash=asset_hash,
1982
1986
  asset_hash_type=asset_hash_type,
1983
1987
  bundling=bundling,
@@ -2438,6 +2442,7 @@ def _typecheckingstub__fc877c69568cee7364ec77003356fc6818118602dda64adf3dbf38ff7
2438
2442
  *,
2439
2443
  deploy_time: typing.Optional[builtins.bool] = None,
2440
2444
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
2445
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
2441
2446
  asset_hash: typing.Optional[builtins.str] = None,
2442
2447
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
2443
2448
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -182,8 +182,8 @@ from aws_cdk.aws_s3 import Bucket
182
182
 
183
183
 
184
184
  class LambdaProduct(servicecatalog.ProductStack):
185
- def __init__(self, scope, id, *, assetBucket=None, serverSideEncryption=None, serverSideEncryptionAwsKmsKeyId=None, memoryLimit=None):
186
- super().__init__(scope, id, assetBucket=assetBucket, serverSideEncryption=serverSideEncryption, serverSideEncryptionAwsKmsKeyId=serverSideEncryptionAwsKmsKeyId, memoryLimit=memoryLimit)
185
+ def __init__(self, scope, id, *, assetBucket=None, serverSideEncryption=None, serverSideEncryptionAwsKmsKeyId=None, memoryLimit=None, description=None, analyticsReporting=None):
186
+ super().__init__(scope, id, assetBucket=assetBucket, serverSideEncryption=serverSideEncryption, serverSideEncryptionAwsKmsKeyId=serverSideEncryptionAwsKmsKeyId, memoryLimit=memoryLimit, description=description, analyticsReporting=analyticsReporting)
187
187
 
188
188
  lambda_.Function(self, "LambdaProduct",
189
189
  runtime=lambda_.Runtime.PYTHON_3_9,
@@ -629,6 +629,7 @@ from ..aws_iam import (
629
629
  IRole as _IRole_235f5d8e,
630
630
  IUser as _IUser_c32311f7,
631
631
  )
632
+ from ..aws_kms import IKey as _IKey_5f11635f
632
633
  from ..aws_s3 import IBucket as _IBucket_42e086fd
633
634
  from ..aws_s3_assets import AssetOptions as _AssetOptions_2aa69621
634
635
  from ..aws_s3_deployment import ServerSideEncryption as _ServerSideEncryption_50ddf705
@@ -7038,6 +7039,7 @@ class CloudFormationTemplate(
7038
7039
  *,
7039
7040
  deploy_time: typing.Optional[builtins.bool] = None,
7040
7041
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
7042
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
7041
7043
  asset_hash: typing.Optional[builtins.str] = None,
7042
7044
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
7043
7045
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -7050,6 +7052,7 @@ class CloudFormationTemplate(
7050
7052
  :param path: A file containing the provisioning artifacts.
7051
7053
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
7052
7054
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
7055
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
7053
7056
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
7054
7057
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
7055
7058
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -7063,6 +7066,7 @@ class CloudFormationTemplate(
7063
7066
  options = _AssetOptions_2aa69621(
7064
7067
  deploy_time=deploy_time,
7065
7068
  readers=readers,
7069
+ source_kms_key=source_kms_key,
7066
7070
  asset_hash=asset_hash,
7067
7071
  asset_hash_type=asset_hash_type,
7068
7072
  bundling=bundling,
@@ -8696,7 +8700,9 @@ class ProductStack(
8696
8700
  scope: _constructs_77d1e7e8.Construct,
8697
8701
  id: builtins.str,
8698
8702
  *,
8703
+ analytics_reporting: typing.Optional[builtins.bool] = None,
8699
8704
  asset_bucket: typing.Optional[_IBucket_42e086fd] = None,
8705
+ description: typing.Optional[builtins.str] = None,
8700
8706
  memory_limit: typing.Optional[jsii.Number] = None,
8701
8707
  server_side_encryption: typing.Optional[_ServerSideEncryption_50ddf705] = None,
8702
8708
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
@@ -8704,7 +8710,9 @@ class ProductStack(
8704
8710
  '''
8705
8711
  :param scope: -
8706
8712
  :param id: -
8713
+ :param analytics_reporting: Include runtime versioning information in this Stack. Default: - ``analyticsReporting`` setting of containing ``App``, or value of 'aws:cdk:version-reporting' context key
8707
8714
  :param asset_bucket: A Bucket can be passed to store assets, enabling ProductStack Asset support. Default: - No Bucket provided and Assets will not be supported.
8715
+ :param description: A description of the stack. Default: - No description.
8708
8716
  :param memory_limit: The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket. If you are deploying large files, you will need to increase this number accordingly. Default: 128
8709
8717
  :param server_side_encryption: A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket. Default: - No encryption is used
8710
8718
  :param server_side_encryption_aws_kms_key_id: For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets. Default: - No KMS KeyId and SSE_KMS encryption cannot be used
@@ -8714,7 +8722,9 @@ class ProductStack(
8714
8722
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8715
8723
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8716
8724
  props = ProductStackProps(
8725
+ analytics_reporting=analytics_reporting,
8717
8726
  asset_bucket=asset_bucket,
8727
+ description=description,
8718
8728
  memory_limit=memory_limit,
8719
8729
  server_side_encryption=server_side_encryption,
8720
8730
  server_side_encryption_aws_kms_key_id=server_side_encryption_aws_kms_key_id,
@@ -8963,7 +8973,9 @@ class ProductStackHistoryProps:
8963
8973
  jsii_type="aws-cdk-lib.aws_servicecatalog.ProductStackProps",
8964
8974
  jsii_struct_bases=[],
8965
8975
  name_mapping={
8976
+ "analytics_reporting": "analyticsReporting",
8966
8977
  "asset_bucket": "assetBucket",
8978
+ "description": "description",
8967
8979
  "memory_limit": "memoryLimit",
8968
8980
  "server_side_encryption": "serverSideEncryption",
8969
8981
  "server_side_encryption_aws_kms_key_id": "serverSideEncryptionAwsKmsKeyId",
@@ -8973,14 +8985,18 @@ class ProductStackProps:
8973
8985
  def __init__(
8974
8986
  self,
8975
8987
  *,
8988
+ analytics_reporting: typing.Optional[builtins.bool] = None,
8976
8989
  asset_bucket: typing.Optional[_IBucket_42e086fd] = None,
8990
+ description: typing.Optional[builtins.str] = None,
8977
8991
  memory_limit: typing.Optional[jsii.Number] = None,
8978
8992
  server_side_encryption: typing.Optional[_ServerSideEncryption_50ddf705] = None,
8979
8993
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
8980
8994
  ) -> None:
8981
8995
  '''Product stack props.
8982
8996
 
8997
+ :param analytics_reporting: Include runtime versioning information in this Stack. Default: - ``analyticsReporting`` setting of containing ``App``, or value of 'aws:cdk:version-reporting' context key
8983
8998
  :param asset_bucket: A Bucket can be passed to store assets, enabling ProductStack Asset support. Default: - No Bucket provided and Assets will not be supported.
8999
+ :param description: A description of the stack. Default: - No description.
8984
9000
  :param memory_limit: The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket. If you are deploying large files, you will need to increase this number accordingly. Default: 128
8985
9001
  :param server_side_encryption: A ServerSideEncryption can be enabled to encrypt assets that are put into assetBucket. Default: - No encryption is used
8986
9002
  :param server_side_encryption_aws_kms_key_id: For AWS_KMS ServerSideEncryption a KMS KeyId must be provided which will be used to encrypt assets. Default: - No KMS KeyId and SSE_KMS encryption cannot be used
@@ -8995,8 +9011,8 @@ class ProductStackProps:
8995
9011
 
8996
9012
 
8997
9013
  class LambdaProduct(servicecatalog.ProductStack):
8998
- def __init__(self, scope, id, *, assetBucket=None, serverSideEncryption=None, serverSideEncryptionAwsKmsKeyId=None, memoryLimit=None):
8999
- super().__init__(scope, id, assetBucket=assetBucket, serverSideEncryption=serverSideEncryption, serverSideEncryptionAwsKmsKeyId=serverSideEncryptionAwsKmsKeyId, memoryLimit=memoryLimit)
9014
+ def __init__(self, scope, id, *, assetBucket=None, serverSideEncryption=None, serverSideEncryptionAwsKmsKeyId=None, memoryLimit=None, description=None, analyticsReporting=None):
9015
+ super().__init__(scope, id, assetBucket=assetBucket, serverSideEncryption=serverSideEncryption, serverSideEncryptionAwsKmsKeyId=serverSideEncryptionAwsKmsKeyId, memoryLimit=memoryLimit, description=description, analyticsReporting=analyticsReporting)
9000
9016
 
9001
9017
  lambda_.Function(self, "LambdaProduct",
9002
9018
  runtime=lambda_.Runtime.PYTHON_3_9,
@@ -9022,13 +9038,19 @@ class ProductStackProps:
9022
9038
  '''
9023
9039
  if __debug__:
9024
9040
  type_hints = typing.get_type_hints(_typecheckingstub__ecbfd6177b5d6f8d80ee31c2897d6968897a0abd05a9f5a7d209806206868801)
9041
+ check_type(argname="argument analytics_reporting", value=analytics_reporting, expected_type=type_hints["analytics_reporting"])
9025
9042
  check_type(argname="argument asset_bucket", value=asset_bucket, expected_type=type_hints["asset_bucket"])
9043
+ check_type(argname="argument description", value=description, expected_type=type_hints["description"])
9026
9044
  check_type(argname="argument memory_limit", value=memory_limit, expected_type=type_hints["memory_limit"])
9027
9045
  check_type(argname="argument server_side_encryption", value=server_side_encryption, expected_type=type_hints["server_side_encryption"])
9028
9046
  check_type(argname="argument server_side_encryption_aws_kms_key_id", value=server_side_encryption_aws_kms_key_id, expected_type=type_hints["server_side_encryption_aws_kms_key_id"])
9029
9047
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9048
+ if analytics_reporting is not None:
9049
+ self._values["analytics_reporting"] = analytics_reporting
9030
9050
  if asset_bucket is not None:
9031
9051
  self._values["asset_bucket"] = asset_bucket
9052
+ if description is not None:
9053
+ self._values["description"] = description
9032
9054
  if memory_limit is not None:
9033
9055
  self._values["memory_limit"] = memory_limit
9034
9056
  if server_side_encryption is not None:
@@ -9036,6 +9058,18 @@ class ProductStackProps:
9036
9058
  if server_side_encryption_aws_kms_key_id is not None:
9037
9059
  self._values["server_side_encryption_aws_kms_key_id"] = server_side_encryption_aws_kms_key_id
9038
9060
 
9061
+ @builtins.property
9062
+ def analytics_reporting(self) -> typing.Optional[builtins.bool]:
9063
+ '''Include runtime versioning information in this Stack.
9064
+
9065
+ :default:
9066
+
9067
+ - ``analyticsReporting`` setting of containing ``App``, or value of
9068
+ 'aws:cdk:version-reporting' context key
9069
+ '''
9070
+ result = self._values.get("analytics_reporting")
9071
+ return typing.cast(typing.Optional[builtins.bool], result)
9072
+
9039
9073
  @builtins.property
9040
9074
  def asset_bucket(self) -> typing.Optional[_IBucket_42e086fd]:
9041
9075
  '''A Bucket can be passed to store assets, enabling ProductStack Asset support.
@@ -9045,6 +9079,15 @@ class ProductStackProps:
9045
9079
  result = self._values.get("asset_bucket")
9046
9080
  return typing.cast(typing.Optional[_IBucket_42e086fd], result)
9047
9081
 
9082
+ @builtins.property
9083
+ def description(self) -> typing.Optional[builtins.str]:
9084
+ '''A description of the stack.
9085
+
9086
+ :default: - No description.
9087
+ '''
9088
+ result = self._values.get("description")
9089
+ return typing.cast(typing.Optional[builtins.str], result)
9090
+
9048
9091
  @builtins.property
9049
9092
  def memory_limit(self) -> typing.Optional[jsii.Number]:
9050
9093
  '''The amount of memory (in MiB) to allocate to the AWS Lambda function which replicates the files from the CDK bucket to the destination bucket.
@@ -11086,6 +11129,7 @@ def _typecheckingstub__8e0d542f4ba87cd0da3d994035ba4c030fc0e065bd6d2e49190b0063a
11086
11129
  *,
11087
11130
  deploy_time: typing.Optional[builtins.bool] = None,
11088
11131
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
11132
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
11089
11133
  asset_hash: typing.Optional[builtins.str] = None,
11090
11134
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
11091
11135
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -11438,7 +11482,9 @@ def _typecheckingstub__cf14756a9e6c7e2a58f04e1077a464a1b706954bb40fbda6658fac963
11438
11482
  scope: _constructs_77d1e7e8.Construct,
11439
11483
  id: builtins.str,
11440
11484
  *,
11485
+ analytics_reporting: typing.Optional[builtins.bool] = None,
11441
11486
  asset_bucket: typing.Optional[_IBucket_42e086fd] = None,
11487
+ description: typing.Optional[builtins.str] = None,
11442
11488
  memory_limit: typing.Optional[jsii.Number] = None,
11443
11489
  server_side_encryption: typing.Optional[_ServerSideEncryption_50ddf705] = None,
11444
11490
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
@@ -11480,7 +11526,9 @@ def _typecheckingstub__14ff2199f395b44b32757ccbaa6927f0bf434a9370c673216c8f69e57
11480
11526
 
11481
11527
  def _typecheckingstub__ecbfd6177b5d6f8d80ee31c2897d6968897a0abd05a9f5a7d209806206868801(
11482
11528
  *,
11529
+ analytics_reporting: typing.Optional[builtins.bool] = None,
11483
11530
  asset_bucket: typing.Optional[_IBucket_42e086fd] = None,
11531
+ description: typing.Optional[builtins.str] = None,
11484
11532
  memory_limit: typing.Optional[jsii.Number] = None,
11485
11533
  server_side_encryption: typing.Optional[_ServerSideEncryption_50ddf705] = None,
11486
11534
  server_side_encryption_aws_kms_key_id: typing.Optional[builtins.str] = None,
@@ -1016,7 +1016,7 @@ class CfnConfigurationSet(
1016
1016
  ) -> None:
1017
1017
  '''Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS).
1018
1018
 
1019
- :param max_delivery_seconds: Specifies the maximum time until which SES will retry sending emails.
1019
+ :param max_delivery_seconds: The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).
1020
1020
  :param sending_pool_name: The name of the dedicated IP pool to associate with the configuration set.
1021
1021
  :param tls_policy: Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is ``REQUIRE`` , messages are only delivered if a TLS connection can be established. If the value is ``OPTIONAL`` , messages can be delivered in plain text if a TLS connection can't be established. Valid Values: ``REQUIRE | OPTIONAL``
1022
1022
 
@@ -1050,7 +1050,9 @@ class CfnConfigurationSet(
1050
1050
 
1051
1051
  @builtins.property
1052
1052
  def max_delivery_seconds(self) -> typing.Optional[jsii.Number]:
1053
- '''Specifies the maximum time until which SES will retry sending emails.
1053
+ '''The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email.
1054
+
1055
+ If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes).
1054
1056
 
1055
1057
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-maxdeliveryseconds
1056
1058
  '''
@@ -11737,7 +11739,7 @@ class CfnTemplate(
11737
11739
  ) -> None:
11738
11740
  '''An object that defines the email template to use for an email message, and the values to use for any message variables in that template.
11739
11741
 
11740
- An *email template* is a type of message template that contains content that you want to define, save, and reuse in email messages that you send.
11742
+ An *email template* is a type of message template that contains content that you want to reuse in email messages that you send. You can specifiy the email template by providing the name or ARN of an *email template* previously saved in your Amazon SES account or by providing the full template content.
11741
11743
 
11742
11744
  :param subject_part: The subject line of the email.
11743
11745
  :param html_part: The HTML body of the email.
@@ -5348,6 +5348,7 @@ class DefinitionBody(
5348
5348
  *,
5349
5349
  deploy_time: typing.Optional[builtins.bool] = None,
5350
5350
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
5351
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
5351
5352
  asset_hash: typing.Optional[builtins.str] = None,
5352
5353
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
5353
5354
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5359,6 +5360,7 @@ class DefinitionBody(
5359
5360
  :param path: -
5360
5361
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
5361
5362
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
5363
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
5362
5364
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
5363
5365
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
5364
5366
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -5372,6 +5374,7 @@ class DefinitionBody(
5372
5374
  options = _AssetOptions_2aa69621(
5373
5375
  deploy_time=deploy_time,
5374
5376
  readers=readers,
5377
+ source_kms_key=source_kms_key,
5375
5378
  asset_hash=asset_hash,
5376
5379
  asset_hash_type=asset_hash_type,
5377
5380
  bundling=bundling,
@@ -5920,6 +5923,7 @@ class FileDefinitionBody(
5920
5923
  *,
5921
5924
  deploy_time: typing.Optional[builtins.bool] = None,
5922
5925
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
5926
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
5923
5927
  asset_hash: typing.Optional[builtins.str] = None,
5924
5928
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
5925
5929
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -5931,6 +5935,7 @@ class FileDefinitionBody(
5931
5935
  :param path: -
5932
5936
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
5933
5937
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
5938
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
5934
5939
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
5935
5940
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
5936
5941
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -5944,6 +5949,7 @@ class FileDefinitionBody(
5944
5949
  options = _AssetOptions_2aa69621(
5945
5950
  deploy_time=deploy_time,
5946
5951
  readers=readers,
5952
+ source_kms_key=source_kms_key,
5947
5953
  asset_hash=asset_hash,
5948
5954
  asset_hash_type=asset_hash_type,
5949
5955
  bundling=bundling,
@@ -17493,6 +17499,7 @@ def _typecheckingstub__2e34fabd0367a0519a35d86d419baa37e6fe26ad05457e96b236a55bb
17493
17499
  *,
17494
17500
  deploy_time: typing.Optional[builtins.bool] = None,
17495
17501
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
17502
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
17496
17503
  asset_hash: typing.Optional[builtins.str] = None,
17497
17504
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
17498
17505
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -17574,6 +17581,7 @@ def _typecheckingstub__526ef9213812e76ec99bd530d4fbea7cc137d220b92525fe763d6d315
17574
17581
  *,
17575
17582
  deploy_time: typing.Optional[builtins.bool] = None,
17576
17583
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
17584
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
17577
17585
  asset_hash: typing.Optional[builtins.str] = None,
17578
17586
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
17579
17587
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3192,6 +3192,7 @@ class Code(
3192
3192
  *,
3193
3193
  deploy_time: typing.Optional[builtins.bool] = None,
3194
3194
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
3195
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
3195
3196
  asset_hash: typing.Optional[builtins.str] = None,
3196
3197
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
3197
3198
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -3206,6 +3207,7 @@ class Code(
3206
3207
  :param asset_path: Either a directory or a .zip file.
3207
3208
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
3208
3209
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
3210
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
3209
3211
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
3210
3212
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
3211
3213
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -3223,6 +3225,7 @@ class Code(
3223
3225
  options = _AssetOptions_2aa69621(
3224
3226
  deploy_time=deploy_time,
3225
3227
  readers=readers,
3228
+ source_kms_key=source_kms_key,
3226
3229
  asset_hash=asset_hash,
3227
3230
  asset_hash_type=asset_hash_type,
3228
3231
  bundling=bundling,
@@ -4271,10 +4274,12 @@ class AssetCode(
4271
4274
  # The values are placeholders you should change.
4272
4275
  import aws_cdk as cdk
4273
4276
  from aws_cdk import aws_iam as iam
4277
+ from aws_cdk import aws_kms as kms
4274
4278
  from aws_cdk import aws_synthetics as synthetics
4275
4279
 
4276
4280
  # docker_image: cdk.DockerImage
4277
4281
  # grantable: iam.IGrantable
4282
+ # key: kms.Key
4278
4283
  # local_bundling: cdk.ILocalBundling
4279
4284
 
4280
4285
  asset_code = synthetics.AssetCode("assetPath",
@@ -4310,7 +4315,8 @@ class AssetCode(
4310
4315
  exclude=["exclude"],
4311
4316
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
4312
4317
  ignore_mode=cdk.IgnoreMode.GLOB,
4313
- readers=[grantable]
4318
+ readers=[grantable],
4319
+ source_kMSKey=key
4314
4320
  )
4315
4321
  '''
4316
4322
 
@@ -4320,6 +4326,7 @@ class AssetCode(
4320
4326
  *,
4321
4327
  deploy_time: typing.Optional[builtins.bool] = None,
4322
4328
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
4329
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
4323
4330
  asset_hash: typing.Optional[builtins.str] = None,
4324
4331
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
4325
4332
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4331,6 +4338,7 @@ class AssetCode(
4331
4338
  :param asset_path: The path to the asset file or directory.
4332
4339
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
4333
4340
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
4341
+ :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
4334
4342
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
4335
4343
  :param asset_hash_type: Specifies the type of hash to calculate for this asset. If ``assetHash`` is configured, this option must be ``undefined`` or ``AssetHashType.CUSTOM``. Default: - the default is ``AssetHashType.SOURCE``, but if ``assetHash`` is explicitly specified this value defaults to ``AssetHashType.CUSTOM``.
4336
4344
  :param bundling: Bundle the asset by executing a command in a Docker container or a custom bundling provider. The asset path will be mounted at ``/asset-input``. The Docker container is responsible for putting content at ``/asset-output``. The content at ``/asset-output`` will be zipped and used as the final asset. Default: - uploaded as-is to S3 if the asset is a regular file or a .zip file, archived into a .zip file and uploaded to S3 otherwise
@@ -4344,6 +4352,7 @@ class AssetCode(
4344
4352
  options = _AssetOptions_2aa69621(
4345
4353
  deploy_time=deploy_time,
4346
4354
  readers=readers,
4355
+ source_kms_key=source_kms_key,
4347
4356
  asset_hash=asset_hash,
4348
4357
  asset_hash_type=asset_hash_type,
4349
4358
  bundling=bundling,
@@ -4743,6 +4752,7 @@ def _typecheckingstub__02201c2190b076bbceced8708b435fab8189f7f505650002941cc7a50
4743
4752
  *,
4744
4753
  deploy_time: typing.Optional[builtins.bool] = None,
4745
4754
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
4755
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
4746
4756
  asset_hash: typing.Optional[builtins.str] = None,
4747
4757
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
4748
4758
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -4856,6 +4866,7 @@ def _typecheckingstub__60a29a536d66536254f2ca409a65dc32f30e483b29091222d42f32106
4856
4866
  *,
4857
4867
  deploy_time: typing.Optional[builtins.bool] = None,
4858
4868
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
4869
+ source_kms_key: typing.Optional[_IKey_5f11635f] = None,
4859
4870
  asset_hash: typing.Optional[builtins.str] = None,
4860
4871
  asset_hash_type: typing.Optional[_AssetHashType_05b67f2d] = None,
4861
4872
  bundling: typing.Optional[typing.Union[_BundlingOptions_588cc936, typing.Dict[builtins.str, typing.Any]]] = None,