-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
roleAssignmentID added to solutions properties #25193
Conversation
Hi, @IshitaAsthana! Thank you for your pull request. To help get your PR merged: Generated ApiView comment added to this PR. You can use ApiView to show API versions diff. |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.4)] | new version | base version |
---|---|---|
agfood.json | 2023-06-01-preview(3538a71) | 2023-06-01-preview(main) |
Rule | Message |
---|---|
1045 - AddedOptionalProperty |
The new version has a new optional property 'roleAssignmentId' that was not found in the old version. New: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L2695:7 Old: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L2695:7 |
️️✔️
Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 0 Warnings warning [Detail]
compared tags (via openapi-validator v2.1.4) | new version | base version |
---|---|---|
package-preview-2023-06 | package-preview-2023-06(3538a71) | package-preview-2023-06(main) |
The following errors/warnings exist before current PR submission:
Rule | Message |
---|---|
TopLevelResourcesListBySubscription |
The top-level resource 'DataManagerForAgricultureExtension' does not have list by subscription operation, please add it. Location: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L2046 |
TopLevelResourcesListBySubscription |
The top-level resource 'DataManagerForAgricultureSolution' does not have list by subscription operation, please add it. Location: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L2229 |
Based on the response model schema, operation 'PrivateEndpointConnections_ListByResource' might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L1296 |
|
Based on the response model schema, operation 'PrivateLinkResources_ListByResource' might be pageable. Consider adding the x-ms-pageable extension. Location: Microsoft.AgFoodPlatform/preview/2023-06-01-preview/agfood.json#L1341 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
TypeSpecAPIView succeeded [Detail] [Expand]
️️✔️
ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️
SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️
PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️
PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️
SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️
Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
️️✔️
Automated merging requirements met succeeded [Detail] [Expand]
Swagger Generation Artifacts
|
Generated ApiView
|
Please address or respond to feedback from the ARM API reviewer. |
Hi @IshitaAsthana! The automation detected this pull request introduces changes to at least one existing API version that violate Azure's versioning policy. To comply with the policy, these changes must be made in a new API version. As a result, the automation added the
|
@IshitaAsthana Please validate if other solution Crud examples are to be updated apart from Solutions_CreateOrUpdate. Last I checked, it was decided that request and response would have same model for Solutions, so Get example Response might have to be updated as well. |
…into users/iasthana/roleAssignmentID
@@ -2718,6 +2718,10 @@ | |||
"minLength": 1, | |||
"type": "string" | |||
}, | |||
"roleAssignmentId": { | |||
"description": "Role Assignment Id.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Role Assignment id of what? What does it actually mean? Are you supposed to supply a role assignment id of either a custom or built-in role assignment that you've already created? Which tenant can it be in? What permissions will the role need?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This field is just for internal purposes, for tracking the role-assignment-id created during an automated flow. Customer doesn't have to interact with this anywhere.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are you exposing it to the customer view then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since it's needed for portal api calls to get the relevant details which cannot be obtained otherwise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you please share us more about how Portal will use this field?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During deployment of a new solution, a guid for role-assignment-id is created and stored through arm-template of solution deployment.
When the installed solutions are fetched through GET solutions api-call, the roleAssignmentId value is also received in response and is used in the solution-delete flow where the linked role-assignment is deleted along with the solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So similarly, user can make same deployment with rest api, right?
- Create a role assignment
- Call the PUT solution with the role assignment id
- Call the GET solution to get the role assignment id
- Delete the solution and delete the role assignment with its id
Or the request will be rejected because the API only allows it if it's from Portal?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but for UI driven experience, the appropriate value for role-assignment-id is difficult to find in portal.
This value is not directly visible to customer in portal, unless done via REST API
Next Steps to Merge |
this js sdk breaking is not caused by this pr |
* roleAssignmentID added to solutions properties * updated examples of solutions Get and List * removed extra spaces * spacing update --------- Co-authored-by: IshitaAsthana <[email protected]>
ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.
[1] public repo review queue, private repo review queue
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label
ARMChangesRequested
is removed from your PR. This should cause the label
WaitForARMFeedback
to be added.[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue
If you need further help with anything, see
Getting help
section below.Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!
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:
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.
Breaking changes review (Step 1)
you must follow the breaking changes process.
IMPORTANT This applies even if:
Such claims must be reviewed, and the process is the same.
ARM API changes review (Step 2)
ARMReview
label.Getting help
and https://aka.ms/ci-fix.