aws-cdk-lib 2.186.0__py3-none-any.whl → 2.188.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 (85) hide show
  1. aws_cdk/__init__.py +303 -119
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.186.0.jsii.tgz → aws-cdk-lib@2.188.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +136 -0
  5. aws_cdk/aws_apigateway/__init__.py +69 -17
  6. aws_cdk/aws_apigatewayv2/__init__.py +88 -0
  7. aws_cdk/aws_appconfig/__init__.py +30 -14
  8. aws_cdk/aws_appsync/__init__.py +14 -5
  9. aws_cdk/aws_arczonalshift/__init__.py +4 -4
  10. aws_cdk/aws_bedrock/__init__.py +637 -32
  11. aws_cdk/aws_budgets/__init__.py +8 -8
  12. aws_cdk/aws_cassandra/__init__.py +4 -2
  13. aws_cdk/aws_ce/__init__.py +2 -2
  14. aws_cdk/aws_cloudformation/__init__.py +3 -3
  15. aws_cdk/aws_cloudfront/__init__.py +11 -0
  16. aws_cdk/aws_cloudtrail/__init__.py +4 -18
  17. aws_cdk/aws_cloudwatch/__init__.py +50 -50
  18. aws_cdk/aws_codebuild/__init__.py +32 -1
  19. aws_cdk/aws_codepipeline/__init__.py +47 -32
  20. aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
  21. aws_cdk/aws_codestarnotifications/__init__.py +16 -16
  22. aws_cdk/aws_cognito/__init__.py +8 -2
  23. aws_cdk/aws_config/__init__.py +2 -5
  24. aws_cdk/aws_datazone/__init__.py +287 -226
  25. aws_cdk/aws_detective/__init__.py +3 -3
  26. aws_cdk/aws_dynamodb/__init__.py +37 -0
  27. aws_cdk/aws_ec2/__init__.py +2448 -442
  28. aws_cdk/aws_ecr/__init__.py +143 -0
  29. aws_cdk/aws_ecr_assets/__init__.py +115 -4
  30. aws_cdk/aws_ecs/__init__.py +51 -0
  31. aws_cdk/aws_eks/__init__.py +222 -6
  32. aws_cdk/aws_events/__init__.py +8 -11
  33. aws_cdk/aws_events_targets/__init__.py +136 -0
  34. aws_cdk/aws_forecast/__init__.py +1 -1
  35. aws_cdk/aws_fsx/__init__.py +2 -2
  36. aws_cdk/aws_gamelift/__init__.py +11 -11
  37. aws_cdk/aws_iam/__init__.py +6 -4
  38. aws_cdk/aws_identitystore/__init__.py +6 -4
  39. aws_cdk/aws_iotsitewise/__init__.py +623 -0
  40. aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
  41. aws_cdk/aws_kms/__init__.py +10 -11
  42. aws_cdk/aws_lakeformation/__init__.py +3 -3
  43. aws_cdk/aws_lambda/__init__.py +105 -4
  44. aws_cdk/aws_lambda_event_sources/__init__.py +87 -25
  45. aws_cdk/aws_lambda_nodejs/__init__.py +5 -24
  46. aws_cdk/aws_lex/__init__.py +985 -5
  47. aws_cdk/aws_logs/__init__.py +18 -0
  48. aws_cdk/aws_logs_destinations/__init__.py +146 -0
  49. aws_cdk/aws_mediaconnect/__init__.py +714 -290
  50. aws_cdk/aws_mwaa/__init__.py +9 -9
  51. aws_cdk/aws_networkfirewall/__init__.py +44 -0
  52. aws_cdk/aws_notifications/__init__.py +4 -4
  53. aws_cdk/aws_omics/__init__.py +225 -1
  54. aws_cdk/aws_opensearchserverless/__init__.py +31 -23
  55. aws_cdk/aws_organizations/__init__.py +1 -1
  56. aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
  57. aws_cdk/aws_quicksight/__init__.py +268 -50
  58. aws_cdk/aws_rds/__init__.py +186 -10
  59. aws_cdk/aws_route53/__init__.py +5 -5
  60. aws_cdk/aws_route53recoverycontrol/__init__.py +41 -2
  61. aws_cdk/aws_rum/__init__.py +13 -10
  62. aws_cdk/aws_s3/__init__.py +3 -6
  63. aws_cdk/aws_s3_assets/__init__.py +70 -1
  64. aws_cdk/aws_s3_deployment/__init__.py +4 -0
  65. aws_cdk/aws_sagemaker/__init__.py +47 -4
  66. aws_cdk/aws_scheduler_targets/__init__.py +4 -16
  67. aws_cdk/aws_securitylake/__init__.py +2 -2
  68. aws_cdk/aws_servicecatalog/__init__.py +4 -0
  69. aws_cdk/aws_sns/__init__.py +1 -1
  70. aws_cdk/aws_ssmincidents/__init__.py +10 -10
  71. aws_cdk/aws_stepfunctions/__init__.py +23 -17
  72. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -0
  73. aws_cdk/aws_synthetics/__init__.py +9 -0
  74. aws_cdk/aws_systemsmanagersap/__init__.py +160 -0
  75. aws_cdk/aws_transfer/__init__.py +19 -10
  76. aws_cdk/aws_wafv2/__init__.py +512 -1141
  77. aws_cdk/cloud_assembly_schema/__init__.py +60 -10
  78. aws_cdk/cx_api/__init__.py +38 -2
  79. aws_cdk/pipelines/__init__.py +52 -2
  80. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/METADATA +4 -4
  81. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/RECORD +85 -85
  82. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/WHEEL +1 -1
  83. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/LICENSE +0 -0
  84. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/NOTICE +0 -0
  85. {aws_cdk_lib-2.186.0.dist-info → aws_cdk_lib-2.188.0.dist-info}/top_level.txt +0 -0
@@ -2834,6 +2834,7 @@ class ApiDefinition(
2834
2834
  file: builtins.str,
2835
2835
  *,
2836
2836
  deploy_time: typing.Optional[builtins.bool] = None,
2837
+ display_name: typing.Optional[builtins.str] = None,
2837
2838
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
2838
2839
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
2839
2840
  asset_hash: typing.Optional[builtins.str] = None,
@@ -2847,6 +2848,7 @@ class ApiDefinition(
2847
2848
 
2848
2849
  :param file: -
2849
2850
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
2851
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
2850
2852
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
2851
2853
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
2852
2854
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -2861,6 +2863,7 @@ class ApiDefinition(
2861
2863
  check_type(argname="argument file", value=file, expected_type=type_hints["file"])
2862
2864
  options = _AssetOptions_2aa69621(
2863
2865
  deploy_time=deploy_time,
2866
+ display_name=display_name,
2864
2867
  readers=readers,
2865
2868
  source_kms_key=source_kms_key,
2866
2869
  asset_hash=asset_hash,
@@ -3266,6 +3269,7 @@ class AssetApiDefinition(
3266
3269
  path: builtins.str,
3267
3270
  *,
3268
3271
  deploy_time: typing.Optional[builtins.bool] = None,
3272
+ display_name: typing.Optional[builtins.str] = None,
3269
3273
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
3270
3274
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
3271
3275
  asset_hash: typing.Optional[builtins.str] = None,
@@ -3278,6 +3282,7 @@ class AssetApiDefinition(
3278
3282
  '''
3279
3283
  :param path: -
3280
3284
  :param deploy_time: Whether or not the asset needs to exist beyond deployment time; i.e. are copied over to a different location and not needed afterwards. Setting this property to true has an impact on the lifecycle of the asset, because we will assume that it is safe to delete after the CloudFormation deployment succeeds. For example, Lambda Function assets are copied over to Lambda during deployment. Therefore, it is not necessary to store the asset in S3, so we consider those deployTime assets. Default: false
3285
+ :param display_name: A display name for this asset. If supplied, the display name will be used in locations where the asset identifier is printed, like in the CLI progress information. If the same asset is added multiple times, the display name of the first occurrence is used. The default is the construct path of the Asset construct, with respect to the enclosing stack. If the asset is produced by a construct helper function (such as ``lambda.Code.fromAsset()``), this will look like ``MyFunction/Code``. We use the stack-relative construct path so that in the common case where you have multiple stacks with the same asset, we won't show something like ``/MyBetaStack/MyFunction/Code`` when you are actually deploying to production. Default: - Stack-relative construct path
3281
3286
  :param readers: A list of principals that should be able to read this asset from S3. You can use ``asset.grantRead(principal)`` to grant read permissions later. Default: - No principals that can read file asset.
3282
3287
  :param source_kms_key: The ARN of the KMS key used to encrypt the handler code. Default: - the default server-side encryption with Amazon S3 managed keys(SSE-S3) key will be used.
3283
3288
  :param asset_hash: Specify a custom hash for this asset. If ``assetHashType`` is set it must be set to ``AssetHashType.CUSTOM``. For consistency, this custom hash will be SHA256 hashed and encoded as hex. The resulting hash will be the asset hash. NOTE: the hash is used in order to identify a specific revision of the asset, and used for optimizing and caching deployment activities related to this asset such as packaging, uploading to Amazon S3, etc. If you chose to customize the hash, you will need to make sure it is updated every time the asset changes, or otherwise it is possible that some deployments will not be invalidated. Default: - based on ``assetHashType``
@@ -3292,6 +3297,7 @@ class AssetApiDefinition(
3292
3297
  check_type(argname="argument path", value=path, expected_type=type_hints["path"])
3293
3298
  options = _AssetOptions_2aa69621(
3294
3299
  deploy_time=deploy_time,
3300
+ display_name=display_name,
3295
3301
  readers=readers,
3296
3302
  source_kms_key=source_kms_key,
3297
3303
  asset_hash=asset_hash,
@@ -7703,6 +7709,7 @@ class CfnDomainName(
7703
7709
  certificate_arn="certificateArn",
7704
7710
  domain_name="domainName",
7705
7711
  endpoint_configuration=apigateway.CfnDomainName.EndpointConfigurationProperty(
7712
+ ip_address_type="ipAddressType",
7706
7713
  types=["types"]
7707
7714
  ),
7708
7715
  mutual_tls_authentication=apigateway.CfnDomainName.MutualTlsAuthenticationProperty(
@@ -7738,7 +7745,7 @@ class CfnDomainName(
7738
7745
  :param id: Construct identifier for this resource (unique in its scope).
7739
7746
  :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.
7740
7747
  :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
7741
- :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
7748
+ :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.
7742
7749
  :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.
7743
7750
  :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.
7744
7751
  :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.
@@ -7878,7 +7885,7 @@ class CfnDomainName(
7878
7885
  def endpoint_configuration(
7879
7886
  self,
7880
7887
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainName.EndpointConfigurationProperty"]]:
7881
- '''The endpoint configuration of this DomainName showing the endpoint types of the domain name.'''
7888
+ '''The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.'''
7882
7889
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainName.EndpointConfigurationProperty"]], jsii.get(self, "endpointConfiguration"))
7883
7890
 
7884
7891
  @endpoint_configuration.setter
@@ -7967,18 +7974,20 @@ class CfnDomainName(
7967
7974
  @jsii.data_type(
7968
7975
  jsii_type="aws-cdk-lib.aws_apigateway.CfnDomainName.EndpointConfigurationProperty",
7969
7976
  jsii_struct_bases=[],
7970
- name_mapping={"types": "types"},
7977
+ name_mapping={"ip_address_type": "ipAddressType", "types": "types"},
7971
7978
  )
7972
7979
  class EndpointConfigurationProperty:
7973
7980
  def __init__(
7974
7981
  self,
7975
7982
  *,
7983
+ ip_address_type: typing.Optional[builtins.str] = None,
7976
7984
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
7977
7985
  ) -> None:
7978
- '''The ``EndpointConfiguration`` property type specifies the endpoint types of an Amazon API Gateway domain name.
7986
+ '''The ``EndpointConfiguration`` property type specifies the endpoint types and IP address types of an Amazon API Gateway domain name.
7979
7987
 
7980
7988
  ``EndpointConfiguration`` is a property of the `AWS::ApiGateway::DomainName <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html>`_ resource.
7981
7989
 
7990
+ :param ip_address_type: The IP address types that can invoke this DomainName. Use ``ipv4`` to allow only IPv4 addresses to invoke this DomainName, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
7982
7991
  :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`` .
7983
7992
 
7984
7993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html
@@ -7991,16 +8000,31 @@ class CfnDomainName(
7991
8000
  from aws_cdk import aws_apigateway as apigateway
7992
8001
 
7993
8002
  endpoint_configuration_property = apigateway.CfnDomainName.EndpointConfigurationProperty(
8003
+ ip_address_type="ipAddressType",
7994
8004
  types=["types"]
7995
8005
  )
7996
8006
  '''
7997
8007
  if __debug__:
7998
8008
  type_hints = typing.get_type_hints(_typecheckingstub__1d33c3bf6996efa92019e1b28e2d6c1c9ad4dd0fa50f2ad639962efcfa774fb2)
8009
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
7999
8010
  check_type(argname="argument types", value=types, expected_type=type_hints["types"])
8000
8011
  self._values: typing.Dict[builtins.str, typing.Any] = {}
8012
+ if ip_address_type is not None:
8013
+ self._values["ip_address_type"] = ip_address_type
8001
8014
  if types is not None:
8002
8015
  self._values["types"] = types
8003
8016
 
8017
+ @builtins.property
8018
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
8019
+ '''The IP address types that can invoke this DomainName.
8020
+
8021
+ Use ``ipv4`` to allow only IPv4 addresses to invoke this DomainName, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke this DomainName. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
8022
+
8023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainname-endpointconfiguration.html#cfn-apigateway-domainname-endpointconfiguration-ipaddresstype
8024
+ '''
8025
+ result = self._values.get("ip_address_type")
8026
+ return typing.cast(typing.Optional[builtins.str], result)
8027
+
8004
8028
  @builtins.property
8005
8029
  def types(self) -> typing.Optional[typing.List[builtins.str]]:
8006
8030
  '''A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
@@ -8423,7 +8447,7 @@ class CfnDomainNameProps:
8423
8447
 
8424
8448
  :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.
8425
8449
  :param domain_name: The custom domain name as an API host name, for example, ``my-api.example.com`` .
8426
- :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8450
+ :param endpoint_configuration: The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.
8427
8451
  :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.
8428
8452
  :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.
8429
8453
  :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.
@@ -8443,6 +8467,7 @@ class CfnDomainNameProps:
8443
8467
  certificate_arn="certificateArn",
8444
8468
  domain_name="domainName",
8445
8469
  endpoint_configuration=apigateway.CfnDomainName.EndpointConfigurationProperty(
8470
+ ip_address_type="ipAddressType",
8446
8471
  types=["types"]
8447
8472
  ),
8448
8473
  mutual_tls_authentication=apigateway.CfnDomainName.MutualTlsAuthenticationProperty(
@@ -8510,7 +8535,7 @@ class CfnDomainNameProps:
8510
8535
  def endpoint_configuration(
8511
8536
  self,
8512
8537
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainName.EndpointConfigurationProperty]]:
8513
- '''The endpoint configuration of this DomainName showing the endpoint types of the domain name.
8538
+ '''The endpoint configuration of this DomainName showing the endpoint types and IP address types of the domain name.
8514
8539
 
8515
8540
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-endpointconfiguration
8516
8541
  '''
@@ -8640,7 +8665,7 @@ class CfnDomainNameV2(
8640
8665
  :param id: Construct identifier for this resource (unique in its scope).
8641
8666
  :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.
8642
8667
  :param domain_name: Represents a custom domain name as a user-friendly host name of an API (RestApi).
8643
- :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8668
+ :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.
8644
8669
  :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>`_ .
8645
8670
  :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. Only ``TLS_1_2`` is supported.
8646
8671
  :param tags: The collection of tags. Each tag element is associated with a given resource.
@@ -8750,7 +8775,7 @@ class CfnDomainNameV2(
8750
8775
  def endpoint_configuration(
8751
8776
  self,
8752
8777
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]]:
8753
- '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.'''
8778
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.'''
8754
8779
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDomainNameV2.EndpointConfigurationProperty"]], jsii.get(self, "endpointConfiguration"))
8755
8780
 
8756
8781
  @endpoint_configuration.setter
@@ -8813,7 +8838,7 @@ class CfnDomainNameV2(
8813
8838
  *,
8814
8839
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
8815
8840
  ) -> None:
8816
- '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8841
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.
8817
8842
 
8818
8843
  :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`` .
8819
8844
 
@@ -8887,7 +8912,7 @@ class CfnDomainNameV2Props:
8887
8912
 
8888
8913
  :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.
8889
8914
  :param domain_name: Represents a custom domain name as a user-friendly host name of an API (RestApi).
8890
- :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8915
+ :param endpoint_configuration: The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.
8891
8916
  :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>`_ .
8892
8917
  :param security_policy: The Transport Layer Security (TLS) version + cipher suite for this DomainName. Only ``TLS_1_2`` is supported.
8893
8918
  :param tags: The collection of tags. Each tag element is associated with a given resource.
@@ -8963,7 +8988,7 @@ class CfnDomainNameV2Props:
8963
8988
  def endpoint_configuration(
8964
8989
  self,
8965
8990
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomainNameV2.EndpointConfigurationProperty]]:
8966
- '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.
8991
+ '''The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has and the IP address types that can invoke it.
8967
8992
 
8968
8993
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2.html#cfn-apigateway-domainnamev2-endpointconfiguration
8969
8994
  '''
@@ -11452,6 +11477,7 @@ class CfnRestApi(
11452
11477
  description="description",
11453
11478
  disable_execute_api_endpoint=False,
11454
11479
  endpoint_configuration=apigateway.CfnRestApi.EndpointConfigurationProperty(
11480
+ ip_address_type="ipAddressType",
11455
11481
  types=["types"],
11456
11482
  vpc_endpoint_ids=["vpcEndpointIds"]
11457
11483
  ),
@@ -11501,7 +11527,7 @@ class CfnRestApi(
11501
11527
  :param clone_from: The ID of the RestApi that you want to clone from.
11502
11528
  :param description: The description of the RestApi.
11503
11529
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint
11504
- :param endpoint_configuration: A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.
11530
+ :param endpoint_configuration: A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.
11505
11531
  :param fail_on_warnings: A query parameter to indicate whether to rollback the API update ( ``true`` ) or not ( ``false`` ) when a warning is encountered. The default value is ``false`` .
11506
11532
  :param minimum_compression_size: A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
11507
11533
  :param mode: This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates. Valid values are ``overwrite`` or ``merge`` . For ``overwrite`` , the new API definition replaces the existing one. The existing API identifier remains unchanged. For ``merge`` , the new API definition is merged with the existing API. If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite`` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.
@@ -11702,7 +11728,7 @@ class CfnRestApi(
11702
11728
  def endpoint_configuration(
11703
11729
  self,
11704
11730
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRestApi.EndpointConfigurationProperty"]]:
11705
- '''A list of the endpoint types of the API.'''
11731
+ '''A list of the endpoint types and IP address types of the API.'''
11706
11732
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnRestApi.EndpointConfigurationProperty"]], jsii.get(self, "endpointConfiguration"))
11707
11733
 
11708
11734
  @endpoint_configuration.setter
@@ -11819,19 +11845,25 @@ class CfnRestApi(
11819
11845
  @jsii.data_type(
11820
11846
  jsii_type="aws-cdk-lib.aws_apigateway.CfnRestApi.EndpointConfigurationProperty",
11821
11847
  jsii_struct_bases=[],
11822
- name_mapping={"types": "types", "vpc_endpoint_ids": "vpcEndpointIds"},
11848
+ name_mapping={
11849
+ "ip_address_type": "ipAddressType",
11850
+ "types": "types",
11851
+ "vpc_endpoint_ids": "vpcEndpointIds",
11852
+ },
11823
11853
  )
11824
11854
  class EndpointConfigurationProperty:
11825
11855
  def __init__(
11826
11856
  self,
11827
11857
  *,
11858
+ ip_address_type: typing.Optional[builtins.str] = None,
11828
11859
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
11829
11860
  vpc_endpoint_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
11830
11861
  ) -> None:
11831
- '''The ``EndpointConfiguration`` property type specifies the endpoint types of a REST API.
11862
+ '''The ``EndpointConfiguration`` property type specifies the endpoint types and IP address types of a REST API.
11832
11863
 
11833
11864
  ``EndpointConfiguration`` is a property of the `AWS::ApiGateway::RestApi <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html>`_ resource.
11834
11865
 
11866
+ :param ip_address_type: The IP address types that can invoke an API (RestApi). Use ``ipv4`` to allow only IPv4 addresses to invoke an API, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke an API. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
11835
11867
  :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`` .
11836
11868
  :param vpc_endpoint_ids: A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for ``PRIVATE`` endpoint type.
11837
11869
 
@@ -11845,20 +11877,35 @@ class CfnRestApi(
11845
11877
  from aws_cdk import aws_apigateway as apigateway
11846
11878
 
11847
11879
  endpoint_configuration_property = apigateway.CfnRestApi.EndpointConfigurationProperty(
11880
+ ip_address_type="ipAddressType",
11848
11881
  types=["types"],
11849
11882
  vpc_endpoint_ids=["vpcEndpointIds"]
11850
11883
  )
11851
11884
  '''
11852
11885
  if __debug__:
11853
11886
  type_hints = typing.get_type_hints(_typecheckingstub__df9522828c39c6e4b1e829251c3b77d5b94051a139bf4f10dfa3ac8717e878b6)
11887
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
11854
11888
  check_type(argname="argument types", value=types, expected_type=type_hints["types"])
11855
11889
  check_type(argname="argument vpc_endpoint_ids", value=vpc_endpoint_ids, expected_type=type_hints["vpc_endpoint_ids"])
11856
11890
  self._values: typing.Dict[builtins.str, typing.Any] = {}
11891
+ if ip_address_type is not None:
11892
+ self._values["ip_address_type"] = ip_address_type
11857
11893
  if types is not None:
11858
11894
  self._values["types"] = types
11859
11895
  if vpc_endpoint_ids is not None:
11860
11896
  self._values["vpc_endpoint_ids"] = vpc_endpoint_ids
11861
11897
 
11898
+ @builtins.property
11899
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
11900
+ '''The IP address types that can invoke an API (RestApi).
11901
+
11902
+ Use ``ipv4`` to allow only IPv4 addresses to invoke an API, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke an API. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
11903
+
11904
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype
11905
+ '''
11906
+ result = self._values.get("ip_address_type")
11907
+ return typing.cast(typing.Optional[builtins.str], result)
11908
+
11862
11909
  @builtins.property
11863
11910
  def types(self) -> typing.Optional[typing.List[builtins.str]]:
11864
11911
  '''A list of endpoint types of an API (RestApi) or its custom domain name (DomainName).
@@ -12054,7 +12101,7 @@ class CfnRestApiProps:
12054
12101
  :param clone_from: The ID of the RestApi that you want to clone from.
12055
12102
  :param description: The description of the RestApi.
12056
12103
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint
12057
- :param endpoint_configuration: A list of the endpoint types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.
12104
+ :param endpoint_configuration: A list of the endpoint types and IP address types of the API. Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.
12058
12105
  :param fail_on_warnings: A query parameter to indicate whether to rollback the API update ( ``true`` ) or not ( ``false`` ) when a warning is encountered. The default value is ``false`` .
12059
12106
  :param minimum_compression_size: A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.
12060
12107
  :param mode: This property applies only when you use OpenAPI to define your REST API. The ``Mode`` determines how API Gateway handles resource updates. Valid values are ``overwrite`` or ``merge`` . For ``overwrite`` , the new API definition replaces the existing one. The existing API identifier remains unchanged. For ``merge`` , the new API definition is merged with the existing API. If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is ``overwrite`` . For REST APIs created after March 29, 2021, the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. Use the default mode to define top-level ``RestApi`` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties.
@@ -12089,6 +12136,7 @@ class CfnRestApiProps:
12089
12136
  description="description",
12090
12137
  disable_execute_api_endpoint=False,
12091
12138
  endpoint_configuration=apigateway.CfnRestApi.EndpointConfigurationProperty(
12139
+ ip_address_type="ipAddressType",
12092
12140
  types=["types"],
12093
12141
  vpc_endpoint_ids=["vpcEndpointIds"]
12094
12142
  ),
@@ -12234,7 +12282,7 @@ class CfnRestApiProps:
12234
12282
  def endpoint_configuration(
12235
12283
  self,
12236
12284
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnRestApi.EndpointConfigurationProperty]]:
12237
- '''A list of the endpoint types of the API.
12285
+ '''A list of the endpoint types and IP address types of the API.
12238
12286
 
12239
12287
  Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the ``Parameters`` property.
12240
12288
 
@@ -33279,6 +33327,7 @@ def _typecheckingstub__931fac6af706dd0dae384cc682b2ecb066666ff6165060417e461a392
33279
33327
  file: builtins.str,
33280
33328
  *,
33281
33329
  deploy_time: typing.Optional[builtins.bool] = None,
33330
+ display_name: typing.Optional[builtins.str] = None,
33282
33331
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
33283
33332
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
33284
33333
  asset_hash: typing.Optional[builtins.str] = None,
@@ -33346,6 +33395,7 @@ def _typecheckingstub__8d060d6bc8fc5b369cfe71dc05efc964aa6b083b674baa7dc17f1762a
33346
33395
  path: builtins.str,
33347
33396
  *,
33348
33397
  deploy_time: typing.Optional[builtins.bool] = None,
33398
+ display_name: typing.Optional[builtins.str] = None,
33349
33399
  readers: typing.Optional[typing.Sequence[_IGrantable_71c4f5de]] = None,
33350
33400
  source_kms_key: typing.Optional[_IKey_5f11635f] = None,
33351
33401
  asset_hash: typing.Optional[builtins.str] = None,
@@ -34145,6 +34195,7 @@ def _typecheckingstub__30658cbd8b896f811f887630d934f0751b5370d775062da4c8686d7ca
34145
34195
 
34146
34196
  def _typecheckingstub__1d33c3bf6996efa92019e1b28e2d6c1c9ad4dd0fa50f2ad639962efcfa774fb2(
34147
34197
  *,
34198
+ ip_address_type: typing.Optional[builtins.str] = None,
34148
34199
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
34149
34200
  ) -> None:
34150
34201
  """Type checking stubs"""
@@ -34848,6 +34899,7 @@ def _typecheckingstub__9ae71bb5beb4f360ca0016003cbb508243a9ad4b5e494d1a4655780f8
34848
34899
 
34849
34900
  def _typecheckingstub__df9522828c39c6e4b1e829251c3b77d5b94051a139bf4f10dfa3ac8717e878b6(
34850
34901
  *,
34902
+ ip_address_type: typing.Optional[builtins.str] = None,
34851
34903
  types: typing.Optional[typing.Sequence[builtins.str]] = None,
34852
34904
  vpc_endpoint_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
34853
34905
  ) -> None:
@@ -842,6 +842,7 @@ class CfnApi(
842
842
  disable_execute_api_endpoint=False,
843
843
  disable_schema_validation=False,
844
844
  fail_on_warnings=False,
845
+ ip_address_type="ipAddressType",
845
846
  name="name",
846
847
  protocol_type="protocolType",
847
848
  route_key="routeKey",
@@ -869,6 +870,7 @@ class CfnApi(
869
870
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
870
871
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
871
872
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
873
+ ip_address_type: typing.Optional[builtins.str] = None,
872
874
  name: typing.Optional[builtins.str] = None,
873
875
  protocol_type: typing.Optional[builtins.str] = None,
874
876
  route_key: typing.Optional[builtins.str] = None,
@@ -890,6 +892,7 @@ class CfnApi(
890
892
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
891
893
  :param disable_schema_validation: Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
892
894
  :param fail_on_warnings: Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
895
+ :param ip_address_type: The IP address types that can invoke the API. Use ``ipv4`` to allow only IPv4 addresses to invoke your API, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke your API. Don’t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.
893
896
  :param name: The name of the API. Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
894
897
  :param protocol_type: The API protocol. Valid values are ``WEBSOCKET`` or ``HTTP`` . Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
895
898
  :param route_key: This property is part of quick create. If you don't specify a ``routeKey`` , a default route of ``$default`` is created. The ``$default`` route acts as a catch-all for any request made to your API, for a particular stage. The ``$default`` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
@@ -913,6 +916,7 @@ class CfnApi(
913
916
  disable_execute_api_endpoint=disable_execute_api_endpoint,
914
917
  disable_schema_validation=disable_schema_validation,
915
918
  fail_on_warnings=fail_on_warnings,
919
+ ip_address_type=ip_address_type,
916
920
  name=name,
917
921
  protocol_type=protocol_type,
918
922
  route_key=route_key,
@@ -1143,6 +1147,19 @@ class CfnApi(
1143
1147
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1144
1148
  jsii.set(self, "failOnWarnings", value) # pyright: ignore[reportArgumentType]
1145
1149
 
1150
+ @builtins.property
1151
+ @jsii.member(jsii_name="ipAddressType")
1152
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
1153
+ '''The IP address types that can invoke the API.'''
1154
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
1155
+
1156
+ @ip_address_type.setter
1157
+ def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
1158
+ if __debug__:
1159
+ type_hints = typing.get_type_hints(_typecheckingstub__2a1eb652a1c167ca6cb7d9b75ef226df1b04d95736668747822e7afa0766e2fd)
1160
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1161
+ jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
1162
+
1146
1163
  @builtins.property
1147
1164
  @jsii.member(jsii_name="name")
1148
1165
  def name(self) -> typing.Optional[builtins.str]:
@@ -2732,6 +2749,7 @@ class CfnApiMappingProps:
2732
2749
  "disable_execute_api_endpoint": "disableExecuteApiEndpoint",
2733
2750
  "disable_schema_validation": "disableSchemaValidation",
2734
2751
  "fail_on_warnings": "failOnWarnings",
2752
+ "ip_address_type": "ipAddressType",
2735
2753
  "name": "name",
2736
2754
  "protocol_type": "protocolType",
2737
2755
  "route_key": "routeKey",
@@ -2755,6 +2773,7 @@ class CfnApiProps:
2755
2773
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2756
2774
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2757
2775
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2776
+ ip_address_type: typing.Optional[builtins.str] = None,
2758
2777
  name: typing.Optional[builtins.str] = None,
2759
2778
  protocol_type: typing.Optional[builtins.str] = None,
2760
2779
  route_key: typing.Optional[builtins.str] = None,
@@ -2775,6 +2794,7 @@ class CfnApiProps:
2775
2794
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API by using the default ``execute-api`` endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.
2776
2795
  :param disable_schema_validation: Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
2777
2796
  :param fail_on_warnings: Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.
2797
+ :param ip_address_type: The IP address types that can invoke the API. Use ``ipv4`` to allow only IPv4 addresses to invoke your API, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke your API. Don’t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.
2778
2798
  :param name: The name of the API. Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
2779
2799
  :param protocol_type: The API protocol. Valid values are ``WEBSOCKET`` or ``HTTP`` . Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
2780
2800
  :param route_key: This property is part of quick create. If you don't specify a ``routeKey`` , a default route of ``$default`` is created. The ``$default`` route acts as a catch-all for any request made to your API, for a particular stage. The ``$default`` route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.
@@ -2817,6 +2837,7 @@ class CfnApiProps:
2817
2837
  disable_execute_api_endpoint=False,
2818
2838
  disable_schema_validation=False,
2819
2839
  fail_on_warnings=False,
2840
+ ip_address_type="ipAddressType",
2820
2841
  name="name",
2821
2842
  protocol_type="protocolType",
2822
2843
  route_key="routeKey",
@@ -2840,6 +2861,7 @@ class CfnApiProps:
2840
2861
  check_type(argname="argument disable_execute_api_endpoint", value=disable_execute_api_endpoint, expected_type=type_hints["disable_execute_api_endpoint"])
2841
2862
  check_type(argname="argument disable_schema_validation", value=disable_schema_validation, expected_type=type_hints["disable_schema_validation"])
2842
2863
  check_type(argname="argument fail_on_warnings", value=fail_on_warnings, expected_type=type_hints["fail_on_warnings"])
2864
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
2843
2865
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2844
2866
  check_type(argname="argument protocol_type", value=protocol_type, expected_type=type_hints["protocol_type"])
2845
2867
  check_type(argname="argument route_key", value=route_key, expected_type=type_hints["route_key"])
@@ -2868,6 +2890,8 @@ class CfnApiProps:
2868
2890
  self._values["disable_schema_validation"] = disable_schema_validation
2869
2891
  if fail_on_warnings is not None:
2870
2892
  self._values["fail_on_warnings"] = fail_on_warnings
2893
+ if ip_address_type is not None:
2894
+ self._values["ip_address_type"] = ip_address_type
2871
2895
  if name is not None:
2872
2896
  self._values["name"] = name
2873
2897
  if protocol_type is not None:
@@ -3001,6 +3025,19 @@ class CfnApiProps:
3001
3025
  result = self._values.get("fail_on_warnings")
3002
3026
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3003
3027
 
3028
+ @builtins.property
3029
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
3030
+ '''The IP address types that can invoke the API.
3031
+
3032
+ Use ``ipv4`` to allow only IPv4 addresses to invoke your API, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke your API.
3033
+
3034
+ Don’t use IP address type for an HTTP API based on an OpenAPI specification. Instead, specify the IP address type in the OpenAPI specification.
3035
+
3036
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-ipaddresstype
3037
+ '''
3038
+ result = self._values.get("ip_address_type")
3039
+ return typing.cast(typing.Optional[builtins.str], result)
3040
+
3004
3041
  @builtins.property
3005
3042
  def name(self) -> typing.Optional[builtins.str]:
3006
3043
  '''The name of the API.
@@ -3970,6 +4007,7 @@ class CfnDomainName(
3970
4007
  certificate_arn="certificateArn",
3971
4008
  certificate_name="certificateName",
3972
4009
  endpoint_type="endpointType",
4010
+ ip_address_type="ipAddressType",
3973
4011
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
3974
4012
  security_policy="securityPolicy"
3975
4013
  )],
@@ -4156,6 +4194,7 @@ class CfnDomainName(
4156
4194
  "certificate_arn": "certificateArn",
4157
4195
  "certificate_name": "certificateName",
4158
4196
  "endpoint_type": "endpointType",
4197
+ "ip_address_type": "ipAddressType",
4159
4198
  "ownership_verification_certificate_arn": "ownershipVerificationCertificateArn",
4160
4199
  "security_policy": "securityPolicy",
4161
4200
  },
@@ -4167,6 +4206,7 @@ class CfnDomainName(
4167
4206
  certificate_arn: typing.Optional[builtins.str] = None,
4168
4207
  certificate_name: typing.Optional[builtins.str] = None,
4169
4208
  endpoint_type: typing.Optional[builtins.str] = None,
4209
+ ip_address_type: typing.Optional[builtins.str] = None,
4170
4210
  ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
4171
4211
  security_policy: typing.Optional[builtins.str] = None,
4172
4212
  ) -> None:
@@ -4177,6 +4217,7 @@ class CfnDomainName(
4177
4217
  :param certificate_arn: An AWS -managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.
4178
4218
  :param certificate_name: The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
4179
4219
  :param endpoint_type: The endpoint type.
4220
+ :param ip_address_type: The IP address types that can invoke the domain name. Use ``ipv4`` to allow only IPv4 addresses to invoke your domain name, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke your domain name.
4180
4221
  :param ownership_verification_certificate_arn: The Amazon resource name (ARN) for the public certificate issued by AWS Certificate Manager . This ARN is used to validate custom domain ownership. It's required only if you configure mutual TLS and use either an ACM-imported or a private CA certificate ARN as the regionalCertificateArn.
4181
4222
  :param security_policy: The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are ``TLS_1_0`` and ``TLS_1_2`` .
4182
4223
 
@@ -4193,6 +4234,7 @@ class CfnDomainName(
4193
4234
  certificate_arn="certificateArn",
4194
4235
  certificate_name="certificateName",
4195
4236
  endpoint_type="endpointType",
4237
+ ip_address_type="ipAddressType",
4196
4238
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
4197
4239
  security_policy="securityPolicy"
4198
4240
  )
@@ -4202,6 +4244,7 @@ class CfnDomainName(
4202
4244
  check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
4203
4245
  check_type(argname="argument certificate_name", value=certificate_name, expected_type=type_hints["certificate_name"])
4204
4246
  check_type(argname="argument endpoint_type", value=endpoint_type, expected_type=type_hints["endpoint_type"])
4247
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
4205
4248
  check_type(argname="argument ownership_verification_certificate_arn", value=ownership_verification_certificate_arn, expected_type=type_hints["ownership_verification_certificate_arn"])
4206
4249
  check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
4207
4250
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -4211,6 +4254,8 @@ class CfnDomainName(
4211
4254
  self._values["certificate_name"] = certificate_name
4212
4255
  if endpoint_type is not None:
4213
4256
  self._values["endpoint_type"] = endpoint_type
4257
+ if ip_address_type is not None:
4258
+ self._values["ip_address_type"] = ip_address_type
4214
4259
  if ownership_verification_certificate_arn is not None:
4215
4260
  self._values["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
4216
4261
  if security_policy is not None:
@@ -4245,6 +4290,17 @@ class CfnDomainName(
4245
4290
  result = self._values.get("endpoint_type")
4246
4291
  return typing.cast(typing.Optional[builtins.str], result)
4247
4292
 
4293
+ @builtins.property
4294
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
4295
+ '''The IP address types that can invoke the domain name.
4296
+
4297
+ Use ``ipv4`` to allow only IPv4 addresses to invoke your domain name, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke your domain name.
4298
+
4299
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ipaddresstype
4300
+ '''
4301
+ result = self._values.get("ip_address_type")
4302
+ return typing.cast(typing.Optional[builtins.str], result)
4303
+
4248
4304
  @builtins.property
4249
4305
  def ownership_verification_certificate_arn(
4250
4306
  self,
@@ -4403,6 +4459,7 @@ class CfnDomainNameProps:
4403
4459
  certificate_arn="certificateArn",
4404
4460
  certificate_name="certificateName",
4405
4461
  endpoint_type="endpointType",
4462
+ ip_address_type="ipAddressType",
4406
4463
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
4407
4464
  security_policy="securityPolicy"
4408
4465
  )],
@@ -10970,6 +11027,17 @@ class IHttpApi(IApi, typing_extensions.Protocol):
10970
11027
  '''
10971
11028
  ...
10972
11029
 
11030
+ @builtins.property
11031
+ @jsii.member(jsii_name="defaultStage")
11032
+ def default_stage(self) -> typing.Optional["IHttpStage"]:
11033
+ '''The default stage of this API.
11034
+
11035
+ :default: - a stage will be created
11036
+
11037
+ :attribute: true
11038
+ '''
11039
+ ...
11040
+
10973
11041
  @jsii.member(jsii_name="addVpcLink")
10974
11042
  def add_vpc_link(
10975
11043
  self,
@@ -11241,6 +11309,17 @@ class _IHttpApiProxy(
11241
11309
  '''
11242
11310
  return typing.cast(typing.Optional["IHttpRouteAuthorizer"], jsii.get(self, "defaultAuthorizer"))
11243
11311
 
11312
+ @builtins.property
11313
+ @jsii.member(jsii_name="defaultStage")
11314
+ def default_stage(self) -> typing.Optional["IHttpStage"]:
11315
+ '''The default stage of this API.
11316
+
11317
+ :default: - a stage will be created
11318
+
11319
+ :attribute: true
11320
+ '''
11321
+ return typing.cast(typing.Optional["IHttpStage"], jsii.get(self, "defaultStage"))
11322
+
11244
11323
  @jsii.member(jsii_name="addVpcLink")
11245
11324
  def add_vpc_link(
11246
11325
  self,
@@ -18812,6 +18891,7 @@ def _typecheckingstub__1db7633eb849c7234f54cf8f50ef6e4c6273ca1ab60db537f47e511e2
18812
18891
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18813
18892
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18814
18893
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18894
+ ip_address_type: typing.Optional[builtins.str] = None,
18815
18895
  name: typing.Optional[builtins.str] = None,
18816
18896
  protocol_type: typing.Optional[builtins.str] = None,
18817
18897
  route_key: typing.Optional[builtins.str] = None,
@@ -18895,6 +18975,12 @@ def _typecheckingstub__2ce8eb7264be44ff3a6ae79c6be6a193c31eb617518209aeb51c346aa
18895
18975
  """Type checking stubs"""
18896
18976
  pass
18897
18977
 
18978
+ def _typecheckingstub__2a1eb652a1c167ca6cb7d9b75ef226df1b04d95736668747822e7afa0766e2fd(
18979
+ value: typing.Optional[builtins.str],
18980
+ ) -> None:
18981
+ """Type checking stubs"""
18982
+ pass
18983
+
18898
18984
  def _typecheckingstub__6de2f3d46e4a0275374cdfba39222daec1a50d7516f00756e898551462523fb6(
18899
18985
  value: typing.Optional[builtins.str],
18900
18986
  ) -> None:
@@ -19139,6 +19225,7 @@ def _typecheckingstub__de72efdeda792916a7e0a8d8953153208abe93b442ac8056802f749d4
19139
19225
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19140
19226
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19141
19227
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19228
+ ip_address_type: typing.Optional[builtins.str] = None,
19142
19229
  name: typing.Optional[builtins.str] = None,
19143
19230
  protocol_type: typing.Optional[builtins.str] = None,
19144
19231
  route_key: typing.Optional[builtins.str] = None,
@@ -19375,6 +19462,7 @@ def _typecheckingstub__faaf4905cea99e081f1f881fa68755b4ec1bc0ed8f4e145c30baf36d9
19375
19462
  certificate_arn: typing.Optional[builtins.str] = None,
19376
19463
  certificate_name: typing.Optional[builtins.str] = None,
19377
19464
  endpoint_type: typing.Optional[builtins.str] = None,
19465
+ ip_address_type: typing.Optional[builtins.str] = None,
19378
19466
  ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
19379
19467
  security_policy: typing.Optional[builtins.str] = None,
19380
19468
  ) -> None: