aws-cdk-lib 2.178.1__py3-none-any.whl → 2.179.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 (34) hide show
  1. aws_cdk/__init__.py +69 -35
  2. aws_cdk/_jsii/__init__.py +1 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.178.1.jsii.tgz → aws-cdk-lib@2.179.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +170 -29
  5. aws_cdk/aws_apigatewayv2/__init__.py +151 -32
  6. aws_cdk/aws_apigatewayv2_integrations/__init__.py +348 -0
  7. aws_cdk/aws_applicationautoscaling/__init__.py +8 -8
  8. aws_cdk/aws_appsync/__init__.py +6 -4
  9. aws_cdk/aws_cloudfront/__init__.py +5 -5
  10. aws_cdk/aws_codebuild/__init__.py +216 -0
  11. aws_cdk/aws_codepipeline/__init__.py +89 -28
  12. aws_cdk/aws_codepipeline_actions/__init__.py +526 -62
  13. aws_cdk/aws_cognito/__init__.py +676 -20
  14. aws_cdk/aws_ec2/__init__.py +25 -9
  15. aws_cdk/aws_ecs/__init__.py +8 -8
  16. aws_cdk/aws_eks/__init__.py +555 -179
  17. aws_cdk/aws_elasticloadbalancingv2/__init__.py +99 -0
  18. aws_cdk/aws_events/__init__.py +9 -15
  19. aws_cdk/aws_events_targets/__init__.py +303 -16
  20. aws_cdk/aws_iam/__init__.py +3 -3
  21. aws_cdk/aws_ivs/__init__.py +241 -73
  22. aws_cdk/aws_logs/__init__.py +62 -13
  23. aws_cdk/aws_pinpoint/__init__.py +14 -9
  24. aws_cdk/aws_rds/__init__.py +168 -24
  25. aws_cdk/aws_s3/__init__.py +9 -9
  26. aws_cdk/aws_stepfunctions_tasks/__init__.py +127 -21
  27. aws_cdk/pipelines/__init__.py +2 -2
  28. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/METADATA +1 -2
  29. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/RECORD +33 -34
  30. aws_cdk/lambda_layer_kubectl/__init__.py +0 -107
  31. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/LICENSE +0 -0
  32. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/NOTICE +0 -0
  33. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/WHEEL +0 -0
  34. {aws_cdk_lib-2.178.1.dist-info → aws_cdk_lib-2.179.0.dist-info}/top_level.txt +0 -0
@@ -325,6 +325,22 @@ lb = elbv2.ApplicationLoadBalancer(self, "LB",
325
325
  )
326
326
  ```
327
327
 
328
+ ### Defining a reserved Application Load Balancer Capacity Unit (LCU)
329
+
330
+ You can define a [reserved LCU for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/capacity-unit-reservation.html).
331
+ To reserve an LCU, you must specify a `minimumCapacityUnit`.
332
+
333
+ ```python
334
+ # vpc: ec2.Vpc
335
+
336
+
337
+ lb = elbv2.ApplicationLoadBalancer(self, "LB",
338
+ vpc=vpc,
339
+ # Valid value is between 100 and 1500.
340
+ minimum_capacity_unit=100
341
+ )
342
+ ```
343
+
328
344
  ## Defining a Network Load Balancer
329
345
 
330
346
  Network Load Balancers are defined in a similar way to Application Load
@@ -481,6 +497,26 @@ lb.add_security_group(sg2)
481
497
  lb.connections.allow_from_any_ipv4(ec2.Port.tcp(80))
482
498
  ```
483
499
 
500
+ ### Defining a reserved Network Load Balancer Capacity Unit (LCU)
501
+
502
+ You can define a [reserved LCU for your Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/capacity-unit-reservation.html).
503
+
504
+ When requesting a LCU reservation, convert your capacity needs from Mbps to LCUs using the conversion rate of 1 LCU to 2.2 Mbps.
505
+
506
+ To reserve an LCU, you must specify a `minimumCapacityUnit`.
507
+
508
+ ```python
509
+ # vpc: ec2.Vpc
510
+
511
+
512
+ lb = elbv2.NetworkLoadBalancer(self, "LB",
513
+ vpc=vpc,
514
+ minimum_capacity_unit=5500
515
+ )
516
+ ```
517
+
518
+ **Note**: The `minimumCapacityUnit` value is evenly distributed across all active Availability Zones (AZs) for the network load balancer. The distributed value per AZ must be between 2,750 and 45,000 units.
519
+
484
520
  ## Targets and Target Groups
485
521
 
486
522
  Application and Network Load Balancers organize load balancing targets in Target
@@ -3033,6 +3069,7 @@ class BaseLoadBalancerLookupOptions:
3033
3069
  "deny_all_igw_traffic": "denyAllIgwTraffic",
3034
3070
  "internet_facing": "internetFacing",
3035
3071
  "load_balancer_name": "loadBalancerName",
3072
+ "minimum_capacity_unit": "minimumCapacityUnit",
3036
3073
  "vpc_subnets": "vpcSubnets",
3037
3074
  },
3038
3075
  )
@@ -3046,6 +3083,7 @@ class BaseLoadBalancerProps:
3046
3083
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
3047
3084
  internet_facing: typing.Optional[builtins.bool] = None,
3048
3085
  load_balancer_name: typing.Optional[builtins.str] = None,
3086
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
3049
3087
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
3050
3088
  ) -> None:
3051
3089
  '''Shared properties of both Application and Network Load Balancers.
@@ -3056,6 +3094,7 @@ class BaseLoadBalancerProps:
3056
3094
  :param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
3057
3095
  :param internet_facing: Whether the load balancer has an internet-routable address. Default: false
3058
3096
  :param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
3097
+ :param minimum_capacity_unit: The minimum capacity (LCU) for a load balancer. Default: undefined - ELB default is 0 LCU
3059
3098
  :param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
3060
3099
 
3061
3100
  :exampleMetadata: fixture=_generated
@@ -3080,6 +3119,7 @@ class BaseLoadBalancerProps:
3080
3119
  deny_all_igw_traffic=False,
3081
3120
  internet_facing=False,
3082
3121
  load_balancer_name="loadBalancerName",
3122
+ minimum_capacity_unit=123,
3083
3123
  vpc_subnets=ec2.SubnetSelection(
3084
3124
  availability_zones=["availabilityZones"],
3085
3125
  one_per_az=False,
@@ -3100,6 +3140,7 @@ class BaseLoadBalancerProps:
3100
3140
  check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
3101
3141
  check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
3102
3142
  check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
3143
+ check_type(argname="argument minimum_capacity_unit", value=minimum_capacity_unit, expected_type=type_hints["minimum_capacity_unit"])
3103
3144
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
3104
3145
  self._values: typing.Dict[builtins.str, typing.Any] = {
3105
3146
  "vpc": vpc,
@@ -3114,6 +3155,8 @@ class BaseLoadBalancerProps:
3114
3155
  self._values["internet_facing"] = internet_facing
3115
3156
  if load_balancer_name is not None:
3116
3157
  self._values["load_balancer_name"] = load_balancer_name
3158
+ if minimum_capacity_unit is not None:
3159
+ self._values["minimum_capacity_unit"] = minimum_capacity_unit
3117
3160
  if vpc_subnets is not None:
3118
3161
  self._values["vpc_subnets"] = vpc_subnets
3119
3162
 
@@ -3174,6 +3217,17 @@ class BaseLoadBalancerProps:
3174
3217
  result = self._values.get("load_balancer_name")
3175
3218
  return typing.cast(typing.Optional[builtins.str], result)
3176
3219
 
3220
+ @builtins.property
3221
+ def minimum_capacity_unit(self) -> typing.Optional[jsii.Number]:
3222
+ '''The minimum capacity (LCU) for a load balancer.
3223
+
3224
+ :default: undefined - ELB default is 0 LCU
3225
+
3226
+ :see: https://exampleloadbalancer.com/ondemand_capacity_reservation_calculator.html
3227
+ '''
3228
+ result = self._values.get("minimum_capacity_unit")
3229
+ return typing.cast(typing.Optional[jsii.Number], result)
3230
+
3177
3231
  @builtins.property
3178
3232
  def vpc_subnets(self) -> typing.Optional[_SubnetSelection_e57d76df]:
3179
3233
  '''Which subnets place the load balancer in.
@@ -17294,6 +17348,7 @@ class NetworkLoadBalancer(
17294
17348
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
17295
17349
  internet_facing: typing.Optional[builtins.bool] = None,
17296
17350
  load_balancer_name: typing.Optional[builtins.str] = None,
17351
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
17297
17352
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
17298
17353
  ) -> None:
17299
17354
  '''
@@ -17311,6 +17366,7 @@ class NetworkLoadBalancer(
17311
17366
  :param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
17312
17367
  :param internet_facing: Whether the load balancer has an internet-routable address. Default: false
17313
17368
  :param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
17369
+ :param minimum_capacity_unit: The minimum capacity (LCU) for a load balancer. Default: undefined - ELB default is 0 LCU
17314
17370
  :param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
17315
17371
  '''
17316
17372
  if __debug__:
@@ -17330,6 +17386,7 @@ class NetworkLoadBalancer(
17330
17386
  deny_all_igw_traffic=deny_all_igw_traffic,
17331
17387
  internet_facing=internet_facing,
17332
17388
  load_balancer_name=load_balancer_name,
17389
+ minimum_capacity_unit=minimum_capacity_unit,
17333
17390
  vpc_subnets=vpc_subnets,
17334
17391
  )
17335
17392
 
@@ -18118,6 +18175,7 @@ class NetworkLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
18118
18175
  "deny_all_igw_traffic": "denyAllIgwTraffic",
18119
18176
  "internet_facing": "internetFacing",
18120
18177
  "load_balancer_name": "loadBalancerName",
18178
+ "minimum_capacity_unit": "minimumCapacityUnit",
18121
18179
  "vpc_subnets": "vpcSubnets",
18122
18180
  "client_routing_policy": "clientRoutingPolicy",
18123
18181
  "enable_prefix_for_ipv6_source_nat": "enablePrefixForIpv6SourceNat",
@@ -18137,6 +18195,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
18137
18195
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
18138
18196
  internet_facing: typing.Optional[builtins.bool] = None,
18139
18197
  load_balancer_name: typing.Optional[builtins.str] = None,
18198
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
18140
18199
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
18141
18200
  client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
18142
18201
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
@@ -18153,6 +18212,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
18153
18212
  :param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
18154
18213
  :param internet_facing: Whether the load balancer has an internet-routable address. Default: false
18155
18214
  :param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
18215
+ :param minimum_capacity_unit: The minimum capacity (LCU) for a load balancer. Default: undefined - ELB default is 0 LCU
18156
18216
  :param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
18157
18217
  :param client_routing_policy: The AZ affinity routing policy. Default: - AZ affinity is disabled.
18158
18218
  :param enable_prefix_for_ipv6_source_nat: Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be IpAddressType.DUALSTACK. Default: undefined - NLB default behavior is false
@@ -18189,6 +18249,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
18189
18249
  check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
18190
18250
  check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
18191
18251
  check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
18252
+ check_type(argname="argument minimum_capacity_unit", value=minimum_capacity_unit, expected_type=type_hints["minimum_capacity_unit"])
18192
18253
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
18193
18254
  check_type(argname="argument client_routing_policy", value=client_routing_policy, expected_type=type_hints["client_routing_policy"])
18194
18255
  check_type(argname="argument enable_prefix_for_ipv6_source_nat", value=enable_prefix_for_ipv6_source_nat, expected_type=type_hints["enable_prefix_for_ipv6_source_nat"])
@@ -18209,6 +18270,8 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
18209
18270
  self._values["internet_facing"] = internet_facing
18210
18271
  if load_balancer_name is not None:
18211
18272
  self._values["load_balancer_name"] = load_balancer_name
18273
+ if minimum_capacity_unit is not None:
18274
+ self._values["minimum_capacity_unit"] = minimum_capacity_unit
18212
18275
  if vpc_subnets is not None:
18213
18276
  self._values["vpc_subnets"] = vpc_subnets
18214
18277
  if client_routing_policy is not None:
@@ -18281,6 +18344,17 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
18281
18344
  result = self._values.get("load_balancer_name")
18282
18345
  return typing.cast(typing.Optional[builtins.str], result)
18283
18346
 
18347
+ @builtins.property
18348
+ def minimum_capacity_unit(self) -> typing.Optional[jsii.Number]:
18349
+ '''The minimum capacity (LCU) for a load balancer.
18350
+
18351
+ :default: undefined - ELB default is 0 LCU
18352
+
18353
+ :see: https://exampleloadbalancer.com/ondemand_capacity_reservation_calculator.html
18354
+ '''
18355
+ result = self._values.get("minimum_capacity_unit")
18356
+ return typing.cast(typing.Optional[jsii.Number], result)
18357
+
18284
18358
  @builtins.property
18285
18359
  def vpc_subnets(self) -> typing.Optional[_SubnetSelection_e57d76df]:
18286
18360
  '''Which subnets place the load balancer in.
@@ -21280,6 +21354,7 @@ class ApplicationLoadBalancerLookupOptions(BaseLoadBalancerLookupOptions):
21280
21354
  "deny_all_igw_traffic": "denyAllIgwTraffic",
21281
21355
  "internet_facing": "internetFacing",
21282
21356
  "load_balancer_name": "loadBalancerName",
21357
+ "minimum_capacity_unit": "minimumCapacityUnit",
21283
21358
  "vpc_subnets": "vpcSubnets",
21284
21359
  "client_keep_alive": "clientKeepAlive",
21285
21360
  "desync_mitigation_mode": "desyncMitigationMode",
@@ -21305,6 +21380,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
21305
21380
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
21306
21381
  internet_facing: typing.Optional[builtins.bool] = None,
21307
21382
  load_balancer_name: typing.Optional[builtins.str] = None,
21383
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
21308
21384
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
21309
21385
  client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
21310
21386
  desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
@@ -21327,6 +21403,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
21327
21403
  :param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
21328
21404
  :param internet_facing: Whether the load balancer has an internet-routable address. Default: false
21329
21405
  :param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
21406
+ :param minimum_capacity_unit: The minimum capacity (LCU) for a load balancer. Default: undefined - ELB default is 0 LCU
21330
21407
  :param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
21331
21408
  :param client_keep_alive: The client keep alive duration. The valid range is 60 to 604800 seconds (1 minute to 7 days). Default: - Duration.seconds(3600)
21332
21409
  :param desync_mitigation_mode: Determines how the load balancer handles requests that might pose a security risk to your application. Default: DesyncMitigationMode.DEFENSIVE
@@ -21386,6 +21463,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
21386
21463
  check_type(argname="argument deny_all_igw_traffic", value=deny_all_igw_traffic, expected_type=type_hints["deny_all_igw_traffic"])
21387
21464
  check_type(argname="argument internet_facing", value=internet_facing, expected_type=type_hints["internet_facing"])
21388
21465
  check_type(argname="argument load_balancer_name", value=load_balancer_name, expected_type=type_hints["load_balancer_name"])
21466
+ check_type(argname="argument minimum_capacity_unit", value=minimum_capacity_unit, expected_type=type_hints["minimum_capacity_unit"])
21389
21467
  check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
21390
21468
  check_type(argname="argument client_keep_alive", value=client_keep_alive, expected_type=type_hints["client_keep_alive"])
21391
21469
  check_type(argname="argument desync_mitigation_mode", value=desync_mitigation_mode, expected_type=type_hints["desync_mitigation_mode"])
@@ -21412,6 +21490,8 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
21412
21490
  self._values["internet_facing"] = internet_facing
21413
21491
  if load_balancer_name is not None:
21414
21492
  self._values["load_balancer_name"] = load_balancer_name
21493
+ if minimum_capacity_unit is not None:
21494
+ self._values["minimum_capacity_unit"] = minimum_capacity_unit
21415
21495
  if vpc_subnets is not None:
21416
21496
  self._values["vpc_subnets"] = vpc_subnets
21417
21497
  if client_keep_alive is not None:
@@ -21496,6 +21576,17 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
21496
21576
  result = self._values.get("load_balancer_name")
21497
21577
  return typing.cast(typing.Optional[builtins.str], result)
21498
21578
 
21579
+ @builtins.property
21580
+ def minimum_capacity_unit(self) -> typing.Optional[jsii.Number]:
21581
+ '''The minimum capacity (LCU) for a load balancer.
21582
+
21583
+ :default: undefined - ELB default is 0 LCU
21584
+
21585
+ :see: https://exampleloadbalancer.com/ondemand_capacity_reservation_calculator.html
21586
+ '''
21587
+ result = self._values.get("minimum_capacity_unit")
21588
+ return typing.cast(typing.Optional[jsii.Number], result)
21589
+
21499
21590
  @builtins.property
21500
21591
  def vpc_subnets(self) -> typing.Optional[_SubnetSelection_e57d76df]:
21501
21592
  '''Which subnets place the load balancer in.
@@ -23688,6 +23779,7 @@ class ApplicationLoadBalancer(
23688
23779
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
23689
23780
  internet_facing: typing.Optional[builtins.bool] = None,
23690
23781
  load_balancer_name: typing.Optional[builtins.str] = None,
23782
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
23691
23783
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
23692
23784
  ) -> None:
23693
23785
  '''
@@ -23711,6 +23803,7 @@ class ApplicationLoadBalancer(
23711
23803
  :param deny_all_igw_traffic: Indicates whether the load balancer blocks traffic through the Internet Gateway (IGW). Default: - false for internet-facing load balancers and true for internal load balancers
23712
23804
  :param internet_facing: Whether the load balancer has an internet-routable address. Default: false
23713
23805
  :param load_balancer_name: Name of the load balancer. Default: - Automatically generated name.
23806
+ :param minimum_capacity_unit: The minimum capacity (LCU) for a load balancer. Default: undefined - ELB default is 0 LCU
23714
23807
  :param vpc_subnets: Which subnets place the load balancer in. Default: - the Vpc default strategy.
23715
23808
  '''
23716
23809
  if __debug__:
@@ -23736,6 +23829,7 @@ class ApplicationLoadBalancer(
23736
23829
  deny_all_igw_traffic=deny_all_igw_traffic,
23737
23830
  internet_facing=internet_facing,
23738
23831
  load_balancer_name=load_balancer_name,
23832
+ minimum_capacity_unit=minimum_capacity_unit,
23739
23833
  vpc_subnets=vpc_subnets,
23740
23834
  )
23741
23835
 
@@ -26160,6 +26254,7 @@ def _typecheckingstub__36614588a5e075aa6e7ea0a4d41053b09874f2590b227cd5d62f34299
26160
26254
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
26161
26255
  internet_facing: typing.Optional[builtins.bool] = None,
26162
26256
  load_balancer_name: typing.Optional[builtins.str] = None,
26257
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
26163
26258
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
26164
26259
  ) -> None:
26165
26260
  """Type checking stubs"""
@@ -27528,6 +27623,7 @@ def _typecheckingstub__e1c7a4c1332bdc807d1e25aa5d69eea6e1f3bf6a88ddd30dac9a64c93
27528
27623
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
27529
27624
  internet_facing: typing.Optional[builtins.bool] = None,
27530
27625
  load_balancer_name: typing.Optional[builtins.str] = None,
27626
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
27531
27627
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
27532
27628
  ) -> None:
27533
27629
  """Type checking stubs"""
@@ -27621,6 +27717,7 @@ def _typecheckingstub__195ab659ca9cd1c401d6d2d1a1f5cb0aaf7dd80f06dbc724020ac0cc3
27621
27717
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
27622
27718
  internet_facing: typing.Optional[builtins.bool] = None,
27623
27719
  load_balancer_name: typing.Optional[builtins.str] = None,
27720
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
27624
27721
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
27625
27722
  client_routing_policy: typing.Optional[ClientRoutingPolicy] = None,
27626
27723
  enable_prefix_for_ipv6_source_nat: typing.Optional[builtins.bool] = None,
@@ -27873,6 +27970,7 @@ def _typecheckingstub__e43cf75024913d9be0d5d621a5f2c2c7be60a57898a54967cd54179b2
27873
27970
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
27874
27971
  internet_facing: typing.Optional[builtins.bool] = None,
27875
27972
  load_balancer_name: typing.Optional[builtins.str] = None,
27973
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
27876
27974
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
27877
27975
  client_keep_alive: typing.Optional[_Duration_4839e8c3] = None,
27878
27976
  desync_mitigation_mode: typing.Optional[DesyncMitigationMode] = None,
@@ -28272,6 +28370,7 @@ def _typecheckingstub__22d249b6cdbe3ce0dfc1a873ef276c65fe89ce6a5dba0603fae0a5755
28272
28370
  deny_all_igw_traffic: typing.Optional[builtins.bool] = None,
28273
28371
  internet_facing: typing.Optional[builtins.bool] = None,
28274
28372
  load_balancer_name: typing.Optional[builtins.str] = None,
28373
+ minimum_capacity_unit: typing.Optional[jsii.Number] = None,
28275
28374
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
28276
28375
  ) -> None:
28277
28376
  """Type checking stubs"""
@@ -10629,27 +10629,21 @@ class RuleProps(EventCommonOptions):
10629
10629
 
10630
10630
  Example::
10631
10631
 
10632
- import aws_cdk.aws_lambda as lambda_
10632
+ import aws_cdk.aws_redshiftserverless as redshiftserverless
10633
10633
 
10634
+ # workgroup: redshiftserverless.CfnWorkgroup
10634
10635
 
10635
- fn = lambda_.Function(self, "MyFunc",
10636
- runtime=lambda_.Runtime.NODEJS_LATEST,
10637
- handler="index.handler",
10638
- code=lambda_.Code.from_inline("exports.handler = handler.toString()")
10639
- )
10640
10636
 
10641
- rule = events.Rule(self, "rule",
10642
- event_pattern=events.EventPattern(
10643
- source=["aws.ec2"]
10644
- )
10637
+ rule = events.Rule(self, "Rule",
10638
+ schedule=events.Schedule.rate(cdk.Duration.hours(1))
10645
10639
  )
10646
10640
 
10647
- queue = sqs.Queue(self, "Queue")
10641
+ dlq = sqs.Queue(self, "DeadLetterQueue")
10648
10642
 
10649
- rule.add_target(targets.LambdaFunction(fn,
10650
- dead_letter_queue=queue, # Optional: add a dead letter queue
10651
- max_event_age=Duration.hours(2), # Optional: set the maxEventAge retry policy
10652
- retry_attempts=2
10643
+ rule.add_target(targets.RedshiftQuery(workgroup.attr_workgroup_workgroup_arn,
10644
+ database="dev",
10645
+ dead_letter_queue=dlq,
10646
+ sql=["SELECT * FROM foo", "SELECT * FROM baz"]
10653
10647
  ))
10654
10648
  '''
10655
10649
  if isinstance(event_pattern, dict):