aws-cdk-lib 2.194.0__py3-none-any.whl → 2.196.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 (108) hide show
  1. aws_cdk/__init__.py +435 -20
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.194.0.jsii.tgz → aws-cdk-lib@2.196.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amazonmq/__init__.py +2 -2
  6. aws_cdk/aws_apigateway/__init__.py +208 -70
  7. aws_cdk/aws_apigatewayv2/__init__.py +155 -24
  8. aws_cdk/aws_appconfig/__init__.py +24 -0
  9. aws_cdk/aws_applicationautoscaling/__init__.py +6 -0
  10. aws_cdk/aws_appmesh/__init__.py +42 -0
  11. aws_cdk/aws_appsync/__init__.py +92 -20
  12. aws_cdk/aws_autoscaling/__init__.py +24 -0
  13. aws_cdk/aws_backup/__init__.py +53 -14
  14. aws_cdk/aws_batch/__init__.py +72 -0
  15. aws_cdk/aws_bedrock/__init__.py +1201 -18
  16. aws_cdk/aws_budgets/__init__.py +569 -0
  17. aws_cdk/aws_certificatemanager/__init__.py +21 -0
  18. aws_cdk/aws_chatbot/__init__.py +6 -0
  19. aws_cdk/aws_cloudfront/__init__.py +277 -120
  20. aws_cdk/aws_cloudfront/experimental/__init__.py +6 -0
  21. aws_cdk/aws_cloudtrail/__init__.py +6 -0
  22. aws_cdk/aws_cloudwatch/__init__.py +18 -0
  23. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  24. aws_cdk/aws_codebuild/__init__.py +48 -0
  25. aws_cdk/aws_codecommit/__init__.py +6 -0
  26. aws_cdk/aws_codedeploy/__init__.py +63 -0
  27. aws_cdk/aws_codeguruprofiler/__init__.py +6 -0
  28. aws_cdk/aws_codepipeline/__init__.py +114 -0
  29. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  30. aws_cdk/aws_codestarnotifications/__init__.py +6 -0
  31. aws_cdk/aws_cognito/__init__.py +215 -10
  32. aws_cdk/aws_cognito_identitypool/__init__.py +6 -0
  33. aws_cdk/aws_config/__init__.py +36 -0
  34. aws_cdk/aws_datazone/__init__.py +1013 -100
  35. aws_cdk/aws_docdb/__init__.py +27 -3
  36. aws_cdk/aws_dsql/__init__.py +29 -12
  37. aws_cdk/aws_dynamodb/__init__.py +25 -11
  38. aws_cdk/aws_ec2/__init__.py +408 -23
  39. aws_cdk/aws_ecr/__init__.py +22 -14
  40. aws_cdk/aws_ecr_assets/__init__.py +6 -0
  41. aws_cdk/aws_ecs/__init__.py +116 -34
  42. aws_cdk/aws_ecs_patterns/__init__.py +58 -0
  43. aws_cdk/aws_efs/__init__.py +12 -0
  44. aws_cdk/aws_eks/__init__.py +42 -0
  45. aws_cdk/aws_elasticloadbalancing/__init__.py +6 -0
  46. aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -9
  47. aws_cdk/aws_elasticsearch/__init__.py +9 -0
  48. aws_cdk/aws_events/__init__.py +36 -0
  49. aws_cdk/aws_events_targets/__init__.py +10 -10
  50. aws_cdk/aws_fsx/__init__.py +8 -3
  51. aws_cdk/aws_globalaccelerator/__init__.py +18 -0
  52. aws_cdk/aws_iam/__init__.py +66 -0
  53. aws_cdk/aws_imagebuilder/__init__.py +181 -26
  54. aws_cdk/aws_inspector/__init__.py +6 -0
  55. aws_cdk/aws_kinesis/__init__.py +19 -1
  56. aws_cdk/aws_kinesisanalytics/__init__.py +7 -7
  57. aws_cdk/aws_kinesisanalyticsv2/__init__.py +7 -7
  58. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  59. aws_cdk/aws_kms/__init__.py +16 -4
  60. aws_cdk/aws_lambda/__init__.py +76 -6
  61. aws_cdk/aws_lambda_nodejs/__init__.py +6 -0
  62. aws_cdk/aws_logs/__init__.py +155 -12
  63. aws_cdk/aws_medialive/__init__.py +4 -6
  64. aws_cdk/aws_mediatailor/__init__.py +115 -0
  65. aws_cdk/aws_oam/__init__.py +43 -10
  66. aws_cdk/aws_opensearchservice/__init__.py +12 -0
  67. aws_cdk/aws_qbusiness/__init__.py +2 -2
  68. aws_cdk/aws_quicksight/__init__.py +22 -22
  69. aws_cdk/aws_rds/__init__.py +347 -36
  70. aws_cdk/aws_redshiftserverless/__init__.py +7 -7
  71. aws_cdk/aws_route53/__init__.py +735 -33
  72. aws_cdk/aws_route53_targets/__init__.py +62 -1
  73. aws_cdk/aws_route53profiles/__init__.py +1 -1
  74. aws_cdk/aws_s3/__init__.py +37 -10
  75. aws_cdk/aws_s3_deployment/__init__.py +6 -0
  76. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  77. aws_cdk/aws_sagemaker/__init__.py +452 -8
  78. aws_cdk/aws_scheduler/__init__.py +12 -0
  79. aws_cdk/aws_secretsmanager/__init__.py +24 -0
  80. aws_cdk/aws_servicecatalog/__init__.py +24 -0
  81. aws_cdk/aws_servicediscovery/__init__.py +48 -0
  82. aws_cdk/aws_ses/__init__.py +133 -33
  83. aws_cdk/aws_signer/__init__.py +6 -0
  84. aws_cdk/aws_sns/__init__.py +18 -0
  85. aws_cdk/aws_sns_subscriptions/__init__.py +6 -0
  86. aws_cdk/aws_sqs/__init__.py +12 -0
  87. aws_cdk/aws_ssm/__init__.py +12 -0
  88. aws_cdk/aws_ssmcontacts/__init__.py +53 -2
  89. aws_cdk/aws_ssmguiconnect/__init__.py +544 -0
  90. aws_cdk/aws_stepfunctions/__init__.py +153 -7
  91. aws_cdk/aws_stepfunctions_tasks/__init__.py +46 -10
  92. aws_cdk/aws_synthetics/__init__.py +32 -0
  93. aws_cdk/aws_verifiedpermissions/__init__.py +168 -3
  94. aws_cdk/aws_vpclattice/__init__.py +3 -1
  95. aws_cdk/aws_wisdom/__init__.py +6 -4
  96. aws_cdk/cloud_assembly_schema/__init__.py +7 -1
  97. aws_cdk/custom_resources/__init__.py +18 -0
  98. aws_cdk/cx_api/__init__.py +33 -0
  99. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  100. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  101. aws_cdk/pipelines/__init__.py +10 -10
  102. aws_cdk/triggers/__init__.py +6 -0
  103. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/METADATA +84 -6
  104. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/RECORD +108 -107
  105. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/LICENSE +0 -0
  106. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/NOTICE +0 -0
  107. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/WHEEL +0 -0
  108. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/top_level.txt +0 -0
aws_cdk/_jsii/__init__.py CHANGED
@@ -34,7 +34,7 @@ import aws_cdk.cloud_assembly_schema._jsii
34
34
  import constructs._jsii
35
35
 
36
36
  __jsii_assembly__ = jsii.JSIIAssembly.load(
37
- "aws-cdk-lib", "2.194.0", __name__[0:-6], "aws-cdk-lib@2.194.0.jsii.tgz"
37
+ "aws-cdk-lib", "2.196.0", __name__[0:-6], "aws-cdk-lib@2.196.0.jsii.tgz"
38
38
  )
39
39
 
40
40
  __all__ = [
@@ -118,7 +118,7 @@ class CertificateAuthority(
118
118
 
119
119
  cluster = msk.Cluster(self, "Cluster",
120
120
  cluster_name="myCluster",
121
- kafka_version=msk.KafkaVersion.V3_8_X,
121
+ kafka_version=msk.KafkaVersion.V3_9_X,
122
122
  vpc=vpc,
123
123
  encryption_in_transit=msk.EncryptionInTransitConfig(
124
124
  client_broker=msk.ClientBrokerEncryption.TLS
@@ -1382,7 +1382,7 @@ class CfnBroker(
1382
1382
  :param username: The username of the broker user. For Amazon MQ for ActiveMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). For Amazon MQ for RabbitMQ brokers, this value can contain only alphanumeric characters, dashes, periods, underscores (- . _). This value must not contain a tilde (~) character. Amazon MQ prohibts using guest as a valid usename. This value must be 2-100 characters long. .. epigraph:: Do not add personally identifiable information (PII) or other confidential or sensitive information in broker usernames. Broker usernames are accessible to other AWS services, including CloudWatch Logs . Broker usernames are not intended to be used for private or sensitive data.
1383
1383
  :param console_access: Enables access to the ActiveMQ web console for the ActiveMQ user. Does not apply to RabbitMQ brokers.
1384
1384
  :param groups: The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long. Does not apply to RabbitMQ brokers.
1385
- :param jolokia_api_access: Turn on Jolokia access for your ActiveMQ broker user (Does not apply to RabbitMQ brokers).
1385
+ :param jolokia_api_access: Enables Jolokia access to the ActiveMQ broker for the ActiveMQ user (Does not apply to RabbitMQ brokers).
1386
1386
  :param replication_user: Defines if this user is intended for CRDR replication purposes.
1387
1387
 
1388
1388
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html
@@ -1479,7 +1479,7 @@ class CfnBroker(
1479
1479
 
1480
1480
  @builtins.property
1481
1481
  def jolokia_api_access(self) -> typing.Optional[builtins.str]:
1482
- '''Turn on Jolokia access for your ActiveMQ broker user (Does not apply to RabbitMQ brokers).
1482
+ '''Enables Jolokia access to the ActiveMQ broker for the ActiveMQ user (Does not apply to RabbitMQ brokers).
1483
1483
 
1484
1484
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-amazonmq-broker-user.html#cfn-amazonmq-broker-user-jolokiaapiaccess
1485
1485
  '''
@@ -1664,6 +1664,20 @@ api = apigateway.RestApi(self, "api",
1664
1664
  )
1665
1665
  ```
1666
1666
 
1667
+ You can also configure [endpoint IP address type](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-ip-address-type.html).
1668
+ The default value is `IpAddressType.DUAL_STACK` for private API, and `IpAddressType.IPV4` for regional and edge-optimized API.
1669
+
1670
+ ```python
1671
+ api = apigateway.RestApi(self, "api",
1672
+ endpoint_configuration=apigateway.EndpointConfiguration(
1673
+ types=[apigateway.EndpointType.REGIONAL],
1674
+ ip_address_type=apigateway.IpAddressType.DUAL_STACK
1675
+ )
1676
+ )
1677
+ ```
1678
+
1679
+ **Note**: If creating a private API, the `IPV4` IP address type is not supported.
1680
+
1667
1681
  You can also create an association between your Rest API and a VPC endpoint. By doing so,
1668
1682
  API Gateway will generate a new
1669
1683
  Route53 Alias DNS record which you can use to invoke your private APIs. More info can be found
@@ -3635,6 +3649,12 @@ class BasePathMapping(
3635
3649
 
3636
3650
  jsii.create(self.__class__, self, [scope, id, props])
3637
3651
 
3652
+ @jsii.python.classproperty
3653
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
3654
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
3655
+ '''Uniquely identifies this class.'''
3656
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
3657
+
3638
3658
 
3639
3659
  @jsii.data_type(
3640
3660
  jsii_type="aws-cdk-lib.aws_apigateway.BasePathMappingOptions",
@@ -7852,6 +7872,14 @@ class CfnDomainName(
7852
7872
  '''
7853
7873
  return typing.cast(builtins.str, jsii.get(self, "attrDistributionHostedZoneId"))
7854
7874
 
7875
+ @builtins.property
7876
+ @jsii.member(jsii_name="attrDomainNameArn")
7877
+ def attr_domain_name_arn(self) -> builtins.str:
7878
+ '''
7879
+ :cloudformationAttribute: DomainNameArn
7880
+ '''
7881
+ return typing.cast(builtins.str, jsii.get(self, "attrDomainNameArn"))
7882
+
7855
7883
  @builtins.property
7856
7884
  @jsii.member(jsii_name="attrRegionalDomainName")
7857
7885
  def attr_regional_domain_name(self) -> builtins.str:
@@ -8871,7 +8899,7 @@ class CfnDomainNameV2(
8871
8899
  ) -> None:
8872
8900
  '''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.
8873
8901
 
8874
- :param ip_address_type:
8902
+ :param ip_address_type: The IP address types that can invoke an API (RestApi) or a DomainName. Use ``ipv4`` to allow only IPv4 addresses to invoke an API or DomainName, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
8875
8903
  :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`` .
8876
8904
 
8877
8905
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html
@@ -8900,7 +8928,10 @@ class CfnDomainNameV2(
8900
8928
 
8901
8929
  @builtins.property
8902
8930
  def ip_address_type(self) -> typing.Optional[builtins.str]:
8903
- '''
8931
+ '''The IP address types that can invoke an API (RestApi) or a DomainName.
8932
+
8933
+ Use ``ipv4`` to allow only IPv4 addresses to invoke an API or DomainName, or use ``dualstack`` to allow both IPv4 and IPv6 addresses to invoke an API or a DomainName. For the ``PRIVATE`` endpoint type, only ``dualstack`` is supported.
8934
+
8904
8935
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-domainnamev2-endpointconfiguration.html#cfn-apigateway-domainnamev2-endpointconfiguration-ipaddresstype
8905
8936
  '''
8906
8937
  result = self._values.get("ip_address_type")
@@ -15222,6 +15253,12 @@ class Deployment(
15222
15253
  check_type(argname="argument data", value=data, expected_type=type_hints["data"])
15223
15254
  return typing.cast(None, jsii.invoke(self, "addToLogicalId", [data]))
15224
15255
 
15256
+ @jsii.python.classproperty
15257
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
15258
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
15259
+ '''Uniquely identifies this class.'''
15260
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
15261
+
15225
15262
  @builtins.property
15226
15263
  @jsii.member(jsii_name="api")
15227
15264
  def api(self) -> "IRestApi":
@@ -15755,13 +15792,18 @@ class DomainNameProps(DomainNameOptions):
15755
15792
  @jsii.data_type(
15756
15793
  jsii_type="aws-cdk-lib.aws_apigateway.EndpointConfiguration",
15757
15794
  jsii_struct_bases=[],
15758
- name_mapping={"types": "types", "vpc_endpoints": "vpcEndpoints"},
15795
+ name_mapping={
15796
+ "types": "types",
15797
+ "ip_address_type": "ipAddressType",
15798
+ "vpc_endpoints": "vpcEndpoints",
15799
+ },
15759
15800
  )
15760
15801
  class EndpointConfiguration:
15761
15802
  def __init__(
15762
15803
  self,
15763
15804
  *,
15764
15805
  types: typing.Sequence["EndpointType"],
15806
+ ip_address_type: typing.Optional["IpAddressType"] = None,
15765
15807
  vpc_endpoints: typing.Optional[typing.Sequence[_IVpcEndpoint_d8ea9bc3]] = None,
15766
15808
  ) -> None:
15767
15809
  '''The endpoint configuration of a REST API, including VPCs and endpoint types.
@@ -15769,6 +15811,7 @@ class EndpointConfiguration:
15769
15811
  EndpointConfiguration is a property of the AWS::ApiGateway::RestApi resource.
15770
15812
 
15771
15813
  :param types: A list of endpoint types of an API or its custom domain name. Default: EndpointType.EDGE
15814
+ :param ip_address_type: The IP address types that can invoke the API. Default: undefined - AWS default is DUAL_STACK for private API, IPV4 for all other APIs.
15772
15815
  :param vpc_endpoints: A list of VPC Endpoints against which to create Route53 ALIASes. Default: - no ALIASes are created for the endpoint.
15773
15816
 
15774
15817
  :exampleMetadata: infused
@@ -15788,10 +15831,13 @@ class EndpointConfiguration:
15788
15831
  if __debug__:
15789
15832
  type_hints = typing.get_type_hints(_typecheckingstub__2f3c0216cf00594a10062c97bb84b39e25b55231c15de867663dd59bbbede54a)
15790
15833
  check_type(argname="argument types", value=types, expected_type=type_hints["types"])
15834
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
15791
15835
  check_type(argname="argument vpc_endpoints", value=vpc_endpoints, expected_type=type_hints["vpc_endpoints"])
15792
15836
  self._values: typing.Dict[builtins.str, typing.Any] = {
15793
15837
  "types": types,
15794
15838
  }
15839
+ if ip_address_type is not None:
15840
+ self._values["ip_address_type"] = ip_address_type
15795
15841
  if vpc_endpoints is not None:
15796
15842
  self._values["vpc_endpoints"] = vpc_endpoints
15797
15843
 
@@ -15805,6 +15851,17 @@ class EndpointConfiguration:
15805
15851
  assert result is not None, "Required property 'types' is missing"
15806
15852
  return typing.cast(typing.List["EndpointType"], result)
15807
15853
 
15854
+ @builtins.property
15855
+ def ip_address_type(self) -> typing.Optional["IpAddressType"]:
15856
+ '''The IP address types that can invoke the API.
15857
+
15858
+ :default: undefined - AWS default is DUAL_STACK for private API, IPV4 for all other APIs.
15859
+
15860
+ :see: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-ip-address-type.html
15861
+ '''
15862
+ result = self._values.get("ip_address_type")
15863
+ return typing.cast(typing.Optional["IpAddressType"], result)
15864
+
15808
15865
  @builtins.property
15809
15866
  def vpc_endpoints(self) -> typing.Optional[typing.List[_IVpcEndpoint_d8ea9bc3]]:
15810
15867
  '''A list of VPC Endpoints against which to create Route53 ALIASes.
@@ -18289,6 +18346,28 @@ class IntegrationType(enum.Enum):
18289
18346
  '''For integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.'''
18290
18347
 
18291
18348
 
18349
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_apigateway.IpAddressType")
18350
+ class IpAddressType(enum.Enum):
18351
+ '''Supported IP Address Types.
18352
+
18353
+ :exampleMetadata: infused
18354
+
18355
+ Example::
18356
+
18357
+ api = apigateway.RestApi(self, "api",
18358
+ endpoint_configuration=apigateway.EndpointConfiguration(
18359
+ types=[apigateway.EndpointType.REGIONAL],
18360
+ ip_address_type=apigateway.IpAddressType.DUAL_STACK
18361
+ )
18362
+ )
18363
+ '''
18364
+
18365
+ IPV4 = "IPV4"
18366
+ '''IPv4 address type.'''
18367
+ DUAL_STACK = "DUAL_STACK"
18368
+ '''IPv4 and IPv6 address type.'''
18369
+
18370
+
18292
18371
  @jsii.data_type(
18293
18372
  jsii_type="aws-cdk-lib.aws_apigateway.JsonSchema",
18294
18373
  jsii_struct_bases=[],
@@ -20100,6 +20179,12 @@ class Method(
20100
20179
 
20101
20180
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricServerError", [stage, props]))
20102
20181
 
20182
+ @jsii.python.classproperty
20183
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20184
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20185
+ '''Uniquely identifies this class.'''
20186
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20187
+
20103
20188
  @builtins.property
20104
20189
  @jsii.member(jsii_name="api")
20105
20190
  def api(self) -> IRestApi:
@@ -21151,6 +21236,12 @@ class Model(
21151
21236
  '''
21152
21237
  return typing.cast(IModel, jsii.sget(cls, "ERROR_MODEL"))
21153
21238
 
21239
+ @jsii.python.classproperty
21240
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21241
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21242
+ '''Uniquely identifies this class.'''
21243
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21244
+
21154
21245
  @builtins.property
21155
21246
  @jsii.member(jsii_name="modelId")
21156
21247
  def model_id(self) -> builtins.str:
@@ -21807,6 +21898,12 @@ class RateLimitedApiKey(
21807
21898
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
21808
21899
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantWrite", [grantee]))
21809
21900
 
21901
+ @jsii.python.classproperty
21902
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21903
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21904
+ '''Uniquely identifies this class.'''
21905
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21906
+
21810
21907
  @builtins.property
21811
21908
  @jsii.member(jsii_name="keyArn")
21812
21909
  def key_arn(self) -> builtins.str:
@@ -22406,6 +22503,12 @@ class RequestValidator(
22406
22503
  check_type(argname="argument request_validator_id", value=request_validator_id, expected_type=type_hints["request_validator_id"])
22407
22504
  return typing.cast(IRequestValidator, jsii.sinvoke(cls, "fromRequestValidatorId", [scope, id, request_validator_id]))
22408
22505
 
22506
+ @jsii.python.classproperty
22507
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
22508
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
22509
+ '''Uniquely identifies this class.'''
22510
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
22511
+
22409
22512
  @builtins.property
22410
22513
  @jsii.member(jsii_name="requestValidatorId")
22411
22514
  def request_validator_id(self) -> builtins.str:
@@ -24585,6 +24688,7 @@ class RestApiBaseProps:
24585
24688
  types=[apigateway.EndpointType.EDGE],
24586
24689
 
24587
24690
  # the properties below are optional
24691
+ ip_address_type=apigateway.IpAddressType.IPV4,
24588
24692
  vpc_endpoints=[vpc_endpoint]
24589
24693
  ),
24590
24694
  endpoint_export_name="endpointExportName",
@@ -25798,6 +25902,12 @@ class SpecRestApi(
25798
25902
  check_type(argname="argument statement", value=statement, expected_type=type_hints["statement"])
25799
25903
  return typing.cast(_AddToResourcePolicyResult_1d0a53ad, jsii.invoke(self, "addToResourcePolicy", [statement]))
25800
25904
 
25905
+ @jsii.python.classproperty
25906
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
25907
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
25908
+ '''Uniquely identifies this class.'''
25909
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
25910
+
25801
25911
  @builtins.property
25802
25912
  @jsii.member(jsii_name="restApiId")
25803
25913
  def rest_api_id(self) -> builtins.str:
@@ -29136,6 +29246,12 @@ class UsagePlan(
29136
29246
 
29137
29247
  return typing.cast(None, jsii.invoke(self, "addApiStage", [api_stage]))
29138
29248
 
29249
+ @jsii.python.classproperty
29250
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
29251
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
29252
+ '''Uniquely identifies this class.'''
29253
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
29254
+
29139
29255
  @builtins.property
29140
29256
  @jsii.member(jsii_name="usagePlanId")
29141
29257
  def usage_plan_id(self) -> builtins.str:
@@ -29458,6 +29574,12 @@ class VpcLink(
29458
29574
  check_type(argname="argument targets", value=targets, expected_type=typing.Tuple[type_hints["targets"], ...]) # pyright: ignore [reportGeneralTypeIssues]
29459
29575
  return typing.cast(None, jsii.invoke(self, "addTargets", [*targets]))
29460
29576
 
29577
+ @jsii.python.classproperty
29578
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
29579
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
29580
+ '''Uniquely identifies this class.'''
29581
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
29582
+
29461
29583
  @builtins.property
29462
29584
  @jsii.member(jsii_name="vpcLinkId")
29463
29585
  def vpc_link_id(self) -> builtins.str:
@@ -29580,11 +29702,14 @@ class ApiKey(
29580
29702
  An ApiKey can be distributed to API clients that are executing requests
29581
29703
  for Method resources that require an Api Key.
29582
29704
 
29583
- :exampleMetadata: infused
29705
+ :exampleMetadata: fixture=README-blueprints infused
29584
29706
 
29585
29707
  Example::
29586
29708
 
29587
- imported_key = apigateway.ApiKey.from_api_key_id(self, "imported-key", "<api-key-id>")
29709
+ stack = Stack(app, "my-stack")
29710
+ api.ApiKey(stack, "my-api-key",
29711
+ enabled=False
29712
+ )
29588
29713
  '''
29589
29714
 
29590
29715
  def __init__(
@@ -29693,6 +29818,12 @@ class ApiKey(
29693
29818
  check_type(argname="argument grantee", value=grantee, expected_type=type_hints["grantee"])
29694
29819
  return typing.cast(_Grant_a7ae64f8, jsii.invoke(self, "grantWrite", [grantee]))
29695
29820
 
29821
+ @jsii.python.classproperty
29822
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
29823
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
29824
+ '''Uniquely identifies this class.'''
29825
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
29826
+
29696
29827
  @builtins.property
29697
29828
  @jsii.member(jsii_name="keyArn")
29698
29829
  def key_arn(self) -> builtins.str:
@@ -29900,75 +30031,14 @@ class ApiKeyProps(ApiKeyOptions):
29900
30031
  :param resources: (deprecated) A list of resources this api key is associated with. Default: none
29901
30032
  :param stages: A list of Stages this api key is associated with. Default: - the api key is not associated with any stages
29902
30033
 
29903
- :exampleMetadata: fixture=_generated
30034
+ :exampleMetadata: fixture=README-blueprints infused
29904
30035
 
29905
30036
  Example::
29906
30037
 
29907
- # The code below shows an example of how to instantiate this type.
29908
- # The values are placeholders you should change.
29909
- import aws_cdk as cdk
29910
- from aws_cdk import aws_apigateway as apigateway
29911
-
29912
- # authorizer: apigateway.Authorizer
29913
- # integration: apigateway.Integration
29914
- # model: apigateway.Model
29915
- # request_validator: apigateway.RequestValidator
29916
- # rest_api: apigateway.RestApi
29917
- # stage: apigateway.Stage
29918
-
29919
- api_key_props = apigateway.ApiKeyProps(
29920
- api_key_name="apiKeyName",
29921
- customer_id="customerId",
29922
- default_cors_preflight_options=apigateway.CorsOptions(
29923
- allow_origins=["allowOrigins"],
29924
-
29925
- # the properties below are optional
29926
- allow_credentials=False,
29927
- allow_headers=["allowHeaders"],
29928
- allow_methods=["allowMethods"],
29929
- disable_cache=False,
29930
- expose_headers=["exposeHeaders"],
29931
- max_age=cdk.Duration.minutes(30),
29932
- status_code=123
29933
- ),
29934
- default_integration=integration,
29935
- default_method_options=apigateway.MethodOptions(
29936
- api_key_required=False,
29937
- authorization_scopes=["authorizationScopes"],
29938
- authorization_type=apigateway.AuthorizationType.NONE,
29939
- authorizer=authorizer,
29940
- method_responses=[apigateway.MethodResponse(
29941
- status_code="statusCode",
29942
-
29943
- # the properties below are optional
29944
- response_models={
29945
- "response_models_key": model
29946
- },
29947
- response_parameters={
29948
- "response_parameters_key": False
29949
- }
29950
- )],
29951
- operation_name="operationName",
29952
- request_models={
29953
- "request_models_key": model
29954
- },
29955
- request_parameters={
29956
- "request_parameters_key": False
29957
- },
29958
- request_validator=request_validator,
29959
- request_validator_options=apigateway.RequestValidatorOptions(
29960
- request_validator_name="requestValidatorName",
29961
- validate_request_body=False,
29962
- validate_request_parameters=False
29963
- )
29964
- ),
29965
- description="description",
29966
- enabled=False,
29967
- generate_distinct_id=False,
29968
- resources=[rest_api],
29969
- stages=[stage],
29970
- value="value"
30038
+ stack = Stack(app, "my-stack",
30039
+ property_injectors=[ApiKeyPropsInjector()]
29971
30040
  )
30041
+ api.ApiKey(stack, "my-api-key")
29972
30042
  '''
29973
30043
  if isinstance(default_cors_preflight_options, dict):
29974
30044
  default_cors_preflight_options = CorsOptions(**default_cors_preflight_options)
@@ -30352,6 +30422,12 @@ class CognitoUserPoolsAuthorizer(
30352
30422
 
30353
30423
  jsii.create(self.__class__, self, [scope, id, props])
30354
30424
 
30425
+ @jsii.python.classproperty
30426
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
30427
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
30428
+ '''Uniquely identifies this class.'''
30429
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
30430
+
30355
30431
  @builtins.property
30356
30432
  @jsii.member(jsii_name="authorizerArn")
30357
30433
  def authorizer_arn(self) -> builtins.str:
@@ -30528,6 +30604,12 @@ class DomainName(
30528
30604
 
30529
30605
  return typing.cast(BasePathMapping, jsii.invoke(self, "addBasePathMapping", [target_api, options]))
30530
30606
 
30607
+ @jsii.python.classproperty
30608
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
30609
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
30610
+ '''Uniquely identifies this class.'''
30611
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
30612
+
30531
30613
  @builtins.property
30532
30614
  @jsii.member(jsii_name="domainName")
30533
30615
  def domain_name(self) -> builtins.str:
@@ -30669,6 +30751,12 @@ class GatewayResponse(
30669
30751
 
30670
30752
  jsii.create(self.__class__, self, [scope, id, props])
30671
30753
 
30754
+ @jsii.python.classproperty
30755
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
30756
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
30757
+ '''Uniquely identifies this class.'''
30758
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
30759
+
30672
30760
 
30673
30761
  class HttpIntegration(
30674
30762
  Integration,
@@ -31982,6 +32070,12 @@ class RequestAuthorizer(
31982
32070
  '''Sets up the permissions necessary for the API Gateway service to invoke the Lambda function.'''
31983
32071
  return typing.cast(None, jsii.invoke(self, "setupPermissions", []))
31984
32072
 
32073
+ @jsii.python.classproperty
32074
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
32075
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
32076
+ '''Uniquely identifies this class.'''
32077
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
32078
+
31985
32079
  @builtins.property
31986
32080
  @jsii.member(jsii_name="authorizerArn")
31987
32081
  def authorizer_arn(self) -> builtins.str:
@@ -32111,6 +32205,12 @@ class Resource(
32111
32205
 
32112
32206
  return typing.cast(IResource, jsii.sinvoke(cls, "fromResourceAttributes", [scope, id, attrs]))
32113
32207
 
32208
+ @jsii.python.classproperty
32209
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
32210
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
32211
+ '''Uniquely identifies this class.'''
32212
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
32213
+
32114
32214
  @builtins.property
32115
32215
  @jsii.member(jsii_name="api")
32116
32216
  def api(self) -> IRestApi:
@@ -32414,6 +32514,12 @@ class RestApi(
32414
32514
  check_type(argname="argument statement", value=statement, expected_type=type_hints["statement"])
32415
32515
  return typing.cast(_AddToResourcePolicyResult_1d0a53ad, jsii.invoke(self, "addToResourcePolicy", [statement]))
32416
32516
 
32517
+ @jsii.python.classproperty
32518
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
32519
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
32520
+ '''Uniquely identifies this class.'''
32521
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
32522
+
32417
32523
  @builtins.property
32418
32524
  @jsii.member(jsii_name="methods")
32419
32525
  def methods(self) -> typing.List[Method]:
@@ -32664,6 +32770,12 @@ class Stage(
32664
32770
 
32665
32771
  return typing.cast(IStage, jsii.sinvoke(cls, "fromStageAttributes", [scope, id, attrs]))
32666
32772
 
32773
+ @jsii.python.classproperty
32774
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
32775
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
32776
+ '''Uniquely identifies this class.'''
32777
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
32778
+
32667
32779
  @builtins.property
32668
32780
  @jsii.member(jsii_name="restApi")
32669
32781
  def rest_api(self) -> IRestApi:
@@ -32809,6 +32921,12 @@ class StepFunctionsRestApi(
32809
32921
 
32810
32922
  jsii.create(self.__class__, self, [scope, id, props])
32811
32923
 
32924
+ @jsii.python.classproperty
32925
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
32926
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
32927
+ '''Uniquely identifies this class.'''
32928
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
32929
+
32812
32930
 
32813
32931
  @jsii.implements(IAuthorizer)
32814
32932
  class TokenAuthorizer(
@@ -32888,6 +33006,12 @@ class TokenAuthorizer(
32888
33006
  '''Sets up the permissions necessary for the API Gateway service to invoke the Lambda function.'''
32889
33007
  return typing.cast(None, jsii.invoke(self, "setupPermissions", []))
32890
33008
 
33009
+ @jsii.python.classproperty
33010
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
33011
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
33012
+ '''Uniquely identifies this class.'''
33013
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
33014
+
32891
33015
  @builtins.property
32892
33016
  @jsii.member(jsii_name="authorizerArn")
32893
33017
  def authorizer_arn(self) -> builtins.str:
@@ -33060,6 +33184,12 @@ class LambdaRestApi(
33060
33184
 
33061
33185
  jsii.create(self.__class__, self, [scope, id, props])
33062
33186
 
33187
+ @jsii.python.classproperty
33188
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
33189
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
33190
+ '''Uniquely identifies this class.'''
33191
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
33192
+
33063
33193
 
33064
33194
  class ProxyResource(
33065
33195
  Resource,
@@ -33169,6 +33299,12 @@ class ProxyResource(
33169
33299
 
33170
33300
  return typing.cast(Method, jsii.invoke(self, "addMethod", [http_method, integration, options]))
33171
33301
 
33302
+ @jsii.python.classproperty
33303
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
33304
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
33305
+ '''Uniquely identifies this class.'''
33306
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
33307
+
33172
33308
  @builtins.property
33173
33309
  @jsii.member(jsii_name="anyMethod")
33174
33310
  def any_method(self) -> typing.Optional[Method]:
@@ -33281,6 +33417,7 @@ __all__ = [
33281
33417
  "IntegrationProps",
33282
33418
  "IntegrationResponse",
33283
33419
  "IntegrationType",
33420
+ "IpAddressType",
33284
33421
  "JsonSchema",
33285
33422
  "JsonSchemaType",
33286
33423
  "JsonSchemaVersion",
@@ -35496,6 +35633,7 @@ def _typecheckingstub__fd56e3d47a950d5babcb79f21442620ade11693af8810f3b0b64fa029
35496
35633
  def _typecheckingstub__2f3c0216cf00594a10062c97bb84b39e25b55231c15de867663dd59bbbede54a(
35497
35634
  *,
35498
35635
  types: typing.Sequence[EndpointType],
35636
+ ip_address_type: typing.Optional[IpAddressType] = None,
35499
35637
  vpc_endpoints: typing.Optional[typing.Sequence[_IVpcEndpoint_d8ea9bc3]] = None,
35500
35638
  ) -> None:
35501
35639
  """Type checking stubs"""