localstack-core 4.10.1.dev42__py3-none-any.whl → 4.12.1.dev18__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.
Files changed (158) hide show
  1. localstack/aws/api/apigateway/__init__.py +42 -0
  2. localstack/aws/api/cloudformation/__init__.py +161 -0
  3. localstack/aws/api/ec2/__init__.py +1178 -12
  4. localstack/aws/api/iam/__init__.py +228 -0
  5. localstack/aws/api/kms/__init__.py +1 -0
  6. localstack/aws/api/lambda_/__init__.py +1034 -66
  7. localstack/aws/api/logs/__init__.py +500 -0
  8. localstack/aws/api/opensearch/__init__.py +100 -0
  9. localstack/aws/api/redshift/__init__.py +69 -0
  10. localstack/aws/api/resourcegroupstaggingapi/__init__.py +36 -0
  11. localstack/aws/api/route53/__init__.py +45 -0
  12. localstack/aws/api/route53resolver/__init__.py +1 -0
  13. localstack/aws/api/s3/__init__.py +64 -0
  14. localstack/aws/api/s3control/__init__.py +19 -0
  15. localstack/aws/api/secretsmanager/__init__.py +37 -23
  16. localstack/aws/api/stepfunctions/__init__.py +52 -10
  17. localstack/aws/api/sts/__init__.py +52 -0
  18. localstack/aws/connect.py +35 -15
  19. localstack/aws/handlers/logging.py +8 -4
  20. localstack/aws/handlers/service.py +11 -2
  21. localstack/aws/protocol/serializer.py +1 -1
  22. localstack/config.py +8 -0
  23. localstack/constants.py +3 -0
  24. localstack/deprecations.py +0 -6
  25. localstack/dev/kubernetes/__main__.py +39 -14
  26. localstack/runtime/analytics.py +11 -0
  27. localstack/services/acm/provider.py +17 -1
  28. localstack/services/apigateway/legacy/provider.py +28 -15
  29. localstack/services/cloudformation/engine/template_preparer.py +6 -2
  30. localstack/services/cloudformation/engine/v2/change_set_model.py +9 -0
  31. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +15 -1
  32. localstack/services/cloudformation/engine/v2/change_set_resource_support_checker.py +114 -0
  33. localstack/services/cloudformation/provider.py +26 -1
  34. localstack/services/cloudformation/provider_utils.py +20 -0
  35. localstack/services/cloudformation/resource_provider.py +5 -4
  36. localstack/services/cloudformation/scaffolding/__main__.py +94 -22
  37. localstack/services/cloudformation/v2/provider.py +41 -0
  38. localstack/services/cloudwatch/provider.py +10 -3
  39. localstack/services/cloudwatch/provider_v2.py +6 -3
  40. localstack/services/configservice/provider.py +5 -1
  41. localstack/services/dynamodb/provider.py +1 -0
  42. localstack/services/dynamodb/v2/provider.py +1 -0
  43. localstack/services/dynamodbstreams/provider.py +6 -0
  44. localstack/services/dynamodbstreams/v2/provider.py +6 -0
  45. localstack/services/ec2/provider.py +6 -0
  46. localstack/services/es/provider.py +6 -0
  47. localstack/services/events/provider.py +4 -0
  48. localstack/services/events/v1/provider.py +9 -0
  49. localstack/services/firehose/provider.py +5 -0
  50. localstack/services/iam/provider.py +4 -0
  51. localstack/services/kinesis/packages.py +1 -1
  52. localstack/services/kms/models.py +16 -22
  53. localstack/services/kms/provider.py +4 -0
  54. localstack/services/lambda_/analytics.py +11 -2
  55. localstack/services/lambda_/api_utils.py +37 -20
  56. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  57. localstack/services/lambda_/invocation/assignment.py +4 -1
  58. localstack/services/lambda_/invocation/event_manager.py +15 -11
  59. localstack/services/lambda_/invocation/execution_environment.py +21 -2
  60. localstack/services/lambda_/invocation/lambda_models.py +31 -2
  61. localstack/services/lambda_/invocation/lambda_service.py +62 -3
  62. localstack/services/lambda_/invocation/models.py +9 -1
  63. localstack/services/lambda_/invocation/version_manager.py +18 -3
  64. localstack/services/lambda_/provider.py +307 -106
  65. localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
  66. localstack/services/lambda_/runtimes.py +3 -1
  67. localstack/services/logs/provider.py +9 -0
  68. localstack/services/opensearch/packages.py +34 -20
  69. localstack/services/opensearch/provider.py +53 -3
  70. localstack/services/resource_groups/provider.py +5 -1
  71. localstack/services/resourcegroupstaggingapi/provider.py +6 -1
  72. localstack/services/route53/provider.py +7 -0
  73. localstack/services/route53resolver/provider.py +5 -0
  74. localstack/services/s3/constants.py +5 -0
  75. localstack/services/s3/exceptions.py +9 -0
  76. localstack/services/s3/models.py +9 -1
  77. localstack/services/s3/provider.py +51 -43
  78. localstack/services/s3/utils.py +81 -15
  79. localstack/services/s3control/provider.py +107 -2
  80. localstack/services/s3control/validation.py +50 -0
  81. localstack/services/scheduler/provider.py +4 -2
  82. localstack/services/secretsmanager/provider.py +4 -0
  83. localstack/services/ses/provider.py +4 -0
  84. localstack/services/sns/constants.py +16 -1
  85. localstack/services/sns/provider.py +5 -0
  86. localstack/services/sns/publisher.py +15 -6
  87. localstack/services/sns/v2/models.py +9 -0
  88. localstack/services/sns/v2/provider.py +750 -19
  89. localstack/services/sns/v2/utils.py +12 -0
  90. localstack/services/sqs/constants.py +6 -0
  91. localstack/services/sqs/provider.py +9 -1
  92. localstack/services/sqs/resource_providers/aws_sqs_queue.py +61 -46
  93. localstack/services/ssm/provider.py +6 -0
  94. localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
  95. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
  96. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
  97. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
  98. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
  99. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
  100. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
  101. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
  102. localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
  103. localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
  104. localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
  105. localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
  106. localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
  107. localstack/services/stepfunctions/asl/eval/environment.py +30 -22
  108. localstack/services/stepfunctions/asl/eval/states.py +1 -1
  109. localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
  110. localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
  111. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
  112. localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
  113. localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
  114. localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
  115. localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +256 -22
  116. localstack/services/stepfunctions/backend/execution.py +10 -11
  117. localstack/services/stepfunctions/backend/execution_worker.py +5 -5
  118. localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
  119. localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
  120. localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
  121. localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
  122. localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
  123. localstack/services/stepfunctions/provider.py +83 -25
  124. localstack/services/stepfunctions/test_state/mock_config.py +47 -0
  125. localstack/services/sts/provider.py +7 -0
  126. localstack/services/support/provider.py +5 -1
  127. localstack/services/swf/provider.py +5 -1
  128. localstack/services/transcribe/provider.py +7 -0
  129. localstack/testing/aws/lambda_utils.py +1 -1
  130. localstack/testing/aws/util.py +2 -1
  131. localstack/testing/config.py +1 -0
  132. localstack/testing/pytest/fixtures.py +28 -0
  133. localstack/testing/snapshots/transformer_utility.py +5 -0
  134. localstack/utils/analytics/publisher.py +37 -155
  135. localstack/utils/analytics/service_request_aggregator.py +6 -4
  136. localstack/utils/aws/arns.py +7 -0
  137. localstack/utils/aws/client_types.py +2 -4
  138. localstack/utils/batching.py +258 -0
  139. localstack/utils/bootstrap.py +2 -2
  140. localstack/utils/catalog/catalog.py +3 -2
  141. localstack/utils/collections.py +23 -11
  142. localstack/utils/container_utils/container_client.py +22 -13
  143. localstack/utils/container_utils/docker_cmd_client.py +6 -6
  144. localstack/version.py +2 -2
  145. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/METADATA +7 -7
  146. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/RECORD +155 -146
  147. localstack_core-4.12.1.dev18.dist-info/plux.json +1 -0
  148. localstack/services/stepfunctions/mocking/__init__.py +0 -0
  149. localstack/utils/batch_policy.py +0 -124
  150. localstack_core-4.10.1.dev42.dist-info/plux.json +0 -1
  151. /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
  152. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack +0 -0
  153. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack-supervisor +0 -0
  154. {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack.bat +0 -0
  155. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/WHEEL +0 -0
  156. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/entry_points.txt +0 -0
  157. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/licenses/LICENSE.txt +0 -0
  158. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/top_level.txt +0 -0
@@ -29,6 +29,13 @@ class ApiKeysFormat(StrEnum):
29
29
  csv = "csv"
30
30
 
31
31
 
32
+ class ApiStatus(StrEnum):
33
+ UPDATING = "UPDATING"
34
+ AVAILABLE = "AVAILABLE"
35
+ PENDING = "PENDING"
36
+ FAILED = "FAILED"
37
+
38
+
32
39
  class AuthorizerType(StrEnum):
33
40
  TOKEN = "TOKEN"
34
41
  REQUEST = "REQUEST"
@@ -85,6 +92,12 @@ class DomainNameStatus(StrEnum):
85
92
  PENDING = "PENDING"
86
93
  PENDING_CERTIFICATE_REIMPORT = "PENDING_CERTIFICATE_REIMPORT"
87
94
  PENDING_OWNERSHIP_VERIFICATION = "PENDING_OWNERSHIP_VERIFICATION"
95
+ FAILED = "FAILED"
96
+
97
+
98
+ class EndpointAccessMode(StrEnum):
99
+ BASIC = "BASIC"
100
+ STRICT = "STRICT"
88
101
 
89
102
 
90
103
  class EndpointType(StrEnum):
@@ -160,6 +173,11 @@ class ResourceOwner(StrEnum):
160
173
  OTHER_ACCOUNTS = "OTHER_ACCOUNTS"
161
174
 
162
175
 
176
+ class ResponseTransferMode(StrEnum):
177
+ BUFFERED = "BUFFERED"
178
+ STREAM = "STREAM"
179
+
180
+
163
181
  class RoutingMode(StrEnum):
164
182
  BASE_PATH_MAPPING_ONLY = "BASE_PATH_MAPPING_ONLY"
165
183
  ROUTING_RULE_ONLY = "ROUTING_RULE_ONLY"
@@ -169,6 +187,15 @@ class RoutingMode(StrEnum):
169
187
  class SecurityPolicy(StrEnum):
170
188
  TLS_1_0 = "TLS_1_0"
171
189
  TLS_1_2 = "TLS_1_2"
190
+ SecurityPolicy_TLS13_1_3_2025_09 = "SecurityPolicy_TLS13_1_3_2025_09"
191
+ SecurityPolicy_TLS13_1_3_FIPS_2025_09 = "SecurityPolicy_TLS13_1_3_FIPS_2025_09"
192
+ SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09 = "SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09"
193
+ SecurityPolicy_TLS13_1_2_FIPS_PQ_2025_09 = "SecurityPolicy_TLS13_1_2_FIPS_PQ_2025_09"
194
+ SecurityPolicy_TLS13_1_2_PQ_2025_09 = "SecurityPolicy_TLS13_1_2_PQ_2025_09"
195
+ SecurityPolicy_TLS13_1_2_2021_06 = "SecurityPolicy_TLS13_1_2_2021_06"
196
+ SecurityPolicy_TLS13_2025_EDGE = "SecurityPolicy_TLS13_2025_EDGE"
197
+ SecurityPolicy_TLS12_PFS_2025_EDGE = "SecurityPolicy_TLS12_PFS_2025_EDGE"
198
+ SecurityPolicy_TLS12_2018_EDGE = "SecurityPolicy_TLS12_2018_EDGE"
172
199
 
173
200
 
174
201
  class UnauthorizedCacheControlHeaderStrategy(StrEnum):
@@ -466,6 +493,7 @@ class CreateDomainNameRequest(ServiceRequest):
466
493
  endpointConfiguration: EndpointConfiguration | None
467
494
  tags: MapOfStringToString | None
468
495
  securityPolicy: SecurityPolicy | None
496
+ endpointAccessMode: EndpointAccessMode | None
469
497
  mutualTlsAuthentication: MutualTlsAuthenticationInput | None
470
498
  ownershipVerificationCertificateArn: String | None
471
499
  policy: String | None
@@ -505,6 +533,8 @@ class CreateRestApiRequest(ServiceRequest):
505
533
  policy: String | None
506
534
  tags: MapOfStringToString | None
507
535
  disableExecuteApiEndpoint: Boolean | None
536
+ securityPolicy: SecurityPolicy | None
537
+ endpointAccessMode: EndpointAccessMode | None
508
538
 
509
539
 
510
540
  class CreateStageRequest(ServiceRequest):
@@ -743,6 +773,7 @@ class DomainName(TypedDict, total=False):
743
773
  domainNameStatus: DomainNameStatus | None
744
774
  domainNameStatusMessage: String | None
745
775
  securityPolicy: SecurityPolicy | None
776
+ endpointAccessMode: EndpointAccessMode | None
746
777
  tags: MapOfStringToString | None
747
778
  mutualTlsAuthentication: MutualTlsAuthentication | None
748
779
  ownershipVerificationCertificateArn: String | None
@@ -1134,6 +1165,8 @@ class Integration(TypedDict, total=False):
1134
1165
  cacheKeyParameters: ListOfString | None
1135
1166
  integrationResponses: MapOfIntegrationResponse | None
1136
1167
  tlsConfig: TlsConfig | None
1168
+ responseTransferMode: ResponseTransferMode | None
1169
+ integrationTarget: String | None
1137
1170
 
1138
1171
 
1139
1172
  Long = int
@@ -1225,6 +1258,10 @@ class RestApi(TypedDict, total=False):
1225
1258
  tags: MapOfStringToString | None
1226
1259
  disableExecuteApiEndpoint: Boolean | None
1227
1260
  rootResourceId: String | None
1261
+ securityPolicy: SecurityPolicy | None
1262
+ endpointAccessMode: EndpointAccessMode | None
1263
+ apiStatus: ApiStatus | None
1264
+ apiStatusMessage: String | None
1228
1265
 
1229
1266
 
1230
1267
  ListOfRestApi = list[RestApi]
@@ -1361,6 +1398,8 @@ class PutIntegrationRequest(TypedDict, total=False):
1361
1398
  contentHandling: ContentHandlingStrategy | None
1362
1399
  timeoutInMillis: NullableInteger | None
1363
1400
  tlsConfig: TlsConfig | None
1401
+ responseTransferMode: ResponseTransferMode | None
1402
+ integrationTarget: String | None
1364
1403
 
1365
1404
 
1366
1405
  class PutIntegrationResponseRequest(ServiceRequest):
@@ -1749,6 +1788,7 @@ class ApigatewayApi:
1749
1788
  endpoint_configuration: EndpointConfiguration | None = None,
1750
1789
  tags: MapOfStringToString | None = None,
1751
1790
  security_policy: SecurityPolicy | None = None,
1791
+ endpoint_access_mode: EndpointAccessMode | None = None,
1752
1792
  mutual_tls_authentication: MutualTlsAuthenticationInput | None = None,
1753
1793
  ownership_verification_certificate_arn: String | None = None,
1754
1794
  policy: String | None = None,
@@ -1820,6 +1860,8 @@ class ApigatewayApi:
1820
1860
  policy: String | None = None,
1821
1861
  tags: MapOfStringToString | None = None,
1822
1862
  disable_execute_api_endpoint: Boolean | None = None,
1863
+ security_policy: SecurityPolicy | None = None,
1864
+ endpoint_access_mode: EndpointAccessMode | None = None,
1823
1865
  **kwargs,
1824
1866
  ) -> RestApi:
1825
1867
  raise NotImplementedError
@@ -43,6 +43,7 @@ ExecutionRoleName = str
43
43
  ExecutionStatusReason = str
44
44
  ExportName = str
45
45
  ExportValue = str
46
+ FailedEventsFilter = bool
46
47
  FailedStackInstancesCount = int
47
48
  FailureToleranceCount = int
48
49
  FailureTolerancePercentage = int
@@ -86,6 +87,7 @@ NextToken = str
86
87
  NoEcho = bool
87
88
  NotificationARN = str
88
89
  NumberOfResources = int
90
+ OperationId = str
89
91
  OperationResultFilterValues = str
90
92
  OptionalSecureUrl = str
91
93
  OrganizationalUnitId = str
@@ -96,6 +98,7 @@ ParameterType = str
96
98
  ParameterValue = str
97
99
  PercentageCompleted = float
98
100
  PhysicalResourceId = str
101
+ PreviousDeploymentContext = str
99
102
  PrivateTypeArn = str
100
103
  Properties = str
101
104
  PropertyDescription = str
@@ -114,6 +117,8 @@ RemediationMessageRemediationMessage = str
114
117
  RemediationMessageStatusMessage = str
115
118
  RequestToken = str
116
119
  RequiredProperty = bool
120
+ ResourceDriftActualValue = str
121
+ ResourceDriftPreviousValue = str
117
122
  ResourceIdentifier = str
118
123
  ResourceIdentifierPropertyKey = str
119
124
  ResourceIdentifierPropertyValue = str
@@ -192,6 +197,9 @@ TypeVersionId = str
192
197
  Url = str
193
198
  UsePreviousTemplate = bool
194
199
  UsePreviousValue = bool
200
+ ValidationName = str
201
+ ValidationPath = str
202
+ ValidationStatusReason = str
195
203
  Value = str
196
204
  Version = str
197
205
 
@@ -209,6 +217,10 @@ class AccountGateStatus(StrEnum):
209
217
  SKIPPED = "SKIPPED"
210
218
 
211
219
 
220
+ class AfterValueFrom(StrEnum):
221
+ TEMPLATE = "TEMPLATE"
222
+
223
+
212
224
  class AnnotationSeverityLevel(StrEnum):
213
225
  INFORMATIONAL = "INFORMATIONAL"
214
226
  LOW = "LOW"
@@ -227,6 +239,18 @@ class AttributeChangeType(StrEnum):
227
239
  Add = "Add"
228
240
  Remove = "Remove"
229
241
  Modify = "Modify"
242
+ SyncWithActual = "SyncWithActual"
243
+
244
+
245
+ class BeaconStackOperationStatus(StrEnum):
246
+ IN_PROGRESS = "IN_PROGRESS"
247
+ SUCCEEDED = "SUCCEEDED"
248
+ FAILED = "FAILED"
249
+
250
+
251
+ class BeforeValueFrom(StrEnum):
252
+ PREVIOUS_DEPLOYMENT_STATE = "PREVIOUS_DEPLOYMENT_STATE"
253
+ ACTUAL_STATE = "ACTUAL_STATE"
230
254
 
231
255
 
232
256
  class CallAs(StrEnum):
@@ -253,6 +277,7 @@ class ChangeAction(StrEnum):
253
277
  Remove = "Remove"
254
278
  Import = "Import"
255
279
  Dynamic = "Dynamic"
280
+ SyncWithActual = "SyncWithActual"
256
281
 
257
282
 
258
283
  class ChangeSetHooksStatus(StrEnum):
@@ -284,6 +309,7 @@ class ChangeSource(StrEnum):
284
309
  ResourceAttribute = "ResourceAttribute"
285
310
  DirectModification = "DirectModification"
286
311
  Automatic = "Automatic"
312
+ NoModification = "NoModification"
287
313
 
288
314
 
289
315
  class ChangeType(StrEnum):
@@ -300,6 +326,10 @@ class DeletionMode(StrEnum):
300
326
  FORCE_DELETE_STACK = "FORCE_DELETE_STACK"
301
327
 
302
328
 
329
+ class DeploymentMode(StrEnum):
330
+ REVERT_DRIFT = "REVERT_DRIFT"
331
+
332
+
303
333
  class DeprecatedStatus(StrEnum):
304
334
  LIVE = "LIVE"
305
335
  DEPRECATED = "DEPRECATED"
@@ -316,11 +346,24 @@ class DifferenceType(StrEnum):
316
346
  NOT_EQUAL = "NOT_EQUAL"
317
347
 
318
348
 
349
+ class DriftIgnoredReason(StrEnum):
350
+ MANAGED_BY_AWS = "MANAGED_BY_AWS"
351
+ WRITE_ONLY_PROPERTY = "WRITE_ONLY_PROPERTY"
352
+
353
+
319
354
  class EvaluationType(StrEnum):
320
355
  Static = "Static"
321
356
  Dynamic = "Dynamic"
322
357
 
323
358
 
359
+ class EventType(StrEnum):
360
+ STACK_EVENT = "STACK_EVENT"
361
+ PROGRESS_EVENT = "PROGRESS_EVENT"
362
+ VALIDATION_ERROR = "VALIDATION_ERROR"
363
+ PROVISIONING_ERROR = "PROVISIONING_ERROR"
364
+ HOOK_INVOCATION_ERROR = "HOOK_INVOCATION_ERROR"
365
+
366
+
324
367
  class ExecutionStatus(StrEnum):
325
368
  UNAVAILABLE = "UNAVAILABLE"
326
369
  AVAILABLE = "AVAILABLE"
@@ -443,6 +486,15 @@ class OperationStatus(StrEnum):
443
486
  FAILED = "FAILED"
444
487
 
445
488
 
489
+ class OperationType(StrEnum):
490
+ CREATE_STACK = "CREATE_STACK"
491
+ UPDATE_STACK = "UPDATE_STACK"
492
+ DELETE_STACK = "DELETE_STACK"
493
+ CONTINUE_ROLLBACK = "CONTINUE_ROLLBACK"
494
+ ROLLBACK = "ROLLBACK"
495
+ CREATE_CHANGESET = "CREATE_CHANGESET"
496
+
497
+
446
498
  class OrganizationStatus(StrEnum):
447
499
  ENABLED = "ENABLED"
448
500
  DISABLED = "DISABLED"
@@ -639,6 +691,7 @@ class StackResourceDriftStatus(StrEnum):
639
691
  DELETED = "DELETED"
640
692
  NOT_CHECKED = "NOT_CHECKED"
641
693
  UNKNOWN = "UNKNOWN"
694
+ UNSUPPORTED = "UNSUPPORTED"
642
695
 
643
696
 
644
697
  class StackSetDriftDetectionStatus(StrEnum):
@@ -733,6 +786,11 @@ class TypeTestsStatus(StrEnum):
733
786
  NOT_TESTED = "NOT_TESTED"
734
787
 
735
788
 
789
+ class ValidationStatus(StrEnum):
790
+ FAILED = "FAILED"
791
+ SKIPPED = "SKIPPED"
792
+
793
+
736
794
  class VersionBump(StrEnum):
737
795
  MAJOR = "MAJOR"
738
796
  MINOR = "MINOR"
@@ -985,11 +1043,13 @@ class Annotation(TypedDict, total=False):
985
1043
 
986
1044
 
987
1045
  AnnotationList = list[Annotation]
1046
+ StackSetARNList = list[StackSetARN]
988
1047
 
989
1048
 
990
1049
  class AutoDeployment(TypedDict, total=False):
991
1050
  Enabled: AutoDeploymentNullable | None
992
1051
  RetainStacksOnAccountRemoval: RetainStacksOnAccountRemovalNullable | None
1052
+ DependsOn: StackSetARNList | None
993
1053
 
994
1054
 
995
1055
  class TypeConfigurationIdentifier(TypedDict, total=False):
@@ -1050,6 +1110,12 @@ class ModuleInfo(TypedDict, total=False):
1050
1110
  LogicalIdHierarchy: LogicalIdHierarchy | None
1051
1111
 
1052
1112
 
1113
+ class LiveResourceDrift(TypedDict, total=False):
1114
+ PreviousValue: ResourceDriftPreviousValue | None
1115
+ ActualValue: ResourceDriftActualValue | None
1116
+ DriftDetectionTimestamp: Timestamp | None
1117
+
1118
+
1053
1119
  class ResourceTargetDefinition(TypedDict, total=False):
1054
1120
  Attribute: ResourceAttribute | None
1055
1121
  Name: PropertyName | None
@@ -1057,6 +1123,9 @@ class ResourceTargetDefinition(TypedDict, total=False):
1057
1123
  Path: ResourcePropertyPath | None
1058
1124
  BeforeValue: BeforeValue | None
1059
1125
  AfterValue: AfterValue | None
1126
+ BeforeValueFrom: BeforeValueFrom | None
1127
+ AfterValueFrom: AfterValueFrom | None
1128
+ Drift: LiveResourceDrift | None
1060
1129
  AttributeChangeType: AttributeChangeType | None
1061
1130
 
1062
1131
 
@@ -1068,6 +1137,14 @@ class ResourceChangeDetail(TypedDict, total=False):
1068
1137
 
1069
1138
 
1070
1139
  ResourceChangeDetails = list[ResourceChangeDetail]
1140
+
1141
+
1142
+ class ResourceDriftIgnoredAttribute(TypedDict, total=False):
1143
+ Path: ResourcePropertyPath | None
1144
+ Reason: DriftIgnoredReason | None
1145
+
1146
+
1147
+ ResourceDriftIgnoredAttributes = list[ResourceDriftIgnoredAttribute]
1071
1148
  Scope = list[ResourceAttribute]
1072
1149
 
1073
1150
 
@@ -1079,11 +1156,14 @@ class ResourceChange(TypedDict, total=False):
1079
1156
  ResourceType: ResourceType | None
1080
1157
  Replacement: Replacement | None
1081
1158
  Scope: Scope | None
1159
+ ResourceDriftStatus: StackResourceDriftStatus | None
1160
+ ResourceDriftIgnoredAttributes: ResourceDriftIgnoredAttributes | None
1082
1161
  Details: ResourceChangeDetails | None
1083
1162
  ChangeSetId: ChangeSetId | None
1084
1163
  ModuleInfo: ModuleInfo | None
1085
1164
  BeforeContext: BeforeContext | None
1086
1165
  AfterContext: AfterContext | None
1166
+ PreviousDeploymentContext: PreviousDeploymentContext | None
1087
1167
 
1088
1168
 
1089
1169
  class Change(TypedDict, total=False):
@@ -1215,6 +1295,7 @@ class CreateChangeSetInput(ServiceRequest):
1215
1295
  IncludeNestedStacks: IncludeNestedStacks | None
1216
1296
  OnStackFailure: OnStackFailure | None
1217
1297
  ImportExistingResources: ImportExistingResources | None
1298
+ DeploymentMode: DeploymentMode | None
1218
1299
 
1219
1300
 
1220
1301
  class CreateChangeSetOutput(TypedDict, total=False):
@@ -1308,6 +1389,7 @@ class CreateStackInstancesOutput(TypedDict, total=False):
1308
1389
 
1309
1390
  class CreateStackOutput(TypedDict, total=False):
1310
1391
  StackId: StackId | None
1392
+ OperationId: OperationId | None
1311
1393
 
1312
1394
 
1313
1395
  class StackDefinition(TypedDict, total=False):
@@ -1493,6 +1575,7 @@ class DescribeChangeSetOutput(TypedDict, total=False):
1493
1575
  ExecutionStatus: ExecutionStatus | None
1494
1576
  Status: ChangeSetStatus | None
1495
1577
  StatusReason: ChangeSetStatusReason | None
1578
+ StackDriftStatus: StackDriftStatus | None
1496
1579
  NotificationARNs: NotificationARNs | None
1497
1580
  RollbackConfiguration: RollbackConfiguration | None
1498
1581
  Capabilities: Capabilities | None
@@ -1504,6 +1587,57 @@ class DescribeChangeSetOutput(TypedDict, total=False):
1504
1587
  RootChangeSetId: ChangeSetId | None
1505
1588
  OnStackFailure: OnStackFailure | None
1506
1589
  ImportExistingResources: ImportExistingResources | None
1590
+ DeploymentMode: DeploymentMode | None
1591
+
1592
+
1593
+ class EventFilter(TypedDict, total=False):
1594
+ FailedEvents: FailedEventsFilter | None
1595
+
1596
+
1597
+ class DescribeEventsInput(ServiceRequest):
1598
+ StackName: StackNameOrId | None
1599
+ ChangeSetName: ChangeSetNameOrId | None
1600
+ OperationId: OperationId | None
1601
+ Filters: EventFilter | None
1602
+ NextToken: NextToken | None
1603
+
1604
+
1605
+ class OperationEvent(TypedDict, total=False):
1606
+ EventId: EventId | None
1607
+ StackId: StackId | None
1608
+ OperationId: OperationId | None
1609
+ OperationType: OperationType | None
1610
+ OperationStatus: BeaconStackOperationStatus | None
1611
+ EventType: EventType | None
1612
+ LogicalResourceId: LogicalResourceId | None
1613
+ PhysicalResourceId: PhysicalResourceId | None
1614
+ ResourceType: ResourceType | None
1615
+ Timestamp: Timestamp | None
1616
+ StartTime: Timestamp | None
1617
+ EndTime: Timestamp | None
1618
+ ResourceStatus: ResourceStatus | None
1619
+ ResourceStatusReason: ResourceStatusReason | None
1620
+ ResourceProperties: ResourceProperties | None
1621
+ ClientRequestToken: ClientRequestToken | None
1622
+ HookType: HookType | None
1623
+ HookStatus: HookStatus | None
1624
+ HookStatusReason: HookStatusReason | None
1625
+ HookInvocationPoint: HookInvocationPoint | None
1626
+ HookFailureMode: HookFailureMode | None
1627
+ DetailedStatus: DetailedStatus | None
1628
+ ValidationFailureMode: HookFailureMode | None
1629
+ ValidationName: ValidationName | None
1630
+ ValidationStatus: ValidationStatus | None
1631
+ ValidationStatusReason: ValidationStatusReason | None
1632
+ ValidationPath: ValidationPath | None
1633
+
1634
+
1635
+ OperationEvents = list[OperationEvent]
1636
+
1637
+
1638
+ class DescribeEventsOutput(TypedDict, total=False):
1639
+ OperationEvents: OperationEvents | None
1640
+ NextToken: NextToken | None
1507
1641
 
1508
1642
 
1509
1643
  class DescribeGeneratedTemplateInput(ServiceRequest):
@@ -1632,6 +1766,7 @@ class StackEvent(TypedDict, total=False):
1632
1766
  StackId: StackId
1633
1767
  EventId: EventId
1634
1768
  StackName: StackName
1769
+ OperationId: OperationId | None
1635
1770
  LogicalResourceId: LogicalResourceId | None
1636
1771
  PhysicalResourceId: PhysicalResourceId | None
1637
1772
  ResourceType: ResourceType | None
@@ -1887,6 +2022,14 @@ class DescribeStacksInput(ServiceRequest):
1887
2022
  NextToken: NextToken | None
1888
2023
 
1889
2024
 
2025
+ class OperationEntry(TypedDict, total=False):
2026
+ OperationType: OperationType | None
2027
+ OperationId: OperationId | None
2028
+
2029
+
2030
+ LastOperations = list[OperationEntry]
2031
+
2032
+
1890
2033
  class StackDriftInformation(TypedDict, total=False):
1891
2034
  StackDriftStatus: StackDriftStatus
1892
2035
  LastCheckTimestamp: Timestamp | None
@@ -1928,6 +2071,7 @@ class Stack(TypedDict, total=False):
1928
2071
  RetainExceptOnCreate: RetainExceptOnCreate | None
1929
2072
  DeletionMode: DeletionMode | None
1930
2073
  DetailedStatus: DetailedStatus | None
2074
+ LastOperations: LastOperations | None
1931
2075
 
1932
2076
 
1933
2077
  Stacks = list[Stack]
@@ -2653,6 +2797,7 @@ class StackSummary(TypedDict, total=False):
2653
2797
  ParentId: StackId | None
2654
2798
  RootId: StackId | None
2655
2799
  DriftInformation: StackDriftInformationSummary | None
2800
+ LastOperations: LastOperations | None
2656
2801
 
2657
2802
 
2658
2803
  StackSummaries = list[StackSummary]
@@ -2805,6 +2950,7 @@ class RollbackStackInput(ServiceRequest):
2805
2950
 
2806
2951
  class RollbackStackOutput(TypedDict, total=False):
2807
2952
  StackId: StackId | None
2953
+ OperationId: OperationId | None
2808
2954
 
2809
2955
 
2810
2956
  class SetStackPolicyInput(ServiceRequest):
@@ -2935,6 +3081,7 @@ class UpdateStackInstancesOutput(TypedDict, total=False):
2935
3081
 
2936
3082
  class UpdateStackOutput(TypedDict, total=False):
2937
3083
  StackId: StackId | None
3084
+ OperationId: OperationId | None
2938
3085
 
2939
3086
 
2940
3087
  class UpdateStackSetInput(ServiceRequest):
@@ -3055,6 +3202,7 @@ class CloudformationApi:
3055
3202
  include_nested_stacks: IncludeNestedStacks | None = None,
3056
3203
  on_stack_failure: OnStackFailure | None = None,
3057
3204
  import_existing_resources: ImportExistingResources | None = None,
3205
+ deployment_mode: DeploymentMode | None = None,
3058
3206
  **kwargs,
3059
3207
  ) -> CreateChangeSetOutput:
3060
3208
  raise NotImplementedError
@@ -3251,6 +3399,19 @@ class CloudformationApi:
3251
3399
  ) -> DescribeChangeSetHooksOutput:
3252
3400
  raise NotImplementedError
3253
3401
 
3402
+ @handler("DescribeEvents")
3403
+ def describe_events(
3404
+ self,
3405
+ context: RequestContext,
3406
+ stack_name: StackNameOrId | None = None,
3407
+ change_set_name: ChangeSetNameOrId | None = None,
3408
+ operation_id: OperationId | None = None,
3409
+ filters: EventFilter | None = None,
3410
+ next_token: NextToken | None = None,
3411
+ **kwargs,
3412
+ ) -> DescribeEventsOutput:
3413
+ raise NotImplementedError
3414
+
3254
3415
  @handler("DescribeGeneratedTemplate")
3255
3416
  def describe_generated_template(
3256
3417
  self, context: RequestContext, generated_template_name: GeneratedTemplateName, **kwargs