-
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
Add Get All Policies under Subscription in Version 2022-05-01. #22393
Add Get All Policies under Subscription in Version 2022-05-01. #22393
Conversation
Hi, @neelesh06 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] |
Swagger Validation Report
|
compared swaggers (via Oad v0.10.4)] | new version | base version |
---|---|---|
webapplicationfirewall.json | 2022-05-01(b48f422) | 2022-05-01(main) |
Rule | Message |
---|---|
1038 - AddedPath |
The new version is adding a path that was not found in the old version. New: Microsoft.Network/stable/2022-05-01/webapplicationfirewall.json#L79:5 |
️️✔️
Breaking Change(Cross-Version) succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️
CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️
LintDiff: 2 Warnings warning [Detail]
compared tags (via openapi-validator v2.0.0) | new version | base version |
---|---|---|
package-2022-05 | package-2022-05(b48f422) | package-2022-05(main) |
[must fix]The following errors/warnings are introduced by current PR:
Rule | Message | Related RPC [For API reviewers] |
---|---|---|
Parameter 'api-version' is referenced but not defined in the global parameters section of Service Definition Location: Microsoft.Network/stable/2022-05-01/webapplicationfirewall.json#L86 |
||
Do not have duplicate name of x-ms-example, make sure every x-ms-example name unique. Duplicate x-ms-example: Get all Policies in a Resource Group Location: Microsoft.Network/stable/2022-05-01/webapplicationfirewall.json#L111 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
️⚠️
Avocado: 1 Warnings warning [Detail]
Rule | Message |
---|---|
The default tag contains multiple API versions swaggers. readme: specification/frontdoor/resource-manager/readme.md tag: specification/frontdoor/resource-manager/readme.md#tag-package-2022-05 |
️️✔️
ApiReadinessCheck succeeded [Detail] [Expand]
️❌
~[Staging] ServiceAPIReadinessTest: 54 Errors, 0 Warnings failed [Detail]
Tag package-2022-05; Prod region: Deployed
Test run on region: northcentralus; Operation coverage: total: 38, untested: 0, failed: 27, passed: 11
Service API Readiness Test failed. Check pipeline artifact for detail report.
Only 30 items are listed, please refer to log for more details.
Rule | Message |
---|---|
CLIENT_ERROR |
statusCode: 400, errorCode: BadRequest, errorMessage: Invalid Resource Id provided for WebApplicationFirewallPolicy link.; Frontdoor location must be global.; Backend "10.0.1.5" has an invalid address. The address field must be an IPv4 address, IPv6 address, or fully-qualified domain name.; Backend hostname "10.0.1.5" is invalid. It must be a valid domain name, IP version 4, or IP version 6. Source: runtime OperationId: FrontDoors_CreateOrUpdate |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: FrontDoors_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoors/frontdoow5owmq' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: FrontDoors_Get |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: FrontDoors_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoors/frontdoow5owmq' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: FrontDoors_ValidateCustomDomain |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: FrontDoors_ValidateCustomDomain |
CLIENT_ERROR |
statusCode: 400, errorCode: BadRequest, errorMessage: The Internet Analyzer profile did not pass validation checks. Source: runtime OperationId: NetworkExperimentProfiles_CreateOrUpdate |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: NetworkExperimentProfiles_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: NetworkExperimentProfiles_Get |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: NetworkExperimentProfiles_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: NetworkExperimentProfiles_Update |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: NetworkExperimentProfiles_Update |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Experiments_CreateOrUpdate |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Experiments_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Experiments_ListByProfile |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Experiments_ListByProfile |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Experiments_Get |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Experiments_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/networkExperimentProfiles/profilen8atv7h' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Experiments_Update |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Experiments_Update |
CLIENT_ERROR |
statusCode: 400, errorCode: LocationRequired, errorMessage: The location property is required for this definition. Source: runtime OperationId: Policies_CreateOrUpdate |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Policies_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoorWebApplicationFirewallPolicies/policynaph41da' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Policies_Get |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Policies_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoorWebApplicationFirewallPolicies/policynaph41da' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: Policies_Update |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: Policies_Update |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoors/frontdoow5owmq' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: RulesEngines_CreateOrUpdate |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: RulesEngines_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.Network/frontdoors/frontdoow5owmq' under resource group 'apiTest-MGvyUC-22393' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: RulesEngines_ListByFrontDoor |
OBJECT_ADDITIONAL_PROPERTIES |
Additional properties not allowed: error Source: response OperationId: RulesEngines_ListByFrontDoor |
️️✔️
SwaggerAPIView succeeded [Detail] [Expand]
️️✔️
CadlAPIView 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).
️️✔️
CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
️️✔️
PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
|
Generated ApiView
|
This PR is adding the missing subscription level GET policies API. this is not changing any parameter and not touching any existing API. No breaking change for the customer. Code already support the Subscription level GET api. |
Hi @neelesh06, Your PR has some issues. Please fix the CI sequentially by following the order of
|
…Subscription.json
NewApiVersionRequired reason: |
@neelesh06 Could you help fix those lintDiff, semantic, model validation errors ? |
Fixed the LintDiff error - fix https://github.com/Azure/azure-openapi-validator/blob/main/docs/default-error-response-schema.md Fixed the SemanticValidatiion error - fix https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md#DUPLICATE_OPERATIONID
…5-01-AddGetAllAtSubscription
add typeobject.
@JeffreyRichter Could you help take a look at the breaking change ? Thanks |
…5-01-AddGetAllAtSubscription
Fix prettier check.
Prettier fix
I see a new path being added: https://github.com/Azure/azure-rest-api-specs/pull/22393/checks?check_run_id=11055506302 |
@JeffreyRichter here we are just adding a new missing GET API on subscription level. this API does not break any existing api's. we are not adding new parameter or adding any new value for the parameter. this API implementation is already present in the RP. This is just new api publishing. Does this still consider as breaking change. This will not affect any customer calls or any of their template. |
Azure's formal versioning policy is that ANY change to an API contract requires a new api-version. This avoid having multiple versions of a single api-version which customers can't rationalize about. |
I agree on when any api contract change than it needs new api version because customers' needs to change their template and scripts. but here we are not changing any api contract. We are just adding new api (whose implementation is already present in the RP). On this change there is no effect on customer running the template or scripts. It is Subscription level get that was missed in last PR. |
Adding a new path IS changing the contract - it now has a new path that it didn't have before. |
Appreciate your time Actually this was asks from customers as well as supports that we do not have subscription level GET api in the same version (this is one of the required GET api) although we have implementation of this api in RP. If we can support this GET api in the same version, then we can avoid customers to upgrade the version and if they really need the new api then they will just add in the same version. Their existing scripts and template will not get affected. I understand that the tool is robust and check all the conditions, but can you please review this and check if this can be added in the same version? |
You're asking me to violate azure's policy and I don't feel comfortable doing that. If the customer has to change their code to call this new path anyway, then it is trivial for them to also change the api-version. |
Sorry @JeffreyRichter, I am not asking to violate the policy, but this scenario is little unique where we are not changing any existing API's contract. we are only adding new API that RP already supported, and we are only publishing that to customer. I was asking to just review the swagger and scenario and see if this can qualify as non-breaking change. I talked to some of the API reviewer before raising this PR and they said this may qualify for the non-breaking change. |
Was this path added after 2022-05-01 shipped or did 2022-05-01 ALWAYS have this path as part of it? If the former, then your service team should not have done this as this violates Azure's policy. If the latter, then the swagger should never have been published missing the path but I can approve it. |
@JeffreyRichter, thanks for reconsideration. We have this path available before we shipped the 2022-05-01. It was missed to add this GET API in our last publishing of swagger. |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
…ion 2022-05-01. (#2735) Create to sync Azure/azure-rest-api-specs#22393 [ReCreate this PR](https://github.com/azure-resource-manager-schemas/compare/main...azure-sdk:sdkAuto/frontdoor?expand=1)
…#22393) * Create WafListPoliciesUnderResourceGroup.json * Update webapplicationfirewall.json * Rename WafListPoliciesUnderResourceGroup.json to WafListPoliciesUnderSubscription.json * Update webapplicationfirewall.json Fixed the LintDiff error - fix https://github.com/Azure/azure-openapi-validator/blob/main/docs/default-error-response-schema.md Fixed the SemanticValidatiion error - fix https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md#DUPLICATE_OPERATIONID * Update WafPolicyDelete.json Fixed the ModelValidation error - fix of https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Semantic-and-Model-Violations-Reference.md#LRO_RESPONSE_HEADER * Update webapplicationfirewall.json add typeobject. * Update WafPolicyDelete.json Fix prettier check. * Update webapplicationfirewall.json Prettier fix
ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.
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:
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.