azure-rest-api-specs
azure-rest-api-specs copied to clipboard
[Hub Generated] Review request for Microsoft.RecoveryServices to add version stable/2023-08-01
This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
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!
- [x] 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:
- [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 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) succeeded [Detail] [Expand]
There are no breaking changes.
| compared swaggers (via Oad v0.10.4)] | new version | base version |
|---|---|---|
| service.json | 2023-08-01(e5e0217) | 2023-06-01(main) |
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️🔄LintDiff inProgress [Detail]
️️✔️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-net-track2 succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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.RecoveryServicesSiteRecovery [View full logs] [Preview SDK Changes]info [Changelog]
️⚠️ azure-sdk-for-python-track2 warning [Detail]
⚠️Warning [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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] npm notice New minor version of npm available! 10.2.3 -> 10.3.0 cmderr [automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.3.0> cmderr [automation_generate.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [automation_generate.sh] npm notice
️✔️track2_azure-mgmt-recoveryservicessiterecovery [View full logs] [Preview SDK Changes]- azure_mgmt_recoveryservicessiterecovery-1.0.0b1-py3-none-any.whl
- azure-mgmt-recoveryservicessiterecovery-1.0.0b1.zip
info [Changelog] ### Features Added info [Changelog] info [Changelog] - Added operation ReplicationFabricsOperations.begin_remove_infra info [Changelog] - Model A2AEnableProtectionInput has a new parameter auto_protection_of_data_disk
️⚠️ azure-sdk-for-java warning [Detail]
⚠️Warning [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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 -> 23.3.2 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 -> 23.3.2 cmderr [init.sh] [notice] To update, run: pip install --upgrade pip cmderr [init.sh] urrent cmderr [init.sh] Dload Upload Total Spent Left Speed cmderr [init.sh] 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 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! command ./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
️✔️azure-resourcemanager-recoveryservicessiterecovery [View full logs] [Preview SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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/recoveryservices/armrecoveryservicessiterecovery [View full logs] [Preview SDK Changes]info [Changelog] ### Features Added info [Changelog] info [Changelog] - New function `*ReplicationFabricsClient.BeginRemoveInfra(context.Context, string, string, string, *ReplicationFabricsClientBeginRemoveInfraOptions) (*runtime.Poller[ReplicationFabricsClientRemoveInfraResponse], error)` info [Changelog] - New struct `ErrorAdditionalInfo` info [Changelog] - New struct `ErrorDetail` info [Changelog] - New struct `ErrorResponse` info [Changelog] - New field `AutoProtectionOfDataDisk` in struct `A2AEnableProtectionInput` info [Changelog] info [Changelog] Total 0 breaking change(s), 8 additive change(s).
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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-recoveryservices-siterecovery [View full logs] [Preview SDK Changes]info [Changelog] **Features** info [Changelog] info [Changelog] - Added operation ReplicationFabrics.beginRemoveInfra info [Changelog] - Added operation ReplicationFabrics.beginRemoveInfraAndWait info [Changelog] - Added Interface ErrorAdditionalInfo info [Changelog] - Added Interface ErrorDetail info [Changelog] - Added Interface ErrorResponse info [Changelog] - Added Interface ReplicationFabricsRemoveInfraHeaders info [Changelog] - Added Interface ReplicationFabricsRemoveInfraOptionalParams info [Changelog] - Added Type Alias ReplicationFabricsRemoveInfraResponse info [Changelog] - Interface A2AEnableProtectionInput has a new optional parameter autoProtectionOfDataDisk
️⚠️ azure-resource-manager-schemas warning [Detail]
⚠️Warning [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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] notice cmderr [initScript.sh] npm notice New minor version of npm available! 10.2.3 -> 10.3.0 cmderr [initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.3.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
️✔️recoveryservicessiterecovery [View full logs] [Preview Schema Changes]
️️✔️ azure-powershell succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 6ff4c475ab64de2b3dee501dc947df79666dbad2. 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.recoveryservicessiterecovery.DefaultTag [View full logs] [Preview SDK Changes]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Go | sdk/resourcemanager/recoveryservices/armrecoveryservicessiterecovery | https://apiview.dev/Assemblies/Review/002d4025b23b4299a8d5ac660d16826d?revisionId=9fd7b4043a024be38f187068cc8c0293 |
| .Net | Azure.ResourceManager.RecoveryServicesSiteRecovery | https://apiview.dev/Assemblies/Review/bdf0e97b155548f8b16e13b632cee53e?revisionId=e146d3cee5a34d8e86803d728ca1c12a |
| JavaScript | @azure/arm-recoveryservices-siterecovery | https://apiview.dev/Assemblies/Review/4b2c6980393e4b0484ef43ef7741ac15?revisionId=06e4bb17f2e849788ffc3044f114c39a |
| Java | azure-resourcemanager-recoveryservicessiterecovery | Create ApiView failed. Please ask PR assignee for help |
| Swagger | Microsoft.RecoveryServices | https://apiview.dev/Assemblies/Review/87cb55db6e9f4146a1f242e528aece8b?revisionId=fdeb9da205c6495a89d7035e520c465b |
Fix Swagger SpellCheck please. I can approve after that.
},
Why use POST verb instead of DELETE? I don't think I understand what does 'remove infrastructure' mean?
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:930 in 9af75ee. [](commit_id = 9af75eeff1221ae4d5dc991a59500485be279adb, deletion_comment = False)
},
Is there a reverse operation from 'remove infrastructure', like 'add infrastruture', or 'reinstate infrastructure' that I can compare it with?
In reply to: 1809081504
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:930 in 9af75ee. [](commit_id = 9af75eeff1221ae4d5dc991a59500485be279adb, deletion_comment = False)
},
As well as an initial 202 response code, you need a final successful response status.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:956 in 01e549d. [](commit_id = 01e549dba97f55cae8948d8ec0459b35304c20fd, deletion_comment = False)
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.
},Why use POST verb instead of DELETE? I don't think I understand what does 'remove infrastructure' mean?
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:930 in 9af75ee. [](commit_id = 9af75ee, deletion_comment = False)
Using a POST call in case there is need for incorporating a request body in the future. Currently, this change is only implemented for a single scenario, but could be extended for other scenarios later.
},As well as an initial 202 response code, you need a final successful response status.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:956 in 01e549d. [](commit_id = 01e549d, deletion_comment = False)
Sorry, could not understand the change here. The API is async where the consumer will be polling the Azure-AsyncOperation header for tracking.
},Is there a reverse operation from 'remove infrastructure', like 'add infrastruture', or 'reinstate infrastructure' that I can compare it with?
In reply to: 1809081504
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:930 in 9af75ee. [](commit_id = 9af75ee, deletion_comment = False)
No, the infrastructure has several elements which are added by the user independently. So, there is no reverse operation in this case. 'Removing the infra' (at once) is the new feature being added here.
Fix Swagger SpellCheck please. I can approve after that.
Fixed, thank you!
"ReplicationInfrastructure"
You may need to use "ReplicationFabrics" as the tag in align with other operations of the replicationFabrics resource type.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:917 in 30d4d78. [](commit_id = 30d4d7868c00ea9c77cf12799d2837057a90734e, deletion_comment = False)
"operationId": "ReplicationInfrastructure_Delete",
can you use "ReplicationFabrics_RemoveInfra" as the operationId.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:920 in c7b24bf. [](commit_id = c7b24bf843c2fcadc66f4964ffac2e649b1a2509, deletion_comment = False)
"name": "resourceName",
you already have "#/parameters/ResourceName" parameter defined. you can re-use it.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:932 in c7b24bf. [](commit_id = c7b24bf843c2fcadc66f4964ffac2e649b1a2509, deletion_comment = False)
},Why use POST verb instead of DELETE? I don't think I understand what does 'remove infrastructure' mean?
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:930 in 9af75ee. [](commit_id = 9af75ee, deletion_comment = False)
Remove Infrastructure is an action to do a cleanup of entries/registries done by the customer if the setup is no longer needed, but not a cleanup of ARM resources.
"post": {
Whats the diff between DELETE and removeInfra ?
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:915 in c7b24bf. [](commit_id = c7b24bf843c2fcadc66f4964ffac2e649b1a2509, deletion_comment = False)
}
Can you update existing examples around this object illustrating values for autoProtectionOfDataDisk
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:8620 in c7b24bf. [](commit_id = c7b24bf843c2fcadc66f4964ffac2e649b1a2509, deletion_comment = False)
"name": "resourceName",you already have "#/parameters/ResourceName" parameter defined. you can re-use it.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:932 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
There was an error pointing out that we need regex pattern for this field
"post": {Whats the diff between DELETE and removeInfra ?
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:915 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
Both are same
}Can you update existing examples around this object illustrating values for autoProtectionOfDataDisk
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:8620 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
So we have an example for ReplicationProtectedItems_Create for Provider: HyperVReplicaAzure. This new field that we have added only exists for Provider: AzureToAzure. So in this case do I create a new example for ReplicationProtectedItems_Create API for AzureToAzure Provider too? And is there any naming convention we need to follow as I see we have not created any provider specific examples till now.
"name": "resourceName",you already have "#/parameters/ResourceName" parameter defined. you can re-use it. Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:932 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
There was an error pointing out that we need regex pattern for this field
Did regex for parameter not work?
"post": {Whats the diff between DELETE and removeInfra ? Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:915 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
Both are same
Why is this not modelled as DELETE Api?
}Can you update existing examples around this object illustrating values for autoProtectionOfDataDisk Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:8620 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
So we have an example for ReplicationProtectedItems_Create for Provider: HyperVReplicaAzure. This new field that we have added only exists for Provider: AzureToAzure. So in this case do I create a new example for ReplicationProtectedItems_Create API for AzureToAzure Provider too? And is there any naming convention we need to follow as I see we have not created any provider specific examples till now.
Please help with this query
"name": "resourceName",you already have "#/parameters/ResourceName" parameter defined. you can re-use it. Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:932 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
There was an error pointing out that we need regex pattern for this field
Did regex for parameter not work?
No, needed to add a new field altogether.
"operationId": "ReplicationInfrastructure_Delete",can you use "ReplicationFabrics_RemoveInfra" as the operationId.
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:920 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
Done, thank you
"post": {Whats the diff between DELETE and removeInfra ? Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:915 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
Both are same
Why is this not modelled as DELETE Api?
Using a POST call in case there is need for incorporating a request body in the future. Currently, this change is only implemented for a single scenario, but we need to extend the flow for other scenarios later and will be using a json request body.
"post": {Whats the diff between DELETE and removeInfra ? Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:915 in c7b24bf. [](commit_id = c7b24bf, deletion_comment = False)
Both are same
Why is this not modelled as DELETE Api?
Using a POST call in case there is need for incorporating a request body in the future. Currently, this change is only implemented for a single scenario, but we need to extend the flow for other scenarios later and will be using a json request body.
Why do you think you are going to need a request body for delete or removal?
"default": {
Recommend adding a minimal 200 to the response "200": { "description": "OK" },
Refers to: specification/recoveryservicessiterecovery/resource-manager/Microsoft.RecoveryServices/stable/2023-08-01/service.json:957 in 6e09a0f. [](commit_id = 6e09a0fe7ab8c56ac60802ef69793b88049e2ef1, deletion_comment = False)