localstack-core 4.3.1.dev93__py3-none-any.whl → 4.3.1.dev95__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.
- localstack/aws/api/acm/__init__.py +17 -0
- localstack/aws/api/ec2/__init__.py +11 -1
- localstack/aws/api/kinesis/__init__.py +48 -6
- localstack/aws/api/logs/__init__.py +1 -0
- localstack/aws/api/ssm/__init__.py +94 -0
- localstack/utils/diagnose.py +2 -2
- localstack/version.py +2 -2
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/METADATA +3 -3
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/RECORD +17 -18
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/WHEEL +1 -1
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/entry_points.txt +0 -1
- localstack_core-4.3.1.dev95.dist-info/plux.json +1 -0
- localstack/utils/analytics/usage.py +0 -169
- localstack_core-4.3.1.dev93.dist-info/plux.json +0 -1
- {localstack_core-4.3.1.dev93.data → localstack_core-4.3.1.dev95.data}/scripts/localstack +0 -0
- {localstack_core-4.3.1.dev93.data → localstack_core-4.3.1.dev95.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.3.1.dev93.data → localstack_core-4.3.1.dev95.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/top_level.txt +0 -0
@@ -23,6 +23,10 @@ TagValue = str
|
|
23
23
|
ValidationExceptionMessage = str
|
24
24
|
|
25
25
|
|
26
|
+
class CertificateManagedBy(StrEnum):
|
27
|
+
CLOUDFRONT = "CLOUDFRONT"
|
28
|
+
|
29
|
+
|
26
30
|
class CertificateStatus(StrEnum):
|
27
31
|
PENDING_VALIDATION = "PENDING_VALIDATION"
|
28
32
|
ISSUED = "ISSUED"
|
@@ -131,6 +135,7 @@ class RevocationReason(StrEnum):
|
|
131
135
|
CA_COMPROMISE = "CA_COMPROMISE"
|
132
136
|
AFFILIATION_CHANGED = "AFFILIATION_CHANGED"
|
133
137
|
SUPERCEDED = "SUPERCEDED"
|
138
|
+
SUPERSEDED = "SUPERSEDED"
|
134
139
|
CESSATION_OF_OPERATION = "CESSATION_OF_OPERATION"
|
135
140
|
CERTIFICATE_HOLD = "CERTIFICATE_HOLD"
|
136
141
|
REMOVE_FROM_CRL = "REMOVE_FROM_CRL"
|
@@ -150,6 +155,7 @@ class SortOrder(StrEnum):
|
|
150
155
|
class ValidationMethod(StrEnum):
|
151
156
|
EMAIL = "EMAIL"
|
152
157
|
DNS = "DNS"
|
158
|
+
HTTP = "HTTP"
|
153
159
|
|
154
160
|
|
155
161
|
class AccessDeniedException(ServiceException):
|
@@ -285,6 +291,11 @@ KeyUsageList = List[KeyUsage]
|
|
285
291
|
TStamp = datetime
|
286
292
|
|
287
293
|
|
294
|
+
class HttpRedirect(TypedDict, total=False):
|
295
|
+
RedirectFrom: Optional[String]
|
296
|
+
RedirectTo: Optional[String]
|
297
|
+
|
298
|
+
|
288
299
|
class ResourceRecord(TypedDict, total=False):
|
289
300
|
Name: String
|
290
301
|
Type: RecordType
|
@@ -300,6 +311,7 @@ class DomainValidation(TypedDict, total=False):
|
|
300
311
|
ValidationDomain: Optional[DomainNameString]
|
301
312
|
ValidationStatus: Optional[DomainStatus]
|
302
313
|
ResourceRecord: Optional[ResourceRecord]
|
314
|
+
HttpRedirect: Optional[HttpRedirect]
|
303
315
|
ValidationMethod: Optional[ValidationMethod]
|
304
316
|
|
305
317
|
|
@@ -321,6 +333,7 @@ class CertificateDetail(TypedDict, total=False):
|
|
321
333
|
CertificateArn: Optional[Arn]
|
322
334
|
DomainName: Optional[DomainNameString]
|
323
335
|
SubjectAlternativeNames: Optional[DomainList]
|
336
|
+
ManagedBy: Optional[CertificateManagedBy]
|
324
337
|
DomainValidationOptions: Optional[DomainValidationList]
|
325
338
|
Serial: Optional[String]
|
326
339
|
Subject: Optional[String]
|
@@ -370,6 +383,7 @@ class CertificateSummary(TypedDict, total=False):
|
|
370
383
|
IssuedAt: Optional[TStamp]
|
371
384
|
ImportedAt: Optional[TStamp]
|
372
385
|
RevokedAt: Optional[TStamp]
|
386
|
+
ManagedBy: Optional[CertificateManagedBy]
|
373
387
|
|
374
388
|
|
375
389
|
CertificateSummaryList = List[CertificateSummary]
|
@@ -422,6 +436,7 @@ class Filters(TypedDict, total=False):
|
|
422
436
|
extendedKeyUsage: Optional[ExtendedKeyUsageFilterList]
|
423
437
|
keyUsage: Optional[KeyUsageFilterList]
|
424
438
|
keyTypes: Optional[KeyAlgorithmList]
|
439
|
+
managedBy: Optional[CertificateManagedBy]
|
425
440
|
|
426
441
|
|
427
442
|
class GetAccountConfigurationResponse(TypedDict, total=False):
|
@@ -498,6 +513,7 @@ class RequestCertificateRequest(ServiceRequest):
|
|
498
513
|
CertificateAuthorityArn: Optional[PcaArn]
|
499
514
|
Tags: Optional[TagList]
|
500
515
|
KeyAlgorithm: Optional[KeyAlgorithm]
|
516
|
+
ManagedBy: Optional[CertificateManagedBy]
|
501
517
|
|
502
518
|
|
503
519
|
class RequestCertificateResponse(TypedDict, total=False):
|
@@ -619,6 +635,7 @@ class AcmApi:
|
|
619
635
|
certificate_authority_arn: PcaArn = None,
|
620
636
|
tags: TagList = None,
|
621
637
|
key_algorithm: KeyAlgorithm = None,
|
638
|
+
managed_by: CertificateManagedBy = None,
|
622
639
|
**kwargs,
|
623
640
|
) -> RequestCertificateResponse:
|
624
641
|
raise NotImplementedError
|
@@ -2316,6 +2316,11 @@ class IpamManagementState(StrEnum):
|
|
2316
2316
|
ignored = "ignored"
|
2317
2317
|
|
2318
2318
|
|
2319
|
+
class IpamMeteredAccount(StrEnum):
|
2320
|
+
ipam_owner = "ipam-owner"
|
2321
|
+
resource_owner = "resource-owner"
|
2322
|
+
|
2323
|
+
|
2319
2324
|
class IpamNetworkInterfaceAttachmentStatus(StrEnum):
|
2320
2325
|
available = "available"
|
2321
2326
|
in_use = "in-use"
|
@@ -7012,7 +7017,7 @@ class FleetLaunchTemplateOverridesRequest(TypedDict, total=False):
|
|
7012
7017
|
Placement: Optional[Placement]
|
7013
7018
|
BlockDeviceMappings: Optional[FleetBlockDeviceMappingRequestList]
|
7014
7019
|
InstanceRequirements: Optional[InstanceRequirementsRequest]
|
7015
|
-
ImageId: Optional[
|
7020
|
+
ImageId: Optional[ImageId]
|
7016
7021
|
|
7017
7022
|
|
7018
7023
|
FleetLaunchTemplateOverridesListRequest = List[FleetLaunchTemplateOverridesRequest]
|
@@ -7382,6 +7387,7 @@ class CreateIpamRequest(ServiceRequest):
|
|
7382
7387
|
ClientToken: Optional[String]
|
7383
7388
|
Tier: Optional[IpamTier]
|
7384
7389
|
EnablePrivateGua: Optional[Boolean]
|
7390
|
+
MeteredAccount: Optional[IpamMeteredAccount]
|
7385
7391
|
|
7386
7392
|
|
7387
7393
|
class CreateIpamResourceDiscoveryRequest(ServiceRequest):
|
@@ -7441,6 +7447,7 @@ class Ipam(TypedDict, total=False):
|
|
7441
7447
|
StateMessage: Optional[String]
|
7442
7448
|
Tier: Optional[IpamTier]
|
7443
7449
|
EnablePrivateGua: Optional[Boolean]
|
7450
|
+
MeteredAccount: Optional[IpamMeteredAccount]
|
7444
7451
|
|
7445
7452
|
|
7446
7453
|
class CreateIpamResult(TypedDict, total=False):
|
@@ -18368,6 +18375,7 @@ class ModifyIpamRequest(ServiceRequest):
|
|
18368
18375
|
RemoveOperatingRegions: Optional[RemoveIpamOperatingRegionSet]
|
18369
18376
|
Tier: Optional[IpamTier]
|
18370
18377
|
EnablePrivateGua: Optional[Boolean]
|
18378
|
+
MeteredAccount: Optional[IpamMeteredAccount]
|
18371
18379
|
|
18372
18380
|
|
18373
18381
|
class ModifyIpamResourceCidrRequest(ServiceRequest):
|
@@ -21212,6 +21220,7 @@ class Ec2Api:
|
|
21212
21220
|
client_token: String = None,
|
21213
21221
|
tier: IpamTier = None,
|
21214
21222
|
enable_private_gua: Boolean = None,
|
21223
|
+
metered_account: IpamMeteredAccount = None,
|
21215
21224
|
**kwargs,
|
21216
21225
|
) -> CreateIpamResult:
|
21217
21226
|
raise NotImplementedError
|
@@ -26845,6 +26854,7 @@ class Ec2Api:
|
|
26845
26854
|
remove_operating_regions: RemoveIpamOperatingRegionSet = None,
|
26846
26855
|
tier: IpamTier = None,
|
26847
26856
|
enable_private_gua: Boolean = None,
|
26857
|
+
metered_account: IpamMeteredAccount = None,
|
26848
26858
|
**kwargs,
|
26849
26859
|
) -> ModifyIpamResult:
|
26850
26860
|
raise NotImplementedError
|
@@ -494,11 +494,8 @@ class ListStreamsOutput(TypedDict, total=False):
|
|
494
494
|
StreamSummaries: Optional[StreamSummaryList]
|
495
495
|
|
496
496
|
|
497
|
-
class
|
498
|
-
|
499
|
-
ExclusiveStartTagKey: Optional[TagKey]
|
500
|
-
Limit: Optional[ListTagsForStreamInputLimit]
|
501
|
-
StreamARN: Optional[StreamARN]
|
497
|
+
class ListTagsForResourceInput(ServiceRequest):
|
498
|
+
ResourceARN: ResourceARN
|
502
499
|
|
503
500
|
|
504
501
|
class Tag(TypedDict, total=False):
|
@@ -509,6 +506,17 @@ class Tag(TypedDict, total=False):
|
|
509
506
|
TagList = List[Tag]
|
510
507
|
|
511
508
|
|
509
|
+
class ListTagsForResourceOutput(TypedDict, total=False):
|
510
|
+
Tags: Optional[TagList]
|
511
|
+
|
512
|
+
|
513
|
+
class ListTagsForStreamInput(ServiceRequest):
|
514
|
+
StreamName: Optional[StreamName]
|
515
|
+
ExclusiveStartTagKey: Optional[TagKey]
|
516
|
+
Limit: Optional[ListTagsForStreamInputLimit]
|
517
|
+
StreamARN: Optional[StreamARN]
|
518
|
+
|
519
|
+
|
512
520
|
class ListTagsForStreamOutput(TypedDict, total=False):
|
513
521
|
Tags: TagList
|
514
522
|
HasMoreTags: BooleanObject
|
@@ -575,6 +583,7 @@ class PutResourcePolicyInput(ServiceRequest):
|
|
575
583
|
class RegisterStreamConsumerInput(ServiceRequest):
|
576
584
|
StreamARN: StreamARN
|
577
585
|
ConsumerName: ConsumerName
|
586
|
+
Tags: Optional[TagMap]
|
578
587
|
|
579
588
|
|
580
589
|
class RegisterStreamConsumerOutput(TypedDict, total=False):
|
@@ -647,6 +656,16 @@ class SubscribeToShardOutput(TypedDict, total=False):
|
|
647
656
|
EventStream: Iterator[SubscribeToShardEventStream]
|
648
657
|
|
649
658
|
|
659
|
+
class TagResourceInput(ServiceRequest):
|
660
|
+
Tags: TagMap
|
661
|
+
ResourceARN: ResourceARN
|
662
|
+
|
663
|
+
|
664
|
+
class UntagResourceInput(ServiceRequest):
|
665
|
+
TagKeys: TagKeyList
|
666
|
+
ResourceARN: ResourceARN
|
667
|
+
|
668
|
+
|
650
669
|
class UpdateShardCountInput(ServiceRequest):
|
651
670
|
StreamName: Optional[StreamName]
|
652
671
|
TargetShardCount: PositiveIntegerObject
|
@@ -871,6 +890,12 @@ class KinesisApi:
|
|
871
890
|
) -> ListStreamsOutput:
|
872
891
|
raise NotImplementedError
|
873
892
|
|
893
|
+
@handler("ListTagsForResource")
|
894
|
+
def list_tags_for_resource(
|
895
|
+
self, context: RequestContext, resource_arn: ResourceARN, **kwargs
|
896
|
+
) -> ListTagsForResourceOutput:
|
897
|
+
raise NotImplementedError
|
898
|
+
|
874
899
|
@handler("ListTagsForStream")
|
875
900
|
def list_tags_for_stream(
|
876
901
|
self,
|
@@ -928,7 +953,12 @@ class KinesisApi:
|
|
928
953
|
|
929
954
|
@handler("RegisterStreamConsumer")
|
930
955
|
def register_stream_consumer(
|
931
|
-
self,
|
956
|
+
self,
|
957
|
+
context: RequestContext,
|
958
|
+
stream_arn: StreamARN,
|
959
|
+
consumer_name: ConsumerName,
|
960
|
+
tags: TagMap = None,
|
961
|
+
**kwargs,
|
932
962
|
) -> RegisterStreamConsumerOutput:
|
933
963
|
raise NotImplementedError
|
934
964
|
|
@@ -990,6 +1020,18 @@ class KinesisApi:
|
|
990
1020
|
) -> SubscribeToShardOutput:
|
991
1021
|
raise NotImplementedError
|
992
1022
|
|
1023
|
+
@handler("TagResource")
|
1024
|
+
def tag_resource(
|
1025
|
+
self, context: RequestContext, tags: TagMap, resource_arn: ResourceARN, **kwargs
|
1026
|
+
) -> None:
|
1027
|
+
raise NotImplementedError
|
1028
|
+
|
1029
|
+
@handler("UntagResource")
|
1030
|
+
def untag_resource(
|
1031
|
+
self, context: RequestContext, tag_keys: TagKeyList, resource_arn: ResourceARN, **kwargs
|
1032
|
+
) -> None:
|
1033
|
+
raise NotImplementedError
|
1034
|
+
|
993
1035
|
@handler("UpdateShardCount")
|
994
1036
|
def update_shard_count(
|
995
1037
|
self,
|
@@ -4,6 +4,9 @@ from typing import Dict, List, Optional, TypedDict
|
|
4
4
|
|
5
5
|
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
|
6
6
|
|
7
|
+
AccessKeyIdType = str
|
8
|
+
AccessKeySecretType = str
|
9
|
+
AccessRequestId = str
|
7
10
|
Account = str
|
8
11
|
AccountId = str
|
9
12
|
ActivationCode = str
|
@@ -349,6 +352,7 @@ SessionMaxResults = int
|
|
349
352
|
SessionOwner = str
|
350
353
|
SessionReason = str
|
351
354
|
SessionTarget = str
|
355
|
+
SessionTokenType = str
|
352
356
|
SharedDocumentVersion = str
|
353
357
|
SnapshotDownloadUrl = str
|
354
358
|
SnapshotId = str
|
@@ -362,6 +366,7 @@ StatusName = str
|
|
362
366
|
StepExecutionFilterValue = str
|
363
367
|
StreamUrl = str
|
364
368
|
String = str
|
369
|
+
String1to256 = str
|
365
370
|
StringDateTime = str
|
366
371
|
TagKey = str
|
367
372
|
TagValue = str
|
@@ -381,6 +386,14 @@ ValidNextStep = str
|
|
381
386
|
Version = str
|
382
387
|
|
383
388
|
|
389
|
+
class AccessRequestStatus(StrEnum):
|
390
|
+
Approved = "Approved"
|
391
|
+
Rejected = "Rejected"
|
392
|
+
Revoked = "Revoked"
|
393
|
+
Expired = "Expired"
|
394
|
+
Pending = "Pending"
|
395
|
+
|
396
|
+
|
384
397
|
class AssociationComplianceSeverity(StrEnum):
|
385
398
|
CRITICAL = "CRITICAL"
|
386
399
|
HIGH = "HIGH"
|
@@ -478,6 +491,7 @@ class AutomationExecutionStatus(StrEnum):
|
|
478
491
|
|
479
492
|
class AutomationSubtype(StrEnum):
|
480
493
|
ChangeRequest = "ChangeRequest"
|
494
|
+
AccessRequest = "AccessRequest"
|
481
495
|
|
482
496
|
|
483
497
|
class AutomationType(StrEnum):
|
@@ -632,6 +646,8 @@ class DocumentType(StrEnum):
|
|
632
646
|
CloudFormation = "CloudFormation"
|
633
647
|
ConformancePackTemplate = "ConformancePackTemplate"
|
634
648
|
QuickSetup = "QuickSetup"
|
649
|
+
ManualApprovalPolicy = "ManualApprovalPolicy"
|
650
|
+
AutoApprovalPolicy = "AutoApprovalPolicy"
|
635
651
|
|
636
652
|
|
637
653
|
class ExecutionMode(StrEnum):
|
@@ -881,6 +897,15 @@ class OpsItemFilterKey(StrEnum):
|
|
881
897
|
Category = "Category"
|
882
898
|
Severity = "Severity"
|
883
899
|
OpsItemType = "OpsItemType"
|
900
|
+
AccessRequestByRequesterArn = "AccessRequestByRequesterArn"
|
901
|
+
AccessRequestByRequesterId = "AccessRequestByRequesterId"
|
902
|
+
AccessRequestByApproverArn = "AccessRequestByApproverArn"
|
903
|
+
AccessRequestByApproverId = "AccessRequestByApproverId"
|
904
|
+
AccessRequestBySourceAccountId = "AccessRequestBySourceAccountId"
|
905
|
+
AccessRequestBySourceOpsItemId = "AccessRequestBySourceOpsItemId"
|
906
|
+
AccessRequestBySourceRegion = "AccessRequestBySourceRegion"
|
907
|
+
AccessRequestByIsReplica = "AccessRequestByIsReplica"
|
908
|
+
AccessRequestByTargetResourceId = "AccessRequestByTargetResourceId"
|
884
909
|
ChangeRequestByRequesterArn = "ChangeRequestByRequesterArn"
|
885
910
|
ChangeRequestByRequesterName = "ChangeRequestByRequesterName"
|
886
911
|
ChangeRequestByApproverArn = "ChangeRequestByApproverArn"
|
@@ -926,6 +951,7 @@ class OpsItemStatus(StrEnum):
|
|
926
951
|
ChangeCalendarOverrideRejected = "ChangeCalendarOverrideRejected"
|
927
952
|
PendingApproval = "PendingApproval"
|
928
953
|
Approved = "Approved"
|
954
|
+
Revoked = "Revoked"
|
929
955
|
Rejected = "Rejected"
|
930
956
|
Closed = "Closed"
|
931
957
|
|
@@ -1100,6 +1126,7 @@ class SignalType(StrEnum):
|
|
1100
1126
|
StartStep = "StartStep"
|
1101
1127
|
StopStep = "StopStep"
|
1102
1128
|
Resume = "Resume"
|
1129
|
+
Revoke = "Revoke"
|
1103
1130
|
|
1104
1131
|
|
1105
1132
|
class SourceType(StrEnum):
|
@@ -1125,6 +1152,12 @@ class StopType(StrEnum):
|
|
1125
1152
|
Cancel = "Cancel"
|
1126
1153
|
|
1127
1154
|
|
1155
|
+
class AccessDeniedException(ServiceException):
|
1156
|
+
code: str = "AccessDeniedException"
|
1157
|
+
sender_fault: bool = False
|
1158
|
+
status_code: int = 400
|
1159
|
+
|
1160
|
+
|
1128
1161
|
class AlreadyExistsException(ServiceException):
|
1129
1162
|
code: str = "AlreadyExistsException"
|
1130
1163
|
sender_fault: bool = False
|
@@ -1855,6 +1888,16 @@ class ResourcePolicyNotFoundException(ServiceException):
|
|
1855
1888
|
status_code: int = 400
|
1856
1889
|
|
1857
1890
|
|
1891
|
+
class ServiceQuotaExceededException(ServiceException):
|
1892
|
+
code: str = "ServiceQuotaExceededException"
|
1893
|
+
sender_fault: bool = False
|
1894
|
+
status_code: int = 400
|
1895
|
+
ResourceId: Optional[String]
|
1896
|
+
ResourceType: Optional[String]
|
1897
|
+
QuotaCode: String
|
1898
|
+
ServiceCode: String
|
1899
|
+
|
1900
|
+
|
1858
1901
|
class ServiceSettingNotFound(ServiceException):
|
1859
1902
|
code: str = "ServiceSettingNotFound"
|
1860
1903
|
sender_fault: bool = False
|
@@ -1885,6 +1928,14 @@ class TargetNotConnected(ServiceException):
|
|
1885
1928
|
status_code: int = 400
|
1886
1929
|
|
1887
1930
|
|
1931
|
+
class ThrottlingException(ServiceException):
|
1932
|
+
code: str = "ThrottlingException"
|
1933
|
+
sender_fault: bool = False
|
1934
|
+
status_code: int = 400
|
1935
|
+
QuotaCode: Optional[String]
|
1936
|
+
ServiceCode: Optional[String]
|
1937
|
+
|
1938
|
+
|
1888
1939
|
class TooManyTagsError(ServiceException):
|
1889
1940
|
code: str = "TooManyTagsError"
|
1890
1941
|
sender_fault: bool = False
|
@@ -3034,6 +3085,13 @@ class CreateResourceDataSyncResult(TypedDict, total=False):
|
|
3034
3085
|
pass
|
3035
3086
|
|
3036
3087
|
|
3088
|
+
class Credentials(TypedDict, total=False):
|
3089
|
+
AccessKeyId: AccessKeyIdType
|
3090
|
+
SecretAccessKey: AccessKeySecretType
|
3091
|
+
SessionToken: SessionTokenType
|
3092
|
+
ExpirationTime: DateTime
|
3093
|
+
|
3094
|
+
|
3037
3095
|
class DeleteActivationRequest(ServiceRequest):
|
3038
3096
|
ActivationId: ActivationId
|
3039
3097
|
|
@@ -4285,6 +4343,15 @@ class ExecutionPreview(TypedDict, total=False):
|
|
4285
4343
|
Automation: Optional[AutomationExecutionPreview]
|
4286
4344
|
|
4287
4345
|
|
4346
|
+
class GetAccessTokenRequest(ServiceRequest):
|
4347
|
+
AccessRequestId: AccessRequestId
|
4348
|
+
|
4349
|
+
|
4350
|
+
class GetAccessTokenResponse(TypedDict, total=False):
|
4351
|
+
Credentials: Optional[Credentials]
|
4352
|
+
AccessRequestStatus: Optional[AccessRequestStatus]
|
4353
|
+
|
4354
|
+
|
4288
4355
|
class GetAutomationExecutionRequest(ServiceRequest):
|
4289
4356
|
AutomationExecutionId: AutomationExecutionId
|
4290
4357
|
|
@@ -5536,6 +5603,16 @@ SessionManagerParameterValueList = List[SessionManagerParameterValue]
|
|
5536
5603
|
SessionManagerParameters = Dict[SessionManagerParameterName, SessionManagerParameterValueList]
|
5537
5604
|
|
5538
5605
|
|
5606
|
+
class StartAccessRequestRequest(ServiceRequest):
|
5607
|
+
Reason: String1to256
|
5608
|
+
Targets: Targets
|
5609
|
+
Tags: Optional[TagList]
|
5610
|
+
|
5611
|
+
|
5612
|
+
class StartAccessRequestResponse(TypedDict, total=False):
|
5613
|
+
AccessRequestId: Optional[AccessRequestId]
|
5614
|
+
|
5615
|
+
|
5539
5616
|
class StartAssociationsOnceRequest(ServiceRequest):
|
5540
5617
|
AssociationIds: AssociationIdList
|
5541
5618
|
|
@@ -6613,6 +6690,12 @@ class SsmApi:
|
|
6613
6690
|
) -> DisassociateOpsItemRelatedItemResponse:
|
6614
6691
|
raise NotImplementedError
|
6615
6692
|
|
6693
|
+
@handler("GetAccessToken")
|
6694
|
+
def get_access_token(
|
6695
|
+
self, context: RequestContext, access_request_id: AccessRequestId, **kwargs
|
6696
|
+
) -> GetAccessTokenResponse:
|
6697
|
+
raise NotImplementedError
|
6698
|
+
|
6616
6699
|
@handler("GetAutomationExecution")
|
6617
6700
|
def get_automation_execution(
|
6618
6701
|
self, context: RequestContext, automation_execution_id: AutomationExecutionId, **kwargs
|
@@ -7251,6 +7334,17 @@ class SsmApi:
|
|
7251
7334
|
) -> SendCommandResult:
|
7252
7335
|
raise NotImplementedError
|
7253
7336
|
|
7337
|
+
@handler("StartAccessRequest")
|
7338
|
+
def start_access_request(
|
7339
|
+
self,
|
7340
|
+
context: RequestContext,
|
7341
|
+
reason: String1to256,
|
7342
|
+
targets: Targets,
|
7343
|
+
tags: TagList = None,
|
7344
|
+
**kwargs,
|
7345
|
+
) -> StartAccessRequestResponse:
|
7346
|
+
raise NotImplementedError
|
7347
|
+
|
7254
7348
|
@handler("StartAssociationsOnce")
|
7255
7349
|
def start_associations_once(
|
7256
7350
|
self, context: RequestContext, association_ids: AssociationIdList, **kwargs
|
localstack/utils/diagnose.py
CHANGED
@@ -10,7 +10,7 @@ from localstack.constants import DEFAULT_VOLUME_DIR
|
|
10
10
|
from localstack.services.lambda_.invocation.docker_runtime_executor import IMAGE_PREFIX
|
11
11
|
from localstack.services.lambda_.runtimes import IMAGE_MAPPING
|
12
12
|
from localstack.utils import bootstrap
|
13
|
-
from localstack.utils.analytics import
|
13
|
+
from localstack.utils.analytics.metrics import MetricRegistry
|
14
14
|
from localstack.utils.container_networking import get_main_container_name
|
15
15
|
from localstack.utils.container_utils.container_client import ContainerException, NoSuchImage
|
16
16
|
from localstack.utils.docker_utils import DOCKER_CLIENT
|
@@ -153,4 +153,4 @@ def get_host_kernel_version() -> str:
|
|
153
153
|
|
154
154
|
|
155
155
|
def get_usage():
|
156
|
-
return
|
156
|
+
return MetricRegistry().collect()
|
localstack/version.py
CHANGED
@@ -17,5 +17,5 @@ __version__: str
|
|
17
17
|
__version_tuple__: VERSION_TUPLE
|
18
18
|
version_tuple: VERSION_TUPLE
|
19
19
|
|
20
|
-
__version__ = version = '4.3.1.
|
21
|
-
__version_tuple__ = version_tuple = (4, 3, 1, '
|
20
|
+
__version__ = version = '4.3.1.dev95'
|
21
|
+
__version_tuple__ = version_tuple = (4, 3, 1, 'dev95')
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: localstack-core
|
3
|
-
Version: 4.3.1.
|
3
|
+
Version: 4.3.1.dev95
|
4
4
|
Summary: The core library and runtime of LocalStack
|
5
5
|
Author-email: LocalStack Contributors <info@localstack.cloud>
|
6
6
|
License-Expression: Apache-2.0
|
@@ -31,8 +31,8 @@ Requires-Dist: requests>=2.20.0
|
|
31
31
|
Requires-Dist: semver>=2.10
|
32
32
|
Requires-Dist: tailer>=0.4.1
|
33
33
|
Provides-Extra: base-runtime
|
34
|
-
Requires-Dist: boto3==1.38.
|
35
|
-
Requires-Dist: botocore==1.38.
|
34
|
+
Requires-Dist: boto3==1.38.8; extra == "base-runtime"
|
35
|
+
Requires-Dist: botocore==1.38.8; extra == "base-runtime"
|
36
36
|
Requires-Dist: awscrt>=0.13.14; extra == "base-runtime"
|
37
37
|
Requires-Dist: cbor2>=5.5.0; extra == "base-runtime"
|
38
38
|
Requires-Dist: dnspython>=1.16.0; extra == "base-runtime"
|
@@ -4,7 +4,7 @@ localstack/deprecations.py,sha256=mNXTebZ8kSbQjFKz0LbT-g1Kdr0CE8bhEgZfHV3IX0s,15
|
|
4
4
|
localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
|
5
5
|
localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
|
6
6
|
localstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
localstack/version.py,sha256=
|
7
|
+
localstack/version.py,sha256=Gu6pTbP64Q7dOlc9SVx1VJEEX0R1s7Bif3XdygPlSQY,526
|
8
8
|
localstack/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
localstack/aws/accounts.py,sha256=102zpGowOxo0S6UGMpfjw14QW7WCLVAGsnFK5xFMLoo,3043
|
10
10
|
localstack/aws/app.py,sha256=n9bJCfJRuMz_gLGAH430c3bIQXgUXeWO5NPfcdL2MV8,5145
|
@@ -22,7 +22,7 @@ localstack/aws/spec-patches.json,sha256=9zIgusH52V72SmOaRHTlWcu4aX5GEb2SzX1U9EL7
|
|
22
22
|
localstack/aws/spec.py,sha256=C9i0xdK6naFrTz80O8chgqqv2NBFKIVpM-8bDzCgLCg,14233
|
23
23
|
localstack/aws/api/__init__.py,sha256=JspwCauxfTTdLNVAr7AkQaPu1lELdBQ1miB9B9sndOo,297
|
24
24
|
localstack/aws/api/core.py,sha256=TDLYXrv3coZAW_Lv2UaqKqHnE_cufP3aDstjaHbFasw,6336
|
25
|
-
localstack/aws/api/acm/__init__.py,sha256=
|
25
|
+
localstack/aws/api/acm/__init__.py,sha256=jN8ldmBQTJs4dhLzS4cLNL3tp6gpsh_XFTqbKs1iV50,18249
|
26
26
|
localstack/aws/api/apigateway/__init__.py,sha256=rpyPix_UEXxOJPUZ7M6V0WTmfJk7iJ9gqORm5jXsLkw,78864
|
27
27
|
localstack/aws/api/cloudcontrol/__init__.py,sha256=syr0N7olc2p6zxOY2A3hvf4y_rMN30EUg_9yAIH9Gxw,11462
|
28
28
|
localstack/aws/api/cloudformation/__init__.py,sha256=lpnjTFc4aHrZGxSHdxBe__kP6lWTMhwqGGao14AF0OE,114957
|
@@ -30,15 +30,15 @@ localstack/aws/api/cloudwatch/__init__.py,sha256=Ep6Z3t6StIsKHCtvkvAroODVxxWvG5X
|
|
30
30
|
localstack/aws/api/config/__init__.py,sha256=_34oLgPd2zFkD0EnDM4jVy90rmtW7CcVWtfHoVYAjxU,141276
|
31
31
|
localstack/aws/api/dynamodb/__init__.py,sha256=ilFvq01MyOaHdrK9TTA_WQZ1291iGCWnXI-odC0yeyQ,91143
|
32
32
|
localstack/aws/api/dynamodbstreams/__init__.py,sha256=Xfnce5gsHC4omBJrNsCi3F7TJpuvqn9K7rC5EL-y4UQ,6999
|
33
|
-
localstack/aws/api/ec2/__init__.py,sha256=
|
33
|
+
localstack/aws/api/ec2/__init__.py,sha256=yhOI0jiJJDiklqlOkVrMzmh_Gbc25uTVim3nk5Q5x5U,899605
|
34
34
|
localstack/aws/api/es/__init__.py,sha256=T5wz0U7jtm2ZjRJkkBHG8qRR8n2Hy51LeCAN25EeMjg,63675
|
35
35
|
localstack/aws/api/events/__init__.py,sha256=da5KoBvoTs2iDLJ6y9y61KPpYg_WDAE28fwPsH4Clns,60629
|
36
36
|
localstack/aws/api/firehose/__init__.py,sha256=iM9_VTHDwtqtupKPBCqAQIh6Xk9ziM4rEEsxPRMN6RM,58271
|
37
37
|
localstack/aws/api/iam/__init__.py,sha256=4d-fX9uElIfPB50HZu4fWukK5TUYAuYgkA0uRj3e8sY,111582
|
38
|
-
localstack/aws/api/kinesis/__init__.py,sha256
|
38
|
+
localstack/aws/api/kinesis/__init__.py,sha256=xlRyrwavEaHByTEqbaUC3gLC66m4FSahK6-J3YMUd5U,28357
|
39
39
|
localstack/aws/api/kms/__init__.py,sha256=IxHz17S0stwf2c2aNwrN0dWQAqXS8eb0rMiztgLHntI,54321
|
40
40
|
localstack/aws/api/lambda_/__init__.py,sha256=ULOkQX0Nrbpaty0SiJPxkgiG1voqjbhqdVMAA6n4sqA,77829
|
41
|
-
localstack/aws/api/logs/__init__.py,sha256=
|
41
|
+
localstack/aws/api/logs/__init__.py,sha256=MVX-NOT3eHezNbvaA7Xbq3UUJDDRCXIxQThr_PT9zF8,82820
|
42
42
|
localstack/aws/api/opensearch/__init__.py,sha256=yGG1TtB373ZVJ6JA8t4h6tfgOcJ-lOdv7W3J6sG3sWU,97556
|
43
43
|
localstack/aws/api/pipes/__init__.py,sha256=pZMhYeqT6BxUk-pweK6TWS9gLdy7GJbQLfidyvuhBJA,33108
|
44
44
|
localstack/aws/api/redshift/__init__.py,sha256=ItgcsfPYX6gqh46DEZtea4LyLYBG1qsWcrM8H0mSTj0,155612
|
@@ -53,7 +53,7 @@ localstack/aws/api/secretsmanager/__init__.py,sha256=5dunc0wMBtVn7gwz4Fu4TkE6aaE
|
|
53
53
|
localstack/aws/api/ses/__init__.py,sha256=u3J6qgzcWVmDw2-5Oq6aUxdlVHt9zJhavibW_IWQKrs,56094
|
54
54
|
localstack/aws/api/sns/__init__.py,sha256=71YenkTo950vRTxzr36Oo7KilbgkMPinrfeXQAqg9yE,28373
|
55
55
|
localstack/aws/api/sqs/__init__.py,sha256=wo96q4rhWEafmhR2jc-hzHtvbDCoK13RKYb7gcyeruQ,20906
|
56
|
-
localstack/aws/api/ssm/__init__.py,sha256=
|
56
|
+
localstack/aws/api/ssm/__init__.py,sha256=2tJ9QWKX60WQKqdlYsLT5eeABuxw14CcCXz_BUmXOK8,235374
|
57
57
|
localstack/aws/api/stepfunctions/__init__.py,sha256=PFeCgVj6pjDJv0yGtNs0CtX3Dy-QWCzYH1QZn-t5hhQ,49331
|
58
58
|
localstack/aws/api/sts/__init__.py,sha256=7KOzJgPUJ63JUcYv19O-Z_bOtSuz2y7nxZ86lbzfRUw,10796
|
59
59
|
localstack/aws/api/support/__init__.py,sha256=2w1BEVB9Gt_iVM9t9-RBwx0W6PH89gJpM0z7R-KYeI0,16813
|
@@ -1210,7 +1210,7 @@ localstack/utils/config_listener.py,sha256=x7mStigWGTM6vg4HViXdSeD8kE3GpWUOcRwvH
|
|
1210
1210
|
localstack/utils/container_networking.py,sha256=4cPrCoAFBpZT3Brf1qf3BG_K-fCBlYkGJV8r30o4qt4,5473
|
1211
1211
|
localstack/utils/coverage_docs.py,sha256=Suz07XICh3VIJN1gYLRpIwwdYv-wuK22_mK75VJ0cCA,908
|
1212
1212
|
localstack/utils/crypto.py,sha256=tz02ZyXsSL5O_nKyQDHfeBt1DbaVT0qJLdRCZmjMVLc,7297
|
1213
|
-
localstack/utils/diagnose.py,sha256=
|
1213
|
+
localstack/utils/diagnose.py,sha256=n-Eerc9HfGAUCIwv-qDBnmNcN08ZqznP2_QdJ8VjSQA,4735
|
1214
1214
|
localstack/utils/docker_utils.py,sha256=1LfOjtyImeQPQdicmL0UCf4-f8cE2rHsrFjNGHYlFEc,9637
|
1215
1215
|
localstack/utils/event_matcher.py,sha256=_DtCZI0ba4Zcit_-TwCUSIG_NXiYgIjmWbuKuMrsZkk,2024
|
1216
1216
|
localstack/utils/files.py,sha256=yp5qoEVuPpW6YV-FsUk1Rut0SmlcPL6oeGWnieeM9aI,9413
|
@@ -1249,7 +1249,6 @@ localstack/utils/analytics/metadata.py,sha256=tup9FurX-SlDGGY0at4YBcfdavz5C4pLet
|
|
1249
1249
|
localstack/utils/analytics/metrics.py,sha256=xDfmDwWEt-WmB2goY96X0J1WhqlYkjFUTLwcgEja5KM,10130
|
1250
1250
|
localstack/utils/analytics/publisher.py,sha256=Y_xbaM-cZjZVtTRSCQWpGLU4KrSiLJ7TC-iaIyBOufw,8629
|
1251
1251
|
localstack/utils/analytics/service_request_aggregator.py,sha256=QhgvA79wDjrXq3FI7EP9ziTHYEOspot7fy6D0yfVKDw,3926
|
1252
|
-
localstack/utils/analytics/usage.py,sha256=0tyeFtlcjWbG9tFc5hRBH3M6skOXvXlzRv7WWWcXCYA,5622
|
1253
1252
|
localstack/utils/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1254
1253
|
localstack/utils/aws/arns.py,sha256=mPHxOYR6MyZtTyGzqNX7nySqiGSi6xQaUpDqJWV3DWQ,16884
|
1255
1254
|
localstack/utils/aws/aws_responses.py,sha256=FUvUz-cTHNlgsE-1PiZJ780SBFvIHzS8K2tzvRkJWZs,7781
|
@@ -1280,13 +1279,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
|
|
1280
1279
|
localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1281
1280
|
localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
|
1282
1281
|
localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
|
1283
|
-
localstack_core-4.3.1.
|
1284
|
-
localstack_core-4.3.1.
|
1285
|
-
localstack_core-4.3.1.
|
1286
|
-
localstack_core-4.3.1.
|
1287
|
-
localstack_core-4.3.1.
|
1288
|
-
localstack_core-4.3.1.
|
1289
|
-
localstack_core-4.3.1.
|
1290
|
-
localstack_core-4.3.1.
|
1291
|
-
localstack_core-4.3.1.
|
1292
|
-
localstack_core-4.3.1.
|
1282
|
+
localstack_core-4.3.1.dev95.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
|
1283
|
+
localstack_core-4.3.1.dev95.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
|
1284
|
+
localstack_core-4.3.1.dev95.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
|
1285
|
+
localstack_core-4.3.1.dev95.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
|
1286
|
+
localstack_core-4.3.1.dev95.dist-info/METADATA,sha256=7eKW5_mfprjDF24M8uQRt_03V98hdm7_n5JPjd0XvpQ,5531
|
1287
|
+
localstack_core-4.3.1.dev95.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
1288
|
+
localstack_core-4.3.1.dev95.dist-info/entry_points.txt,sha256=K5M7il9Vwev64SlQiOaZVUhYpVNIE6IFHiWJ0znpbHQ,20491
|
1289
|
+
localstack_core-4.3.1.dev95.dist-info/plux.json,sha256=Y6P_Wv-apbR4uUi1QM_hoo--JShyHibpi2Z1FA7mTgA,20712
|
1290
|
+
localstack_core-4.3.1.dev95.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
|
1291
|
+
localstack_core-4.3.1.dev95.dist-info/RECORD,,
|
{localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/entry_points.txt
RENAMED
@@ -159,7 +159,6 @@ _run_init_scripts_on_ready = localstack.runtime.init:_run_init_scripts_on_ready
|
|
159
159
|
|
160
160
|
[localstack.hooks.on_infra_shutdown]
|
161
161
|
_run_init_scripts_on_shutdown = localstack.runtime.init:_run_init_scripts_on_shutdown
|
162
|
-
aggregate_and_send = localstack.utils.analytics.usage:aggregate_and_send
|
163
162
|
publish_metrics = localstack.utils.analytics.metrics:publish_metrics
|
164
163
|
remove_custom_endpoints = localstack.services.lambda_.plugins:remove_custom_endpoints
|
165
164
|
run_on_after_service_shutdown_handlers = localstack.runtime.shutdown:run_on_after_service_shutdown_handlers
|
@@ -0,0 +1 @@
|
|
1
|
+
{"localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "localstack.hooks.on_infra_shutdown": ["_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "stop_server=localstack.dns.plugins:stop_server", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services"], "localstack.hooks.on_infra_start": ["_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches"], "localstack.cloudformation.resource_providers": ["AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin"], "localstack.packages": ["lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:default=localstack.services.providers:cloudformation", "cloudformation:engine-v2=localstack.services.providers:cloudformation_v2", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"]}
|
@@ -1,169 +0,0 @@
|
|
1
|
-
"""
|
2
|
-
[DEPRECATED] This module is deprecated in favor of `localstack.utils.analytics.metrics`.
|
3
|
-
"""
|
4
|
-
|
5
|
-
import datetime
|
6
|
-
import math
|
7
|
-
from collections import defaultdict
|
8
|
-
from itertools import count
|
9
|
-
from typing import Any
|
10
|
-
|
11
|
-
from localstack import config
|
12
|
-
from localstack.runtime import hooks
|
13
|
-
from localstack.utils.analytics import get_session_id
|
14
|
-
from localstack.utils.analytics.events import Event, EventMetadata
|
15
|
-
from localstack.utils.analytics.publisher import AnalyticsClientPublisher
|
16
|
-
|
17
|
-
# Counters have to register with the registry
|
18
|
-
collector_registry: dict[str, Any] = dict()
|
19
|
-
|
20
|
-
|
21
|
-
# TODO: introduce some base abstraction for the counters after gather some initial experience working with it
|
22
|
-
# we could probably do intermediate aggregations over time to avoid unbounded counters for very long LS sessions
|
23
|
-
# for now, we can recommend to use config.DISABLE_EVENTS=1
|
24
|
-
|
25
|
-
|
26
|
-
class UsageSetCounter:
|
27
|
-
"""
|
28
|
-
[DEPRECATED] Use `localstack.utils.analytics.metrics.Counter` instead.
|
29
|
-
Use this counter to count occurrences of unique values
|
30
|
-
|
31
|
-
Example:
|
32
|
-
my_feature_counter = UsageSetCounter("lambda:runtime")
|
33
|
-
my_feature_counter.record("python3.7")
|
34
|
-
my_feature_counter.record("nodejs16.x")
|
35
|
-
my_feature_counter.record("nodejs16.x")
|
36
|
-
my_feature_counter.aggregate() # returns {"python3.7": 1, "nodejs16.x": 2}
|
37
|
-
"""
|
38
|
-
|
39
|
-
state: dict[str, int]
|
40
|
-
_counter: dict[str, count]
|
41
|
-
namespace: str
|
42
|
-
|
43
|
-
def __init__(self, namespace: str):
|
44
|
-
self.enabled = not config.DISABLE_EVENTS
|
45
|
-
self.state = {}
|
46
|
-
self._counter = defaultdict(lambda: count(1))
|
47
|
-
self.namespace = namespace
|
48
|
-
collector_registry[namespace] = self
|
49
|
-
|
50
|
-
def record(self, value: str):
|
51
|
-
if self.enabled:
|
52
|
-
self.state[value] = next(self._counter[value])
|
53
|
-
|
54
|
-
def aggregate(self) -> dict:
|
55
|
-
return self.state
|
56
|
-
|
57
|
-
|
58
|
-
class UsageCounter:
|
59
|
-
"""
|
60
|
-
[DEPRECATED] Use `localstack.utils.analytics.metrics.Counter` instead.
|
61
|
-
Use this counter to count numeric values
|
62
|
-
|
63
|
-
Example:
|
64
|
-
my__counter = UsageCounter("lambda:somefeature")
|
65
|
-
my_counter.increment()
|
66
|
-
my_counter.increment()
|
67
|
-
my_counter.aggregate() # returns {"count": 2}
|
68
|
-
"""
|
69
|
-
|
70
|
-
state: int
|
71
|
-
namespace: str
|
72
|
-
|
73
|
-
def __init__(self, namespace: str):
|
74
|
-
self.enabled = not config.DISABLE_EVENTS
|
75
|
-
self.state = 0
|
76
|
-
self._counter = count(1)
|
77
|
-
self.namespace = namespace
|
78
|
-
collector_registry[namespace] = self
|
79
|
-
|
80
|
-
def increment(self):
|
81
|
-
# TODO: we should instead have different underlying datastructures to store the state, and have no-op operations
|
82
|
-
# when config.DISABLE_EVENTS is set
|
83
|
-
if self.enabled:
|
84
|
-
self.state = next(self._counter)
|
85
|
-
|
86
|
-
def aggregate(self) -> dict:
|
87
|
-
# TODO: should we just keep `count`? "sum" might need to be kept for historical data?
|
88
|
-
return {"count": self.state, "sum": self.state}
|
89
|
-
|
90
|
-
|
91
|
-
class TimingStats:
|
92
|
-
"""
|
93
|
-
Use this counter to measure numeric values and perform aggregations
|
94
|
-
|
95
|
-
Available aggregations: min, max, sum, mean, median, count
|
96
|
-
|
97
|
-
Example:
|
98
|
-
my_feature_counter = TimingStats("lambda:somefeature", aggregations=["min", "max", "sum", "count"])
|
99
|
-
my_feature_counter.record_value(512)
|
100
|
-
my_feature_counter.record_value(256)
|
101
|
-
my_feature_counter.aggregate() # returns {"min": 256, "max": 512, "sum": 768, "count": 2}
|
102
|
-
"""
|
103
|
-
|
104
|
-
state: list[int | float]
|
105
|
-
namespace: str
|
106
|
-
aggregations: list[str]
|
107
|
-
|
108
|
-
def __init__(self, namespace: str, aggregations: list[str]):
|
109
|
-
self.enabled = not config.DISABLE_EVENTS
|
110
|
-
self.state = []
|
111
|
-
self.namespace = namespace
|
112
|
-
self.aggregations = aggregations
|
113
|
-
collector_registry[namespace] = self
|
114
|
-
|
115
|
-
def record_value(self, value: int | float):
|
116
|
-
if self.enabled:
|
117
|
-
self.state.append(value)
|
118
|
-
|
119
|
-
def aggregate(self) -> dict:
|
120
|
-
result = {}
|
121
|
-
if self.state:
|
122
|
-
for aggregation in self.aggregations:
|
123
|
-
if aggregation == "sum":
|
124
|
-
result[aggregation] = sum(self.state)
|
125
|
-
elif aggregation == "min":
|
126
|
-
result[aggregation] = min(self.state)
|
127
|
-
elif aggregation == "max":
|
128
|
-
result[aggregation] = max(self.state)
|
129
|
-
elif aggregation == "mean":
|
130
|
-
result[aggregation] = sum(self.state) / len(self.state)
|
131
|
-
elif aggregation == "median":
|
132
|
-
median_index = math.floor(len(self.state) / 2)
|
133
|
-
result[aggregation] = sorted(self.state)[median_index]
|
134
|
-
elif aggregation == "count":
|
135
|
-
result[aggregation] = len(self.state)
|
136
|
-
else:
|
137
|
-
raise Exception(f"Unsupported aggregation: {aggregation}")
|
138
|
-
return result
|
139
|
-
|
140
|
-
|
141
|
-
def aggregate() -> dict:
|
142
|
-
aggregated_payload = {}
|
143
|
-
for ns, collector in collector_registry.items():
|
144
|
-
agg = collector.aggregate()
|
145
|
-
if agg:
|
146
|
-
aggregated_payload[ns] = agg
|
147
|
-
return aggregated_payload
|
148
|
-
|
149
|
-
|
150
|
-
@hooks.on_infra_shutdown()
|
151
|
-
def aggregate_and_send():
|
152
|
-
"""
|
153
|
-
Aggregates data from all registered usage trackers and immediately sends the aggregated result to the analytics service.
|
154
|
-
"""
|
155
|
-
if config.DISABLE_EVENTS:
|
156
|
-
return
|
157
|
-
|
158
|
-
metadata = EventMetadata(
|
159
|
-
session_id=get_session_id(),
|
160
|
-
client_time=str(datetime.datetime.now()),
|
161
|
-
)
|
162
|
-
|
163
|
-
aggregated_payload = aggregate()
|
164
|
-
|
165
|
-
if aggregated_payload:
|
166
|
-
publisher = AnalyticsClientPublisher()
|
167
|
-
publisher.publish(
|
168
|
-
[Event(name="ls:usage_analytics", metadata=metadata, payload=aggregated_payload)]
|
169
|
-
)
|
@@ -1 +0,0 @@
|
|
1
|
-
{"localstack.cloudformation.resource_providers": ["AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin"], "localstack.packages": ["jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package"], "localstack.hooks.on_infra_start": ["setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration"], "localstack.hooks.on_infra_shutdown": ["stop_server=localstack.dns.plugins:stop_server", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:default=localstack.services.providers:cloudformation", "cloudformation:engine-v2=localstack.services.providers:cloudformation_v2", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"]}
|
File without changes
|
{localstack_core-4.3.1.dev93.data → localstack_core-4.3.1.dev95.data}/scripts/localstack-supervisor
RENAMED
File without changes
|
{localstack_core-4.3.1.dev93.data → localstack_core-4.3.1.dev95.data}/scripts/localstack.bat
RENAMED
File without changes
|
{localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/licenses/LICENSE.txt
RENAMED
File without changes
|
{localstack_core-4.3.1.dev93.dist-info → localstack_core-4.3.1.dev95.dist-info}/top_level.txt
RENAMED
File without changes
|