Skip to content

ACR: Update 2025-04-01 GA Swagger to fix SDK generation failure #34233

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

savaradh
Copy link
Member

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:
    • SDK generation is failing for the new swagger because of change in references version. Update the references to match the previous preview swagger as recommended by the SDK team.

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.

Copy link

openapi-pipeline-app bot commented Apr 25, 2025

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ The required check named Swagger LintDiff has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide

Copy link

PR validation pipeline started successfully. If there is ApiView generated, it will be updated in this comment.

@github-actions github-actions bot added the brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. label Apr 25, 2025
Copy link

github-actions bot commented Apr 25, 2025

API Change Check

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

Language API Review for Package
Swagger Microsoft.ContainerRegistry
Go sdk/resourcemanager/containerregistry/armcontainerregistry
Java com.azure.resourcemanager:azure-resourcemanager-containerregistry-generated
JavaScript @azure/arm-containerregistry

@savaradh savaradh added the BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior label Apr 25, 2025
@savaradh
Copy link
Member Author

@ArcturusZhang
can you please help merge this change? We made the swagger changes as you suggested. The new Lint failure is showing up. But the swagger appears to be the same according to the previous version.
cc: @msyyc

@@ -4374,8 +4347,8 @@
"SyncProperties": {
"description": "The sync properties of the connected registry with its parent.",
"required": [
"messageTtl",
"tokenId"
"tokenId",
Copy link
Member

@northtyphoon northtyphoon Apr 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it auto-generated? why do we need to change the order?

@@ -6047,6 +6017,7 @@
"in": "query",
"name": "$filter",
"description": "An OData filter expression that describes a subset of connectedRegistries to return. The parameters that can be filtered are parent.id (the resource id of the connectedRegistry parent), mode, and connectionState. The supported operator is eq.",
"required": false,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it auto-generated? I don't see other places have required property value as false.

@@ -3366,7 +3338,8 @@
"type": "string"
},
"syncProperties": {
"$ref": "#/definitions/SyncProperties"
"$ref": "#/definitions/SyncProperties",
"description": "The sync properties of the connected registry with its parent."
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the description auto-generated? I don't see other places have both $ref and description properties.

@@ -344,21 +341,15 @@
],
"description": "Creates a connected registry for a container registry with the specified parameters.",
"operationId": "ConnectedRegistries_Create",
"consumes": [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do we need to remove consumes and produces in connected registry related api? I don't set the change in other resource apis.

"$ref": "#/definitions/ConnectedRegistryProperties"
}
],
"$ref": "#/definitions/ConnectedRegistryProperties",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this change in connected registry resources? I don't see the change in other resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMReview BreakingChange-Approved-BugFix Changes are to correct the REST API definition to correctly describe service behavior BreakingChange-Python-Sdk BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required brownfield Brownfield services will soon be required to convert to TypeSpec. See https://aka.ms/azsdk/typespec. Container Registry NotReadyForARMReview resource-manager
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants