aws-cdk-lib 2.171.1__py3-none-any.whl → 2.172.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 (47) hide show
  1. aws_cdk/__init__.py +471 -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.172.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +1314 -124
  5. aws_cdk/aws_appsync/__init__.py +159 -136
  6. aws_cdk/aws_autoscaling/__init__.py +81 -24
  7. aws_cdk/aws_bedrock/__init__.py +48 -0
  8. aws_cdk/aws_chatbot/__init__.py +775 -0
  9. aws_cdk/aws_cloudformation/__init__.py +240 -159
  10. aws_cdk/aws_cloudfront/__init__.py +11 -5
  11. aws_cdk/aws_cloudtrail/__init__.py +753 -0
  12. aws_cdk/aws_cognito/__init__.py +825 -4
  13. aws_cdk/aws_connect/__init__.py +429 -0
  14. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  15. aws_cdk/aws_ec2/__init__.py +872 -5
  16. aws_cdk/aws_ecs/__init__.py +12 -7
  17. aws_cdk/aws_eks/__init__.py +709 -0
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +309 -55
  19. aws_cdk/aws_events/__init__.py +515 -8
  20. aws_cdk/aws_iot/__init__.py +42 -4
  21. aws_cdk/aws_iotfleetwise/__init__.py +510 -0
  22. aws_cdk/aws_iotsitewise/__init__.py +156 -0
  23. aws_cdk/aws_lambda/__init__.py +14 -8
  24. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  25. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  26. aws_cdk/aws_m2/__init__.py +289 -0
  27. aws_cdk/aws_mwaa/__init__.py +6 -6
  28. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  29. aws_cdk/aws_pipes/__init__.py +14 -30
  30. aws_cdk/aws_qbusiness/__init__.py +3 -1
  31. aws_cdk/aws_quicksight/__init__.py +8270 -10
  32. aws_cdk/aws_rbin/__init__.py +53 -34
  33. aws_cdk/aws_rds/__init__.py +140 -8
  34. aws_cdk/aws_resourcegroups/__init__.py +349 -0
  35. aws_cdk/aws_route53_targets/__init__.py +82 -0
  36. aws_cdk/aws_route53resolver/__init__.py +15 -6
  37. aws_cdk/aws_s3express/__init__.py +403 -2
  38. aws_cdk/aws_sagemaker/__init__.py +124 -112
  39. aws_cdk/aws_ses/__init__.py +79 -41
  40. aws_cdk/aws_wisdom/__init__.py +4713 -172
  41. aws_cdk/aws_workspacesweb/__init__.py +1024 -0
  42. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/METADATA +1 -1
  43. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.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,
@@ -5249,6 +5253,271 @@ class CfnBasePathMappingProps:
5249
5253
  )
5250
5254
 
5251
5255
 
5256
+ @jsii.implements(_IInspectable_c2943556)
5257
+ class CfnBasePathMappingV2(
5258
+ _CfnResource_9df397a6,
5259
+ metaclass=jsii.JSIIMeta,
5260
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnBasePathMappingV2",
5261
+ ):
5262
+ '''Resource Type definition for AWS::ApiGateway::BasePathMappingV2.
5263
+
5264
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html
5265
+ :cloudformationResource: AWS::ApiGateway::BasePathMappingV2
5266
+ :exampleMetadata: fixture=_generated
5267
+
5268
+ Example::
5269
+
5270
+ # The code below shows an example of how to instantiate this type.
5271
+ # The values are placeholders you should change.
5272
+ from aws_cdk import aws_apigateway as apigateway
5273
+
5274
+ cfn_base_path_mapping_v2 = apigateway.CfnBasePathMappingV2(self, "MyCfnBasePathMappingV2",
5275
+ domain_name_arn="domainNameArn",
5276
+ rest_api_id="restApiId",
5277
+
5278
+ # the properties below are optional
5279
+ base_path="basePath",
5280
+ stage="stage"
5281
+ )
5282
+ '''
5283
+
5284
+ def __init__(
5285
+ self,
5286
+ scope: _constructs_77d1e7e8.Construct,
5287
+ id: builtins.str,
5288
+ *,
5289
+ domain_name_arn: builtins.str,
5290
+ rest_api_id: builtins.str,
5291
+ base_path: typing.Optional[builtins.str] = None,
5292
+ stage: typing.Optional[builtins.str] = None,
5293
+ ) -> None:
5294
+ '''
5295
+ :param scope: Scope in which this resource is defined.
5296
+ :param id: Construct identifier for this resource (unique in its scope).
5297
+ :param domain_name_arn: The Arn of an AWS::ApiGateway::DomainNameV2 resource.
5298
+ :param rest_api_id: The ID of the API.
5299
+ :param base_path: The base path name that callers of the API must provide in the URL after the domain name.
5300
+ :param stage: The name of the API's stage.
5301
+ '''
5302
+ if __debug__:
5303
+ type_hints = typing.get_type_hints(_typecheckingstub__a583f31dead36a23816022dfcb476b0ff18ec097d668a0cf42b19791b749acae)
5304
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5305
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5306
+ props = CfnBasePathMappingV2Props(
5307
+ domain_name_arn=domain_name_arn,
5308
+ rest_api_id=rest_api_id,
5309
+ base_path=base_path,
5310
+ stage=stage,
5311
+ )
5312
+
5313
+ jsii.create(self.__class__, self, [scope, id, props])
5314
+
5315
+ @jsii.member(jsii_name="inspect")
5316
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5317
+ '''Examines the CloudFormation resource and discloses attributes.
5318
+
5319
+ :param inspector: tree inspector to collect and process attributes.
5320
+ '''
5321
+ if __debug__:
5322
+ type_hints = typing.get_type_hints(_typecheckingstub__6eb0641d050becd18a8a9f284493b10283d6aced001cf16285ba0926b9a2ea21)
5323
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
5324
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5325
+
5326
+ @jsii.member(jsii_name="renderProperties")
5327
+ def _render_properties(
5328
+ self,
5329
+ props: typing.Mapping[builtins.str, typing.Any],
5330
+ ) -> typing.Mapping[builtins.str, typing.Any]:
5331
+ '''
5332
+ :param props: -
5333
+ '''
5334
+ if __debug__:
5335
+ type_hints = typing.get_type_hints(_typecheckingstub__ec5be7f34d7d1faa1a122900429e9be29d8ba4ea05ed4525cd221ea65131405b)
5336
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
5337
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5338
+
5339
+ @jsii.python.classproperty
5340
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
5341
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
5342
+ '''The CloudFormation resource type name for this resource class.'''
5343
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5344
+
5345
+ @builtins.property
5346
+ @jsii.member(jsii_name="attrBasePathMappingArn")
5347
+ def attr_base_path_mapping_arn(self) -> builtins.str:
5348
+ '''Amazon Resource Name (ARN) of the resource.
5349
+
5350
+ :cloudformationAttribute: BasePathMappingArn
5351
+ '''
5352
+ return typing.cast(builtins.str, jsii.get(self, "attrBasePathMappingArn"))
5353
+
5354
+ @builtins.property
5355
+ @jsii.member(jsii_name="cfnProperties")
5356
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5357
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5358
+
5359
+ @builtins.property
5360
+ @jsii.member(jsii_name="domainNameArn")
5361
+ def domain_name_arn(self) -> builtins.str:
5362
+ '''The Arn of an AWS::ApiGateway::DomainNameV2 resource.'''
5363
+ return typing.cast(builtins.str, jsii.get(self, "domainNameArn"))
5364
+
5365
+ @domain_name_arn.setter
5366
+ def domain_name_arn(self, value: builtins.str) -> None:
5367
+ if __debug__:
5368
+ type_hints = typing.get_type_hints(_typecheckingstub__23fd4874b172b953d177d1eced6c053907a3207a7d931ea7cebfd59673893321)
5369
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5370
+ jsii.set(self, "domainNameArn", value) # pyright: ignore[reportArgumentType]
5371
+
5372
+ @builtins.property
5373
+ @jsii.member(jsii_name="restApiId")
5374
+ def rest_api_id(self) -> builtins.str:
5375
+ '''The ID of the API.'''
5376
+ return typing.cast(builtins.str, jsii.get(self, "restApiId"))
5377
+
5378
+ @rest_api_id.setter
5379
+ def rest_api_id(self, value: builtins.str) -> None:
5380
+ if __debug__:
5381
+ type_hints = typing.get_type_hints(_typecheckingstub__9e920388746332df91cb086b28eb2938d57106b8f772017211c3b2f52cd707b6)
5382
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5383
+ jsii.set(self, "restApiId", value) # pyright: ignore[reportArgumentType]
5384
+
5385
+ @builtins.property
5386
+ @jsii.member(jsii_name="basePath")
5387
+ def base_path(self) -> typing.Optional[builtins.str]:
5388
+ '''The base path name that callers of the API must provide in the URL after the domain name.'''
5389
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "basePath"))
5390
+
5391
+ @base_path.setter
5392
+ def base_path(self, value: typing.Optional[builtins.str]) -> None:
5393
+ if __debug__:
5394
+ type_hints = typing.get_type_hints(_typecheckingstub__8b3750f1121b177684129c6fc603e6fc5f80e5a7cfbd3ef4c6b8695fcc42c1d6)
5395
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5396
+ jsii.set(self, "basePath", value) # pyright: ignore[reportArgumentType]
5397
+
5398
+ @builtins.property
5399
+ @jsii.member(jsii_name="stage")
5400
+ def stage(self) -> typing.Optional[builtins.str]:
5401
+ '''The name of the API's stage.'''
5402
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "stage"))
5403
+
5404
+ @stage.setter
5405
+ def stage(self, value: typing.Optional[builtins.str]) -> None:
5406
+ if __debug__:
5407
+ type_hints = typing.get_type_hints(_typecheckingstub__06763dc8a118854a928d389386d0a3d513848ff9eaaef5bd4ca70a6d09d586e0)
5408
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5409
+ jsii.set(self, "stage", value) # pyright: ignore[reportArgumentType]
5410
+
5411
+
5412
+ @jsii.data_type(
5413
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnBasePathMappingV2Props",
5414
+ jsii_struct_bases=[],
5415
+ name_mapping={
5416
+ "domain_name_arn": "domainNameArn",
5417
+ "rest_api_id": "restApiId",
5418
+ "base_path": "basePath",
5419
+ "stage": "stage",
5420
+ },
5421
+ )
5422
+ class CfnBasePathMappingV2Props:
5423
+ def __init__(
5424
+ self,
5425
+ *,
5426
+ domain_name_arn: builtins.str,
5427
+ rest_api_id: builtins.str,
5428
+ base_path: typing.Optional[builtins.str] = None,
5429
+ stage: typing.Optional[builtins.str] = None,
5430
+ ) -> None:
5431
+ '''Properties for defining a ``CfnBasePathMappingV2``.
5432
+
5433
+ :param domain_name_arn: The Arn of an AWS::ApiGateway::DomainNameV2 resource.
5434
+ :param rest_api_id: The ID of the API.
5435
+ :param base_path: The base path name that callers of the API must provide in the URL after the domain name.
5436
+ :param stage: The name of the API's stage.
5437
+
5438
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html
5439
+ :exampleMetadata: fixture=_generated
5440
+
5441
+ Example::
5442
+
5443
+ # The code below shows an example of how to instantiate this type.
5444
+ # The values are placeholders you should change.
5445
+ from aws_cdk import aws_apigateway as apigateway
5446
+
5447
+ cfn_base_path_mapping_v2_props = apigateway.CfnBasePathMappingV2Props(
5448
+ domain_name_arn="domainNameArn",
5449
+ rest_api_id="restApiId",
5450
+
5451
+ # the properties below are optional
5452
+ base_path="basePath",
5453
+ stage="stage"
5454
+ )
5455
+ '''
5456
+ if __debug__:
5457
+ type_hints = typing.get_type_hints(_typecheckingstub__5f193676fc187703a2da6f9b8342bed4af93ab14e1c8f01d93fb4249b4e41ba3)
5458
+ check_type(argname="argument domain_name_arn", value=domain_name_arn, expected_type=type_hints["domain_name_arn"])
5459
+ check_type(argname="argument rest_api_id", value=rest_api_id, expected_type=type_hints["rest_api_id"])
5460
+ check_type(argname="argument base_path", value=base_path, expected_type=type_hints["base_path"])
5461
+ check_type(argname="argument stage", value=stage, expected_type=type_hints["stage"])
5462
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5463
+ "domain_name_arn": domain_name_arn,
5464
+ "rest_api_id": rest_api_id,
5465
+ }
5466
+ if base_path is not None:
5467
+ self._values["base_path"] = base_path
5468
+ if stage is not None:
5469
+ self._values["stage"] = stage
5470
+
5471
+ @builtins.property
5472
+ def domain_name_arn(self) -> builtins.str:
5473
+ '''The Arn of an AWS::ApiGateway::DomainNameV2 resource.
5474
+
5475
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-domainnamearn
5476
+ '''
5477
+ result = self._values.get("domain_name_arn")
5478
+ assert result is not None, "Required property 'domain_name_arn' is missing"
5479
+ return typing.cast(builtins.str, result)
5480
+
5481
+ @builtins.property
5482
+ def rest_api_id(self) -> builtins.str:
5483
+ '''The ID of the API.
5484
+
5485
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-restapiid
5486
+ '''
5487
+ result = self._values.get("rest_api_id")
5488
+ assert result is not None, "Required property 'rest_api_id' is missing"
5489
+ return typing.cast(builtins.str, result)
5490
+
5491
+ @builtins.property
5492
+ def base_path(self) -> typing.Optional[builtins.str]:
5493
+ '''The base path name that callers of the API must provide in the URL after the domain name.
5494
+
5495
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-basepath
5496
+ '''
5497
+ result = self._values.get("base_path")
5498
+ return typing.cast(typing.Optional[builtins.str], result)
5499
+
5500
+ @builtins.property
5501
+ def stage(self) -> typing.Optional[builtins.str]:
5502
+ '''The name of the API's stage.
5503
+
5504
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmappingv2.html#cfn-apigateway-basepathmappingv2-stage
5505
+ '''
5506
+ result = self._values.get("stage")
5507
+ return typing.cast(typing.Optional[builtins.str], result)
5508
+
5509
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5510
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5511
+
5512
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5513
+ return not (rhs == self)
5514
+
5515
+ def __repr__(self) -> str:
5516
+ return "CfnBasePathMappingV2Props(%s)" % ", ".join(
5517
+ k + "=" + repr(v) for k, v in self._values.items()
5518
+ )
5519
+
5520
+
5252
5521
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
5253
5522
  class CfnClientCertificate(
5254
5523
  _CfnResource_9df397a6,
@@ -7808,41 +8077,318 @@ class CfnDomainName(
7808
8077
  )
7809
8078
 
7810
8079
 
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:
8080
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8081
+ class CfnDomainNameAccessAssociation(
8082
+ _CfnResource_9df397a6,
8083
+ metaclass=jsii.JSIIMeta,
8084
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameAccessAssociation",
8085
+ ):
8086
+ '''Resource Type definition for AWS::ApiGateway::DomainNameAccessAssociation.
8087
+
8088
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html
8089
+ :cloudformationResource: AWS::ApiGateway::DomainNameAccessAssociation
8090
+ :exampleMetadata: fixture=_generated
8091
+
8092
+ Example::
8093
+
8094
+ # The code below shows an example of how to instantiate this type.
8095
+ # The values are placeholders you should change.
8096
+ from aws_cdk import aws_apigateway as apigateway
8097
+
8098
+ cfn_domain_name_access_association = apigateway.CfnDomainNameAccessAssociation(self, "MyCfnDomainNameAccessAssociation",
8099
+ access_association_source="accessAssociationSource",
8100
+ access_association_source_type="accessAssociationSourceType",
8101
+ domain_name_arn="domainNameArn",
8102
+
8103
+ # the properties below are optional
8104
+ tags=[CfnTag(
8105
+ key="key",
8106
+ value="value"
8107
+ )]
8108
+ )
8109
+ '''
8110
+
7826
8111
  def __init__(
7827
8112
  self,
8113
+ scope: _constructs_77d1e7e8.Construct,
8114
+ id: builtins.str,
7828
8115
  *,
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,
7835
- security_policy: typing.Optional[builtins.str] = None,
8116
+ access_association_source: builtins.str,
8117
+ access_association_source_type: builtins.str,
8118
+ domain_name_arn: builtins.str,
7836
8119
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7837
8120
  ) -> 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.
8121
+ '''
8122
+ :param scope: Scope in which this resource is defined.
8123
+ :param id: Construct identifier for this resource (unique in its scope).
8124
+ :param access_association_source: The source of the domain name access association resource.
8125
+ :param access_association_source_type: The source type of the domain name access association resource.
8126
+ :param domain_name_arn: The amazon resource name (ARN) of the domain name resource.
8127
+ :param tags: An array of arbitrary tags (key-value pairs) to associate with the domainname access association.
8128
+ '''
8129
+ if __debug__:
8130
+ type_hints = typing.get_type_hints(_typecheckingstub__cafcd3b452004fc09063699f5b2263d0f36c2a080b20c7f0d51493646ac87441)
8131
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8132
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8133
+ props = CfnDomainNameAccessAssociationProps(
8134
+ access_association_source=access_association_source,
8135
+ access_association_source_type=access_association_source_type,
8136
+ domain_name_arn=domain_name_arn,
8137
+ tags=tags,
8138
+ )
8139
+
8140
+ jsii.create(self.__class__, self, [scope, id, props])
8141
+
8142
+ @jsii.member(jsii_name="inspect")
8143
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
8144
+ '''Examines the CloudFormation resource and discloses attributes.
8145
+
8146
+ :param inspector: tree inspector to collect and process attributes.
8147
+ '''
8148
+ if __debug__:
8149
+ type_hints = typing.get_type_hints(_typecheckingstub__d4584e14c8cc1eda344bf13cbc96b7ff7cf893e84c7aa3abf7ce385dfd0ebb0b)
8150
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
8151
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
8152
+
8153
+ @jsii.member(jsii_name="renderProperties")
8154
+ def _render_properties(
8155
+ self,
8156
+ props: typing.Mapping[builtins.str, typing.Any],
8157
+ ) -> typing.Mapping[builtins.str, typing.Any]:
8158
+ '''
8159
+ :param props: -
8160
+ '''
8161
+ if __debug__:
8162
+ type_hints = typing.get_type_hints(_typecheckingstub__635e79e806ac4eaac4502971d453a0581ed2a8620fc4309d2fa5820e1eea4413)
8163
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
8164
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
8165
+
8166
+ @jsii.python.classproperty
8167
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
8168
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
8169
+ '''The CloudFormation resource type name for this resource class.'''
8170
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
8171
+
8172
+ @builtins.property
8173
+ @jsii.member(jsii_name="attrDomainNameAccessAssociationArn")
8174
+ def attr_domain_name_access_association_arn(self) -> builtins.str:
8175
+ '''The amazon resource name (ARN) of the domain name access association resource.
8176
+
8177
+ :cloudformationAttribute: DomainNameAccessAssociationArn
8178
+ '''
8179
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameAccessAssociationArn"))
8180
+
8181
+ @builtins.property
8182
+ @jsii.member(jsii_name="cdkTagManager")
8183
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8184
+ '''Tag Manager which manages the tags for this resource.'''
8185
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8186
+
8187
+ @builtins.property
8188
+ @jsii.member(jsii_name="cfnProperties")
8189
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8190
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8191
+
8192
+ @builtins.property
8193
+ @jsii.member(jsii_name="accessAssociationSource")
8194
+ def access_association_source(self) -> builtins.str:
8195
+ '''The source of the domain name access association resource.'''
8196
+ return typing.cast(builtins.str, jsii.get(self, "accessAssociationSource"))
8197
+
8198
+ @access_association_source.setter
8199
+ def access_association_source(self, value: builtins.str) -> None:
8200
+ if __debug__:
8201
+ type_hints = typing.get_type_hints(_typecheckingstub__23c76b51f9a9a8e6cecdd5cb498ecd02cfa61809c66806005dd3fc4f5f33f35c)
8202
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8203
+ jsii.set(self, "accessAssociationSource", value) # pyright: ignore[reportArgumentType]
8204
+
8205
+ @builtins.property
8206
+ @jsii.member(jsii_name="accessAssociationSourceType")
8207
+ def access_association_source_type(self) -> builtins.str:
8208
+ '''The source type of the domain name access association resource.'''
8209
+ return typing.cast(builtins.str, jsii.get(self, "accessAssociationSourceType"))
8210
+
8211
+ @access_association_source_type.setter
8212
+ def access_association_source_type(self, value: builtins.str) -> None:
8213
+ if __debug__:
8214
+ type_hints = typing.get_type_hints(_typecheckingstub__22ceba82da2b5b77979cdbe562907d1ee3c704bfcb564f766864aaff695f3400)
8215
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8216
+ jsii.set(self, "accessAssociationSourceType", value) # pyright: ignore[reportArgumentType]
8217
+
8218
+ @builtins.property
8219
+ @jsii.member(jsii_name="domainNameArn")
8220
+ def domain_name_arn(self) -> builtins.str:
8221
+ '''The amazon resource name (ARN) of the domain name resource.'''
8222
+ return typing.cast(builtins.str, jsii.get(self, "domainNameArn"))
8223
+
8224
+ @domain_name_arn.setter
8225
+ def domain_name_arn(self, value: builtins.str) -> None:
8226
+ if __debug__:
8227
+ type_hints = typing.get_type_hints(_typecheckingstub__5a9c3f25d11f724e7f4c78554b51bc3fc13c83e113087fbbf7d37e9868c51bdb)
8228
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8229
+ jsii.set(self, "domainNameArn", value) # pyright: ignore[reportArgumentType]
8230
+
8231
+ @builtins.property
8232
+ @jsii.member(jsii_name="tags")
8233
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8234
+ '''An array of arbitrary tags (key-value pairs) to associate with the domainname access association.'''
8235
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
8236
+
8237
+ @tags.setter
8238
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
8239
+ if __debug__:
8240
+ type_hints = typing.get_type_hints(_typecheckingstub__2c58e960117de6ef208f31f47e57fea4a9b3894dc90dde201f0f6f182cab17d8)
8241
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8242
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
8243
+
8244
+
8245
+ @jsii.data_type(
8246
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameAccessAssociationProps",
8247
+ jsii_struct_bases=[],
8248
+ name_mapping={
8249
+ "access_association_source": "accessAssociationSource",
8250
+ "access_association_source_type": "accessAssociationSourceType",
8251
+ "domain_name_arn": "domainNameArn",
8252
+ "tags": "tags",
8253
+ },
8254
+ )
8255
+ class CfnDomainNameAccessAssociationProps:
8256
+ def __init__(
8257
+ self,
8258
+ *,
8259
+ access_association_source: builtins.str,
8260
+ access_association_source_type: builtins.str,
8261
+ domain_name_arn: builtins.str,
8262
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8263
+ ) -> None:
8264
+ '''Properties for defining a ``CfnDomainNameAccessAssociation``.
8265
+
8266
+ :param access_association_source: The source of the domain name access association resource.
8267
+ :param access_association_source_type: The source type of the domain name access association resource.
8268
+ :param domain_name_arn: The amazon resource name (ARN) of the domain name resource.
8269
+ :param tags: An array of arbitrary tags (key-value pairs) to associate with the domainname access association.
8270
+
8271
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html
8272
+ :exampleMetadata: fixture=_generated
8273
+
8274
+ Example::
8275
+
8276
+ # The code below shows an example of how to instantiate this type.
8277
+ # The values are placeholders you should change.
8278
+ from aws_cdk import aws_apigateway as apigateway
8279
+
8280
+ cfn_domain_name_access_association_props = apigateway.CfnDomainNameAccessAssociationProps(
8281
+ access_association_source="accessAssociationSource",
8282
+ access_association_source_type="accessAssociationSourceType",
8283
+ domain_name_arn="domainNameArn",
8284
+
8285
+ # the properties below are optional
8286
+ tags=[CfnTag(
8287
+ key="key",
8288
+ value="value"
8289
+ )]
8290
+ )
8291
+ '''
8292
+ if __debug__:
8293
+ type_hints = typing.get_type_hints(_typecheckingstub__519fe3488e579f2ddfc56721bd12d5c2520b9b787080002ce6f4f88bbc90d50a)
8294
+ check_type(argname="argument access_association_source", value=access_association_source, expected_type=type_hints["access_association_source"])
8295
+ check_type(argname="argument access_association_source_type", value=access_association_source_type, expected_type=type_hints["access_association_source_type"])
8296
+ check_type(argname="argument domain_name_arn", value=domain_name_arn, expected_type=type_hints["domain_name_arn"])
8297
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
8298
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8299
+ "access_association_source": access_association_source,
8300
+ "access_association_source_type": access_association_source_type,
8301
+ "domain_name_arn": domain_name_arn,
8302
+ }
8303
+ if tags is not None:
8304
+ self._values["tags"] = tags
8305
+
8306
+ @builtins.property
8307
+ def access_association_source(self) -> builtins.str:
8308
+ '''The source of the domain name access association resource.
8309
+
8310
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource
8311
+ '''
8312
+ result = self._values.get("access_association_source")
8313
+ assert result is not None, "Required property 'access_association_source' is missing"
8314
+ return typing.cast(builtins.str, result)
8315
+
8316
+ @builtins.property
8317
+ def access_association_source_type(self) -> builtins.str:
8318
+ '''The source type of the domain name access association resource.
8319
+
8320
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsourcetype
8321
+ '''
8322
+ result = self._values.get("access_association_source_type")
8323
+ assert result is not None, "Required property 'access_association_source_type' is missing"
8324
+ return typing.cast(builtins.str, result)
8325
+
8326
+ @builtins.property
8327
+ def domain_name_arn(self) -> builtins.str:
8328
+ '''The amazon resource name (ARN) of the domain name resource.
8329
+
8330
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-domainnamearn
8331
+ '''
8332
+ result = self._values.get("domain_name_arn")
8333
+ assert result is not None, "Required property 'domain_name_arn' is missing"
8334
+ return typing.cast(builtins.str, result)
8335
+
8336
+ @builtins.property
8337
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8338
+ '''An array of arbitrary tags (key-value pairs) to associate with the domainname access association.
8339
+
8340
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-tags
8341
+ '''
8342
+ result = self._values.get("tags")
8343
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8344
+
8345
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8346
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8347
+
8348
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8349
+ return not (rhs == self)
8350
+
8351
+ def __repr__(self) -> str:
8352
+ return "CfnDomainNameAccessAssociationProps(%s)" % ", ".join(
8353
+ k + "=" + repr(v) for k, v in self._values.items()
8354
+ )
8355
+
8356
+
8357
+ @jsii.data_type(
8358
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameProps",
8359
+ jsii_struct_bases=[],
8360
+ name_mapping={
8361
+ "certificate_arn": "certificateArn",
8362
+ "domain_name": "domainName",
8363
+ "endpoint_configuration": "endpointConfiguration",
8364
+ "mutual_tls_authentication": "mutualTlsAuthentication",
8365
+ "ownership_verification_certificate_arn": "ownershipVerificationCertificateArn",
8366
+ "regional_certificate_arn": "regionalCertificateArn",
8367
+ "security_policy": "securityPolicy",
8368
+ "tags": "tags",
8369
+ },
8370
+ )
8371
+ class CfnDomainNameProps:
8372
+ def __init__(
8373
+ self,
8374
+ *,
8375
+ certificate_arn: typing.Optional[builtins.str] = None,
8376
+ domain_name: typing.Optional[builtins.str] = None,
8377
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8378
+ mutual_tls_authentication: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainName.MutualTlsAuthenticationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8379
+ ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
8380
+ regional_certificate_arn: typing.Optional[builtins.str] = None,
8381
+ security_policy: typing.Optional[builtins.str] = None,
8382
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8383
+ ) -> None:
8384
+ '''Properties for defining a ``CfnDomainName``.
8385
+
8386
+ :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.
8387
+ :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
8388
+ :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8389
+ :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.
8390
+ :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.
8391
+ :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
8392
  :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`` .
7847
8393
  :param tags: The collection of tags. Each tag element is associated with a given resource.
7848
8394
 
@@ -7865,8 +8411,476 @@ class CfnDomainNameProps:
7865
8411
  truststore_uri="truststoreUri",
7866
8412
  truststore_version="truststoreVersion"
7867
8413
  ),
7868
- ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
7869
- regional_certificate_arn="regionalCertificateArn",
8414
+ ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
8415
+ regional_certificate_arn="regionalCertificateArn",
8416
+ security_policy="securityPolicy",
8417
+ tags=[CfnTag(
8418
+ key="key",
8419
+ value="value"
8420
+ )]
8421
+ )
8422
+ '''
8423
+ if __debug__:
8424
+ type_hints = typing.get_type_hints(_typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3)
8425
+ check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
8426
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
8427
+ check_type(argname="argument endpoint_configuration", value=endpoint_configuration, expected_type=type_hints["endpoint_configuration"])
8428
+ check_type(argname="argument mutual_tls_authentication", value=mutual_tls_authentication, expected_type=type_hints["mutual_tls_authentication"])
8429
+ check_type(argname="argument ownership_verification_certificate_arn", value=ownership_verification_certificate_arn, expected_type=type_hints["ownership_verification_certificate_arn"])
8430
+ check_type(argname="argument regional_certificate_arn", value=regional_certificate_arn, expected_type=type_hints["regional_certificate_arn"])
8431
+ check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
8432
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
8433
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8434
+ if certificate_arn is not None:
8435
+ self._values["certificate_arn"] = certificate_arn
8436
+ if domain_name is not None:
8437
+ self._values["domain_name"] = domain_name
8438
+ if endpoint_configuration is not None:
8439
+ self._values["endpoint_configuration"] = endpoint_configuration
8440
+ if mutual_tls_authentication is not None:
8441
+ self._values["mutual_tls_authentication"] = mutual_tls_authentication
8442
+ if ownership_verification_certificate_arn is not None:
8443
+ self._values["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
8444
+ if regional_certificate_arn is not None:
8445
+ self._values["regional_certificate_arn"] = regional_certificate_arn
8446
+ if security_policy is not None:
8447
+ self._values["security_policy"] = security_policy
8448
+ if tags is not None:
8449
+ self._values["tags"] = tags
8450
+
8451
+ @builtins.property
8452
+ def certificate_arn(self) -> typing.Optional[builtins.str]:
8453
+ '''The reference to an AWS -managed certificate that will be used by edge-optimized endpoint for this domain name.
8454
+
8455
+ AWS Certificate Manager is the only supported source.
8456
+
8457
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
8458
+ '''
8459
+ result = self._values.get("certificate_arn")
8460
+ return typing.cast(typing.Optional[builtins.str], result)
8461
+
8462
+ @builtins.property
8463
+ def domain_name(self) -> typing.Optional[builtins.str]:
8464
+ '''The custom domain name as an API host name, for example, ``my-api.example.com`` .
8465
+
8466
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
8467
+ '''
8468
+ result = self._values.get("domain_name")
8469
+ return typing.cast(typing.Optional[builtins.str], result)
8470
+
8471
+ @builtins.property
8472
+ def endpoint_configuration(
8473
+ self,
8474
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]]:
8475
+ '''The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8476
+
8477
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
8478
+ '''
8479
+ result = self._values.get("endpoint_configuration")
8480
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]], result)
8481
+
8482
+ @builtins.property
8483
+ def mutual_tls_authentication(
8484
+ self,
8485
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]]:
8486
+ '''The mutual TLS authentication configuration for a custom domain name.
8487
+
8488
+ If specified, API Gateway performs two-way authentication between the client and the server. Clients must present a trusted certificate to access your API.
8489
+
8490
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication
8491
+ '''
8492
+ result = self._values.get("mutual_tls_authentication")
8493
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.MutualTlsAuthenticationProperty]], result)
8494
+
8495
+ @builtins.property
8496
+ def ownership_verification_certificate_arn(self) -> typing.Optional[builtins.str]:
8497
+ '''The ARN of the public certificate issued by ACM to validate ownership of your custom domain.
8498
+
8499
+ Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn.
8500
+
8501
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn
8502
+ '''
8503
+ result = self._values.get("ownership_verification_certificate_arn")
8504
+ return typing.cast(typing.Optional[builtins.str], result)
8505
+
8506
+ @builtins.property
8507
+ def regional_certificate_arn(self) -> typing.Optional[builtins.str]:
8508
+ '''The reference to an AWS -managed certificate that will be used for validating the regional domain name.
8509
+
8510
+ AWS Certificate Manager is the only supported source.
8511
+
8512
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
8513
+ '''
8514
+ result = self._values.get("regional_certificate_arn")
8515
+ return typing.cast(typing.Optional[builtins.str], result)
8516
+
8517
+ @builtins.property
8518
+ def security_policy(self) -> typing.Optional[builtins.str]:
8519
+ '''The Transport Layer Security (TLS) version + cipher suite for this DomainName.
8520
+
8521
+ The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
8522
+
8523
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
8524
+ '''
8525
+ result = self._values.get("security_policy")
8526
+ return typing.cast(typing.Optional[builtins.str], result)
8527
+
8528
+ @builtins.property
8529
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8530
+ '''The collection of tags.
8531
+
8532
+ Each tag element is associated with a given resource.
8533
+
8534
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
8535
+ '''
8536
+ result = self._values.get("tags")
8537
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
8538
+
8539
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8540
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8541
+
8542
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8543
+ return not (rhs == self)
8544
+
8545
+ def __repr__(self) -> str:
8546
+ return "CfnDomainNameProps(%s)" % ", ".join(
8547
+ k + "=" + repr(v) for k, v in self._values.items()
8548
+ )
8549
+
8550
+
8551
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8552
+ class CfnDomainNameV2(
8553
+ _CfnResource_9df397a6,
8554
+ metaclass=jsii.JSIIMeta,
8555
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2",
8556
+ ):
8557
+ '''Resource Type definition for AWS::ApiGateway::DomainNameV2.
8558
+
8559
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html
8560
+ :cloudformationResource: AWS::ApiGateway::DomainNameV2
8561
+ :exampleMetadata: fixture=_generated
8562
+
8563
+ Example::
8564
+
8565
+ # The code below shows an example of how to instantiate this type.
8566
+ # The values are placeholders you should change.
8567
+ from aws_cdk import aws_apigateway as apigateway
8568
+
8569
+ # management_policy: Any
8570
+ # policy: Any
8571
+
8572
+ cfn_domain_name_v2 = apigateway.CfnDomainNameV2(self, "MyCfnDomainNameV2",
8573
+ certificate_arn="certificateArn",
8574
+ domain_name="domainName",
8575
+ endpoint_configuration=apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
8576
+ types=["types"]
8577
+ ),
8578
+ management_policy=management_policy,
8579
+ policy=policy,
8580
+ security_policy="securityPolicy",
8581
+ tags=[CfnTag(
8582
+ key="key",
8583
+ value="value"
8584
+ )]
8585
+ )
8586
+ '''
8587
+
8588
+ def __init__(
8589
+ self,
8590
+ scope: _constructs_77d1e7e8.Construct,
8591
+ id: builtins.str,
8592
+ *,
8593
+ certificate_arn: typing.Optional[builtins.str] = None,
8594
+ domain_name: typing.Optional[builtins.str] = None,
8595
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomainNameV2.EndpointConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8596
+ management_policy: typing.Any = None,
8597
+ policy: typing.Any = None,
8598
+ security_policy: typing.Optional[builtins.str] = None,
8599
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8600
+ ) -> None:
8601
+ '''
8602
+ :param scope: Scope in which this resource is defined.
8603
+ :param id: Construct identifier for this resource (unique in its scope).
8604
+ :param certificate_arn:
8605
+ :param domain_name:
8606
+ :param endpoint_configuration:
8607
+ :param management_policy:
8608
+ :param policy:
8609
+ :param security_policy:
8610
+ :param tags:
8611
+ '''
8612
+ if __debug__:
8613
+ type_hints = typing.get_type_hints(_typecheckingstub__a4f501d10d57d39a48913872efdcb7d389a076fed9b5aabb21034b8e60a1e0bf)
8614
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8615
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8616
+ props = CfnDomainNameV2Props(
8617
+ certificate_arn=certificate_arn,
8618
+ domain_name=domain_name,
8619
+ endpoint_configuration=endpoint_configuration,
8620
+ management_policy=management_policy,
8621
+ policy=policy,
8622
+ security_policy=security_policy,
8623
+ tags=tags,
8624
+ )
8625
+
8626
+ jsii.create(self.__class__, self, [scope, id, props])
8627
+
8628
+ @jsii.member(jsii_name="inspect")
8629
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
8630
+ '''Examines the CloudFormation resource and discloses attributes.
8631
+
8632
+ :param inspector: tree inspector to collect and process attributes.
8633
+ '''
8634
+ if __debug__:
8635
+ type_hints = typing.get_type_hints(_typecheckingstub__cba990fa84005688ae2a90df64bc7ab39d02ac254f4c8a2fb935da000e626e3b)
8636
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
8637
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
8638
+
8639
+ @jsii.member(jsii_name="renderProperties")
8640
+ def _render_properties(
8641
+ self,
8642
+ props: typing.Mapping[builtins.str, typing.Any],
8643
+ ) -> typing.Mapping[builtins.str, typing.Any]:
8644
+ '''
8645
+ :param props: -
8646
+ '''
8647
+ if __debug__:
8648
+ type_hints = typing.get_type_hints(_typecheckingstub__84c84802ec05ba723e240d805b21796f43a8f3cf08c5ef8677460e77d0a2182b)
8649
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
8650
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
8651
+
8652
+ @jsii.python.classproperty
8653
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
8654
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
8655
+ '''The CloudFormation resource type name for this resource class.'''
8656
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
8657
+
8658
+ @builtins.property
8659
+ @jsii.member(jsii_name="attrDomainNameArn")
8660
+ def attr_domain_name_arn(self) -> builtins.str:
8661
+ '''The amazon resource name (ARN) of the domain name resource.
8662
+
8663
+ :cloudformationAttribute: DomainNameArn
8664
+ '''
8665
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameArn"))
8666
+
8667
+ @builtins.property
8668
+ @jsii.member(jsii_name="attrDomainNameId")
8669
+ def attr_domain_name_id(self) -> builtins.str:
8670
+ '''
8671
+ :cloudformationAttribute: DomainNameId
8672
+ '''
8673
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameId"))
8674
+
8675
+ @builtins.property
8676
+ @jsii.member(jsii_name="cdkTagManager")
8677
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
8678
+ '''Tag Manager which manages the tags for this resource.'''
8679
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
8680
+
8681
+ @builtins.property
8682
+ @jsii.member(jsii_name="cfnProperties")
8683
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8684
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8685
+
8686
+ @builtins.property
8687
+ @jsii.member(jsii_name="certificateArn")
8688
+ def certificate_arn(self) -> typing.Optional[builtins.str]:
8689
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificateArn"))
8690
+
8691
+ @certificate_arn.setter
8692
+ def certificate_arn(self, value: typing.Optional[builtins.str]) -> None:
8693
+ if __debug__:
8694
+ type_hints = typing.get_type_hints(_typecheckingstub__02e36a521e1f2c0c18cff2c52c016e6370b767eb2b459e2c294bb4288285a448)
8695
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8696
+ jsii.set(self, "certificateArn", value) # pyright: ignore[reportArgumentType]
8697
+
8698
+ @builtins.property
8699
+ @jsii.member(jsii_name="domainName")
8700
+ def domain_name(self) -> typing.Optional[builtins.str]:
8701
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "domainName"))
8702
+
8703
+ @domain_name.setter
8704
+ def domain_name(self, value: typing.Optional[builtins.str]) -> None:
8705
+ if __debug__:
8706
+ type_hints = typing.get_type_hints(_typecheckingstub__c6f92a0eb5f08e654ae978fba555493986c05eed5e088475197fb75aa2780b84)
8707
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8708
+ jsii.set(self, "domainName", value) # pyright: ignore[reportArgumentType]
8709
+
8710
+ @builtins.property
8711
+ @jsii.member(jsii_name="endpointConfiguration")
8712
+ def endpoint_configuration(
8713
+ self,
8714
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]]:
8715
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]], jsii.get(self, "endpointConfiguration"))
8716
+
8717
+ @endpoint_configuration.setter
8718
+ def endpoint_configuration(
8719
+ self,
8720
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]],
8721
+ ) -> None:
8722
+ if __debug__:
8723
+ type_hints = typing.get_type_hints(_typecheckingstub__a1f648b520c9d40bb72a9028880e48540125da8ba68522e25c483400d79142dc)
8724
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8725
+ jsii.set(self, "endpointConfiguration", value) # pyright: ignore[reportArgumentType]
8726
+
8727
+ @builtins.property
8728
+ @jsii.member(jsii_name="managementPolicy")
8729
+ def management_policy(self) -> typing.Any:
8730
+ return typing.cast(typing.Any, jsii.get(self, "managementPolicy"))
8731
+
8732
+ @management_policy.setter
8733
+ def management_policy(self, value: typing.Any) -> None:
8734
+ if __debug__:
8735
+ type_hints = typing.get_type_hints(_typecheckingstub__8b6d7f1f638d8720556c9e4d7598ad47d45db07dc328a664195267638644608c)
8736
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8737
+ jsii.set(self, "managementPolicy", value) # pyright: ignore[reportArgumentType]
8738
+
8739
+ @builtins.property
8740
+ @jsii.member(jsii_name="policy")
8741
+ def policy(self) -> typing.Any:
8742
+ return typing.cast(typing.Any, jsii.get(self, "policy"))
8743
+
8744
+ @policy.setter
8745
+ def policy(self, value: typing.Any) -> None:
8746
+ if __debug__:
8747
+ type_hints = typing.get_type_hints(_typecheckingstub__a0c6989179a94e32b700994895064456ee57af9eb39330638ade9b7801085b38)
8748
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8749
+ jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
8750
+
8751
+ @builtins.property
8752
+ @jsii.member(jsii_name="securityPolicy")
8753
+ def security_policy(self) -> typing.Optional[builtins.str]:
8754
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "securityPolicy"))
8755
+
8756
+ @security_policy.setter
8757
+ def security_policy(self, value: typing.Optional[builtins.str]) -> None:
8758
+ if __debug__:
8759
+ type_hints = typing.get_type_hints(_typecheckingstub__a85cede5bfb66595d91f3753ac1832695db8f9eb734e73ecbc1600f19d466199)
8760
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8761
+ jsii.set(self, "securityPolicy", value) # pyright: ignore[reportArgumentType]
8762
+
8763
+ @builtins.property
8764
+ @jsii.member(jsii_name="tags")
8765
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
8766
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
8767
+
8768
+ @tags.setter
8769
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
8770
+ if __debug__:
8771
+ type_hints = typing.get_type_hints(_typecheckingstub__476074ac17a2d9034c89e6475b463dcb2b5ab63eb68064fdc492d43a910b9470)
8772
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8773
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
8774
+
8775
+ @jsii.data_type(
8776
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2.EndpointConfigurationProperty",
8777
+ jsii_struct_bases=[],
8778
+ name_mapping={"types": "types"},
8779
+ )
8780
+ class EndpointConfigurationProperty:
8781
+ def __init__(
8782
+ self,
8783
+ *,
8784
+ types: typing.Optional[typing.Sequence[builtins.str]] = None,
8785
+ ) -> None:
8786
+ '''
8787
+ :param types:
8788
+
8789
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html
8790
+ :exampleMetadata: fixture=_generated
8791
+
8792
+ Example::
8793
+
8794
+ # The code below shows an example of how to instantiate this type.
8795
+ # The values are placeholders you should change.
8796
+ from aws_cdk import aws_apigateway as apigateway
8797
+
8798
+ endpoint_configuration_property = apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
8799
+ types=["types"]
8800
+ )
8801
+ '''
8802
+ if __debug__:
8803
+ type_hints = typing.get_type_hints(_typecheckingstub__6b6f3002516ae2cfe5144f016260236185910ca3b84cc4dc018cc660b10716c4)
8804
+ check_type(argname="argument types", value=types, expected_type=type_hints["types"])
8805
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
8806
+ if types is not None:
8807
+ self._values["types"] = types
8808
+
8809
+ @builtins.property
8810
+ def types(self) -> typing.Optional[typing.List[builtins.str]]:
8811
+ '''
8812
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html#cfn-apigateway-domainnamev2-endpointconfiguration-types
8813
+ '''
8814
+ result = self._values.get("types")
8815
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
8816
+
8817
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8818
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8819
+
8820
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8821
+ return not (rhs == self)
8822
+
8823
+ def __repr__(self) -> str:
8824
+ return "EndpointConfigurationProperty(%s)" % ", ".join(
8825
+ k + "=" + repr(v) for k, v in self._values.items()
8826
+ )
8827
+
8828
+
8829
+ @jsii.data_type(
8830
+ jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainNameV2Props",
8831
+ jsii_struct_bases=[],
8832
+ name_mapping={
8833
+ "certificate_arn": "certificateArn",
8834
+ "domain_name": "domainName",
8835
+ "endpoint_configuration": "endpointConfiguration",
8836
+ "management_policy": "managementPolicy",
8837
+ "policy": "policy",
8838
+ "security_policy": "securityPolicy",
8839
+ "tags": "tags",
8840
+ },
8841
+ )
8842
+ class CfnDomainNameV2Props:
8843
+ def __init__(
8844
+ self,
8845
+ *,
8846
+ certificate_arn: typing.Optional[builtins.str] = None,
8847
+ domain_name: typing.Optional[builtins.str] = None,
8848
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8849
+ management_policy: typing.Any = None,
8850
+ policy: typing.Any = None,
8851
+ security_policy: typing.Optional[builtins.str] = None,
8852
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8853
+ ) -> None:
8854
+ '''Properties for defining a ``CfnDomainNameV2``.
8855
+
8856
+ :param certificate_arn:
8857
+ :param domain_name:
8858
+ :param endpoint_configuration:
8859
+ :param management_policy:
8860
+ :param policy:
8861
+ :param security_policy:
8862
+ :param tags:
8863
+
8864
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html
8865
+ :exampleMetadata: fixture=_generated
8866
+
8867
+ Example::
8868
+
8869
+ # The code below shows an example of how to instantiate this type.
8870
+ # The values are placeholders you should change.
8871
+ from aws_cdk import aws_apigateway as apigateway
8872
+
8873
+ # management_policy: Any
8874
+ # policy: Any
8875
+
8876
+ cfn_domain_name_v2_props = apigateway.CfnDomainNameV2Props(
8877
+ certificate_arn="certificateArn",
8878
+ domain_name="domainName",
8879
+ endpoint_configuration=apigateway.CfnDomainNameV2.EndpointConfigurationProperty(
8880
+ types=["types"]
8881
+ ),
8882
+ management_policy=management_policy,
8883
+ policy=policy,
7870
8884
  security_policy="securityPolicy",
7871
8885
  tags=[CfnTag(
7872
8886
  key="key",
@@ -7875,13 +8889,12 @@ class CfnDomainNameProps:
7875
8889
  )
7876
8890
  '''
7877
8891
  if __debug__:
7878
- type_hints = typing.get_type_hints(_typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3)
8892
+ type_hints = typing.get_type_hints(_typecheckingstub__dfb97b3f8aa373f21ebe15318ceaaf08a4d4b4b31e9ba1ed8fb04ef598132e15)
7879
8893
  check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
7880
8894
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
7881
8895
  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"])
8896
+ check_type(argname="argument management_policy", value=management_policy, expected_type=type_hints["management_policy"])
8897
+ check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
7885
8898
  check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
7886
8899
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
7887
8900
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -7891,12 +8904,10 @@ class CfnDomainNameProps:
7891
8904
  self._values["domain_name"] = domain_name
7892
8905
  if endpoint_configuration is not None:
7893
8906
  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
8907
+ if management_policy is not None:
8908
+ self._values["management_policy"] = management_policy
8909
+ if policy is not None:
8910
+ self._values["policy"] = policy
7900
8911
  if security_policy is not None:
7901
8912
  self._values["security_policy"] = security_policy
7902
8913
  if tags is not None:
@@ -7904,20 +8915,16 @@ class CfnDomainNameProps:
7904
8915
 
7905
8916
  @builtins.property
7906
8917
  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.
7908
-
7909
- AWS Certificate Manager is the only supported source.
7910
-
7911
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn
8918
+ '''
8919
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-certificatearn
7912
8920
  '''
7913
8921
  result = self._values.get("certificate_arn")
7914
8922
  return typing.cast(typing.Optional[builtins.str], result)
7915
8923
 
7916
8924
  @builtins.property
7917
8925
  def domain_name(self) -> typing.Optional[builtins.str]:
7918
- '''The custom domain name as an API host name, for example, ``my-api.example.com`` .
7919
-
7920
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname
8926
+ '''
8927
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-domainname
7921
8928
  '''
7922
8929
  result = self._values.get("domain_name")
7923
8930
  return typing.cast(typing.Optional[builtins.str], result)
@@ -7925,67 +8932,41 @@ class CfnDomainNameProps:
7925
8932
  @builtins.property
7926
8933
  def endpoint_configuration(
7927
8934
  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.
7930
-
7931
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
8935
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]]:
8936
+ '''
8937
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-endpointconfiguration
7932
8938
  '''
7933
8939
  result = self._values.get("endpoint_configuration")
7934
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]], result)
8940
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]], result)
7935
8941
 
7936
8942
  @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
8943
+ def management_policy(self) -> typing.Any:
7945
8944
  '''
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
8945
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-managementpolicy
7956
8946
  '''
7957
- result = self._values.get("ownership_verification_certificate_arn")
7958
- return typing.cast(typing.Optional[builtins.str], result)
8947
+ result = self._values.get("management_policy")
8948
+ return typing.cast(typing.Any, result)
7959
8949
 
7960
8950
  @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.
7963
-
7964
- AWS Certificate Manager is the only supported source.
7965
-
7966
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn
8951
+ def policy(self) -> typing.Any:
7967
8952
  '''
7968
- result = self._values.get("regional_certificate_arn")
7969
- return typing.cast(typing.Optional[builtins.str], result)
8953
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-policy
8954
+ '''
8955
+ result = self._values.get("policy")
8956
+ return typing.cast(typing.Any, result)
7970
8957
 
7971
8958
  @builtins.property
7972
8959
  def security_policy(self) -> typing.Optional[builtins.str]:
7973
- '''The Transport Layer Security (TLS) version + cipher suite for this DomainName.
7974
-
7975
- The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
7976
-
7977
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy
8960
+ '''
8961
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-securitypolicy
7978
8962
  '''
7979
8963
  result = self._values.get("security_policy")
7980
8964
  return typing.cast(typing.Optional[builtins.str], result)
7981
8965
 
7982
8966
  @builtins.property
7983
8967
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7984
- '''The collection of tags.
7985
-
7986
- Each tag element is associated with a given resource.
7987
-
7988
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-tags
8968
+ '''
8969
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-tags
7989
8970
  '''
7990
8971
  result = self._values.get("tags")
7991
8972
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
@@ -7997,7 +8978,7 @@ class CfnDomainNameProps:
7997
8978
  return not (rhs == self)
7998
8979
 
7999
8980
  def __repr__(self) -> str:
8000
- return "CfnDomainNameProps(%s)" % ", ".join(
8981
+ return "CfnDomainNameV2Props(%s)" % ", ".join(
8001
8982
  k + "=" + repr(v) for k, v in self._values.items()
8002
8983
  )
8003
8984
 
@@ -29492,23 +30473,22 @@ class LambdaRestApiProps(RestApiProps):
29492
30473
 
29493
30474
  Example::
29494
30475
 
29495
- # backend: lambda.Function
30476
+ # source_queue: sqs.Queue
29496
30477
 
29497
- api = apigateway.LambdaRestApi(self, "myapi",
29498
- handler=backend,
29499
- proxy=False
29500
- )
29501
30478
 
29502
- items = api.root.add_resource("items")
29503
- items.add_method("GET") # GET /items
29504
- items.add_method("POST") # POST /items
30479
+ fn = lambda_.Function(self, "MyFunc",
30480
+ handler="index.handler",
30481
+ runtime=lambda_.Runtime.NODEJS_LATEST,
30482
+ code=lambda_.Code.from_inline("exports.handler = e => {}")
30483
+ )
29505
30484
 
29506
- item = items.add_resource("{item}")
29507
- item.add_method("GET") # GET /items/{item}
30485
+ rest_api = api.LambdaRestApi(self, "MyRestAPI", handler=fn)
30486
+ api_target = targets.ApiGatewayTarget(rest_api)
29508
30487
 
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"))
30488
+ pipe = pipes.Pipe(self, "Pipe",
30489
+ source=SqsSource(source_queue),
30490
+ target=api_target
30491
+ )
29512
30492
  '''
29513
30493
  if isinstance(default_cors_preflight_options, dict):
29514
30494
  default_cors_preflight_options = CorsOptions(**default_cors_preflight_options)
@@ -31508,23 +32488,22 @@ class LambdaRestApi(
31508
32488
 
31509
32489
  Example::
31510
32490
 
31511
- # backend: lambda.Function
32491
+ # source_queue: sqs.Queue
31512
32492
 
31513
- api = apigateway.LambdaRestApi(self, "myapi",
31514
- handler=backend,
31515
- proxy=False
31516
- )
31517
32493
 
31518
- items = api.root.add_resource("items")
31519
- items.add_method("GET") # GET /items
31520
- items.add_method("POST") # POST /items
32494
+ fn = lambda_.Function(self, "MyFunc",
32495
+ handler="index.handler",
32496
+ runtime=lambda_.Runtime.NODEJS_LATEST,
32497
+ code=lambda_.Code.from_inline("exports.handler = e => {}")
32498
+ )
31521
32499
 
31522
- item = items.add_resource("{item}")
31523
- item.add_method("GET") # GET /items/{item}
32500
+ rest_api = api.LambdaRestApi(self, "MyRestAPI", handler=fn)
32501
+ api_target = targets.ApiGatewayTarget(rest_api)
31524
32502
 
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"))
32503
+ pipe = pipes.Pipe(self, "Pipe",
32504
+ source=SqsSource(source_queue),
32505
+ target=api_target
32506
+ )
31528
32507
  '''
31529
32508
 
31530
32509
  def __init__(
@@ -31769,6 +32748,8 @@ __all__ = [
31769
32748
  "CfnAuthorizerProps",
31770
32749
  "CfnBasePathMapping",
31771
32750
  "CfnBasePathMappingProps",
32751
+ "CfnBasePathMappingV2",
32752
+ "CfnBasePathMappingV2Props",
31772
32753
  "CfnClientCertificate",
31773
32754
  "CfnClientCertificateProps",
31774
32755
  "CfnDeployment",
@@ -31778,7 +32759,11 @@ __all__ = [
31778
32759
  "CfnDocumentationVersion",
31779
32760
  "CfnDocumentationVersionProps",
31780
32761
  "CfnDomainName",
32762
+ "CfnDomainNameAccessAssociation",
32763
+ "CfnDomainNameAccessAssociationProps",
31781
32764
  "CfnDomainNameProps",
32765
+ "CfnDomainNameV2",
32766
+ "CfnDomainNameV2Props",
31782
32767
  "CfnGatewayResponse",
31783
32768
  "CfnGatewayResponseProps",
31784
32769
  "CfnMethod",
@@ -32417,6 +33402,64 @@ def _typecheckingstub__7d1bf02dcb15bc3e234f159c18646cccfa570e5c0f1d814a1362edb58
32417
33402
  """Type checking stubs"""
32418
33403
  pass
32419
33404
 
33405
+ def _typecheckingstub__a583f31dead36a23816022dfcb476b0ff18ec097d668a0cf42b19791b749acae(
33406
+ scope: _constructs_77d1e7e8.Construct,
33407
+ id: builtins.str,
33408
+ *,
33409
+ domain_name_arn: builtins.str,
33410
+ rest_api_id: builtins.str,
33411
+ base_path: typing.Optional[builtins.str] = None,
33412
+ stage: typing.Optional[builtins.str] = None,
33413
+ ) -> None:
33414
+ """Type checking stubs"""
33415
+ pass
33416
+
33417
+ def _typecheckingstub__6eb0641d050becd18a8a9f284493b10283d6aced001cf16285ba0926b9a2ea21(
33418
+ inspector: _TreeInspector_488e0dd5,
33419
+ ) -> None:
33420
+ """Type checking stubs"""
33421
+ pass
33422
+
33423
+ def _typecheckingstub__ec5be7f34d7d1faa1a122900429e9be29d8ba4ea05ed4525cd221ea65131405b(
33424
+ props: typing.Mapping[builtins.str, typing.Any],
33425
+ ) -> None:
33426
+ """Type checking stubs"""
33427
+ pass
33428
+
33429
+ def _typecheckingstub__23fd4874b172b953d177d1eced6c053907a3207a7d931ea7cebfd59673893321(
33430
+ value: builtins.str,
33431
+ ) -> None:
33432
+ """Type checking stubs"""
33433
+ pass
33434
+
33435
+ def _typecheckingstub__9e920388746332df91cb086b28eb2938d57106b8f772017211c3b2f52cd707b6(
33436
+ value: builtins.str,
33437
+ ) -> None:
33438
+ """Type checking stubs"""
33439
+ pass
33440
+
33441
+ def _typecheckingstub__8b3750f1121b177684129c6fc603e6fc5f80e5a7cfbd3ef4c6b8695fcc42c1d6(
33442
+ value: typing.Optional[builtins.str],
33443
+ ) -> None:
33444
+ """Type checking stubs"""
33445
+ pass
33446
+
33447
+ def _typecheckingstub__06763dc8a118854a928d389386d0a3d513848ff9eaaef5bd4ca70a6d09d586e0(
33448
+ value: typing.Optional[builtins.str],
33449
+ ) -> None:
33450
+ """Type checking stubs"""
33451
+ pass
33452
+
33453
+ def _typecheckingstub__5f193676fc187703a2da6f9b8342bed4af93ab14e1c8f01d93fb4249b4e41ba3(
33454
+ *,
33455
+ domain_name_arn: builtins.str,
33456
+ rest_api_id: builtins.str,
33457
+ base_path: typing.Optional[builtins.str] = None,
33458
+ stage: typing.Optional[builtins.str] = None,
33459
+ ) -> None:
33460
+ """Type checking stubs"""
33461
+ pass
33462
+
32420
33463
  def _typecheckingstub__b04e1c6e6561781583a05d34684fa7f16c7a0f9593b5bdadf17a39aa7adc53ac(
32421
33464
  scope: _constructs_77d1e7e8.Construct,
32422
33465
  id: builtins.str,
@@ -32794,6 +33837,64 @@ def _typecheckingstub__20d6debf4c14a68aa82e5a1c08dd101632582c4d47645b17413b831ff
32794
33837
  """Type checking stubs"""
32795
33838
  pass
32796
33839
 
33840
+ def _typecheckingstub__cafcd3b452004fc09063699f5b2263d0f36c2a080b20c7f0d51493646ac87441(
33841
+ scope: _constructs_77d1e7e8.Construct,
33842
+ id: builtins.str,
33843
+ *,
33844
+ access_association_source: builtins.str,
33845
+ access_association_source_type: builtins.str,
33846
+ domain_name_arn: builtins.str,
33847
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33848
+ ) -> None:
33849
+ """Type checking stubs"""
33850
+ pass
33851
+
33852
+ def _typecheckingstub__d4584e14c8cc1eda344bf13cbc96b7ff7cf893e84c7aa3abf7ce385dfd0ebb0b(
33853
+ inspector: _TreeInspector_488e0dd5,
33854
+ ) -> None:
33855
+ """Type checking stubs"""
33856
+ pass
33857
+
33858
+ def _typecheckingstub__635e79e806ac4eaac4502971d453a0581ed2a8620fc4309d2fa5820e1eea4413(
33859
+ props: typing.Mapping[builtins.str, typing.Any],
33860
+ ) -> None:
33861
+ """Type checking stubs"""
33862
+ pass
33863
+
33864
+ def _typecheckingstub__23c76b51f9a9a8e6cecdd5cb498ecd02cfa61809c66806005dd3fc4f5f33f35c(
33865
+ value: builtins.str,
33866
+ ) -> None:
33867
+ """Type checking stubs"""
33868
+ pass
33869
+
33870
+ def _typecheckingstub__22ceba82da2b5b77979cdbe562907d1ee3c704bfcb564f766864aaff695f3400(
33871
+ value: builtins.str,
33872
+ ) -> None:
33873
+ """Type checking stubs"""
33874
+ pass
33875
+
33876
+ def _typecheckingstub__5a9c3f25d11f724e7f4c78554b51bc3fc13c83e113087fbbf7d37e9868c51bdb(
33877
+ value: builtins.str,
33878
+ ) -> None:
33879
+ """Type checking stubs"""
33880
+ pass
33881
+
33882
+ def _typecheckingstub__2c58e960117de6ef208f31f47e57fea4a9b3894dc90dde201f0f6f182cab17d8(
33883
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
33884
+ ) -> None:
33885
+ """Type checking stubs"""
33886
+ pass
33887
+
33888
+ def _typecheckingstub__519fe3488e579f2ddfc56721bd12d5c2520b9b787080002ce6f4f88bbc90d50a(
33889
+ *,
33890
+ access_association_source: builtins.str,
33891
+ access_association_source_type: builtins.str,
33892
+ domain_name_arn: builtins.str,
33893
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33894
+ ) -> None:
33895
+ """Type checking stubs"""
33896
+ pass
33897
+
32797
33898
  def _typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a3743347d3(
32798
33899
  *,
32799
33900
  certificate_arn: typing.Optional[builtins.str] = None,
@@ -32808,6 +33909,95 @@ def _typecheckingstub__703d29eb1e26e9742eff449d68ee5c6089daeb58e8544900d248c3a37
32808
33909
  """Type checking stubs"""
32809
33910
  pass
32810
33911
 
33912
+ def _typecheckingstub__a4f501d10d57d39a48913872efdcb7d389a076fed9b5aabb21034b8e60a1e0bf(
33913
+ scope: _constructs_77d1e7e8.Construct,
33914
+ id: builtins.str,
33915
+ *,
33916
+ certificate_arn: typing.Optional[builtins.str] = None,
33917
+ domain_name: typing.Optional[builtins.str] = None,
33918
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
33919
+ management_policy: typing.Any = None,
33920
+ policy: typing.Any = None,
33921
+ security_policy: typing.Optional[builtins.str] = None,
33922
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33923
+ ) -> None:
33924
+ """Type checking stubs"""
33925
+ pass
33926
+
33927
+ def _typecheckingstub__cba990fa84005688ae2a90df64bc7ab39d02ac254f4c8a2fb935da000e626e3b(
33928
+ inspector: _TreeInspector_488e0dd5,
33929
+ ) -> None:
33930
+ """Type checking stubs"""
33931
+ pass
33932
+
33933
+ def _typecheckingstub__84c84802ec05ba723e240d805b21796f43a8f3cf08c5ef8677460e77d0a2182b(
33934
+ props: typing.Mapping[builtins.str, typing.Any],
33935
+ ) -> None:
33936
+ """Type checking stubs"""
33937
+ pass
33938
+
33939
+ def _typecheckingstub__02e36a521e1f2c0c18cff2c52c016e6370b767eb2b459e2c294bb4288285a448(
33940
+ value: typing.Optional[builtins.str],
33941
+ ) -> None:
33942
+ """Type checking stubs"""
33943
+ pass
33944
+
33945
+ def _typecheckingstub__c6f92a0eb5f08e654ae978fba555493986c05eed5e088475197fb75aa2780b84(
33946
+ value: typing.Optional[builtins.str],
33947
+ ) -> None:
33948
+ """Type checking stubs"""
33949
+ pass
33950
+
33951
+ def _typecheckingstub__a1f648b520c9d40bb72a9028880e48540125da8ba68522e25c483400d79142dc(
33952
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]],
33953
+ ) -> None:
33954
+ """Type checking stubs"""
33955
+ pass
33956
+
33957
+ def _typecheckingstub__8b6d7f1f638d8720556c9e4d7598ad47d45db07dc328a664195267638644608c(
33958
+ value: typing.Any,
33959
+ ) -> None:
33960
+ """Type checking stubs"""
33961
+ pass
33962
+
33963
+ def _typecheckingstub__a0c6989179a94e32b700994895064456ee57af9eb39330638ade9b7801085b38(
33964
+ value: typing.Any,
33965
+ ) -> None:
33966
+ """Type checking stubs"""
33967
+ pass
33968
+
33969
+ def _typecheckingstub__a85cede5bfb66595d91f3753ac1832695db8f9eb734e73ecbc1600f19d466199(
33970
+ value: typing.Optional[builtins.str],
33971
+ ) -> None:
33972
+ """Type checking stubs"""
33973
+ pass
33974
+
33975
+ def _typecheckingstub__476074ac17a2d9034c89e6475b463dcb2b5ab63eb68064fdc492d43a910b9470(
33976
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
33977
+ ) -> None:
33978
+ """Type checking stubs"""
33979
+ pass
33980
+
33981
+ def _typecheckingstub__6b6f3002516ae2cfe5144f016260236185910ca3b84cc4dc018cc660b10716c4(
33982
+ *,
33983
+ types: typing.Optional[typing.Sequence[builtins.str]] = None,
33984
+ ) -> None:
33985
+ """Type checking stubs"""
33986
+ pass
33987
+
33988
+ def _typecheckingstub__dfb97b3f8aa373f21ebe15318ceaaf08a4d4b4b31e9ba1ed8fb04ef598132e15(
33989
+ *,
33990
+ certificate_arn: typing.Optional[builtins.str] = None,
33991
+ domain_name: typing.Optional[builtins.str] = None,
33992
+ endpoint_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomainNameV2.EndpointConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
33993
+ management_policy: typing.Any = None,
33994
+ policy: typing.Any = None,
33995
+ security_policy: typing.Optional[builtins.str] = None,
33996
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
33997
+ ) -> None:
33998
+ """Type checking stubs"""
33999
+ pass
34000
+
32811
34001
  def _typecheckingstub__dfb51ee54cd182788cbab3215f86a2155730ef96e24304891e470a0af6430ec5(
32812
34002
  scope: _constructs_77d1e7e8.Construct,
32813
34003
  id: builtins.str,