azure-rest-api-specs
azure-rest-api-specs copied to clipboard
waf features 2024-02-01
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] ARM review queue (for merge queues, see [4])
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 (for ARM review queue, [1])
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!
- [ ] New API version. (Such PR should have been generated with OpenAPI Hub).
- [ ] 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 swagger quality issues in S360.
- [ ] Other, please clarify:
- edit this with your clarification
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 Step 2, "ARM Review", for this PR.
Breaking changes review (Step 1)
- If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:- The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
- You believe there is no need for you to request breaking change approval, for any reason. Such claims must be reviewed, and the process is the same.
ARM API changes review (Step 2)
- If this PR is in purview of ARM review then automation will add the
ARMReviewlabel. - If you want to force ARM review, add the label yourself.
- Proceed according to the diagram at the top of this comment.
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 Swagger-Suppression-Process to get approval.
Getting help
- For general PR approval workflow, see the diagram at the top of this comment.
- For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
- 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.
Next Steps to Merge
✅ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).
Swagger Validation Report
️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️⚠️Breaking Change(Cross-Version): 5 Warnings warning [Detail]
| Compared specs (v0.10.5) | new version | base version |
|---|---|---|
| network.json | 2024-02-01(0ebdb15) | 2022-05-01(main) |
| network.json | 2024-02-01(0ebdb15) | 2019-03-01-preview(main) |
| webapplicationfirewall.json | 2024-02-01(0ebdb15) | 2022-05-01(main) |
| webapplicationfirewall.json | 2024-02-01(0ebdb15) | 2019-03-01-preview(main) |
The following breaking changes are detected by comparison with the latest preview version:
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 0 Warnings warning [Detail]
| Compared specs (v2.2.0) | new version | base version |
|---|---|---|
| package-2024-02 | package-2024-02(0ebdb15) | default(main) |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
OperationsAPIImplementation |
Operations API must be implemented for 'Microsoft.Network'. Location: Microsoft.Network/stable/2024-02-01/network.json#L1 |
MissingTypeObject |
The schema 'ErrorDetails' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L40 |
MissingTypeObject |
The schema 'Error' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L53 |
MissingTypeObject |
The schema 'AzureAsyncOperationResult' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L75 |
MissingTypeObject |
The schema 'Resource' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L96 |
MissingTypeObject |
The schema 'SubResource' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L128 |
MissingTypeObject |
The schema 'TagsObject' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/network.json#L138 |
XmsParameterLocation |
The parameter 'SubscriptionIdParameter' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'. Location: Microsoft.Network/stable/2024-02-01/network.json#L152 |
XmsParameterLocation |
The parameter 'ApiVersionParameter' is defined in global parameters section without 'x-ms-parameter-location' extension. This would add the parameter as the client property. Please ensure that this is exactly you want. If so, apply the extension 'x-ms-parameter-location': 'client'. Else, apply the extension 'x-ms-parameter-location': 'method'. Location: Microsoft.Network/stable/2024-02-01/network.json#L159 |
DefaultErrorResponseSchema |
the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L62 |
ResourceNameRestriction |
The resource name parameter 'policyName' should be defined with a 'pattern' restriction. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L118 |
DefaultErrorResponseSchema |
the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L146 |
PutResponseCodes |
Synchronous and long-running PUT operations must have responses with 200, 201 and default return codes. They also must not have other response codes. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L159 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L201 |
DefaultErrorResponseSchema |
the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L207 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L210 |
PatchResponseCodes |
Long-running PATCH operations must have responses with 200, 202 and default return codes. They also must not have other response codes. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L221 |
LroPatch202 |
The async patch operation should return 202. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L250 |
DefaultErrorResponseSchema |
the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L257 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L260 |
DeleteResponseCodes |
Long-running delete operations must have responses with 202, 204 and default return codes. They also must have no other response codes. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L271 |
RequiredDefaultResponse |
The response is defined but without a default error response implementation.Consider adding it.' Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L291 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L295 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets' Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L310 |
DefaultErrorResponseSchema |
the default error response schema does not correspond to the schema documented at https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-details.md#error-response-content. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L332 |
MissingTypeObject |
The schema 'WebApplicationFirewallPolicy' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L351 |
MissingTypeObject |
The schema 'WebApplicationFirewallPolicyProperties' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L374 |
MissingTypeObject |
The schema 'WebApplicationFirewallPolicyList' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L456 |
MissingTypeObject |
The schema 'PolicySettings' is considered an object but without a 'type:object', please add the missing 'type:object'. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L473 |
IntegerTypeMustHaveFormat |
The integer type does not have a format, please add it. Location: Microsoft.Network/stable/2024-02-01/webapplicationfirewall.json#L504 |
️⚠️Avocado: 1 Warnings warning [Detail]
| Rule | Message |
|---|---|
| :warning: MULTIPLE_API_VERSION | The default tag contains multiple API versions swaggers. readme: specification/frontdoor/resource-manager/readme.md tag: specification/frontdoor/resource-manager/readme.md#tag-package-2024-02 |
️️✔️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.
️️✔️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
️️✔️ApiDocPreview succeeded [Detail] [Expand]
Please click here to preview with your @microsoft account.
️❌SDK Breaking Change Tracking failed [Detail]
Breaking Changes Tracking
❌azure-sdk-for-js - @azure/arm-frontdoor - Approved - 6.0.0+ Class FrontDoorManagementClient has a new signature
️️✔️ azure-sdk-for-net-track2 succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from d08326de2bfcb9a47b7a7fbc447f0b58f5edb779. SDK Automation 14.0.0command pwsh ./eng/scripts/Automation-Sdk-Init.ps1 ../azure-sdk-for-net_tmp/initInput.json ../azure-sdk-for-net_tmp/initOutput.json command pwsh ./eng/scripts/Invoke-GenerateAndBuildV2.ps1 ../azure-sdk-for-net_tmp/generateInput.json ../azure-sdk-for-net_tmp/generateOutput.json
️✔️Azure.ResourceManager.FrontDoor [View full logs] [Preview SDK Changes]info [Changelog]
️⚠️ azure-sdk-for-python-track2 warning [Detail]
⚠️Warning [Logs] Generate from d08326de2bfcb9a47b7a7fbc447f0b58f5edb779. SDK Automation 14.0.0command sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json cmderr [automation_init.sh] WARNING: azure-devtools 1.2.1 does not provide the extra 'ci-tools' cmderr [automation_init.sh] WARNING: azure-devtools 1.2.1 does not provide the extra 'ci-tools' cmderr [automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed. command sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json cmderr [automation_generate.sh] cmderr [automation_generate.sh] New minor version of npm available! 10.2.4 -> 10.5.0 cmderr [automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.0> cmderr [automation_generate.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [automation_generate.sh] npm notice
️✔️track2_azure-mgmt-frontdoor [View full logs] [Preview SDK Changes]info [Changelog] ### Features Added info [Changelog] info [Changelog] - Model CustomRule has a new parameter group_by info [Changelog] - Model PolicySettings has a new parameter javascript_challenge_expiration_in_minutes info [Changelog] - Model PolicySettings has a new parameter scrubbing_rules info [Changelog] - Model PolicySettings has a new parameter state
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from d08326de2bfcb9a47b7a7fbc447f0b58f5edb779. SDK Automation 14.0.0command sh ./eng/scripts/automation_init.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json command generator automation-v2 ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
️✔️sdk/resourcemanager/frontdoor/armfrontdoor [View full logs] [Preview SDK Changes]info [Changelog] ### Features Added info [Changelog] info [Changelog] - New value `ActionTypeJSChallenge` added to enum type `ActionType` info [Changelog] - New enum type `ScrubbingRuleEntryMatchOperator` with values `ScrubbingRuleEntryMatchOperatorEquals`, `ScrubbingRuleEntryMatchOperatorEqualsAny` info [Changelog] - New enum type `ScrubbingRuleEntryMatchVariable` with values `ScrubbingRuleEntryMatchVariableQueryStringArgNames`, `ScrubbingRuleEntryMatchVariableRequestBodyJSONArgNames`, `ScrubbingRuleEntryMatchVariableRequestBodyPostArgNames`, `ScrubbingRuleEntryMatchVariableRequestCookieNames`, `ScrubbingRuleEntryMatchVariableRequestHeaderNames`, `ScrubbingRuleEntryMatchVariableRequestIPAddress`, `ScrubbingRuleEntryMatchVariableRequestURI` info [Changelog] - New enum type `ScrubbingRuleEntryState` with values `ScrubbingRuleEntryStateDisabled`, `ScrubbingRuleEntryStateEnabled` info [Changelog] - New enum type `VariableName` with values `VariableNameGeoLocation`, `VariableNameNone`, `VariableNameSocketAddr` info [Changelog] - New enum type `WebApplicationFirewallScrubbingState` with values `WebApplicationFirewallScrubbingStateDisabled`, `WebApplicationFirewallScrubbingStateEnabled` info [Changelog] - New struct `GroupByVariable` info [Changelog] - New struct `PolicySettingsLogScrubbing` info [Changelog] - New struct `WebApplicationFirewallScrubbingRules` info [Changelog] - New field `GroupBy` in struct `CustomRule` info [Changelog] - New field `JavascriptChallengeExpirationInMinutes`, `LogScrubbing` in struct `PolicySettings` info [Changelog] info [Changelog] Total 0 breaking change(s), 30 additive change(s).
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from d08326de2bfcb9a47b7a7fbc447f0b58f5edb779. SDK Automation 14.0.0command sh .scripts/automation_init.sh ../azure-sdk-for-js_tmp/initInput.json ../azure-sdk-for-js_tmp/initOutput.json warn File azure-sdk-for-js_tmp/initOutput.json not found to read command sh .scripts/automation_generate.sh ../azure-sdk-for-js_tmp/generateInput.json ../azure-sdk-for-js_tmp/generateOutput.json
️✔️@azure/arm-frontdoor [View full logs] [Preview SDK Changes] Breaking Change Detectedinfo [Changelog] **Features** info [Changelog] info [Changelog] - Added Interface GroupByVariable info [Changelog] - Added Interface WebApplicationFirewallScrubbingRules info [Changelog] - Added Type Alias ScrubbingRuleEntryMatchOperator info [Changelog] - Added Type Alias ScrubbingRuleEntryMatchVariable info [Changelog] - Added Type Alias ScrubbingRuleEntryState info [Changelog] - Added Type Alias VariableName info [Changelog] - Added Type Alias WebApplicationFirewallScrubbingState info [Changelog] - Interface CustomRule has a new optional parameter groupBy info [Changelog] - Interface PolicySettings has a new optional parameter javascriptChallengeExpirationInMinutes info [Changelog] - Interface PolicySettings has a new optional parameter scrubbingRules info [Changelog] - Interface PolicySettings has a new optional parameter state info [Changelog] - Added Enum KnownScrubbingRuleEntryMatchOperator info [Changelog] - Added Enum KnownScrubbingRuleEntryMatchVariable info [Changelog] - Added Enum KnownScrubbingRuleEntryState info [Changelog] - Added Enum KnownVariableName info [Changelog] - Added Enum KnownWebApplicationFirewallScrubbingState info [Changelog] - Enum KnownActionType has a new value JSChallenge info [Changelog] info [Changelog] **Breaking Changes** info [Changelog] info [Changelog] - Class FrontDoorManagementClient has a new signature
️⚠️ azure-resource-manager-schemas warning [Detail]
⚠️Warning [Logs] Generate from d08326de2bfcb9a47b7a7fbc447f0b58f5edb779. Schema Automation 14.0.0command .sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json cmderr [initScript.sh] cmderr [initScript.sh] npm notice New minor version of npm available! 10.2.4 -> 10.5.0 cmderr [initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.0> cmderr [initScript.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [initScript.sh] npm notice warn File azure-resource-manager-schemas_tmp/initOutput.json not found to read command .sdkauto/generateScript.sh ../azure-resource-manager-schemas_tmp/generateInput.json ../azure-resource-manager-schemas_tmp/generateOutput.json
️✔️frontdoor [View full logs] [Preview Schema Changes]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Go | sdk/resourcemanager/frontdoor/armfrontdoor | https://apiview.dev/Assemblies/Review/a09e1f71701e4ffa8210290e8f40ef84?revisionId=66b04b1996484a57b6702fcc44a41a07 |
| .Net | Azure.ResourceManager.FrontDoor | https://apiview.dev/Assemblies/Review/46cb3b37ca1647b7ade7d9265509134f?revisionId=94109ce274044e03817c4b31f7b2bcec |
| JavaScript | @azure/arm-frontdoor | https://apiview.dev/Assemblies/Review/1ed196191c9f4dfab80223a82e095e49?revisionId=bd272062da6c4fec9072550b05aa8aa8 |
| Swagger | Microsoft.Network | https://apiview.dev/Assemblies/Review/9a91f46aa0a846acaae91aba821517fb?revisionId=c6f163935980455fbed97310484edf8c |
Hi @neelesh06! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version.
For more details refer to the wiki.
Hi @neelesh06! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
Please follow this guide, to include the old API so we can see the diff.
Please address or respond to feedback from the ARM API reviewer.
When you are ready to continue the ARM API review, please remove the ARMChangesRequested label.
This will notify the reviewer to have another look.
If the feedback provided needs further discussion, please use this Teams channel to post your questions - aka.ms/azsdk/support/specreview-channel.
Please include [ARM Query] in the title of your question to indicate that it is ARM-related.
Swagger pipeline started successfully. If there is ApiView generated, it will be updated in this comment.
Hi @neelesh06! For review efficiency consideration, when creating a new API version, it is required to place API specs of the base version in the first commit, and push new version updates into successive commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
refer this comment for base version
I have added a same PR in private repo as well https://github.com/Azure/azure-rest-api-specs-pr/pull/16853. Please review the private repo PR. I want to merge the private repo PR and start the PS/CLI work. Thanks.
/pr RequestMerge