aws-cdk-lib 2.128.0__py3-none-any.whl → 2.129.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 (98) hide show
  1. aws_cdk/__init__.py +2 -10
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.128.0.jsii.tgz → aws-cdk-lib@2.129.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +6 -24
  5. aws_cdk/aws_amplify/__init__.py +1 -2
  6. aws_cdk/aws_appconfig/__init__.py +0 -16
  7. aws_cdk/aws_applicationautoscaling/__init__.py +55 -22
  8. aws_cdk/aws_appstream/__init__.py +14 -14
  9. aws_cdk/aws_appsync/__init__.py +334 -3
  10. aws_cdk/aws_autoscaling/__init__.py +11 -7
  11. aws_cdk/aws_batch/__init__.py +137 -16
  12. aws_cdk/aws_cleanrooms/__init__.py +1 -2
  13. aws_cdk/aws_cloudformation/__init__.py +2 -10
  14. aws_cdk/aws_cloudfront/__init__.py +15 -8
  15. aws_cdk/aws_cloudfront/experimental/__init__.py +22 -0
  16. aws_cdk/aws_cloudfront_origins/__init__.py +332 -0
  17. aws_cdk/aws_cloudtrail/__init__.py +12 -2
  18. aws_cdk/aws_cloudwatch/__init__.py +4 -0
  19. aws_cdk/aws_codepipeline/__init__.py +463 -11
  20. aws_cdk/aws_cognito/__init__.py +0 -9
  21. aws_cdk/aws_config/__init__.py +2 -2
  22. aws_cdk/aws_connect/__init__.py +6 -1
  23. aws_cdk/aws_controltower/__init__.py +527 -7
  24. aws_cdk/aws_datasync/__init__.py +2 -2
  25. aws_cdk/aws_directoryservice/__init__.py +2 -3
  26. aws_cdk/aws_dynamodb/__init__.py +7 -0
  27. aws_cdk/aws_ec2/__init__.py +117 -210
  28. aws_cdk/aws_ecs/__init__.py +537 -3
  29. aws_cdk/aws_eks/__init__.py +1 -1
  30. aws_cdk/aws_elasticache/__init__.py +27 -20
  31. aws_cdk/aws_elasticloadbalancingv2/__init__.py +3 -4
  32. aws_cdk/aws_emr/__init__.py +23 -3
  33. aws_cdk/aws_events_targets/__init__.py +64 -20
  34. aws_cdk/aws_fis/__init__.py +4 -4
  35. aws_cdk/aws_frauddetector/__init__.py +3 -3
  36. aws_cdk/aws_globalaccelerator/__init__.py +2 -6
  37. aws_cdk/aws_glue/__init__.py +84 -55
  38. aws_cdk/aws_groundstation/__init__.py +8 -12
  39. aws_cdk/aws_guardduty/__init__.py +74 -70
  40. aws_cdk/aws_iam/__init__.py +16 -23
  41. aws_cdk/aws_imagebuilder/__init__.py +178 -156
  42. aws_cdk/aws_internetmonitor/__init__.py +12 -10
  43. aws_cdk/aws_iot/__init__.py +17 -10
  44. aws_cdk/aws_iotevents/__init__.py +4 -4
  45. aws_cdk/aws_iotfleetwise/__init__.py +10 -5
  46. aws_cdk/aws_iottwinmaker/__init__.py +3 -5
  47. aws_cdk/aws_iotwireless/__init__.py +35 -23
  48. aws_cdk/aws_kendra/__init__.py +36 -15
  49. aws_cdk/aws_kinesisfirehose/__init__.py +155 -114
  50. aws_cdk/aws_lambda/__init__.py +157 -12
  51. aws_cdk/aws_lambda_nodejs/__init__.py +22 -0
  52. aws_cdk/aws_lightsail/__init__.py +14 -18
  53. aws_cdk/aws_logs/__init__.py +15 -15
  54. aws_cdk/aws_mediaconnect/__init__.py +5 -3
  55. aws_cdk/aws_medialive/__init__.py +3 -12
  56. aws_cdk/aws_mediapackagev2/__init__.py +287 -286
  57. aws_cdk/aws_mediatailor/__init__.py +2 -2
  58. aws_cdk/aws_memorydb/__init__.py +2 -2
  59. aws_cdk/aws_msk/__init__.py +6 -3
  60. aws_cdk/aws_mwaa/__init__.py +10 -5
  61. aws_cdk/aws_neptunegraph/__init__.py +84 -66
  62. aws_cdk/aws_networkfirewall/__init__.py +5 -8
  63. aws_cdk/aws_networkmanager/__init__.py +3 -3
  64. aws_cdk/aws_nimblestudio/__init__.py +2 -4
  65. aws_cdk/aws_opensearchservice/__init__.py +6 -7
  66. aws_cdk/aws_osis/__init__.py +1 -3
  67. aws_cdk/aws_pinpoint/__init__.py +5 -5
  68. aws_cdk/aws_pipes/__init__.py +5 -5
  69. aws_cdk/aws_quicksight/__init__.py +5 -10
  70. aws_cdk/aws_rds/__init__.py +38 -21
  71. aws_cdk/aws_redshift/__init__.py +9 -5
  72. aws_cdk/aws_redshiftserverless/__init__.py +62 -38
  73. aws_cdk/aws_rolesanywhere/__init__.py +41 -53
  74. aws_cdk/aws_route53/__init__.py +532 -6
  75. aws_cdk/aws_route53recoverycontrol/__init__.py +1 -3
  76. aws_cdk/aws_route53recoveryreadiness/__init__.py +2 -2
  77. aws_cdk/aws_route53resolver/__init__.py +1 -4
  78. aws_cdk/aws_s3/__init__.py +3 -1
  79. aws_cdk/aws_s3objectlambda/__init__.py +7 -4
  80. aws_cdk/aws_s3outposts/__init__.py +1 -1
  81. aws_cdk/aws_sagemaker/__init__.py +111 -11
  82. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  83. aws_cdk/aws_sns/__init__.py +185 -38
  84. aws_cdk/aws_ssm/__init__.py +16 -16
  85. aws_cdk/aws_ssmincidents/__init__.py +1 -1
  86. aws_cdk/aws_synthetics/__init__.py +94 -21
  87. aws_cdk/aws_verifiedpermissions/__init__.py +1 -2
  88. aws_cdk/aws_vpclattice/__init__.py +8 -4
  89. aws_cdk/aws_wafv2/__init__.py +14 -59
  90. aws_cdk/aws_workspaces/__init__.py +5 -4
  91. aws_cdk/aws_workspacesweb/__init__.py +6 -12
  92. aws_cdk/triggers/__init__.py +22 -0
  93. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/METADATA +1 -1
  94. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/RECORD +98 -98
  95. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/LICENSE +0 -0
  96. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/NOTICE +0 -0
  97. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/WHEEL +0 -0
  98. {aws_cdk_lib-2.128.0.dist-info → aws_cdk_lib-2.129.0.dist-info}/top_level.txt +0 -0
aws_cdk/__init__.py CHANGED
@@ -29345,8 +29345,7 @@ class CfnStack(CfnResource, metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.CfnS
29345
29345
  @builtins.property
29346
29346
  @jsii.member(jsii_name="attrOutputs")
29347
29347
  def attr_outputs(self) -> IResolvable:
29348
- '''Returns a list of output structures.
29349
-
29348
+ '''
29350
29349
  :cloudformationAttribute: Outputs
29351
29350
  '''
29352
29351
  return typing.cast(IResolvable, jsii.get(self, "attrOutputs"))
@@ -31033,14 +31032,7 @@ class CfnWaitCondition(
31033
31032
  @builtins.property
31034
31033
  @jsii.member(jsii_name="attrData")
31035
31034
  def attr_data(self) -> IResolvable:
31036
- '''A JSON object that contains the ``UniqueId`` and ``Data`` values from the wait condition signal(s) for the specified wait condition.
31037
-
31038
- For more information about wait condition signals, see `Wait condition signal JSON format <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-waitcondition.html#using-cfn-waitcondition-signaljson>`_ .
31039
-
31040
- Example return value for a wait condition with 2 signals:
31041
-
31042
- ``{ "Signal1" : "Step 1 complete." , "Signal2" : "Step 2 complete." }``
31043
-
31035
+ '''
31044
31036
  :cloudformationAttribute: Data
31045
31037
  '''
31046
31038
  return typing.cast(IResolvable, jsii.get(self, "attrData"))
aws_cdk/_jsii/__init__.py CHANGED
@@ -16,7 +16,7 @@ import aws_cdk.asset_node_proxy_agent_v6._jsii
16
16
  import constructs._jsii
17
17
 
18
18
  __jsii_assembly__ = jsii.JSIIAssembly.load(
19
- "aws-cdk-lib", "2.128.0", __name__[0:-6], "aws-cdk-lib@2.128.0.jsii.tgz"
19
+ "aws-cdk-lib", "2.129.0", __name__[0:-6], "aws-cdk-lib@2.129.0.jsii.tgz"
20
20
  )
21
21
 
22
22
  __all__ = [
@@ -269,10 +269,7 @@ class CfnBroker(
269
269
  @builtins.property
270
270
  @jsii.member(jsii_name="attrAmqpEndpoints")
271
271
  def attr_amqp_endpoints(self) -> typing.List[builtins.str]:
272
- '''The AMQP endpoints of each broker instance as a list of strings.
273
-
274
- ``amqp+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:5671``
275
-
272
+ '''
276
273
  :cloudformationAttribute: AmqpEndpoints
277
274
  '''
278
275
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAmqpEndpoints"))
@@ -324,10 +321,7 @@ class CfnBroker(
324
321
  @builtins.property
325
322
  @jsii.member(jsii_name="attrIpAddresses")
326
323
  def attr_ip_addresses(self) -> typing.List[builtins.str]:
327
- '''The IP addresses of each broker instance as a list of strings. Does not apply to RabbitMQ brokers.
328
-
329
- ``['198.51.100.2', '203.0.113.9']``
330
-
324
+ '''
331
325
  :cloudformationAttribute: IpAddresses
332
326
  '''
333
327
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrIpAddresses"))
@@ -335,10 +329,7 @@ class CfnBroker(
335
329
  @builtins.property
336
330
  @jsii.member(jsii_name="attrMqttEndpoints")
337
331
  def attr_mqtt_endpoints(self) -> typing.List[builtins.str]:
338
- '''The MQTT endpoints of each broker instance as a list of strings.
339
-
340
- ``mqtt+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:8883``
341
-
332
+ '''
342
333
  :cloudformationAttribute: MqttEndpoints
343
334
  '''
344
335
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrMqttEndpoints"))
@@ -346,10 +337,7 @@ class CfnBroker(
346
337
  @builtins.property
347
338
  @jsii.member(jsii_name="attrOpenWireEndpoints")
348
339
  def attr_open_wire_endpoints(self) -> typing.List[builtins.str]:
349
- '''The OpenWire endpoints of each broker instance as a list of strings.
350
-
351
- ``ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61617``
352
-
340
+ '''
353
341
  :cloudformationAttribute: OpenWireEndpoints
354
342
  '''
355
343
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrOpenWireEndpoints"))
@@ -357,10 +345,7 @@ class CfnBroker(
357
345
  @builtins.property
358
346
  @jsii.member(jsii_name="attrStompEndpoints")
359
347
  def attr_stomp_endpoints(self) -> typing.List[builtins.str]:
360
- '''The STOMP endpoints of each broker instance as a list of strings.
361
-
362
- ``stomp+ssl://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61614``
363
-
348
+ '''
364
349
  :cloudformationAttribute: StompEndpoints
365
350
  '''
366
351
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrStompEndpoints"))
@@ -368,10 +353,7 @@ class CfnBroker(
368
353
  @builtins.property
369
354
  @jsii.member(jsii_name="attrWssEndpoints")
370
355
  def attr_wss_endpoints(self) -> typing.List[builtins.str]:
371
- '''The WSS endpoints of each broker instance as a list of strings.
372
-
373
- ``wss://b-4aada85d-a80c-4be0-9d30-e344a01b921e-1.mq.eu-central-amazonaws.com:61619``
374
-
356
+ '''
375
357
  :cloudformationAttribute: WssEndpoints
376
358
  '''
377
359
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrWssEndpoints"))
@@ -2495,8 +2495,7 @@ class CfnDomain(
2495
2495
  @builtins.property
2496
2496
  @jsii.member(jsii_name="attrAutoSubDomainCreationPatterns")
2497
2497
  def attr_auto_sub_domain_creation_patterns(self) -> typing.List[builtins.str]:
2498
- '''Branch patterns for the automatically created subdomain.
2499
-
2498
+ '''
2500
2499
  :cloudformationAttribute: AutoSubDomainCreationPatterns
2501
2500
  '''
2502
2501
  return typing.cast(typing.List[builtins.str], jsii.get(self, "attrAutoSubDomainCreationPatterns"))
@@ -2152,14 +2152,6 @@ class CfnEnvironment(
2152
2152
  '''
2153
2153
  return typing.cast(builtins.str, jsii.get(self, "attrEnvironmentId"))
2154
2154
 
2155
- @builtins.property
2156
- @jsii.member(jsii_name="attrId")
2157
- def attr_id(self) -> builtins.str:
2158
- '''
2159
- :cloudformationAttribute: Id
2160
- '''
2161
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
2162
-
2163
2155
  @builtins.property
2164
2156
  @jsii.member(jsii_name="cfnProperties")
2165
2157
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -3640,14 +3632,6 @@ class CfnHostedConfigurationVersion(
3640
3632
  '''The CloudFormation resource type name for this resource class.'''
3641
3633
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
3642
3634
 
3643
- @builtins.property
3644
- @jsii.member(jsii_name="attrId")
3645
- def attr_id(self) -> builtins.str:
3646
- '''
3647
- :cloudformationAttribute: Id
3648
- '''
3649
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
3650
-
3651
3635
  @builtins.property
3652
3636
  @jsii.member(jsii_name="attrVersionNumber")
3653
3637
  def attr_version_number(self) -> builtins.str:
@@ -168,6 +168,7 @@ The following example scales the fleet out in the morning, and lets natural
168
168
  scaling take over at night:
169
169
 
170
170
  ```python
171
+ from aws_cdk import TimeZone
171
172
  # resource: SomeScalableResource
172
173
 
173
174
 
@@ -178,12 +179,14 @@ capacity = resource.auto_scale_capacity(
178
179
 
179
180
  capacity.scale_on_schedule("PrescaleInTheMorning",
180
181
  schedule=appscaling.Schedule.cron(hour="8", minute="0"),
181
- min_capacity=20
182
+ min_capacity=20,
183
+ time_zone=TimeZone.AMERICA_DENVER
182
184
  )
183
185
 
184
186
  capacity.scale_on_schedule("AllowDownscalingAtNight",
185
187
  schedule=appscaling.Schedule.cron(hour="20", minute="0"),
186
- min_capacity=1
188
+ min_capacity=1,
189
+ time_zone=TimeZone.AMERICA_DENVER
187
190
  )
188
191
  ```
189
192
 
@@ -198,7 +201,7 @@ import aws_cdk.aws_lambda as lambda_
198
201
 
199
202
 
200
203
  handler = lambda_.Function(self, "MyFunction",
201
- runtime=lambda_.Runtime.PYTHON_3_7,
204
+ runtime=lambda_.Runtime.PYTHON_3_12,
202
205
  handler="index.handler",
203
206
  code=code,
204
207
 
@@ -260,6 +263,7 @@ from .. import (
260
263
  IResolvable as _IResolvable_da3f097b,
261
264
  IResource as _IResource_c80c4260,
262
265
  Resource as _Resource_45bc6135,
266
+ TimeZone as _TimeZone_cdd72ac9,
263
267
  TreeInspector as _TreeInspector_488e0dd5,
264
268
  )
265
269
  from ..aws_cloudwatch import Alarm as _Alarm_9fbab1f1, IMetric as _IMetric_c7fd29de
@@ -516,6 +520,7 @@ class BaseScalableAttribute(
516
520
  max_capacity: typing.Optional[jsii.Number] = None,
517
521
  min_capacity: typing.Optional[jsii.Number] = None,
518
522
  start_time: typing.Optional[datetime.datetime] = None,
523
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
519
524
  ) -> None:
520
525
  '''Scale out or in based on time.
521
526
 
@@ -525,6 +530,7 @@ class BaseScalableAttribute(
525
530
  :param max_capacity: The new maximum capacity. During the scheduled time, the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new maximum capacity
526
531
  :param min_capacity: The new minimum capacity. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new minimum capacity
527
532
  :param start_time: When this scheduled action becomes active. Default: The rule is activate immediately
533
+ :param time_zone: The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression. Default: - UTC
528
534
  '''
529
535
  if __debug__:
530
536
  type_hints = typing.get_type_hints(_typecheckingstub__82bcc29e64984d150edcca413653e7216fd0245b92c71db37506d1a93e054222)
@@ -535,6 +541,7 @@ class BaseScalableAttribute(
535
541
  max_capacity=max_capacity,
536
542
  min_capacity=min_capacity,
537
543
  start_time=start_time,
544
+ time_zone=time_zone,
538
545
  )
539
546
 
540
547
  return typing.cast(None, jsii.invoke(self, "doScaleOnSchedule", [id, props]))
@@ -963,7 +970,7 @@ class BasicTargetTrackingScalingPolicyProps(BaseTargetTrackingProps):
963
970
 
964
971
 
965
972
  handler = lambda_.Function(self, "MyFunction",
966
- runtime=lambda_.Runtime.PYTHON_3_7,
973
+ runtime=lambda_.Runtime.PYTHON_3_12,
967
974
  handler="index.handler",
968
975
  code=code,
969
976
 
@@ -4073,7 +4080,7 @@ class PredefinedMetric(enum.Enum):
4073
4080
 
4074
4081
 
4075
4082
  handler = lambda_.Function(self, "MyFunction",
4076
- runtime=lambda_.Runtime.PYTHON_3_7,
4083
+ runtime=lambda_.Runtime.PYTHON_3_12,
4077
4084
  handler="index.handler",
4078
4085
  code=code,
4079
4086
 
@@ -4215,7 +4222,7 @@ class ScalableTarget(
4215
4222
 
4216
4223
 
4217
4224
  handler = lambda_.Function(self, "MyFunction",
4218
- runtime=lambda_.Runtime.PYTHON_3_7,
4225
+ runtime=lambda_.Runtime.PYTHON_3_12,
4219
4226
  handler="index.handler",
4220
4227
  code=code,
4221
4228
 
@@ -4358,6 +4365,7 @@ class ScalableTarget(
4358
4365
  max_capacity: typing.Optional[jsii.Number] = None,
4359
4366
  min_capacity: typing.Optional[jsii.Number] = None,
4360
4367
  start_time: typing.Optional[datetime.datetime] = None,
4368
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
4361
4369
  ) -> None:
4362
4370
  '''Scale out or in based on time.
4363
4371
 
@@ -4367,6 +4375,7 @@ class ScalableTarget(
4367
4375
  :param max_capacity: The new maximum capacity. During the scheduled time, the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new maximum capacity
4368
4376
  :param min_capacity: The new minimum capacity. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new minimum capacity
4369
4377
  :param start_time: When this scheduled action becomes active. Default: The rule is activate immediately
4378
+ :param time_zone: The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression. Default: - UTC
4370
4379
  '''
4371
4380
  if __debug__:
4372
4381
  type_hints = typing.get_type_hints(_typecheckingstub__00b07b46a599f1f6e690aeeada38ac26bba7017192a30ed324e7c437647bb46b)
@@ -4377,6 +4386,7 @@ class ScalableTarget(
4377
4386
  max_capacity=max_capacity,
4378
4387
  min_capacity=min_capacity,
4379
4388
  start_time=start_time,
4389
+ time_zone=time_zone,
4380
4390
  )
4381
4391
 
4382
4392
  return typing.cast(None, jsii.invoke(self, "scaleOnSchedule", [id, action]))
@@ -4483,7 +4493,7 @@ class ScalableTargetProps:
4483
4493
 
4484
4494
 
4485
4495
  handler = lambda_.Function(self, "MyFunction",
4486
- runtime=lambda_.Runtime.PYTHON_3_7,
4496
+ runtime=lambda_.Runtime.PYTHON_3_12,
4487
4497
  handler="index.handler",
4488
4498
  code=code,
4489
4499
 
@@ -4707,6 +4717,7 @@ class ScalingInterval:
4707
4717
  "max_capacity": "maxCapacity",
4708
4718
  "min_capacity": "minCapacity",
4709
4719
  "start_time": "startTime",
4720
+ "time_zone": "timeZone",
4710
4721
  },
4711
4722
  )
4712
4723
  class ScalingSchedule:
@@ -4718,6 +4729,7 @@ class ScalingSchedule:
4718
4729
  max_capacity: typing.Optional[jsii.Number] = None,
4719
4730
  min_capacity: typing.Optional[jsii.Number] = None,
4720
4731
  start_time: typing.Optional[datetime.datetime] = None,
4732
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
4721
4733
  ) -> None:
4722
4734
  '''A scheduled scaling action.
4723
4735
 
@@ -4726,6 +4738,7 @@ class ScalingSchedule:
4726
4738
  :param max_capacity: The new maximum capacity. During the scheduled time, the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new maximum capacity
4727
4739
  :param min_capacity: The new minimum capacity. During the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. At least one of maxCapacity and minCapacity must be supplied. Default: No new minimum capacity
4728
4740
  :param start_time: When this scheduled action becomes active. Default: The rule is activate immediately
4741
+ :param time_zone: The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression. Default: - UTC
4729
4742
 
4730
4743
  :exampleMetadata: infused
4731
4744
 
@@ -4765,6 +4778,7 @@ class ScalingSchedule:
4765
4778
  check_type(argname="argument max_capacity", value=max_capacity, expected_type=type_hints["max_capacity"])
4766
4779
  check_type(argname="argument min_capacity", value=min_capacity, expected_type=type_hints["min_capacity"])
4767
4780
  check_type(argname="argument start_time", value=start_time, expected_type=type_hints["start_time"])
4781
+ check_type(argname="argument time_zone", value=time_zone, expected_type=type_hints["time_zone"])
4768
4782
  self._values: typing.Dict[builtins.str, typing.Any] = {
4769
4783
  "schedule": schedule,
4770
4784
  }
@@ -4776,6 +4790,8 @@ class ScalingSchedule:
4776
4790
  self._values["min_capacity"] = min_capacity
4777
4791
  if start_time is not None:
4778
4792
  self._values["start_time"] = start_time
4793
+ if time_zone is not None:
4794
+ self._values["time_zone"] = time_zone
4779
4795
 
4780
4796
  @builtins.property
4781
4797
  def schedule(self) -> "Schedule":
@@ -4830,6 +4846,15 @@ class ScalingSchedule:
4830
4846
  result = self._values.get("start_time")
4831
4847
  return typing.cast(typing.Optional[datetime.datetime], result)
4832
4848
 
4849
+ @builtins.property
4850
+ def time_zone(self) -> typing.Optional[_TimeZone_cdd72ac9]:
4851
+ '''The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.
4852
+
4853
+ :default: - UTC
4854
+ '''
4855
+ result = self._values.get("time_zone")
4856
+ return typing.cast(typing.Optional[_TimeZone_cdd72ac9], result)
4857
+
4833
4858
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
4834
4859
  return isinstance(rhs, self.__class__) and rhs._values == self._values
4835
4860
 
@@ -4852,20 +4877,25 @@ class Schedule(
4852
4877
 
4853
4878
  Example::
4854
4879
 
4855
- vpc = ec2.Vpc(self, "Vpc", max_azs=1)
4856
- cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
4857
- scheduled_fargate_task = ecs_patterns.ScheduledFargateTask(self, "ScheduledFargateTask",
4858
- cluster=cluster,
4859
- scheduled_fargate_task_image_options=ecsPatterns.ScheduledFargateTaskImageOptions(
4860
- image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
4861
- memory_limit_mi_b=512
4862
- ),
4863
- schedule=appscaling.Schedule.expression("rate(1 minute)"),
4864
- tags=[Tag(
4865
- key="my-tag",
4866
- value="my-tag-value"
4867
- )
4868
- ]
4880
+ from aws_cdk import TimeZone
4881
+ # resource: SomeScalableResource
4882
+
4883
+
4884
+ capacity = resource.auto_scale_capacity(
4885
+ min_capacity=1,
4886
+ max_capacity=50
4887
+ )
4888
+
4889
+ capacity.scale_on_schedule("PrescaleInTheMorning",
4890
+ schedule=appscaling.Schedule.cron(hour="8", minute="0"),
4891
+ min_capacity=20,
4892
+ time_zone=TimeZone.AMERICA_DENVER
4893
+ )
4894
+
4895
+ capacity.scale_on_schedule("AllowDownscalingAtNight",
4896
+ schedule=appscaling.Schedule.cron(hour="20", minute="0"),
4897
+ min_capacity=1,
4898
+ time_zone=TimeZone.AMERICA_DENVER
4869
4899
  )
4870
4900
  '''
4871
4901
 
@@ -4973,7 +5003,7 @@ class ServiceNamespace(enum.Enum):
4973
5003
 
4974
5004
 
4975
5005
  handler = lambda_.Function(self, "MyFunction",
4976
- runtime=lambda_.Runtime.PYTHON_3_7,
5006
+ runtime=lambda_.Runtime.PYTHON_3_12,
4977
5007
  handler="index.handler",
4978
5008
  code=code,
4979
5009
 
@@ -6119,6 +6149,7 @@ def _typecheckingstub__82bcc29e64984d150edcca413653e7216fd0245b92c71db37506d1a93
6119
6149
  max_capacity: typing.Optional[jsii.Number] = None,
6120
6150
  min_capacity: typing.Optional[jsii.Number] = None,
6121
6151
  start_time: typing.Optional[datetime.datetime] = None,
6152
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
6122
6153
  ) -> None:
6123
6154
  """Type checking stubs"""
6124
6155
  pass
@@ -6553,6 +6584,7 @@ def _typecheckingstub__00b07b46a599f1f6e690aeeada38ac26bba7017192a30ed324e7c4376
6553
6584
  max_capacity: typing.Optional[jsii.Number] = None,
6554
6585
  min_capacity: typing.Optional[jsii.Number] = None,
6555
6586
  start_time: typing.Optional[datetime.datetime] = None,
6587
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
6556
6588
  ) -> None:
6557
6589
  """Type checking stubs"""
6558
6590
  pass
@@ -6600,6 +6632,7 @@ def _typecheckingstub__57aef750eb5141016e0f252e7b49eacfa61419872935a6645e358d0c9
6600
6632
  max_capacity: typing.Optional[jsii.Number] = None,
6601
6633
  min_capacity: typing.Optional[jsii.Number] = None,
6602
6634
  start_time: typing.Optional[datetime.datetime] = None,
6635
+ time_zone: typing.Optional[_TimeZone_cdd72ac9] = None,
6603
6636
  ) -> None:
6604
6637
  """Type checking stubs"""
6605
6638
  pass
@@ -3389,11 +3389,11 @@ class CfnFleet(
3389
3389
  :param enable_default_internet_access: Enables or disables default internet access for the fleet.
3390
3390
  :param fleet_type: The fleet type. - **ALWAYS_ON** - Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps. - **ON_DEMAND** - Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps. - **ELASTIC** - The pool of streaming instances is managed by Amazon AppStream 2.0. When a user selects their application or desktop to launch, they will start streaming after the app block has been downloaded and mounted to a streaming instance. *Allowed Values* : ``ALWAYS_ON`` | ``ELASTIC`` | ``ON_DEMAND``
3391
3391
  :param iam_role_arn: The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service ``AssumeRole`` API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the *appstream_machine_role* credential profile on the instance. For more information, see `Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances <https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html>`_ in the *Amazon AppStream 2.0 Administration Guide* .
3392
- :param idle_disconnect_timeout_in_seconds: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the ``DisconnectTimeoutInSeconds`` time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in ``DisconnectTimeoutInSeconds`` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in ``IdleDisconnectTimeoutInSeconds`` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
3392
+ :param idle_disconnect_timeout_in_seconds: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the ``DisconnectTimeoutInSeconds`` time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in ``DisconnectTimeoutInSeconds`` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in ``IdleDisconnectTimeoutInSeconds`` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 36000. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
3393
3393
  :param image_arn: The ARN of the public, private, or shared image to use.
3394
3394
  :param image_name: The name of the image used to create the fleet.
3395
3395
  :param max_concurrent_sessions: The maximum number of concurrent sessions that can be run on an Elastic fleet. This setting is required for Elastic fleets, but is not used for other fleet types.
3396
- :param max_sessions_per_instance: The maximum number of user sessions on an instance. This only applies to multi-session fleets.
3396
+ :param max_sessions_per_instance: Max number of user sessions on an instance. This is applicable only for multi-session fleets.
3397
3397
  :param max_user_duration_in_seconds: The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 432000.
3398
3398
  :param platform: The platform of the fleet. Platform is a required setting for Elastic fleets, and is not used for other fleet types.
3399
3399
  :param session_script_s3_location: The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.
@@ -3691,7 +3691,7 @@ class CfnFleet(
3691
3691
  @builtins.property
3692
3692
  @jsii.member(jsii_name="maxSessionsPerInstance")
3693
3693
  def max_sessions_per_instance(self) -> typing.Optional[jsii.Number]:
3694
- '''The maximum number of user sessions on an instance.'''
3694
+ '''Max number of user sessions on an instance.'''
3695
3695
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maxSessionsPerInstance"))
3696
3696
 
3697
3697
  @max_sessions_per_instance.setter
@@ -3823,7 +3823,7 @@ class CfnFleet(
3823
3823
  '''The desired capacity for a fleet.
3824
3824
 
3825
3825
  :param desired_instances: The desired number of streaming instances.
3826
- :param desired_sessions: The desired number of user sessions for a multi-session fleet. This is not allowed for single-session fleets. When you create a fleet, you must set either the DesiredSessions or DesiredInstances attribute, based on the type of fleet you create. You can’t define both attributes or leave both attributes blank.
3826
+ :param desired_sessions: The desired capacity in terms of number of user sessions, for the multi-session fleet. This is not allowed for single-session fleets. When you create a fleet, you must set define either the DesiredSessions or DesiredInstances attribute, based on the type of fleet you create. You can’t define both attributes or leave both attributes blank.
3827
3827
 
3828
3828
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html
3829
3829
  :exampleMetadata: fixture=_generated
@@ -3860,9 +3860,11 @@ class CfnFleet(
3860
3860
 
3861
3861
  @builtins.property
3862
3862
  def desired_sessions(self) -> typing.Optional[jsii.Number]:
3863
- '''The desired number of user sessions for a multi-session fleet. This is not allowed for single-session fleets.
3863
+ '''The desired capacity in terms of number of user sessions, for the multi-session fleet.
3864
3864
 
3865
- When you create a fleet, you must set either the DesiredSessions or DesiredInstances attribute, based on the type of fleet you create. You can’t define both attributes or leave both attributes blank.
3865
+ This is not allowed for single-session fleets.
3866
+
3867
+ When you create a fleet, you must set define either the DesiredSessions or DesiredInstances attribute, based on the type of fleet you create. You can’t define both attributes or leave both attributes blank.
3866
3868
 
3867
3869
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html#cfn-appstream-fleet-computecapacity-desiredsessions
3868
3870
  '''
@@ -4164,11 +4166,11 @@ class CfnFleetProps:
4164
4166
  :param enable_default_internet_access: Enables or disables default internet access for the fleet.
4165
4167
  :param fleet_type: The fleet type. - **ALWAYS_ON** - Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps. - **ON_DEMAND** - Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps. - **ELASTIC** - The pool of streaming instances is managed by Amazon AppStream 2.0. When a user selects their application or desktop to launch, they will start streaming after the app block has been downloaded and mounted to a streaming instance. *Allowed Values* : ``ALWAYS_ON`` | ``ELASTIC`` | ``ON_DEMAND``
4166
4168
  :param iam_role_arn: The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service ``AssumeRole`` API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the *appstream_machine_role* credential profile on the instance. For more information, see `Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances <https://docs.aws.amazon.com/appstream2/latest/developerguide/using-iam-roles-to-grant-permissions-to-applications-scripts-streaming-instances.html>`_ in the *Amazon AppStream 2.0 Administration Guide* .
4167
- :param idle_disconnect_timeout_in_seconds: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the ``DisconnectTimeoutInSeconds`` time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in ``DisconnectTimeoutInSeconds`` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in ``IdleDisconnectTimeoutInSeconds`` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
4169
+ :param idle_disconnect_timeout_in_seconds: The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the ``DisconnectTimeoutInSeconds`` time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in ``DisconnectTimeoutInSeconds`` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in ``IdleDisconnectTimeoutInSeconds`` elapses, they are disconnected. To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 36000. If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
4168
4170
  :param image_arn: The ARN of the public, private, or shared image to use.
4169
4171
  :param image_name: The name of the image used to create the fleet.
4170
4172
  :param max_concurrent_sessions: The maximum number of concurrent sessions that can be run on an Elastic fleet. This setting is required for Elastic fleets, but is not used for other fleet types.
4171
- :param max_sessions_per_instance: The maximum number of user sessions on an instance. This only applies to multi-session fleets.
4173
+ :param max_sessions_per_instance: Max number of user sessions on an instance. This is applicable only for multi-session fleets.
4172
4174
  :param max_user_duration_in_seconds: The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance. Specify a value between 600 and 432000.
4173
4175
  :param platform: The platform of the fleet. Platform is a required setting for Elastic fleets, and is not used for other fleet types.
4174
4176
  :param session_script_s3_location: The S3 location of the session scripts configuration zip file. This only applies to Elastic fleets.
@@ -4424,7 +4426,7 @@ class CfnFleetProps:
4424
4426
 
4425
4427
  Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in ``DisconnectTimeoutInSeconds`` elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in ``IdleDisconnectTimeoutInSeconds`` elapses, they are disconnected.
4426
4428
 
4427
- To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600.
4429
+ To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 36000.
4428
4430
 
4429
4431
  If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.
4430
4432
 
@@ -4464,9 +4466,9 @@ class CfnFleetProps:
4464
4466
 
4465
4467
  @builtins.property
4466
4468
  def max_sessions_per_instance(self) -> typing.Optional[jsii.Number]:
4467
- '''The maximum number of user sessions on an instance.
4469
+ '''Max number of user sessions on an instance.
4468
4470
 
4469
- This only applies to multi-session fleets.
4471
+ This is applicable only for multi-session fleets.
4470
4472
 
4471
4473
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxsessionsperinstance
4472
4474
  '''
@@ -6159,7 +6161,7 @@ class CfnStack(
6159
6161
 
6160
6162
  :param action: The action that is enabled or disabled.
6161
6163
  :param permission: Indicates whether the action is enabled or disabled.
6162
- :param maximum_length: Specifies the number of characters that can be copied by end users from the local device to the remote session, and to the local device from the remote session. This can be specified only for the ``CLIPBOARD_COPY_FROM_LOCAL_DEVICE`` and ``CLIPBOARD_COPY_TO_LOCAL_DEVICE`` actions. This defaults to 20,971,520 (20 MB) when unspecified and the permission is ``ENABLED`` . This can't be specified when the permission is ``DISABLED`` . This can only be specified for AlwaysOn and OnDemand fleets. The attribute is not supported on Elastic fleets. The value can be between 1 and 20,971,520 (20 MB).
6164
+ :param maximum_length: Specifies the number of characters that can be copied by end users from the local device to the remote session, and to the local device from the remote session. This can be specified only for the ``CLIPBOARD_COPY_FROM_LOCAL_DEVICE`` and ``CLIPBOARD_COPY_TO_LOCAL_DEVICE`` actions. This defaults to 20,971,520 (20 MB) when unspecified and the permission is ``ENABLED`` . This can't be specified when the permission is ``DISABLED`` . The value can be between 1 and 20,971,520 (20 MB).
6163
6165
 
6164
6166
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html
6165
6167
  :exampleMetadata: fixture=_generated
@@ -6218,8 +6220,6 @@ class CfnStack(
6218
6220
 
6219
6221
  This defaults to 20,971,520 (20 MB) when unspecified and the permission is ``ENABLED`` . This can't be specified when the permission is ``DISABLED`` .
6220
6222
 
6221
- This can only be specified for AlwaysOn and OnDemand fleets. The attribute is not supported on Elastic fleets.
6222
-
6223
6223
  The value can be between 1 and 20,971,520 (20 MB).
6224
6224
 
6225
6225
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-maximumlength