Skip to content
This repository was archived by the owner on Mar 23, 2026. It is now read-only.

Commit c603057

Browse files
Update ASF APIs, provider signatures, disable lambda patches (#13444)
Co-authored-by: LocalStack Bot <localstack-bot@users.noreply.github.com> Co-authored-by: Silvio Vasiljevic <silvio.vasiljevic@gmail.com>
1 parent ff6e5e0 commit c603057

14 files changed

Lines changed: 152 additions & 7466 deletions

File tree

localstack-core/localstack/aws/api/ec2/__init__.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3263,6 +3263,25 @@ class NatGatewayAddressStatus(StrEnum):
32633263
failed = "failed"
32643264

32653265

3266+
class NatGatewayApplianceModifyState(StrEnum):
3267+
modifying = "modifying"
3268+
completed = "completed"
3269+
failed = "failed"
3270+
3271+
3272+
class NatGatewayApplianceState(StrEnum):
3273+
attaching = "attaching"
3274+
attached = "attached"
3275+
detaching = "detaching"
3276+
detached = "detached"
3277+
attach_failed = "attach-failed"
3278+
detach_failed = "detach-failed"
3279+
3280+
3281+
class NatGatewayApplianceType(StrEnum):
3282+
network_firewall_proxy = "network-firewall-proxy"
3283+
3284+
32663285
class NatGatewayState(StrEnum):
32673286
pending = "pending"
32683287
failed = "failed"
@@ -9449,6 +9468,19 @@ class CreateNatGatewayRequest(ServiceRequest):
94499468
SecondaryPrivateIpAddressCount: PrivateIpAddressCount | None
94509469

94519470

9471+
class NatGatewayAttachedAppliance(TypedDict, total=False):
9472+
Type: NatGatewayApplianceType | None
9473+
ApplianceArn: String | None
9474+
VpcEndpointId: String | None
9475+
AttachmentState: NatGatewayApplianceState | None
9476+
ModificationState: NatGatewayApplianceModifyState | None
9477+
FailureCode: String | None
9478+
FailureMessage: String | None
9479+
9480+
9481+
NatGatewayAttachedApplianceList = list[NatGatewayAttachedAppliance]
9482+
9483+
94529484
class ProvisionedBandwidth(TypedDict, total=False):
94539485
ProvisionTime: DateTime | None
94549486
Provisioned: String | None
@@ -9473,6 +9505,7 @@ class NatGateway(TypedDict, total=False):
94739505
AvailabilityMode: AvailabilityMode | None
94749506
AutoScalingIps: AutoScalingIpsState | None
94759507
AutoProvisionZones: AutoProvisionZonesState | None
9508+
AttachedAppliances: NatGatewayAttachedApplianceList | None
94769509
RouteTableId: String | None
94779510

94789511

localstack-core/localstack/aws/api/lambda_/__init__.py

Lines changed: 32 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
PositiveInteger = int
8989
Principal = str
9090
PrincipalOrgID = str
91+
ProvisionedPollerGroupName = str
9192
PublishedFunctionQualifier = str
9293
Qualifier = str
9394
Queue = str
@@ -111,6 +112,7 @@
111112
TaggableResource = str
112113
TagsErrorCode = str
113114
TagsErrorMessage = str
115+
TenantId = str
114116
Timeout = int
115117
Timestamp = str
116118
Topic = str
@@ -295,59 +297,47 @@ class Runtime(StrEnum):
295297
nodejs = "nodejs"
296298
nodejs4_3 = "nodejs4.3"
297299
nodejs6_10 = "nodejs6.10"
298-
nodejs8_9 = "nodejs8.9"
299300
nodejs8_10 = "nodejs8.10"
300-
nodejs8_x = "nodejs8.x"
301301
nodejs10_x = "nodejs10.x"
302302
nodejs12_x = "nodejs12.x"
303303
nodejs14_x = "nodejs14.x"
304304
nodejs16_x = "nodejs16.x"
305-
nodejs18_x = "nodejs18.x"
306-
nodejs20_x = "nodejs20.x"
307-
nodejs22_x = "nodejs22.x"
308-
nodejs24_x = "nodejs24.x"
309305
java8 = "java8"
310306
java8_al2 = "java8.al2"
311307
java11 = "java11"
312-
java17 = "java17"
313-
java21 = "java21"
314-
java25 = "java25"
315308
python2_7 = "python2.7"
316-
python3_4 = "python3.4"
317309
python3_6 = "python3.6"
318310
python3_7 = "python3.7"
319311
python3_8 = "python3.8"
320312
python3_9 = "python3.9"
321-
python3_10 = "python3.10"
322-
python3_11 = "python3.11"
323-
python3_12 = "python3.12"
324-
python3_13 = "python3.13"
325-
python3_14 = "python3.14"
326313
dotnetcore1_0 = "dotnetcore1.0"
327314
dotnetcore2_0 = "dotnetcore2.0"
328315
dotnetcore2_1 = "dotnetcore2.1"
329316
dotnetcore3_1 = "dotnetcore3.1"
330317
dotnet6 = "dotnet6"
331318
dotnet8 = "dotnet8"
332-
dotnet10 = "dotnet10"
333319
nodejs4_3_edge = "nodejs4.3-edge"
334-
python2_7_greengrass = "python2.7-greengrass"
335-
byol = "byol"
336-
go1_9 = "go1.9"
337320
go1_x = "go1.x"
338321
ruby2_5 = "ruby2.5"
339-
ruby2_6 = "ruby2.6"
340322
ruby2_7 = "ruby2.7"
323+
provided = "provided"
324+
provided_al2 = "provided.al2"
325+
nodejs18_x = "nodejs18.x"
326+
python3_10 = "python3.10"
327+
java17 = "java17"
341328
ruby3_2 = "ruby3.2"
342329
ruby3_3 = "ruby3.3"
343330
ruby3_4 = "ruby3.4"
344-
provided = "provided"
345-
provided_al2 = "provided.al2"
331+
python3_11 = "python3.11"
332+
nodejs20_x = "nodejs20.x"
346333
provided_al2023 = "provided.al2023"
347-
nasa = "nasa"
348-
nodejs26_x = "nodejs26.x"
349-
ruby3_5 = "ruby3.5"
350-
python3_15 = "python3.15"
334+
python3_12 = "python3.12"
335+
java21 = "java21"
336+
python3_13 = "python3.13"
337+
nodejs22_x = "nodejs22.x"
338+
nodejs24_x = "nodejs24.x"
339+
python3_14 = "python3.14"
340+
java25 = "java25"
351341

352342

353343
class SchemaRegistryEventRecordFormat(StrEnum):
@@ -432,6 +422,10 @@ class SystemLogLevel(StrEnum):
432422
WARN = "WARN"
433423

434424

425+
class TenantIsolationMode(StrEnum):
426+
PER_TENANT = "PER_TENANT"
427+
428+
435429
class ThrottleReason(StrEnum):
436430
ConcurrentInvocationLimitExceeded = "ConcurrentInvocationLimitExceeded"
437431
FunctionInvocationRateLimitExceeded = "FunctionInvocationRateLimitExceeded"
@@ -995,6 +989,7 @@ class CreateCodeSigningConfigResponse(TypedDict, total=False):
995989
class ProvisionedPollerConfig(TypedDict, total=False):
996990
MinimumPollers: MinimumNumberOfPollers | None
997991
MaximumPollers: MaximumNumberOfPollers | None
992+
PollerGroupName: ProvisionedPollerGroupName | None
998993

999994

1000995
EventSourceMappingMetricList = list[EventSourceMappingMetric]
@@ -1095,6 +1090,10 @@ class CreateEventSourceMappingRequest(ServiceRequest):
10951090
ProvisionedPollerConfig: ProvisionedPollerConfig | None
10961091

10971092

1093+
class TenancyConfig(TypedDict, total=False):
1094+
TenantIsolationMode: TenantIsolationMode
1095+
1096+
10981097
class LoggingConfig(TypedDict, total=False):
10991098
LogFormat: LogFormat | None
11001099
ApplicationLogLevel: ApplicationLogLevel | None
@@ -1189,6 +1188,7 @@ class CreateFunctionRequest(ServiceRequest):
11891188
LoggingConfig: LoggingConfig | None
11901189
CapacityProviderConfig: CapacityProviderConfig | None
11911190
PublishTo: FunctionVersionLatestPublished | None
1191+
TenancyConfig: TenancyConfig | None
11921192

11931193

11941194
class CreateFunctionUrlConfigRequest(ServiceRequest):
@@ -1417,6 +1417,7 @@ class FunctionConfiguration(TypedDict, total=False):
14171417
LoggingConfig: LoggingConfig | None
14181418
CapacityProviderConfig: CapacityProviderConfig | None
14191419
ConfigSha256: String | None
1420+
TenancyConfig: TenancyConfig | None
14201421

14211422

14221423
class FunctionEventInvokeConfig(TypedDict, total=False):
@@ -1651,6 +1652,7 @@ class InvocationRequest(ServiceRequest):
16511652
LogType: LogType | None
16521653
ClientContext: String | None
16531654
Qualifier: NumericLatestPublishedOrAliasQualifier | None
1655+
TenantId: TenantId | None
16541656

16551657

16561658
class InvocationResponse(TypedDict, total=False):
@@ -1687,6 +1689,7 @@ class InvokeWithResponseStreamRequest(ServiceRequest):
16871689
LogType: LogType | None
16881690
ClientContext: String | None
16891691
Qualifier: NumericLatestPublishedOrAliasQualifier | None
1692+
TenantId: TenantId | None
16901693

16911694

16921695
class InvokeWithResponseStreamResponseEvent(TypedDict, total=False):
@@ -2287,6 +2290,7 @@ def create_function(
22872290
logging_config: LoggingConfig | None = None,
22882291
capacity_provider_config: CapacityProviderConfig | None = None,
22892292
publish_to: FunctionVersionLatestPublished | None = None,
2293+
tenancy_config: TenancyConfig | None = None,
22902294
**kwargs,
22912295
) -> FunctionConfiguration:
22922296
raise NotImplementedError
@@ -2544,6 +2548,7 @@ def invoke(
25442548
client_context: String | None = None,
25452549
payload: IO[Blob] | None = None,
25462550
qualifier: NumericLatestPublishedOrAliasQualifier | None = None,
2551+
tenant_id: TenantId | None = None,
25472552
**kwargs,
25482553
) -> InvocationResponse:
25492554
raise NotImplementedError
@@ -2568,6 +2573,7 @@ def invoke_with_response_stream(
25682573
client_context: String | None = None,
25692574
qualifier: NumericLatestPublishedOrAliasQualifier | None = None,
25702575
payload: IO[Blob] | None = None,
2576+
tenant_id: TenantId | None = None,
25712577
**kwargs,
25722578
) -> InvokeWithResponseStreamResponse:
25732579
raise NotImplementedError

localstack-core/localstack/aws/api/logs/__init__.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
DataProtectionPolicyDocument = str
2323
Days = int
2424
DefaultValue = float
25+
DeletionProtectionEnabled = bool
2526
Delimiter = str
2627
DeliveryDestinationName = str
2728
DeliveryDestinationPolicy = str
@@ -781,6 +782,7 @@ class CreateLogGroupRequest(ServiceRequest):
781782
kmsKeyId: KmsKeyId | None
782783
tags: Tags | None
783784
logGroupClass: LogGroupClass | None
785+
deletionProtectionEnabled: DeletionProtectionEnabled | None
784786

785787

786788
class CreateLogStreamRequest(ServiceRequest):
@@ -1178,6 +1180,7 @@ class LogGroup(TypedDict, total=False):
11781180
inheritedProperties: InheritedProperties | None
11791181
logGroupClass: LogGroupClass | None
11801182
logGroupArn: Arn | None
1183+
deletionProtectionEnabled: DeletionProtectionEnabled | None
11811184

11821185

11831186
LogGroups = list[LogGroup]
@@ -2210,6 +2213,11 @@ class PutLogEventsResponse(TypedDict, total=False):
22102213
rejectedEntityInfo: RejectedEntityInfo | None
22112214

22122215

2216+
class PutLogGroupDeletionProtectionRequest(ServiceRequest):
2217+
logGroupIdentifier: LogGroupIdentifier
2218+
deletionProtectionEnabled: DeletionProtectionEnabled
2219+
2220+
22132221
class PutMetricFilterRequest(ServiceRequest):
22142222
logGroupName: LogGroupName
22152223
filterName: FilterName
@@ -2494,6 +2502,7 @@ def create_log_group(
24942502
kms_key_id: KmsKeyId | None = None,
24952503
tags: Tags | None = None,
24962504
log_group_class: LogGroupClass | None = None,
2505+
deletion_protection_enabled: DeletionProtectionEnabled | None = None,
24972506
**kwargs,
24982507
) -> None:
24992508
raise NotImplementedError
@@ -3204,6 +3213,16 @@ def put_log_events(
32043213
) -> PutLogEventsResponse:
32053214
raise NotImplementedError
32063215

3216+
@handler("PutLogGroupDeletionProtection")
3217+
def put_log_group_deletion_protection(
3218+
self,
3219+
context: RequestContext,
3220+
log_group_identifier: LogGroupIdentifier,
3221+
deletion_protection_enabled: DeletionProtectionEnabled,
3222+
**kwargs,
3223+
) -> None:
3224+
raise NotImplementedError
3225+
32073226
@handler("PutMetricFilter")
32083227
def put_metric_filter(
32093228
self,

localstack-core/localstack/aws/api/route53/__init__.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
ARN = str
88
AWSAccountID = str
99
AWSRegion = str
10+
AcceleratedRecoveryEnabled = bool
1011
AlarmName = str
1112
AliasHealthEnabled = bool
1213
AssociateVPCComment = str
@@ -26,6 +27,7 @@
2627
EnableSNI = bool
2728
ErrorMessage = str
2829
EvaluationPeriods = int
30+
FailureReason = str
2931
FailureThreshold = int
3032
FullyQualifiedDomainName = str
3133
GeoLocationContinentCode = str
@@ -98,6 +100,17 @@
98100
VPCId = str
99101

100102

103+
class AcceleratedRecoveryStatus(StrEnum):
104+
ENABLING = "ENABLING"
105+
ENABLE_FAILED = "ENABLE_FAILED"
106+
ENABLING_HOSTED_ZONE_LOCKED = "ENABLING_HOSTED_ZONE_LOCKED"
107+
ENABLED = "ENABLED"
108+
DISABLING = "DISABLING"
109+
DISABLE_FAILED = "DISABLE_FAILED"
110+
DISABLED = "DISABLED"
111+
DISABLING_HOSTED_ZONE_LOCKED = "DISABLING_HOSTED_ZONE_LOCKED"
112+
113+
101114
class AccountLimitType(StrEnum):
102115
MAX_HEALTH_CHECKS_BY_OWNER = "MAX_HEALTH_CHECKS_BY_OWNER"
103116
MAX_HOSTED_ZONES_BY_OWNER = "MAX_HOSTED_ZONES_BY_OWNER"
@@ -1073,6 +1086,15 @@ class DelegationSet(TypedDict, total=False):
10731086
NameServers: DelegationSetNameServers
10741087

10751088

1089+
class HostedZoneFailureReasons(TypedDict, total=False):
1090+
AcceleratedRecovery: FailureReason | None
1091+
1092+
1093+
class HostedZoneFeatures(TypedDict, total=False):
1094+
AcceleratedRecoveryStatus: AcceleratedRecoveryStatus | None
1095+
FailureReasons: HostedZoneFailureReasons | None
1096+
1097+
10761098
HostedZoneRRSetCount = int
10771099

10781100

@@ -1083,6 +1105,7 @@ class HostedZone(TypedDict, total=False):
10831105
Config: HostedZoneConfig | None
10841106
ResourceRecordSetCount: HostedZoneRRSetCount | None
10851107
LinkedService: LinkedService | None
1108+
Features: HostedZoneFeatures | None
10861109

10871110

10881111
class CreateHostedZoneResponse(TypedDict, total=False):
@@ -1908,6 +1931,15 @@ class UpdateHostedZoneCommentResponse(TypedDict, total=False):
19081931
HostedZone: HostedZone
19091932

19101933

1934+
class UpdateHostedZoneFeaturesRequest(ServiceRequest):
1935+
HostedZoneId: ResourceId
1936+
EnableAcceleratedRecovery: AcceleratedRecoveryEnabled | None
1937+
1938+
1939+
class UpdateHostedZoneFeaturesResponse(TypedDict, total=False):
1940+
pass
1941+
1942+
19111943
class UpdateTrafficPolicyCommentRequest(ServiceRequest):
19121944
Id: TrafficPolicyId
19131945
Version: TrafficPolicyVersion
@@ -2543,6 +2575,16 @@ def update_hosted_zone_comment(
25432575
) -> UpdateHostedZoneCommentResponse:
25442576
raise NotImplementedError
25452577

2578+
@handler("UpdateHostedZoneFeatures")
2579+
def update_hosted_zone_features(
2580+
self,
2581+
context: RequestContext,
2582+
hosted_zone_id: ResourceId,
2583+
enable_accelerated_recovery: AcceleratedRecoveryEnabled | None = None,
2584+
**kwargs,
2585+
) -> UpdateHostedZoneFeaturesResponse:
2586+
raise NotImplementedError
2587+
25462588
@handler("UpdateTrafficPolicyComment")
25472589
def update_traffic_policy_comment(
25482590
self,

localstack-core/localstack/aws/data/lambda/2025-11-30/README.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)