-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
[NetAppFiles] Add missing features, quotaLimits and Rotterdam networkFeatures to API version 2021-06-02 #15850
[NetAppFiles] Add missing features, quotaLimits and Rotterdam networkFeatures to API version 2021-06-02 #15850
Conversation
Hi, @audunn 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. [email protected] |
[Call for Action] To better understand Azure service dev/test scenario, and support Azure service developer better on Swagger and REST API related tests in early phase, please help to fill in with this survey https://aka.ms/SurveyForEarlyPhase. It will take 5 to 10 minutes. If you already complete survey, please neglect this comment. Thanks. |
Swagger Validation Report
|
Rule | Message |
---|---|
Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: enableRegionalMdmAccount Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2973 |
|
Booleans are not descriptive and make them hard to use. Consider using string enums with allowed set of values defined. Property: isInternal Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L3008 |
|
'logSpecifications' model/property lacks 'description' and 'title' property. Consider adding a 'description'/'title' element. Accurate description/title is essential for maintaining reference documentation. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2920 |
|
'name' model/property lacks 'description' and 'title' property. Consider adding a 'description'/'title' element. Accurate description/title is essential for maintaining reference documentation. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L3018 |
|
'displayName' model/property lacks 'description' and 'title' property. Consider adding a 'description'/'title' element. Accurate description/title is essential for maintaining reference documentation. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L3021 |
|
Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: QuotaLimits Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L283 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
R4009 - RequiredReadOnlySystemData |
The response of operation:'Pools_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L610 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Volumes_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L861 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Snapshots_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1565 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'SnapshotPolicies_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1853 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'AccountBackups_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2171 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Backups_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2311 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'BackupPolicies_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2591 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Pools_CreateOrUpdate' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L651 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Volumes_CreateOrUpdate' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L905 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Snapshots_Create' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1612 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'SnapshotPolicies_Create' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1876 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Backups_Create' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2358 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'BackupPolicies_Create' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2632 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Pools_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L711 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Volumes_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L971 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Snapshots_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1675 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'SnapshotPolicies_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1917 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'Backups_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2427 |
R4009 - RequiredReadOnlySystemData |
The response of operation:'BackupPolicies_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2695 |
R4011 - DeleteOperationResponses |
The delete operation is defined without a 200 or 204 error response implementation,please add it.' Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L484 |
R4011 - DeleteOperationResponses |
The delete operation is defined without a 200 or 204 error response implementation,please add it.' Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L792 |
R4011 - DeleteOperationResponses |
The delete operation is defined without a 200 or 204 error response implementation,please add it.' Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L1061 |
R4018 - OperationsApiResponseSchema |
The response schema of operations API '/providers/Microsoft.NetApp/operations' does not match the ARM specification. Please standardize the schema. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L40 |
R4037 - MissingTypeObject |
The schema 'OperationListResult' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2849 |
R4037 - MissingTypeObject |
The schema 'display' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2869 |
R4037 - MissingTypeObject |
The schema 'OperationProperties' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2901 |
R4037 - MissingTypeObject |
The schema 'ServiceSpecification' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2910 |
R4037 - MissingTypeObject |
The schema 'MetricSpecification' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L2928 |
R4037 - MissingTypeObject |
The schema 'Dimension' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L3026 |
R4037 - MissingTypeObject |
The schema 'dataProtection' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.NetApp/stable/2021-06-01/netapp.json#L4028 |
️️✔️
Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️
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.
️️✔️
[Staging] SDK Track2 Validation succeeded [Detail] [Expand]
Validation passes for SDKTrack2Validation
- The following tags are being changed in this PR
️️✔️
[Staging] PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️
[Staging] SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️
[Staging] Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
Swagger Generation Artifacts
|
NewApiVersionRequired reason: |
Hi, @audunn your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board([email protected]). |
Your API is flagged as a breaking change, you'll need to get an approval from the breaking change board prior an API review. |
@jorgecotillo Breaking change approved, are we clear to proceed ? |
@@ -207,6 +207,43 @@ | |||
} | |||
} | |||
}, | |||
"/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits": { |
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.
Per API contract this API must return a collection GET and expose another API to return a single item (singleton), see here: https://github.com/Azure/azure-resource-manager-rpc/blob/770933ab2af1ece1eba2835f7a03bbfde47bb793/v1.0/common-api-contracts.md#singleton-resources
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.
Looks like this will require a service side change. As that would likely delay the release of SDK's, Azure CLI, Powershell etc. is is possible to add collection GET in the new api version ? Or perhaps change this API to return collection as noted and add the single GET in next api-version as that would include more work presumably (additional manifest change).
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.
@jorgecotillo We have updated the spec with proposed implementation to address this. Can you take another look?
specification/netapp/resource-manager/Microsoft.NetApp/stable/2021-06-01/netapp.json
Show resolved
Hide resolved
Hi @audunn, Your PR has some issues. Please fix the CI sequentially by following the order of
|
Thought, would this QuotaLimits be better suited modeled as a POST that returns a list? |
} | ||
} | ||
}, | ||
"SubscriptionQuotaItem": { |
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.
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.
That is why I am wondering as this is not strictly a "resource" if a POST to list the quota values would be a better fit here?
"/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/quotaLimits": {
"post": {
"tags": [
"NetApp Resource"
],
"summary": "Get quota limits",
"description": "Get the default and current limits for quotas",
"operationId": "NetAppResourceQuotaLimits_List",
"parameters": [
{
"$ref": "#/parameters/SubscriptionId"
},
{
"$ref": "#/parameters/location"
},
{
"$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/SubscriptionQuotaItemList"
}
},
"default": {
"description": "Error response describing why the operation failed."
}
},
"x-ms-examples": {
"QuotaLimits": {
"$ref": "examples/QuotaLimits_List.json"
}
}
}
},
If that does not fit this scenario I will make those changes you suggest.
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.
Hi, @majastrz can you take another look?
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.
The problem with POST is that identities with Reader role aren't able to invoke them, which causes some frustration. It's also harder to discover POST actions like that. My suggestion would be to stick with GET and just adjust the payloads to match ARM resources. It should be a pretty minor change.
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.
@majastrz , @jorgecotillo yes I was thinking it used along with authorizationActionMappings
.
Note we have updated GET in the spec with regards to your comment.
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.
Signed off from ARM side.
@msyyc ARMSignedOff can we move this along? |
@msyyc can we move this along? |
…d Rotterdam networkFeatures to API version 2021-06-02 (#1897) Create to sync Azure/azure-rest-api-specs#15850 [ReCreate this PR](https://github.com/azure-resource-manager-schemas/compare/main...AzureSDKAutomation:sdkAuto/netapp?expand=1)
…Features to API version 2021-06-02 (Azure#15850) * Add missing features, quotaLimist and Rotterdam networkFeatures * Update quotaLimits get and add get list * Update description for volume type * S360 Add missing serviceSpecification and metricsSpecification properties * Remove quotalimit response no longer used * pagable * Update to use common type proxy resource * pretty * systemdata Co-authored-by: Audunn Baldvinsson <[email protected]>
This adds features that where missing from the original 2021-06-01 PR API Spec update but are included in the service. This was found in our internal review. API spec should be updated otherwise we will have s360 validation issues.
This PR adds new quotaLimits operation and networkFeatures, networkSiblingSetId, storageToNetworkProximity properties to volumeProperties to support Rotterdam networking.
Note .net SDK, Azure CLI and Powershell modules have not been released yet for 2021-06-01.
MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.
Changelog
Add a changelog entry for this PR by answering the following questions:
Contribution checklist:
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 label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.
-[ ] 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.
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 any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.