Skip to content

Add TypeSpec versioning decorators for ContainerApps 2026-01-01 stable#42504

Merged
najian merged 55 commits into
Azure:mainfrom
najian:containerapps/2026-01-01-typespec-versioning
May 26, 2026
Merged

Add TypeSpec versioning decorators for ContainerApps 2026-01-01 stable#42504
najian merged 55 commits into
Azure:mainfrom
najian:containerapps/2026-01-01-typespec-versioning

Conversation

@najian

@najian najian commented Apr 20, 2026

Copy link
Copy Markdown
Member

Add @added/@removed decorators to properly version-gate preview-only operations (Jobs resume/suspend, LogicApps deployWorkflowArtifacts/invoke, SessionPools fetchMcpServerCredentials/rotateMcpServerCredentials) so TypeSpec output matches the existing 2026-01-01 stable swagger.

ARM (Control Plane) API Specification Update Pull Request

Tip

Overwhelmed by all this guidance? See the Getting help section at the bottom of this PR description.

PR review workflow diagram

Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

spec_pr_review_workflow_diagram

Purpose of this PR

What's the purpose of this PR? Check the specific option that applies. This is mandatory!

  • New resource provider.
  • New API version for an existing resource provider. (If API spec is not defined in TypeSpec, the PR should have been created in adherence to OpenAPI specs PR creation guidance).
  • Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
  • Update existing version to fix OpenAPI spec quality issues in S360.
  • Convert existing OpenAPI spec to TypeSpec spec (do not combine this with implementing changes for a new API version).
  • Other, please clarify:
    • edit this with your clarification

Due diligence checklist

To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

  • I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
  • I have reviewed following Resource Provider guidelines, including
    ARM resource provider contract and
    REST guidelines (estimated time: 4 hours).
    I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
  • A release plan has been created. If not, please create one as it will help guide you through the REST API and SDK creation process.

Additional information

Viewing API changes

For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.

Suppressing failures

If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.

Getting help

  • First, please carefully read through this PR description, from top to bottom. Please fill out the Purpose of this PR and Due diligence checklist.
  • If you don't have permissions to remove or add labels to the PR, request write access per aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories
  • To understand what you must do next to merge this PR, see the Next Steps to Merge comment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.
  • For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
    and https://aka.ms/ci-fix.
  • For help with ARM review (PR workflow diagram Step 2), see https://aka.ms/azsdk/pr-arm-review.
  • If the PR CI checks appear to be stuck in queued state, please add a comment with contents /azp run.
    This should result in a new comment denoting a PR validation pipeline has started and the checks should be updated after few minutes.
  • If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
  • For guidance on SDK breaking change review, refer to https://aka.ms/ci-fix.

@najian najian requested a review from Juliehzl as a code owner April 20, 2026 03:55
@github-actions

github-actions Bot commented Apr 20, 2026

Copy link
Copy Markdown

Next Steps to Merge

✅ All automated merging requirements have been met! To get your PR merged, see aka.ms/azsdk/specreview/merge.

Comment generated by summarize-checks workflow run.

@github-actions github-actions Bot added ARMReview resource-manager TypeSpec Authored with TypeSpec WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required NotReadyForARMReview and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Apr 20, 2026
@github-actions

github-actions Bot commented Apr 20, 2026

Copy link
Copy Markdown

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
Swagger Microsoft.App-ContainerApps
TypeSpec Microsoft.App
Go sdk/resourcemanager/appcontainers/armappcontainers
Python azure-mgmt-appcontainers
Java com.azure.resourcemanager:azure-resourcemanager-appcontainers
JavaScript @azure/arm-appcontainers

Comment generated by After APIView workflow run.

@najian najian force-pushed the containerapps/2026-01-01-typespec-versioning branch from 621d9c8 to e75fc87 Compare April 20, 2026 05:41
@github-actions github-actions Bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required ARMAutoSignedOff-Trivial ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required NotReadyForARMReview WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Apr 20, 2026
@najian najian force-pushed the containerapps/2026-01-01-typespec-versioning branch from e75fc87 to 60acf21 Compare April 21, 2026 09:50
@najian najian added the PublishToCustomers Acknowledgement the changes will be published to Azure customers. label Apr 21, 2026
@najian najian force-pushed the containerapps/2026-01-01-typespec-versioning branch from 60acf21 to 789a63e Compare April 22, 2026 04:03
@github-actions github-actions Bot added WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required ARMAutoSignedOff-IncrementalTSP ARMAutoSignedOff-Trivial ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed ARMAutoSignedOff-Trivial ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Apr 22, 2026
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
Nan Jiang and others added 14 commits May 21, 2026 15:17
- Remove all redundant @added decorators (first version is implicit)
- Replace LegacyPage/LegacyPageOptionalValue/LegacyPageSimple with Azure.Core.Page
- Keep @removed(Versions.v2026_01_01) for preview-only exclusions

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…d") with @secret

Use native @secret decorator instead of OpenAPI extensions.
Removes associated no-openapi and secret-prop suppress comments.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…cret

- Remove leftover @extension("format","uri") from page models
- Remove orphaned #suppress comments no longer needed
- Clean up formatting

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…nown

Replace ArmResponse<unknown> with ArmResponse<LogicAppCallResponseObject>
to produce proper $ref in swagger instead of empty schema.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep preview swagger matching original - uses named Object definition
with type:object and additionalProperties instead of empty schema.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- ConnectedEnvironments_Update: body required (ARM standard)
- SessionPools_Update: with Location header (ARM LRO standard)
- GetCustomDomainVerificationId: JSON only (ARM standard)
- Usages_List: AppLocationParameter with pattern
- LogicApps_CreateOrUpdate: body required (ARM standard)
- HttpRouteConfig_Delete: standard ARM delete with LRO
- MaintenanceConfigurations_*: ARM standard ErrorResponse
- Delete version-split example files (*Stable.json, *V2.json)
- Fix MaintenanceConfigurations example parameter name

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…wagger)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add SessionPoolIdentityLifeCycle union with only None/Main for stable
- Use @typeChangedFrom to keep preview using IdentitySettingsLifeCycle (4 values)
- Remove LogicApp.properties from stable via @@removed
- Version-split LogicApps createOrUpdate: preview body required, stable optional

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ural

- Add ExtendedLocationType union for stable (matches old swagger definition name)
- Use @typeChangedFrom so preview keeps ExtendedLocationTypes (matches main)
- Fixes 1006 RemovedDefinition breaking change

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…onmentName pattern

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread specification/app/resource-manager/Microsoft.App/ContainerApps/models.tsp Outdated
…eValue to bytes

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pshao25

pshao25 commented May 26, 2026

Copy link
Copy Markdown
Member

This is a TypeSpec migration case, since the stable version 2026-01-01 is a manual version before this pr. So add the suppression for Swagger BreakingChange and Swagger LintDiff.

@baywet baywet mentioned this pull request May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved-LintDiff Approved-Suppression ARMReview ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review BreakingChange-Approved-Benign Changes are not breaking at the REST API level and have at most minor impact to generated SDKs. BreakingChange-Go-Sdk BreakingChange-Go-Sdk-Approved BreakingChange-JavaScript-Sdk BreakingChange-JavaScript-Sdk-Approved BreakingChange-Python-Sdk BreakingChange-Python-Sdk-Approved BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required PublishToCustomers Acknowledgement the changes will be published to Azure customers. resource-manager SuppressionReviewRequired TypeSpec Authored with TypeSpec

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants