• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

localstack / localstack / 20565403496

29 Dec 2025 05:11AM UTC coverage: 84.103% (-2.8%) from 86.921%
20565403496

Pull #13567

github

web-flow
Merge 4816837a5 into 2417384aa
Pull Request #13567: Update ASF APIs

67166 of 79862 relevant lines covered (84.1%)

0.84 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.78
/localstack-core/localstack/services/providers.py
1
from localstack.aws.forwarder import HttpFallbackDispatcher
1✔
2
from localstack.services.plugins import (
1✔
3
    Service,
4
    aws_provider,
5
)
6

7

8
@aws_provider()
1✔
9
def acm():
1✔
10
    from localstack.services.acm.provider import AcmProvider
1✔
11
    from localstack.services.moto import MotoFallbackDispatcher
1✔
12

13
    provider = AcmProvider()
1✔
14
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
15

16

17
@aws_provider()
1✔
18
def apigateway():
1✔
19
    from localstack.services.apigateway.next_gen.provider import ApigatewayNextGenProvider
1✔
20
    from localstack.services.moto import MotoFallbackDispatcher
1✔
21

22
    provider = ApigatewayNextGenProvider()
1✔
23
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
24

25

26
@aws_provider(api="apigateway", name="next_gen")
1✔
27
def apigateway_next_gen():
1✔
28
    from localstack.services.apigateway.next_gen.provider import ApigatewayNextGenProvider
×
29
    from localstack.services.moto import MotoFallbackDispatcher
×
30

31
    provider = ApigatewayNextGenProvider()
×
32
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
×
33

34

35
@aws_provider(api="apigateway", name="legacy")
1✔
36
def apigateway_legacy():
1✔
37
    from localstack.services.apigateway.legacy.provider import ApigatewayProvider
×
38
    from localstack.services.moto import MotoFallbackDispatcher
×
39

40
    provider = ApigatewayProvider()
×
41
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
×
42

43

44
@aws_provider(api="cloudformation", name="engine-legacy")
1✔
45
def cloudformation():
1✔
46
    from localstack.services.cloudformation.provider import CloudformationProvider
×
47

48
    provider = CloudformationProvider()
×
49
    return Service.for_provider(provider)
×
50

51

52
@aws_provider(api="cloudformation")
1✔
53
def cloudformation_v2():
1✔
54
    from localstack.services.cloudformation.v2.provider import CloudformationProviderV2
1✔
55

56
    provider = CloudformationProviderV2()
1✔
57
    return Service.for_provider(provider)
1✔
58

59

60
@aws_provider(api="config")
1✔
61
def awsconfig():
1✔
62
    from localstack.services.configservice.provider import ConfigProvider
1✔
63
    from localstack.services.moto import MotoFallbackDispatcher
1✔
64

65
    provider = ConfigProvider()
1✔
66
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
67

68

69
@aws_provider(api="cloudwatch", name="default")
1✔
70
def cloudwatch():
1✔
71
    from localstack.services.cloudwatch.provider_v2 import CloudwatchProvider
1✔
72

73
    provider = CloudwatchProvider()
1✔
74
    return Service.for_provider(provider)
1✔
75

76

77
@aws_provider(api="cloudwatch", name="v1")
1✔
78
def cloudwatch_v1():
1✔
79
    from localstack.services.cloudwatch.provider import CloudwatchProvider
×
80
    from localstack.services.moto import MotoFallbackDispatcher
×
81

82
    provider = CloudwatchProvider()
×
83
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
×
84

85

86
@aws_provider(api="cloudwatch", name="v2")
1✔
87
def cloudwatch_v2():
1✔
88
    from localstack.services.cloudwatch.provider_v2 import CloudwatchProvider
×
89

90
    provider = CloudwatchProvider()
×
91
    return Service.for_provider(provider)
×
92

93

94
@aws_provider()
1✔
95
def dynamodb():
1✔
96
    from localstack.services.dynamodb.provider import DynamoDBProvider
1✔
97

98
    provider = DynamoDBProvider()
1✔
99
    return Service.for_provider(
1✔
100
        provider,
101
        dispatch_table_factory=lambda _provider: HttpFallbackDispatcher(
102
            _provider, _provider.get_forward_url
103
        ),
104
    )
105

106

107
@aws_provider(api="dynamodbstreams", name="v2")
1✔
108
def dynamodbstreams_v2():
1✔
109
    from localstack.services.dynamodbstreams.v2.provider import DynamoDBStreamsProvider
×
110

111
    provider = DynamoDBStreamsProvider()
×
112
    return Service.for_provider(provider)
×
113

114

115
@aws_provider(api="dynamodb", name="v2")
1✔
116
def dynamodb_v2():
1✔
117
    from localstack.services.dynamodb.v2.provider import DynamoDBProvider
×
118

119
    provider = DynamoDBProvider()
×
120
    return Service.for_provider(
×
121
        provider,
122
        dispatch_table_factory=lambda _provider: HttpFallbackDispatcher(
123
            _provider, _provider.get_forward_url
124
        ),
125
    )
126

127

128
@aws_provider()
1✔
129
def dynamodbstreams():
1✔
130
    from localstack.services.dynamodbstreams.provider import DynamoDBStreamsProvider
1✔
131

132
    provider = DynamoDBStreamsProvider()
1✔
133
    return Service.for_provider(provider)
1✔
134

135

136
@aws_provider()
1✔
137
def ec2():
1✔
138
    from localstack.services.ec2.provider import Ec2Provider
1✔
139
    from localstack.services.moto import MotoFallbackDispatcher
1✔
140

141
    provider = Ec2Provider()
1✔
142
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
143

144

145
@aws_provider()
1✔
146
def es():
1✔
147
    from localstack.services.es.provider import EsProvider
1✔
148

149
    provider = EsProvider()
1✔
150
    return Service.for_provider(provider)
1✔
151

152

153
@aws_provider()
1✔
154
def firehose():
1✔
155
    from localstack.services.firehose.provider import FirehoseProvider
1✔
156

157
    provider = FirehoseProvider()
1✔
158
    return Service.for_provider(provider)
1✔
159

160

161
@aws_provider()
1✔
162
def iam():
1✔
163
    from localstack.services.iam.provider import IamProvider
1✔
164
    from localstack.services.moto import MotoFallbackDispatcher
1✔
165

166
    provider = IamProvider()
1✔
167
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
168

169

170
@aws_provider()
1✔
171
def sts():
1✔
172
    from localstack.services.moto import MotoFallbackDispatcher
1✔
173
    from localstack.services.sts.provider import StsProvider
1✔
174

175
    provider = StsProvider()
1✔
176
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
177

178

179
@aws_provider()
1✔
180
def kinesis():
1✔
181
    from localstack.services.kinesis.provider import KinesisProvider
1✔
182

183
    provider = KinesisProvider()
1✔
184
    return Service.for_provider(
1✔
185
        provider,
186
        dispatch_table_factory=lambda _provider: HttpFallbackDispatcher(
187
            _provider, _provider.get_forward_url
188
        ),
189
    )
190

191

192
@aws_provider()
1✔
193
def kms():
1✔
194
    from localstack.services.kms.provider import KmsProvider
1✔
195

196
    provider = KmsProvider()
1✔
197
    return Service.for_provider(provider)
1✔
198

199

200
@aws_provider(api="lambda")
1✔
201
def lambda_():
1✔
202
    from localstack.services.lambda_.provider import LambdaProvider
1✔
203

204
    provider = LambdaProvider()
1✔
205
    return Service.for_provider(provider)
1✔
206

207

208
@aws_provider(api="lambda", name="asf")
1✔
209
def lambda_asf():
1✔
210
    from localstack.services.lambda_.provider import LambdaProvider
×
211

212
    provider = LambdaProvider()
×
213
    return Service.for_provider(provider)
×
214

215

216
@aws_provider(api="lambda", name="v2")
1✔
217
def lambda_v2():
1✔
218
    from localstack.services.lambda_.provider import LambdaProvider
×
219

220
    provider = LambdaProvider()
×
221
    return Service.for_provider(provider)
×
222

223

224
@aws_provider()
1✔
225
def logs():
1✔
226
    from localstack.services.logs.provider import LogsProvider
1✔
227
    from localstack.services.moto import MotoFallbackDispatcher
1✔
228

229
    provider = LogsProvider()
1✔
230
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
231

232

233
@aws_provider()
1✔
234
def opensearch():
1✔
235
    from localstack.services.opensearch.provider import OpensearchProvider
1✔
236

237
    provider = OpensearchProvider()
1✔
238
    return Service.for_provider(provider)
1✔
239

240

241
@aws_provider()
1✔
242
def redshift():
1✔
243
    from localstack.services.moto import MotoFallbackDispatcher
1✔
244
    from localstack.services.redshift.provider import RedshiftProvider
1✔
245

246
    provider = RedshiftProvider()
1✔
247
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
248

249

250
@aws_provider()
1✔
251
def route53():
1✔
252
    from localstack.services.moto import MotoFallbackDispatcher
1✔
253
    from localstack.services.route53.provider import Route53Provider
1✔
254

255
    provider = Route53Provider()
1✔
256
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
257

258

259
@aws_provider()
1✔
260
def route53resolver():
1✔
261
    from localstack.services.moto import MotoFallbackDispatcher
1✔
262
    from localstack.services.route53resolver.provider import Route53ResolverProvider
1✔
263

264
    provider = Route53ResolverProvider()
1✔
265
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
266

267

268
@aws_provider()
1✔
269
def s3():
1✔
270
    from localstack.services.s3.provider import S3Provider
1✔
271

272
    provider = S3Provider()
1✔
273
    return Service.for_provider(provider)
1✔
274

275

276
@aws_provider()
1✔
277
def s3control():
1✔
278
    from localstack.services.moto import MotoFallbackDispatcher
1✔
279
    from localstack.services.s3control.provider import S3ControlProvider
1✔
280

281
    provider = S3ControlProvider()
1✔
282
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
283

284

285
@aws_provider()
1✔
286
def scheduler():
1✔
287
    from localstack.services.moto import MotoFallbackDispatcher
1✔
288
    from localstack.services.scheduler.provider import SchedulerProvider
1✔
289

290
    provider = SchedulerProvider()
1✔
291
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
292

293

294
@aws_provider()
1✔
295
def secretsmanager():
1✔
296
    from localstack.services.moto import MotoFallbackDispatcher
1✔
297
    from localstack.services.secretsmanager.provider import SecretsmanagerProvider
1✔
298

299
    provider = SecretsmanagerProvider()
1✔
300
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
301

302

303
@aws_provider()
1✔
304
def ses():
1✔
305
    from localstack.services.moto import MotoFallbackDispatcher
1✔
306
    from localstack.services.ses.provider import SesProvider
1✔
307

308
    provider = SesProvider()
1✔
309
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
310

311

312
@aws_provider()
1✔
313
def sns():
1✔
314
    from localstack.services.moto import MotoFallbackDispatcher
1✔
315
    from localstack.services.sns.provider import SnsProvider
1✔
316

317
    provider = SnsProvider()
1✔
318
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
319

320

321
@aws_provider(api="sns", name="v2")
1✔
322
def sns_v2():
1✔
323
    from localstack.services.sns.v2.provider import SnsProvider
×
324

325
    provider = SnsProvider()
×
326
    return Service.for_provider(provider)
×
327

328

329
@aws_provider()
1✔
330
def sqs():
1✔
331
    from localstack.services.sqs.provider import SqsProvider
1✔
332

333
    provider = SqsProvider()
1✔
334
    return Service.for_provider(provider)
1✔
335

336

337
@aws_provider()
1✔
338
def ssm():
1✔
339
    from localstack.services.moto import MotoFallbackDispatcher
1✔
340
    from localstack.services.ssm.provider import SsmProvider
1✔
341

342
    provider = SsmProvider()
1✔
343
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
344

345

346
@aws_provider(api="events", name="default")
1✔
347
def events():
1✔
348
    from localstack.services.events.provider import EventsProvider
1✔
349

350
    provider = EventsProvider()
1✔
351
    return Service.for_provider(provider)
1✔
352

353

354
@aws_provider(api="events", name="v2")
1✔
355
def events_v2():
1✔
356
    from localstack.services.events.provider import EventsProvider
×
357

358
    provider = EventsProvider()
×
359
    return Service.for_provider(provider)
×
360

361

362
@aws_provider(api="events", name="v1")
1✔
363
def events_v1():
1✔
364
    from localstack.services.events.v1.provider import EventsProvider
×
365
    from localstack.services.moto import MotoFallbackDispatcher
×
366

367
    provider = EventsProvider()
×
368
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
×
369

370

371
@aws_provider(api="events", name="legacy")
1✔
372
def events_legacy():
1✔
373
    from localstack.services.events.v1.provider import EventsProvider
×
374
    from localstack.services.moto import MotoFallbackDispatcher
×
375

376
    provider = EventsProvider()
×
377
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
×
378

379

380
@aws_provider()
1✔
381
def stepfunctions():
1✔
382
    from localstack.services.stepfunctions.provider import StepFunctionsProvider
1✔
383

384
    provider = StepFunctionsProvider()
1✔
385
    return Service.for_provider(provider)
1✔
386

387

388
# TODO: remove with 4.1.0 to allow smooth deprecation path for users that have v2 set manually
389
@aws_provider(api="stepfunctions", name="v2")
1✔
390
def stepfunctions_v2():
1✔
391
    # provider for people still manually using `v2`
392
    from localstack.services.stepfunctions.provider import StepFunctionsProvider
×
393

394
    provider = StepFunctionsProvider()
×
395
    return Service.for_provider(provider)
×
396

397

398
@aws_provider()
1✔
399
def swf():
1✔
400
    from localstack.services.moto import MotoFallbackDispatcher
1✔
401
    from localstack.services.swf.provider import SWFProvider
1✔
402

403
    provider = SWFProvider()
1✔
404
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
405

406

407
@aws_provider()
1✔
408
def resourcegroupstaggingapi():
1✔
409
    from localstack.services.moto import MotoFallbackDispatcher
1✔
410
    from localstack.services.resourcegroupstaggingapi.provider import (
1✔
411
        ResourcegroupstaggingapiProvider,
412
    )
413

414
    provider = ResourcegroupstaggingapiProvider()
1✔
415
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
416

417

418
@aws_provider(api="resource-groups")
1✔
419
def resource_groups():
1✔
420
    from localstack.services.moto import MotoFallbackDispatcher
1✔
421
    from localstack.services.resource_groups.provider import ResourceGroupsProvider
1✔
422

423
    provider = ResourceGroupsProvider()
1✔
424
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
425

426

427
@aws_provider()
1✔
428
def support():
1✔
429
    from localstack.services.moto import MotoFallbackDispatcher
1✔
430
    from localstack.services.support.provider import SupportProvider
1✔
431

432
    provider = SupportProvider()
1✔
433
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
434

435

436
@aws_provider()
1✔
437
def transcribe():
1✔
438
    from localstack.services.moto import MotoFallbackDispatcher
1✔
439
    from localstack.services.transcribe.provider import TranscribeProvider
1✔
440

441
    provider = TranscribeProvider()
1✔
442
    return Service.for_provider(provider, dispatch_table_factory=MotoFallbackDispatcher)
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc