localstack-core 4.10.1.dev42__py3-none-any.whl → 4.11.2.dev14__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 (116) 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 +1165 -12
  4. localstack/aws/api/iam/__init__.py +227 -0
  5. localstack/aws/api/kms/__init__.py +1 -0
  6. localstack/aws/api/lambda_/__init__.py +418 -66
  7. localstack/aws/api/logs/__init__.py +312 -0
  8. localstack/aws/api/opensearch/__init__.py +89 -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 +42 -0
  12. localstack/aws/api/route53resolver/__init__.py +1 -0
  13. localstack/aws/api/s3/__init__.py +62 -0
  14. localstack/aws/api/secretsmanager/__init__.py +28 -23
  15. localstack/aws/api/stepfunctions/__init__.py +52 -10
  16. localstack/aws/api/sts/__init__.py +52 -0
  17. localstack/aws/handlers/logging.py +8 -4
  18. localstack/aws/handlers/service.py +11 -2
  19. localstack/aws/protocol/serializer.py +1 -1
  20. localstack/deprecations.py +0 -6
  21. localstack/services/acm/provider.py +4 -0
  22. localstack/services/apigateway/legacy/provider.py +28 -15
  23. localstack/services/cloudformation/engine/template_preparer.py +6 -2
  24. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +12 -0
  25. localstack/services/cloudwatch/provider.py +10 -3
  26. localstack/services/cloudwatch/provider_v2.py +6 -3
  27. localstack/services/configservice/provider.py +5 -1
  28. localstack/services/dynamodb/provider.py +1 -0
  29. localstack/services/dynamodb/v2/provider.py +1 -0
  30. localstack/services/dynamodbstreams/provider.py +6 -0
  31. localstack/services/dynamodbstreams/v2/provider.py +6 -0
  32. localstack/services/ec2/provider.py +6 -0
  33. localstack/services/es/provider.py +6 -0
  34. localstack/services/events/provider.py +4 -0
  35. localstack/services/events/v1/provider.py +9 -0
  36. localstack/services/firehose/provider.py +5 -0
  37. localstack/services/iam/provider.py +4 -0
  38. localstack/services/kms/models.py +10 -20
  39. localstack/services/kms/provider.py +4 -0
  40. localstack/services/lambda_/api_utils.py +37 -20
  41. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  42. localstack/services/lambda_/invocation/assignment.py +4 -1
  43. localstack/services/lambda_/invocation/execution_environment.py +21 -2
  44. localstack/services/lambda_/invocation/lambda_models.py +27 -2
  45. localstack/services/lambda_/invocation/lambda_service.py +51 -3
  46. localstack/services/lambda_/invocation/models.py +9 -1
  47. localstack/services/lambda_/invocation/version_manager.py +18 -3
  48. localstack/services/lambda_/provider.py +239 -95
  49. localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
  50. localstack/services/lambda_/runtimes.py +3 -1
  51. localstack/services/logs/provider.py +9 -0
  52. localstack/services/opensearch/provider.py +53 -3
  53. localstack/services/resource_groups/provider.py +5 -1
  54. localstack/services/resourcegroupstaggingapi/provider.py +6 -1
  55. localstack/services/s3/provider.py +28 -15
  56. localstack/services/s3/utils.py +35 -14
  57. localstack/services/s3control/provider.py +101 -2
  58. localstack/services/s3control/validation.py +50 -0
  59. localstack/services/sns/constants.py +3 -1
  60. localstack/services/sns/publisher.py +15 -6
  61. localstack/services/sns/v2/models.py +6 -0
  62. localstack/services/sns/v2/provider.py +650 -19
  63. localstack/services/sns/v2/utils.py +12 -0
  64. localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
  65. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
  66. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
  67. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
  68. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
  69. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
  70. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
  71. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
  72. localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
  73. localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
  74. localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
  75. localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
  76. localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
  77. localstack/services/stepfunctions/asl/eval/environment.py +30 -22
  78. localstack/services/stepfunctions/asl/eval/states.py +1 -1
  79. localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
  80. localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
  81. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
  82. localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
  83. localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
  84. localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
  85. localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +170 -22
  86. localstack/services/stepfunctions/backend/execution.py +6 -6
  87. localstack/services/stepfunctions/backend/execution_worker.py +5 -5
  88. localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
  89. localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
  90. localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
  91. localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
  92. localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
  93. localstack/services/stepfunctions/provider.py +78 -27
  94. localstack/services/stepfunctions/test_state/mock_config.py +47 -0
  95. localstack/testing/pytest/fixtures.py +28 -0
  96. localstack/testing/snapshots/transformer_utility.py +5 -0
  97. localstack/utils/analytics/publisher.py +37 -155
  98. localstack/utils/analytics/service_request_aggregator.py +6 -4
  99. localstack/utils/aws/arns.py +7 -0
  100. localstack/utils/batching.py +258 -0
  101. localstack/utils/collections.py +23 -11
  102. localstack/version.py +2 -2
  103. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/METADATA +5 -5
  104. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/RECORD +113 -105
  105. localstack_core-4.11.2.dev14.dist-info/plux.json +1 -0
  106. localstack/services/stepfunctions/mocking/__init__.py +0 -0
  107. localstack/utils/batch_policy.py +0 -124
  108. localstack_core-4.10.1.dev42.dist-info/plux.json +0 -1
  109. /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
  110. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack +0 -0
  111. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack-supervisor +0 -0
  112. {localstack_core-4.10.1.dev42.data → localstack_core-4.11.2.dev14.data}/scripts/localstack.bat +0 -0
  113. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/WHEEL +0 -0
  114. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/entry_points.txt +0 -0
  115. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/licenses/LICENSE.txt +0 -0
  116. {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.11.2.dev14.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,7 @@ Column = str
22
22
  DataProtectionPolicyDocument = str
23
23
  Days = int
24
24
  DefaultValue = float
25
+ DeletionProtectionEnabled = bool
25
26
  Delimiter = str
26
27
  DeliveryDestinationName = str
27
28
  DeliveryDestinationPolicy = str
@@ -66,6 +67,7 @@ Flatten = bool
66
67
  Force = bool
67
68
  ForceUpdate = bool
68
69
  FromKey = str
70
+ GetScheduledQueryHistoryMaxResults = int
69
71
  GrokMatch = str
70
72
  IncludeLinkedAccounts = bool
71
73
  InferredTokenName = str
@@ -83,6 +85,7 @@ ListAnomaliesLimit = int
83
85
  ListLimit = int
84
86
  ListLogAnomalyDetectorsLimit = int
85
87
  ListLogGroupsForQueryMaxResults = int
88
+ ListScheduledQueriesMaxResults = int
86
89
  Locale = str
87
90
  LogEventIndex = int
88
91
  LogGroupArn = str
@@ -95,6 +98,7 @@ LogRecordPointer = str
95
98
  LogStreamName = str
96
99
  LogStreamSearchedCompletely = bool
97
100
  LogType = str
101
+ MappingVersion = str
98
102
  MatchPattern = str
99
103
  Message = str
100
104
  MetricName = str
@@ -129,6 +133,12 @@ RequestId = str
129
133
  ResourceIdentifier = str
130
134
  ResourceType = str
131
135
  RoleArn = str
136
+ S3Uri = str
137
+ ScheduleExpression = str
138
+ ScheduleTimezone = str
139
+ ScheduledQueryDescription = str
140
+ ScheduledQueryIdentifier = str
141
+ ScheduledQueryName = str
132
142
  SelectionCriteria = str
133
143
  SequenceToken = str
134
144
  Service = str
@@ -138,6 +148,7 @@ SourceTimezone = str
138
148
  SplitStringDelimiter = str
139
149
  StartFromHead = bool
140
150
  StatsValue = float
151
+ String = str
141
152
  Success = bool
142
153
  SystemField = str
143
154
  TagKey = str
@@ -157,6 +168,13 @@ ValueKey = str
157
168
  WithKey = str
158
169
 
159
170
 
171
+ class ActionStatus(StrEnum):
172
+ IN_PROGRESS = "IN_PROGRESS"
173
+ CLIENT_ERROR = "CLIENT_ERROR"
174
+ FAILED = "FAILED"
175
+ COMPLETE = "COMPLETE"
176
+
177
+
160
178
  class AnomalyDetectorStatus(StrEnum):
161
179
  INITIALIZING = "INITIALIZING"
162
180
  TRAINING = "TRAINING"
@@ -212,6 +230,14 @@ class EventSource(StrEnum):
212
230
  AWSWAF = "AWSWAF"
213
231
 
214
232
 
233
+ class ExecutionStatus(StrEnum):
234
+ Running = "Running"
235
+ InvalidQuery = "InvalidQuery"
236
+ Complete = "Complete"
237
+ Failed = "Failed"
238
+ Timeout = "Timeout"
239
+
240
+
215
241
  class ExportTaskStatusCode(StrEnum):
216
242
  CANCELLED = "CANCELLED"
217
243
  COMPLETED = "COMPLETED"
@@ -253,6 +279,7 @@ class LogGroupClass(StrEnum):
253
279
 
254
280
  class OCSFVersion(StrEnum):
255
281
  V1_1 = "V1.1"
282
+ V1_5 = "V1.5"
256
283
 
257
284
 
258
285
  class OpenSearchResourceStatusType(StrEnum):
@@ -303,6 +330,15 @@ class QueryStatus(StrEnum):
303
330
  Unknown = "Unknown"
304
331
 
305
332
 
333
+ class ScheduledQueryDestinationType(StrEnum):
334
+ S3 = "S3"
335
+
336
+
337
+ class ScheduledQueryState(StrEnum):
338
+ ENABLED = "ENABLED"
339
+ DISABLED = "DISABLED"
340
+
341
+
306
342
  class Scope(StrEnum):
307
343
  ALL = "ALL"
308
344
 
@@ -385,6 +421,12 @@ class DataAlreadyAcceptedException(ServiceException):
385
421
  expectedSequenceToken: SequenceToken | None
386
422
 
387
423
 
424
+ class InternalServerException(ServiceException):
425
+ code: str = "InternalServerException"
426
+ sender_fault: bool = False
427
+ status_code: int = 400
428
+
429
+
388
430
  class InternalStreamingException(ServiceException):
389
431
  code: str = "InternalStreamingException"
390
432
  sender_fault: bool = False
@@ -740,6 +782,7 @@ class CreateLogGroupRequest(ServiceRequest):
740
782
  kmsKeyId: KmsKeyId | None
741
783
  tags: Tags | None
742
784
  logGroupClass: LogGroupClass | None
785
+ deletionProtectionEnabled: DeletionProtectionEnabled | None
743
786
 
744
787
 
745
788
  class CreateLogStreamRequest(ServiceRequest):
@@ -747,6 +790,41 @@ class CreateLogStreamRequest(ServiceRequest):
747
790
  logStreamName: LogStreamName
748
791
 
749
792
 
793
+ class S3Configuration(TypedDict, total=False):
794
+ destinationIdentifier: S3Uri
795
+ roleArn: RoleArn
796
+
797
+
798
+ class DestinationConfiguration(TypedDict, total=False):
799
+ s3Configuration: S3Configuration
800
+
801
+
802
+ StartTimeOffset = int
803
+ ScheduledQueryLogGroupIdentifiers = list[LogGroupIdentifier]
804
+
805
+
806
+ class CreateScheduledQueryRequest(ServiceRequest):
807
+ name: ScheduledQueryName
808
+ description: ScheduledQueryDescription | None
809
+ queryLanguage: QueryLanguage
810
+ queryString: QueryString
811
+ logGroupIdentifiers: ScheduledQueryLogGroupIdentifiers | None
812
+ scheduleExpression: ScheduleExpression
813
+ timezone: ScheduleTimezone | None
814
+ startTimeOffset: StartTimeOffset | None
815
+ destinationConfiguration: DestinationConfiguration | None
816
+ scheduleStartTime: Timestamp | None
817
+ scheduleEndTime: Timestamp | None
818
+ executionRoleArn: RoleArn
819
+ state: ScheduledQueryState | None
820
+ tags: Tags | None
821
+
822
+
823
+ class CreateScheduledQueryResponse(TypedDict, total=False):
824
+ scheduledQueryArn: Arn | None
825
+ state: ScheduledQueryState | None
826
+
827
+
750
828
  DashboardViewerPrincipals = list[Arn]
751
829
  Data = bytes
752
830
  MatchPatterns = list[MatchPattern]
@@ -851,6 +929,14 @@ class DeleteRetentionPolicyRequest(ServiceRequest):
851
929
  logGroupName: LogGroupName
852
930
 
853
931
 
932
+ class DeleteScheduledQueryRequest(ServiceRequest):
933
+ identifier: ScheduledQueryIdentifier
934
+
935
+
936
+ class DeleteScheduledQueryResponse(TypedDict, total=False):
937
+ pass
938
+
939
+
854
940
  class DeleteSubscriptionFilterRequest(ServiceRequest):
855
941
  logGroupName: LogGroupName
856
942
  filterName: FilterName
@@ -1094,6 +1180,7 @@ class LogGroup(TypedDict, total=False):
1094
1180
  inheritedProperties: InheritedProperties | None
1095
1181
  logGroupClass: LogGroupClass | None
1096
1182
  logGroupArn: Arn | None
1183
+ deletionProtectionEnabled: DeletionProtectionEnabled | None
1097
1184
 
1098
1185
 
1099
1186
  LogGroups = list[LogGroup]
@@ -1296,6 +1383,7 @@ class Entity(TypedDict, total=False):
1296
1383
 
1297
1384
 
1298
1385
  EventNumber = int
1386
+ ExecutionStatusList = list[ExecutionStatus]
1299
1387
  ExtractedValues = dict[Token, Value]
1300
1388
 
1301
1389
 
@@ -1582,6 +1670,69 @@ class GetQueryResultsResponse(TypedDict, total=False):
1582
1670
  encryptionKey: EncryptionKey | None
1583
1671
 
1584
1672
 
1673
+ class GetScheduledQueryHistoryRequest(ServiceRequest):
1674
+ identifier: ScheduledQueryIdentifier
1675
+ startTime: Timestamp
1676
+ endTime: Timestamp
1677
+ executionStatuses: ExecutionStatusList | None
1678
+ maxResults: GetScheduledQueryHistoryMaxResults | None
1679
+ nextToken: NextToken | None
1680
+
1681
+
1682
+ class ScheduledQueryDestination(TypedDict, total=False):
1683
+ destinationType: ScheduledQueryDestinationType | None
1684
+ destinationIdentifier: String | None
1685
+ status: ActionStatus | None
1686
+ processedIdentifier: String | None
1687
+ errorMessage: String | None
1688
+
1689
+
1690
+ ScheduledQueryDestinationList = list[ScheduledQueryDestination]
1691
+
1692
+
1693
+ class TriggerHistoryRecord(TypedDict, total=False):
1694
+ queryId: QueryId | None
1695
+ executionStatus: ExecutionStatus | None
1696
+ triggeredTimestamp: Timestamp | None
1697
+ errorMessage: String | None
1698
+ destinations: ScheduledQueryDestinationList | None
1699
+
1700
+
1701
+ TriggerHistoryRecordList = list[TriggerHistoryRecord]
1702
+
1703
+
1704
+ class GetScheduledQueryHistoryResponse(TypedDict, total=False):
1705
+ name: ScheduledQueryName | None
1706
+ scheduledQueryArn: Arn | None
1707
+ triggerHistory: TriggerHistoryRecordList | None
1708
+ nextToken: NextToken | None
1709
+
1710
+
1711
+ class GetScheduledQueryRequest(ServiceRequest):
1712
+ identifier: ScheduledQueryIdentifier
1713
+
1714
+
1715
+ class GetScheduledQueryResponse(TypedDict, total=False):
1716
+ scheduledQueryArn: Arn | None
1717
+ name: ScheduledQueryName | None
1718
+ description: ScheduledQueryDescription | None
1719
+ queryLanguage: QueryLanguage | None
1720
+ queryString: QueryString | None
1721
+ logGroupIdentifiers: ScheduledQueryLogGroupIdentifiers | None
1722
+ scheduleExpression: ScheduleExpression | None
1723
+ timezone: ScheduleTimezone | None
1724
+ startTimeOffset: StartTimeOffset | None
1725
+ destinationConfiguration: DestinationConfiguration | None
1726
+ state: ScheduledQueryState | None
1727
+ lastTriggeredTime: Timestamp | None
1728
+ lastExecutionStatus: ExecutionStatus | None
1729
+ scheduleStartTime: Timestamp | None
1730
+ scheduleEndTime: Timestamp | None
1731
+ executionRoleArn: RoleArn | None
1732
+ creationTime: Timestamp | None
1733
+ lastUpdatedTime: Timestamp | None
1734
+
1735
+
1585
1736
  class GetTransformerRequest(ServiceRequest):
1586
1737
  logGroupIdentifier: LogGroupIdentifier
1587
1738
 
@@ -1669,6 +1820,7 @@ class ParseToOCSF(TypedDict, total=False):
1669
1820
  source: Source | None
1670
1821
  eventSource: EventSource
1671
1822
  ocsfVersion: OCSFVersion
1823
+ mappingVersion: MappingVersion | None
1672
1824
 
1673
1825
 
1674
1826
  class ParseRoute53(TypedDict, total=False):
@@ -1851,6 +2003,33 @@ class ListLogGroupsResponse(TypedDict, total=False):
1851
2003
  nextToken: NextToken | None
1852
2004
 
1853
2005
 
2006
+ class ListScheduledQueriesRequest(ServiceRequest):
2007
+ maxResults: ListScheduledQueriesMaxResults | None
2008
+ nextToken: NextToken | None
2009
+ state: ScheduledQueryState | None
2010
+
2011
+
2012
+ class ScheduledQuerySummary(TypedDict, total=False):
2013
+ scheduledQueryArn: Arn | None
2014
+ name: ScheduledQueryName | None
2015
+ state: ScheduledQueryState | None
2016
+ lastTriggeredTime: Timestamp | None
2017
+ lastExecutionStatus: ExecutionStatus | None
2018
+ scheduleExpression: ScheduleExpression | None
2019
+ timezone: ScheduleTimezone | None
2020
+ destinationConfiguration: DestinationConfiguration | None
2021
+ creationTime: Timestamp | None
2022
+ lastUpdatedTime: Timestamp | None
2023
+
2024
+
2025
+ ScheduledQuerySummaryList = list[ScheduledQuerySummary]
2026
+
2027
+
2028
+ class ListScheduledQueriesResponse(TypedDict, total=False):
2029
+ nextToken: NextToken | None
2030
+ scheduledQueries: ScheduledQuerySummaryList | None
2031
+
2032
+
1854
2033
  class ListTagsForResourceRequest(ServiceRequest):
1855
2034
  resourceArn: AmazonResourceName
1856
2035
 
@@ -2034,6 +2213,11 @@ class PutLogEventsResponse(TypedDict, total=False):
2034
2213
  rejectedEntityInfo: RejectedEntityInfo | None
2035
2214
 
2036
2215
 
2216
+ class PutLogGroupDeletionProtectionRequest(ServiceRequest):
2217
+ logGroupIdentifier: LogGroupIdentifier
2218
+ deletionProtectionEnabled: DeletionProtectionEnabled
2219
+
2220
+
2037
2221
  class PutMetricFilterRequest(ServiceRequest):
2038
2222
  logGroupName: LogGroupName
2039
2223
  filterName: FilterName
@@ -2219,6 +2403,43 @@ class UpdateLogAnomalyDetectorRequest(ServiceRequest):
2219
2403
  enabled: Boolean
2220
2404
 
2221
2405
 
2406
+ class UpdateScheduledQueryRequest(ServiceRequest):
2407
+ identifier: ScheduledQueryIdentifier
2408
+ description: ScheduledQueryDescription | None
2409
+ queryLanguage: QueryLanguage
2410
+ queryString: QueryString
2411
+ logGroupIdentifiers: ScheduledQueryLogGroupIdentifiers | None
2412
+ scheduleExpression: ScheduleExpression
2413
+ timezone: ScheduleTimezone | None
2414
+ startTimeOffset: StartTimeOffset | None
2415
+ destinationConfiguration: DestinationConfiguration | None
2416
+ scheduleStartTime: Timestamp | None
2417
+ scheduleEndTime: Timestamp | None
2418
+ executionRoleArn: RoleArn
2419
+ state: ScheduledQueryState | None
2420
+
2421
+
2422
+ class UpdateScheduledQueryResponse(TypedDict, total=False):
2423
+ scheduledQueryArn: Arn | None
2424
+ name: ScheduledQueryName | None
2425
+ description: ScheduledQueryDescription | None
2426
+ queryLanguage: QueryLanguage | None
2427
+ queryString: QueryString | None
2428
+ logGroupIdentifiers: ScheduledQueryLogGroupIdentifiers | None
2429
+ scheduleExpression: ScheduleExpression | None
2430
+ timezone: ScheduleTimezone | None
2431
+ startTimeOffset: StartTimeOffset | None
2432
+ destinationConfiguration: DestinationConfiguration | None
2433
+ state: ScheduledQueryState | None
2434
+ lastTriggeredTime: Timestamp | None
2435
+ lastExecutionStatus: ExecutionStatus | None
2436
+ scheduleStartTime: Timestamp | None
2437
+ scheduleEndTime: Timestamp | None
2438
+ executionRoleArn: RoleArn | None
2439
+ creationTime: Timestamp | None
2440
+ lastUpdatedTime: Timestamp | None
2441
+
2442
+
2222
2443
  class LogsApi:
2223
2444
  service: str = "logs"
2224
2445
  version: str = "2014-03-28"
@@ -2281,6 +2502,7 @@ class LogsApi:
2281
2502
  kms_key_id: KmsKeyId | None = None,
2282
2503
  tags: Tags | None = None,
2283
2504
  log_group_class: LogGroupClass | None = None,
2505
+ deletion_protection_enabled: DeletionProtectionEnabled | None = None,
2284
2506
  **kwargs,
2285
2507
  ) -> None:
2286
2508
  raise NotImplementedError
@@ -2295,6 +2517,28 @@ class LogsApi:
2295
2517
  ) -> None:
2296
2518
  raise NotImplementedError
2297
2519
 
2520
+ @handler("CreateScheduledQuery")
2521
+ def create_scheduled_query(
2522
+ self,
2523
+ context: RequestContext,
2524
+ name: ScheduledQueryName,
2525
+ query_language: QueryLanguage,
2526
+ query_string: QueryString,
2527
+ schedule_expression: ScheduleExpression,
2528
+ execution_role_arn: RoleArn,
2529
+ description: ScheduledQueryDescription | None = None,
2530
+ log_group_identifiers: ScheduledQueryLogGroupIdentifiers | None = None,
2531
+ timezone: ScheduleTimezone | None = None,
2532
+ start_time_offset: StartTimeOffset | None = None,
2533
+ destination_configuration: DestinationConfiguration | None = None,
2534
+ schedule_start_time: Timestamp | None = None,
2535
+ schedule_end_time: Timestamp | None = None,
2536
+ state: ScheduledQueryState | None = None,
2537
+ tags: Tags | None = None,
2538
+ **kwargs,
2539
+ ) -> CreateScheduledQueryResponse:
2540
+ raise NotImplementedError
2541
+
2298
2542
  @handler("DeleteAccountPolicy")
2299
2543
  def delete_account_policy(
2300
2544
  self, context: RequestContext, policy_name: PolicyName, policy_type: PolicyType, **kwargs
@@ -2406,6 +2650,12 @@ class LogsApi:
2406
2650
  ) -> None:
2407
2651
  raise NotImplementedError
2408
2652
 
2653
+ @handler("DeleteScheduledQuery")
2654
+ def delete_scheduled_query(
2655
+ self, context: RequestContext, identifier: ScheduledQueryIdentifier, **kwargs
2656
+ ) -> DeleteScheduledQueryResponse:
2657
+ raise NotImplementedError
2658
+
2409
2659
  @handler("DeleteSubscriptionFilter")
2410
2660
  def delete_subscription_filter(
2411
2661
  self,
@@ -2740,6 +2990,26 @@ class LogsApi:
2740
2990
  ) -> GetQueryResultsResponse:
2741
2991
  raise NotImplementedError
2742
2992
 
2993
+ @handler("GetScheduledQuery")
2994
+ def get_scheduled_query(
2995
+ self, context: RequestContext, identifier: ScheduledQueryIdentifier, **kwargs
2996
+ ) -> GetScheduledQueryResponse:
2997
+ raise NotImplementedError
2998
+
2999
+ @handler("GetScheduledQueryHistory")
3000
+ def get_scheduled_query_history(
3001
+ self,
3002
+ context: RequestContext,
3003
+ identifier: ScheduledQueryIdentifier,
3004
+ start_time: Timestamp,
3005
+ end_time: Timestamp,
3006
+ execution_statuses: ExecutionStatusList | None = None,
3007
+ max_results: GetScheduledQueryHistoryMaxResults | None = None,
3008
+ next_token: NextToken | None = None,
3009
+ **kwargs,
3010
+ ) -> GetScheduledQueryHistoryResponse:
3011
+ raise NotImplementedError
3012
+
2743
3013
  @handler("GetTransformer")
2744
3014
  def get_transformer(
2745
3015
  self, context: RequestContext, log_group_identifier: LogGroupIdentifier, **kwargs
@@ -2805,6 +3075,17 @@ class LogsApi:
2805
3075
  ) -> ListLogGroupsForQueryResponse:
2806
3076
  raise NotImplementedError
2807
3077
 
3078
+ @handler("ListScheduledQueries")
3079
+ def list_scheduled_queries(
3080
+ self,
3081
+ context: RequestContext,
3082
+ max_results: ListScheduledQueriesMaxResults | None = None,
3083
+ next_token: NextToken | None = None,
3084
+ state: ScheduledQueryState | None = None,
3085
+ **kwargs,
3086
+ ) -> ListScheduledQueriesResponse:
3087
+ raise NotImplementedError
3088
+
2808
3089
  @handler("ListTagsForResource")
2809
3090
  def list_tags_for_resource(
2810
3091
  self, context: RequestContext, resource_arn: AmazonResourceName, **kwargs
@@ -2932,6 +3213,16 @@ class LogsApi:
2932
3213
  ) -> PutLogEventsResponse:
2933
3214
  raise NotImplementedError
2934
3215
 
3216
+ @handler("PutLogGroupDeletionProtection")
3217
+ def put_log_group_deletion_protection(
3218
+ self,
3219
+ context: RequestContext,
3220
+ log_group_identifier: LogGroupIdentifier,
3221
+ deletion_protection_enabled: DeletionProtectionEnabled,
3222
+ **kwargs,
3223
+ ) -> None:
3224
+ raise NotImplementedError
3225
+
2935
3226
  @handler("PutMetricFilter")
2936
3227
  def put_metric_filter(
2937
3228
  self,
@@ -3128,3 +3419,24 @@ class LogsApi:
3128
3419
  **kwargs,
3129
3420
  ) -> None:
3130
3421
  raise NotImplementedError
3422
+
3423
+ @handler("UpdateScheduledQuery")
3424
+ def update_scheduled_query(
3425
+ self,
3426
+ context: RequestContext,
3427
+ identifier: ScheduledQueryIdentifier,
3428
+ query_language: QueryLanguage,
3429
+ query_string: QueryString,
3430
+ schedule_expression: ScheduleExpression,
3431
+ execution_role_arn: RoleArn,
3432
+ description: ScheduledQueryDescription | None = None,
3433
+ log_group_identifiers: ScheduledQueryLogGroupIdentifiers | None = None,
3434
+ timezone: ScheduleTimezone | None = None,
3435
+ start_time_offset: StartTimeOffset | None = None,
3436
+ destination_configuration: DestinationConfiguration | None = None,
3437
+ schedule_start_time: Timestamp | None = None,
3438
+ schedule_end_time: Timestamp | None = None,
3439
+ state: ScheduledQueryState | None = None,
3440
+ **kwargs,
3441
+ ) -> UpdateScheduledQueryResponse:
3442
+ raise NotImplementedError
@@ -46,6 +46,7 @@ IdentityCenterApplicationARN = str
46
46
  IdentityCenterInstanceARN = str
47
47
  IdentityPoolId = str
48
48
  IdentityStoreId = str
49
+ IndexName = str
49
50
  InstanceCount = int
50
51
  InstanceRole = str
51
52
  InstanceTypeString = str
@@ -262,6 +263,12 @@ class InboundConnectionStatusCode(StrEnum):
262
263
  DELETED = "DELETED"
263
264
 
264
265
 
266
+ class IndexStatus(StrEnum):
267
+ CREATED = "CREATED"
268
+ UPDATED = "UPDATED"
269
+ DELETED = "DELETED"
270
+
271
+
265
272
  class InitiatedBy(StrEnum):
266
273
  CUSTOMER = "CUSTOMER"
267
274
  SERVICE = "SERVICE"
@@ -679,6 +686,12 @@ class SlotNotAvailableException(ServiceException):
679
686
  SlotSuggestions: SlotList | None
680
687
 
681
688
 
689
+ class ThrottlingException(ServiceException):
690
+ code: str = "ThrottlingException"
691
+ sender_fault: bool = False
692
+ status_code: int = 429
693
+
694
+
682
695
  class ValidationException(ServiceException):
683
696
  code: str = "ValidationException"
684
697
  sender_fault: bool = False
@@ -1466,6 +1479,20 @@ class CreateDomainResponse(TypedDict, total=False):
1466
1479
  DomainStatus: DomainStatus | None
1467
1480
 
1468
1481
 
1482
+ class IndexSchema(TypedDict, total=False):
1483
+ pass
1484
+
1485
+
1486
+ class CreateIndexRequest(ServiceRequest):
1487
+ DomainName: DomainName
1488
+ IndexName: IndexName
1489
+ IndexSchema: IndexSchema
1490
+
1491
+
1492
+ class CreateIndexResponse(TypedDict, total=False):
1493
+ Status: IndexStatus
1494
+
1495
+
1469
1496
  class CreateOutboundConnectionRequest(ServiceRequest):
1470
1497
  LocalDomainInfo: DomainInformationContainer
1471
1498
  RemoteDomainInfo: DomainInformationContainer
@@ -1625,6 +1652,15 @@ class DeleteInboundConnectionResponse(TypedDict, total=False):
1625
1652
  Connection: InboundConnection | None
1626
1653
 
1627
1654
 
1655
+ class DeleteIndexRequest(ServiceRequest):
1656
+ DomainName: DomainName
1657
+ IndexName: IndexName
1658
+
1659
+
1660
+ class DeleteIndexResponse(TypedDict, total=False):
1661
+ Status: IndexStatus
1662
+
1663
+
1628
1664
  class DeleteOutboundConnectionRequest(ServiceRequest):
1629
1665
  ConnectionId: ConnectionId
1630
1666
 
@@ -2200,6 +2236,15 @@ class GetDomainMaintenanceStatusResponse(TypedDict, total=False):
2200
2236
  UpdatedAt: UpdateTimestamp | None
2201
2237
 
2202
2238
 
2239
+ class GetIndexRequest(ServiceRequest):
2240
+ DomainName: DomainName
2241
+ IndexName: IndexName
2242
+
2243
+
2244
+ class GetIndexResponse(TypedDict, total=False):
2245
+ IndexSchema: IndexSchema
2246
+
2247
+
2203
2248
  class GetPackageVersionHistoryRequest(ServiceRequest):
2204
2249
  PackageID: PackageID
2205
2250
  MaxResults: MaxResults | None
@@ -2579,6 +2624,16 @@ class UpdateDomainConfigResponse(TypedDict, total=False):
2579
2624
  DryRunProgressStatus: DryRunProgressStatus | None
2580
2625
 
2581
2626
 
2627
+ class UpdateIndexRequest(ServiceRequest):
2628
+ DomainName: DomainName
2629
+ IndexName: IndexName
2630
+ IndexSchema: IndexSchema
2631
+
2632
+
2633
+ class UpdateIndexResponse(TypedDict, total=False):
2634
+ Status: IndexStatus
2635
+
2636
+
2582
2637
  class UpdatePackageRequest(ServiceRequest):
2583
2638
  PackageID: PackageID
2584
2639
  PackageSource: PackageSource
@@ -2772,6 +2827,17 @@ class OpensearchApi:
2772
2827
  ) -> CreateDomainResponse:
2773
2828
  raise NotImplementedError
2774
2829
 
2830
+ @handler("CreateIndex")
2831
+ def create_index(
2832
+ self,
2833
+ context: RequestContext,
2834
+ domain_name: DomainName,
2835
+ index_name: IndexName,
2836
+ index_schema: IndexSchema,
2837
+ **kwargs,
2838
+ ) -> CreateIndexResponse:
2839
+ raise NotImplementedError
2840
+
2775
2841
  @handler("CreateOutboundConnection")
2776
2842
  def create_outbound_connection(
2777
2843
  self,
@@ -2842,6 +2908,12 @@ class OpensearchApi:
2842
2908
  ) -> DeleteInboundConnectionResponse:
2843
2909
  raise NotImplementedError
2844
2910
 
2911
+ @handler("DeleteIndex")
2912
+ def delete_index(
2913
+ self, context: RequestContext, domain_name: DomainName, index_name: IndexName, **kwargs
2914
+ ) -> DeleteIndexResponse:
2915
+ raise NotImplementedError
2916
+
2845
2917
  @handler("DeleteOutboundConnection")
2846
2918
  def delete_outbound_connection(
2847
2919
  self, context: RequestContext, connection_id: ConnectionId, **kwargs
@@ -3044,6 +3116,12 @@ class OpensearchApi:
3044
3116
  ) -> GetDomainMaintenanceStatusResponse:
3045
3117
  raise NotImplementedError
3046
3118
 
3119
+ @handler("GetIndex")
3120
+ def get_index(
3121
+ self, context: RequestContext, domain_name: DomainName, index_name: IndexName, **kwargs
3122
+ ) -> GetIndexResponse:
3123
+ raise NotImplementedError
3124
+
3047
3125
  @handler("GetPackageVersionHistory")
3048
3126
  def get_package_version_history(
3049
3127
  self,
@@ -3328,6 +3406,17 @@ class OpensearchApi:
3328
3406
  ) -> UpdateDomainConfigResponse:
3329
3407
  raise NotImplementedError
3330
3408
 
3409
+ @handler("UpdateIndex")
3410
+ def update_index(
3411
+ self,
3412
+ context: RequestContext,
3413
+ domain_name: DomainName,
3414
+ index_name: IndexName,
3415
+ index_schema: IndexSchema,
3416
+ **kwargs,
3417
+ ) -> UpdateIndexResponse:
3418
+ raise NotImplementedError
3419
+
3331
3420
  @handler("UpdatePackage")
3332
3421
  def update_package(
3333
3422
  self,