Adding new API version 2024-04-01 to recoveryservicesbackup
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.
[!NOTE] As of January 2024 there is no PR assignee. This is expected. See https://aka.ms/azsdk/pr-arm-review.
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
If you are in purview of Step 1 of the diagram, follow the Breaking Changes review process.
IMPORTANT! This applies even if you believe your PR was mislabeled, for any reason, including tool failure.
Click here to see the details of Step 2, ARM review
See https://aka.ms/azsdk/pr-arm-review.
Click here to see the diagram footnotes
Diagram footnotes
[1] See ARM review queue (for PR merge queues, see [2]).
[2] public repo merge queue, private repo merge queue (for ARM review queue, [1])
The ARM reviewer on-call engineer visits the merge queue twice a day, so the approximate ETA for merges is 12 - 24 hours.
Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!
- [ ] New resource provider.
- [ ] New API version for an existing resource provider. (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 OpenAPI spec 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 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 suppressions guide 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.
- For help with PR workflow diagram Step 2 (ARM review), see https://aka.ms/azsdk/pr-arm-review.
- 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
Next steps that must be taken to merge this PR:- ❌ Your PR is in purview of ARM review (label:
ARMReview). Please ensure your PR is on the ARM PR review queue - see instructions in steps 1 and 2 in the PR description diagram. - ❌ The required check named
Automated merging requirements methas failed. This is the final check that must pass. Refer to the check in the PR's 'Checks' tab for details on how to fix it. In addition, 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 Warnings warning [Detail]
| Compared specs (v0.10.7) | new version | base version |
|---|---|---|
| bms.json | 2024-04-01(8e2e3a8) | 2024-01-01(main) |
| bms.json | 2024-04-01(8e2e3a8) | 2022-09-30-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: 1 Warnings warning [Detail]
| Compared specs (v2.2.0) | new version | base version |
|---|---|---|
| package-2024-04 | package-2024-04(8e2e3a8) | 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:'RecoveryPoints_Update' is defined without 'systemData'. Consider adding the systemData to the response. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L1748 |
The following errors/warnings exist before current PR submission:
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
ImplementPrivateEndpointAPIs |
The private endpoint API: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources is missing. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L20 |
ImplementPrivateEndpointAPIs |
The private endpoint API: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateEndpointConnections is missing. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L20 |
EvenSegmentedPathForPutOperation |
API path with PUT operation defined MUST have even number of segments (i.e. end in {resourceType}/{resourceName} segments). Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
PathForNestedResource |
The path for nested resource doest not meet the valid resource pattern. There is one exception for extension resources with fully qualified path and the author can go ahead and suppress the error(look at https://github.com/Azure/azure-openapi-validator/blob/main/docs/path-for-nested-resource.md#pathfornestedresource for more details) Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
PathForTrackedResourceTypes |
The path must be under a subscription and resource group for tracked resource types. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
PutGetPatchResponseSchema |
/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupstorageconfig/vaultstorageconfig has different responses for PUT/GET/PATCH operations. The PUT/GET/PATCH operations must have same schema response. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
ResourceNameRestriction |
The resource name parameter 'vaultName' should be defined with a 'pattern' restriction. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
SubscriptionsAndResourceGroupCasing |
The path segment Subscriptions should be subscriptions. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L21 |
ParametersOrder |
The parameters:vaultName,resourceGroupName should be kept in the same order as they present in the path. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L22 |
XmsPageableForListCalls |
x-ms-pageable extension must be specified for LIST APIs.Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L22 |
ParametersOrder |
The parameters:vaultName,resourceGroupName should be kept in the same order as they present in the path. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L65 |
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.RecoveryServices/stable/2024-04-01/bms.json#L65 |
ParametersOrder |
The parameters:vaultName,resourceGroupName should be kept in the same order as they present in the path. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L117 |
PatchResponseCodes |
Synchronous PATCH operations must have responses with 200 and default return codes. They also must not have other response codes. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L117 |
UnSupportedPatchProperties |
Mark the top-level property 'location', specified in the patch operation body, as readOnly or immutable. You could also choose to remove it from the request payload of the Patch operation. This property is not patchable. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L136 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupPreValidateProtection' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L164 |
SubscriptionsAndResourceGroupCasing |
The path segment Subscriptions should be subscriptions. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L164 |
PostResponseCodes |
Synchronous POST operations must have one of the following combinations of responses - 200 and default ; 204 and default. They also must not have other response codes. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L165 |
RequiredDefaultResponse |
The response is defined but without a default error response implementation.Consider adding it.' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L194 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupStatus' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L209 |
SubscriptionsAndResourceGroupCasing |
The path segment Subscriptions should be subscriptions. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L209 |
PostResponseCodes |
Synchronous POST operations must have one of the following combinations of responses - 200 and default ; 204 and default. They also must not have other response codes. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L210 |
RequiredDefaultResponse |
The response is defined but without a default error response implementation.Consider adding it.' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L239 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/locations/{azureRegion}/backupValidateFeatures' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L254 |
SubscriptionsAndResourceGroupCasing |
The path segment Subscriptions should be subscriptions. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L254 |
PostResponseCodes |
Synchronous POST operations must have one of the following combinations of responses - 200 and default ; 204 and default. They also must not have other response codes. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L255 |
RequiredDefaultResponse |
The response is defined but without a default error response implementation.Consider adding it.' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L284 |
PathResourceTypeNameCamelCase |
Resource type naming must follow camel case. Path: '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/backupProtectionIntent/{intentObjectName}' Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L299 |
ResourceNameRestriction |
The resource name parameter 'vaultName' should be defined with a 'pattern' restriction. Location: Microsoft.RecoveryServices/stable/2024-04-01/bms.json#L299 |
️❌Avocado: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
MULTIPLE_DEFAULT_TAGS |
The readme file has more than one default tag. readme: specification/recoveryservicesbackup/resource-manager/readme.md |
️️✔️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 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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.RecoveryServicesBackup [View full logs] [Preview SDK Changes]info [Changelog]
️⚠️ azure-sdk-for-python warning [Detail]
⚠️Warning [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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: 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] npm notice cmderr [automation_generate.sh] npm notice New minor version of npm available! 10.2.4 -> 10.5.1 cmderr [automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.1> cmderr [automation_generate.sh] npm notice Run `npm install -g [email protected]` to update! cmderr [automation_generate.sh] npm notice
️✔️azure-mgmt-recoveryservicesbackup [View full logs] [Preview SDK Changes]info [Changelog]
️⚠️ azure-sdk-for-java warning [Detail]
⚠️Warning [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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 command ./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
️✔️azure-resourcemanager-recoveryservicesbackup [View full logs] [Preview SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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/armrecoveryservicesbackup [View full logs] [Preview SDK Changes]info [Changelog] ### Features Added info [Changelog] info [Changelog] - New enum type `IaasVMSnapshotConsistencyType` with values `IaasVMSnapshotConsistencyTypeOnlyCrashConsistent` info [Changelog] - New function `*RecoveryPointsClient.Update(context.Context, string, string, string, string, string, string, UpdateRecoveryPointRequest, *RecoveryPointsClientUpdateOptions) (RecoveryPointsClientUpdateResponse, error)` info [Changelog] - New struct `PatchRecoveryPointInput` info [Changelog] - New struct `PatchRecoveryPointPropertiesInput` info [Changelog] - New struct `UpdateRecoveryPointRequest` info [Changelog] - New field `SnapshotConsistencyType` in struct `AzureIaaSVMProtectionPolicy` info [Changelog] info [Changelog] Total 0 breaking change(s), 10 additive change(s).
️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
️✔️Succeeded [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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-recoveryservicesbackup [View full logs] [Preview SDK Changes]info [Changelog] **Features** info [Changelog] info [Changelog] - Added operation RecoveryPoints.update info [Changelog] - Added Interface PatchRecoveryPointInput info [Changelog] - Added Interface PatchRecoveryPointPropertiesInput info [Changelog] - Added Interface RecoveryPointsUpdateOptionalParams info [Changelog] - Added Interface UpdateRecoveryPointRequest info [Changelog] - Added Type Alias IaasVMSnapshotConsistencyType info [Changelog] - Added Type Alias RecoveryPointsUpdateResponse info [Changelog] - Interface AzureIaaSVMProtectionPolicy has a new optional parameter snapshotConsistencyType info [Changelog] - Added Enum KnownIaasVMSnapshotConsistencyType
️⚠️ azure-resource-manager-schemas warning [Detail]
⚠️Warning [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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.1 cmderr [initScript.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.5.1> 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
️✔️recoveryservicesbackup [View full logs] [Preview Schema Changes]
️⚠️ azure-powershell warning [Detail]
⚠️Warning [Logs] Generate from 2bc2cbe53909045e13b19d60294caa76411f1d3d. 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.recoveryservicesbackup.DefaultTag [View full logs] [Preview SDK Changes]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Go | sdk/resourcemanager/recoveryservices/armrecoveryservicesbackup | https://apiview.dev/Assemblies/Review/54b1e1dfd98c4c2cb44c0a03efa8326f?revisionId=def082c39d03429194dcb91558537bd7 |
| Java | azure-resourcemanager-recoveryservicesbackup | https://apiview.dev/Assemblies/Review/a4a183e5963645238761f94a38ed47e9?revisionId=31f376785d334c75b5942d86ea0b1073 |
| .Net | Azure.ResourceManager.RecoveryServicesBackup | https://apiview.dev/Assemblies/Review/2e670a3b8b294fadbf4a793f6c6aaa28?revisionId=4f3b09cc4a67475192eba624c8661484 |
| JavaScript | @azure/arm-recoveryservicesbackup | https://apiview.dev/Assemblies/Review/859c2af295154fe6816f57a966fd8dee?revisionId=44413468ef114da78223669f539e7eb4 |
| Swagger | Microsoft.RecoveryServices | https://apiview.dev/Assemblies/Review/87cb55db6e9f4146a1f242e528aece8b?revisionId=e0a982a2090b489a8f9e76e48aa87b9b |
/azp run
Azure Pipelines successfully started running 4 pipeline(s).
Note to reviewer: ConsistentPatchProperties is failing due to a false alarm. Please approve the suppression that the author will place in the readme file for this rule.
https://github.com/Azure/azure-rest-api-specs/pull/28474/checks?check_run_id=23325394099
Please check this
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.
https://github.com/Azure/azure-rest-api-specs/pull/28474/checks?check_run_id=23325394099
Please check this
it is happening because we have two tags for active and passive stamp each and this is not because of my PR and is consistent at every release
"$ref": "#/parameters/SubscriptionId"
nit: Pls use common def for these params.
Refers to: specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/bms.json:1762 in 8e2e3a8. [](commit_id = 8e2e3a8a5765d06fc4bd7174412c41f9b61865e4, deletion_comment = False)
"type": "string"
should this be date-time?
Refers to: specification/recoveryservicesbackup/resource-manager/Microsoft.RecoveryServices/stable/2024-04-01/bms.json:9307 in 8e2e3a8. [](commit_id = 8e2e3a8a5765d06fc4bd7174412c41f9b61865e4, deletion_comment = False)
PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.