aws-cdk-lib 2.187.0__py3-none-any.whl → 2.189.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 (60) hide show
  1. aws_cdk/__init__.py +24 -3
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.187.0.jsii.tgz → aws-cdk-lib@2.189.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +21 -9
  5. aws_cdk/aws_apigateway/__init__.py +27 -19
  6. aws_cdk/aws_apigatewayv2/__init__.py +170 -0
  7. aws_cdk/aws_appconfig/__init__.py +30 -14
  8. aws_cdk/aws_arczonalshift/__init__.py +4 -4
  9. aws_cdk/aws_batch/__init__.py +2 -0
  10. aws_cdk/aws_bedrock/__init__.py +629 -32
  11. aws_cdk/aws_budgets/__init__.py +8 -8
  12. aws_cdk/aws_cassandra/__init__.py +3 -1
  13. aws_cdk/aws_ce/__init__.py +2 -2
  14. aws_cdk/aws_cloudformation/__init__.py +3 -3
  15. aws_cdk/aws_codebuild/__init__.py +23 -1
  16. aws_cdk/aws_codepipeline/__init__.py +47 -32
  17. aws_cdk/aws_codepipeline_actions/__init__.py +2786 -1042
  18. aws_cdk/aws_codestarnotifications/__init__.py +16 -16
  19. aws_cdk/aws_cognito/__init__.py +8 -2
  20. aws_cdk/aws_dsql/__init__.py +366 -0
  21. aws_cdk/aws_dynamodb/__init__.py +4 -4
  22. aws_cdk/aws_ec2/__init__.py +2130 -237
  23. aws_cdk/aws_eks/__init__.py +112 -10
  24. aws_cdk/aws_events_targets/__init__.py +136 -0
  25. aws_cdk/aws_fsx/__init__.py +2 -8
  26. aws_cdk/aws_gamelift/__init__.py +140 -14
  27. aws_cdk/aws_groundstation/__init__.py +4 -2
  28. aws_cdk/aws_iam/__init__.py +6 -4
  29. aws_cdk/aws_identitystore/__init__.py +15 -13
  30. aws_cdk/aws_kinesisfirehose/__init__.py +38 -0
  31. aws_cdk/aws_lambda_event_sources/__init__.py +22 -22
  32. aws_cdk/aws_lex/__init__.py +21 -17
  33. aws_cdk/aws_logs/__init__.py +18 -0
  34. aws_cdk/aws_logs_destinations/__init__.py +146 -0
  35. aws_cdk/aws_notifications/__init__.py +4 -4
  36. aws_cdk/aws_omics/__init__.py +9 -1
  37. aws_cdk/aws_opensearchserverless/__init__.py +31 -23
  38. aws_cdk/aws_organizations/__init__.py +1 -1
  39. aws_cdk/aws_paymentcryptography/__init__.py +6 -2
  40. aws_cdk/aws_pcaconnectorad/__init__.py +3 -2
  41. aws_cdk/aws_quicksight/__init__.py +35 -22
  42. aws_cdk/aws_rds/__init__.py +84 -0
  43. aws_cdk/aws_redshiftserverless/__init__.py +166 -0
  44. aws_cdk/aws_route53/__init__.py +3 -3
  45. aws_cdk/aws_route53recoverycontrol/__init__.py +4 -6
  46. aws_cdk/aws_rum/__init__.py +13 -10
  47. aws_cdk/aws_s3/__init__.py +3 -6
  48. aws_cdk/aws_sagemaker/__init__.py +41 -0
  49. aws_cdk/aws_ssmincidents/__init__.py +10 -10
  50. aws_cdk/aws_systemsmanagersap/__init__.py +17 -7
  51. aws_cdk/aws_transfer/__init__.py +19 -10
  52. aws_cdk/aws_wafv2/__init__.py +80 -35
  53. aws_cdk/cx_api/__init__.py +23 -2
  54. aws_cdk/pipelines/__init__.py +71 -1
  55. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/RECORD +60 -59
  57. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.187.0.dist-info → aws_cdk_lib-2.189.0.dist-info}/top_level.txt +0 -0
@@ -106,6 +106,15 @@ apigwv2.HttpApi(self, "HttpProxyApi",
106
106
  )
107
107
  ```
108
108
 
109
+ You can configure IP address type for the API endpoint using `ipAddressType` property.
110
+ Valid values are `IPV4` (default) and `DUAL_STACK`.
111
+
112
+ ```python
113
+ apigwv2.HttpApi(self, "HttpApi",
114
+ ip_address_type=apigwv2.IpAddressType.DUAL_STACK
115
+ )
116
+ ```
117
+
109
118
  ### Cross Origin Resource Sharing (CORS)
110
119
 
111
120
  [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) is a browser security
@@ -450,6 +459,15 @@ arn = api.arn_for_execute_api_v2("$connect", "dev")
450
459
 
451
460
  For a detailed explanation of this function, including usage and examples, please refer to the [Generating ARN for Execute API](#generating-arn-for-execute-api) section under HTTP API.
452
461
 
462
+ You can configure IP address type for the API endpoint using `ipAddressType` property.
463
+ Valid values are `IPV4` (default) and `DUAL_STACK`.
464
+
465
+ ```python
466
+ apigwv2.WebSocketApi(self, "WebSocketApi",
467
+ ip_address_type=apigwv2.IpAddressType.DUAL_STACK
468
+ )
469
+ ```
470
+
453
471
  ### Manage Connections Permission
454
472
 
455
473
  Grant permission to use API Gateway Management API of a WebSocket API by calling the `grantManageConnections` API.
@@ -842,6 +860,7 @@ class CfnApi(
842
860
  disable_execute_api_endpoint=False,
843
861
  disable_schema_validation=False,
844
862
  fail_on_warnings=False,
863
+ ip_address_type="ipAddressType",
845
864
  name="name",
846
865
  protocol_type="protocolType",
847
866
  route_key="routeKey",
@@ -869,6 +888,7 @@ class CfnApi(
869
888
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
870
889
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
871
890
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
891
+ ip_address_type: typing.Optional[builtins.str] = None,
872
892
  name: typing.Optional[builtins.str] = None,
873
893
  protocol_type: typing.Optional[builtins.str] = None,
874
894
  route_key: typing.Optional[builtins.str] = None,
@@ -890,6 +910,7 @@ class CfnApi(
890
910
  :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
911
  :param disable_schema_validation: Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
892
912
  :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.
913
+ :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
914
  :param name: The name of the API. Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
894
915
  :param protocol_type: The API protocol. Valid values are ``WEBSOCKET`` or ``HTTP`` . Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
895
916
  :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 +934,7 @@ class CfnApi(
913
934
  disable_execute_api_endpoint=disable_execute_api_endpoint,
914
935
  disable_schema_validation=disable_schema_validation,
915
936
  fail_on_warnings=fail_on_warnings,
937
+ ip_address_type=ip_address_type,
916
938
  name=name,
917
939
  protocol_type=protocol_type,
918
940
  route_key=route_key,
@@ -1143,6 +1165,19 @@ class CfnApi(
1143
1165
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1144
1166
  jsii.set(self, "failOnWarnings", value) # pyright: ignore[reportArgumentType]
1145
1167
 
1168
+ @builtins.property
1169
+ @jsii.member(jsii_name="ipAddressType")
1170
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
1171
+ '''The IP address types that can invoke the API.'''
1172
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
1173
+
1174
+ @ip_address_type.setter
1175
+ def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
1176
+ if __debug__:
1177
+ type_hints = typing.get_type_hints(_typecheckingstub__2a1eb652a1c167ca6cb7d9b75ef226df1b04d95736668747822e7afa0766e2fd)
1178
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1179
+ jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
1180
+
1146
1181
  @builtins.property
1147
1182
  @jsii.member(jsii_name="name")
1148
1183
  def name(self) -> typing.Optional[builtins.str]:
@@ -2732,6 +2767,7 @@ class CfnApiMappingProps:
2732
2767
  "disable_execute_api_endpoint": "disableExecuteApiEndpoint",
2733
2768
  "disable_schema_validation": "disableSchemaValidation",
2734
2769
  "fail_on_warnings": "failOnWarnings",
2770
+ "ip_address_type": "ipAddressType",
2735
2771
  "name": "name",
2736
2772
  "protocol_type": "protocolType",
2737
2773
  "route_key": "routeKey",
@@ -2755,6 +2791,7 @@ class CfnApiProps:
2755
2791
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2756
2792
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2757
2793
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2794
+ ip_address_type: typing.Optional[builtins.str] = None,
2758
2795
  name: typing.Optional[builtins.str] = None,
2759
2796
  protocol_type: typing.Optional[builtins.str] = None,
2760
2797
  route_key: typing.Optional[builtins.str] = None,
@@ -2775,6 +2812,7 @@ class CfnApiProps:
2775
2812
  :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
2813
  :param disable_schema_validation: Avoid validating models when creating a deployment. Supported only for WebSocket APIs.
2777
2814
  :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.
2815
+ :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
2816
  :param name: The name of the API. Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
2779
2817
  :param protocol_type: The API protocol. Valid values are ``WEBSOCKET`` or ``HTTP`` . Required unless you specify an OpenAPI definition for ``Body`` or ``S3BodyLocation`` .
2780
2818
  :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 +2855,7 @@ class CfnApiProps:
2817
2855
  disable_execute_api_endpoint=False,
2818
2856
  disable_schema_validation=False,
2819
2857
  fail_on_warnings=False,
2858
+ ip_address_type="ipAddressType",
2820
2859
  name="name",
2821
2860
  protocol_type="protocolType",
2822
2861
  route_key="routeKey",
@@ -2840,6 +2879,7 @@ class CfnApiProps:
2840
2879
  check_type(argname="argument disable_execute_api_endpoint", value=disable_execute_api_endpoint, expected_type=type_hints["disable_execute_api_endpoint"])
2841
2880
  check_type(argname="argument disable_schema_validation", value=disable_schema_validation, expected_type=type_hints["disable_schema_validation"])
2842
2881
  check_type(argname="argument fail_on_warnings", value=fail_on_warnings, expected_type=type_hints["fail_on_warnings"])
2882
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
2843
2883
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2844
2884
  check_type(argname="argument protocol_type", value=protocol_type, expected_type=type_hints["protocol_type"])
2845
2885
  check_type(argname="argument route_key", value=route_key, expected_type=type_hints["route_key"])
@@ -2868,6 +2908,8 @@ class CfnApiProps:
2868
2908
  self._values["disable_schema_validation"] = disable_schema_validation
2869
2909
  if fail_on_warnings is not None:
2870
2910
  self._values["fail_on_warnings"] = fail_on_warnings
2911
+ if ip_address_type is not None:
2912
+ self._values["ip_address_type"] = ip_address_type
2871
2913
  if name is not None:
2872
2914
  self._values["name"] = name
2873
2915
  if protocol_type is not None:
@@ -3001,6 +3043,19 @@ class CfnApiProps:
3001
3043
  result = self._values.get("fail_on_warnings")
3002
3044
  return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3003
3045
 
3046
+ @builtins.property
3047
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
3048
+ '''The IP address types that can invoke the API.
3049
+
3050
+ 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.
3051
+
3052
+ 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.
3053
+
3054
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-ipaddresstype
3055
+ '''
3056
+ result = self._values.get("ip_address_type")
3057
+ return typing.cast(typing.Optional[builtins.str], result)
3058
+
3004
3059
  @builtins.property
3005
3060
  def name(self) -> typing.Optional[builtins.str]:
3006
3061
  '''The name of the API.
@@ -3970,6 +4025,7 @@ class CfnDomainName(
3970
4025
  certificate_arn="certificateArn",
3971
4026
  certificate_name="certificateName",
3972
4027
  endpoint_type="endpointType",
4028
+ ip_address_type="ipAddressType",
3973
4029
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
3974
4030
  security_policy="securityPolicy"
3975
4031
  )],
@@ -4156,6 +4212,7 @@ class CfnDomainName(
4156
4212
  "certificate_arn": "certificateArn",
4157
4213
  "certificate_name": "certificateName",
4158
4214
  "endpoint_type": "endpointType",
4215
+ "ip_address_type": "ipAddressType",
4159
4216
  "ownership_verification_certificate_arn": "ownershipVerificationCertificateArn",
4160
4217
  "security_policy": "securityPolicy",
4161
4218
  },
@@ -4167,6 +4224,7 @@ class CfnDomainName(
4167
4224
  certificate_arn: typing.Optional[builtins.str] = None,
4168
4225
  certificate_name: typing.Optional[builtins.str] = None,
4169
4226
  endpoint_type: typing.Optional[builtins.str] = None,
4227
+ ip_address_type: typing.Optional[builtins.str] = None,
4170
4228
  ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
4171
4229
  security_policy: typing.Optional[builtins.str] = None,
4172
4230
  ) -> None:
@@ -4177,6 +4235,7 @@ class CfnDomainName(
4177
4235
  :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
4236
  :param certificate_name: The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.
4179
4237
  :param endpoint_type: The endpoint type.
4238
+ :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
4239
  :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
4240
  :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
4241
 
@@ -4193,6 +4252,7 @@ class CfnDomainName(
4193
4252
  certificate_arn="certificateArn",
4194
4253
  certificate_name="certificateName",
4195
4254
  endpoint_type="endpointType",
4255
+ ip_address_type="ipAddressType",
4196
4256
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
4197
4257
  security_policy="securityPolicy"
4198
4258
  )
@@ -4202,6 +4262,7 @@ class CfnDomainName(
4202
4262
  check_type(argname="argument certificate_arn", value=certificate_arn, expected_type=type_hints["certificate_arn"])
4203
4263
  check_type(argname="argument certificate_name", value=certificate_name, expected_type=type_hints["certificate_name"])
4204
4264
  check_type(argname="argument endpoint_type", value=endpoint_type, expected_type=type_hints["endpoint_type"])
4265
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
4205
4266
  check_type(argname="argument ownership_verification_certificate_arn", value=ownership_verification_certificate_arn, expected_type=type_hints["ownership_verification_certificate_arn"])
4206
4267
  check_type(argname="argument security_policy", value=security_policy, expected_type=type_hints["security_policy"])
4207
4268
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -4211,6 +4272,8 @@ class CfnDomainName(
4211
4272
  self._values["certificate_name"] = certificate_name
4212
4273
  if endpoint_type is not None:
4213
4274
  self._values["endpoint_type"] = endpoint_type
4275
+ if ip_address_type is not None:
4276
+ self._values["ip_address_type"] = ip_address_type
4214
4277
  if ownership_verification_certificate_arn is not None:
4215
4278
  self._values["ownership_verification_certificate_arn"] = ownership_verification_certificate_arn
4216
4279
  if security_policy is not None:
@@ -4245,6 +4308,17 @@ class CfnDomainName(
4245
4308
  result = self._values.get("endpoint_type")
4246
4309
  return typing.cast(typing.Optional[builtins.str], result)
4247
4310
 
4311
+ @builtins.property
4312
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
4313
+ '''The IP address types that can invoke the domain name.
4314
+
4315
+ 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.
4316
+
4317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ipaddresstype
4318
+ '''
4319
+ result = self._values.get("ip_address_type")
4320
+ return typing.cast(typing.Optional[builtins.str], result)
4321
+
4248
4322
  @builtins.property
4249
4323
  def ownership_verification_certificate_arn(
4250
4324
  self,
@@ -4403,6 +4477,7 @@ class CfnDomainNameProps:
4403
4477
  certificate_arn="certificateArn",
4404
4478
  certificate_name="certificateName",
4405
4479
  endpoint_type="endpointType",
4480
+ ip_address_type="ipAddressType",
4406
4481
  ownership_verification_certificate_arn="ownershipVerificationCertificateArn",
4407
4482
  security_policy="securityPolicy"
4408
4483
  )],
@@ -8976,6 +9051,7 @@ class HttpApiAttributes:
8976
9051
  "default_integration": "defaultIntegration",
8977
9052
  "description": "description",
8978
9053
  "disable_execute_api_endpoint": "disableExecuteApiEndpoint",
9054
+ "ip_address_type": "ipAddressType",
8979
9055
  "route_selection_expression": "routeSelectionExpression",
8980
9056
  },
8981
9057
  )
@@ -8992,6 +9068,7 @@ class HttpApiProps:
8992
9068
  default_integration: typing.Optional["HttpRouteIntegration"] = None,
8993
9069
  description: typing.Optional[builtins.str] = None,
8994
9070
  disable_execute_api_endpoint: typing.Optional[builtins.bool] = None,
9071
+ ip_address_type: typing.Optional["IpAddressType"] = None,
8995
9072
  route_selection_expression: typing.Optional[builtins.bool] = None,
8996
9073
  ) -> None:
8997
9074
  '''Properties to initialize an instance of ``HttpApi``.
@@ -9005,6 +9082,7 @@ class HttpApiProps:
9005
9082
  :param default_integration: An integration that will be configured on the catch-all route ($default). Default: - none
9006
9083
  :param description: The description of the API. Default: - none
9007
9084
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API using the default endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. Set this to true if you would like clients to use your custom domain name. Default: false execute-api endpoint enabled.
9085
+ :param ip_address_type: The IP address types that can invoke the API. Default: undefined - AWS default is IPV4
9008
9086
  :param route_selection_expression: Whether to set the default route selection expression for the API. When enabled, "${request.method} ${request.path}" is set as the default route selection expression. Default: false
9009
9087
 
9010
9088
  :exampleMetadata: infused
@@ -9041,6 +9119,7 @@ class HttpApiProps:
9041
9119
  check_type(argname="argument default_integration", value=default_integration, expected_type=type_hints["default_integration"])
9042
9120
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
9043
9121
  check_type(argname="argument disable_execute_api_endpoint", value=disable_execute_api_endpoint, expected_type=type_hints["disable_execute_api_endpoint"])
9122
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
9044
9123
  check_type(argname="argument route_selection_expression", value=route_selection_expression, expected_type=type_hints["route_selection_expression"])
9045
9124
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9046
9125
  if api_name is not None:
@@ -9061,6 +9140,8 @@ class HttpApiProps:
9061
9140
  self._values["description"] = description
9062
9141
  if disable_execute_api_endpoint is not None:
9063
9142
  self._values["disable_execute_api_endpoint"] = disable_execute_api_endpoint
9143
+ if ip_address_type is not None:
9144
+ self._values["ip_address_type"] = ip_address_type
9064
9145
  if route_selection_expression is not None:
9065
9146
  self._values["route_selection_expression"] = route_selection_expression
9066
9147
 
@@ -9155,6 +9236,17 @@ class HttpApiProps:
9155
9236
  result = self._values.get("disable_execute_api_endpoint")
9156
9237
  return typing.cast(typing.Optional[builtins.bool], result)
9157
9238
 
9239
+ @builtins.property
9240
+ def ip_address_type(self) -> typing.Optional["IpAddressType"]:
9241
+ '''The IP address types that can invoke the API.
9242
+
9243
+ :default: undefined - AWS default is IPV4
9244
+
9245
+ :see: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-ip-address-type.html
9246
+ '''
9247
+ result = self._values.get("ip_address_type")
9248
+ return typing.cast(typing.Optional["IpAddressType"], result)
9249
+
9158
9250
  @builtins.property
9159
9251
  def route_selection_expression(self) -> typing.Optional[builtins.bool]:
9160
9252
  '''Whether to set the default route selection expression for the API.
@@ -10970,6 +11062,17 @@ class IHttpApi(IApi, typing_extensions.Protocol):
10970
11062
  '''
10971
11063
  ...
10972
11064
 
11065
+ @builtins.property
11066
+ @jsii.member(jsii_name="defaultStage")
11067
+ def default_stage(self) -> typing.Optional["IHttpStage"]:
11068
+ '''The default stage of this API.
11069
+
11070
+ :default: - a stage will be created
11071
+
11072
+ :attribute: true
11073
+ '''
11074
+ ...
11075
+
10973
11076
  @jsii.member(jsii_name="addVpcLink")
10974
11077
  def add_vpc_link(
10975
11078
  self,
@@ -11241,6 +11344,17 @@ class _IHttpApiProxy(
11241
11344
  '''
11242
11345
  return typing.cast(typing.Optional["IHttpRouteAuthorizer"], jsii.get(self, "defaultAuthorizer"))
11243
11346
 
11347
+ @builtins.property
11348
+ @jsii.member(jsii_name="defaultStage")
11349
+ def default_stage(self) -> typing.Optional["IHttpStage"]:
11350
+ '''The default stage of this API.
11351
+
11352
+ :default: - a stage will be created
11353
+
11354
+ :attribute: true
11355
+ '''
11356
+ return typing.cast(typing.Optional["IHttpStage"], jsii.get(self, "defaultStage"))
11357
+
11244
11358
  @jsii.member(jsii_name="addVpcLink")
11245
11359
  def add_vpc_link(
11246
11360
  self,
@@ -12175,6 +12289,25 @@ class _IntegrationCredentialsProxy(IntegrationCredentials):
12175
12289
  typing.cast(typing.Any, IntegrationCredentials).__jsii_proxy_class__ = lambda : _IntegrationCredentialsProxy
12176
12290
 
12177
12291
 
12292
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_apigatewayv2.IpAddressType")
12293
+ class IpAddressType(enum.Enum):
12294
+ '''Supported IP Address Types.
12295
+
12296
+ :exampleMetadata: infused
12297
+
12298
+ Example::
12299
+
12300
+ apigwv2.HttpApi(self, "HttpApi",
12301
+ ip_address_type=apigwv2.IpAddressType.DUAL_STACK
12302
+ )
12303
+ '''
12304
+
12305
+ IPV4 = "IPV4"
12306
+ '''IPv4 address type.'''
12307
+ DUAL_STACK = "DUAL_STACK"
12308
+ '''IPv4 and IPv6 address type.'''
12309
+
12310
+
12178
12311
  @jsii.data_type(
12179
12312
  jsii_type="aws-cdk-lib.aws_apigatewayv2.MTLSConfig",
12180
12313
  jsii_struct_bases=[],
@@ -13229,6 +13362,7 @@ class WebSocketApi(
13229
13362
  default_route_options: typing.Optional[typing.Union["WebSocketRouteOptions", typing.Dict[builtins.str, typing.Any]]] = None,
13230
13363
  description: typing.Optional[builtins.str] = None,
13231
13364
  disconnect_route_options: typing.Optional[typing.Union["WebSocketRouteOptions", typing.Dict[builtins.str, typing.Any]]] = None,
13365
+ ip_address_type: typing.Optional[IpAddressType] = None,
13232
13366
  route_selection_expression: typing.Optional[builtins.str] = None,
13233
13367
  ) -> None:
13234
13368
  '''
@@ -13240,6 +13374,7 @@ class WebSocketApi(
13240
13374
  :param default_route_options: Options to configure a '$default' route. Default: - no '$default' route configured
13241
13375
  :param description: The description of the API. Default: - none
13242
13376
  :param disconnect_route_options: Options to configure a '$disconnect' route. Default: - no '$disconnect' route configured
13377
+ :param ip_address_type: The IP address types that can invoke the API. Default: undefined - AWS default is IPV4
13243
13378
  :param route_selection_expression: The route selection expression for the API. Default: '$request.body.action'
13244
13379
  '''
13245
13380
  if __debug__:
@@ -13253,6 +13388,7 @@ class WebSocketApi(
13253
13388
  default_route_options=default_route_options,
13254
13389
  description=description,
13255
13390
  disconnect_route_options=disconnect_route_options,
13391
+ ip_address_type=ip_address_type,
13256
13392
  route_selection_expression=route_selection_expression,
13257
13393
  )
13258
13394
 
@@ -13561,6 +13697,7 @@ class WebSocketApiKeySelectionExpression(
13561
13697
  "default_route_options": "defaultRouteOptions",
13562
13698
  "description": "description",
13563
13699
  "disconnect_route_options": "disconnectRouteOptions",
13700
+ "ip_address_type": "ipAddressType",
13564
13701
  "route_selection_expression": "routeSelectionExpression",
13565
13702
  },
13566
13703
  )
@@ -13574,6 +13711,7 @@ class WebSocketApiProps:
13574
13711
  default_route_options: typing.Optional[typing.Union["WebSocketRouteOptions", typing.Dict[builtins.str, typing.Any]]] = None,
13575
13712
  description: typing.Optional[builtins.str] = None,
13576
13713
  disconnect_route_options: typing.Optional[typing.Union["WebSocketRouteOptions", typing.Dict[builtins.str, typing.Any]]] = None,
13714
+ ip_address_type: typing.Optional[IpAddressType] = None,
13577
13715
  route_selection_expression: typing.Optional[builtins.str] = None,
13578
13716
  ) -> None:
13579
13717
  '''Props for WebSocket API.
@@ -13584,6 +13722,7 @@ class WebSocketApiProps:
13584
13722
  :param default_route_options: Options to configure a '$default' route. Default: - no '$default' route configured
13585
13723
  :param description: The description of the API. Default: - none
13586
13724
  :param disconnect_route_options: Options to configure a '$disconnect' route. Default: - no '$disconnect' route configured
13725
+ :param ip_address_type: The IP address types that can invoke the API. Default: undefined - AWS default is IPV4
13587
13726
  :param route_selection_expression: The route selection expression for the API. Default: '$request.body.action'
13588
13727
 
13589
13728
  :exampleMetadata: infused
@@ -13625,6 +13764,7 @@ class WebSocketApiProps:
13625
13764
  check_type(argname="argument default_route_options", value=default_route_options, expected_type=type_hints["default_route_options"])
13626
13765
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
13627
13766
  check_type(argname="argument disconnect_route_options", value=disconnect_route_options, expected_type=type_hints["disconnect_route_options"])
13767
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
13628
13768
  check_type(argname="argument route_selection_expression", value=route_selection_expression, expected_type=type_hints["route_selection_expression"])
13629
13769
  self._values: typing.Dict[builtins.str, typing.Any] = {}
13630
13770
  if api_key_selection_expression is not None:
@@ -13639,6 +13779,8 @@ class WebSocketApiProps:
13639
13779
  self._values["description"] = description
13640
13780
  if disconnect_route_options is not None:
13641
13781
  self._values["disconnect_route_options"] = disconnect_route_options
13782
+ if ip_address_type is not None:
13783
+ self._values["ip_address_type"] = ip_address_type
13642
13784
  if route_selection_expression is not None:
13643
13785
  self._values["route_selection_expression"] = route_selection_expression
13644
13786
 
@@ -13700,6 +13842,17 @@ class WebSocketApiProps:
13700
13842
  result = self._values.get("disconnect_route_options")
13701
13843
  return typing.cast(typing.Optional["WebSocketRouteOptions"], result)
13702
13844
 
13845
+ @builtins.property
13846
+ def ip_address_type(self) -> typing.Optional[IpAddressType]:
13847
+ '''The IP address types that can invoke the API.
13848
+
13849
+ :default: undefined - AWS default is IPV4
13850
+
13851
+ :see: https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-ip-address-type.html
13852
+ '''
13853
+ result = self._values.get("ip_address_type")
13854
+ return typing.cast(typing.Optional[IpAddressType], result)
13855
+
13703
13856
  @builtins.property
13704
13857
  def route_selection_expression(self) -> typing.Optional[builtins.str]:
13705
13858
  '''The route selection expression for the API.
@@ -16255,6 +16408,7 @@ class HttpApi(
16255
16408
  default_integration: typing.Optional[HttpRouteIntegration] = None,
16256
16409
  description: typing.Optional[builtins.str] = None,
16257
16410
  disable_execute_api_endpoint: typing.Optional[builtins.bool] = None,
16411
+ ip_address_type: typing.Optional[IpAddressType] = None,
16258
16412
  route_selection_expression: typing.Optional[builtins.bool] = None,
16259
16413
  ) -> None:
16260
16414
  '''
@@ -16269,6 +16423,7 @@ class HttpApi(
16269
16423
  :param default_integration: An integration that will be configured on the catch-all route ($default). Default: - none
16270
16424
  :param description: The description of the API. Default: - none
16271
16425
  :param disable_execute_api_endpoint: Specifies whether clients can invoke your API using the default endpoint. By default, clients can invoke your API with the default ``https://{api_id}.execute-api.{region}.amazonaws.com`` endpoint. Set this to true if you would like clients to use your custom domain name. Default: false execute-api endpoint enabled.
16426
+ :param ip_address_type: The IP address types that can invoke the API. Default: undefined - AWS default is IPV4
16272
16427
  :param route_selection_expression: Whether to set the default route selection expression for the API. When enabled, "${request.method} ${request.path}" is set as the default route selection expression. Default: false
16273
16428
  '''
16274
16429
  if __debug__:
@@ -16285,6 +16440,7 @@ class HttpApi(
16285
16440
  default_integration=default_integration,
16286
16441
  description=description,
16287
16442
  disable_execute_api_endpoint=disable_execute_api_endpoint,
16443
+ ip_address_type=ip_address_type,
16288
16444
  route_selection_expression=route_selection_expression,
16289
16445
  )
16290
16446
 
@@ -18735,6 +18891,7 @@ __all__ = [
18735
18891
  "IWebSocketRouteAuthorizer",
18736
18892
  "IWebSocketStage",
18737
18893
  "IntegrationCredentials",
18894
+ "IpAddressType",
18738
18895
  "MTLSConfig",
18739
18896
  "MappingValue",
18740
18897
  "ParameterMapping",
@@ -18812,6 +18969,7 @@ def _typecheckingstub__1db7633eb849c7234f54cf8f50ef6e4c6273ca1ab60db537f47e511e2
18812
18969
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18813
18970
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18814
18971
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
18972
+ ip_address_type: typing.Optional[builtins.str] = None,
18815
18973
  name: typing.Optional[builtins.str] = None,
18816
18974
  protocol_type: typing.Optional[builtins.str] = None,
18817
18975
  route_key: typing.Optional[builtins.str] = None,
@@ -18895,6 +19053,12 @@ def _typecheckingstub__2ce8eb7264be44ff3a6ae79c6be6a193c31eb617518209aeb51c346aa
18895
19053
  """Type checking stubs"""
18896
19054
  pass
18897
19055
 
19056
+ def _typecheckingstub__2a1eb652a1c167ca6cb7d9b75ef226df1b04d95736668747822e7afa0766e2fd(
19057
+ value: typing.Optional[builtins.str],
19058
+ ) -> None:
19059
+ """Type checking stubs"""
19060
+ pass
19061
+
18898
19062
  def _typecheckingstub__6de2f3d46e4a0275374cdfba39222daec1a50d7516f00756e898551462523fb6(
18899
19063
  value: typing.Optional[builtins.str],
18900
19064
  ) -> None:
@@ -19139,6 +19303,7 @@ def _typecheckingstub__de72efdeda792916a7e0a8d8953153208abe93b442ac8056802f749d4
19139
19303
  disable_execute_api_endpoint: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19140
19304
  disable_schema_validation: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19141
19305
  fail_on_warnings: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
19306
+ ip_address_type: typing.Optional[builtins.str] = None,
19142
19307
  name: typing.Optional[builtins.str] = None,
19143
19308
  protocol_type: typing.Optional[builtins.str] = None,
19144
19309
  route_key: typing.Optional[builtins.str] = None,
@@ -19375,6 +19540,7 @@ def _typecheckingstub__faaf4905cea99e081f1f881fa68755b4ec1bc0ed8f4e145c30baf36d9
19375
19540
  certificate_arn: typing.Optional[builtins.str] = None,
19376
19541
  certificate_name: typing.Optional[builtins.str] = None,
19377
19542
  endpoint_type: typing.Optional[builtins.str] = None,
19543
+ ip_address_type: typing.Optional[builtins.str] = None,
19378
19544
  ownership_verification_certificate_arn: typing.Optional[builtins.str] = None,
19379
19545
  security_policy: typing.Optional[builtins.str] = None,
19380
19546
  ) -> None:
@@ -20221,6 +20387,7 @@ def _typecheckingstub__cae61f98d904e8d8d184da1dff09df331c70ac82ebd0d24c6d28a445a
20221
20387
  default_integration: typing.Optional[HttpRouteIntegration] = None,
20222
20388
  description: typing.Optional[builtins.str] = None,
20223
20389
  disable_execute_api_endpoint: typing.Optional[builtins.bool] = None,
20390
+ ip_address_type: typing.Optional[IpAddressType] = None,
20224
20391
  route_selection_expression: typing.Optional[builtins.bool] = None,
20225
20392
  ) -> None:
20226
20393
  """Type checking stubs"""
@@ -20592,6 +20759,7 @@ def _typecheckingstub__8f37be20ee015faaaf9283fe203dc28d2dcc56800f6007ae9105e3ad4
20592
20759
  default_route_options: typing.Optional[typing.Union[WebSocketRouteOptions, typing.Dict[builtins.str, typing.Any]]] = None,
20593
20760
  description: typing.Optional[builtins.str] = None,
20594
20761
  disconnect_route_options: typing.Optional[typing.Union[WebSocketRouteOptions, typing.Dict[builtins.str, typing.Any]]] = None,
20762
+ ip_address_type: typing.Optional[IpAddressType] = None,
20595
20763
  route_selection_expression: typing.Optional[builtins.str] = None,
20596
20764
  ) -> None:
20597
20765
  """Type checking stubs"""
@@ -20677,6 +20845,7 @@ def _typecheckingstub__c8895a8e636238eeb0c7336ab16a74480a8a8620f13eb92f05d4074fb
20677
20845
  default_route_options: typing.Optional[typing.Union[WebSocketRouteOptions, typing.Dict[builtins.str, typing.Any]]] = None,
20678
20846
  description: typing.Optional[builtins.str] = None,
20679
20847
  disconnect_route_options: typing.Optional[typing.Union[WebSocketRouteOptions, typing.Dict[builtins.str, typing.Any]]] = None,
20848
+ ip_address_type: typing.Optional[IpAddressType] = None,
20680
20849
  route_selection_expression: typing.Optional[builtins.str] = None,
20681
20850
  ) -> None:
20682
20851
  """Type checking stubs"""
@@ -20994,6 +21163,7 @@ def _typecheckingstub__2805f7eeb5fa5bd355806013fdce32506e639134d31910f71d0b86917
20994
21163
  default_integration: typing.Optional[HttpRouteIntegration] = None,
20995
21164
  description: typing.Optional[builtins.str] = None,
20996
21165
  disable_execute_api_endpoint: typing.Optional[builtins.bool] = None,
21166
+ ip_address_type: typing.Optional[IpAddressType] = None,
20997
21167
  route_selection_expression: typing.Optional[builtins.bool] = None,
20998
21168
  ) -> None:
20999
21169
  """Type checking stubs"""