[Hub Generated] Add missing listProducts API to documentation#19392
Conversation
|
Hi, @sdandu21 Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com |
1 similar comment
|
Hi, @sdandu21 Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com |
Swagger Validation Report
|
| Rule | Message |
|---|---|
1038 - AddedPath |
The new version is adding a path that was not found in the old version. New: Microsoft.AzureStack/stable/2016-01-01/Product.json#L153:5 |
1038 - AddedPath |
The new version is adding a path that was not found in the old version. New: Microsoft.AzureStack/stable/2017-06-01/Product.json#L153:5 |
️⚠️LintDiff: 4 Warnings warning [Detail]
- Linted configuring files (Based on source branch, openapi-validator v1.13.0 , classic-openapi-validator v1.2.4 )
- Linted configuring files (Based on target branch, openapi-validator v1.13.0 , classic-openapi-validator v1.2.4 )
| Rule | Message |
|---|---|
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L164 |
|
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L164 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns a list of products. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L155 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns a list of products. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L155 |
The following errors/warnings exist before current PR submission:
| Rule | Message |
|---|---|
R4037 - MissingTypeObject |
The schema 'DeviceConfiguration' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L728 |
R4037 - MissingTypeObject |
The schema 'MarketplaceProductLogUpdate' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L751 |
R4037 - MissingTypeObject |
The schema 'ProductLog' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L776 |
R4037 - MissingTypeObject |
The schema 'DeviceConfiguration' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L734 |
R4037 - MissingTypeObject |
The schema 'MarketplaceProductLogUpdate' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L757 |
R4037 - MissingTypeObject |
The schema 'ProductLog' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L782 |
R4041 - XmsIdentifierValidation |
Missing identifier id in array item property Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L475 |
R4041 - XmsIdentifierValidation |
Missing identifier id in array item property Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L582 |
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L212 |
|
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L260 |
|
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L212 |
|
| Per the Noun_Verb convention for Operation Ids, the noun 'Products' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L260 |
|
| Since operation 'Products_GetProducts' response has model definition 'array', it should be of the form '_list'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L212 |
|
| Since operation 'Products_GetProducts' response has model definition 'array', it should be of the form '_list'. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L212 |
|
| OperationId should contain the verb: 'uploadproductlog' in:'Products_UploadLog'. Consider updating the operationId Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L308 |
|
| OperationId should contain the verb: 'uploadproductlog' in:'Products_UploadLog'. Consider updating the operationId Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L308 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isSystemExtension Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L428 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: supportMultipleExtensions Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L439 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: vmScaleSetEnabled Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L454 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isCompatible Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L620 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isSystemExtension Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L428 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: supportMultipleExtensions Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L439 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: vmScaleSetEnabled Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L454 |
|
| Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isCompatible Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L626 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns a list of products. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L203 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns the specified product. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L251 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns the specified product. Location: Microsoft.AzureStack/stable/2016-01-01/Product.json#L299 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns a list of products. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L203 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns the specified product. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L251 |
|
| Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Returns the specified product. Location: Microsoft.AzureStack/stable/2017-06-01/Product.json#L299 |
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️ApiReadinessCheck succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️Cross-Version Breaking Changes succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️SDK Track2 Validation succeeded [Detail] [Expand]
Validation passes for SDKTrack2Validation
- The following tags are being changed in this PR
️️✔️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).
Swagger Generation Artifacts
|
|
NewApiVersionRequired reason: |
1 similar comment
|
NewApiVersionRequired reason: |
|
There is no change to the service because the path to ListProducts is already available in the API version but was not added to the spec. We received an S360 Swagger Completeness issue because the path was not documented here. |
|
Hi, @sdandu21 your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). |
1 similar comment
|
Hi, @sdandu21 your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). |
| } | ||
| } | ||
| }, | ||
| "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.AzureStack/registrations/{registrationName}/products/{productName}/listProducts": { |
There was a problem hiding this comment.
This PR is for fixing a swagger completeness item in s360. This API has been around for the entire lifetime of the RP, but wasn't documented for some reason. Changing how we model the operation would be a breaking change, and also wouldn't fix the swagger completeness issue. I don't know why this didn't show up earlier in swagger completeness - logs show the operation has been in use for a long time.
This action is modeled as a POST request because it has a body, the DeviceConfigurationParameter in the swagger JSON.
There was a problem hiding this comment.
Further, this action is identical to the POST ...{productName}/getProducts action. I don't know why they both exist - anyone who wrote these APIs is long gone.
There was a problem hiding this comment.
-
I think the reason you have identical apis is that customers wanted to call this in ARM templates which can only be done for POST actions prefixed with "list*" as explained here : https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/template-functions-resource#list . You probably should start planning to deprecate the getproducts one.
-
Can you please annotate the "DeviceConfigurationParameter" as coming from request body so that it is clear
You would need to work with the breaking change board to get the "NewApiversionRequired" Tag removed. Once that is done then please remove the "ARMChangesRequested" label and we can do the arm sign off
There was a problem hiding this comment.
Thank you. Can you give an example of what we should do to annotate the parameter? If you look at the parameter definition further down the file it does say "in": "body". Not sure what else we should do.
|
For arm api please fix the above comment and also get the newapiversion approval. Once that is done, please remove the "ARMChangesRequested" label when you want the API reviewer to look at this review again |
|
Responded to comment above, requesting re-review. |
|
Hi @sdandu21, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
1 similar comment
|
Hi @sdandu21, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. |
|
@sdandu21 this API is also available on version 2016-01-01 |
|
Please ensure to respond feedbacks from the ARM API reviewer. When you are ready to continue the ARM API review, please remove |
This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM API Information (Control Plane)
Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:
Service already supports these endpoints
Contribution checklist (MS Employees Only):
If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist
Otherwise your PR may be subject to ARM review requirements. Complete the following:
Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.
If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.