Skip to content

Add endpointConfiguration trait#3088

Merged
sugmanue merged 4 commits intosmithy-lang:mainfrom
mee-aa:add-endpoint-configuration-trait
May 7, 2026
Merged

Add endpointConfiguration trait#3088
sugmanue merged 4 commits intosmithy-lang:mainfrom
mee-aa:add-endpoint-configuration-trait

Conversation

@mee-aa
Copy link
Copy Markdown
Contributor

@mee-aa mee-aa commented May 1, 2026

API Gateway REST APIs have an endpoint configuration that specifies the endpoint type (EDGE, REGIONAL, or PRIVATE), optional VPC endpoint IDs, and whether the default execute-api endpoint is disabled.

Add the aws.apigateway#endpointConfiguration structure trait with a required types enum list, optional vpcEndpointIds list, and optional disableExecuteApiEndpoint boolean. No OpenAPI mapper is included; vpcEndpointIds and disableExecuteApiEndpoint exist in the x-amazon-apigateway-endpoint-configuration extension but a mapper can be added separately if needed.

Background

  • What do these changes do?
    • Add a new endpointConfiguration structure trait to smithy-aws-apigateway-traits with a required types field (enum list: EDGE, REGIONAL, PRIVATE), optional vpcEndpointIds (string list), and optional disableExecuteApiEndpoint (boolean).
    • Add trait documentation in amazon-apigateway.rst.
    • No OpenAPI mapper is included. The x-amazon-apigateway-endpoint-configuration extension supports vpcEndpointIds and disableExecuteApiEndpoint for REST APIs, but types is not part of the extension (it comes from import parameters). A mapper for the supported fields can be added separately.
  • Why are they important?
    • Without this trait, customers had no way to specify endpoint configuration directly in their Smithy model and had to use jsonAdd workarounds or set these values outside the model.

Testing

  • Unit tests for the trait class: builder construction with all fields (PRIVATE + VPC endpoints + disable flag), required-field-only (REGIONAL), round-trip via Provider (EDGE), factory registration
  • toBuilder() round-trip verified in each builder test
  • All existing tests pass

Links


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@mee-aa mee-aa requested a review from a team as a code owner May 1, 2026 19:13
@mee-aa mee-aa requested a review from yefrig May 1, 2026 19:13
API Gateway REST APIs have an endpoint configuration that specifies
the endpoint type (EDGE, REGIONAL, or PRIVATE), optional VPC
endpoint IDs, and whether the default execute-api endpoint is
disabled.

Add the `aws.apigateway#endpointConfiguration` structure trait with
a required `types` enum list, optional `vpcEndpointIds` list, and
optional `disableExecuteApiEndpoint` boolean. No OpenAPI mapper is
included; `vpcEndpointIds` and `disableExecuteApiEndpoint` exist
in the `x-amazon-apigateway-endpoint-configuration` extension but
a mapper can be added separately if needed.
@mee-aa mee-aa force-pushed the add-endpoint-configuration-trait branch from 6c80e92 to 1f4429b Compare May 1, 2026 19:14
Comment thread docs/source-2.0/aws/amazon-apigateway.rst Outdated
Comment thread docs/source-2.0/aws/amazon-apigateway.rst Outdated
Comment thread .changes/next-release/feature-7e45b02dd4e3bd7407515e4dc0d74d502b5b2c72.json Outdated
mee-aa added 2 commits May 4, 2026 18:32
Expand 'VPC' to 'Virtual Private Cloud (VPC)' and link
'endpoint IDs' to the VPC PrivateLink documentation in the
trait summary. Update changelog to past tense with backticks.
@mee-aa mee-aa force-pushed the add-endpoint-configuration-trait branch from 38f0089 to 67f880d Compare May 7, 2026 15:41
@sugmanue sugmanue merged commit bb2c97a into smithy-lang:main May 7, 2026
13 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.

3 participants