Adding new api version 2024-01-01-preview
ARM (Control Plane) API Specification Update Pull Request
Tip: overwhelmed by all this guidance? See the
Getting helpsection at the bottom of this PR description.
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.
Click here to see the details of Step 1
Breaking changes review (Diagram 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.
Click here to see the details of Step 2
ARM API changes review (Diagram 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.
Click here to see the diagram footnotes
Diagram footnotes
[1] ARM review queue (for merge queues, see [2])
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] 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!
- [x] New API version. (If API spec is not defined in TypeSpec, the PR should have been generated using 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:
- [x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
- [x] 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 the Diagram Step 2, "ARM API changes Review", for this PR.
Additional information
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
- First, please carefully read through this PR description, from top to bottom. Please fill out the
Purpose of this PRandDue diligence checklist. - To understand what you must do next to merge this PR, see the
Next Steps to Mergecomment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state. - For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
- If the PR CI checks appear to be stuck in
queuedstate, please add a comment with contents/azp run. This should result in a new comment denoting aPR validation pipelinehas started and the checks should be updated after few minutes. - 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): 29 Errors, 0 Warnings failed [Detail]
| compared swaggers (via Oad v0.10.4)] | new version | base version |
|---|---|---|
| elastic.json | 2024-01-01-preview(faa2305) | 2023-06-01(main) |
| elastic.json | 2024-01-01-preview(faa2305) | 2023-11-01-preview(main) |
The following breaking changes are detected by comparison with the latest stable version:
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️⚠️LintDiff: 3 Warnings warning [Detail]
| compared tags (via openapi-validator v2.1.7) | new version | base version |
|---|---|---|
| package-2024-01-01-preview | package-2024-01-01-preview(faa2305) | default(main) |
[must fix]The following errors/warnings are introduced by current PR:
| Rule | Message | Related RPC [For API reviewers] |
|---|---|---|
| :warning: RequiredReadOnlySystemData | The response of operation:'OpenAI_Get' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L702 |
|
| :warning: RequiredReadOnlySystemData | The response of operation:'OpenAI_CreateOrUpdate' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L748 |
|
| :warning: ParameterDescription | Parameter should have a description. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L776 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
OperationsApiSchemaUsesCommonTypes |
Operations API path must follow the schema provided in the common types. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L48 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L231 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L285 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L291 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L298 |
PatchIdentityProperty |
The patch operation body parameter schema should contain property 'identity'. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L337 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L349 |
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.Elastic/preview/2024-01-01-preview/elastic.json#L366 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L393 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L402 |
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.Elastic/preview/2024-01-01-preview/elastic.json#L954 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L994 |
ProvisioningStateMustBeReadOnly |
provisioningState property must be set to readOnly. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1040 |
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.Elastic/preview/2024-01-01-preview/elastic.json#L1057 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1087 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1096 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1332 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1338 |
PostResponseCodes |
200 return code does not have a schema specified. LRO POST must have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1441 |
ParametersInPost |
ips is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1450 |
ParametersInPost |
name is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1450 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1480 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1486 |
PostResponseCodes |
200 return code does not have a schema specified. LRO POST must have a 200 return code if only if the final response is intended to have a schema, if not the 200 return code must not be specified. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1502 |
ParametersInPost |
name is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1511 |
ParametersInPost |
privateEndpointGuid is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1511 |
ParametersInPost |
privateEndpointName is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1511 |
LroLocationHeader |
A 202 response should include an Location response header. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1547 |
LroErrorContent |
Error response content of long running operations must follow the error schema provided in the common types v2 and above. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1553 |
ParametersInPost |
rulesetId is a query parameter. Post operation must not contain any query parameter other than api-version. Location: Microsoft.Elastic/preview/2024-01-01-preview/elastic.json#L1578 |
️️✔️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.
️️✔️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.
️⚠️ azure-sdk-for-python-track2 warning [Detail]
⚠️Warning [Logs] Generate from 8fc1e77a50e3e816d4c11f265977a5ce2301ce83. 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
️✔️track2_azure-mgmt-elastic [View full logs] [Preview SDK Changes]
️⚠️ azure-sdk-for-java warning [Detail]
⚠️Warning [Logs] Generate from 8fc1e77a50e3e816d4c11f265977a5ce2301ce83. SDK Automation 14.0.0command ./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json cmderr [init.sh] [notice] A new release of pip is available: 23.0.1 -> 24.0 cmderr [init.sh] [notice] To update, run: pip install --upgrade pip cmderr [init.sh] [notice] A new release of pip is available: 23.0.1 -> 24.0 cmderr [init.sh] [notice] To update, run: pip install --upgrade pip cmderr [init.sh] rent cmderr [init.sh] Dload Upload Total Spent Left Speed cmderr [init.sh] 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 1036k cmderr [init.sh] Downloading https://nodejs.org/dist/v18.15.0/node-v18.15.0-linux-x64.tar.xz... cmderr [init.sh] Computing checksum with sha256sum cmderr [init.sh] Checksums matched! cmderr [init.sh] notice cmderr [init.sh] npm notice New major version of npm available! 9.5.0 -> 10.4.0 cmderr [init.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0> cmderr [init.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [init.sh] npm notice command ./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
️✔️azure-resourcemanager-elastic [View full logs] [Preview SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 8fc1e77a50e3e816d4c11f265977a5ce2301ce83. 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/elastic/armelastic [View full logs] [Preview SDK Changes]
️⚠️ azure-resource-manager-schemas warning [Detail]
⚠️Warning [Logs] Generate from 8fc1e77a50e3e816d4c11f265977a5ce2301ce83. 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] npm notice cmderr [initScript.sh] npm notice New minor version of npm available! 10.2.3 -> 10.4.0 cmderr [initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.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
️✔️elastic [View full logs] [Preview Schema Changes]
️️✔️ azure-powershell succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 8fc1e77a50e3e816d4c11f265977a5ce2301ce83. SDK Automation 14.0.0command sh ./tools/SwaggerCI/init.sh ../azure-powershell_tmp/initInput.json ../azure-powershell_tmp/initOutput.json command pwsh ./tools/SwaggerCI/psci.ps1 ../azure-powershell_tmp/generateInput.json ../azure-powershell_tmp/generateOutput.json
️✔️Az.elastic.DefaultTag [View full logs] [Preview SDK Changes]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Go | sdk/resourcemanager/elastic/armelastic | https://apiview.dev/Assemblies/Review/91f41ba5d40a426aabff126542bd5a3f?revisionId=37bcb828d3ed4cf8a189befcee50ef66 |
| Java | azure-resourcemanager-elastic | https://apiview.dev/Assemblies/Review/c69e37098fbe486db384b0d28bd5483f?revisionId=2d9c1737b8084126b1bf58478719fe25 |
| Swagger | Microsoft.Elastic | https://apiview.dev/Assemblies/Review/6c49b4b21ed04e01a68502a2c883b82b?revisionId=6ffb7c4617d54e8387c30de6b8774c0f |
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.
Hi @utkarshjain1508! 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.
@rkmanda I have made all the changes on my end. Can you give approval for breaking change ?
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/openAIIntegration": {
[ARMBlockingComment] Please use plural resourceType here, and also since OpenAI is a brand name, changing to lower case is not correct.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:653 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"text/json"
[ARMBlockingComment] ARM APIs only support returning application/json type of response. Other response types are not allowed here.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:663 in ffaf71b. [](commit_id = ffaf71bb509a4e59c5032430151c17b3035d2e09, deletion_comment = False)
"application/*+json"
[ARMBlockingComment] Same here, only application/json is allowed in request payload.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:762 in ffaf71b. [](commit_id = ffaf71bb509a4e59c5032430151c17b3035d2e09, deletion_comment = False)
"type": "string",
If you mean AzureOpenAI Resource here, please use https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-arm-id-details.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2589 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"type": "string"
Please use https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-secret here, and make sure not to return the key in GET/PUT/PATCH API response. It can only be returned in Post API Response if needed.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2599 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"id": {
Why not use ProxyResource definition from here: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/common-types/resource-management/v5/types.json?
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2618 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"type": "object",
Please description property here.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2651 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"type": "object",
Please description property here.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2659 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"type": "object",
Please description property here.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2585 in 2c079d9. [](commit_id = 2c079d9dfaa884470b8fdda4d38c97b551219bd9, deletion_comment = False)
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/openAIIntegration": {[ARMBlockingComment] Please use plural resourceType here, and also since OpenAI is a brand name, changing to lower case is not correct.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:653 in 2c079d9. [](commit_id = 2c079d9, deletion_comment = False)
@visingla-ms need to change it to lowercase because of https://github.com/Azure/azure-openapi-validator/blob/main/docs/path-resource-type-name-camel-case.md
"id": {Why not use ProxyResource definition from here: https://github.com/Azure/azure-rest-api-specs/blob/main/specification/common-types/resource-management/v5/types.json?
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2618 in 2c079d9. [](commit_id = 2c079d9, deletion_comment = False)
@visingla-ms We just need the resource id of the resource for bookkeeping purposes
"201": {
If it is long running operation then add x-ms-long-running-operation: true https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-long-running-operation
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:791 in 6cd7269. [](commit_id = 6cd7269ebebd6621aee19f607c4ed46542f01f95, deletion_comment = False)
"204": {
If it is long running operation then add x-ms-long-running-operation: true https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-long-running-operation
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:840 in 6cd7269. [](commit_id = 6cd7269ebebd6621aee19f607c4ed46542f01f95, deletion_comment = False)
"lastRefreshAt": {
Will this be passed in requestBody ever? if it is something only returned by RP in response then marked it as readonly.
Refers to: specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-01-01-preview/elastic.json:2591 in 6cd7269. [](commit_id = 6cd7269ebebd6621aee19f607c4ed46542f01f95, deletion_comment = False)
@utkarshjain1508 , Please fix the lint errors present in this PR. https://github.com/Azure/azure-rest-api-specs/pull/27419/checks?check_run_id=21253677293
@utkarshjain1508 , Please fix the lint errors present in this PR. https://github.com/Azure/azure-rest-api-specs/pull/27419/checks?check_run_id=21253677293
@samsaha-ms The linting errors are for monitorName property which is not a new property. The error is being flagged in the existing API spec. Adding pattern validation on that property will be a breaking change
@utkarshjain1508 , Please fix the lint errors present in this PR. https://github.com/Azure/azure-rest-api-specs/pull/27419/checks?check_run_id=21253677293
@samsaha-ms The linting errors are for monitorName property which is not a new property. The error is being flagged in the existing API spec. Adding pattern validation on that property will be a breaking change
As discussed, add suppression if you think it would be breaking change for you. after that remove ArmChangesRequested for further review.
/pr RequestMerge