Skip to content

Add 11 LocalStack services to the endpoint catalog - #76

Merged
Blind-Striker merged 4 commits into
aot/convention-cleanupfrom
aot/service-catalog
Oct 23, 2026
Merged

Blind-Striker merged 4 commits into
aot/convention-cleanupfrom
aot/service-catalog

Conversation

@Blind-Striker

@Blind-Striker Blind-Striker commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Stack (review bottom-up, merge as one stack): #62 base, #66 the #63 fix, #67 Native AOT test lane, #68 static-factory generic path, #70 slim generator, #71 public docs, #72 internal docs and 3.0.0, #73 reflection-free test, #74 package consumer in CI, #75 convention clean-up, #76 service catalog refresh.

Goal of the stack: 3.0.0, where existing consumers upgrade without code changes, both packages support Native AOT on net10.0/net11.0, and the libraries use no runtime reflection for types the compiler can see (a JIT-only fallback covers the rest).

This PR

Catalog refresh following the repository's routine (maintenance playbook §2, the same steps as past service additions such as 53d6cb6 Pipes and 776efa4):

  • 11 services LocalStack now emulates are added to AwsService and AwsServiceEndpointMetadata: DSQL, S3 Tables, Bedrock Runtime, CodeArtifact, Database Migration Service, Identity Store, Managed Blockchain, SSO Admin, Textract, Lambda Web, S3 Files.
    • New enum members are appended, so existing values do not move.
    • ServiceIds are the AWS SDK v4 values; the construction tests check them.
    • Sources: the LocalStack Python client localstack/localstack-python-client@75fd327 (DSQL, S3 Tables) and the LocalStack service documentation (the rest). Most of these need a paid LocalStack tier.
  • Interface and implementation construction tests for every new service.
  • Construction tests for existing catalog entries that had none: CodeBuild (interface), DynamoDB Streams, Glacier, Application Auto Scaling.
  • CHANGELOG [Unreleased] entry; the playbook now says to record the Python client commit with the additions.

Fixed (maintainer ruling: "4567 portlarını 4566'ya düzelt; 3.0.0 CHANGELOG'una bug fix olarak yaz"): the 12 entries added in 31f95c1 stored legacy port 4567, the legacy API Gateway port; they now use 4566, matching the Python client. This affects UseLegacyPorts: true only and is recorded under ### Fixed.

Kept as they are (maintainer ruling: "OpenSearch, Es ve EventBridge olduğu gibi kalsın"):

  • OpenSearch's legacy port is 4571 here and 4578 in the Python client.
  • Es keeps the stale ServiceId ES; the correct Elasticsearch Service entry exists as ElasticSearch.
  • EventBridge's CLI name is eventbridge; LocalStack's is events.

Verification

Integration 273 x3: the 29 new construction tests pass, which confirms each new ServiceId against its AWS SDK v4 package.

Stack-level gate (top of stack, local win-x64)

  • Build with 0 warnings. Core 106 (net10/11) and 100 (net472); Extensions 63; Integration 273 on 3 TFMs (244 before the catalog refresh); Generator 65; Functional 50 on net10/11 against LocalStack 4.14.0 and the keyed 2026.10.2 image.
  • The Cake tests target is green and skips the two projects that set LocalStackTestRunsAsPublishedExecutable.
  • Native AOT lane on net10/net11: 33 pass, and 2 skip because the live LocalStack calls need LOCALSTACK_NATIVE_AOT_HOST; CI runs them on Linux.
  • Core and Extensions 3.0.0 packed, and the package consumer published from them with Native AOT on net10/net11 with a fresh NuGet cache: passed.

@github-actions

Copy link
Copy Markdown

Dependency Review

The following issues were found:
  • ✅ 0 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 1 package(s) with unknown licenses.
See the Details below.

License Issues

tests/LocalStack.Client.Integration.Tests/LocalStack.Client.Integration.Tests.csproj

PackageVersionLicenseIssue Type
AWSSDK.LambdaWeb>= 0NullUnknown License

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
nuget/AWSSDK.ApplicationAutoScaling >= 0 UnknownUnknown
nuget/AWSSDK.BedrockRuntime >= 0 UnknownUnknown
nuget/AWSSDK.CodeArtifact >= 0 UnknownUnknown
nuget/AWSSDK.DSQL >= 0 UnknownUnknown
nuget/AWSSDK.DatabaseMigrationService >= 0 UnknownUnknown
nuget/AWSSDK.DynamoDBStreams >= 0 UnknownUnknown
nuget/AWSSDK.Glacier >= 0 UnknownUnknown
nuget/AWSSDK.IdentityStore >= 0 UnknownUnknown
nuget/AWSSDK.LambdaWeb >= 0 UnknownUnknown
nuget/AWSSDK.ManagedBlockchain >= 0 UnknownUnknown
nuget/AWSSDK.S3Files >= 0 UnknownUnknown
nuget/AWSSDK.S3Tables >= 0 UnknownUnknown
nuget/AWSSDK.SSOAdmin >= 0 UnknownUnknown
nuget/AWSSDK.Textract >= 0 UnknownUnknown

Scanned Files

  • tests/LocalStack.Client.Integration.Tests/LocalStack.Client.Integration.Tests.csproj

@Blind-Striker
Blind-Striker marked this pull request as ready for review October 23, 2026 21:55
@Blind-Striker
Blind-Striker merged commit 49573c2 into master Oct 23, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant