aws-cdk-lib 2.186.0__py3-none-any.whl → 2.187.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 (62) hide show
  1. aws_cdk/__init__.py +281 -116
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.187.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +124 -0
  5. aws_cdk/aws_apigateway/__init__.py +48 -2
  6. aws_cdk/aws_appsync/__init__.py +14 -5
  7. aws_cdk/aws_bedrock/__init__.py +32 -22
  8. aws_cdk/aws_cassandra/__init__.py +2 -2
  9. aws_cdk/aws_cloudfront/__init__.py +11 -0
  10. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  11. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  12. aws_cdk/aws_codebuild/__init__.py +9 -0
  13. aws_cdk/aws_config/__init__.py +2 -5
  14. aws_cdk/aws_datazone/__init__.py +287 -226
  15. aws_cdk/aws_detective/__init__.py +3 -3
  16. aws_cdk/aws_dynamodb/__init__.py +37 -0
  17. aws_cdk/aws_ec2/__init__.py +154 -12
  18. aws_cdk/aws_ecr/__init__.py +143 -0
  19. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  20. aws_cdk/aws_ecs/__init__.py +51 -0
  21. aws_cdk/aws_eks/__init__.py +114 -0
  22. aws_cdk/aws_events/__init__.py +8 -11
  23. aws_cdk/aws_forecast/__init__.py +1 -1
  24. aws_cdk/aws_fsx/__init__.py +2 -2
  25. aws_cdk/aws_gamelift/__init__.py +6 -6
  26. aws_cdk/aws_identitystore/__init__.py +16 -16
  27. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  28. aws_cdk/aws_kms/__init__.py +10 -11
  29. aws_cdk/aws_lakeformation/__init__.py +3 -3
  30. aws_cdk/aws_lambda/__init__.py +105 -4
  31. aws_cdk/aws_lambda_event_sources/__init__.py +65 -3
  32. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  33. aws_cdk/aws_lex/__init__.py +981 -5
  34. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  35. aws_cdk/aws_mwaa/__init__.py +9 -9
  36. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  37. aws_cdk/aws_omics/__init__.py +216 -0
  38. aws_cdk/aws_quicksight/__init__.py +244 -39
  39. aws_cdk/aws_rds/__init__.py +102 -10
  40. aws_cdk/aws_route53/__init__.py +2 -2
  41. aws_cdk/aws_route53recoverycontrol/__init__.py +43 -2
  42. aws_cdk/aws_s3_assets/__init__.py +70 -1
  43. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  44. aws_cdk/aws_sagemaker/__init__.py +6 -4
  45. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  46. aws_cdk/aws_securitylake/__init__.py +2 -2
  47. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  48. aws_cdk/aws_sns/__init__.py +1 -1
  49. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  51. aws_cdk/aws_synthetics/__init__.py +9 -0
  52. aws_cdk/aws_systemsmanagersap/__init__.py +150 -0
  53. aws_cdk/aws_wafv2/__init__.py +464 -1138
  54. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  55. aws_cdk/cx_api/__init__.py +15 -0
  56. aws_cdk/pipelines/__init__.py +20 -2
  57. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/METADATA +4 -4
  58. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/RECORD +62 -62
  59. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/WHEEL +1 -1
  60. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/LICENSE +0 -0
  61. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/NOTICE +0 -0
  62. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.187.0.dist-info}/top_level.txt +0 -0
@@ -1244,6 +1244,19 @@ ec2.VpcEndpointService(self, "EndpointService",
1244
1244
  )
1245
1245
  ```
1246
1246
 
1247
+ You can restrict access to your endpoint service to specific AWS regions:
1248
+
1249
+ ```python
1250
+ # network_load_balancer: elbv2.NetworkLoadBalancer
1251
+
1252
+
1253
+ ec2.VpcEndpointService(self, "EndpointService",
1254
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
1255
+ # Allow service consumers from these regions only
1256
+ allowed_regions=["us-east-1", "eu-west-1"]
1257
+ )
1258
+ ```
1259
+
1247
1260
  Endpoint services support private DNS, which makes it easier for clients to connect to your service by automatically setting up DNS in their VPC.
1248
1261
  You can enable private DNS on an endpoint service like so:
1249
1262
 
@@ -2556,6 +2569,25 @@ launch_template = ec2.LaunchTemplate(self, "LaunchTemplate",
2556
2569
  )
2557
2570
  ```
2558
2571
 
2572
+ ### Placement Group
2573
+
2574
+ Specify `placementGroup` to enable the placement group support:
2575
+
2576
+ ```python
2577
+ # instance_type: ec2.InstanceType
2578
+
2579
+
2580
+ pg = ec2.PlacementGroup(self, "test-pg",
2581
+ strategy=ec2.PlacementGroupStrategy.SPREAD
2582
+ )
2583
+
2584
+ ec2.LaunchTemplate(self, "LaunchTemplate",
2585
+ instance_type=instance_type,
2586
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
2587
+ placement_group=pg
2588
+ )
2589
+ ```
2590
+
2559
2591
  Please note this feature does not support Launch Configurations.
2560
2592
 
2561
2593
  ## Detailed Monitoring
@@ -75648,6 +75680,7 @@ class InitFile(
75648
75680
  owner: typing.Optional[builtins.str] = None,
75649
75681
  service_restart_handles: typing.Optional[typing.Sequence["InitServiceRestartHandle"]] = None,
75650
75682
  deploy_time: typing.Optional[builtins.bool] = None,
75683
+ display_name: typing.Optional[builtins.str] = None,
75651
75684
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
75652
75685
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
75653
75686
  asset_hash: typing.Optional[builtins.str] = None,
@@ -75669,6 +75702,7 @@ class InitFile(
75669
75702
  :param owner: The name of the owning user for this file. Not supported for Windows systems. Default: 'root'
75670
75703
  :param service_restart_handles: Restart the given service after this file has been written. Default: - Do not restart any service
75671
75704
  :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
75705
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
75672
75706
  :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.
75673
75707
  :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.
75674
75708
  :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``
@@ -75689,6 +75723,7 @@ class InitFile(
75689
75723
  owner=owner,
75690
75724
  service_restart_handles=service_restart_handles,
75691
75725
  deploy_time=deploy_time,
75726
+ display_name=display_name,
75692
75727
  readers=readers,
75693
75728
  source_kms_key=source_kms_key,
75694
75729
  asset_hash=asset_hash,
@@ -76812,6 +76847,7 @@ class InitSource(
76812
76847
  *,
76813
76848
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
76814
76849
  deploy_time: typing.Optional[builtins.bool] = None,
76850
+ display_name: typing.Optional[builtins.str] = None,
76815
76851
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
76816
76852
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
76817
76853
  asset_hash: typing.Optional[builtins.str] = None,
@@ -76827,6 +76863,7 @@ class InitSource(
76827
76863
  :param path: -
76828
76864
  :param service_restart_handles: Restart the given services after this archive has been extracted. Default: - Do not restart any service
76829
76865
  :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
76866
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
76830
76867
  :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.
76831
76868
  :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.
76832
76869
  :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``
@@ -76843,6 +76880,7 @@ class InitSource(
76843
76880
  options = InitSourceAssetOptions(
76844
76881
  service_restart_handles=service_restart_handles,
76845
76882
  deploy_time=deploy_time,
76883
+ display_name=display_name,
76846
76884
  readers=readers,
76847
76885
  source_kms_key=source_kms_key,
76848
76886
  asset_hash=asset_hash,
@@ -82490,6 +82528,7 @@ class LaunchTemplate(
82490
82528
  launch_template_name: typing.Optional[builtins.str] = None,
82491
82529
  machine_image: typing.Optional[IMachineImage] = None,
82492
82530
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
82531
+ placement_group: typing.Optional[IPlacementGroup] = None,
82493
82532
  require_imdsv2: typing.Optional[builtins.bool] = None,
82494
82533
  role: typing.Optional[_IRole_235f5d8e] = None,
82495
82534
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -82520,6 +82559,7 @@ class LaunchTemplate(
82520
82559
  :param launch_template_name: Name for this launch template. Default: Automatically generated name
82521
82560
  :param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
82522
82561
  :param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
82562
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this launch template.
82523
82563
  :param require_imdsv2: Whether IMDSv2 should be required on launched instances. Default: - false
82524
82564
  :param role: An IAM role to associate with the instance profile that is used by instances. The role must be assumable by the service principal ``ec2.amazonaws.com``. Note: You can provide an instanceProfile or a role, but not both. Default: - No new role is created.
82525
82565
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
@@ -82552,6 +82592,7 @@ class LaunchTemplate(
82552
82592
  launch_template_name=launch_template_name,
82553
82593
  machine_image=machine_image,
82554
82594
  nitro_enclave_enabled=nitro_enclave_enabled,
82595
+ placement_group=placement_group,
82555
82596
  require_imdsv2=require_imdsv2,
82556
82597
  role=role,
82557
82598
  security_group=security_group,
@@ -82861,6 +82902,7 @@ class LaunchTemplateHttpTokens(enum.Enum):
82861
82902
  "launch_template_name": "launchTemplateName",
82862
82903
  "machine_image": "machineImage",
82863
82904
  "nitro_enclave_enabled": "nitroEnclaveEnabled",
82905
+ "placement_group": "placementGroup",
82864
82906
  "require_imdsv2": "requireImdsv2",
82865
82907
  "role": "role",
82866
82908
  "security_group": "securityGroup",
@@ -82893,6 +82935,7 @@ class LaunchTemplateProps:
82893
82935
  launch_template_name: typing.Optional[builtins.str] = None,
82894
82936
  machine_image: typing.Optional[IMachineImage] = None,
82895
82937
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
82938
+ placement_group: typing.Optional[IPlacementGroup] = None,
82896
82939
  require_imdsv2: typing.Optional[builtins.bool] = None,
82897
82940
  role: typing.Optional[_IRole_235f5d8e] = None,
82898
82941
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -82922,6 +82965,7 @@ class LaunchTemplateProps:
82922
82965
  :param launch_template_name: Name for this launch template. Default: Automatically generated name
82923
82966
  :param machine_image: The AMI that will be used by instances. Default: - This Launch Template does not specify a default AMI.
82924
82967
  :param nitro_enclave_enabled: If this parameter is set to true, the instance is enabled for AWS Nitro Enclaves; otherwise, it is not enabled for AWS Nitro Enclaves. Default: - Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
82968
+ :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this launch template.
82925
82969
  :param require_imdsv2: Whether IMDSv2 should be required on launched instances. Default: - false
82926
82970
  :param role: An IAM role to associate with the instance profile that is used by instances. The role must be assumable by the service principal ``ec2.amazonaws.com``. Note: You can provide an instanceProfile or a role, but not both. Default: - No new role is created.
82927
82971
  :param security_group: Security group to assign to instances created with the launch template. Default: No security group is assigned.
@@ -82974,6 +83018,7 @@ class LaunchTemplateProps:
82974
83018
  check_type(argname="argument launch_template_name", value=launch_template_name, expected_type=type_hints["launch_template_name"])
82975
83019
  check_type(argname="argument machine_image", value=machine_image, expected_type=type_hints["machine_image"])
82976
83020
  check_type(argname="argument nitro_enclave_enabled", value=nitro_enclave_enabled, expected_type=type_hints["nitro_enclave_enabled"])
83021
+ check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
82977
83022
  check_type(argname="argument require_imdsv2", value=require_imdsv2, expected_type=type_hints["require_imdsv2"])
82978
83023
  check_type(argname="argument role", value=role, expected_type=type_hints["role"])
82979
83024
  check_type(argname="argument security_group", value=security_group, expected_type=type_hints["security_group"])
@@ -83021,6 +83066,8 @@ class LaunchTemplateProps:
83021
83066
  self._values["machine_image"] = machine_image
83022
83067
  if nitro_enclave_enabled is not None:
83023
83068
  self._values["nitro_enclave_enabled"] = nitro_enclave_enabled
83069
+ if placement_group is not None:
83070
+ self._values["placement_group"] = placement_group
83024
83071
  if require_imdsv2 is not None:
83025
83072
  self._values["require_imdsv2"] = require_imdsv2
83026
83073
  if role is not None:
@@ -83260,6 +83307,15 @@ class LaunchTemplateProps:
83260
83307
  result = self._values.get("nitro_enclave_enabled")
83261
83308
  return typing.cast(typing.Optional[builtins.bool], result)
83262
83309
 
83310
+ @builtins.property
83311
+ def placement_group(self) -> typing.Optional[IPlacementGroup]:
83312
+ '''The placement group that you want to launch the instance into.
83313
+
83314
+ :default: - no placement group will be used for this launch template.
83315
+ '''
83316
+ result = self._values.get("placement_group")
83317
+ return typing.cast(typing.Optional[IPlacementGroup], result)
83318
+
83263
83319
  @builtins.property
83264
83320
  def require_imdsv2(self) -> typing.Optional[builtins.bool]:
83265
83321
  '''Whether IMDSv2 should be required on launched instances.
@@ -92702,15 +92758,14 @@ class VpcEndpointService(
92702
92758
 
92703
92759
  Example::
92704
92760
 
92705
- # network_load_balancer1: elbv2.NetworkLoadBalancer
92706
- # network_load_balancer2: elbv2.NetworkLoadBalancer
92761
+ # network_load_balancer: elbv2.NetworkLoadBalancer
92707
92762
 
92708
92763
 
92709
92764
  ec2.VpcEndpointService(self, "EndpointService",
92710
- vpc_endpoint_service_load_balancers=[network_load_balancer1, network_load_balancer2],
92711
- acceptance_required=True,
92712
- allowed_principals=[iam.ArnPrincipal("arn:aws:iam::123456789012:root")],
92713
- contributor_insights=True
92765
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
92766
+ # Support both IPv4 and IPv6 connections to the endpoint service
92767
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
92768
+ ]
92714
92769
  )
92715
92770
  '''
92716
92771
 
@@ -92722,6 +92777,7 @@ class VpcEndpointService(
92722
92777
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
92723
92778
  acceptance_required: typing.Optional[builtins.bool] = None,
92724
92779
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
92780
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
92725
92781
  contributor_insights: typing.Optional[builtins.bool] = None,
92726
92782
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92727
92783
  ) -> None:
@@ -92731,6 +92787,7 @@ class VpcEndpointService(
92731
92787
  :param vpc_endpoint_service_load_balancers: One or more load balancers to host the VPC Endpoint Service.
92732
92788
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92733
92789
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
92790
+ :param allowed_regions: The Regions from which service consumers can access the service. Default: - No Region restrictions
92734
92791
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92735
92792
  :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92736
92793
  '''
@@ -92742,6 +92799,7 @@ class VpcEndpointService(
92742
92799
  vpc_endpoint_service_load_balancers=vpc_endpoint_service_load_balancers,
92743
92800
  acceptance_required=acceptance_required,
92744
92801
  allowed_principals=allowed_principals,
92802
+ allowed_regions=allowed_regions,
92745
92803
  contributor_insights=contributor_insights,
92746
92804
  supported_ip_address_types=supported_ip_address_types,
92747
92805
  )
@@ -92809,6 +92867,7 @@ class VpcEndpointService(
92809
92867
  "vpc_endpoint_service_load_balancers": "vpcEndpointServiceLoadBalancers",
92810
92868
  "acceptance_required": "acceptanceRequired",
92811
92869
  "allowed_principals": "allowedPrincipals",
92870
+ "allowed_regions": "allowedRegions",
92812
92871
  "contributor_insights": "contributorInsights",
92813
92872
  "supported_ip_address_types": "supportedIpAddressTypes",
92814
92873
  },
@@ -92820,6 +92879,7 @@ class VpcEndpointServiceProps:
92820
92879
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
92821
92880
  acceptance_required: typing.Optional[builtins.bool] = None,
92822
92881
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
92882
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
92823
92883
  contributor_insights: typing.Optional[builtins.bool] = None,
92824
92884
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92825
92885
  ) -> None:
@@ -92828,6 +92888,7 @@ class VpcEndpointServiceProps:
92828
92888
  :param vpc_endpoint_service_load_balancers: One or more load balancers to host the VPC Endpoint Service.
92829
92889
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92830
92890
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
92891
+ :param allowed_regions: The Regions from which service consumers can access the service. Default: - No Region restrictions
92831
92892
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92832
92893
  :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92833
92894
 
@@ -92835,15 +92896,14 @@ class VpcEndpointServiceProps:
92835
92896
 
92836
92897
  Example::
92837
92898
 
92838
- # network_load_balancer1: elbv2.NetworkLoadBalancer
92839
- # network_load_balancer2: elbv2.NetworkLoadBalancer
92899
+ # network_load_balancer: elbv2.NetworkLoadBalancer
92840
92900
 
92841
92901
 
92842
92902
  ec2.VpcEndpointService(self, "EndpointService",
92843
- vpc_endpoint_service_load_balancers=[network_load_balancer1, network_load_balancer2],
92844
- acceptance_required=True,
92845
- allowed_principals=[iam.ArnPrincipal("arn:aws:iam::123456789012:root")],
92846
- contributor_insights=True
92903
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
92904
+ # Support both IPv4 and IPv6 connections to the endpoint service
92905
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
92906
+ ]
92847
92907
  )
92848
92908
  '''
92849
92909
  if __debug__:
@@ -92851,6 +92911,7 @@ class VpcEndpointServiceProps:
92851
92911
  check_type(argname="argument vpc_endpoint_service_load_balancers", value=vpc_endpoint_service_load_balancers, expected_type=type_hints["vpc_endpoint_service_load_balancers"])
92852
92912
  check_type(argname="argument acceptance_required", value=acceptance_required, expected_type=type_hints["acceptance_required"])
92853
92913
  check_type(argname="argument allowed_principals", value=allowed_principals, expected_type=type_hints["allowed_principals"])
92914
+ check_type(argname="argument allowed_regions", value=allowed_regions, expected_type=type_hints["allowed_regions"])
92854
92915
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
92855
92916
  check_type(argname="argument supported_ip_address_types", value=supported_ip_address_types, expected_type=type_hints["supported_ip_address_types"])
92856
92917
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -92860,6 +92921,8 @@ class VpcEndpointServiceProps:
92860
92921
  self._values["acceptance_required"] = acceptance_required
92861
92922
  if allowed_principals is not None:
92862
92923
  self._values["allowed_principals"] = allowed_principals
92924
+ if allowed_regions is not None:
92925
+ self._values["allowed_regions"] = allowed_regions
92863
92926
  if contributor_insights is not None:
92864
92927
  self._values["contributor_insights"] = contributor_insights
92865
92928
  if supported_ip_address_types is not None:
@@ -92897,6 +92960,15 @@ class VpcEndpointServiceProps:
92897
92960
  result = self._values.get("allowed_principals")
92898
92961
  return typing.cast(typing.Optional[typing.List[_ArnPrincipal_d31ca6bc]], result)
92899
92962
 
92963
+ @builtins.property
92964
+ def allowed_regions(self) -> typing.Optional[typing.List[builtins.str]]:
92965
+ '''The Regions from which service consumers can access the service.
92966
+
92967
+ :default: - No Region restrictions
92968
+ '''
92969
+ result = self._values.get("allowed_regions")
92970
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
92971
+
92900
92972
  @builtins.property
92901
92973
  def contributor_insights(self) -> typing.Optional[builtins.bool]:
92902
92974
  '''Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink.
@@ -97277,6 +97349,7 @@ class InitCommand(
97277
97349
  "follow_symlinks": "followSymlinks",
97278
97350
  "ignore_mode": "ignoreMode",
97279
97351
  "deploy_time": "deployTime",
97352
+ "display_name": "displayName",
97280
97353
  "readers": "readers",
97281
97354
  "source_kms_key": "sourceKMSKey",
97282
97355
  },
@@ -97297,6 +97370,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97297
97370
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
97298
97371
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
97299
97372
  deploy_time: typing.Optional[builtins.bool] = None,
97373
+ display_name: typing.Optional[builtins.str] = None,
97300
97374
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
97301
97375
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
97302
97376
  ) -> None:
@@ -97314,6 +97388,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97314
97388
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
97315
97389
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
97316
97390
  :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
97391
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
97317
97392
  :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.
97318
97393
  :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.
97319
97394
 
@@ -97365,6 +97440,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97365
97440
  working_directory="workingDirectory"
97366
97441
  ),
97367
97442
  deploy_time=False,
97443
+ display_name="displayName",
97368
97444
  exclude=["exclude"],
97369
97445
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
97370
97446
  group="group",
@@ -97392,6 +97468,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97392
97468
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
97393
97469
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
97394
97470
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
97471
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
97395
97472
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
97396
97473
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
97397
97474
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -97419,6 +97496,8 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97419
97496
  self._values["ignore_mode"] = ignore_mode
97420
97497
  if deploy_time is not None:
97421
97498
  self._values["deploy_time"] = deploy_time
97499
+ if display_name is not None:
97500
+ self._values["display_name"] = display_name
97422
97501
  if readers is not None:
97423
97502
  self._values["readers"] = readers
97424
97503
  if source_kms_key is not None:
@@ -97585,6 +97664,30 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97585
97664
  result = self._values.get("deploy_time")
97586
97665
  return typing.cast(typing.Optional[builtins.bool], result)
97587
97666
 
97667
+ @builtins.property
97668
+ def display_name(self) -> typing.Optional[builtins.str]:
97669
+ '''A display name for this asset.
97670
+
97671
+ If supplied, the display name will be used in locations where the asset
97672
+ identifier is printed, like in the CLI progress information. If the same
97673
+ asset is added multiple times, the display name of the first occurrence is
97674
+ used.
97675
+
97676
+ The default is the construct path of the Asset construct, with respect to
97677
+ the enclosing stack. If the asset is produced by a construct helper
97678
+ function (such as ``lambda.Code.fromAsset()``), this will look like
97679
+ ``MyFunction/Code``.
97680
+
97681
+ We use the stack-relative construct path so that in the common case where
97682
+ you have multiple stacks with the same asset, we won't show something like
97683
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
97684
+ production.
97685
+
97686
+ :default: - Stack-relative construct path
97687
+ '''
97688
+ result = self._values.get("display_name")
97689
+ return typing.cast(typing.Optional[builtins.str], result)
97690
+
97588
97691
  @builtins.property
97589
97692
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
97590
97693
  '''A list of principals that should be able to read this asset from S3.
@@ -97629,6 +97732,7 @@ class InitFileAssetOptions(InitFileOptions, _AssetOptions_2aa69621):
97629
97732
  "follow_symlinks": "followSymlinks",
97630
97733
  "ignore_mode": "ignoreMode",
97631
97734
  "deploy_time": "deployTime",
97735
+ "display_name": "displayName",
97632
97736
  "readers": "readers",
97633
97737
  "source_kms_key": "sourceKMSKey",
97634
97738
  },
@@ -97645,6 +97749,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97645
97749
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
97646
97750
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
97647
97751
  deploy_time: typing.Optional[builtins.bool] = None,
97752
+ display_name: typing.Optional[builtins.str] = None,
97648
97753
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
97649
97754
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
97650
97755
  ) -> None:
@@ -97658,6 +97763,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97658
97763
  :param follow_symlinks: A strategy for how to handle symlinks. Default: SymlinkFollowMode.NEVER
97659
97764
  :param ignore_mode: The ignore behavior to use for ``exclude`` patterns. Default: IgnoreMode.GLOB
97660
97765
  :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
97766
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
97661
97767
  :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.
97662
97768
  :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.
97663
97769
 
@@ -97708,6 +97814,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97708
97814
  working_directory="workingDirectory"
97709
97815
  ),
97710
97816
  deploy_time=False,
97817
+ display_name="displayName",
97711
97818
  exclude=["exclude"],
97712
97819
  follow_symlinks=cdk.SymlinkFollowMode.NEVER,
97713
97820
  ignore_mode=cdk.IgnoreMode.GLOB,
@@ -97728,6 +97835,7 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97728
97835
  check_type(argname="argument follow_symlinks", value=follow_symlinks, expected_type=type_hints["follow_symlinks"])
97729
97836
  check_type(argname="argument ignore_mode", value=ignore_mode, expected_type=type_hints["ignore_mode"])
97730
97837
  check_type(argname="argument deploy_time", value=deploy_time, expected_type=type_hints["deploy_time"])
97838
+ check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
97731
97839
  check_type(argname="argument readers", value=readers, expected_type=type_hints["readers"])
97732
97840
  check_type(argname="argument source_kms_key", value=source_kms_key, expected_type=type_hints["source_kms_key"])
97733
97841
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -97747,6 +97855,8 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97747
97855
  self._values["ignore_mode"] = ignore_mode
97748
97856
  if deploy_time is not None:
97749
97857
  self._values["deploy_time"] = deploy_time
97858
+ if display_name is not None:
97859
+ self._values["display_name"] = display_name
97750
97860
  if readers is not None:
97751
97861
  self._values["readers"] = readers
97752
97862
  if source_kms_key is not None:
@@ -97864,6 +97974,30 @@ class InitSourceAssetOptions(InitSourceOptions, _AssetOptions_2aa69621):
97864
97974
  result = self._values.get("deploy_time")
97865
97975
  return typing.cast(typing.Optional[builtins.bool], result)
97866
97976
 
97977
+ @builtins.property
97978
+ def display_name(self) -> typing.Optional[builtins.str]:
97979
+ '''A display name for this asset.
97980
+
97981
+ If supplied, the display name will be used in locations where the asset
97982
+ identifier is printed, like in the CLI progress information. If the same
97983
+ asset is added multiple times, the display name of the first occurrence is
97984
+ used.
97985
+
97986
+ The default is the construct path of the Asset construct, with respect to
97987
+ the enclosing stack. If the asset is produced by a construct helper
97988
+ function (such as ``lambda.Code.fromAsset()``), this will look like
97989
+ ``MyFunction/Code``.
97990
+
97991
+ We use the stack-relative construct path so that in the common case where
97992
+ you have multiple stacks with the same asset, we won't show something like
97993
+ ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to
97994
+ production.
97995
+
97996
+ :default: - Stack-relative construct path
97997
+ '''
97998
+ result = self._values.get("display_name")
97999
+ return typing.cast(typing.Optional[builtins.str], result)
98000
+
97867
98001
  @builtins.property
97868
98002
  def readers(self) -> typing.Optional[typing.List[_IGrantable_71c4f5de]]:
97869
98003
  '''A list of principals that should be able to read this asset from S3.
@@ -110988,6 +111122,7 @@ def _typecheckingstub__164f7ae4723652c2e5c3189a870d0dbd16f8bec14d0e807d648248a60
110988
111122
  owner: typing.Optional[builtins.str] = None,
110989
111123
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
110990
111124
  deploy_time: typing.Optional[builtins.bool] = None,
111125
+ display_name: typing.Optional[builtins.str] = None,
110991
111126
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
110992
111127
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
110993
111128
  asset_hash: typing.Optional[builtins.str] = None,
@@ -111236,6 +111371,7 @@ def _typecheckingstub__28af50587b7c2068b2cb49dbac75ce38a6ffdaf070d2c430abde336ae
111236
111371
  *,
111237
111372
  service_restart_handles: typing.Optional[typing.Sequence[InitServiceRestartHandle]] = None,
111238
111373
  deploy_time: typing.Optional[builtins.bool] = None,
111374
+ display_name: typing.Optional[builtins.str] = None,
111239
111375
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
111240
111376
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
111241
111377
  asset_hash: typing.Optional[builtins.str] = None,
@@ -111621,6 +111757,7 @@ def _typecheckingstub__544aef11081ec87047935491f75a3d5bc9d5075de77f96969bd2ffd1a
111621
111757
  launch_template_name: typing.Optional[builtins.str] = None,
111622
111758
  machine_image: typing.Optional[IMachineImage] = None,
111623
111759
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
111760
+ placement_group: typing.Optional[IPlacementGroup] = None,
111624
111761
  require_imdsv2: typing.Optional[builtins.bool] = None,
111625
111762
  role: typing.Optional[_IRole_235f5d8e] = None,
111626
111763
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -111679,6 +111816,7 @@ def _typecheckingstub__e2ebb1bf0fbb2f9e894169a610cd9fb7cc3f827d34d3a10351bd2f517
111679
111816
  launch_template_name: typing.Optional[builtins.str] = None,
111680
111817
  machine_image: typing.Optional[IMachineImage] = None,
111681
111818
  nitro_enclave_enabled: typing.Optional[builtins.bool] = None,
111819
+ placement_group: typing.Optional[IPlacementGroup] = None,
111682
111820
  require_imdsv2: typing.Optional[builtins.bool] = None,
111683
111821
  role: typing.Optional[_IRole_235f5d8e] = None,
111684
111822
  security_group: typing.Optional[ISecurityGroup] = None,
@@ -112841,6 +112979,7 @@ def _typecheckingstub__e9a177a308c941d9422cff7194d8a56d967004d3230efd826dc934ef5
112841
112979
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
112842
112980
  acceptance_required: typing.Optional[builtins.bool] = None,
112843
112981
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
112982
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
112844
112983
  contributor_insights: typing.Optional[builtins.bool] = None,
112845
112984
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112846
112985
  ) -> None:
@@ -112852,6 +112991,7 @@ def _typecheckingstub__c8d3e17059165270b27192911c5b63d78564836ce9d6a1d2e41f5d272
112852
112991
  vpc_endpoint_service_load_balancers: typing.Sequence[IVpcEndpointServiceLoadBalancer],
112853
112992
  acceptance_required: typing.Optional[builtins.bool] = None,
112854
112993
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
112994
+ allowed_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
112855
112995
  contributor_insights: typing.Optional[builtins.bool] = None,
112856
112996
  supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112857
112997
  ) -> None:
@@ -113311,6 +113451,7 @@ def _typecheckingstub__6ce391dd6a64744f1d308a93bd2b78efee46c104a775f9153a5171d8a
113311
113451
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
113312
113452
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
113313
113453
  deploy_time: typing.Optional[builtins.bool] = None,
113454
+ display_name: typing.Optional[builtins.str] = None,
113314
113455
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
113315
113456
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
113316
113457
  ) -> None:
@@ -113327,6 +113468,7 @@ def _typecheckingstub__f3d9778b6f3d55d750d385b361f8381c51ee484d3c8920175605233fb
113327
113468
  follow_symlinks: typing.Optional[_SymlinkFollowMode_047ec1f6] = None,
113328
113469
  ignore_mode: typing.Optional[_IgnoreMode_655a98e8] = None,
113329
113470
  deploy_time: typing.Optional[builtins.bool] = None,
113471
+ display_name: typing.Optional[builtins.str] = None,
113330
113472
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
113331
113473
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
113332
113474
  ) -> None: