aws-cdk-lib 2.177.0__py3-none-any.whl → 2.178.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. aws_cdk/__init__.py +95 -61
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.177.0.jsii.tgz → aws-cdk-lib@2.178.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplifyuibuilder/__init__.py +8 -8
  5. aws_cdk/aws_apigateway/__init__.py +97 -97
  6. aws_cdk/aws_apigatewayv2/__init__.py +35 -10
  7. aws_cdk/aws_appconfig/__init__.py +10 -10
  8. aws_cdk/aws_appflow/__init__.py +20 -20
  9. aws_cdk/aws_applicationsignals/__init__.py +8 -8
  10. aws_cdk/aws_appmesh/__init__.py +8 -8
  11. aws_cdk/aws_appsync/__init__.py +10383 -7035
  12. aws_cdk/aws_apptest/__init__.py +4 -4
  13. aws_cdk/aws_aps/__init__.py +135 -0
  14. aws_cdk/aws_athena/__init__.py +10 -10
  15. aws_cdk/aws_backup/__init__.py +14 -14
  16. aws_cdk/aws_batch/__init__.py +185 -22
  17. aws_cdk/aws_bcmdataexports/__init__.py +4 -4
  18. aws_cdk/aws_bedrock/__init__.py +266 -177
  19. aws_cdk/aws_certificatemanager/__init__.py +15 -14
  20. aws_cdk/aws_chatbot/__init__.py +4 -4
  21. aws_cdk/aws_cloudformation/__init__.py +22 -18
  22. aws_cdk/aws_cloudfront/__init__.py +674 -7
  23. aws_cdk/aws_cloudfront_origins/__init__.py +40 -0
  24. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  25. aws_cdk/aws_cloudwatch/__init__.py +53 -53
  26. aws_cdk/aws_codedeploy/__init__.py +2 -2
  27. aws_cdk/aws_codepipeline/__init__.py +24 -6
  28. aws_cdk/aws_codepipeline_actions/__init__.py +2 -2
  29. aws_cdk/aws_cognito/__init__.py +42 -20
  30. aws_cdk/aws_connect/__init__.py +4 -4
  31. aws_cdk/aws_customerprofiles/__init__.py +3 -1
  32. aws_cdk/aws_databrew/__init__.py +16 -16
  33. aws_cdk/aws_datasync/__init__.py +14 -11
  34. aws_cdk/aws_datazone/__init__.py +5 -5
  35. aws_cdk/aws_dms/__init__.py +4 -4
  36. aws_cdk/aws_dynamodb/__init__.py +267 -25
  37. aws_cdk/aws_ec2/__init__.py +1137 -181
  38. aws_cdk/aws_ecs/__init__.py +740 -116
  39. aws_cdk/aws_ecs_patterns/__init__.py +49 -0
  40. aws_cdk/aws_efs/__init__.py +3 -3
  41. aws_cdk/aws_eks/__init__.py +31 -32
  42. aws_cdk/aws_elasticache/__init__.py +10 -10
  43. aws_cdk/aws_elasticloadbalancingv2/__init__.py +47 -18
  44. aws_cdk/aws_elasticsearch/__init__.py +10 -10
  45. aws_cdk/aws_emr/__init__.py +16 -16
  46. aws_cdk/aws_emrserverless/__init__.py +12 -9
  47. aws_cdk/aws_entityresolution/__init__.py +31 -17
  48. aws_cdk/aws_events/__init__.py +12 -12
  49. aws_cdk/aws_fis/__init__.py +16 -16
  50. aws_cdk/aws_fms/__init__.py +7 -3
  51. aws_cdk/aws_glue/__init__.py +1326 -7
  52. aws_cdk/aws_greengrassv2/__init__.py +8 -8
  53. aws_cdk/aws_guardduty/__init__.py +521 -0
  54. aws_cdk/aws_healthlake/__init__.py +10 -2
  55. aws_cdk/aws_imagebuilder/__init__.py +26 -26
  56. aws_cdk/aws_iot/__init__.py +40 -40
  57. aws_cdk/aws_iotanalytics/__init__.py +4 -4
  58. aws_cdk/aws_iotfleetwise/__init__.py +424 -10
  59. aws_cdk/aws_iotsitewise/__init__.py +84 -13
  60. aws_cdk/aws_iottwinmaker/__init__.py +18 -18
  61. aws_cdk/aws_iotwireless/__init__.py +4 -4
  62. aws_cdk/aws_kafkaconnect/__init__.py +10 -10
  63. aws_cdk/aws_kendra/__init__.py +0 -10
  64. aws_cdk/aws_kinesisanalytics/__init__.py +4 -4
  65. aws_cdk/aws_kinesisanalyticsv2/__init__.py +4 -4
  66. aws_cdk/aws_kinesisfirehose/__init__.py +4544 -183
  67. aws_cdk/aws_kms/__init__.py +11 -10
  68. aws_cdk/aws_lambda/__init__.py +34 -4
  69. aws_cdk/aws_lambda_nodejs/__init__.py +24 -5
  70. aws_cdk/aws_launchwizard/__init__.py +10 -10
  71. aws_cdk/aws_logs/__init__.py +19 -15
  72. aws_cdk/aws_mediaconnect/__init__.py +509 -12
  73. aws_cdk/aws_medialive/__init__.py +16 -16
  74. aws_cdk/aws_mediatailor/__init__.py +10 -10
  75. aws_cdk/aws_networkfirewall/__init__.py +12 -12
  76. aws_cdk/aws_notifications/__init__.py +602 -65
  77. aws_cdk/aws_omics/__init__.py +4 -4
  78. aws_cdk/aws_opensearchservice/__init__.py +10 -10
  79. aws_cdk/aws_opsworks/__init__.py +58 -58
  80. aws_cdk/aws_personalize/__init__.py +8 -8
  81. aws_cdk/aws_pipes/__init__.py +20 -20
  82. aws_cdk/aws_qbusiness/__init__.py +119 -0
  83. aws_cdk/aws_quicksight/__init__.py +247 -92
  84. aws_cdk/aws_rds/__init__.py +21 -15
  85. aws_cdk/aws_redshift/__init__.py +10 -10
  86. aws_cdk/aws_resiliencehub/__init__.py +0 -41
  87. aws_cdk/aws_route53/__init__.py +6 -0
  88. aws_cdk/aws_rum/__init__.py +4 -4
  89. aws_cdk/aws_s3/__init__.py +12 -2
  90. aws_cdk/aws_sagemaker/__init__.py +84 -60
  91. aws_cdk/aws_sam/__init__.py +48 -48
  92. aws_cdk/aws_secretsmanager/__init__.py +30 -14
  93. aws_cdk/aws_securityhub/__init__.py +12 -12
  94. aws_cdk/aws_sns/__init__.py +101 -15
  95. aws_cdk/aws_ssmquicksetup/__init__.py +10 -10
  96. aws_cdk/aws_stepfunctions/__init__.py +13207 -4740
  97. aws_cdk/aws_stepfunctions_tasks/__init__.py +77615 -22817
  98. aws_cdk/aws_synthetics/__init__.py +4 -4
  99. aws_cdk/aws_timestream/__init__.py +41 -0
  100. aws_cdk/aws_transfer/__init__.py +9 -10
  101. aws_cdk/aws_wafv2/__init__.py +24 -22
  102. aws_cdk/aws_wisdom/__init__.py +8 -8
  103. aws_cdk/aws_workspacesweb/__init__.py +60 -60
  104. aws_cdk/aws_xray/__init__.py +8 -8
  105. aws_cdk/cx_api/__init__.py +18 -0
  106. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/METADATA +1 -1
  107. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/RECORD +111 -111
  108. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/LICENSE +0 -0
  109. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/NOTICE +0 -0
  110. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/WHEEL +0 -0
  111. {aws_cdk_lib-2.177.0.dist-info → aws_cdk_lib-2.178.1.dist-info}/top_level.txt +0 -0
@@ -7009,6 +7009,13 @@ class CfnDistribution(
7009
7009
  ),
7010
7010
  s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(
7011
7011
  origin_access_identity="originAccessIdentity"
7012
+ ),
7013
+ vpc_origin_config=cloudfront.CfnDistribution.VpcOriginConfigProperty(
7014
+ vpc_origin_id="vpcOriginId",
7015
+
7016
+ # the properties below are optional
7017
+ origin_keepalive_timeout=123,
7018
+ origin_read_timeout=123
7012
7019
  )
7013
7020
  )],
7014
7021
  price_class="priceClass",
@@ -8731,6 +8738,7 @@ class CfnDistribution(
8731
8738
  "origin_path": "originPath",
8732
8739
  "origin_shield": "originShield",
8733
8740
  "s3_origin_config": "s3OriginConfig",
8741
+ "vpc_origin_config": "vpcOriginConfig",
8734
8742
  },
8735
8743
  )
8736
8744
  class OriginProperty:
@@ -8747,6 +8755,7 @@ class CfnDistribution(
8747
8755
  origin_path: typing.Optional[builtins.str] = None,
8748
8756
  origin_shield: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.OriginShieldProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8749
8757
  s3_origin_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.S3OriginConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8758
+ vpc_origin_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.VpcOriginConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8750
8759
  ) -> None:
8751
8760
  '''An origin.
8752
8761
 
@@ -8772,6 +8781,7 @@ class CfnDistribution(
8772
8781
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. For more information, see `Origin Path <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath>`_ in the *Amazon CloudFront Developer Guide* . Default: - ""
8773
8782
  :param origin_shield: CloudFront Origin Shield. Using Origin Shield can help reduce the load on your origin. For more information, see `Using Origin Shield <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html>`_ in the *Amazon CloudFront Developer Guide* .
8774
8783
  :param s3_origin_config: Use this type to specify an origin that is an Amazon S3 bucket that is not configured with static website hosting. To specify any other type of origin, including an Amazon S3 bucket that is configured with static website hosting, use the ``CustomOriginConfig`` type instead.
8784
+ :param vpc_origin_config:
8775
8785
 
8776
8786
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html
8777
8787
  :exampleMetadata: fixture=_generated
@@ -8811,6 +8821,13 @@ class CfnDistribution(
8811
8821
  ),
8812
8822
  s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(
8813
8823
  origin_access_identity="originAccessIdentity"
8824
+ ),
8825
+ vpc_origin_config=cloudfront.CfnDistribution.VpcOriginConfigProperty(
8826
+ vpc_origin_id="vpcOriginId",
8827
+
8828
+ # the properties below are optional
8829
+ origin_keepalive_timeout=123,
8830
+ origin_read_timeout=123
8814
8831
  )
8815
8832
  )
8816
8833
  '''
@@ -8826,6 +8843,7 @@ class CfnDistribution(
8826
8843
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
8827
8844
  check_type(argname="argument origin_shield", value=origin_shield, expected_type=type_hints["origin_shield"])
8828
8845
  check_type(argname="argument s3_origin_config", value=s3_origin_config, expected_type=type_hints["s3_origin_config"])
8846
+ check_type(argname="argument vpc_origin_config", value=vpc_origin_config, expected_type=type_hints["vpc_origin_config"])
8829
8847
  self._values: typing.Dict[builtins.str, typing.Any] = {
8830
8848
  "domain_name": domain_name,
8831
8849
  "id": id,
@@ -8846,6 +8864,8 @@ class CfnDistribution(
8846
8864
  self._values["origin_shield"] = origin_shield
8847
8865
  if s3_origin_config is not None:
8848
8866
  self._values["s3_origin_config"] = s3_origin_config
8867
+ if vpc_origin_config is not None:
8868
+ self._values["vpc_origin_config"] = vpc_origin_config
8849
8869
 
8850
8870
  @builtins.property
8851
8871
  def domain_name(self) -> builtins.str:
@@ -8975,6 +8995,16 @@ class CfnDistribution(
8975
8995
  result = self._values.get("s3_origin_config")
8976
8996
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.S3OriginConfigProperty"]], result)
8977
8997
 
8998
+ @builtins.property
8999
+ def vpc_origin_config(
9000
+ self,
9001
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.VpcOriginConfigProperty"]]:
9002
+ '''
9003
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-vpcoriginconfig
9004
+ '''
9005
+ result = self._values.get("vpc_origin_config")
9006
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.VpcOriginConfigProperty"]], result)
9007
+
8978
9008
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8979
9009
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8980
9010
 
@@ -9220,7 +9250,7 @@ class CfnDistribution(
9220
9250
  def __init__(
9221
9251
  self,
9222
9252
  *,
9223
- items: typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]],
9253
+ items: typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b],
9224
9254
  quantity: jsii.Number,
9225
9255
  ) -> None:
9226
9256
  '''A complex data type for the status codes that you specify that, when returned by a primary origin, trigger CloudFront to failover to a second origin.
@@ -9254,14 +9284,14 @@ class CfnDistribution(
9254
9284
  @builtins.property
9255
9285
  def items(
9256
9286
  self,
9257
- ) -> typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]:
9287
+ ) -> typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b]:
9258
9288
  '''The items (status codes) for an origin group.
9259
9289
 
9260
9290
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-items
9261
9291
  '''
9262
9292
  result = self._values.get("items")
9263
9293
  assert result is not None, "Required property 'items' is missing"
9264
- return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]], result)
9294
+ return typing.cast(typing.Union[typing.List[jsii.Number], _IResolvable_da3f097b], result)
9265
9295
 
9266
9296
  @builtins.property
9267
9297
  def quantity(self) -> jsii.Number:
@@ -9327,7 +9357,7 @@ class CfnDistribution(
9327
9357
  :param cloud_front_default_certificate: If the distribution uses the CloudFront domain name such as ``d111111abcdef8.cloudfront.net`` , set this field to ``true`` . If the distribution uses ``Aliases`` (alternate domain names or CNAMEs), omit this field and specify values for the following fields: - ``AcmCertificateArn`` or ``IamCertificateId`` (specify a value for one, not both) - ``MinimumProtocolVersion`` - ``SslSupportMethod``
9328
9358
  :param iam_certificate_id: .. epigraph:: In CloudFormation, this field name is ``IamCertificateId`` . Note the different capitalization. If the distribution uses ``Aliases`` (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in `AWS Identity and Access Management (IAM) <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html>`_ , provide the ID of the IAM certificate. If you specify an IAM certificate ID, you must also specify values for ``MinimumProtocolVersion`` and ``SSLSupportMethod`` . (In CloudFormation, the field name is ``SslSupportMethod`` . Note the different capitalization.)
9329
9359
  :param minimum_protocol_version: If the distribution uses ``Aliases`` (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings: - The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers. - The ciphers that CloudFront can use to encrypt the content that it returns to viewers. For more information, see `Security Policy <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy>`_ and `Supported Protocols and Ciphers Between Viewers and CloudFront <https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers>`_ in the *Amazon CloudFront Developer Guide* . .. epigraph:: On the CloudFront console, this setting is called *Security Policy* . When you're using SNI only (you set ``SSLSupportMethod`` to ``sni-only`` ), you must specify ``TLSv1`` or higher. (In CloudFormation, the field name is ``SslSupportMethod`` . Note the different capitalization.) If the distribution uses the CloudFront domain name such as ``d111111abcdef8.cloudfront.net`` (you set ``CloudFrontDefaultCertificate`` to ``true`` ), CloudFront automatically sets the security policy to ``TLSv1`` regardless of the value that you set here.
9330
- :param ssl_support_method: .. epigraph:: In CloudFormation, this field name is ``SslSupportMethod`` . Note the different capitalization. If the distribution uses ``Aliases`` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from. - ``sni-only`` – The distribution accepts HTTPS connections from only viewers that support `server name indication (SNI) <https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication>`_ . This is recommended. Most browsers and clients support SNI. - ``vip`` – The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront. - ``static-ip`` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the `AWS Support Center <https://docs.aws.amazon.com/support/home>`_ . If the distribution uses the CloudFront domain name such as ``d111111abcdef8.cloudfront.net`` , don't set a value for this field.
9360
+ :param ssl_support_method: .. epigraph:: In CloudFormation, this field name is ``SslSupportMethod`` . Note the different capitalization. If the distribution uses ``Aliases`` (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from. - ``sni-only`` – The distribution accepts HTTPS connections from only viewers that support `server name indication (SNI) <https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication>`_ . This is recommended. Most browsers and clients support SNI. - ``vip`` – The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront. - ``static-ip`` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the `Support Center <https://docs.aws.amazon.com/support/home>`_ . If the distribution uses the CloudFront domain name such as ``d111111abcdef8.cloudfront.net`` , don't set a value for this field.
9331
9361
 
9332
9362
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html
9333
9363
  :exampleMetadata: fixture=_generated
@@ -9445,7 +9475,7 @@ class CfnDistribution(
9445
9475
 
9446
9476
  - ``sni-only`` – The distribution accepts HTTPS connections from only viewers that support `server name indication (SNI) <https://docs.aws.amazon.com/https://en.wikipedia.org/wiki/Server_Name_Indication>`_ . This is recommended. Most browsers and clients support SNI.
9447
9477
  - ``vip`` – The distribution accepts HTTPS connections from all viewers including those that don't support SNI. This is not recommended, and results in additional monthly charges from CloudFront.
9448
- - ``static-ip`` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the `AWS Support Center <https://docs.aws.amazon.com/support/home>`_ .
9478
+ - ``static-ip`` - Do not specify this value unless your distribution has been enabled for this feature by the CloudFront team. If you have a use case that requires static IP addresses for a distribution, contact CloudFront through the `Support Center <https://docs.aws.amazon.com/support/home>`_ .
9449
9479
 
9450
9480
  If the distribution uses the CloudFront domain name such as ``d111111abcdef8.cloudfront.net`` , don't set a value for this field.
9451
9481
 
@@ -9465,6 +9495,98 @@ class CfnDistribution(
9465
9495
  k + "=" + repr(v) for k, v in self._values.items()
9466
9496
  )
9467
9497
 
9498
+ @jsii.data_type(
9499
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnDistribution.VpcOriginConfigProperty",
9500
+ jsii_struct_bases=[],
9501
+ name_mapping={
9502
+ "vpc_origin_id": "vpcOriginId",
9503
+ "origin_keepalive_timeout": "originKeepaliveTimeout",
9504
+ "origin_read_timeout": "originReadTimeout",
9505
+ },
9506
+ )
9507
+ class VpcOriginConfigProperty:
9508
+ def __init__(
9509
+ self,
9510
+ *,
9511
+ vpc_origin_id: builtins.str,
9512
+ origin_keepalive_timeout: typing.Optional[jsii.Number] = None,
9513
+ origin_read_timeout: typing.Optional[jsii.Number] = None,
9514
+ ) -> None:
9515
+ '''
9516
+ :param vpc_origin_id:
9517
+ :param origin_keepalive_timeout: Default: - 5
9518
+ :param origin_read_timeout: Default: - 30
9519
+
9520
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html
9521
+ :exampleMetadata: fixture=_generated
9522
+
9523
+ Example::
9524
+
9525
+ # The code below shows an example of how to instantiate this type.
9526
+ # The values are placeholders you should change.
9527
+ from aws_cdk import aws_cloudfront as cloudfront
9528
+
9529
+ vpc_origin_config_property = cloudfront.CfnDistribution.VpcOriginConfigProperty(
9530
+ vpc_origin_id="vpcOriginId",
9531
+
9532
+ # the properties below are optional
9533
+ origin_keepalive_timeout=123,
9534
+ origin_read_timeout=123
9535
+ )
9536
+ '''
9537
+ if __debug__:
9538
+ type_hints = typing.get_type_hints(_typecheckingstub__f7a2beaed61436754427d5794c11e2b8b3ecac452591d86453fc6b4321c161b0)
9539
+ check_type(argname="argument vpc_origin_id", value=vpc_origin_id, expected_type=type_hints["vpc_origin_id"])
9540
+ check_type(argname="argument origin_keepalive_timeout", value=origin_keepalive_timeout, expected_type=type_hints["origin_keepalive_timeout"])
9541
+ check_type(argname="argument origin_read_timeout", value=origin_read_timeout, expected_type=type_hints["origin_read_timeout"])
9542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
9543
+ "vpc_origin_id": vpc_origin_id,
9544
+ }
9545
+ if origin_keepalive_timeout is not None:
9546
+ self._values["origin_keepalive_timeout"] = origin_keepalive_timeout
9547
+ if origin_read_timeout is not None:
9548
+ self._values["origin_read_timeout"] = origin_read_timeout
9549
+
9550
+ @builtins.property
9551
+ def vpc_origin_id(self) -> builtins.str:
9552
+ '''
9553
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-vpcoriginid
9554
+ '''
9555
+ result = self._values.get("vpc_origin_id")
9556
+ assert result is not None, "Required property 'vpc_origin_id' is missing"
9557
+ return typing.cast(builtins.str, result)
9558
+
9559
+ @builtins.property
9560
+ def origin_keepalive_timeout(self) -> typing.Optional[jsii.Number]:
9561
+ '''
9562
+ :default: - 5
9563
+
9564
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-originkeepalivetimeout
9565
+ '''
9566
+ result = self._values.get("origin_keepalive_timeout")
9567
+ return typing.cast(typing.Optional[jsii.Number], result)
9568
+
9569
+ @builtins.property
9570
+ def origin_read_timeout(self) -> typing.Optional[jsii.Number]:
9571
+ '''
9572
+ :default: - 30
9573
+
9574
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-originreadtimeout
9575
+ '''
9576
+ result = self._values.get("origin_read_timeout")
9577
+ return typing.cast(typing.Optional[jsii.Number], result)
9578
+
9579
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
9580
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
9581
+
9582
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
9583
+ return not (rhs == self)
9584
+
9585
+ def __repr__(self) -> str:
9586
+ return "VpcOriginConfigProperty(%s)" % ", ".join(
9587
+ k + "=" + repr(v) for k, v in self._values.items()
9588
+ )
9589
+
9468
9590
 
9469
9591
  @jsii.data_type(
9470
9592
  jsii_type="aws-cdk-lib.aws_cloudfront.CfnDistributionProps",
@@ -9670,6 +9792,13 @@ class CfnDistributionProps:
9670
9792
  ),
9671
9793
  s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(
9672
9794
  origin_access_identity="originAccessIdentity"
9795
+ ),
9796
+ vpc_origin_config=cloudfront.CfnDistribution.VpcOriginConfigProperty(
9797
+ vpc_origin_id="vpcOriginId",
9798
+
9799
+ # the properties below are optional
9800
+ origin_keepalive_timeout=123,
9801
+ origin_read_timeout=123
9673
9802
  )
9674
9803
  )],
9675
9804
  price_class="priceClass",
@@ -15715,6 +15844,422 @@ class CfnStreamingDistributionProps:
15715
15844
  )
15716
15845
 
15717
15846
 
15847
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
15848
+ class CfnVpcOrigin(
15849
+ _CfnResource_9df397a6,
15850
+ metaclass=jsii.JSIIMeta,
15851
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnVpcOrigin",
15852
+ ):
15853
+ '''An Amazon CloudFront VPC origin.
15854
+
15855
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html
15856
+ :cloudformationResource: AWS::CloudFront::VpcOrigin
15857
+ :exampleMetadata: fixture=_generated
15858
+
15859
+ Example::
15860
+
15861
+ # The code below shows an example of how to instantiate this type.
15862
+ # The values are placeholders you should change.
15863
+ from aws_cdk import aws_cloudfront as cloudfront
15864
+
15865
+ cfn_vpc_origin = cloudfront.CfnVpcOrigin(self, "MyCfnVpcOrigin",
15866
+ vpc_origin_endpoint_config=cloudfront.CfnVpcOrigin.VpcOriginEndpointConfigProperty(
15867
+ arn="arn",
15868
+ name="name",
15869
+
15870
+ # the properties below are optional
15871
+ http_port=123,
15872
+ https_port=123,
15873
+ origin_protocol_policy="originProtocolPolicy",
15874
+ origin_ssl_protocols=["originSslProtocols"]
15875
+ ),
15876
+
15877
+ # the properties below are optional
15878
+ tags=[CfnTag(
15879
+ key="key",
15880
+ value="value"
15881
+ )]
15882
+ )
15883
+ '''
15884
+
15885
+ def __init__(
15886
+ self,
15887
+ scope: _constructs_77d1e7e8.Construct,
15888
+ id: builtins.str,
15889
+ *,
15890
+ vpc_origin_endpoint_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnVpcOrigin.VpcOriginEndpointConfigProperty", typing.Dict[builtins.str, typing.Any]]],
15891
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
15892
+ ) -> None:
15893
+ '''
15894
+ :param scope: Scope in which this resource is defined.
15895
+ :param id: Construct identifier for this resource (unique in its scope).
15896
+ :param vpc_origin_endpoint_config: The VPC origin endpoint configuration.
15897
+ :param tags: A complex type that contains zero or more ``Tag`` elements.
15898
+ '''
15899
+ if __debug__:
15900
+ type_hints = typing.get_type_hints(_typecheckingstub__f7062f7bb7781a86be4f5d08bb3bb95af09a186c881a9c115d240e93409599a3)
15901
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
15902
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
15903
+ props = CfnVpcOriginProps(
15904
+ vpc_origin_endpoint_config=vpc_origin_endpoint_config, tags=tags
15905
+ )
15906
+
15907
+ jsii.create(self.__class__, self, [scope, id, props])
15908
+
15909
+ @jsii.member(jsii_name="inspect")
15910
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
15911
+ '''Examines the CloudFormation resource and discloses attributes.
15912
+
15913
+ :param inspector: tree inspector to collect and process attributes.
15914
+ '''
15915
+ if __debug__:
15916
+ type_hints = typing.get_type_hints(_typecheckingstub__28f636d13eaee8a7287928cb7df58e76d1def769726a097be97eabfb808c51f8)
15917
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
15918
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
15919
+
15920
+ @jsii.member(jsii_name="renderProperties")
15921
+ def _render_properties(
15922
+ self,
15923
+ props: typing.Mapping[builtins.str, typing.Any],
15924
+ ) -> typing.Mapping[builtins.str, typing.Any]:
15925
+ '''
15926
+ :param props: -
15927
+ '''
15928
+ if __debug__:
15929
+ type_hints = typing.get_type_hints(_typecheckingstub__131a454614cc703864083ecdf8cf7d7fe02af623b811d7c123ef1c6f604cfe1e)
15930
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
15931
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
15932
+
15933
+ @jsii.python.classproperty
15934
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
15935
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
15936
+ '''The CloudFormation resource type name for this resource class.'''
15937
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
15938
+
15939
+ @builtins.property
15940
+ @jsii.member(jsii_name="attrArn")
15941
+ def attr_arn(self) -> builtins.str:
15942
+ '''The VPC origin ARN.
15943
+
15944
+ :cloudformationAttribute: Arn
15945
+ '''
15946
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
15947
+
15948
+ @builtins.property
15949
+ @jsii.member(jsii_name="attrCreatedTime")
15950
+ def attr_created_time(self) -> builtins.str:
15951
+ '''The VPC origin created time.
15952
+
15953
+ :cloudformationAttribute: CreatedTime
15954
+ '''
15955
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedTime"))
15956
+
15957
+ @builtins.property
15958
+ @jsii.member(jsii_name="attrId")
15959
+ def attr_id(self) -> builtins.str:
15960
+ '''The VPC origin ID.
15961
+
15962
+ :cloudformationAttribute: Id
15963
+ '''
15964
+ return typing.cast(builtins.str, jsii.get(self, "attrId"))
15965
+
15966
+ @builtins.property
15967
+ @jsii.member(jsii_name="attrLastModifiedTime")
15968
+ def attr_last_modified_time(self) -> builtins.str:
15969
+ '''The VPC origin last modified time.
15970
+
15971
+ :cloudformationAttribute: LastModifiedTime
15972
+ '''
15973
+ return typing.cast(builtins.str, jsii.get(self, "attrLastModifiedTime"))
15974
+
15975
+ @builtins.property
15976
+ @jsii.member(jsii_name="attrStatus")
15977
+ def attr_status(self) -> builtins.str:
15978
+ '''The VPC origin status.
15979
+
15980
+ :cloudformationAttribute: Status
15981
+ '''
15982
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
15983
+
15984
+ @builtins.property
15985
+ @jsii.member(jsii_name="cdkTagManager")
15986
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
15987
+ '''Tag Manager which manages the tags for this resource.'''
15988
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
15989
+
15990
+ @builtins.property
15991
+ @jsii.member(jsii_name="cfnProperties")
15992
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
15993
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
15994
+
15995
+ @builtins.property
15996
+ @jsii.member(jsii_name="vpcOriginEndpointConfig")
15997
+ def vpc_origin_endpoint_config(
15998
+ self,
15999
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnVpcOrigin.VpcOriginEndpointConfigProperty"]:
16000
+ '''The VPC origin endpoint configuration.'''
16001
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnVpcOrigin.VpcOriginEndpointConfigProperty"], jsii.get(self, "vpcOriginEndpointConfig"))
16002
+
16003
+ @vpc_origin_endpoint_config.setter
16004
+ def vpc_origin_endpoint_config(
16005
+ self,
16006
+ value: typing.Union[_IResolvable_da3f097b, "CfnVpcOrigin.VpcOriginEndpointConfigProperty"],
16007
+ ) -> None:
16008
+ if __debug__:
16009
+ type_hints = typing.get_type_hints(_typecheckingstub__9265e1489f928e735dda183f6e028e321fecb788c24bb3ae245d1548533ba74e)
16010
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
16011
+ jsii.set(self, "vpcOriginEndpointConfig", value) # pyright: ignore[reportArgumentType]
16012
+
16013
+ @builtins.property
16014
+ @jsii.member(jsii_name="tags")
16015
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
16016
+ '''A complex type that contains zero or more ``Tag`` elements.'''
16017
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
16018
+
16019
+ @tags.setter
16020
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
16021
+ if __debug__:
16022
+ type_hints = typing.get_type_hints(_typecheckingstub__cc93ea0e93a8ae8f83cf244dcb1cb75eec5e49566a07e24c8943e0e19484ca81)
16023
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
16024
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
16025
+
16026
+ @jsii.data_type(
16027
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnVpcOrigin.VpcOriginEndpointConfigProperty",
16028
+ jsii_struct_bases=[],
16029
+ name_mapping={
16030
+ "arn": "arn",
16031
+ "name": "name",
16032
+ "http_port": "httpPort",
16033
+ "https_port": "httpsPort",
16034
+ "origin_protocol_policy": "originProtocolPolicy",
16035
+ "origin_ssl_protocols": "originSslProtocols",
16036
+ },
16037
+ )
16038
+ class VpcOriginEndpointConfigProperty:
16039
+ def __init__(
16040
+ self,
16041
+ *,
16042
+ arn: builtins.str,
16043
+ name: builtins.str,
16044
+ http_port: typing.Optional[jsii.Number] = None,
16045
+ https_port: typing.Optional[jsii.Number] = None,
16046
+ origin_protocol_policy: typing.Optional[builtins.str] = None,
16047
+ origin_ssl_protocols: typing.Optional[typing.Sequence[builtins.str]] = None,
16048
+ ) -> None:
16049
+ '''An Amazon CloudFront VPC origin endpoint configuration.
16050
+
16051
+ :param arn: The ARN of the CloudFront VPC origin endpoint configuration.
16052
+ :param name: The name of the CloudFront VPC origin endpoint configuration.
16053
+ :param http_port: The HTTP port for the CloudFront VPC origin endpoint configuration. Default: - 80
16054
+ :param https_port: The HTTPS port of the CloudFront VPC origin endpoint configuration. Default: - 443
16055
+ :param origin_protocol_policy: The origin protocol policy for the CloudFront VPC origin endpoint configuration. Default: - "match-viewer"
16056
+ :param origin_ssl_protocols:
16057
+
16058
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html
16059
+ :exampleMetadata: fixture=_generated
16060
+
16061
+ Example::
16062
+
16063
+ # The code below shows an example of how to instantiate this type.
16064
+ # The values are placeholders you should change.
16065
+ from aws_cdk import aws_cloudfront as cloudfront
16066
+
16067
+ vpc_origin_endpoint_config_property = cloudfront.CfnVpcOrigin.VpcOriginEndpointConfigProperty(
16068
+ arn="arn",
16069
+ name="name",
16070
+
16071
+ # the properties below are optional
16072
+ http_port=123,
16073
+ https_port=123,
16074
+ origin_protocol_policy="originProtocolPolicy",
16075
+ origin_ssl_protocols=["originSslProtocols"]
16076
+ )
16077
+ '''
16078
+ if __debug__:
16079
+ type_hints = typing.get_type_hints(_typecheckingstub__005dcbc2d3e8c1b9440d0937d4f4088afc4fb1a0a647692004a2a371311c7428)
16080
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
16081
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
16082
+ check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
16083
+ check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
16084
+ check_type(argname="argument origin_protocol_policy", value=origin_protocol_policy, expected_type=type_hints["origin_protocol_policy"])
16085
+ check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
16086
+ self._values: typing.Dict[builtins.str, typing.Any] = {
16087
+ "arn": arn,
16088
+ "name": name,
16089
+ }
16090
+ if http_port is not None:
16091
+ self._values["http_port"] = http_port
16092
+ if https_port is not None:
16093
+ self._values["https_port"] = https_port
16094
+ if origin_protocol_policy is not None:
16095
+ self._values["origin_protocol_policy"] = origin_protocol_policy
16096
+ if origin_ssl_protocols is not None:
16097
+ self._values["origin_ssl_protocols"] = origin_ssl_protocols
16098
+
16099
+ @builtins.property
16100
+ def arn(self) -> builtins.str:
16101
+ '''The ARN of the CloudFront VPC origin endpoint configuration.
16102
+
16103
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-arn
16104
+ '''
16105
+ result = self._values.get("arn")
16106
+ assert result is not None, "Required property 'arn' is missing"
16107
+ return typing.cast(builtins.str, result)
16108
+
16109
+ @builtins.property
16110
+ def name(self) -> builtins.str:
16111
+ '''The name of the CloudFront VPC origin endpoint configuration.
16112
+
16113
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-name
16114
+ '''
16115
+ result = self._values.get("name")
16116
+ assert result is not None, "Required property 'name' is missing"
16117
+ return typing.cast(builtins.str, result)
16118
+
16119
+ @builtins.property
16120
+ def http_port(self) -> typing.Optional[jsii.Number]:
16121
+ '''The HTTP port for the CloudFront VPC origin endpoint configuration.
16122
+
16123
+ :default: - 80
16124
+
16125
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpport
16126
+ '''
16127
+ result = self._values.get("http_port")
16128
+ return typing.cast(typing.Optional[jsii.Number], result)
16129
+
16130
+ @builtins.property
16131
+ def https_port(self) -> typing.Optional[jsii.Number]:
16132
+ '''The HTTPS port of the CloudFront VPC origin endpoint configuration.
16133
+
16134
+ :default: - 443
16135
+
16136
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpsport
16137
+ '''
16138
+ result = self._values.get("https_port")
16139
+ return typing.cast(typing.Optional[jsii.Number], result)
16140
+
16141
+ @builtins.property
16142
+ def origin_protocol_policy(self) -> typing.Optional[builtins.str]:
16143
+ '''The origin protocol policy for the CloudFront VPC origin endpoint configuration.
16144
+
16145
+ :default: - "match-viewer"
16146
+
16147
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originprotocolpolicy
16148
+ '''
16149
+ result = self._values.get("origin_protocol_policy")
16150
+ return typing.cast(typing.Optional[builtins.str], result)
16151
+
16152
+ @builtins.property
16153
+ def origin_ssl_protocols(self) -> typing.Optional[typing.List[builtins.str]]:
16154
+ '''
16155
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originsslprotocols
16156
+ '''
16157
+ result = self._values.get("origin_ssl_protocols")
16158
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
16159
+
16160
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
16161
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
16162
+
16163
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
16164
+ return not (rhs == self)
16165
+
16166
+ def __repr__(self) -> str:
16167
+ return "VpcOriginEndpointConfigProperty(%s)" % ", ".join(
16168
+ k + "=" + repr(v) for k, v in self._values.items()
16169
+ )
16170
+
16171
+
16172
+ @jsii.data_type(
16173
+ jsii_type="aws-cdk-lib.aws_cloudfront.CfnVpcOriginProps",
16174
+ jsii_struct_bases=[],
16175
+ name_mapping={
16176
+ "vpc_origin_endpoint_config": "vpcOriginEndpointConfig",
16177
+ "tags": "tags",
16178
+ },
16179
+ )
16180
+ class CfnVpcOriginProps:
16181
+ def __init__(
16182
+ self,
16183
+ *,
16184
+ vpc_origin_endpoint_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnVpcOrigin.VpcOriginEndpointConfigProperty, typing.Dict[builtins.str, typing.Any]]],
16185
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
16186
+ ) -> None:
16187
+ '''Properties for defining a ``CfnVpcOrigin``.
16188
+
16189
+ :param vpc_origin_endpoint_config: The VPC origin endpoint configuration.
16190
+ :param tags: A complex type that contains zero or more ``Tag`` elements.
16191
+
16192
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html
16193
+ :exampleMetadata: fixture=_generated
16194
+
16195
+ Example::
16196
+
16197
+ # The code below shows an example of how to instantiate this type.
16198
+ # The values are placeholders you should change.
16199
+ from aws_cdk import aws_cloudfront as cloudfront
16200
+
16201
+ cfn_vpc_origin_props = cloudfront.CfnVpcOriginProps(
16202
+ vpc_origin_endpoint_config=cloudfront.CfnVpcOrigin.VpcOriginEndpointConfigProperty(
16203
+ arn="arn",
16204
+ name="name",
16205
+
16206
+ # the properties below are optional
16207
+ http_port=123,
16208
+ https_port=123,
16209
+ origin_protocol_policy="originProtocolPolicy",
16210
+ origin_ssl_protocols=["originSslProtocols"]
16211
+ ),
16212
+
16213
+ # the properties below are optional
16214
+ tags=[CfnTag(
16215
+ key="key",
16216
+ value="value"
16217
+ )]
16218
+ )
16219
+ '''
16220
+ if __debug__:
16221
+ type_hints = typing.get_type_hints(_typecheckingstub__6657c895db0b69fae418a09161e8a96bc69ee82e7f5b764cd772724449c93252)
16222
+ check_type(argname="argument vpc_origin_endpoint_config", value=vpc_origin_endpoint_config, expected_type=type_hints["vpc_origin_endpoint_config"])
16223
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
16224
+ self._values: typing.Dict[builtins.str, typing.Any] = {
16225
+ "vpc_origin_endpoint_config": vpc_origin_endpoint_config,
16226
+ }
16227
+ if tags is not None:
16228
+ self._values["tags"] = tags
16229
+
16230
+ @builtins.property
16231
+ def vpc_origin_endpoint_config(
16232
+ self,
16233
+ ) -> typing.Union[_IResolvable_da3f097b, CfnVpcOrigin.VpcOriginEndpointConfigProperty]:
16234
+ '''The VPC origin endpoint configuration.
16235
+
16236
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig
16237
+ '''
16238
+ result = self._values.get("vpc_origin_endpoint_config")
16239
+ assert result is not None, "Required property 'vpc_origin_endpoint_config' is missing"
16240
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnVpcOrigin.VpcOriginEndpointConfigProperty], result)
16241
+
16242
+ @builtins.property
16243
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
16244
+ '''A complex type that contains zero or more ``Tag`` elements.
16245
+
16246
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html#cfn-cloudfront-vpcorigin-tags
16247
+ '''
16248
+ result = self._values.get("tags")
16249
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
16250
+
16251
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
16252
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
16253
+
16254
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
16255
+ return not (rhs == self)
16256
+
16257
+ def __repr__(self) -> str:
16258
+ return "CfnVpcOriginProps(%s)" % ", ".join(
16259
+ k + "=" + repr(v) for k, v in self._values.items()
16260
+ )
16261
+
16262
+
15718
16263
  @jsii.enum(jsii_type="aws-cdk-lib.aws_cloudfront.CloudFrontAllowedCachedMethods")
15719
16264
  class CloudFrontAllowedCachedMethods(enum.Enum):
15720
16265
  '''Enums for the methods CloudFront can cache.'''
@@ -19570,6 +20115,7 @@ typing.cast(typing.Any, OriginBase).__jsii_proxy_class__ = lambda : _OriginBaseP
19570
20115
  name_mapping={
19571
20116
  "failover_config": "failoverConfig",
19572
20117
  "origin_property": "originProperty",
20118
+ "selection_criteria": "selectionCriteria",
19573
20119
  },
19574
20120
  )
19575
20121
  class OriginBindConfig:
@@ -19578,11 +20124,13 @@ class OriginBindConfig:
19578
20124
  *,
19579
20125
  failover_config: typing.Optional[typing.Union["OriginFailoverConfig", typing.Dict[builtins.str, typing.Any]]] = None,
19580
20126
  origin_property: typing.Optional[typing.Union[CfnDistribution.OriginProperty, typing.Dict[builtins.str, typing.Any]]] = None,
20127
+ selection_criteria: typing.Optional["OriginSelectionCriteria"] = None,
19581
20128
  ) -> None:
19582
20129
  '''The struct returned from ``IOrigin.bind``.
19583
20130
 
19584
20131
  :param failover_config: The failover configuration for this Origin. Default: - nothing is returned
19585
20132
  :param origin_property: The CloudFormation OriginProperty configuration for this Origin. Default: - nothing is returned
20133
+ :param selection_criteria: The selection criteria for how your origins are selected. Default: - OriginSelectionCriteria.DEFAULT
19586
20134
 
19587
20135
  :exampleMetadata: fixture=_generated
19588
20136
 
@@ -19630,8 +20178,16 @@ class OriginBindConfig:
19630
20178
  ),
19631
20179
  s3_origin_config=cloudfront.CfnDistribution.S3OriginConfigProperty(
19632
20180
  origin_access_identity="originAccessIdentity"
20181
+ ),
20182
+ vpc_origin_config=cloudfront.CfnDistribution.VpcOriginConfigProperty(
20183
+ vpc_origin_id="vpcOriginId",
20184
+
20185
+ # the properties below are optional
20186
+ origin_keepalive_timeout=123,
20187
+ origin_read_timeout=123
19633
20188
  )
19634
- )
20189
+ ),
20190
+ selection_criteria=cloudfront.OriginSelectionCriteria.DEFAULT
19635
20191
  )
19636
20192
  '''
19637
20193
  if isinstance(failover_config, dict):
@@ -19642,11 +20198,14 @@ class OriginBindConfig:
19642
20198
  type_hints = typing.get_type_hints(_typecheckingstub__d3e6a8992dd905a0c0d851cfed62aa0f881803068317a0b59eb84571249e84f1)
19643
20199
  check_type(argname="argument failover_config", value=failover_config, expected_type=type_hints["failover_config"])
19644
20200
  check_type(argname="argument origin_property", value=origin_property, expected_type=type_hints["origin_property"])
20201
+ check_type(argname="argument selection_criteria", value=selection_criteria, expected_type=type_hints["selection_criteria"])
19645
20202
  self._values: typing.Dict[builtins.str, typing.Any] = {}
19646
20203
  if failover_config is not None:
19647
20204
  self._values["failover_config"] = failover_config
19648
20205
  if origin_property is not None:
19649
20206
  self._values["origin_property"] = origin_property
20207
+ if selection_criteria is not None:
20208
+ self._values["selection_criteria"] = selection_criteria
19650
20209
 
19651
20210
  @builtins.property
19652
20211
  def failover_config(self) -> typing.Optional["OriginFailoverConfig"]:
@@ -19666,6 +20225,17 @@ class OriginBindConfig:
19666
20225
  result = self._values.get("origin_property")
19667
20226
  return typing.cast(typing.Optional[CfnDistribution.OriginProperty], result)
19668
20227
 
20228
+ @builtins.property
20229
+ def selection_criteria(self) -> typing.Optional["OriginSelectionCriteria"]:
20230
+ '''The selection criteria for how your origins are selected.
20231
+
20232
+ :default: - OriginSelectionCriteria.DEFAULT
20233
+
20234
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html#concept_origin_groups.creating
20235
+ '''
20236
+ result = self._values.get("selection_criteria")
20237
+ return typing.cast(typing.Optional["OriginSelectionCriteria"], result)
20238
+
19669
20239
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
19670
20240
  return isinstance(rhs, self.__class__) and rhs._values == self._values
19671
20241
 
@@ -20724,6 +21294,35 @@ class OriginRequestQueryStringBehavior(
20724
21294
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "queryStrings"))
20725
21295
 
20726
21296
 
21297
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cloudfront.OriginSelectionCriteria")
21298
+ class OriginSelectionCriteria(enum.Enum):
21299
+ '''The selection criteria for the origin group.
21300
+
21301
+ :exampleMetadata: infused
21302
+
21303
+ Example::
21304
+
21305
+ cloudfront.Distribution(self, "myDist",
21306
+ default_behavior=cloudfront.BehaviorOptions(
21307
+ origin=origins.OriginGroup(
21308
+ primary_origin=origins.HttpOrigin("<AWS Elemental MediaPackageV2 origin 1>"),
21309
+ fallback_origin=origins.HttpOrigin("<AWS Elemental MediaPackageV2 origin 2>"),
21310
+ fallback_status_codes=[404],
21311
+ selection_criteria=cloudfront.OriginSelectionCriteria.MEDIA_QUALITY_BASED
21312
+ )
21313
+ )
21314
+ )
21315
+ '''
21316
+
21317
+ DEFAULT = "DEFAULT"
21318
+ '''Default selection behavior.'''
21319
+ MEDIA_QUALITY_BASED = "MEDIA_QUALITY_BASED"
21320
+ '''Selection based on media quality.
21321
+
21322
+ This option is only valid for AWS Elemental MediaPackage v2 Origins.
21323
+ '''
21324
+
21325
+
20727
21326
  @jsii.enum(jsii_type="aws-cdk-lib.aws_cloudfront.OriginSslPolicy")
20728
21327
  class OriginSslPolicy(enum.Enum):
20729
21328
  SSL_V3 = "SSL_V3"
@@ -25598,6 +26197,8 @@ __all__ = [
25598
26197
  "CfnResponseHeadersPolicyProps",
25599
26198
  "CfnStreamingDistribution",
25600
26199
  "CfnStreamingDistributionProps",
26200
+ "CfnVpcOrigin",
26201
+ "CfnVpcOriginProps",
25601
26202
  "CloudFrontAllowedCachedMethods",
25602
26203
  "CloudFrontAllowedMethods",
25603
26204
  "CloudFrontWebDistribution",
@@ -25662,6 +26263,7 @@ __all__ = [
25662
26263
  "OriginRequestPolicy",
25663
26264
  "OriginRequestPolicyProps",
25664
26265
  "OriginRequestQueryStringBehavior",
26266
+ "OriginSelectionCriteria",
25665
26267
  "OriginSslPolicy",
25666
26268
  "PriceClass",
25667
26269
  "PublicKey",
@@ -26366,6 +26968,7 @@ def _typecheckingstub__cb4237408749840dbecf9d9aed57975910052da22b994c7e13cc97c98
26366
26968
  origin_path: typing.Optional[builtins.str] = None,
26367
26969
  origin_shield: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.OriginShieldProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
26368
26970
  s3_origin_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.S3OriginConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
26971
+ vpc_origin_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.VpcOriginConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
26369
26972
  ) -> None:
26370
26973
  """Type checking stubs"""
26371
26974
  pass
@@ -26394,7 +26997,7 @@ def _typecheckingstub__8d9ff629693eb9bcb66704ce461d05e62e0755b651cbbc7ead2b89151
26394
26997
 
26395
26998
  def _typecheckingstub__7b8b62ce6bf1ec6151566719caf2d665f3f7fea596e402fba7354f19f781f23c(
26396
26999
  *,
26397
- items: typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]],
27000
+ items: typing.Union[typing.Sequence[jsii.Number], _IResolvable_da3f097b],
26398
27001
  quantity: jsii.Number,
26399
27002
  ) -> None:
26400
27003
  """Type checking stubs"""
@@ -26411,6 +27014,15 @@ def _typecheckingstub__511560286b35778c69f3d2a23120607f1ab2e58901f0c1ba7acd75a33
26411
27014
  """Type checking stubs"""
26412
27015
  pass
26413
27016
 
27017
+ def _typecheckingstub__f7a2beaed61436754427d5794c11e2b8b3ecac452591d86453fc6b4321c161b0(
27018
+ *,
27019
+ vpc_origin_id: builtins.str,
27020
+ origin_keepalive_timeout: typing.Optional[jsii.Number] = None,
27021
+ origin_read_timeout: typing.Optional[jsii.Number] = None,
27022
+ ) -> None:
27023
+ """Type checking stubs"""
27024
+ pass
27025
+
26414
27026
  def _typecheckingstub__f7553d47847912fd83a61da98a84c9c8cb5fdb95cf08048d70723db17c73053a(
26415
27027
  *,
26416
27028
  distribution_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.DistributionConfigProperty, typing.Dict[builtins.str, typing.Any]]],
@@ -27166,6 +27778,60 @@ def _typecheckingstub__eb98a63a577b61baa6128a211026a41a13348dc9752d07118d9db5c63
27166
27778
  """Type checking stubs"""
27167
27779
  pass
27168
27780
 
27781
+ def _typecheckingstub__f7062f7bb7781a86be4f5d08bb3bb95af09a186c881a9c115d240e93409599a3(
27782
+ scope: _constructs_77d1e7e8.Construct,
27783
+ id: builtins.str,
27784
+ *,
27785
+ vpc_origin_endpoint_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnVpcOrigin.VpcOriginEndpointConfigProperty, typing.Dict[builtins.str, typing.Any]]],
27786
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
27787
+ ) -> None:
27788
+ """Type checking stubs"""
27789
+ pass
27790
+
27791
+ def _typecheckingstub__28f636d13eaee8a7287928cb7df58e76d1def769726a097be97eabfb808c51f8(
27792
+ inspector: _TreeInspector_488e0dd5,
27793
+ ) -> None:
27794
+ """Type checking stubs"""
27795
+ pass
27796
+
27797
+ def _typecheckingstub__131a454614cc703864083ecdf8cf7d7fe02af623b811d7c123ef1c6f604cfe1e(
27798
+ props: typing.Mapping[builtins.str, typing.Any],
27799
+ ) -> None:
27800
+ """Type checking stubs"""
27801
+ pass
27802
+
27803
+ def _typecheckingstub__9265e1489f928e735dda183f6e028e321fecb788c24bb3ae245d1548533ba74e(
27804
+ value: typing.Union[_IResolvable_da3f097b, CfnVpcOrigin.VpcOriginEndpointConfigProperty],
27805
+ ) -> None:
27806
+ """Type checking stubs"""
27807
+ pass
27808
+
27809
+ def _typecheckingstub__cc93ea0e93a8ae8f83cf244dcb1cb75eec5e49566a07e24c8943e0e19484ca81(
27810
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
27811
+ ) -> None:
27812
+ """Type checking stubs"""
27813
+ pass
27814
+
27815
+ def _typecheckingstub__005dcbc2d3e8c1b9440d0937d4f4088afc4fb1a0a647692004a2a371311c7428(
27816
+ *,
27817
+ arn: builtins.str,
27818
+ name: builtins.str,
27819
+ http_port: typing.Optional[jsii.Number] = None,
27820
+ https_port: typing.Optional[jsii.Number] = None,
27821
+ origin_protocol_policy: typing.Optional[builtins.str] = None,
27822
+ origin_ssl_protocols: typing.Optional[typing.Sequence[builtins.str]] = None,
27823
+ ) -> None:
27824
+ """Type checking stubs"""
27825
+ pass
27826
+
27827
+ def _typecheckingstub__6657c895db0b69fae418a09161e8a96bc69ee82e7f5b764cd772724449c93252(
27828
+ *,
27829
+ vpc_origin_endpoint_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnVpcOrigin.VpcOriginEndpointConfigProperty, typing.Dict[builtins.str, typing.Any]]],
27830
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
27831
+ ) -> None:
27832
+ """Type checking stubs"""
27833
+ pass
27834
+
27169
27835
  def _typecheckingstub__4066bd6a3cdef7b839e125a6133e4a1d52cc939d9ec9dd0288d2750b135e9452(
27170
27836
  *,
27171
27837
  distribution_id: builtins.str,
@@ -27529,6 +28195,7 @@ def _typecheckingstub__d3e6a8992dd905a0c0d851cfed62aa0f881803068317a0b59eb845712
27529
28195
  *,
27530
28196
  failover_config: typing.Optional[typing.Union[OriginFailoverConfig, typing.Dict[builtins.str, typing.Any]]] = None,
27531
28197
  origin_property: typing.Optional[typing.Union[CfnDistribution.OriginProperty, typing.Dict[builtins.str, typing.Any]]] = None,
28198
+ selection_criteria: typing.Optional[OriginSelectionCriteria] = None,
27532
28199
  ) -> None:
27533
28200
  """Type checking stubs"""
27534
28201
  pass