Skip to content

feat(capacity-provider): add LoggingConfig for AWS::Serverless::CapacityProvider#3943

Open
vicheey wants to merge 2 commits into
developfrom
feat/telemetry-config
Open

feat(capacity-provider): add LoggingConfig for AWS::Serverless::CapacityProvider#3943
vicheey wants to merge 2 commits into
developfrom
feat/telemetry-config

Conversation

@vicheey

@vicheey vicheey commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Issue #, if available

N/A — Feature paritfor AWS::Serverless::CapacityProvider TelemetryConfig support following AWS::Lambda::CapacityProvider CapacityProviderTelemetryConfig - AWS CloudFormation

Description of changes

Add LoggingConfig property to AWS::Serverless::CapacityProvider. SAM flattens CFN's TelemetryConfig.LoggingConfig wrapper to a top-level LoggingConfig property, consistent with how AWS::Serverless::Function already exposes LoggingConfig.

Customer experience:

MyCP:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    LoggingConfig:
      LogGroup: !Ref ScalingLogs
      SystemLogLevel: DEBUG

CFN output:

"TelemetryConfig": {
  "LoggingConfig": {
    "LogGroup": {"Ref": "ScalingLogs"},
    "SystemLogLevel": "DEBUG"
  }
}

Changes:

  • Schema source: LoggingConfig Pydantic model with PassThroughProperty fields (supports !Ref)
  • Translator model: LoggingConfig property on SamCapacityProvider
  • Generator: wraps LoggingConfig into {"TelemetryConfig": {"LoggingConfig": ...}}
  • Globals: LoggingConfig added to CapacityProvider globals (supports deep merge inheritance)
  • CFN resource: TelemetryConfig property on LambdaCapacityProvider

Description of how you validated changes

  • make schema — regenerated JSON schemas from Pydantic models
  • make format — all files formatted
  • python3 -m pytest tests/translator/test_translator.py -k "capacity_provider_telemetry_config" — 3 passed (aws, aws-cn, aws-us-gov partitions)
  • python3 -m pytest tests/schema/test_validate_schema.py -k "capacity_provider_telemetry" — 1 passed (schema validation of input template)
  • ruff check — all checks passed
  • mypy --strict — no issues in 177 files
  • cfn-lint — clean
  • Full test suite: 4506 passed, 6 pre-existing failures (SAR plugin timing + region config)

Checklist

Examples?

Please reach out in the comments if you want to add an example. Examples will be
added to sam init through aws/aws-sam-cli-app-templates.

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


SAM flattens CFN's TelemetryConfig.LoggingConfig to a top-level
LoggingConfig property, matching Function's existing pattern.
Generator wraps into {TelemetryConfig: {LoggingConfig: ...}} for CFN.
@vicheey vicheey marked this pull request as ready for review June 19, 2026 22:40
@vicheey vicheey requested a review from a team as a code owner June 19, 2026 22:40
Comment thread samtranslator/internal/schema_source/sam-docs.json
Comment thread tests/translator/input/capacity_provider_telemetry_config.yaml
Comment thread samtranslator/internal/schema_source/aws_serverless_capacity_provider.py Outdated
Comment thread samtranslator/schema/schema.json
…tom class

Updated cloudformation.schema.json to include TelemetryConfig definition.
LoggingConfig now references AWS::Lambda::CapacityProvider.CapacityProviderLoggingConfig
directly from the CFN schema, resolving schema naming ambiguity with Function's LoggingConfig.
@vicheey

vicheey commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

DO NOT MERGE YET.

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