aws-cdk-lib 2.217.0__py3-none-any.whl → 2.218.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 (130) hide show
  1. aws_cdk/_jsii/__init__.py +1 -1
  2. aws_cdk/_jsii/{aws-cdk-lib@2.217.0.jsii.tgz → aws-cdk-lib@2.218.0.jsii.tgz} +0 -0
  3. aws_cdk/aws_amazonmq/__init__.py +87 -0
  4. aws_cdk/aws_apigateway/__init__.py +203 -0
  5. aws_cdk/aws_apigatewayv2/__init__.py +58 -0
  6. aws_cdk/aws_appconfig/__init__.py +145 -0
  7. aws_cdk/aws_appflow/__init__.py +116 -0
  8. aws_cdk/aws_appintegrations/__init__.py +116 -0
  9. aws_cdk/aws_appstream/__init__.py +87 -0
  10. aws_cdk/aws_appsync/__init__.py +58 -0
  11. aws_cdk/aws_apptest/__init__.py +58 -0
  12. aws_cdk/aws_athena/__init__.py +58 -0
  13. aws_cdk/aws_auditmanager/__init__.py +58 -0
  14. aws_cdk/aws_backup/__init__.py +145 -0
  15. aws_cdk/aws_batch/__init__.py +58 -0
  16. aws_cdk/aws_bedrock/__init__.py +145 -0
  17. aws_cdk/aws_cassandra/__init__.py +29 -0
  18. aws_cdk/aws_certificatemanager/__init__.py +29 -0
  19. aws_cdk/aws_cloudfront/__init__.py +57 -0
  20. aws_cdk/aws_cloudfront_origins/__init__.py +87 -7
  21. aws_cdk/aws_cloudtrail/__init__.py +58 -0
  22. aws_cdk/aws_cloudwatch/__init__.py +145 -0
  23. aws_cdk/aws_codebuild/__init__.py +115 -12
  24. aws_cdk/aws_codedeploy/__init__.py +29 -0
  25. aws_cdk/aws_codeguruprofiler/__init__.py +58 -0
  26. aws_cdk/aws_codepipeline/__init__.py +29 -0
  27. aws_cdk/aws_cognito/__init__.py +87 -0
  28. aws_cdk/aws_config/__init__.py +58 -0
  29. aws_cdk/aws_cur/__init__.py +29 -0
  30. aws_cdk/aws_customerprofiles/__init__.py +58 -0
  31. aws_cdk/aws_datapipeline/__init__.py +29 -0
  32. aws_cdk/aws_datazone/__init__.py +58 -0
  33. aws_cdk/aws_directoryservice/__init__.py +29 -0
  34. aws_cdk/aws_dms/__init__.py +58 -0
  35. aws_cdk/aws_docdb/__init__.py +153 -25
  36. aws_cdk/aws_dsql/__init__.py +29 -0
  37. aws_cdk/aws_dynamodb/__init__.py +58 -0
  38. aws_cdk/aws_ec2/__init__.py +1976 -0
  39. aws_cdk/aws_ecr/__init__.py +116 -0
  40. aws_cdk/aws_ecs/__init__.py +87 -0
  41. aws_cdk/aws_efs/__init__.py +116 -0
  42. aws_cdk/aws_eks/__init__.py +118 -0
  43. aws_cdk/aws_elasticache/__init__.py +261 -0
  44. aws_cdk/aws_elasticbeanstalk/__init__.py +29 -0
  45. aws_cdk/aws_emr/__init__.py +87 -0
  46. aws_cdk/aws_emrcontainers/__init__.py +58 -0
  47. aws_cdk/aws_emrserverless/__init__.py +58 -0
  48. aws_cdk/aws_entityresolution/__init__.py +145 -0
  49. aws_cdk/aws_events/__init__.py +290 -0
  50. aws_cdk/aws_finspace/__init__.py +58 -0
  51. aws_cdk/aws_gamelift/__init__.py +435 -0
  52. aws_cdk/aws_glue/__init__.py +145 -0
  53. aws_cdk/aws_greengrass/__init__.py +464 -0
  54. aws_cdk/aws_groundstation/__init__.py +87 -0
  55. aws_cdk/aws_guardduty/__init__.py +87 -0
  56. aws_cdk/aws_healthimaging/__init__.py +58 -0
  57. aws_cdk/aws_healthlake/__init__.py +29 -0
  58. aws_cdk/aws_internetmonitor/__init__.py +58 -0
  59. aws_cdk/aws_iot/__init__.py +957 -0
  60. aws_cdk/aws_iotanalytics/__init__.py +116 -0
  61. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +58 -0
  62. aws_cdk/aws_iotevents/__init__.py +87 -0
  63. aws_cdk/aws_iotfleethub/__init__.py +58 -0
  64. aws_cdk/aws_iotfleetwise/__init__.py +116 -0
  65. aws_cdk/aws_iotsitewise/__init__.py +493 -0
  66. aws_cdk/aws_iottwinmaker/__init__.py +145 -0
  67. aws_cdk/aws_iotwireless/__init__.py +464 -0
  68. aws_cdk/aws_kendra/__init__.py +116 -0
  69. aws_cdk/aws_kinesis/__init__.py +58 -0
  70. aws_cdk/aws_kinesisanalytics/__init__.py +31 -0
  71. aws_cdk/aws_kinesisanalyticsv2/__init__.py +29 -0
  72. aws_cdk/aws_kinesisfirehose/__init__.py +58 -0
  73. aws_cdk/aws_kinesisvideo/__init__.py +29 -0
  74. aws_cdk/aws_kms/__init__.py +58 -0
  75. aws_cdk/aws_lambda/__init__.py +58 -0
  76. aws_cdk/aws_lex/__init__.py +29 -0
  77. aws_cdk/aws_location/__init__.py +348 -0
  78. aws_cdk/aws_logs/__init__.py +232 -0
  79. aws_cdk/aws_lookoutequipment/__init__.py +29 -0
  80. aws_cdk/aws_lookoutvision/__init__.py +58 -0
  81. aws_cdk/aws_managedblockchain/__init__.py +145 -0
  82. aws_cdk/aws_medialive/__init__.py +435 -0
  83. aws_cdk/aws_mediatailor/__init__.py +174 -0
  84. aws_cdk/aws_memorydb/__init__.py +203 -0
  85. aws_cdk/aws_mwaa/__init__.py +58 -0
  86. aws_cdk/aws_networkmanager/__init__.py +29 -0
  87. aws_cdk/aws_nimblestudio/__init__.py +29 -0
  88. aws_cdk/aws_omics/__init__.py +174 -0
  89. aws_cdk/aws_opensearchserverless/__init__.py +58 -0
  90. aws_cdk/aws_opsworks/__init__.py +29 -0
  91. aws_cdk/aws_opsworkscm/__init__.py +29 -0
  92. aws_cdk/aws_organizations/__init__.py +116 -0
  93. aws_cdk/aws_panorama/__init__.py +116 -0
  94. aws_cdk/aws_pinpoint/__init__.py +116 -0
  95. aws_cdk/aws_qbusiness/__init__.py +232 -0
  96. aws_cdk/aws_qldb/__init__.py +29 -0
  97. aws_cdk/aws_rds/__init__.py +64 -0
  98. aws_cdk/aws_redshift/__init__.py +29 -0
  99. aws_cdk/aws_rekognition/__init__.py +87 -0
  100. aws_cdk/aws_resourcegroups/__init__.py +58 -0
  101. aws_cdk/aws_rolesanywhere/__init__.py +145 -0
  102. aws_cdk/aws_route53recoveryreadiness/__init__.py +58 -0
  103. aws_cdk/aws_route53resolver/__init__.py +29 -0
  104. aws_cdk/aws_s3/__init__.py +116 -0
  105. aws_cdk/aws_s3express/__init__.py +116 -0
  106. aws_cdk/aws_sagemaker/__init__.py +464 -0
  107. aws_cdk/aws_scheduler/__init__.py +29 -0
  108. aws_cdk/aws_secretsmanager/__init__.py +29 -0
  109. aws_cdk/aws_servicecatalog/__init__.py +29 -0
  110. aws_cdk/aws_servicecatalogappregistry/__init__.py +116 -0
  111. aws_cdk/aws_servicediscovery/__init__.py +58 -0
  112. aws_cdk/aws_ses/__init__.py +261 -0
  113. aws_cdk/aws_simspaceweaver/__init__.py +29 -0
  114. aws_cdk/aws_ssm/__init__.py +87 -0
  115. aws_cdk/aws_synthetics/__init__.py +29 -0
  116. aws_cdk/aws_timestream/__init__.py +87 -0
  117. aws_cdk/aws_transfer/__init__.py +261 -0
  118. aws_cdk/aws_verifiedpermissions/__init__.py +58 -0
  119. aws_cdk/aws_voiceid/__init__.py +29 -0
  120. aws_cdk/aws_wisdom/__init__.py +232 -0
  121. aws_cdk/aws_workspaces/__init__.py +58 -0
  122. aws_cdk/aws_workspacesinstances/__init__.py +29 -0
  123. aws_cdk/aws_workspacesthinclient/__init__.py +58 -0
  124. aws_cdk/pipelines/__init__.py +5 -1
  125. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/METADATA +1 -1
  126. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/RECORD +130 -130
  127. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/LICENSE +0 -0
  128. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/NOTICE +0 -0
  129. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/WHEEL +0 -0
  130. {aws_cdk_lib-2.217.0.dist-info → aws_cdk_lib-2.218.0.dist-info}/top_level.txt +0 -0
@@ -1087,6 +1087,27 @@ class CfnKeyspace(
1087
1087
 
1088
1088
  jsii.create(self.__class__, self, [scope, id, props])
1089
1089
 
1090
+ @jsii.member(jsii_name="fromKeyspaceName")
1091
+ @builtins.classmethod
1092
+ def from_keyspace_name(
1093
+ cls,
1094
+ scope: _constructs_77d1e7e8.Construct,
1095
+ id: builtins.str,
1096
+ keyspace_name: builtins.str,
1097
+ ) -> IKeyspaceRef:
1098
+ '''Creates a new IKeyspaceRef from a keyspaceName.
1099
+
1100
+ :param scope: -
1101
+ :param id: -
1102
+ :param keyspace_name: -
1103
+ '''
1104
+ if __debug__:
1105
+ type_hints = typing.get_type_hints(_typecheckingstub__743e1034e46d26ab8163a3c5674d58e54e9eb96e60318971126ffea77dcb90d0)
1106
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
1107
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
1108
+ check_type(argname="argument keyspace_name", value=keyspace_name, expected_type=type_hints["keyspace_name"])
1109
+ return typing.cast(IKeyspaceRef, jsii.sinvoke(cls, "fromKeyspaceName", [scope, id, keyspace_name]))
1110
+
1090
1111
  @jsii.member(jsii_name="inspect")
1091
1112
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
1092
1113
  '''Examines the CloudFormation resource and discloses attributes.
@@ -3197,6 +3218,14 @@ def _typecheckingstub__9cd64888a8d1139f7fef90a6f2cad1bf287a6d09115cfa1d1147c1afd
3197
3218
  """Type checking stubs"""
3198
3219
  pass
3199
3220
 
3221
+ def _typecheckingstub__743e1034e46d26ab8163a3c5674d58e54e9eb96e60318971126ffea77dcb90d0(
3222
+ scope: _constructs_77d1e7e8.Construct,
3223
+ id: builtins.str,
3224
+ keyspace_name: builtins.str,
3225
+ ) -> None:
3226
+ """Type checking stubs"""
3227
+ pass
3228
+
3200
3229
  def _typecheckingstub__6ecbad4543180c6cf4913924c148b210c77e3da9a878ec77916ea568a560458b(
3201
3230
  inspector: _TreeInspector_488e0dd5,
3202
3231
  ) -> None:
@@ -2365,6 +2365,27 @@ class CfnCertificate(
2365
2365
 
2366
2366
  jsii.create(self.__class__, self, [scope, id, props])
2367
2367
 
2368
+ @jsii.member(jsii_name="fromCertificateId")
2369
+ @builtins.classmethod
2370
+ def from_certificate_id(
2371
+ cls,
2372
+ scope: _constructs_77d1e7e8.Construct,
2373
+ id: builtins.str,
2374
+ certificate_id: builtins.str,
2375
+ ) -> ICertificateRef:
2376
+ '''Creates a new ICertificateRef from a certificateId.
2377
+
2378
+ :param scope: -
2379
+ :param id: -
2380
+ :param certificate_id: -
2381
+ '''
2382
+ if __debug__:
2383
+ type_hints = typing.get_type_hints(_typecheckingstub__74ad5174285b28bb947e64c6319be4642c1bb37681ea5d0d736a58181c45689e)
2384
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2385
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2386
+ check_type(argname="argument certificate_id", value=certificate_id, expected_type=type_hints["certificate_id"])
2387
+ return typing.cast(ICertificateRef, jsii.sinvoke(cls, "fromCertificateId", [scope, id, certificate_id]))
2388
+
2368
2389
  @jsii.member(jsii_name="inspect")
2369
2390
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2370
2391
  '''Examines the CloudFormation resource and discloses attributes.
@@ -3112,6 +3133,14 @@ def _typecheckingstub__6f094b3f6a318b9501162c46d45eaf42466c16a9c333dd4021dc90258
3112
3133
  """Type checking stubs"""
3113
3134
  pass
3114
3135
 
3136
+ def _typecheckingstub__74ad5174285b28bb947e64c6319be4642c1bb37681ea5d0d736a58181c45689e(
3137
+ scope: _constructs_77d1e7e8.Construct,
3138
+ id: builtins.str,
3139
+ certificate_id: builtins.str,
3140
+ ) -> None:
3141
+ """Type checking stubs"""
3142
+ pass
3143
+
3115
3144
  def _typecheckingstub__6cc2233ca7729f72437c57a4d626536c7b9150faa120045db48045a6b05d1e2a(
3116
3145
  inspector: _TreeInspector_488e0dd5,
3117
3146
  ) -> None:
@@ -10290,6 +10290,33 @@ class OriginFailoverConfig:
10290
10290
  )
10291
10291
 
10292
10292
 
10293
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cloudfront.OriginIpAddressType")
10294
+ class OriginIpAddressType(enum.Enum):
10295
+ '''The IP address type for the origin.
10296
+
10297
+ Determines whether CloudFront uses IPv4, IPv6, or both when connecting to the origin.
10298
+
10299
+ :exampleMetadata: infused
10300
+
10301
+ Example::
10302
+
10303
+ origin = origins.HttpOrigin("www.example.com",
10304
+ ip_address_type=cloudfront.OriginIpAddressType.IPV6
10305
+ )
10306
+
10307
+ cloudfront.Distribution(self, "Distribution",
10308
+ default_behavior=cloudfront.BehaviorOptions(origin=origin)
10309
+ )
10310
+ '''
10311
+
10312
+ IPV4 = "IPV4"
10313
+ '''Use only IPv4 addresses.'''
10314
+ IPV6 = "IPV6"
10315
+ '''Use only IPv6 addresses.'''
10316
+ DUALSTACK = "DUALSTACK"
10317
+ '''Use both IPv4 and IPv6 addresses.'''
10318
+
10319
+
10293
10320
  @jsii.data_type(
10294
10321
  jsii_type="aws-cdk-lib.aws_cloudfront.OriginOptions",
10295
10322
  jsii_struct_bases=[],
@@ -17366,6 +17393,27 @@ class CfnDistribution(
17366
17393
 
17367
17394
  jsii.create(self.__class__, self, [scope, id, props])
17368
17395
 
17396
+ @jsii.member(jsii_name="fromDistributionId")
17397
+ @builtins.classmethod
17398
+ def from_distribution_id(
17399
+ cls,
17400
+ scope: _constructs_77d1e7e8.Construct,
17401
+ id: builtins.str,
17402
+ distribution_id: builtins.str,
17403
+ ) -> IDistributionRef:
17404
+ '''Creates a new IDistributionRef from a distributionId.
17405
+
17406
+ :param scope: -
17407
+ :param id: -
17408
+ :param distribution_id: -
17409
+ '''
17410
+ if __debug__:
17411
+ type_hints = typing.get_type_hints(_typecheckingstub__515b2d0306d8b0ddb1748f6ce685671bb2aafd2cd036b754a5a5628d11102d18)
17412
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
17413
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
17414
+ check_type(argname="argument distribution_id", value=distribution_id, expected_type=type_hints["distribution_id"])
17415
+ return typing.cast(IDistributionRef, jsii.sinvoke(cls, "fromDistributionId", [scope, id, distribution_id]))
17416
+
17369
17417
  @jsii.member(jsii_name="inspect")
17370
17418
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
17371
17419
  '''Examines the CloudFormation resource and discloses attributes.
@@ -31910,6 +31958,7 @@ __all__ = [
31910
31958
  "OriginBindConfig",
31911
31959
  "OriginBindOptions",
31912
31960
  "OriginFailoverConfig",
31961
+ "OriginIpAddressType",
31913
31962
  "OriginOptions",
31914
31963
  "OriginProps",
31915
31964
  "OriginProtocolPolicy",
@@ -33397,6 +33446,14 @@ def _typecheckingstub__81eda5f01ae8971b275cf76ed8b337277ad192ff5b49de8c33ebe25fd
33397
33446
  """Type checking stubs"""
33398
33447
  pass
33399
33448
 
33449
+ def _typecheckingstub__515b2d0306d8b0ddb1748f6ce685671bb2aafd2cd036b754a5a5628d11102d18(
33450
+ scope: _constructs_77d1e7e8.Construct,
33451
+ id: builtins.str,
33452
+ distribution_id: builtins.str,
33453
+ ) -> None:
33454
+ """Type checking stubs"""
33455
+ pass
33456
+
33400
33457
  def _typecheckingstub__40ba9750b9508c380e2724727094e58eb27b5c37b6b692cd0ef7c46535b474ea(
33401
33458
  inspector: _TreeInspector_488e0dd5,
33402
33459
  ) -> None:
@@ -593,6 +593,20 @@ cloudfront.Distribution(self, "myDist",
593
593
  )
594
594
  ```
595
595
 
596
+ You can specify the IP address type for connecting to the origin:
597
+
598
+ ```python
599
+ origin = origins.HttpOrigin("www.example.com",
600
+ ip_address_type=cloudfront.OriginIpAddressType.IPV6
601
+ )
602
+
603
+ cloudfront.Distribution(self, "Distribution",
604
+ default_behavior=cloudfront.BehaviorOptions(origin=origin)
605
+ )
606
+ ```
607
+
608
+ The `ipAddressType` property allows you to specify whether CloudFront should use IPv4, IPv6, or both (dual-stack) when connecting to your origin.
609
+
596
610
  The origin can be customized with timeout settings to handle different response scenarios:
597
611
 
598
612
  ```python
@@ -929,6 +943,7 @@ from ..aws_cloudfront import (
929
943
  OriginBase as _OriginBase_b8fe5bcc,
930
944
  OriginBindConfig as _OriginBindConfig_25a57096,
931
945
  OriginBindOptions as _OriginBindOptions_088c2b51,
946
+ OriginIpAddressType as _OriginIpAddressType_1c01e1a0,
932
947
  OriginProps as _OriginProps_0675928d,
933
948
  OriginProtocolPolicy as _OriginProtocolPolicy_967ed73c,
934
949
  OriginSelectionCriteria as _OriginSelectionCriteria_ba6d3e21,
@@ -1826,6 +1841,7 @@ class HttpOrigin(
1826
1841
  *,
1827
1842
  http_port: typing.Optional[jsii.Number] = None,
1828
1843
  https_port: typing.Optional[jsii.Number] = None,
1844
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1829
1845
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1830
1846
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
1831
1847
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -1844,6 +1860,7 @@ class HttpOrigin(
1844
1860
  :param domain_name: -
1845
1861
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
1846
1862
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
1863
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
1847
1864
  :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)
1848
1865
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
1849
1866
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -1864,6 +1881,7 @@ class HttpOrigin(
1864
1881
  props = HttpOriginProps(
1865
1882
  http_port=http_port,
1866
1883
  https_port=https_port,
1884
+ ip_address_type=ip_address_type,
1867
1885
  keepalive_timeout=keepalive_timeout,
1868
1886
  origin_ssl_protocols=origin_ssl_protocols,
1869
1887
  protocol_policy=protocol_policy,
@@ -1903,6 +1921,7 @@ class HttpOrigin(
1903
1921
  "origin_path": "originPath",
1904
1922
  "http_port": "httpPort",
1905
1923
  "https_port": "httpsPort",
1924
+ "ip_address_type": "ipAddressType",
1906
1925
  "keepalive_timeout": "keepaliveTimeout",
1907
1926
  "origin_ssl_protocols": "originSslProtocols",
1908
1927
  "protocol_policy": "protocolPolicy",
@@ -1924,6 +1943,7 @@ class HttpOriginProps(_OriginProps_0675928d):
1924
1943
  origin_path: typing.Optional[builtins.str] = None,
1925
1944
  http_port: typing.Optional[jsii.Number] = None,
1926
1945
  https_port: typing.Optional[jsii.Number] = None,
1946
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1927
1947
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1928
1948
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
1929
1949
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -1942,6 +1962,7 @@ class HttpOriginProps(_OriginProps_0675928d):
1942
1962
  :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: '/'
1943
1963
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
1944
1964
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
1965
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
1945
1966
  :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)
1946
1967
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
1947
1968
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -1951,14 +1972,12 @@ class HttpOriginProps(_OriginProps_0675928d):
1951
1972
 
1952
1973
  Example::
1953
1974
 
1975
+ origin = origins.HttpOrigin("www.example.com",
1976
+ ip_address_type=cloudfront.OriginIpAddressType.IPV6
1977
+ )
1978
+
1954
1979
  cloudfront.Distribution(self, "Distribution",
1955
- default_behavior=cloudfront.BehaviorOptions(
1956
- origin=origins.HttpOrigin("api.example.com",
1957
- read_timeout=Duration.seconds(60),
1958
- response_completion_timeout=Duration.seconds(120),
1959
- keepalive_timeout=Duration.seconds(45)
1960
- )
1961
- )
1980
+ default_behavior=cloudfront.BehaviorOptions(origin=origin)
1962
1981
  )
1963
1982
  '''
1964
1983
  if __debug__:
@@ -1974,6 +1993,7 @@ class HttpOriginProps(_OriginProps_0675928d):
1974
1993
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
1975
1994
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
1976
1995
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
1996
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
1977
1997
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
1978
1998
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
1979
1999
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -2001,6 +2021,8 @@ class HttpOriginProps(_OriginProps_0675928d):
2001
2021
  self._values["http_port"] = http_port
2002
2022
  if https_port is not None:
2003
2023
  self._values["https_port"] = https_port
2024
+ if ip_address_type is not None:
2025
+ self._values["ip_address_type"] = ip_address_type
2004
2026
  if keepalive_timeout is not None:
2005
2027
  self._values["keepalive_timeout"] = keepalive_timeout
2006
2028
  if origin_ssl_protocols is not None:
@@ -2127,6 +2149,17 @@ class HttpOriginProps(_OriginProps_0675928d):
2127
2149
  result = self._values.get("https_port")
2128
2150
  return typing.cast(typing.Optional[jsii.Number], result)
2129
2151
 
2152
+ @builtins.property
2153
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
2154
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
2155
+
2156
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
2157
+
2158
+ :default: undefined - AWS Cloudfront default is IPv4
2159
+ '''
2160
+ result = self._values.get("ip_address_type")
2161
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
2162
+
2130
2163
  @builtins.property
2131
2164
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2132
2165
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -2218,6 +2251,7 @@ class LoadBalancerV2Origin(
2218
2251
  *,
2219
2252
  http_port: typing.Optional[jsii.Number] = None,
2220
2253
  https_port: typing.Optional[jsii.Number] = None,
2254
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
2221
2255
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
2222
2256
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
2223
2257
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -2236,6 +2270,7 @@ class LoadBalancerV2Origin(
2236
2270
  :param load_balancer: -
2237
2271
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
2238
2272
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
2273
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
2239
2274
  :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)
2240
2275
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
2241
2276
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -2256,6 +2291,7 @@ class LoadBalancerV2Origin(
2256
2291
  props = LoadBalancerV2OriginProps(
2257
2292
  http_port=http_port,
2258
2293
  https_port=https_port,
2294
+ ip_address_type=ip_address_type,
2259
2295
  keepalive_timeout=keepalive_timeout,
2260
2296
  origin_ssl_protocols=origin_ssl_protocols,
2261
2297
  protocol_policy=protocol_policy,
@@ -2289,6 +2325,7 @@ class LoadBalancerV2Origin(
2289
2325
  "origin_path": "originPath",
2290
2326
  "http_port": "httpPort",
2291
2327
  "https_port": "httpsPort",
2328
+ "ip_address_type": "ipAddressType",
2292
2329
  "keepalive_timeout": "keepaliveTimeout",
2293
2330
  "origin_ssl_protocols": "originSslProtocols",
2294
2331
  "protocol_policy": "protocolPolicy",
@@ -2310,6 +2347,7 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2310
2347
  origin_path: typing.Optional[builtins.str] = None,
2311
2348
  http_port: typing.Optional[jsii.Number] = None,
2312
2349
  https_port: typing.Optional[jsii.Number] = None,
2350
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
2313
2351
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
2314
2352
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
2315
2353
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -2328,6 +2366,7 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2328
2366
  :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: '/'
2329
2367
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
2330
2368
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
2369
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
2331
2370
  :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)
2332
2371
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
2333
2372
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -2361,6 +2400,7 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2361
2400
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
2362
2401
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
2363
2402
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
2403
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
2364
2404
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
2365
2405
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
2366
2406
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -2388,6 +2428,8 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2388
2428
  self._values["http_port"] = http_port
2389
2429
  if https_port is not None:
2390
2430
  self._values["https_port"] = https_port
2431
+ if ip_address_type is not None:
2432
+ self._values["ip_address_type"] = ip_address_type
2391
2433
  if keepalive_timeout is not None:
2392
2434
  self._values["keepalive_timeout"] = keepalive_timeout
2393
2435
  if origin_ssl_protocols is not None:
@@ -2514,6 +2556,17 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2514
2556
  result = self._values.get("https_port")
2515
2557
  return typing.cast(typing.Optional[jsii.Number], result)
2516
2558
 
2559
+ @builtins.property
2560
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
2561
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
2562
+
2563
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
2564
+
2565
+ :default: undefined - AWS Cloudfront default is IPv4
2566
+ '''
2567
+ result = self._values.get("ip_address_type")
2568
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
2569
+
2517
2570
  @builtins.property
2518
2571
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2519
2572
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -4306,6 +4359,7 @@ class S3StaticWebsiteOrigin(
4306
4359
  *,
4307
4360
  http_port: typing.Optional[jsii.Number] = None,
4308
4361
  https_port: typing.Optional[jsii.Number] = None,
4362
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
4309
4363
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4310
4364
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4311
4365
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -4324,6 +4378,7 @@ class S3StaticWebsiteOrigin(
4324
4378
  :param bucket: -
4325
4379
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
4326
4380
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
4381
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
4327
4382
  :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)
4328
4383
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
4329
4384
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -4344,6 +4399,7 @@ class S3StaticWebsiteOrigin(
4344
4399
  props = S3StaticWebsiteOriginProps(
4345
4400
  http_port=http_port,
4346
4401
  https_port=https_port,
4402
+ ip_address_type=ip_address_type,
4347
4403
  keepalive_timeout=keepalive_timeout,
4348
4404
  origin_ssl_protocols=origin_ssl_protocols,
4349
4405
  protocol_policy=protocol_policy,
@@ -4377,6 +4433,7 @@ class S3StaticWebsiteOrigin(
4377
4433
  "origin_path": "originPath",
4378
4434
  "http_port": "httpPort",
4379
4435
  "https_port": "httpsPort",
4436
+ "ip_address_type": "ipAddressType",
4380
4437
  "keepalive_timeout": "keepaliveTimeout",
4381
4438
  "origin_ssl_protocols": "originSslProtocols",
4382
4439
  "protocol_policy": "protocolPolicy",
@@ -4398,6 +4455,7 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4398
4455
  origin_path: typing.Optional[builtins.str] = None,
4399
4456
  http_port: typing.Optional[jsii.Number] = None,
4400
4457
  https_port: typing.Optional[jsii.Number] = None,
4458
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
4401
4459
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4402
4460
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4403
4461
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -4416,6 +4474,7 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4416
4474
  :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: '/'
4417
4475
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
4418
4476
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
4477
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
4419
4478
  :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)
4420
4479
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
4421
4480
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -4439,6 +4498,7 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4439
4498
  },
4440
4499
  http_port=123,
4441
4500
  https_port=123,
4501
+ ip_address_type=cloudfront.OriginIpAddressType.IPV4,
4442
4502
  keepalive_timeout=cdk.Duration.minutes(30),
4443
4503
  origin_access_control_id="originAccessControlId",
4444
4504
  origin_id="originId",
@@ -4464,6 +4524,7 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4464
4524
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
4465
4525
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
4466
4526
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
4527
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
4467
4528
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
4468
4529
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
4469
4530
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -4491,6 +4552,8 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4491
4552
  self._values["http_port"] = http_port
4492
4553
  if https_port is not None:
4493
4554
  self._values["https_port"] = https_port
4555
+ if ip_address_type is not None:
4556
+ self._values["ip_address_type"] = ip_address_type
4494
4557
  if keepalive_timeout is not None:
4495
4558
  self._values["keepalive_timeout"] = keepalive_timeout
4496
4559
  if origin_ssl_protocols is not None:
@@ -4617,6 +4680,17 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4617
4680
  result = self._values.get("https_port")
4618
4681
  return typing.cast(typing.Optional[jsii.Number], result)
4619
4682
 
4683
+ @builtins.property
4684
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
4685
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
4686
+
4687
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
4688
+
4689
+ :default: undefined - AWS Cloudfront default is IPv4
4690
+ '''
4691
+ result = self._values.get("ip_address_type")
4692
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
4693
+
4620
4694
  @builtins.property
4621
4695
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4622
4696
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -5785,6 +5859,7 @@ def _typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35
5785
5859
  *,
5786
5860
  http_port: typing.Optional[jsii.Number] = None,
5787
5861
  https_port: typing.Optional[jsii.Number] = None,
5862
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5788
5863
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5789
5864
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5790
5865
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5815,6 +5890,7 @@ def _typecheckingstub__13f43bf70f0a97ee8ca0e4f7aca38d43089ed2bc254d5c2b57c73b51c
5815
5890
  origin_path: typing.Optional[builtins.str] = None,
5816
5891
  http_port: typing.Optional[jsii.Number] = None,
5817
5892
  https_port: typing.Optional[jsii.Number] = None,
5893
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5818
5894
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5819
5895
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5820
5896
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5828,6 +5904,7 @@ def _typecheckingstub__2e5124d4f469d6539077a529c09cfba685fe4a7037b9417216b18f6cc
5828
5904
  *,
5829
5905
  http_port: typing.Optional[jsii.Number] = None,
5830
5906
  https_port: typing.Optional[jsii.Number] = None,
5907
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5831
5908
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5832
5909
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5833
5910
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5858,6 +5935,7 @@ def _typecheckingstub__c72b63200b184ae3f51c9b6a19be2eef9bddae313ee00c7378396c0dc
5858
5935
  origin_path: typing.Optional[builtins.str] = None,
5859
5936
  http_port: typing.Optional[jsii.Number] = None,
5860
5937
  https_port: typing.Optional[jsii.Number] = None,
5938
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5861
5939
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5862
5940
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5863
5941
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -6082,6 +6160,7 @@ def _typecheckingstub__f0edd2083352b96faf3ea9eb05136629dff841fa272ecdb6dfb52772a
6082
6160
  *,
6083
6161
  http_port: typing.Optional[jsii.Number] = None,
6084
6162
  https_port: typing.Optional[jsii.Number] = None,
6163
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
6085
6164
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
6086
6165
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
6087
6166
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -6112,6 +6191,7 @@ def _typecheckingstub__5bc18cdba7c0e6d7d0a68d2a1cf3c3f91f50a7e3e7384f5f62ebee600
6112
6191
  origin_path: typing.Optional[builtins.str] = None,
6113
6192
  http_port: typing.Optional[jsii.Number] = None,
6114
6193
  https_port: typing.Optional[jsii.Number] = None,
6194
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
6115
6195
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
6116
6196
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
6117
6197
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -4742,6 +4742,48 @@ class CfnTrail(
4742
4742
 
4743
4743
  jsii.create(self.__class__, self, [scope, id, props])
4744
4744
 
4745
+ @jsii.member(jsii_name="fromTrailArn")
4746
+ @builtins.classmethod
4747
+ def from_trail_arn(
4748
+ cls,
4749
+ scope: _constructs_77d1e7e8.Construct,
4750
+ id: builtins.str,
4751
+ arn: builtins.str,
4752
+ ) -> ITrailRef:
4753
+ '''Creates a new ITrailRef from an ARN.
4754
+
4755
+ :param scope: -
4756
+ :param id: -
4757
+ :param arn: -
4758
+ '''
4759
+ if __debug__:
4760
+ type_hints = typing.get_type_hints(_typecheckingstub__de13fd6629dabd92566f74df031bb3846b1f0c60616e28f88435c2f70ea1f0dd)
4761
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4762
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4763
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
4764
+ return typing.cast(ITrailRef, jsii.sinvoke(cls, "fromTrailArn", [scope, id, arn]))
4765
+
4766
+ @jsii.member(jsii_name="fromTrailName")
4767
+ @builtins.classmethod
4768
+ def from_trail_name(
4769
+ cls,
4770
+ scope: _constructs_77d1e7e8.Construct,
4771
+ id: builtins.str,
4772
+ trail_name: builtins.str,
4773
+ ) -> ITrailRef:
4774
+ '''Creates a new ITrailRef from a trailName.
4775
+
4776
+ :param scope: -
4777
+ :param id: -
4778
+ :param trail_name: -
4779
+ '''
4780
+ if __debug__:
4781
+ type_hints = typing.get_type_hints(_typecheckingstub__de86420b3e78209dc350b0fda0b9e94a90b38d019fdd7b81692f6899942ea4ae)
4782
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4783
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4784
+ check_type(argname="argument trail_name", value=trail_name, expected_type=type_hints["trail_name"])
4785
+ return typing.cast(ITrailRef, jsii.sinvoke(cls, "fromTrailName", [scope, id, trail_name]))
4786
+
4745
4787
  @jsii.member(jsii_name="inspect")
4746
4788
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4747
4789
  '''Examines the CloudFormation resource and discloses attributes.
@@ -6345,6 +6387,22 @@ def _typecheckingstub__2259d5765ec84e4697f55f0d491871f1aa010feb94b3445a33a9e4b9f
6345
6387
  """Type checking stubs"""
6346
6388
  pass
6347
6389
 
6390
+ def _typecheckingstub__de13fd6629dabd92566f74df031bb3846b1f0c60616e28f88435c2f70ea1f0dd(
6391
+ scope: _constructs_77d1e7e8.Construct,
6392
+ id: builtins.str,
6393
+ arn: builtins.str,
6394
+ ) -> None:
6395
+ """Type checking stubs"""
6396
+ pass
6397
+
6398
+ def _typecheckingstub__de86420b3e78209dc350b0fda0b9e94a90b38d019fdd7b81692f6899942ea4ae(
6399
+ scope: _constructs_77d1e7e8.Construct,
6400
+ id: builtins.str,
6401
+ trail_name: builtins.str,
6402
+ ) -> None:
6403
+ """Type checking stubs"""
6404
+ pass
6405
+
6348
6406
  def _typecheckingstub__27c0b3977f3ce3e2ad80b21e158e38a08a45c6700ebeed895b3710e8c214a1bb(
6349
6407
  inspector: _TreeInspector_488e0dd5,
6350
6408
  ) -> None: