aws-cdk-lib 2.179.0__py3-none-any.whl → 2.181.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 (70) hide show
  1. aws_cdk/__init__.py +92 -34
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.179.0.jsii.tgz → aws-cdk-lib@2.181.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +48 -1
  5. aws_cdk/aws_apigateway/__init__.py +6 -6
  6. aws_cdk/aws_appsync/__init__.py +4 -3
  7. aws_cdk/aws_backup/__init__.py +89 -0
  8. aws_cdk/aws_batch/__init__.py +89 -50
  9. aws_cdk/aws_bedrock/__init__.py +1265 -62
  10. aws_cdk/aws_chatbot/__init__.py +80 -53
  11. aws_cdk/aws_cloudformation/__init__.py +40 -8
  12. aws_cdk/aws_cloudfront/__init__.py +1046 -155
  13. aws_cdk/aws_cloudfront_origins/__init__.py +1338 -144
  14. aws_cdk/aws_cloudtrail/__init__.py +4 -8
  15. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  16. aws_cdk/aws_codebuild/__init__.py +2 -2
  17. aws_cdk/aws_codepipeline/__init__.py +24 -0
  18. aws_cdk/aws_codepipeline_actions/__init__.py +28 -1
  19. aws_cdk/aws_codestar/__init__.py +2 -1
  20. aws_cdk/aws_cognito/__init__.py +100 -13
  21. aws_cdk/aws_config/__init__.py +3 -3
  22. aws_cdk/aws_connect/__init__.py +257 -0
  23. aws_cdk/aws_datasync/__init__.py +279 -50
  24. aws_cdk/aws_deadline/__init__.py +683 -6
  25. aws_cdk/aws_directoryservice/__init__.py +9 -4
  26. aws_cdk/aws_dlm/__init__.py +2 -2
  27. aws_cdk/aws_dms/__init__.py +3 -3
  28. aws_cdk/aws_dynamodb/__init__.py +4 -58
  29. aws_cdk/aws_ec2/__init__.py +377 -121
  30. aws_cdk/aws_ecs/__init__.py +37 -46
  31. aws_cdk/aws_efs/__init__.py +1 -1
  32. aws_cdk/aws_eks/__init__.py +19 -13
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +13 -27
  34. aws_cdk/aws_emrcontainers/__init__.py +44 -1
  35. aws_cdk/aws_events/__init__.py +8 -11
  36. aws_cdk/aws_fms/__init__.py +5 -5
  37. aws_cdk/aws_fsx/__init__.py +5 -4
  38. aws_cdk/aws_glue/__init__.py +161 -0
  39. aws_cdk/aws_groundstation/__init__.py +23 -1
  40. aws_cdk/aws_iam/__init__.py +12 -12
  41. aws_cdk/aws_iot/__init__.py +7 -0
  42. aws_cdk/aws_ivs/__init__.py +17 -8
  43. aws_cdk/aws_kinesis/__init__.py +689 -35
  44. aws_cdk/aws_lambda/__init__.py +10 -15
  45. aws_cdk/aws_lambda_event_sources/__init__.py +175 -2
  46. aws_cdk/aws_medialive/__init__.py +314 -4
  47. aws_cdk/aws_mediapackagev2/__init__.py +228 -0
  48. aws_cdk/aws_networkfirewall/__init__.py +3 -3
  49. aws_cdk/aws_opensearchserverless/__init__.py +31 -8
  50. aws_cdk/aws_organizations/__init__.py +3 -3
  51. aws_cdk/aws_pcaconnectorscep/__init__.py +1 -1
  52. aws_cdk/aws_rds/__init__.py +456 -100
  53. aws_cdk/aws_s3/__init__.py +278 -0
  54. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  55. aws_cdk/aws_ses/__init__.py +228 -8
  56. aws_cdk/aws_ssm/__init__.py +9 -10
  57. aws_cdk/aws_stepfunctions/__init__.py +345 -70
  58. aws_cdk/aws_stepfunctions_tasks/__init__.py +142 -142
  59. aws_cdk/aws_supportapp/__init__.py +7 -7
  60. aws_cdk/aws_transfer/__init__.py +829 -4
  61. aws_cdk/aws_wafv2/__init__.py +17 -9
  62. aws_cdk/aws_wisdom/__init__.py +149 -4
  63. aws_cdk/custom_resources/__init__.py +23 -26
  64. aws_cdk/cx_api/__init__.py +16 -0
  65. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/METADATA +1 -1
  66. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/RECORD +70 -70
  67. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/LICENSE +0 -0
  68. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/NOTICE +0 -0
  69. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/WHEEL +0 -0
  70. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/top_level.txt +0 -0
@@ -74,15 +74,16 @@ cloudfront.Distribution(self, "myDist",
74
74
 
75
75
  When creating a standard S3 origin using `origins.S3BucketOrigin.withOriginAccessControl()`, an [Origin Access Control resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html) is automatically created with the origin type set to `s3` and signing behavior set to `always`.
76
76
 
77
- You can grant read, list, write or delete access to the OAC using the `originAccessLevels` property:
77
+ You can grant read, read versioned, list, write or delete access to the OAC using the `originAccessLevels` property:
78
78
 
79
79
  ```python
80
80
  my_bucket = s3.Bucket(self, "myBucket")
81
- s3_origin = origins.S3BucketOrigin.with_origin_access_control(my_bucket,
82
- origin_access_levels=[cloudfront.AccessLevel.READ, cloudfront.AccessLevel.WRITE, cloudfront.AccessLevel.DELETE]
83
- )
81
+ s3_origin = origins.S3BucketOrigin.with_origin_access_control(my_bucket, origin_access_levels=[cloudfront.AccessLevel.READ, cloudfront.AccessLevel.READ_VERSIONED, cloudfront.AccessLevel.WRITE, cloudfront.AccessLevel.DELETE])
84
82
  ```
85
83
 
84
+ The read versioned permission does contain the read permission, so it's required to set both `AccessLevel.READ` and
85
+ `AccessLevel.READ_VERSIONED`.
86
+
86
87
  For details of list permission, see [Setting up OAC with LIST permission](#setting-up-oac-with-list-permission).
87
88
 
88
89
  You can also pass in a custom S3 origin access control:
@@ -550,9 +551,6 @@ An Elastic Load Balancing (ELB) v2 load balancer may be used as an origin. In or
550
551
  accessible (`internetFacing` is true). Both Application and Network load balancers are supported.
551
552
 
552
553
  ```python
553
- import aws_cdk.aws_ec2 as ec2
554
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
555
-
556
554
  # vpc: ec2.Vpc
557
555
 
558
556
  # Create an application load balancer in a VPC. 'internetFacing' must be 'true'
@@ -569,8 +567,6 @@ cloudfront.Distribution(self, "myDist",
569
567
  The origin can also be customized to respond on different ports, have different connection properties, etc.
570
568
 
571
569
  ```python
572
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
573
-
574
570
  # load_balancer: elbv2.ApplicationLoadBalancer
575
571
 
576
572
  origin = origins.LoadBalancerV2Origin(load_balancer,
@@ -598,6 +594,131 @@ cloudfront.Distribution(self, "myDist",
598
594
 
599
595
  See the documentation of `aws-cdk-lib/aws-cloudfront` for more information.
600
596
 
597
+ ## VPC origins
598
+
599
+ You can use CloudFront to deliver content from applications that are hosted in your virtual private cloud (VPC) private subnets.
600
+ You can use Application Load Balancers (ALBs), Network Load Balancers (NLBs), and EC2 instances in private subnets as VPC origins.
601
+
602
+ Learn more about [Restrict access with VPC origins](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-vpc-origins.html).
603
+
604
+ ### From an Application Load Balancer
605
+
606
+ An Application Load Balancer (ALB) can be used as a VPC origin.
607
+ It is not needed to be publicly accessible.
608
+
609
+ ```python
610
+ # Creates a distribution from an Application Load Balancer
611
+ # vpc: ec2.Vpc
612
+
613
+ # Create an application load balancer in a VPC. 'internetFacing' can be 'false'.
614
+ alb = elbv2.ApplicationLoadBalancer(self, "ALB",
615
+ vpc=vpc,
616
+ internet_facing=False,
617
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_ISOLATED)
618
+ )
619
+ cloudfront.Distribution(self, "myDist",
620
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.VpcOrigin.with_application_load_balancer(alb))
621
+ )
622
+ ```
623
+
624
+ ### From a Network Load Balancer
625
+
626
+ A Network Load Balancer (NLB) can also be use as a VPC origin.
627
+ It is not needed to be publicly accessible.
628
+
629
+ * A Network Load Balancer must have a security group attached to it.
630
+ * Dual-stack Network Load Balancers and Network Load Balancers with TLS listeners can't be added as origins.
631
+
632
+ ```python
633
+ # Creates a distribution from a Network Load Balancer
634
+ # vpc: ec2.Vpc
635
+
636
+ # Create a network load balancer in a VPC. 'internetFacing' can be 'false'.
637
+ nlb = elbv2.NetworkLoadBalancer(self, "NLB",
638
+ vpc=vpc,
639
+ internet_facing=False,
640
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_ISOLATED),
641
+ security_groups=[ec2.SecurityGroup(self, "NLB-SG", vpc=vpc)]
642
+ )
643
+ cloudfront.Distribution(self, "myDist",
644
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.VpcOrigin.with_network_load_balancer(nlb))
645
+ )
646
+ ```
647
+
648
+ ### From an EC2 instance
649
+
650
+ An EC2 instance can also be used directly as a VPC origin.
651
+ It can be in a private subnet.
652
+
653
+ ```python
654
+ # Creates a distribution from an EC2 instance
655
+ # vpc: ec2.Vpc
656
+
657
+ # Create an EC2 instance in a VPC. 'subnetType' can be private.
658
+ instance = ec2.Instance(self, "Instance",
659
+ vpc=vpc,
660
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.MICRO),
661
+ machine_image=ec2.MachineImage.latest_amazon_linux2023(),
662
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_WITH_EGRESS)
663
+ )
664
+ cloudfront.Distribution(self, "myDist",
665
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.VpcOrigin.with_ec2_instance(instance))
666
+ )
667
+ ```
668
+
669
+ ### Restrict traffic coming to the VPC origin
670
+
671
+ You may need to update the security group for your VPC private origin (Application Load Balancer, Network Load Balancer, or EC2 instance) to explicitly allow the traffic from your VPC origins.
672
+
673
+ #### The CloudFront managed prefix list
674
+
675
+ You can allow the traffic from the CloudFront managed prefix list named **com.amazonaws.global.cloudfront.origin-facing**. For more information, see [Use an AWS-managed prefix list](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html#use-aws-managed-prefix-list).
676
+
677
+ ```python
678
+ # alb: elbv2.ApplicationLoadBalancer
679
+
680
+
681
+ peer = ec2.Peer.prefix_list("pl-xxxxxxxx") # See the management console to find actual PrefixList Id.
682
+ alb.connections.allow_from(peer, ec2.Port.HTTP)
683
+ ```
684
+
685
+ #### The VPC origin service security group
686
+
687
+ VPC origin will create a security group named `CloudFront-VPCOrigins-Service-SG`.
688
+ It can be further restricted to allow only traffic from your VPC origins.
689
+
690
+ The id of the security group is not provided by CloudFormation currently.
691
+ You can retrieve it dynamically using a custom resource.
692
+
693
+ ```python
694
+ import aws_cdk.custom_resources as cr
695
+
696
+ # vpc: ec2.Vpc
697
+ # distribution: cloudfront.Distribution
698
+ # alb: elbv2.ApplicationLoadBalancer
699
+
700
+
701
+ # Call ec2:DescribeSecurityGroups API to retrieve the VPC origins security group.
702
+ get_sg = cr.AwsCustomResource(self, "GetSecurityGroup",
703
+ on_create=cr.AwsSdkCall(
704
+ service="ec2",
705
+ action="describeSecurityGroups",
706
+ parameters={
707
+ "Filters": [{"Name": "vpc-id", "Values": [vpc.vpc_id]}, {"Name": "group-name", "Values": ["CloudFront-VPCOrigins-Service-SG"]}
708
+ ]
709
+ },
710
+ physical_resource_id=cr.PhysicalResourceId.of("CloudFront-VPCOrigins-Service-SG")
711
+ ),
712
+ policy=cr.AwsCustomResourcePolicy.from_sdk_calls(resources=["*"])
713
+ )
714
+ # The security group may be available after the distributon is deployed
715
+ get_sg.node.add_dependency(distribution)
716
+ sg_vpc_origins = ec2.SecurityGroup.from_security_group_id(self, "VpcOriginsSecurityGroup",
717
+ get_sg.get_response_field("SecurityGroups.0.GroupId"))
718
+ # Allow connections from the security group
719
+ alb.connections.allow_from(sg_vpc_origins, ec2.Port.HTTP)
720
+ ```
721
+
601
722
  ## Failover Origins (Origin Groups)
602
723
 
603
724
  You can set up CloudFront with origin failover for scenarios that require high availability.
@@ -765,6 +886,7 @@ from ..aws_cloudfront import (
765
886
  IOrigin as _IOrigin_83d4c1fa,
766
887
  IOriginAccessControl as _IOriginAccessControl_82a6fe5a,
767
888
  IOriginAccessIdentity as _IOriginAccessIdentity_a922494c,
889
+ IVpcOrigin as _IVpcOrigin_6f584d50,
768
890
  OriginBase as _OriginBase_b8fe5bcc,
769
891
  OriginBindConfig as _OriginBindConfig_25a57096,
770
892
  OriginBindOptions as _OriginBindOptions_088c2b51,
@@ -772,8 +894,14 @@ from ..aws_cloudfront import (
772
894
  OriginProtocolPolicy as _OriginProtocolPolicy_967ed73c,
773
895
  OriginSelectionCriteria as _OriginSelectionCriteria_ba6d3e21,
774
896
  OriginSslPolicy as _OriginSslPolicy_d65cede2,
897
+ VpcOriginOptions as _VpcOriginOptions_f9e74bd8,
898
+ )
899
+ from ..aws_ec2 import IInstance as _IInstance_ab239e7c
900
+ from ..aws_elasticloadbalancingv2 import (
901
+ IApplicationLoadBalancer as _IApplicationLoadBalancer_4cbd50ab,
902
+ ILoadBalancerV2 as _ILoadBalancerV2_4c5c0fbb,
903
+ INetworkLoadBalancer as _INetworkLoadBalancer_96e17101,
775
904
  )
776
- from ..aws_elasticloadbalancingv2 import ILoadBalancerV2 as _ILoadBalancerV2_4c5c0fbb
777
905
  from ..aws_lambda import IFunctionUrl as _IFunctionUrl_1a74cd94
778
906
  from ..aws_s3 import IBucket as _IBucket_42e086fd
779
907
 
@@ -1574,26 +1702,15 @@ class HttpOrigin(
1574
1702
 
1575
1703
  Example::
1576
1704
 
1577
- # Adding realtime logs config to a Cloudfront Distribution on default behavior.
1578
- import aws_cdk.aws_kinesis as kinesis
1579
-
1580
- # stream: kinesis.Stream
1581
-
1582
-
1583
- real_time_config = cloudfront.RealtimeLogConfig(self, "realtimeLog",
1584
- end_points=[
1585
- cloudfront.Endpoint.from_kinesis_stream(stream)
1586
- ],
1587
- fields=["timestamp", "c-ip", "time-to-first-byte", "sc-status"
1588
- ],
1589
- realtime_log_config_name="my-delivery-stream",
1590
- sampling_rate=100
1591
- )
1592
-
1593
- cloudfront.Distribution(self, "myCdn",
1705
+ my_bucket = s3.Bucket(self, "myBucket")
1706
+ cloudfront.Distribution(self, "myDist",
1594
1707
  default_behavior=cloudfront.BehaviorOptions(
1595
- origin=origins.HttpOrigin("www.example.com"),
1596
- realtime_log_config=real_time_config
1708
+ origin=origins.OriginGroup(
1709
+ primary_origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket),
1710
+ fallback_origin=origins.HttpOrigin("www.example.com"),
1711
+ # optional, defaults to: 500, 502, 503 and 504
1712
+ fallback_status_codes=[404]
1713
+ )
1597
1714
  )
1598
1715
  )
1599
1716
  '''
@@ -1967,9 +2084,7 @@ class LoadBalancerV2Origin(
1967
2084
 
1968
2085
  Example::
1969
2086
 
1970
- import aws_cdk.aws_ec2 as ec2
1971
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
1972
-
2087
+ # Creates a distribution from an ELBv2 load balancer
1973
2088
  # vpc: ec2.Vpc
1974
2089
 
1975
2090
  # Create an application load balancer in a VPC. 'internetFacing' must be 'true'
@@ -2102,8 +2217,6 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2102
2217
 
2103
2218
  Example::
2104
2219
 
2105
- import aws_cdk.aws_elasticloadbalancingv2 as elbv2
2106
-
2107
2220
  # load_balancer: elbv2.ApplicationLoadBalancer
2108
2221
 
2109
2222
  origin = origins.LoadBalancerV2Origin(load_balancer,
@@ -2794,15 +2907,14 @@ class S3BucketOrigin(
2794
2907
  Example::
2795
2908
 
2796
2909
  my_bucket = s3.Bucket(self, "myBucket")
2797
- cloudfront.Distribution(self, "myDist",
2910
+ s3_origin = origins.S3BucketOrigin.with_origin_access_control(my_bucket,
2911
+ origin_access_levels=[cloudfront.AccessLevel.READ, cloudfront.AccessLevel.LIST]
2912
+ )
2913
+ cloudfront.Distribution(self, "distribution",
2798
2914
  default_behavior=cloudfront.BehaviorOptions(
2799
- origin=origins.OriginGroup(
2800
- primary_origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket),
2801
- fallback_origin=origins.HttpOrigin("www.example.com"),
2802
- # optional, defaults to: 500, 502, 503 and 504
2803
- fallback_status_codes=[404]
2804
- )
2805
- )
2915
+ origin=s3_origin
2916
+ ),
2917
+ default_root_object="index.html"
2806
2918
  )
2807
2919
  '''
2808
2920
 
@@ -4271,115 +4383,1047 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4271
4383
  )
4272
4384
 
4273
4385
 
4274
- __all__ = [
4275
- "FunctionUrlOrigin",
4276
- "FunctionUrlOriginBaseProps",
4277
- "FunctionUrlOriginProps",
4278
- "FunctionUrlOriginWithOACProps",
4279
- "HttpOrigin",
4280
- "HttpOriginProps",
4281
- "LoadBalancerV2Origin",
4282
- "LoadBalancerV2OriginProps",
4283
- "OriginGroup",
4284
- "OriginGroupProps",
4285
- "RestApiOrigin",
4286
- "RestApiOriginProps",
4287
- "S3BucketOrigin",
4288
- "S3BucketOriginBaseProps",
4289
- "S3BucketOriginWithOACProps",
4290
- "S3BucketOriginWithOAIProps",
4291
- "S3Origin",
4292
- "S3OriginProps",
4293
- "S3StaticWebsiteOrigin",
4294
- "S3StaticWebsiteOriginProps",
4295
- ]
4386
+ class VpcOrigin(
4387
+ _OriginBase_b8fe5bcc,
4388
+ metaclass=jsii.JSIIAbstractClass,
4389
+ jsii_type="aws-cdk-lib.aws_cloudfront_origins.VpcOrigin",
4390
+ ):
4391
+ '''Represents a distribution's VPC origin.
4296
4392
 
4297
- publication.publish()
4393
+ :exampleMetadata: infused
4298
4394
 
4299
- def _typecheckingstub__fcda903697b26acfe2149a285d5a64619682b675affb52f4ae2d1aca46c8f1c3(
4300
- lambda_function_url: _IFunctionUrl_1a74cd94,
4301
- *,
4302
- keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4303
- read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4304
- origin_path: typing.Optional[builtins.str] = None,
4305
- connection_attempts: typing.Optional[jsii.Number] = None,
4306
- connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4307
- custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4308
- origin_access_control_id: typing.Optional[builtins.str] = None,
4309
- origin_id: typing.Optional[builtins.str] = None,
4310
- origin_shield_enabled: typing.Optional[builtins.bool] = None,
4311
- origin_shield_region: typing.Optional[builtins.str] = None,
4312
- ) -> None:
4313
- """Type checking stubs"""
4314
- pass
4395
+ Example::
4315
4396
 
4316
- def _typecheckingstub__b4d59b7721f41be7903dbcffeddd34d596392d2c8d2a4110f31a4dacdb532727(
4317
- lambda_function_url: _IFunctionUrl_1a74cd94,
4318
- *,
4319
- origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
4320
- keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4321
- read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4322
- origin_path: typing.Optional[builtins.str] = None,
4323
- connection_attempts: typing.Optional[jsii.Number] = None,
4324
- connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4325
- custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4326
- origin_access_control_id: typing.Optional[builtins.str] = None,
4327
- origin_id: typing.Optional[builtins.str] = None,
4328
- origin_shield_enabled: typing.Optional[builtins.bool] = None,
4329
- origin_shield_region: typing.Optional[builtins.str] = None,
4330
- ) -> None:
4331
- """Type checking stubs"""
4332
- pass
4397
+ # Creates a distribution from a Network Load Balancer
4398
+ # vpc: ec2.Vpc
4399
+
4400
+ # Create a network load balancer in a VPC. 'internetFacing' can be 'false'.
4401
+ nlb = elbv2.NetworkLoadBalancer(self, "NLB",
4402
+ vpc=vpc,
4403
+ internet_facing=False,
4404
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PRIVATE_ISOLATED),
4405
+ security_groups=[ec2.SecurityGroup(self, "NLB-SG", vpc=vpc)]
4406
+ )
4407
+ cloudfront.Distribution(self, "myDist",
4408
+ default_behavior=cloudfront.BehaviorOptions(origin=origins.VpcOrigin.with_network_load_balancer(nlb))
4409
+ )
4410
+ '''
4333
4411
 
4334
- def _typecheckingstub__610b4764a440619f38a9adeb3e13225e58180ee2ee316abd994579fdcdb84c12(
4335
- *,
4336
- connection_attempts: typing.Optional[jsii.Number] = None,
4337
- connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4338
- custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4339
- origin_access_control_id: typing.Optional[builtins.str] = None,
4340
- origin_id: typing.Optional[builtins.str] = None,
4341
- origin_shield_enabled: typing.Optional[builtins.bool] = None,
4342
- origin_shield_region: typing.Optional[builtins.str] = None,
4343
- origin_path: typing.Optional[builtins.str] = None,
4344
- ) -> None:
4345
- """Type checking stubs"""
4346
- pass
4412
+ def __init__(
4413
+ self,
4414
+ domain_name_: builtins.str,
4415
+ *,
4416
+ domain_name: typing.Optional[builtins.str] = None,
4417
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4418
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4419
+ origin_path: typing.Optional[builtins.str] = None,
4420
+ connection_attempts: typing.Optional[jsii.Number] = None,
4421
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4422
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4423
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4424
+ origin_id: typing.Optional[builtins.str] = None,
4425
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4426
+ origin_shield_region: typing.Optional[builtins.str] = None,
4427
+ ) -> None:
4428
+ '''
4429
+ :param domain_name_: -
4430
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4431
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4432
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4433
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4434
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4435
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4436
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4437
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4438
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4439
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4440
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4441
+ '''
4442
+ if __debug__:
4443
+ type_hints = typing.get_type_hints(_typecheckingstub__27d66442a972110883cdde622df199c2db6a7264e19031f1118d7aa01681cef6)
4444
+ check_type(argname="argument domain_name_", value=domain_name_, expected_type=type_hints["domain_name_"])
4445
+ props = VpcOriginProps(
4446
+ domain_name=domain_name,
4447
+ keepalive_timeout=keepalive_timeout,
4448
+ read_timeout=read_timeout,
4449
+ origin_path=origin_path,
4450
+ connection_attempts=connection_attempts,
4451
+ connection_timeout=connection_timeout,
4452
+ custom_headers=custom_headers,
4453
+ origin_access_control_id=origin_access_control_id,
4454
+ origin_id=origin_id,
4455
+ origin_shield_enabled=origin_shield_enabled,
4456
+ origin_shield_region=origin_shield_region,
4457
+ )
4347
4458
 
4348
- def _typecheckingstub__56d340a9ac5dd93c6aa22cb98bcbc860fb23f8d247b53c2cd1a51ecd8406909a(
4349
- *,
4350
- connection_attempts: typing.Optional[jsii.Number] = None,
4351
- connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4352
- custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4353
- origin_access_control_id: typing.Optional[builtins.str] = None,
4354
- origin_id: typing.Optional[builtins.str] = None,
4355
- origin_shield_enabled: typing.Optional[builtins.bool] = None,
4356
- origin_shield_region: typing.Optional[builtins.str] = None,
4357
- origin_path: typing.Optional[builtins.str] = None,
4358
- keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4359
- read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4360
- ) -> None:
4361
- """Type checking stubs"""
4362
- pass
4459
+ jsii.create(self.__class__, self, [domain_name_, props])
4363
4460
 
4364
- def _typecheckingstub__56968af993436ccfcac0aa6a57169f1a033078c10740d435d086816ad0336a75(
4365
- *,
4366
- connection_attempts: typing.Optional[jsii.Number] = None,
4367
- connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4368
- custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4369
- origin_access_control_id: typing.Optional[builtins.str] = None,
4370
- origin_id: typing.Optional[builtins.str] = None,
4371
- origin_shield_enabled: typing.Optional[builtins.bool] = None,
4372
- origin_shield_region: typing.Optional[builtins.str] = None,
4373
- origin_path: typing.Optional[builtins.str] = None,
4374
- keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4375
- read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4376
- origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
4377
- ) -> None:
4378
- """Type checking stubs"""
4379
- pass
4461
+ @jsii.member(jsii_name="withApplicationLoadBalancer")
4462
+ @builtins.classmethod
4463
+ def with_application_load_balancer(
4464
+ cls,
4465
+ alb: _IApplicationLoadBalancer_4cbd50ab,
4466
+ *,
4467
+ domain_name: typing.Optional[builtins.str] = None,
4468
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4469
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4470
+ http_port: typing.Optional[jsii.Number] = None,
4471
+ https_port: typing.Optional[jsii.Number] = None,
4472
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4473
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
4474
+ vpc_origin_name: typing.Optional[builtins.str] = None,
4475
+ origin_path: typing.Optional[builtins.str] = None,
4476
+ connection_attempts: typing.Optional[jsii.Number] = None,
4477
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4478
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4479
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4480
+ origin_id: typing.Optional[builtins.str] = None,
4481
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4482
+ origin_shield_region: typing.Optional[builtins.str] = None,
4483
+ ) -> "VpcOrigin":
4484
+ '''Create a VPC origin with an Application Load Balancer.
4380
4485
 
4381
- def _typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35cfc0cc5(
4382
- domain_name: builtins.str,
4486
+ :param alb: -
4487
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4488
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4489
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4490
+ :param http_port: The HTTP port for the CloudFront VPC origin endpoint configuration. Default: 80
4491
+ :param https_port: The HTTPS port of the CloudFront VPC origin endpoint configuration. Default: 443
4492
+ :param origin_ssl_protocols: A list that contains allowed SSL/TLS protocols for this distribution. Default: - TLSv1.2
4493
+ :param protocol_policy: The origin protocol policy for the CloudFront VPC origin endpoint configuration. Default: OriginProtocolPolicy.MATCH_VIEWER
4494
+ :param vpc_origin_name: The name of the CloudFront VPC origin endpoint configuration. Default: - generated from the ``id``
4495
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4496
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4497
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4498
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4499
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4500
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4501
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4502
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4503
+ '''
4504
+ if __debug__:
4505
+ type_hints = typing.get_type_hints(_typecheckingstub__8615ead9bb90a8fd2c91dc07371d03b8f4b4192a1500a449646bd8a7be95fa6c)
4506
+ check_type(argname="argument alb", value=alb, expected_type=type_hints["alb"])
4507
+ props = VpcOriginWithEndpointProps(
4508
+ domain_name=domain_name,
4509
+ keepalive_timeout=keepalive_timeout,
4510
+ read_timeout=read_timeout,
4511
+ http_port=http_port,
4512
+ https_port=https_port,
4513
+ origin_ssl_protocols=origin_ssl_protocols,
4514
+ protocol_policy=protocol_policy,
4515
+ vpc_origin_name=vpc_origin_name,
4516
+ origin_path=origin_path,
4517
+ connection_attempts=connection_attempts,
4518
+ connection_timeout=connection_timeout,
4519
+ custom_headers=custom_headers,
4520
+ origin_access_control_id=origin_access_control_id,
4521
+ origin_id=origin_id,
4522
+ origin_shield_enabled=origin_shield_enabled,
4523
+ origin_shield_region=origin_shield_region,
4524
+ )
4525
+
4526
+ return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withApplicationLoadBalancer", [alb, props]))
4527
+
4528
+ @jsii.member(jsii_name="withEc2Instance")
4529
+ @builtins.classmethod
4530
+ def with_ec2_instance(
4531
+ cls,
4532
+ instance: _IInstance_ab239e7c,
4533
+ *,
4534
+ domain_name: typing.Optional[builtins.str] = None,
4535
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4536
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4537
+ http_port: typing.Optional[jsii.Number] = None,
4538
+ https_port: typing.Optional[jsii.Number] = None,
4539
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4540
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
4541
+ vpc_origin_name: typing.Optional[builtins.str] = None,
4542
+ origin_path: typing.Optional[builtins.str] = None,
4543
+ connection_attempts: typing.Optional[jsii.Number] = None,
4544
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4545
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4546
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4547
+ origin_id: typing.Optional[builtins.str] = None,
4548
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4549
+ origin_shield_region: typing.Optional[builtins.str] = None,
4550
+ ) -> "VpcOrigin":
4551
+ '''Create a VPC origin with an EC2 instance.
4552
+
4553
+ :param instance: -
4554
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4555
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4556
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4557
+ :param http_port: The HTTP port for the CloudFront VPC origin endpoint configuration. Default: 80
4558
+ :param https_port: The HTTPS port of the CloudFront VPC origin endpoint configuration. Default: 443
4559
+ :param origin_ssl_protocols: A list that contains allowed SSL/TLS protocols for this distribution. Default: - TLSv1.2
4560
+ :param protocol_policy: The origin protocol policy for the CloudFront VPC origin endpoint configuration. Default: OriginProtocolPolicy.MATCH_VIEWER
4561
+ :param vpc_origin_name: The name of the CloudFront VPC origin endpoint configuration. Default: - generated from the ``id``
4562
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4563
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4564
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4565
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4566
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4567
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4568
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4569
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4570
+ '''
4571
+ if __debug__:
4572
+ type_hints = typing.get_type_hints(_typecheckingstub__1fc3f8db0baa99548845b1733d31d8271fbe2c934c89a6c44958edcb38b35a13)
4573
+ check_type(argname="argument instance", value=instance, expected_type=type_hints["instance"])
4574
+ props = VpcOriginWithEndpointProps(
4575
+ domain_name=domain_name,
4576
+ keepalive_timeout=keepalive_timeout,
4577
+ read_timeout=read_timeout,
4578
+ http_port=http_port,
4579
+ https_port=https_port,
4580
+ origin_ssl_protocols=origin_ssl_protocols,
4581
+ protocol_policy=protocol_policy,
4582
+ vpc_origin_name=vpc_origin_name,
4583
+ origin_path=origin_path,
4584
+ connection_attempts=connection_attempts,
4585
+ connection_timeout=connection_timeout,
4586
+ custom_headers=custom_headers,
4587
+ origin_access_control_id=origin_access_control_id,
4588
+ origin_id=origin_id,
4589
+ origin_shield_enabled=origin_shield_enabled,
4590
+ origin_shield_region=origin_shield_region,
4591
+ )
4592
+
4593
+ return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withEc2Instance", [instance, props]))
4594
+
4595
+ @jsii.member(jsii_name="withNetworkLoadBalancer")
4596
+ @builtins.classmethod
4597
+ def with_network_load_balancer(
4598
+ cls,
4599
+ nlb: _INetworkLoadBalancer_96e17101,
4600
+ *,
4601
+ domain_name: typing.Optional[builtins.str] = None,
4602
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4603
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4604
+ http_port: typing.Optional[jsii.Number] = None,
4605
+ https_port: typing.Optional[jsii.Number] = None,
4606
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4607
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
4608
+ vpc_origin_name: typing.Optional[builtins.str] = None,
4609
+ origin_path: typing.Optional[builtins.str] = None,
4610
+ connection_attempts: typing.Optional[jsii.Number] = None,
4611
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4612
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4613
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4614
+ origin_id: typing.Optional[builtins.str] = None,
4615
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4616
+ origin_shield_region: typing.Optional[builtins.str] = None,
4617
+ ) -> "VpcOrigin":
4618
+ '''Create a VPC origin with a Network Load Balancer.
4619
+
4620
+ :param nlb: -
4621
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4622
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4623
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4624
+ :param http_port: The HTTP port for the CloudFront VPC origin endpoint configuration. Default: 80
4625
+ :param https_port: The HTTPS port of the CloudFront VPC origin endpoint configuration. Default: 443
4626
+ :param origin_ssl_protocols: A list that contains allowed SSL/TLS protocols for this distribution. Default: - TLSv1.2
4627
+ :param protocol_policy: The origin protocol policy for the CloudFront VPC origin endpoint configuration. Default: OriginProtocolPolicy.MATCH_VIEWER
4628
+ :param vpc_origin_name: The name of the CloudFront VPC origin endpoint configuration. Default: - generated from the ``id``
4629
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4630
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4631
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4632
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4633
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4634
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4635
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4636
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4637
+ '''
4638
+ if __debug__:
4639
+ type_hints = typing.get_type_hints(_typecheckingstub__83c5561f2747600ee99b6ee41190dcba45f2a24cc1c9500759e9c382320b83d6)
4640
+ check_type(argname="argument nlb", value=nlb, expected_type=type_hints["nlb"])
4641
+ props = VpcOriginWithEndpointProps(
4642
+ domain_name=domain_name,
4643
+ keepalive_timeout=keepalive_timeout,
4644
+ read_timeout=read_timeout,
4645
+ http_port=http_port,
4646
+ https_port=https_port,
4647
+ origin_ssl_protocols=origin_ssl_protocols,
4648
+ protocol_policy=protocol_policy,
4649
+ vpc_origin_name=vpc_origin_name,
4650
+ origin_path=origin_path,
4651
+ connection_attempts=connection_attempts,
4652
+ connection_timeout=connection_timeout,
4653
+ custom_headers=custom_headers,
4654
+ origin_access_control_id=origin_access_control_id,
4655
+ origin_id=origin_id,
4656
+ origin_shield_enabled=origin_shield_enabled,
4657
+ origin_shield_region=origin_shield_region,
4658
+ )
4659
+
4660
+ return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withNetworkLoadBalancer", [nlb, props]))
4661
+
4662
+ @jsii.member(jsii_name="withVpcOrigin")
4663
+ @builtins.classmethod
4664
+ def with_vpc_origin(
4665
+ cls,
4666
+ origin: _IVpcOrigin_6f584d50,
4667
+ *,
4668
+ domain_name: typing.Optional[builtins.str] = None,
4669
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4670
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4671
+ origin_path: typing.Optional[builtins.str] = None,
4672
+ connection_attempts: typing.Optional[jsii.Number] = None,
4673
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4674
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4675
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4676
+ origin_id: typing.Optional[builtins.str] = None,
4677
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4678
+ origin_shield_region: typing.Optional[builtins.str] = None,
4679
+ ) -> "VpcOrigin":
4680
+ '''Create a VPC origin with an existing VPC origin resource.
4681
+
4682
+ :param origin: -
4683
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4684
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4685
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4686
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4687
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4688
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4689
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4690
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4691
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4692
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4693
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4694
+ '''
4695
+ if __debug__:
4696
+ type_hints = typing.get_type_hints(_typecheckingstub__b7ed2e0f746eab77b2774c1adb0f114f10e786a05b531cd1218f93ad3770e5af)
4697
+ check_type(argname="argument origin", value=origin, expected_type=type_hints["origin"])
4698
+ props = VpcOriginProps(
4699
+ domain_name=domain_name,
4700
+ keepalive_timeout=keepalive_timeout,
4701
+ read_timeout=read_timeout,
4702
+ origin_path=origin_path,
4703
+ connection_attempts=connection_attempts,
4704
+ connection_timeout=connection_timeout,
4705
+ custom_headers=custom_headers,
4706
+ origin_access_control_id=origin_access_control_id,
4707
+ origin_id=origin_id,
4708
+ origin_shield_enabled=origin_shield_enabled,
4709
+ origin_shield_region=origin_shield_region,
4710
+ )
4711
+
4712
+ return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withVpcOrigin", [origin, props]))
4713
+
4714
+ @jsii.member(jsii_name="renderVpcOriginConfig")
4715
+ def _render_vpc_origin_config(
4716
+ self,
4717
+ ) -> typing.Optional[_CfnDistribution_d9ad3595.VpcOriginConfigProperty]:
4718
+ return typing.cast(typing.Optional[_CfnDistribution_d9ad3595.VpcOriginConfigProperty], jsii.invoke(self, "renderVpcOriginConfig", []))
4719
+
4720
+ @builtins.property
4721
+ @jsii.member(jsii_name="props")
4722
+ def _props(self) -> "VpcOriginProps":
4723
+ return typing.cast("VpcOriginProps", jsii.get(self, "props"))
4724
+
4725
+ @builtins.property
4726
+ @jsii.member(jsii_name="vpcOrigin")
4727
+ def _vpc_origin(self) -> typing.Optional[_IVpcOrigin_6f584d50]:
4728
+ return typing.cast(typing.Optional[_IVpcOrigin_6f584d50], jsii.get(self, "vpcOrigin"))
4729
+
4730
+ @_vpc_origin.setter
4731
+ def _vpc_origin(self, value: typing.Optional[_IVpcOrigin_6f584d50]) -> None:
4732
+ if __debug__:
4733
+ type_hints = typing.get_type_hints(_typecheckingstub__1d0218fc5ea8fbca94cbaeda39ab353fe5c35e197d6d8d60852fb576332785ce)
4734
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4735
+ jsii.set(self, "vpcOrigin", value) # pyright: ignore[reportArgumentType]
4736
+
4737
+
4738
+ class _VpcOriginProxy(
4739
+ VpcOrigin,
4740
+ jsii.proxy_for(_OriginBase_b8fe5bcc), # type: ignore[misc]
4741
+ ):
4742
+ pass
4743
+
4744
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
4745
+ typing.cast(typing.Any, VpcOrigin).__jsii_proxy_class__ = lambda : _VpcOriginProxy
4746
+
4747
+
4748
+ @jsii.data_type(
4749
+ jsii_type="aws-cdk-lib.aws_cloudfront_origins.VpcOriginProps",
4750
+ jsii_struct_bases=[_OriginProps_0675928d],
4751
+ name_mapping={
4752
+ "connection_attempts": "connectionAttempts",
4753
+ "connection_timeout": "connectionTimeout",
4754
+ "custom_headers": "customHeaders",
4755
+ "origin_access_control_id": "originAccessControlId",
4756
+ "origin_id": "originId",
4757
+ "origin_shield_enabled": "originShieldEnabled",
4758
+ "origin_shield_region": "originShieldRegion",
4759
+ "origin_path": "originPath",
4760
+ "domain_name": "domainName",
4761
+ "keepalive_timeout": "keepaliveTimeout",
4762
+ "read_timeout": "readTimeout",
4763
+ },
4764
+ )
4765
+ class VpcOriginProps(_OriginProps_0675928d):
4766
+ def __init__(
4767
+ self,
4768
+ *,
4769
+ connection_attempts: typing.Optional[jsii.Number] = None,
4770
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
4771
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
4772
+ origin_access_control_id: typing.Optional[builtins.str] = None,
4773
+ origin_id: typing.Optional[builtins.str] = None,
4774
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
4775
+ origin_shield_region: typing.Optional[builtins.str] = None,
4776
+ origin_path: typing.Optional[builtins.str] = None,
4777
+ domain_name: typing.Optional[builtins.str] = None,
4778
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4779
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
4780
+ ) -> None:
4781
+ '''Properties to define a VPC origin.
4782
+
4783
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
4784
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
4785
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
4786
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
4787
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4788
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4789
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4790
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4791
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4792
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4793
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
4794
+
4795
+ :exampleMetadata: fixture=_generated
4796
+
4797
+ Example::
4798
+
4799
+ # The code below shows an example of how to instantiate this type.
4800
+ # The values are placeholders you should change.
4801
+ import aws_cdk as cdk
4802
+ from aws_cdk import aws_cloudfront_origins as cloudfront_origins
4803
+
4804
+ vpc_origin_props = cloudfront_origins.VpcOriginProps(
4805
+ connection_attempts=123,
4806
+ connection_timeout=cdk.Duration.minutes(30),
4807
+ custom_headers={
4808
+ "custom_headers_key": "customHeaders"
4809
+ },
4810
+ domain_name="domainName",
4811
+ keepalive_timeout=cdk.Duration.minutes(30),
4812
+ origin_access_control_id="originAccessControlId",
4813
+ origin_id="originId",
4814
+ origin_path="originPath",
4815
+ origin_shield_enabled=False,
4816
+ origin_shield_region="originShieldRegion",
4817
+ read_timeout=cdk.Duration.minutes(30)
4818
+ )
4819
+ '''
4820
+ if __debug__:
4821
+ type_hints = typing.get_type_hints(_typecheckingstub__6605ea586b09bdf0ddb88a83b7c4e00626fe891625563cb019777b1480340f14)
4822
+ check_type(argname="argument connection_attempts", value=connection_attempts, expected_type=type_hints["connection_attempts"])
4823
+ check_type(argname="argument connection_timeout", value=connection_timeout, expected_type=type_hints["connection_timeout"])
4824
+ check_type(argname="argument custom_headers", value=custom_headers, expected_type=type_hints["custom_headers"])
4825
+ check_type(argname="argument origin_access_control_id", value=origin_access_control_id, expected_type=type_hints["origin_access_control_id"])
4826
+ check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
4827
+ check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
4828
+ check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
4829
+ check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
4830
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
4831
+ check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
4832
+ check_type(argname="argument read_timeout", value=read_timeout, expected_type=type_hints["read_timeout"])
4833
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4834
+ if connection_attempts is not None:
4835
+ self._values["connection_attempts"] = connection_attempts
4836
+ if connection_timeout is not None:
4837
+ self._values["connection_timeout"] = connection_timeout
4838
+ if custom_headers is not None:
4839
+ self._values["custom_headers"] = custom_headers
4840
+ if origin_access_control_id is not None:
4841
+ self._values["origin_access_control_id"] = origin_access_control_id
4842
+ if origin_id is not None:
4843
+ self._values["origin_id"] = origin_id
4844
+ if origin_shield_enabled is not None:
4845
+ self._values["origin_shield_enabled"] = origin_shield_enabled
4846
+ if origin_shield_region is not None:
4847
+ self._values["origin_shield_region"] = origin_shield_region
4848
+ if origin_path is not None:
4849
+ self._values["origin_path"] = origin_path
4850
+ if domain_name is not None:
4851
+ self._values["domain_name"] = domain_name
4852
+ if keepalive_timeout is not None:
4853
+ self._values["keepalive_timeout"] = keepalive_timeout
4854
+ if read_timeout is not None:
4855
+ self._values["read_timeout"] = read_timeout
4856
+
4857
+ @builtins.property
4858
+ def connection_attempts(self) -> typing.Optional[jsii.Number]:
4859
+ '''The number of times that CloudFront attempts to connect to the origin;
4860
+
4861
+ valid values are 1, 2, or 3 attempts.
4862
+
4863
+ :default: 3
4864
+ '''
4865
+ result = self._values.get("connection_attempts")
4866
+ return typing.cast(typing.Optional[jsii.Number], result)
4867
+
4868
+ @builtins.property
4869
+ def connection_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4870
+ '''The number of seconds that CloudFront waits when trying to establish a connection to the origin.
4871
+
4872
+ Valid values are 1-10 seconds, inclusive.
4873
+
4874
+ :default: Duration.seconds(10)
4875
+ '''
4876
+ result = self._values.get("connection_timeout")
4877
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4878
+
4879
+ @builtins.property
4880
+ def custom_headers(
4881
+ self,
4882
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
4883
+ '''A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
4884
+
4885
+ :default: {}
4886
+ '''
4887
+ result = self._values.get("custom_headers")
4888
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
4889
+
4890
+ @builtins.property
4891
+ def origin_access_control_id(self) -> typing.Optional[builtins.str]:
4892
+ '''The unique identifier of an origin access control for this origin.
4893
+
4894
+ :default: - no origin access control
4895
+ '''
4896
+ result = self._values.get("origin_access_control_id")
4897
+ return typing.cast(typing.Optional[builtins.str], result)
4898
+
4899
+ @builtins.property
4900
+ def origin_id(self) -> typing.Optional[builtins.str]:
4901
+ '''A unique identifier for the origin.
4902
+
4903
+ This value must be unique within the distribution.
4904
+
4905
+ :default: - an originid will be generated for you
4906
+ '''
4907
+ result = self._values.get("origin_id")
4908
+ return typing.cast(typing.Optional[builtins.str], result)
4909
+
4910
+ @builtins.property
4911
+ def origin_shield_enabled(self) -> typing.Optional[builtins.bool]:
4912
+ '''Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false.
4913
+
4914
+ :default: - true
4915
+ '''
4916
+ result = self._values.get("origin_shield_enabled")
4917
+ return typing.cast(typing.Optional[builtins.bool], result)
4918
+
4919
+ @builtins.property
4920
+ def origin_shield_region(self) -> typing.Optional[builtins.str]:
4921
+ '''When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
4922
+
4923
+ :default: - origin shield not enabled
4924
+
4925
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
4926
+ '''
4927
+ result = self._values.get("origin_shield_region")
4928
+ return typing.cast(typing.Optional[builtins.str], result)
4929
+
4930
+ @builtins.property
4931
+ def origin_path(self) -> typing.Optional[builtins.str]:
4932
+ '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
4933
+
4934
+ Must begin, but not end, with '/' (e.g., '/production/images').
4935
+
4936
+ :default: '/'
4937
+ '''
4938
+ result = self._values.get("origin_path")
4939
+ return typing.cast(typing.Optional[builtins.str], result)
4940
+
4941
+ @builtins.property
4942
+ def domain_name(self) -> typing.Optional[builtins.str]:
4943
+ '''The domain name associated with your VPC origin.
4944
+
4945
+ :default: - The default domain name of the endpoint.
4946
+ '''
4947
+ result = self._values.get("domain_name")
4948
+ return typing.cast(typing.Optional[builtins.str], result)
4949
+
4950
+ @builtins.property
4951
+ def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4952
+ '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
4953
+
4954
+ The valid range is from 1 to 180 seconds, inclusive.
4955
+
4956
+ Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota
4957
+ has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.
4958
+
4959
+ :default: Duration.seconds(5)
4960
+ '''
4961
+ result = self._values.get("keepalive_timeout")
4962
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4963
+
4964
+ @builtins.property
4965
+ def read_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4966
+ '''Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout.
4967
+
4968
+ The valid range is from 1 to 180 seconds, inclusive.
4969
+
4970
+ Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota
4971
+ has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.
4972
+
4973
+ :default: Duration.seconds(30)
4974
+ '''
4975
+ result = self._values.get("read_timeout")
4976
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4977
+
4978
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4979
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4980
+
4981
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4982
+ return not (rhs == self)
4983
+
4984
+ def __repr__(self) -> str:
4985
+ return "VpcOriginProps(%s)" % ", ".join(
4986
+ k + "=" + repr(v) for k, v in self._values.items()
4987
+ )
4988
+
4989
+
4990
+ @jsii.data_type(
4991
+ jsii_type="aws-cdk-lib.aws_cloudfront_origins.VpcOriginWithEndpointProps",
4992
+ jsii_struct_bases=[VpcOriginProps, _VpcOriginOptions_f9e74bd8],
4993
+ name_mapping={
4994
+ "connection_attempts": "connectionAttempts",
4995
+ "connection_timeout": "connectionTimeout",
4996
+ "custom_headers": "customHeaders",
4997
+ "origin_access_control_id": "originAccessControlId",
4998
+ "origin_id": "originId",
4999
+ "origin_shield_enabled": "originShieldEnabled",
5000
+ "origin_shield_region": "originShieldRegion",
5001
+ "origin_path": "originPath",
5002
+ "domain_name": "domainName",
5003
+ "keepalive_timeout": "keepaliveTimeout",
5004
+ "read_timeout": "readTimeout",
5005
+ "http_port": "httpPort",
5006
+ "https_port": "httpsPort",
5007
+ "origin_ssl_protocols": "originSslProtocols",
5008
+ "protocol_policy": "protocolPolicy",
5009
+ "vpc_origin_name": "vpcOriginName",
5010
+ },
5011
+ )
5012
+ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5013
+ def __init__(
5014
+ self,
5015
+ *,
5016
+ connection_attempts: typing.Optional[jsii.Number] = None,
5017
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5018
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5019
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5020
+ origin_id: typing.Optional[builtins.str] = None,
5021
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5022
+ origin_shield_region: typing.Optional[builtins.str] = None,
5023
+ origin_path: typing.Optional[builtins.str] = None,
5024
+ domain_name: typing.Optional[builtins.str] = None,
5025
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5026
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5027
+ http_port: typing.Optional[jsii.Number] = None,
5028
+ https_port: typing.Optional[jsii.Number] = None,
5029
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5030
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
5031
+ vpc_origin_name: typing.Optional[builtins.str] = None,
5032
+ ) -> None:
5033
+ '''Properties to define a VPC origin with endpoint.
5034
+
5035
+ :param connection_attempts: The number of times that CloudFront attempts to connect to the origin; valid values are 1, 2, or 3 attempts. Default: 3
5036
+ :param connection_timeout: The number of seconds that CloudFront waits when trying to establish a connection to the origin. Valid values are 1-10 seconds, inclusive. Default: Duration.seconds(10)
5037
+ :param custom_headers: A list of HTTP header names and values that CloudFront adds to requests it sends to the origin. Default: {}
5038
+ :param origin_access_control_id: The unique identifier of an origin access control for this origin. Default: - no origin access control
5039
+ :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
5040
+ :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
5041
+ :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5042
+ :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
5043
+ :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
5044
+ :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
5045
+ :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
5046
+ :param http_port: The HTTP port for the CloudFront VPC origin endpoint configuration. Default: 80
5047
+ :param https_port: The HTTPS port of the CloudFront VPC origin endpoint configuration. Default: 443
5048
+ :param origin_ssl_protocols: A list that contains allowed SSL/TLS protocols for this distribution. Default: - TLSv1.2
5049
+ :param protocol_policy: The origin protocol policy for the CloudFront VPC origin endpoint configuration. Default: OriginProtocolPolicy.MATCH_VIEWER
5050
+ :param vpc_origin_name: The name of the CloudFront VPC origin endpoint configuration. Default: - generated from the ``id``
5051
+
5052
+ :exampleMetadata: fixture=_generated
5053
+
5054
+ Example::
5055
+
5056
+ # The code below shows an example of how to instantiate this type.
5057
+ # The values are placeholders you should change.
5058
+ import aws_cdk as cdk
5059
+ from aws_cdk import aws_cloudfront as cloudfront
5060
+ from aws_cdk import aws_cloudfront_origins as cloudfront_origins
5061
+
5062
+ vpc_origin_with_endpoint_props = cloudfront_origins.VpcOriginWithEndpointProps(
5063
+ connection_attempts=123,
5064
+ connection_timeout=cdk.Duration.minutes(30),
5065
+ custom_headers={
5066
+ "custom_headers_key": "customHeaders"
5067
+ },
5068
+ domain_name="domainName",
5069
+ http_port=123,
5070
+ https_port=123,
5071
+ keepalive_timeout=cdk.Duration.minutes(30),
5072
+ origin_access_control_id="originAccessControlId",
5073
+ origin_id="originId",
5074
+ origin_path="originPath",
5075
+ origin_shield_enabled=False,
5076
+ origin_shield_region="originShieldRegion",
5077
+ origin_ssl_protocols=[cloudfront.OriginSslPolicy.SSL_V3],
5078
+ protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,
5079
+ read_timeout=cdk.Duration.minutes(30),
5080
+ vpc_origin_name="vpcOriginName"
5081
+ )
5082
+ '''
5083
+ if __debug__:
5084
+ type_hints = typing.get_type_hints(_typecheckingstub__e581b80df977101d74a87a861c6ddf752f3dc8bcbd114f5e12bc33daa6879040)
5085
+ check_type(argname="argument connection_attempts", value=connection_attempts, expected_type=type_hints["connection_attempts"])
5086
+ check_type(argname="argument connection_timeout", value=connection_timeout, expected_type=type_hints["connection_timeout"])
5087
+ check_type(argname="argument custom_headers", value=custom_headers, expected_type=type_hints["custom_headers"])
5088
+ check_type(argname="argument origin_access_control_id", value=origin_access_control_id, expected_type=type_hints["origin_access_control_id"])
5089
+ check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
5090
+ check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
5091
+ check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
5092
+ check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
5093
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
5094
+ check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
5095
+ check_type(argname="argument read_timeout", value=read_timeout, expected_type=type_hints["read_timeout"])
5096
+ check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
5097
+ check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
5098
+ check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
5099
+ check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
5100
+ check_type(argname="argument vpc_origin_name", value=vpc_origin_name, expected_type=type_hints["vpc_origin_name"])
5101
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5102
+ if connection_attempts is not None:
5103
+ self._values["connection_attempts"] = connection_attempts
5104
+ if connection_timeout is not None:
5105
+ self._values["connection_timeout"] = connection_timeout
5106
+ if custom_headers is not None:
5107
+ self._values["custom_headers"] = custom_headers
5108
+ if origin_access_control_id is not None:
5109
+ self._values["origin_access_control_id"] = origin_access_control_id
5110
+ if origin_id is not None:
5111
+ self._values["origin_id"] = origin_id
5112
+ if origin_shield_enabled is not None:
5113
+ self._values["origin_shield_enabled"] = origin_shield_enabled
5114
+ if origin_shield_region is not None:
5115
+ self._values["origin_shield_region"] = origin_shield_region
5116
+ if origin_path is not None:
5117
+ self._values["origin_path"] = origin_path
5118
+ if domain_name is not None:
5119
+ self._values["domain_name"] = domain_name
5120
+ if keepalive_timeout is not None:
5121
+ self._values["keepalive_timeout"] = keepalive_timeout
5122
+ if read_timeout is not None:
5123
+ self._values["read_timeout"] = read_timeout
5124
+ if http_port is not None:
5125
+ self._values["http_port"] = http_port
5126
+ if https_port is not None:
5127
+ self._values["https_port"] = https_port
5128
+ if origin_ssl_protocols is not None:
5129
+ self._values["origin_ssl_protocols"] = origin_ssl_protocols
5130
+ if protocol_policy is not None:
5131
+ self._values["protocol_policy"] = protocol_policy
5132
+ if vpc_origin_name is not None:
5133
+ self._values["vpc_origin_name"] = vpc_origin_name
5134
+
5135
+ @builtins.property
5136
+ def connection_attempts(self) -> typing.Optional[jsii.Number]:
5137
+ '''The number of times that CloudFront attempts to connect to the origin;
5138
+
5139
+ valid values are 1, 2, or 3 attempts.
5140
+
5141
+ :default: 3
5142
+ '''
5143
+ result = self._values.get("connection_attempts")
5144
+ return typing.cast(typing.Optional[jsii.Number], result)
5145
+
5146
+ @builtins.property
5147
+ def connection_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
5148
+ '''The number of seconds that CloudFront waits when trying to establish a connection to the origin.
5149
+
5150
+ Valid values are 1-10 seconds, inclusive.
5151
+
5152
+ :default: Duration.seconds(10)
5153
+ '''
5154
+ result = self._values.get("connection_timeout")
5155
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5156
+
5157
+ @builtins.property
5158
+ def custom_headers(
5159
+ self,
5160
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
5161
+ '''A list of HTTP header names and values that CloudFront adds to requests it sends to the origin.
5162
+
5163
+ :default: {}
5164
+ '''
5165
+ result = self._values.get("custom_headers")
5166
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
5167
+
5168
+ @builtins.property
5169
+ def origin_access_control_id(self) -> typing.Optional[builtins.str]:
5170
+ '''The unique identifier of an origin access control for this origin.
5171
+
5172
+ :default: - no origin access control
5173
+ '''
5174
+ result = self._values.get("origin_access_control_id")
5175
+ return typing.cast(typing.Optional[builtins.str], result)
5176
+
5177
+ @builtins.property
5178
+ def origin_id(self) -> typing.Optional[builtins.str]:
5179
+ '''A unique identifier for the origin.
5180
+
5181
+ This value must be unique within the distribution.
5182
+
5183
+ :default: - an originid will be generated for you
5184
+ '''
5185
+ result = self._values.get("origin_id")
5186
+ return typing.cast(typing.Optional[builtins.str], result)
5187
+
5188
+ @builtins.property
5189
+ def origin_shield_enabled(self) -> typing.Optional[builtins.bool]:
5190
+ '''Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false.
5191
+
5192
+ :default: - true
5193
+ '''
5194
+ result = self._values.get("origin_shield_enabled")
5195
+ return typing.cast(typing.Optional[builtins.bool], result)
5196
+
5197
+ @builtins.property
5198
+ def origin_shield_region(self) -> typing.Optional[builtins.str]:
5199
+ '''When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance.
5200
+
5201
+ :default: - origin shield not enabled
5202
+
5203
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
5204
+ '''
5205
+ result = self._values.get("origin_shield_region")
5206
+ return typing.cast(typing.Optional[builtins.str], result)
5207
+
5208
+ @builtins.property
5209
+ def origin_path(self) -> typing.Optional[builtins.str]:
5210
+ '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
5211
+
5212
+ Must begin, but not end, with '/' (e.g., '/production/images').
5213
+
5214
+ :default: '/'
5215
+ '''
5216
+ result = self._values.get("origin_path")
5217
+ return typing.cast(typing.Optional[builtins.str], result)
5218
+
5219
+ @builtins.property
5220
+ def domain_name(self) -> typing.Optional[builtins.str]:
5221
+ '''The domain name associated with your VPC origin.
5222
+
5223
+ :default: - The default domain name of the endpoint.
5224
+ '''
5225
+ result = self._values.get("domain_name")
5226
+ return typing.cast(typing.Optional[builtins.str], result)
5227
+
5228
+ @builtins.property
5229
+ def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
5230
+ '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
5231
+
5232
+ The valid range is from 1 to 180 seconds, inclusive.
5233
+
5234
+ Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota
5235
+ has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.
5236
+
5237
+ :default: Duration.seconds(5)
5238
+ '''
5239
+ result = self._values.get("keepalive_timeout")
5240
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5241
+
5242
+ @builtins.property
5243
+ def read_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
5244
+ '''Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout.
5245
+
5246
+ The valid range is from 1 to 180 seconds, inclusive.
5247
+
5248
+ Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota
5249
+ has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time.
5250
+
5251
+ :default: Duration.seconds(30)
5252
+ '''
5253
+ result = self._values.get("read_timeout")
5254
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5255
+
5256
+ @builtins.property
5257
+ def http_port(self) -> typing.Optional[jsii.Number]:
5258
+ '''The HTTP port for the CloudFront VPC origin endpoint configuration.
5259
+
5260
+ :default: 80
5261
+ '''
5262
+ result = self._values.get("http_port")
5263
+ return typing.cast(typing.Optional[jsii.Number], result)
5264
+
5265
+ @builtins.property
5266
+ def https_port(self) -> typing.Optional[jsii.Number]:
5267
+ '''The HTTPS port of the CloudFront VPC origin endpoint configuration.
5268
+
5269
+ :default: 443
5270
+ '''
5271
+ result = self._values.get("https_port")
5272
+ return typing.cast(typing.Optional[jsii.Number], result)
5273
+
5274
+ @builtins.property
5275
+ def origin_ssl_protocols(
5276
+ self,
5277
+ ) -> typing.Optional[typing.List[_OriginSslPolicy_d65cede2]]:
5278
+ '''A list that contains allowed SSL/TLS protocols for this distribution.
5279
+
5280
+ :default: - TLSv1.2
5281
+ '''
5282
+ result = self._values.get("origin_ssl_protocols")
5283
+ return typing.cast(typing.Optional[typing.List[_OriginSslPolicy_d65cede2]], result)
5284
+
5285
+ @builtins.property
5286
+ def protocol_policy(self) -> typing.Optional[_OriginProtocolPolicy_967ed73c]:
5287
+ '''The origin protocol policy for the CloudFront VPC origin endpoint configuration.
5288
+
5289
+ :default: OriginProtocolPolicy.MATCH_VIEWER
5290
+ '''
5291
+ result = self._values.get("protocol_policy")
5292
+ return typing.cast(typing.Optional[_OriginProtocolPolicy_967ed73c], result)
5293
+
5294
+ @builtins.property
5295
+ def vpc_origin_name(self) -> typing.Optional[builtins.str]:
5296
+ '''The name of the CloudFront VPC origin endpoint configuration.
5297
+
5298
+ :default: - generated from the ``id``
5299
+ '''
5300
+ result = self._values.get("vpc_origin_name")
5301
+ return typing.cast(typing.Optional[builtins.str], result)
5302
+
5303
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5304
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5305
+
5306
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5307
+ return not (rhs == self)
5308
+
5309
+ def __repr__(self) -> str:
5310
+ return "VpcOriginWithEndpointProps(%s)" % ", ".join(
5311
+ k + "=" + repr(v) for k, v in self._values.items()
5312
+ )
5313
+
5314
+
5315
+ __all__ = [
5316
+ "FunctionUrlOrigin",
5317
+ "FunctionUrlOriginBaseProps",
5318
+ "FunctionUrlOriginProps",
5319
+ "FunctionUrlOriginWithOACProps",
5320
+ "HttpOrigin",
5321
+ "HttpOriginProps",
5322
+ "LoadBalancerV2Origin",
5323
+ "LoadBalancerV2OriginProps",
5324
+ "OriginGroup",
5325
+ "OriginGroupProps",
5326
+ "RestApiOrigin",
5327
+ "RestApiOriginProps",
5328
+ "S3BucketOrigin",
5329
+ "S3BucketOriginBaseProps",
5330
+ "S3BucketOriginWithOACProps",
5331
+ "S3BucketOriginWithOAIProps",
5332
+ "S3Origin",
5333
+ "S3OriginProps",
5334
+ "S3StaticWebsiteOrigin",
5335
+ "S3StaticWebsiteOriginProps",
5336
+ "VpcOrigin",
5337
+ "VpcOriginProps",
5338
+ "VpcOriginWithEndpointProps",
5339
+ ]
5340
+
5341
+ publication.publish()
5342
+
5343
+ def _typecheckingstub__fcda903697b26acfe2149a285d5a64619682b675affb52f4ae2d1aca46c8f1c3(
5344
+ lambda_function_url: _IFunctionUrl_1a74cd94,
5345
+ *,
5346
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5347
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5348
+ origin_path: typing.Optional[builtins.str] = None,
5349
+ connection_attempts: typing.Optional[jsii.Number] = None,
5350
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5351
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5352
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5353
+ origin_id: typing.Optional[builtins.str] = None,
5354
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5355
+ origin_shield_region: typing.Optional[builtins.str] = None,
5356
+ ) -> None:
5357
+ """Type checking stubs"""
5358
+ pass
5359
+
5360
+ def _typecheckingstub__b4d59b7721f41be7903dbcffeddd34d596392d2c8d2a4110f31a4dacdb532727(
5361
+ lambda_function_url: _IFunctionUrl_1a74cd94,
5362
+ *,
5363
+ origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
5364
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5365
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5366
+ origin_path: typing.Optional[builtins.str] = None,
5367
+ connection_attempts: typing.Optional[jsii.Number] = None,
5368
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5369
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5370
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5371
+ origin_id: typing.Optional[builtins.str] = None,
5372
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5373
+ origin_shield_region: typing.Optional[builtins.str] = None,
5374
+ ) -> None:
5375
+ """Type checking stubs"""
5376
+ pass
5377
+
5378
+ def _typecheckingstub__610b4764a440619f38a9adeb3e13225e58180ee2ee316abd994579fdcdb84c12(
5379
+ *,
5380
+ connection_attempts: typing.Optional[jsii.Number] = None,
5381
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5382
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5383
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5384
+ origin_id: typing.Optional[builtins.str] = None,
5385
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5386
+ origin_shield_region: typing.Optional[builtins.str] = None,
5387
+ origin_path: typing.Optional[builtins.str] = None,
5388
+ ) -> None:
5389
+ """Type checking stubs"""
5390
+ pass
5391
+
5392
+ def _typecheckingstub__56d340a9ac5dd93c6aa22cb98bcbc860fb23f8d247b53c2cd1a51ecd8406909a(
5393
+ *,
5394
+ connection_attempts: typing.Optional[jsii.Number] = None,
5395
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5396
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5397
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5398
+ origin_id: typing.Optional[builtins.str] = None,
5399
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5400
+ origin_shield_region: typing.Optional[builtins.str] = None,
5401
+ origin_path: typing.Optional[builtins.str] = None,
5402
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5403
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5404
+ ) -> None:
5405
+ """Type checking stubs"""
5406
+ pass
5407
+
5408
+ def _typecheckingstub__56968af993436ccfcac0aa6a57169f1a033078c10740d435d086816ad0336a75(
5409
+ *,
5410
+ connection_attempts: typing.Optional[jsii.Number] = None,
5411
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5412
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5413
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5414
+ origin_id: typing.Optional[builtins.str] = None,
5415
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5416
+ origin_shield_region: typing.Optional[builtins.str] = None,
5417
+ origin_path: typing.Optional[builtins.str] = None,
5418
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5419
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5420
+ origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
5421
+ ) -> None:
5422
+ """Type checking stubs"""
5423
+ pass
5424
+
5425
+ def _typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35cfc0cc5(
5426
+ domain_name: builtins.str,
4383
5427
  *,
4384
5428
  http_port: typing.Optional[jsii.Number] = None,
4385
5429
  https_port: typing.Optional[jsii.Number] = None,
@@ -4700,3 +5744,153 @@ def _typecheckingstub__5bc18cdba7c0e6d7d0a68d2a1cf3c3f91f50a7e3e7384f5f62ebee600
4700
5744
  ) -> None:
4701
5745
  """Type checking stubs"""
4702
5746
  pass
5747
+
5748
+ def _typecheckingstub__27d66442a972110883cdde622df199c2db6a7264e19031f1118d7aa01681cef6(
5749
+ domain_name_: builtins.str,
5750
+ *,
5751
+ domain_name: typing.Optional[builtins.str] = None,
5752
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5753
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5754
+ origin_path: typing.Optional[builtins.str] = None,
5755
+ connection_attempts: typing.Optional[jsii.Number] = None,
5756
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5757
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5758
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5759
+ origin_id: typing.Optional[builtins.str] = None,
5760
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5761
+ origin_shield_region: typing.Optional[builtins.str] = None,
5762
+ ) -> None:
5763
+ """Type checking stubs"""
5764
+ pass
5765
+
5766
+ def _typecheckingstub__8615ead9bb90a8fd2c91dc07371d03b8f4b4192a1500a449646bd8a7be95fa6c(
5767
+ alb: _IApplicationLoadBalancer_4cbd50ab,
5768
+ *,
5769
+ domain_name: typing.Optional[builtins.str] = None,
5770
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5771
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5772
+ http_port: typing.Optional[jsii.Number] = None,
5773
+ https_port: typing.Optional[jsii.Number] = None,
5774
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5775
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
5776
+ vpc_origin_name: typing.Optional[builtins.str] = None,
5777
+ origin_path: typing.Optional[builtins.str] = None,
5778
+ connection_attempts: typing.Optional[jsii.Number] = None,
5779
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5780
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5781
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5782
+ origin_id: typing.Optional[builtins.str] = None,
5783
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5784
+ origin_shield_region: typing.Optional[builtins.str] = None,
5785
+ ) -> None:
5786
+ """Type checking stubs"""
5787
+ pass
5788
+
5789
+ def _typecheckingstub__1fc3f8db0baa99548845b1733d31d8271fbe2c934c89a6c44958edcb38b35a13(
5790
+ instance: _IInstance_ab239e7c,
5791
+ *,
5792
+ domain_name: typing.Optional[builtins.str] = None,
5793
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5794
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5795
+ http_port: typing.Optional[jsii.Number] = None,
5796
+ https_port: typing.Optional[jsii.Number] = None,
5797
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5798
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
5799
+ vpc_origin_name: typing.Optional[builtins.str] = None,
5800
+ origin_path: typing.Optional[builtins.str] = None,
5801
+ connection_attempts: typing.Optional[jsii.Number] = None,
5802
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5803
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5804
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5805
+ origin_id: typing.Optional[builtins.str] = None,
5806
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5807
+ origin_shield_region: typing.Optional[builtins.str] = None,
5808
+ ) -> None:
5809
+ """Type checking stubs"""
5810
+ pass
5811
+
5812
+ def _typecheckingstub__83c5561f2747600ee99b6ee41190dcba45f2a24cc1c9500759e9c382320b83d6(
5813
+ nlb: _INetworkLoadBalancer_96e17101,
5814
+ *,
5815
+ domain_name: typing.Optional[builtins.str] = None,
5816
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5817
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5818
+ http_port: typing.Optional[jsii.Number] = None,
5819
+ https_port: typing.Optional[jsii.Number] = None,
5820
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5821
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
5822
+ vpc_origin_name: typing.Optional[builtins.str] = None,
5823
+ origin_path: typing.Optional[builtins.str] = None,
5824
+ connection_attempts: typing.Optional[jsii.Number] = None,
5825
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5826
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5827
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5828
+ origin_id: typing.Optional[builtins.str] = None,
5829
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5830
+ origin_shield_region: typing.Optional[builtins.str] = None,
5831
+ ) -> None:
5832
+ """Type checking stubs"""
5833
+ pass
5834
+
5835
+ def _typecheckingstub__b7ed2e0f746eab77b2774c1adb0f114f10e786a05b531cd1218f93ad3770e5af(
5836
+ origin: _IVpcOrigin_6f584d50,
5837
+ *,
5838
+ domain_name: typing.Optional[builtins.str] = None,
5839
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5840
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5841
+ origin_path: typing.Optional[builtins.str] = None,
5842
+ connection_attempts: typing.Optional[jsii.Number] = None,
5843
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5844
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5845
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5846
+ origin_id: typing.Optional[builtins.str] = None,
5847
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5848
+ origin_shield_region: typing.Optional[builtins.str] = None,
5849
+ ) -> None:
5850
+ """Type checking stubs"""
5851
+ pass
5852
+
5853
+ def _typecheckingstub__1d0218fc5ea8fbca94cbaeda39ab353fe5c35e197d6d8d60852fb576332785ce(
5854
+ value: typing.Optional[_IVpcOrigin_6f584d50],
5855
+ ) -> None:
5856
+ """Type checking stubs"""
5857
+ pass
5858
+
5859
+ def _typecheckingstub__6605ea586b09bdf0ddb88a83b7c4e00626fe891625563cb019777b1480340f14(
5860
+ *,
5861
+ connection_attempts: typing.Optional[jsii.Number] = None,
5862
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5863
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5864
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5865
+ origin_id: typing.Optional[builtins.str] = None,
5866
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5867
+ origin_shield_region: typing.Optional[builtins.str] = None,
5868
+ origin_path: typing.Optional[builtins.str] = None,
5869
+ domain_name: typing.Optional[builtins.str] = None,
5870
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5871
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5872
+ ) -> None:
5873
+ """Type checking stubs"""
5874
+ pass
5875
+
5876
+ def _typecheckingstub__e581b80df977101d74a87a861c6ddf752f3dc8bcbd114f5e12bc33daa6879040(
5877
+ *,
5878
+ connection_attempts: typing.Optional[jsii.Number] = None,
5879
+ connection_timeout: typing.Optional[_Duration_4839e8c3] = None,
5880
+ custom_headers: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
5881
+ origin_access_control_id: typing.Optional[builtins.str] = None,
5882
+ origin_id: typing.Optional[builtins.str] = None,
5883
+ origin_shield_enabled: typing.Optional[builtins.bool] = None,
5884
+ origin_shield_region: typing.Optional[builtins.str] = None,
5885
+ origin_path: typing.Optional[builtins.str] = None,
5886
+ domain_name: typing.Optional[builtins.str] = None,
5887
+ keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5888
+ read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5889
+ http_port: typing.Optional[jsii.Number] = None,
5890
+ https_port: typing.Optional[jsii.Number] = None,
5891
+ origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5892
+ protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
5893
+ vpc_origin_name: typing.Optional[builtins.str] = None,
5894
+ ) -> None:
5895
+ """Type checking stubs"""
5896
+ pass