aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -1832,10 +1832,13 @@ latency_method_metric = method.metric_latency(stage)
1832
1832
 
1833
1833
  ## APIGateway v2
1834
1834
 
1835
- APIGateway v2 APIs are now moved to its own package named `aws-apigatewayv2`. For backwards compatibility, existing
1836
- APIGateway v2 "CFN resources" (such as `CfnApi`) that were previously exported as part of this package, are still
1837
- exported from here and have been marked deprecated. However, updates to these CloudFormation resources, such as new
1838
- properties and new resource types will not be available.
1835
+ APIGateway v2 APIs are now moved to its own package named `aws-apigatewayv2`. Previously, these APIs were marked
1836
+ deprecated but retained for backwards compatibility. The deprecated usage of APIGateway v2 APIs within this module
1837
+ `aws-apigateway` has now been removed from the codebase.
1838
+
1839
+ The reason for the removal of these deprecated Constructs is that CloudFormation team is releasing AWS resources
1840
+ like `AWS::APIGateway::DomainNameV2` and this would cause compatibility issue with the deprecated `CfnDomainNameV2`
1841
+ resource defined in `apigatewayv2.ts` file during the L1 generation.
1839
1842
 
1840
1843
  Move to using `aws-apigatewayv2` to get the latest APIs and updates.
1841
1844
 
@@ -1887,6 +1890,7 @@ from .. import (
1887
1890
  IResolvable as _IResolvable_da3f097b,
1888
1891
  IResource as _IResource_c80c4260,
1889
1892
  ITaggable as _ITaggable_36806126,
1893
+ ITaggableV2 as _ITaggableV2_4e6798f8,
1890
1894
  IgnoreMode as _IgnoreMode_655a98e8,
1891
1895
  RemovalPolicy as _RemovalPolicy_9f93c814,
1892
1896
  Resource as _Resource_45bc6135,
@@ -4970,6 +4974,8 @@ class CfnBasePathMapping(
4970
4974
  ):
4971
4975
  '''The ``AWS::ApiGateway::BasePathMapping`` resource creates a base path that clients who call your API must use in the invocation URL.
4972
4976
 
4977
+ Supported only for public custom domain names.
4978
+
4973
4979
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html
4974
4980
  :cloudformationResource: AWS::ApiGateway::BasePathMapping
4975
4981
  :exampleMetadata: fixture=_generated
@@ -5249,6 +5255,277 @@ class CfnBasePathMappingProps:
5249
5255
  )
5250
5256
 
5251
5257
 
5258
+ @jsii.implements(_IInspectable_c2943556)
5259
+ class CfnBasePathMappingV2(
5260
+ _CfnResource_9df397a6,
5261
+ metaclass=jsii.JSIIMeta,
5262
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnBasePathMappingV2",
5263
+ ):
5264
+ '''The ``AWS::ApiGateway::BasePathMappingV2`` resource creates a base path that clients who call your API must use in the invocation URL.
5265
+
5266
+ Supported only for private custom domain names.
5267
+
5268
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html
5269
+ :cloudformationResource: AWS::ApiGateway::BasePathMappingV2
5270
+ :exampleMetadata: fixture=_generated
5271
+
5272
+ Example::
5273
+
5274
+ # The code below shows an example of how to instantiate this type.
5275
+ # The values are placeholders you should change.
5276
+ from aws_cdk import aws_apigateway as apigateway
5277
+
5278
+ cfn_base_path_mapping_v2 = apigateway.CfnBasePathMappingV2(self, "MyCfnBasePathMappingV2",
5279
+ domain_name_arn="domainNameArn",
5280
+ rest_api_id="restApiId",
5281
+
5282
+ # the properties below are optional
5283
+ base_path="basePath",
5284
+ stage="stage"
5285
+ )
5286
+ '''
5287
+
5288
+ def __init__(
5289
+ self,
5290
+ scope: _constructs_77d1e7e8.Construct,
5291
+ id: builtins.str,
5292
+ *,
5293
+ domain_name_arn: builtins.str,
5294
+ rest_api_id: builtins.str,
5295
+ base_path: typing.Optional[builtins.str] = None,
5296
+ stage: typing.Optional[builtins.str] = None,
5297
+ ) -> None:
5298
+ '''
5299
+ :param scope: Scope in which this resource is defined.
5300
+ :param id: Construct identifier for this resource (unique in its scope).
5301
+ :param domain_name_arn: The ARN of the domain name for the BasePathMappingV2 resource to be described.
5302
+ :param rest_api_id: The private API's identifier. This identifier is unique across all of your APIs in API Gateway.
5303
+ :param base_path: The base path name that callers of the private API must provide as part of the URL after the domain name.
5304
+ :param stage: Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the ``RestApi`` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.
5305
+ '''
5306
+ if __debug__:
5307
+ type_hints = typing.get_type_hints(_typecheckingstub__a583f31dead36a23816022dfcb476b0ff18ec097d668a0cf42b19791b749acae)
5308
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5309
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5310
+ props = CfnBasePathMappingV2Props(
5311
+ domain_name_arn=domain_name_arn,
5312
+ rest_api_id=rest_api_id,
5313
+ base_path=base_path,
5314
+ stage=stage,
5315
+ )
5316
+
5317
+ jsii.create(self.__class__, self, [scope, id, props])
5318
+
5319
+ @jsii.member(jsii_name="inspect")
5320
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5321
+ '''Examines the CloudFormation resource and discloses attributes.
5322
+
5323
+ :param inspector: tree inspector to collect and process attributes.
5324
+ '''
5325
+ if __debug__:
5326
+ type_hints = typing.get_type_hints(_typecheckingstub__6eb0641d050becd18a8a9f284493b10283d6aced001cf16285ba0926b9a2ea21)
5327
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
5328
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5329
+
5330
+ @jsii.member(jsii_name="renderProperties")
5331
+ def _render_properties(
5332
+ self,
5333
+ props: typing.Mapping[builtins.str, typing.Any],
5334
+ ) -> typing.Mapping[builtins.str, typing.Any]:
5335
+ '''
5336
+ :param props: -
5337
+ '''
5338
+ if __debug__:
5339
+ type_hints = typing.get_type_hints(_typecheckingstub__ec5be7f34d7d1faa1a122900429e9be29d8ba4ea05ed4525cd221ea65131405b)
5340
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
5341
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5342
+
5343
+ @jsii.python.classproperty
5344
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
5345
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
5346
+ '''The CloudFormation resource type name for this resource class.'''
5347
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5348
+
5349
+ @builtins.property
5350
+ @jsii.member(jsii_name="attrBasePathMappingArn")
5351
+ def attr_base_path_mapping_arn(self) -> builtins.str:
5352
+ '''Amazon Resource Name (ARN) of the resource.
5353
+
5354
+ :cloudformationAttribute: BasePathMappingArn
5355
+ '''
5356
+ return typing.cast(builtins.str, jsii.get(self, "attrBasePathMappingArn"))
5357
+
5358
+ @builtins.property
5359
+ @jsii.member(jsii_name="cfnProperties")
5360
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5361
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5362
+
5363
+ @builtins.property
5364
+ @jsii.member(jsii_name="domainNameArn")
5365
+ def domain_name_arn(self) -> builtins.str:
5366
+ '''The ARN of the domain name for the BasePathMappingV2 resource to be described.'''
5367
+ return typing.cast(builtins.str, jsii.get(self, "domainNameArn"))
5368
+
5369
+ @domain_name_arn.setter
5370
+ def domain_name_arn(self, value: builtins.str) -> None:
5371
+ if __debug__:
5372
+ type_hints = typing.get_type_hints(_typecheckingstub__23fd4874b172b953d177d1eced6c053907a3207a7d931ea7cebfd59673893321)
5373
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5374
+ jsii.set(self, "domainNameArn", value) # pyright: ignore[reportArgumentType]
5375
+
5376
+ @builtins.property
5377
+ @jsii.member(jsii_name="restApiId")
5378
+ def rest_api_id(self) -> builtins.str:
5379
+ '''The private API's identifier.'''
5380
+ return typing.cast(builtins.str, jsii.get(self, "restApiId"))
5381
+
5382
+ @rest_api_id.setter
5383
+ def rest_api_id(self, value: builtins.str) -> None:
5384
+ if __debug__:
5385
+ type_hints = typing.get_type_hints(_typecheckingstub__9e920388746332df91cb086b28eb2938d57106b8f772017211c3b2f52cd707b6)
5386
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5387
+ jsii.set(self, "restApiId", value) # pyright: ignore[reportArgumentType]
5388
+
5389
+ @builtins.property
5390
+ @jsii.member(jsii_name="basePath")
5391
+ def base_path(self) -> typing.Optional[builtins.str]:
5392
+ '''The base path name that callers of the private API must provide as part of the URL after the domain name.'''
5393
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "basePath"))
5394
+
5395
+ @base_path.setter
5396
+ def base_path(self, value: typing.Optional[builtins.str]) -> None:
5397
+ if __debug__:
5398
+ type_hints = typing.get_type_hints(_typecheckingstub__8b3750f1121b177684129c6fc603e6fc5f80e5a7cfbd3ef4c6b8695fcc42c1d6)
5399
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5400
+ jsii.set(self, "basePath", value) # pyright: ignore[reportArgumentType]
5401
+
5402
+ @builtins.property
5403
+ @jsii.member(jsii_name="stage")
5404
+ def stage(self) -> typing.Optional[builtins.str]:
5405
+ '''Represents a unique identifier for a version of a deployed private RestApi that is callable by users.'''
5406
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "stage"))
5407
+
5408
+ @stage.setter
5409
+ def stage(self, value: typing.Optional[builtins.str]) -> None:
5410
+ if __debug__:
5411
+ type_hints = typing.get_type_hints(_typecheckingstub__06763dc8a118854a928d389386d0a3d513848ff9eaaef5bd4ca70a6d09d586e0)
5412
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5413
+ jsii.set(self, "stage", value) # pyright: ignore[reportArgumentType]
5414
+
5415
+
5416
+ @jsii.data_type(
5417
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnBasePathMappingV2Props",
5418
+ jsii_struct_bases=[],
5419
+ name_mapping={
5420
+ "domain_name_arn": "domainNameArn",
5421
+ "rest_api_id": "restApiId",
5422
+ "base_path": "basePath",
5423
+ "stage": "stage",
5424
+ },
5425
+ )
5426
+ class CfnBasePathMappingV2Props:
5427
+ def __init__(
5428
+ self,
5429
+ *,
5430
+ domain_name_arn: builtins.str,
5431
+ rest_api_id: builtins.str,
5432
+ base_path: typing.Optional[builtins.str] = None,
5433
+ stage: typing.Optional[builtins.str] = None,
5434
+ ) -> None:
5435
+ '''Properties for defining a ``CfnBasePathMappingV2``.
5436
+
5437
+ :param domain_name_arn: The ARN of the domain name for the BasePathMappingV2 resource to be described.
5438
+ :param rest_api_id: The private API's identifier. This identifier is unique across all of your APIs in API Gateway.
5439
+ :param base_path: The base path name that callers of the private API must provide as part of the URL after the domain name.
5440
+ :param stage: Represents a unique identifier for a version of a deployed private RestApi that is callable by users. The Stage must depend on the ``RestApi`` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.
5441
+
5442
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html
5443
+ :exampleMetadata: fixture=_generated
5444
+
5445
+ Example::
5446
+
5447
+ # The code below shows an example of how to instantiate this type.
5448
+ # The values are placeholders you should change.
5449
+ from aws_cdk import aws_apigateway as apigateway
5450
+
5451
+ cfn_base_path_mapping_v2_props = apigateway.CfnBasePathMappingV2Props(
5452
+ domain_name_arn="domainNameArn",
5453
+ rest_api_id="restApiId",
5454
+
5455
+ # the properties below are optional
5456
+ base_path="basePath",
5457
+ stage="stage"
5458
+ )
5459
+ '''
5460
+ if __debug__:
5461
+ type_hints = typing.get_type_hints(_typecheckingstub__5f193676fc187703a2da6f9b8342bed4af93ab14e1c8f01d93fb4249b4e41ba3)
5462
+ check_type(argname="argument domain_name_arn", value=domain_name_arn, expected_type=type_hints["domain_name_arn"])
5463
+ check_type(argname="argument rest_api_id", value=rest_api_id, expected_type=type_hints["rest_api_id"])
5464
+ check_type(argname="argument base_path", value=base_path, expected_type=type_hints["base_path"])
5465
+ check_type(argname="argument stage", value=stage, expected_type=type_hints["stage"])
5466
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5467
+ "domain_name_arn": domain_name_arn,
5468
+ "rest_api_id": rest_api_id,
5469
+ }
5470
+ if base_path is not None:
5471
+ self._values["base_path"] = base_path
5472
+ if stage is not None:
5473
+ self._values["stage"] = stage
5474
+
5475
+ @builtins.property
5476
+ def domain_name_arn(self) -> builtins.str:
5477
+ '''The ARN of the domain name for the BasePathMappingV2 resource to be described.
5478
+
5479
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-domainnamearn
5480
+ '''
5481
+ result = self._values.get("domain_name_arn")
5482
+ assert result is not None, "Required property 'domain_name_arn' is missing"
5483
+ return typing.cast(builtins.str, result)
5484
+
5485
+ @builtins.property
5486
+ def rest_api_id(self) -> builtins.str:
5487
+ '''The private API's identifier.
5488
+
5489
+ This identifier is unique across all of your APIs in API Gateway.
5490
+
5491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-restapiid
5492
+ '''
5493
+ result = self._values.get("rest_api_id")
5494
+ assert result is not None, "Required property 'rest_api_id' is missing"
5495
+ return typing.cast(builtins.str, result)
5496
+
5497
+ @builtins.property
5498
+ def base_path(self) -> typing.Optional[builtins.str]:
5499
+ '''The base path name that callers of the private API must provide as part of the URL after the domain name.
5500
+
5501
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-basepath
5502
+ '''
5503
+ result = self._values.get("base_path")
5504
+ return typing.cast(typing.Optional[builtins.str], result)
5505
+
5506
+ @builtins.property
5507
+ def stage(self) -> typing.Optional[builtins.str]:
5508
+ '''Represents a unique identifier for a version of a deployed private RestApi that is callable by users.
5509
+
5510
+ The Stage must depend on the ``RestApi`` 's stage. To create a dependency, add a DependsOn attribute to the BasePathMappingV2 resource.
5511
+
5512
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-stage
5513
+ '''
5514
+ result = self._values.get("stage")
5515
+ return typing.cast(typing.Optional[builtins.str], result)
5516
+
5517
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5518
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5519
+
5520
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5521
+ return not (rhs == self)
5522
+
5523
+ def __repr__(self) -> str:
5524
+ return "CfnBasePathMappingV2Props(%s)" % ", ".join(
5525
+ k + "=" + repr(v) for k, v in self._values.items()
5526
+ )
5527
+
5528
+
5252
5529
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
5253
5530
  class CfnClientCertificate(
5254
5531
  _CfnResource_9df397a6,
@@ -7390,7 +7667,7 @@ class CfnDomainName(
7390
7667
  metaclass=jsii.JSIIMeta,
7391
7668
  jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainName",
7392
7669
  ):
7393
- '''The ``AWS::ApiGateway::DomainName`` resource specifies a custom domain name for your API in API Gateway.
7670
+ '''The ``AWS::ApiGateway::DomainName`` resource specifies a public custom domain name for your API in API Gateway.
7394
7671
 
7395
7672
  You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see `Set up Custom Domain Name for an API in API Gateway <https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html>`_ in the *API Gateway Developer Guide* .
7396
7673
 
@@ -7441,7 +7718,7 @@ class CfnDomainName(
7441
7718
  '''
7442
7719
  :param scope: Scope in which this resource is defined.
7443
7720
  :param id: Construct identifier for this resource (unique in its scope).
7444
- :param certificate_arn: The reference to an AWS -managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
7721
+ :param certificate_arn: The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. AWS Certificate Manager is the only supported source.
7445
7722
  :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
7446
7723
  :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
7447
7724
  :param mutual_tls_authentication: The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
@@ -7555,7 +7832,7 @@ class CfnDomainName(
7555
7832
  @builtins.property
7556
7833
  @jsii.member(jsii_name="certificateArn")
7557
7834
  def certificate_arn(self) -> typing.Optional[builtins.str]:
7558
- '''The reference to an AWS -managed certificate that will be used by edge-optimized endpoint for this domain name.'''
7835
+ '''The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.'''
7559
7836
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificateArn"))
7560
7837
 
7561
7838
  @certificate_arn.setter
@@ -7808,45 +8085,816 @@ class CfnDomainName(
7808
8085
  )
7809
8086
 
7810
8087
 
7811
- @jsii.data_type(
7812
- jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameProps",
7813
- jsii_struct_bases=[],
7814
- name_mapping={
7815
- "certificate_arn": "certificateArn",
7816
- "domain_name": "domainName",
7817
- "endpoint_configuration": "endpointConfiguration",
7818
- "mutual_tls_authentication": "mutualTlsAuthentication",
7819
- "ownership_verification_certificate_arn": "ownershipVerificationCertificateArn",
7820
- "regional_certificate_arn": "regionalCertificateArn",
7821
- "security_policy": "securityPolicy",
7822
- "tags": "tags",
7823
- },
7824
- )
7825
- class CfnDomainNameProps:
8088
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8089
+ class CfnDomainNameAccessAssociation(
8090
+ _CfnResource_9df397a6,
8091
+ metaclass=jsii.JSIIMeta,
8092
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameAccessAssociation",
8093
+ ):
8094
+ '''The ``AWS::ApiGateway::DomainNameAccessAssociation`` resource creates a domain name access association between an access association source and a private custom domain name.
8095
+
8096
+ Use a domain name access association to invoke a private custom domain name while isolated from the public internet.
8097
+
8098
+ You can only create or delete a DomainNameAccessAssociation using CloudFormation. To reject a domain name access association, use the AWS CLI.
8099
+
8100
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html
8101
+ :cloudformationResource: AWS::ApiGateway::DomainNameAccessAssociation
8102
+ :exampleMetadata: fixture=_generated
8103
+
8104
+ Example::
8105
+
8106
+ # The code below shows an example of how to instantiate this type.
8107
+ # The values are placeholders you should change.
8108
+ from aws_cdk import aws_apigateway as apigateway
8109
+
8110
+ cfn_domain_name_access_association = apigateway.CfnDomainNameAccessAssociation(self, "MyCfnDomainNameAccessAssociation",
8111
+ access_association_source="accessAssociationSource",
8112
+ access_association_source_type="accessAssociationSourceType",
8113
+ domain_name_arn="domainNameArn",
8114
+
8115
+ # the properties below are optional
8116
+ tags=[CfnTag(
8117
+ key="key",
8118
+ value="value"
8119
+ )]
8120
+ )
8121
+ '''
8122
+
7826
8123
  def __init__(
7827
8124
  self,
8125
+ scope: _constructs_77d1e7e8.Construct,
8126
+ id: builtins.str,
7828
8127
  *,
7829
- certificate_arn: typing.Optional[builtins.str] = None,
7830
- domain_name: typing.Optional[builtins.str] = None,
7831
- endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7832
- mutual_tls_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.MutualTlsAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7833
- ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
7834
- regional_certificate_arn: typing.Optional[builtins.str] = None,
8128
+ access_association_source: builtins.str,
8129
+ access_association_source_type: builtins.str,
8130
+ domain_name_arn: builtins.str,
8131
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8132
+ ) -> None:
8133
+ '''
8134
+ :param scope: Scope in which this resource is defined.
8135
+ :param id: Construct identifier for this resource (unique in its scope).
8136
+ :param access_association_source: The identifier of the domain name access association source. For a ``VPCE`` , the value is the VPC endpoint ID.
8137
+ :param access_association_source_type: The type of the domain name access association source. Only ``VPCE`` is currently supported.
8138
+ :param domain_name_arn: The ARN of the domain name.
8139
+ :param tags: The collection of tags. Each tag element is associated with a given resource.
8140
+ '''
8141
+ if __debug__:
8142
+ type_hints = typing.get_type_hints(_typecheckingstub__cafcd3b452004fc09063699f5b2263d0f36c2a080b20c7f0d51493646ac87441)
8143
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8144
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8145
+ props = CfnDomainNameAccessAssociationProps(
8146
+ access_association_source=access_association_source,
8147
+ access_association_source_type=access_association_source_type,
8148
+ domain_name_arn=domain_name_arn,
8149
+ tags=tags,
8150
+ )
8151
+
8152
+ jsii.create(self.__class__, self, [scope, id, props])
8153
+
8154
+ @jsii.member(jsii_name="inspect")
8155
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
8156
+ '''Examines the CloudFormation resource and discloses attributes.
8157
+
8158
+ :param inspector: tree inspector to collect and process attributes.
8159
+ '''
8160
+ if __debug__:
8161
+ type_hints = typing.get_type_hints(_typecheckingstub__d4584e14c8cc1eda344bf13cbc96b7ff7cf893e84c7aa3abf7ce385dfd0ebb0b)
8162
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
8163
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
8164
+
8165
+ @jsii.member(jsii_name="renderProperties")
8166
+ def _render_properties(
8167
+ self,
8168
+ props: typing.Mapping[builtins.str, typing.Any],
8169
+ ) -> typing.Mapping[builtins.str, typing.Any]:
8170
+ '''
8171
+ :param props: -
8172
+ '''
8173
+ if __debug__:
8174
+ type_hints = typing.get_type_hints(_typecheckingstub__635e79e806ac4eaac4502971d453a0581ed2a8620fc4309d2fa5820e1eea4413)
8175
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
8176
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
8177
+
8178
+ @jsii.python.classproperty
8179
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
8180
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
8181
+ '''The CloudFormation resource type name for this resource class.'''
8182
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
8183
+
8184
+ @builtins.property
8185
+ @jsii.member(jsii_name="attrDomainNameAccessAssociationArn")
8186
+ def attr_domain_name_access_association_arn(self) -> builtins.str:
8187
+ '''The access association ARN.
8188
+
8189
+ For example: ``arn:aws:apigateway:us-west-2:111122223333:/accessassociations/domainname/private.example.com+abcd1234/vpcesource/vpce-abcd1234efg`` .
8190
+
8191
+ :cloudformationAttribute: DomainNameAccessAssociationArn
8192
+ '''
8193
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameAccessAssociationArn"))
8194
+
8195
+ @builtins.property
8196
+ @jsii.member(jsii_name="cdkTagManager")
8197
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8198
+ '''Tag Manager which manages the tags for this resource.'''
8199
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8200
+
8201
+ @builtins.property
8202
+ @jsii.member(jsii_name="cfnProperties")
8203
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8204
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8205
+
8206
+ @builtins.property
8207
+ @jsii.member(jsii_name="accessAssociationSource")
8208
+ def access_association_source(self) -> builtins.str:
8209
+ '''The identifier of the domain name access association source.'''
8210
+ return typing.cast(builtins.str, jsii.get(self, "accessAssociationSource"))
8211
+
8212
+ @access_association_source.setter
8213
+ def access_association_source(self, value: builtins.str) -> None:
8214
+ if __debug__:
8215
+ type_hints = typing.get_type_hints(_typecheckingstub__23c76b51f9a9a8e6cecdd5cb498ecd02cfa61809c66806005dd3fc4f5f33f35c)
8216
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8217
+ jsii.set(self, "accessAssociationSource", value) # pyright: ignore[reportArgumentType]
8218
+
8219
+ @builtins.property
8220
+ @jsii.member(jsii_name="accessAssociationSourceType")
8221
+ def access_association_source_type(self) -> builtins.str:
8222
+ '''The type of the domain name access association source.'''
8223
+ return typing.cast(builtins.str, jsii.get(self, "accessAssociationSourceType"))
8224
+
8225
+ @access_association_source_type.setter
8226
+ def access_association_source_type(self, value: builtins.str) -> None:
8227
+ if __debug__:
8228
+ type_hints = typing.get_type_hints(_typecheckingstub__22ceba82da2b5b77979cdbe562907d1ee3c704bfcb564f766864aaff695f3400)
8229
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8230
+ jsii.set(self, "accessAssociationSourceType", value) # pyright: ignore[reportArgumentType]
8231
+
8232
+ @builtins.property
8233
+ @jsii.member(jsii_name="domainNameArn")
8234
+ def domain_name_arn(self) -> builtins.str:
8235
+ '''The ARN of the domain name.'''
8236
+ return typing.cast(builtins.str, jsii.get(self, "domainNameArn"))
8237
+
8238
+ @domain_name_arn.setter
8239
+ def domain_name_arn(self, value: builtins.str) -> None:
8240
+ if __debug__:
8241
+ type_hints = typing.get_type_hints(_typecheckingstub__5a9c3f25d11f724e7f4c78554b51bc3fc13c83e113087fbbf7d37e9868c51bdb)
8242
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8243
+ jsii.set(self, "domainNameArn", value) # pyright: ignore[reportArgumentType]
8244
+
8245
+ @builtins.property
8246
+ @jsii.member(jsii_name="tags")
8247
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8248
+ '''The collection of tags.'''
8249
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
8250
+
8251
+ @tags.setter
8252
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
8253
+ if __debug__:
8254
+ type_hints = typing.get_type_hints(_typecheckingstub__2c58e960117de6ef208f31f47e57fea4a9b3894dc90dde201f0f6f182cab17d8)
8255
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8256
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
8257
+
8258
+
8259
+ @jsii.data_type(
8260
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameAccessAssociationProps",
8261
+ jsii_struct_bases=[],
8262
+ name_mapping={
8263
+ "access_association_source": "accessAssociationSource",
8264
+ "access_association_source_type": "accessAssociationSourceType",
8265
+ "domain_name_arn": "domainNameArn",
8266
+ "tags": "tags",
8267
+ },
8268
+ )
8269
+ class CfnDomainNameAccessAssociationProps:
8270
+ def __init__(
8271
+ self,
8272
+ *,
8273
+ access_association_source: builtins.str,
8274
+ access_association_source_type: builtins.str,
8275
+ domain_name_arn: builtins.str,
8276
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8277
+ ) -> None:
8278
+ '''Properties for defining a ``CfnDomainNameAccessAssociation``.
8279
+
8280
+ :param access_association_source: The identifier of the domain name access association source. For a ``VPCE`` , the value is the VPC endpoint ID.
8281
+ :param access_association_source_type: The type of the domain name access association source. Only ``VPCE`` is currently supported.
8282
+ :param domain_name_arn: The ARN of the domain name.
8283
+ :param tags: The collection of tags. Each tag element is associated with a given resource.
8284
+
8285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html
8286
+ :exampleMetadata: fixture=_generated
8287
+
8288
+ Example::
8289
+
8290
+ # The code below shows an example of how to instantiate this type.
8291
+ # The values are placeholders you should change.
8292
+ from aws_cdk import aws_apigateway as apigateway
8293
+
8294
+ cfn_domain_name_access_association_props = apigateway.CfnDomainNameAccessAssociationProps(
8295
+ access_association_source="accessAssociationSource",
8296
+ access_association_source_type="accessAssociationSourceType",
8297
+ domain_name_arn="domainNameArn",
8298
+
8299
+ # the properties below are optional
8300
+ tags=[CfnTag(
8301
+ key="key",
8302
+ value="value"
8303
+ )]
8304
+ )
8305
+ '''
8306
+ if __debug__:
8307
+ type_hints = typing.get_type_hints(_typecheckingstub__519fe3488e579f2ddfc56721bd12d5c2520b9b787080002ce6f4f88bbc90d50a)
8308
+ check_type(argname="argument access_association_source", value=access_association_source, expected_type=type_hints["access_association_source"])
8309
+ check_type(argname="argument access_association_source_type", value=access_association_source_type, expected_type=type_hints["access_association_source_type"])
8310
+ check_type(argname="argument domain_name_arn", value=domain_name_arn, expected_type=type_hints["domain_name_arn"])
8311
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
8312
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8313
+ "access_association_source": access_association_source,
8314
+ "access_association_source_type": access_association_source_type,
8315
+ "domain_name_arn": domain_name_arn,
8316
+ }
8317
+ if tags is not None:
8318
+ self._values["tags"] = tags
8319
+
8320
+ @builtins.property
8321
+ def access_association_source(self) -> builtins.str:
8322
+ '''The identifier of the domain name access association source.
8323
+
8324
+ For a ``VPCE`` , the value is the VPC endpoint ID.
8325
+
8326
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource
8327
+ '''
8328
+ result = self._values.get("access_association_source")
8329
+ assert result is not None, "Required property 'access_association_source' is missing"
8330
+ return typing.cast(builtins.str, result)
8331
+
8332
+ @builtins.property
8333
+ def access_association_source_type(self) -> builtins.str:
8334
+ '''The type of the domain name access association source.
8335
+
8336
+ Only ``VPCE`` is currently supported.
8337
+
8338
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsourcetype
8339
+ '''
8340
+ result = self._values.get("access_association_source_type")
8341
+ assert result is not None, "Required property 'access_association_source_type' is missing"
8342
+ return typing.cast(builtins.str, result)
8343
+
8344
+ @builtins.property
8345
+ def domain_name_arn(self) -> builtins.str:
8346
+ '''The ARN of the domain name.
8347
+
8348
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-domainnamearn
8349
+ '''
8350
+ result = self._values.get("domain_name_arn")
8351
+ assert result is not None, "Required property 'domain_name_arn' is missing"
8352
+ return typing.cast(builtins.str, result)
8353
+
8354
+ @builtins.property
8355
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8356
+ '''The collection of tags.
8357
+
8358
+ Each tag element is associated with a given resource.
8359
+
8360
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-tags
8361
+ '''
8362
+ result = self._values.get("tags")
8363
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8364
+
8365
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8366
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8367
+
8368
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8369
+ return not (rhs == self)
8370
+
8371
+ def __repr__(self) -> str:
8372
+ return "CfnDomainNameAccessAssociationProps(%s)" % ", ".join(
8373
+ k + "=" + repr(v) for k, v in self._values.items()
8374
+ )
8375
+
8376
+
8377
+ @jsii.data_type(
8378
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameProps",
8379
+ jsii_struct_bases=[],
8380
+ name_mapping={
8381
+ "certificate_arn": "certificateArn",
8382
+ "domain_name": "domainName",
8383
+ "endpoint_configuration": "endpointConfiguration",
8384
+ "mutual_tls_authentication": "mutualTlsAuthentication",
8385
+ "ownership_verification_certificate_arn": "ownershipVerificationCertificateArn",
8386
+ "regional_certificate_arn": "regionalCertificateArn",
8387
+ "security_policy": "securityPolicy",
8388
+ "tags": "tags",
8389
+ },
8390
+ )
8391
+ class CfnDomainNameProps:
8392
+ def __init__(
8393
+ self,
8394
+ *,
8395
+ certificate_arn: typing.Optional[builtins.str] = None,
8396
+ domain_name: typing.Optional[builtins.str] = None,
8397
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8398
+ mutual_tls_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.MutualTlsAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8399
+ ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
8400
+ regional_certificate_arn: typing.Optional[builtins.str] = None,
8401
+ security_policy: typing.Optional[builtins.str] = None,
8402
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8403
+ ) -> None:
8404
+ '''Properties for defining a ``CfnDomainName``.
8405
+
8406
+ :param certificate_arn: The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name. AWS Certificate Manager is the only supported source.
8407
+ :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
8408
+ :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8409
+ :param mutual_tls_authentication: The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
8410
+ :param ownership_verification_certificate_arn: The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
8411
+ :param regional_certificate_arn: The reference to an AWS -managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.
8412
+ :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
8413
+ :param tags: The collection of tags. Each tag element is associated with a given resource.
8414
+
8415
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html
8416
+ :exampleMetadata: fixture=_generated
8417
+
8418
+ Example::
8419
+
8420
+ # The code below shows an example of how to instantiate this type.
8421
+ # The values are placeholders you should change.
8422
+ from aws_cdk import aws_apigateway as apigateway
8423
+
8424
+ cfn_domain_name_props = apigateway.CfnDomainNameProps(
8425
+ certificate_arn="certificateArn",
8426
+ domain_name="domainName",
8427
+ endpoint_configuration=apigateway.CfnDomainName.EndpointConfigurationProperty(
8428
+ types=["types"]
8429
+ ),
8430
+ mutual_tls_authentication=apigateway.CfnDomainName.MutualTlsAuthenticationProperty(
8431
+ truststore_uri="truststoreUri",
8432
+ truststore_version="truststoreVersion"
8433
+ ),
8434
+ ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
8435
+ regional_certificate_arn="regionalCertificateArn",
8436
+ security_policy="securityPolicy",
8437
+ tags=[CfnTag(
8438
+ key="key",
8439
+ value="value"
8440
+ )]
8441
+ )
8442
+ '''
8443
+ if __debug__:
8444
+ type_hints = typing.get_type_hints(_typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3)
8445
+ check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
8446
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
8447
+ check_type(argname="argument endpoint_configuration", value=endpoint_configuration, expected_type=type_hints["endpoint_configuration"])
8448
+ check_type(argname="argument mutual_tls_authentication", value=mutual_tls_authentication, expected_type=type_hints["mutual_tls_authentication"])
8449
+ check_type(argname="argument ownership_verification_certificate_arn", value=ownership_verification_certificate_arn, expected_type=type_hints["ownership_verification_certificate_arn"])
8450
+ check_type(argname="argument regional_certificate_arn", value=regional_certificate_arn, expected_type=type_hints["regional_certificate_arn"])
8451
+ check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
8452
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
8453
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8454
+ if certificate_arn is not None:
8455
+ self._values["certificate_arn"] = certificate_arn
8456
+ if domain_name is not None:
8457
+ self._values["domain_name"] = domain_name
8458
+ if endpoint_configuration is not None:
8459
+ self._values["endpoint_configuration"] = endpoint_configuration
8460
+ if mutual_tls_authentication is not None:
8461
+ self._values["mutual_tls_authentication"] = mutual_tls_authentication
8462
+ if ownership_verification_certificate_arn is not None:
8463
+ self._values["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
8464
+ if regional_certificate_arn is not None:
8465
+ self._values["regional_certificate_arn"] = regional_certificate_arn
8466
+ if security_policy is not None:
8467
+ self._values["security_policy"] = security_policy
8468
+ if tags is not None:
8469
+ self._values["tags"] = tags
8470
+
8471
+ @builtins.property
8472
+ def certificate_arn(self) -> typing.Optional[builtins.str]:
8473
+ '''The reference to an AWS -managed certificate that will be used by edge-optimized endpoint or private endpoint for this domain name.
8474
+
8475
+ AWS Certificate Manager is the only supported source.
8476
+
8477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
8478
+ '''
8479
+ result = self._values.get("certificate_arn")
8480
+ return typing.cast(typing.Optional[builtins.str], result)
8481
+
8482
+ @builtins.property
8483
+ def domain_name(self) -> typing.Optional[builtins.str]:
8484
+ '''The custom domain name as an API host name, for example, ``my-api.example.com`` .
8485
+
8486
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
8487
+ '''
8488
+ result = self._values.get("domain_name")
8489
+ return typing.cast(typing.Optional[builtins.str], result)
8490
+
8491
+ @builtins.property
8492
+ def endpoint_configuration(
8493
+ self,
8494
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]]:
8495
+ '''The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8496
+
8497
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
8498
+ '''
8499
+ result = self._values.get("endpoint_configuration")
8500
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]], result)
8501
+
8502
+ @builtins.property
8503
+ def mutual_tls_authentication(
8504
+ self,
8505
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]]:
8506
+ '''The mutual TLS authentication configuration for a custom domain name.
8507
+
8508
+ If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
8509
+
8510
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication
8511
+ '''
8512
+ result = self._values.get("mutual_tls_authentication")
8513
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]], result)
8514
+
8515
+ @builtins.property
8516
+ def ownership_verification_certificate_arn(self) -> typing.Optional[builtins.str]:
8517
+ '''The ARN of the public certificate issued by ACM to validate ownership of your custom domain.
8518
+
8519
+ Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
8520
+
8521
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn
8522
+ '''
8523
+ result = self._values.get("ownership_verification_certificate_arn")
8524
+ return typing.cast(typing.Optional[builtins.str], result)
8525
+
8526
+ @builtins.property
8527
+ def regional_certificate_arn(self) -> typing.Optional[builtins.str]:
8528
+ '''The reference to an AWS -managed certificate that will be used for validating the regional domain name.
8529
+
8530
+ AWS Certificate Manager is the only supported source.
8531
+
8532
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
8533
+ '''
8534
+ result = self._values.get("regional_certificate_arn")
8535
+ return typing.cast(typing.Optional[builtins.str], result)
8536
+
8537
+ @builtins.property
8538
+ def security_policy(self) -> typing.Optional[builtins.str]:
8539
+ '''The Transport Layer Security (TLS) version + cipher suite for this DomainName.
8540
+
8541
+ The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
8542
+
8543
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
8544
+ '''
8545
+ result = self._values.get("security_policy")
8546
+ return typing.cast(typing.Optional[builtins.str], result)
8547
+
8548
+ @builtins.property
8549
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8550
+ '''The collection of tags.
8551
+
8552
+ Each tag element is associated with a given resource.
8553
+
8554
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
8555
+ '''
8556
+ result = self._values.get("tags")
8557
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8558
+
8559
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8560
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8561
+
8562
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8563
+ return not (rhs == self)
8564
+
8565
+ def __repr__(self) -> str:
8566
+ return "CfnDomainNameProps(%s)" % ", ".join(
8567
+ k + "=" + repr(v) for k, v in self._values.items()
8568
+ )
8569
+
8570
+
8571
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8572
+ class CfnDomainNameV2(
8573
+ _CfnResource_9df397a6,
8574
+ metaclass=jsii.JSIIMeta,
8575
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2",
8576
+ ):
8577
+ '''The ``AWS::ApiGateway::DomainNameV2`` resource specifies a custom domain name for your private APIs in API Gateway.
8578
+
8579
+ You can use a private custom domain name to provide a URL for your private API that's more intuitive and easier to recall.
8580
+
8581
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html
8582
+ :cloudformationResource: AWS::ApiGateway::DomainNameV2
8583
+ :exampleMetadata: fixture=_generated
8584
+
8585
+ Example::
8586
+
8587
+ # The code below shows an example of how to instantiate this type.
8588
+ # The values are placeholders you should change.
8589
+ from aws_cdk import aws_apigateway as apigateway
8590
+
8591
+ # management_policy: Any
8592
+ # policy: Any
8593
+
8594
+ cfn_domain_name_v2 = apigateway.CfnDomainNameV2(self, "MyCfnDomainNameV2",
8595
+ certificate_arn="certificateArn",
8596
+ domain_name="domainName",
8597
+ endpoint_configuration=apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
8598
+ types=["types"]
8599
+ ),
8600
+ management_policy=management_policy,
8601
+ policy=policy,
8602
+ security_policy="securityPolicy",
8603
+ tags=[CfnTag(
8604
+ key="key",
8605
+ value="value"
8606
+ )]
8607
+ )
8608
+ '''
8609
+
8610
+ def __init__(
8611
+ self,
8612
+ scope: _constructs_77d1e7e8.Construct,
8613
+ id: builtins.str,
8614
+ *,
8615
+ certificate_arn: typing.Optional[builtins.str] = None,
8616
+ domain_name: typing.Optional[builtins.str] = None,
8617
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomainNameV2.EndpointConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8618
+ management_policy: typing.Any = None,
8619
+ policy: typing.Any = None,
8620
+ security_policy: typing.Optional[builtins.str] = None,
8621
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8622
+ ) -> None:
8623
+ '''
8624
+ :param scope: Scope in which this resource is defined.
8625
+ :param id: Construct identifier for this resource (unique in its scope).
8626
+ :param certificate_arn: The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.
8627
+ :param domain_name: Represents a custom domain name as a user-friendly host name of an API (RestApi).
8628
+ :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8629
+ :param management_policy:
8630
+ :param policy: A stringified JSON policy document that applies to the ``execute-api`` service for this DomainName regardless of the caller and Method configuration. You can use ``Fn::ToJsonString`` to enter your ``policy`` . For more information, see `Fn::ToJsonString <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html>`_ .
8631
+ :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. Only ``TLS_1_2`` is supported.
8632
+ :param tags: The collection of tags. Each tag element is associated with a given resource.
8633
+ '''
8634
+ if __debug__:
8635
+ type_hints = typing.get_type_hints(_typecheckingstub__a4f501d10d57d39a48913872efdcb7d389a076fed9b5aabb21034b8e60a1e0bf)
8636
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8637
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8638
+ props = CfnDomainNameV2Props(
8639
+ certificate_arn=certificate_arn,
8640
+ domain_name=domain_name,
8641
+ endpoint_configuration=endpoint_configuration,
8642
+ management_policy=management_policy,
8643
+ policy=policy,
8644
+ security_policy=security_policy,
8645
+ tags=tags,
8646
+ )
8647
+
8648
+ jsii.create(self.__class__, self, [scope, id, props])
8649
+
8650
+ @jsii.member(jsii_name="inspect")
8651
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
8652
+ '''Examines the CloudFormation resource and discloses attributes.
8653
+
8654
+ :param inspector: tree inspector to collect and process attributes.
8655
+ '''
8656
+ if __debug__:
8657
+ type_hints = typing.get_type_hints(_typecheckingstub__cba990fa84005688ae2a90df64bc7ab39d02ac254f4c8a2fb935da000e626e3b)
8658
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
8659
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
8660
+
8661
+ @jsii.member(jsii_name="renderProperties")
8662
+ def _render_properties(
8663
+ self,
8664
+ props: typing.Mapping[builtins.str, typing.Any],
8665
+ ) -> typing.Mapping[builtins.str, typing.Any]:
8666
+ '''
8667
+ :param props: -
8668
+ '''
8669
+ if __debug__:
8670
+ type_hints = typing.get_type_hints(_typecheckingstub__84c84802ec05ba723e240d805b21796f43a8f3cf08c5ef8677460e77d0a2182b)
8671
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
8672
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
8673
+
8674
+ @jsii.python.classproperty
8675
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
8676
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
8677
+ '''The CloudFormation resource type name for this resource class.'''
8678
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
8679
+
8680
+ @builtins.property
8681
+ @jsii.member(jsii_name="attrDomainNameArn")
8682
+ def attr_domain_name_arn(self) -> builtins.str:
8683
+ '''The ARN of the domain name.
8684
+
8685
+ :cloudformationAttribute: DomainNameArn
8686
+ '''
8687
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameArn"))
8688
+
8689
+ @builtins.property
8690
+ @jsii.member(jsii_name="attrDomainNameId")
8691
+ def attr_domain_name_id(self) -> builtins.str:
8692
+ '''The domain name ID.
8693
+
8694
+ :cloudformationAttribute: DomainNameId
8695
+ '''
8696
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameId"))
8697
+
8698
+ @builtins.property
8699
+ @jsii.member(jsii_name="cdkTagManager")
8700
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8701
+ '''Tag Manager which manages the tags for this resource.'''
8702
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8703
+
8704
+ @builtins.property
8705
+ @jsii.member(jsii_name="cfnProperties")
8706
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8707
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8708
+
8709
+ @builtins.property
8710
+ @jsii.member(jsii_name="certificateArn")
8711
+ def certificate_arn(self) -> typing.Optional[builtins.str]:
8712
+ '''The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name.'''
8713
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificateArn"))
8714
+
8715
+ @certificate_arn.setter
8716
+ def certificate_arn(self, value: typing.Optional[builtins.str]) -> None:
8717
+ if __debug__:
8718
+ type_hints = typing.get_type_hints(_typecheckingstub__02e36a521e1f2c0c18cff2c52c016e6370b767eb2b459e2c294bb4288285a448)
8719
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8720
+ jsii.set(self, "certificateArn", value) # pyright: ignore[reportArgumentType]
8721
+
8722
+ @builtins.property
8723
+ @jsii.member(jsii_name="domainName")
8724
+ def domain_name(self) -> typing.Optional[builtins.str]:
8725
+ '''Represents a custom domain name as a user-friendly host name of an API (RestApi).'''
8726
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "domainName"))
8727
+
8728
+ @domain_name.setter
8729
+ def domain_name(self, value: typing.Optional[builtins.str]) -> None:
8730
+ if __debug__:
8731
+ type_hints = typing.get_type_hints(_typecheckingstub__c6f92a0eb5f08e654ae978fba555493986c05eed5e088475197fb75aa2780b84)
8732
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8733
+ jsii.set(self, "domainName", value) # pyright: ignore[reportArgumentType]
8734
+
8735
+ @builtins.property
8736
+ @jsii.member(jsii_name="endpointConfiguration")
8737
+ def endpoint_configuration(
8738
+ self,
8739
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]]:
8740
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.'''
8741
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]], jsii.get(self, "endpointConfiguration"))
8742
+
8743
+ @endpoint_configuration.setter
8744
+ def endpoint_configuration(
8745
+ self,
8746
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]],
8747
+ ) -> None:
8748
+ if __debug__:
8749
+ type_hints = typing.get_type_hints(_typecheckingstub__a1f648b520c9d40bb72a9028880e48540125da8ba68522e25c483400d79142dc)
8750
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8751
+ jsii.set(self, "endpointConfiguration", value) # pyright: ignore[reportArgumentType]
8752
+
8753
+ @builtins.property
8754
+ @jsii.member(jsii_name="managementPolicy")
8755
+ def management_policy(self) -> typing.Any:
8756
+ return typing.cast(typing.Any, jsii.get(self, "managementPolicy"))
8757
+
8758
+ @management_policy.setter
8759
+ def management_policy(self, value: typing.Any) -> None:
8760
+ if __debug__:
8761
+ type_hints = typing.get_type_hints(_typecheckingstub__8b6d7f1f638d8720556c9e4d7598ad47d45db07dc328a664195267638644608c)
8762
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8763
+ jsii.set(self, "managementPolicy", value) # pyright: ignore[reportArgumentType]
8764
+
8765
+ @builtins.property
8766
+ @jsii.member(jsii_name="policy")
8767
+ def policy(self) -> typing.Any:
8768
+ '''A stringified JSON policy document that applies to the ``execute-api`` service for this DomainName regardless of the caller and Method configuration.'''
8769
+ return typing.cast(typing.Any, jsii.get(self, "policy"))
8770
+
8771
+ @policy.setter
8772
+ def policy(self, value: typing.Any) -> None:
8773
+ if __debug__:
8774
+ type_hints = typing.get_type_hints(_typecheckingstub__a0c6989179a94e32b700994895064456ee57af9eb39330638ade9b7801085b38)
8775
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8776
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
8777
+
8778
+ @builtins.property
8779
+ @jsii.member(jsii_name="securityPolicy")
8780
+ def security_policy(self) -> typing.Optional[builtins.str]:
8781
+ '''The Transport Layer Security (TLS) version + cipher suite for this DomainName.'''
8782
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "securityPolicy"))
8783
+
8784
+ @security_policy.setter
8785
+ def security_policy(self, value: typing.Optional[builtins.str]) -> None:
8786
+ if __debug__:
8787
+ type_hints = typing.get_type_hints(_typecheckingstub__a85cede5bfb66595d91f3753ac1832695db8f9eb734e73ecbc1600f19d466199)
8788
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8789
+ jsii.set(self, "securityPolicy", value) # pyright: ignore[reportArgumentType]
8790
+
8791
+ @builtins.property
8792
+ @jsii.member(jsii_name="tags")
8793
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8794
+ '''The collection of tags.'''
8795
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
8796
+
8797
+ @tags.setter
8798
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
8799
+ if __debug__:
8800
+ type_hints = typing.get_type_hints(_typecheckingstub__476074ac17a2d9034c89e6475b463dcb2b5ab63eb68064fdc492d43a910b9470)
8801
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8802
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
8803
+
8804
+ @jsii.data_type(
8805
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2.EndpointConfigurationProperty",
8806
+ jsii_struct_bases=[],
8807
+ name_mapping={"types": "types"},
8808
+ )
8809
+ class EndpointConfigurationProperty:
8810
+ def __init__(
8811
+ self,
8812
+ *,
8813
+ types: typing.Optional[typing.Sequence[builtins.str]] = None,
8814
+ ) -> None:
8815
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8816
+
8817
+ :param types: A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is ``"EDGE"`` . For a regional API and its custom domain name, the endpoint type is ``REGIONAL`` . For a private API, the endpoint type is ``PRIVATE`` .
8818
+
8819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html
8820
+ :exampleMetadata: fixture=_generated
8821
+
8822
+ Example::
8823
+
8824
+ # The code below shows an example of how to instantiate this type.
8825
+ # The values are placeholders you should change.
8826
+ from aws_cdk import aws_apigateway as apigateway
8827
+
8828
+ endpoint_configuration_property = apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
8829
+ types=["types"]
8830
+ )
8831
+ '''
8832
+ if __debug__:
8833
+ type_hints = typing.get_type_hints(_typecheckingstub__6b6f3002516ae2cfe5144f016260236185910ca3b84cc4dc018cc660b10716c4)
8834
+ check_type(argname="argument types", value=types, expected_type=type_hints["types"])
8835
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8836
+ if types is not None:
8837
+ self._values["types"] = types
8838
+
8839
+ @builtins.property
8840
+ def types(self) -> typing.Optional[typing.List[builtins.str]]:
8841
+ '''A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
8842
+
8843
+ For an edge-optimized API and its custom domain name, the endpoint type is ``"EDGE"`` . For a regional API and its custom domain name, the endpoint type is ``REGIONAL`` . For a private API, the endpoint type is ``PRIVATE`` .
8844
+
8845
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html#cfn-apigateway-domainnamev2-endpointconfiguration-types
8846
+ '''
8847
+ result = self._values.get("types")
8848
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
8849
+
8850
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8851
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8852
+
8853
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8854
+ return not (rhs == self)
8855
+
8856
+ def __repr__(self) -> str:
8857
+ return "EndpointConfigurationProperty(%s)" % ", ".join(
8858
+ k + "=" + repr(v) for k, v in self._values.items()
8859
+ )
8860
+
8861
+
8862
+ @jsii.data_type(
8863
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props",
8864
+ jsii_struct_bases=[],
8865
+ name_mapping={
8866
+ "certificate_arn": "certificateArn",
8867
+ "domain_name": "domainName",
8868
+ "endpoint_configuration": "endpointConfiguration",
8869
+ "management_policy": "managementPolicy",
8870
+ "policy": "policy",
8871
+ "security_policy": "securityPolicy",
8872
+ "tags": "tags",
8873
+ },
8874
+ )
8875
+ class CfnDomainNameV2Props:
8876
+ def __init__(
8877
+ self,
8878
+ *,
8879
+ certificate_arn: typing.Optional[builtins.str] = None,
8880
+ domain_name: typing.Optional[builtins.str] = None,
8881
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8882
+ management_policy: typing.Any = None,
8883
+ policy: typing.Any = None,
7835
8884
  security_policy: typing.Optional[builtins.str] = None,
7836
8885
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7837
8886
  ) -> None:
7838
- '''Properties for defining a ``CfnDomainName``.
7839
-
7840
- :param certificate_arn: The reference to an AWS -managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
7841
- :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
7842
- :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
7843
- :param mutual_tls_authentication: The mutual TLS authentication configuration for a custom domain name. If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
7844
- :param ownership_verification_certificate_arn: The ARN of the public certificate issued by ACM to validate ownership of your custom domain. Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
7845
- :param regional_certificate_arn: The reference to an AWS -managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.
7846
- :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
8887
+ '''Properties for defining a ``CfnDomainNameV2``.
8888
+
8889
+ :param certificate_arn: The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name. AWS Certificate Manager is the only supported source.
8890
+ :param domain_name: Represents a custom domain name as a user-friendly host name of an API (RestApi).
8891
+ :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8892
+ :param management_policy:
8893
+ :param policy: A stringified JSON policy document that applies to the ``execute-api`` service for this DomainName regardless of the caller and Method configuration. You can use ``Fn::ToJsonString`` to enter your ``policy`` . For more information, see `Fn::ToJsonString <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html>`_ .
8894
+ :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. Only ``TLS_1_2`` is supported.
7847
8895
  :param tags: The collection of tags. Each tag element is associated with a given resource.
7848
8896
 
7849
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html
8897
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html
7850
8898
  :exampleMetadata: fixture=_generated
7851
8899
 
7852
8900
  Example::
@@ -7855,18 +8903,17 @@ class CfnDomainNameProps:
7855
8903
  # The values are placeholders you should change.
7856
8904
  from aws_cdk import aws_apigateway as apigateway
7857
8905
 
7858
- cfn_domain_name_props = apigateway.CfnDomainNameProps(
8906
+ # management_policy: Any
8907
+ # policy: Any
8908
+
8909
+ cfn_domain_name_v2_props = apigateway.CfnDomainNameV2Props(
7859
8910
  certificate_arn="certificateArn",
7860
8911
  domain_name="domainName",
7861
- endpoint_configuration=apigateway.CfnDomainName.EndpointConfigurationProperty(
8912
+ endpoint_configuration=apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
7862
8913
  types=["types"]
7863
8914
  ),
7864
- mutual_tls_authentication=apigateway.CfnDomainName.MutualTlsAuthenticationProperty(
7865
- truststore_uri="truststoreUri",
7866
- truststore_version="truststoreVersion"
7867
- ),
7868
- ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
7869
- regional_certificate_arn="regionalCertificateArn",
8915
+ management_policy=management_policy,
8916
+ policy=policy,
7870
8917
  security_policy="securityPolicy",
7871
8918
  tags=[CfnTag(
7872
8919
  key="key",
@@ -7875,13 +8922,12 @@ class CfnDomainNameProps:
7875
8922
  )
7876
8923
  '''
7877
8924
  if __debug__:
7878
- type_hints = typing.get_type_hints(_typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3)
8925
+ type_hints = typing.get_type_hints(_typecheckingstub__dfb97b3f8aa373f21ebe15318ceaaf08a4d4b4b31e9ba1ed8fb04ef598132e15)
7879
8926
  check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
7880
8927
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
7881
8928
  check_type(argname="argument endpoint_configuration", value=endpoint_configuration, expected_type=type_hints["endpoint_configuration"])
7882
- check_type(argname="argument mutual_tls_authentication", value=mutual_tls_authentication, expected_type=type_hints["mutual_tls_authentication"])
7883
- check_type(argname="argument ownership_verification_certificate_arn", value=ownership_verification_certificate_arn, expected_type=type_hints["ownership_verification_certificate_arn"])
7884
- check_type(argname="argument regional_certificate_arn", value=regional_certificate_arn, expected_type=type_hints["regional_certificate_arn"])
8929
+ check_type(argname="argument management_policy", value=management_policy, expected_type=type_hints["management_policy"])
8930
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
7885
8931
  check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
7886
8932
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7887
8933
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -7891,12 +8937,10 @@ class CfnDomainNameProps:
7891
8937
  self._values["domain_name"] = domain_name
7892
8938
  if endpoint_configuration is not None:
7893
8939
  self._values["endpoint_configuration"] = endpoint_configuration
7894
- if mutual_tls_authentication is not None:
7895
- self._values["mutual_tls_authentication"] = mutual_tls_authentication
7896
- if ownership_verification_certificate_arn is not None:
7897
- self._values["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
7898
- if regional_certificate_arn is not None:
7899
- self._values["regional_certificate_arn"] = regional_certificate_arn
8940
+ if management_policy is not None:
8941
+ self._values["management_policy"] = management_policy
8942
+ if policy is not None:
8943
+ self._values["policy"] = policy
7900
8944
  if security_policy is not None:
7901
8945
  self._values["security_policy"] = security_policy
7902
8946
  if tags is not None:
@@ -7904,20 +8948,20 @@ class CfnDomainNameProps:
7904
8948
 
7905
8949
  @builtins.property
7906
8950
  def certificate_arn(self) -> typing.Optional[builtins.str]:
7907
- '''The reference to an AWS -managed certificate that will be used by edge-optimized endpoint for this domain name.
8951
+ '''The reference to an AWS -managed certificate that will be used by the private endpoint for this domain name.
7908
8952
 
7909
8953
  AWS Certificate Manager is the only supported source.
7910
8954
 
7911
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
8955
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-certificatearn
7912
8956
  '''
7913
8957
  result = self._values.get("certificate_arn")
7914
8958
  return typing.cast(typing.Optional[builtins.str], result)
7915
8959
 
7916
8960
  @builtins.property
7917
8961
  def domain_name(self) -> typing.Optional[builtins.str]:
7918
- '''The custom domain name as an API host name, for example, ``my-api.example.com`` .
8962
+ '''Represents a custom domain name as a user-friendly host name of an API (RestApi).
7919
8963
 
7920
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
8964
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-domainname
7921
8965
  '''
7922
8966
  result = self._values.get("domain_name")
7923
8967
  return typing.cast(typing.Optional[builtins.str], result)
@@ -7925,56 +8969,40 @@ class CfnDomainNameProps:
7925
8969
  @builtins.property
7926
8970
  def endpoint_configuration(
7927
8971
  self,
7928
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]]:
7929
- '''The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8972
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]]:
8973
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
7930
8974
 
7931
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
8975
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-endpointconfiguration
7932
8976
  '''
7933
8977
  result = self._values.get("endpoint_configuration")
7934
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]], result)
8978
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]], result)
7935
8979
 
7936
8980
  @builtins.property
7937
- def mutual_tls_authentication(
7938
- self,
7939
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]]:
7940
- '''The mutual TLS authentication configuration for a custom domain name.
7941
-
7942
- If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
7943
-
7944
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication
8981
+ def management_policy(self) -> typing.Any:
7945
8982
  '''
7946
- result = self._values.get("mutual_tls_authentication")
7947
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]], result)
7948
-
7949
- @builtins.property
7950
- def ownership_verification_certificate_arn(self) -> typing.Optional[builtins.str]:
7951
- '''The ARN of the public certificate issued by ACM to validate ownership of your custom domain.
7952
-
7953
- Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
7954
-
7955
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn
8983
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-managementpolicy
7956
8984
  '''
7957
- result = self._values.get("ownership_verification_certificate_arn")
7958
- return typing.cast(typing.Optional[builtins.str], result)
8985
+ result = self._values.get("management_policy")
8986
+ return typing.cast(typing.Any, result)
7959
8987
 
7960
8988
  @builtins.property
7961
- def regional_certificate_arn(self) -> typing.Optional[builtins.str]:
7962
- '''The reference to an AWS -managed certificate that will be used for validating the regional domain name.
8989
+ def policy(self) -> typing.Any:
8990
+ '''A stringified JSON policy document that applies to the ``execute-api`` service for this DomainName regardless of the caller and Method configuration.
7963
8991
 
7964
- AWS Certificate Manager is the only supported source.
8992
+ You can use ``Fn::ToJsonString`` to enter your ``policy`` . For more information, see `Fn::ToJsonString <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ToJsonString.html>`_ .
7965
8993
 
7966
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
8994
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-policy
7967
8995
  '''
7968
- result = self._values.get("regional_certificate_arn")
7969
- return typing.cast(typing.Optional[builtins.str], result)
8996
+ result = self._values.get("policy")
8997
+ return typing.cast(typing.Any, result)
7970
8998
 
7971
8999
  @builtins.property
7972
9000
  def security_policy(self) -> typing.Optional[builtins.str]:
7973
9001
  '''The Transport Layer Security (TLS) version + cipher suite for this DomainName.
7974
9002
 
7975
- The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
9003
+ Only ``TLS_1_2`` is supported.
7976
9004
 
7977
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
9005
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-securitypolicy
7978
9006
  '''
7979
9007
  result = self._values.get("security_policy")
7980
9008
  return typing.cast(typing.Optional[builtins.str], result)
@@ -7985,7 +9013,7 @@ class CfnDomainNameProps:
7985
9013
 
7986
9014
  Each tag element is associated with a given resource.
7987
9015
 
7988
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
9016
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-tags
7989
9017
  '''
7990
9018
  result = self._values.get("tags")
7991
9019
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
@@ -7997,7 +9025,7 @@ class CfnDomainNameProps:
7997
9025
  return not (rhs == self)
7998
9026
 
7999
9027
  def __repr__(self) -> str:
8000
- return "CfnDomainNameProps(%s)" % ", ".join(
9028
+ return "CfnDomainNameV2Props(%s)" % ", ".join(
8001
9029
  k + "=" + repr(v) for k, v in self._values.items()
8002
9030
  )
8003
9031
 
@@ -29492,23 +30520,22 @@ class LambdaRestApiProps(RestApiProps):
29492
30520
 
29493
30521
  Example::
29494
30522
 
29495
- # backend: lambda.Function
30523
+ # source_queue: sqs.Queue
29496
30524
 
29497
- api = apigateway.LambdaRestApi(self, "myapi",
29498
- handler=backend,
29499
- proxy=False
29500
- )
29501
30525
 
29502
- items = api.root.add_resource("items")
29503
- items.add_method("GET") # GET /items
29504
- items.add_method("POST") # POST /items
30526
+ fn = lambda_.Function(self, "MyFunc",
30527
+ handler="index.handler",
30528
+ runtime=lambda_.Runtime.NODEJS_LATEST,
30529
+ code=lambda_.Code.from_inline("exports.handler = e => {}")
30530
+ )
29505
30531
 
29506
- item = items.add_resource("{item}")
29507
- item.add_method("GET") # GET /items/{item}
30532
+ rest_api = api.LambdaRestApi(self, "MyRestAPI", handler=fn)
30533
+ api_target = targets.ApiGatewayTarget(rest_api)
29508
30534
 
29509
- # the default integration for methods is "handler", but one can
29510
- # customize this behavior per method or even a sub path.
29511
- item.add_method("DELETE", apigateway.HttpIntegration("http://amazon.com"))
30535
+ pipe = pipes.Pipe(self, "Pipe",
30536
+ source=SqsSource(source_queue),
30537
+ target=api_target
30538
+ )
29512
30539
  '''
29513
30540
  if isinstance(default_cors_preflight_options, dict):
29514
30541
  default_cors_preflight_options = CorsOptions(**default_cors_preflight_options)
@@ -31508,23 +32535,22 @@ class LambdaRestApi(
31508
32535
 
31509
32536
  Example::
31510
32537
 
31511
- # backend: lambda.Function
32538
+ # source_queue: sqs.Queue
31512
32539
 
31513
- api = apigateway.LambdaRestApi(self, "myapi",
31514
- handler=backend,
31515
- proxy=False
31516
- )
31517
32540
 
31518
- items = api.root.add_resource("items")
31519
- items.add_method("GET") # GET /items
31520
- items.add_method("POST") # POST /items
32541
+ fn = lambda_.Function(self, "MyFunc",
32542
+ handler="index.handler",
32543
+ runtime=lambda_.Runtime.NODEJS_LATEST,
32544
+ code=lambda_.Code.from_inline("exports.handler = e => {}")
32545
+ )
31521
32546
 
31522
- item = items.add_resource("{item}")
31523
- item.add_method("GET") # GET /items/{item}
32547
+ rest_api = api.LambdaRestApi(self, "MyRestAPI", handler=fn)
32548
+ api_target = targets.ApiGatewayTarget(rest_api)
31524
32549
 
31525
- # the default integration for methods is "handler", but one can
31526
- # customize this behavior per method or even a sub path.
31527
- item.add_method("DELETE", apigateway.HttpIntegration("http://amazon.com"))
32550
+ pipe = pipes.Pipe(self, "Pipe",
32551
+ source=SqsSource(source_queue),
32552
+ target=api_target
32553
+ )
31528
32554
  '''
31529
32555
 
31530
32556
  def __init__(
@@ -31769,6 +32795,8 @@ __all__ = [
31769
32795
  "CfnAuthorizerProps",
31770
32796
  "CfnBasePathMapping",
31771
32797
  "CfnBasePathMappingProps",
32798
+ "CfnBasePathMappingV2",
32799
+ "CfnBasePathMappingV2Props",
31772
32800
  "CfnClientCertificate",
31773
32801
  "CfnClientCertificateProps",
31774
32802
  "CfnDeployment",
@@ -31778,7 +32806,11 @@ __all__ = [
31778
32806
  "CfnDocumentationVersion",
31779
32807
  "CfnDocumentationVersionProps",
31780
32808
  "CfnDomainName",
32809
+ "CfnDomainNameAccessAssociation",
32810
+ "CfnDomainNameAccessAssociationProps",
31781
32811
  "CfnDomainNameProps",
32812
+ "CfnDomainNameV2",
32813
+ "CfnDomainNameV2Props",
31782
32814
  "CfnGatewayResponse",
31783
32815
  "CfnGatewayResponseProps",
31784
32816
  "CfnMethod",
@@ -32417,6 +33449,64 @@ def _typecheckingstub__7d1bf02dcb15bc3e234f159c18646cccfa570e5c0f1d814a1362edb58
32417
33449
  """Type checking stubs"""
32418
33450
  pass
32419
33451
 
33452
+ def _typecheckingstub__a583f31dead36a23816022dfcb476b0ff18ec097d668a0cf42b19791b749acae(
33453
+ scope: _constructs_77d1e7e8.Construct,
33454
+ id: builtins.str,
33455
+ *,
33456
+ domain_name_arn: builtins.str,
33457
+ rest_api_id: builtins.str,
33458
+ base_path: typing.Optional[builtins.str] = None,
33459
+ stage: typing.Optional[builtins.str] = None,
33460
+ ) -> None:
33461
+ """Type checking stubs"""
33462
+ pass
33463
+
33464
+ def _typecheckingstub__6eb0641d050becd18a8a9f284493b10283d6aced001cf16285ba0926b9a2ea21(
33465
+ inspector: _TreeInspector_488e0dd5,
33466
+ ) -> None:
33467
+ """Type checking stubs"""
33468
+ pass
33469
+
33470
+ def _typecheckingstub__ec5be7f34d7d1faa1a122900429e9be29d8ba4ea05ed4525cd221ea65131405b(
33471
+ props: typing.Mapping[builtins.str, typing.Any],
33472
+ ) -> None:
33473
+ """Type checking stubs"""
33474
+ pass
33475
+
33476
+ def _typecheckingstub__23fd4874b172b953d177d1eced6c053907a3207a7d931ea7cebfd59673893321(
33477
+ value: builtins.str,
33478
+ ) -> None:
33479
+ """Type checking stubs"""
33480
+ pass
33481
+
33482
+ def _typecheckingstub__9e920388746332df91cb086b28eb2938d57106b8f772017211c3b2f52cd707b6(
33483
+ value: builtins.str,
33484
+ ) -> None:
33485
+ """Type checking stubs"""
33486
+ pass
33487
+
33488
+ def _typecheckingstub__8b3750f1121b177684129c6fc603e6fc5f80e5a7cfbd3ef4c6b8695fcc42c1d6(
33489
+ value: typing.Optional[builtins.str],
33490
+ ) -> None:
33491
+ """Type checking stubs"""
33492
+ pass
33493
+
33494
+ def _typecheckingstub__06763dc8a118854a928d389386d0a3d513848ff9eaaef5bd4ca70a6d09d586e0(
33495
+ value: typing.Optional[builtins.str],
33496
+ ) -> None:
33497
+ """Type checking stubs"""
33498
+ pass
33499
+
33500
+ def _typecheckingstub__5f193676fc187703a2da6f9b8342bed4af93ab14e1c8f01d93fb4249b4e41ba3(
33501
+ *,
33502
+ domain_name_arn: builtins.str,
33503
+ rest_api_id: builtins.str,
33504
+ base_path: typing.Optional[builtins.str] = None,
33505
+ stage: typing.Optional[builtins.str] = None,
33506
+ ) -> None:
33507
+ """Type checking stubs"""
33508
+ pass
33509
+
32420
33510
  def _typecheckingstub__b04e1c6e6561781583a05d34684fa7f16c7a0f9593b5bdadf17a39aa7adc53ac(
32421
33511
  scope: _constructs_77d1e7e8.Construct,
32422
33512
  id: builtins.str,
@@ -32794,6 +33884,64 @@ def _typecheckingstub__20d6debf4c14a68aa82e5a1c08dd101632582c4d47645b17413b831ff
32794
33884
  """Type checking stubs"""
32795
33885
  pass
32796
33886
 
33887
+ def _typecheckingstub__cafcd3b452004fc09063699f5b2263d0f36c2a080b20c7f0d51493646ac87441(
33888
+ scope: _constructs_77d1e7e8.Construct,
33889
+ id: builtins.str,
33890
+ *,
33891
+ access_association_source: builtins.str,
33892
+ access_association_source_type: builtins.str,
33893
+ domain_name_arn: builtins.str,
33894
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33895
+ ) -> None:
33896
+ """Type checking stubs"""
33897
+ pass
33898
+
33899
+ def _typecheckingstub__d4584e14c8cc1eda344bf13cbc96b7ff7cf893e84c7aa3abf7ce385dfd0ebb0b(
33900
+ inspector: _TreeInspector_488e0dd5,
33901
+ ) -> None:
33902
+ """Type checking stubs"""
33903
+ pass
33904
+
33905
+ def _typecheckingstub__635e79e806ac4eaac4502971d453a0581ed2a8620fc4309d2fa5820e1eea4413(
33906
+ props: typing.Mapping[builtins.str, typing.Any],
33907
+ ) -> None:
33908
+ """Type checking stubs"""
33909
+ pass
33910
+
33911
+ def _typecheckingstub__23c76b51f9a9a8e6cecdd5cb498ecd02cfa61809c66806005dd3fc4f5f33f35c(
33912
+ value: builtins.str,
33913
+ ) -> None:
33914
+ """Type checking stubs"""
33915
+ pass
33916
+
33917
+ def _typecheckingstub__22ceba82da2b5b77979cdbe562907d1ee3c704bfcb564f766864aaff695f3400(
33918
+ value: builtins.str,
33919
+ ) -> None:
33920
+ """Type checking stubs"""
33921
+ pass
33922
+
33923
+ def _typecheckingstub__5a9c3f25d11f724e7f4c78554b51bc3fc13c83e113087fbbf7d37e9868c51bdb(
33924
+ value: builtins.str,
33925
+ ) -> None:
33926
+ """Type checking stubs"""
33927
+ pass
33928
+
33929
+ def _typecheckingstub__2c58e960117de6ef208f31f47e57fea4a9b3894dc90dde201f0f6f182cab17d8(
33930
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
33931
+ ) -> None:
33932
+ """Type checking stubs"""
33933
+ pass
33934
+
33935
+ def _typecheckingstub__519fe3488e579f2ddfc56721bd12d5c2520b9b787080002ce6f4f88bbc90d50a(
33936
+ *,
33937
+ access_association_source: builtins.str,
33938
+ access_association_source_type: builtins.str,
33939
+ domain_name_arn: builtins.str,
33940
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33941
+ ) -> None:
33942
+ """Type checking stubs"""
33943
+ pass
33944
+
32797
33945
  def _typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3(
32798
33946
  *,
32799
33947
  certificate_arn: typing.Optional[builtins.str] = None,
@@ -32808,6 +33956,95 @@ def _typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a37
32808
33956
  """Type checking stubs"""
32809
33957
  pass
32810
33958
 
33959
+ def _typecheckingstub__a4f501d10d57d39a48913872efdcb7d389a076fed9b5aabb21034b8e60a1e0bf(
33960
+ scope: _constructs_77d1e7e8.Construct,
33961
+ id: builtins.str,
33962
+ *,
33963
+ certificate_arn: typing.Optional[builtins.str] = None,
33964
+ domain_name: typing.Optional[builtins.str] = None,
33965
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
33966
+ management_policy: typing.Any = None,
33967
+ policy: typing.Any = None,
33968
+ security_policy: typing.Optional[builtins.str] = None,
33969
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33970
+ ) -> None:
33971
+ """Type checking stubs"""
33972
+ pass
33973
+
33974
+ def _typecheckingstub__cba990fa84005688ae2a90df64bc7ab39d02ac254f4c8a2fb935da000e626e3b(
33975
+ inspector: _TreeInspector_488e0dd5,
33976
+ ) -> None:
33977
+ """Type checking stubs"""
33978
+ pass
33979
+
33980
+ def _typecheckingstub__84c84802ec05ba723e240d805b21796f43a8f3cf08c5ef8677460e77d0a2182b(
33981
+ props: typing.Mapping[builtins.str, typing.Any],
33982
+ ) -> None:
33983
+ """Type checking stubs"""
33984
+ pass
33985
+
33986
+ def _typecheckingstub__02e36a521e1f2c0c18cff2c52c016e6370b767eb2b459e2c294bb4288285a448(
33987
+ value: typing.Optional[builtins.str],
33988
+ ) -> None:
33989
+ """Type checking stubs"""
33990
+ pass
33991
+
33992
+ def _typecheckingstub__c6f92a0eb5f08e654ae978fba555493986c05eed5e088475197fb75aa2780b84(
33993
+ value: typing.Optional[builtins.str],
33994
+ ) -> None:
33995
+ """Type checking stubs"""
33996
+ pass
33997
+
33998
+ def _typecheckingstub__a1f648b520c9d40bb72a9028880e48540125da8ba68522e25c483400d79142dc(
33999
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]],
34000
+ ) -> None:
34001
+ """Type checking stubs"""
34002
+ pass
34003
+
34004
+ def _typecheckingstub__8b6d7f1f638d8720556c9e4d7598ad47d45db07dc328a664195267638644608c(
34005
+ value: typing.Any,
34006
+ ) -> None:
34007
+ """Type checking stubs"""
34008
+ pass
34009
+
34010
+ def _typecheckingstub__a0c6989179a94e32b700994895064456ee57af9eb39330638ade9b7801085b38(
34011
+ value: typing.Any,
34012
+ ) -> None:
34013
+ """Type checking stubs"""
34014
+ pass
34015
+
34016
+ def _typecheckingstub__a85cede5bfb66595d91f3753ac1832695db8f9eb734e73ecbc1600f19d466199(
34017
+ value: typing.Optional[builtins.str],
34018
+ ) -> None:
34019
+ """Type checking stubs"""
34020
+ pass
34021
+
34022
+ def _typecheckingstub__476074ac17a2d9034c89e6475b463dcb2b5ab63eb68064fdc492d43a910b9470(
34023
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
34024
+ ) -> None:
34025
+ """Type checking stubs"""
34026
+ pass
34027
+
34028
+ def _typecheckingstub__6b6f3002516ae2cfe5144f016260236185910ca3b84cc4dc018cc660b10716c4(
34029
+ *,
34030
+ types: typing.Optional[typing.Sequence[builtins.str]] = None,
34031
+ ) -> None:
34032
+ """Type checking stubs"""
34033
+ pass
34034
+
34035
+ def _typecheckingstub__dfb97b3f8aa373f21ebe15318ceaaf08a4d4b4b31e9ba1ed8fb04ef598132e15(
34036
+ *,
34037
+ certificate_arn: typing.Optional[builtins.str] = None,
34038
+ domain_name: typing.Optional[builtins.str] = None,
34039
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
34040
+ management_policy: typing.Any = None,
34041
+ policy: typing.Any = None,
34042
+ security_policy: typing.Optional[builtins.str] = None,
34043
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
34044
+ ) -> None:
34045
+ """Type checking stubs"""
34046
+ pass
34047
+
32811
34048
  def _typecheckingstub__dfb51ee54cd182788cbab3215f86a2155730ef96e24304891e470a0af6430ec5(
32812
34049
  scope: _constructs_77d1e7e8.Construct,
32813
34050
  id: builtins.str,