Adding a new stable version 2023-01-01 (Taking changes from 2022-11-01-preview)
ARM API Information (Control Plane)
MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow. Azure 1st Party Service can try out the Shift Left experience to initiate API design review from ADO code repo. If you are interested, may request engineering support by filling in with the form https://aka.ms/ShiftLeftSupportForm.
Changelog
Add a changelog entry for this PR by answering the following questions:
- What's the purpose of the update?
- [ ] new service onboarding
- [x] new API version
- [ ] update existing version for new feature
- [ ] update existing version to fix swagger quality issue in s360
- [ ] Other, please clarify
- When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
- When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
- By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.
Contribution checklist (MS Employees Only):
- [x] I commit to follow the Breaking Change Policy of "no breaking changes"
- [x] I have reviewed the documentation for the workflow.
- [x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?
If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist
Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.
- Change to data plane APIs
- Adding new properties
- All removals
Otherwise your PR may be subject to ARM review requirements. Complete the following:
-
[x] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review. Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.
- Adding a new service
- Adding new API(s)
- Adding a new API version -[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.
-
[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.
-
[x] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.
Hi, @Shashank1306s Thanks for your PR. I am workflow bot for review process. Here are some small tips.
Swagger Validation Report
️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.
️❌Breaking Change(Cross-Version): 5 Errors, 86 Warnings failed [Detail]
| compared swaggers (via Oad v0.10.4)] | new version | base version |
|---|---|---|
| dataprotection.json | 2023-01-01(370c0fd) | 2022-12-01(main) |
| dataprotection.json | 2023-01-01(370c0fd) | 2022-11-01-preview(main) |
The following breaking changes are detected by comparison with the latest stable version:
The following breaking changes are detected by comparison with the latest preview version:
Only 30 items are listed, please refer to log for more details.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️️✔️LintDiff succeeded [Detail] [Expand]
Validation passes for LintDiff.
| compared tags (via openapi-validator v2.0.0) | new version | base version |
|---|---|---|
| package-2023-01 | package-2023-01(370c0fd) | default(main) |
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️❌ApiReadinessCheck: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
API Readiness check failed. Please make sure your service is deployed. |
"code: InvalidResourceType, message: The resource type 'operations' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2020-01-01-alpha, 2021-02-01-preview, 2021-06-01-preview, 2021-01-01, 2021-07-01, 2021-10-01-preview, 2021-12-01-preview, 2022-01-01, 2022-02-01-preview, 2022-03-01, 2022-04-01, 2022-05-01, 2022-09-01-preview, 2022-10-01-preview, 2022-11-01-preview, 2022-12-01'." |
️❌~[Staging] ServiceAPIReadinessTest: 59 Errors, 0 Warnings failed [Detail]
Tag package-2023-01; Prod region: Not deployed; Canary region: Deployed
Test run on region: eastus2euap; Operation coverage: total: 61, untested: 0, failed: 59, passed: 2
Service API Readiness Test failed. Check pipeline artifact for detail report.
Only 30 items are listed, please refer to log for more details.
| Rule | Message |
|---|---|
CLIENT_ERROR |
statusCode: 404, errorCode: InvalidResourceType, errorMessage: The resource type 'locations/checkNameAvailability' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2020-01-01-alpha,2021-02-01-preview,2021-06-01-preview,2021-01-01,2021-07-01,2021-10-01-preview,2021-12-01-preview,2022-01-01,2022-02-01-preview,2022-03-01,2022-04-01,2022-05-01,2022-09-01-preview,2022-10-01-preview,2022-11-01-preview,2022-12-01'. Source: runtime OperationId: BackupVaults_CheckNameAvailability |
CLIENT_ERROR |
statusCode: 400, errorCode: NoRegisteredProviderFound, errorMessage: No registered resource provider found for location 'eastus2euap' and API version '2023-01-01' for type 'BackupVaults'. The supported api-versions are '2020-01-01-alpha, 2021-02-01-preview, 2021-06-01-preview, 2021-01-01, 2021-07-01, 2021-10-01-preview, 2021-12-01-preview, 2022-01-01, 2022-02-01-preview, 2022-03-01, 2022-04-01, 2022-05-01, 2022-09-01-preview, 2022-10-01-preview, 2022-11-01-preview, 2022-12-01'. The supported locations are 'southcentralus, eastus, eastus2, westus, uksouth, australiacentral, australiaeast, australiasoutheast, brazilsouth, canadacentral, canadaeast, centralus, eastasia, francecentral, germanywestcentral, centralindia, southindia, westindia, japaneast, japanwest, koreacentral, koreasouth, northcentralus, northeurope, norwayeast, southafricanorth, southeastasia, switzerlandnorth, uaenorth, ukwest, westcentralus, westeurope, westus2, jioindiawest, jioindiacentral, westus3, swedencentral, qatarcentral, centraluseuap, eastus2euap'. Source: runtime OperationId: BackupVaults_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: InvalidResourceType, errorMessage: The resource type 'BackupVaults' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2020-01-01-alpha,2021-02-01-preview,2021-06-01-preview,2021-01-01,2021-07-01,2021-10-01-preview,2021-12-01-preview,2022-01-01,2022-02-01-preview,2022-03-01,2022-04-01,2022-05-01,2022-09-01-preview,2022-10-01-preview,2022-11-01-preview,2022-12-01'. Source: runtime OperationId: BackupVaults_GetInSubscription |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupVaults_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: InvalidResourceType, errorMessage: The resource type 'BackupVaults' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2020-01-01-alpha,2021-02-01-preview,2021-06-01-preview,2021-01-01,2021-07-01,2021-10-01-preview,2021-12-01-preview,2022-01-01,2022-02-01-preview,2022-03-01,2022-04-01,2022-05-01,2022-09-01-preview,2022-10-01-preview,2022-11-01-preview,2022-12-01'. Source: runtime OperationId: BackupVaults_GetInResourceGroup |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupVaults_Update |
CLIENT_ERROR |
statusCode: 400, errorCode: NoRegisteredProviderFound, errorMessage: No registered resource provider found for location 'eastus2euap' and API version '2023-01-01' for type 'ResourceGuards'. The supported api-versions are '2021-02-01-preview, 2021-07-01, 2021-10-01-preview, 2021-12-01-preview, 2022-01-01, 2022-02-01-preview, 2022-03-01, 2022-04-01, 2022-05-01, 2022-09-01-preview, 2022-10-01-preview, 2022-11-01-preview, 2022-12-01'. The supported locations are 'eastus2, northeurope, southeastasia, westcentralus, southcentralus, eastus, westus, uksouth, australiacentral, australiaeast, australiasoutheast, brazilsouth, canadacentral, canadaeast, centralus, eastasia, francecentral, germanywestcentral, centralindia, southindia, westindia, japaneast, japanwest, koreacentral, koreasouth, northcentralus, norwayeast, southafricanorth, switzerlandnorth, uaenorth, ukwest, westeurope, westus2, jioindiawest, jioindiacentral, westus3, swedencentral, qatarcentral, centraluseuap, eastus2euap'. Source: runtime OperationId: ResourceGuards_Put |
CLIENT_ERROR |
statusCode: 404, errorCode: InvalidResourceType, errorMessage: The resource type 'ResourceGuards' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2021-02-01-preview,2021-07-01,2021-10-01-preview,2021-12-01-preview,2022-01-01,2022-02-01-preview,2022-03-01,2022-04-01,2022-05-01,2022-09-01-preview,2022-10-01-preview,2022-11-01-preview,2022-12-01'. Source: runtime OperationId: ResourceGuards_GetResourcesInSubscription |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDeleteProtectedItemRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultBackupSecurityPINRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetUpdateProtectedItemRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultUpdateProtectionPolicyRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetUpdateProtectionPolicyRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultDisableSoftDeleteRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetBackupSecurityPINRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: InvalidResourceType, errorMessage: The resource type 'ResourceGuards' could not be found in the namespace 'Microsoft.DataProtection' for api version '2023-01-01'. The supported api-versions are '2021-02-01-preview,2021-07-01,2021-10-01-preview,2021-12-01-preview,2022-01-01,2022-02-01-preview,2022-03-01,2022-04-01,2022-05-01,2022-09-01-preview,2022-10-01-preview,2022-11-01-preview,2022-12-01'. Source: runtime OperationId: ResourceGuards_GetResourcesInResourceGroup |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultDeleteResourceGuardProxyRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDisableSoftDeleteRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDeleteResourceGuardProxyRequestsObjects |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultUpdateProtectedItemRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_GetDefaultDeleteProtectedItemRequestsObject |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/ResourceGuards/resource1ji54r' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: ResourceGuards_Patch |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupInstances_CreateOrUpdate |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupInstances_List |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupInstances_Get |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupInstances_GetBackupInstanceOperationResult |
CLIENT_ERROR |
statusCode: 403, errorCode: LinkedAuthorizationFailed, errorMessage: The client '7904a8be-825f-480e-a728-80a70579dba4' with object id '7904a8be-825f-480e-a728-80a70579dba4' has permission to perform action 'Microsoft.DataProtection/backupVaults/backupInstances/restore/action' on scope '/subscriptions/db5eb68e-73e2-4fa8-b18a-46cd1be4cce5/resourceGroups/apiTest-SmjxMl-22071/providers/Microsoft.DataProtection/backupVaults/vaultnam0lwet9/backupInstances/backupinyaz7lp'; however, it does not have permission to perform action 'read' on the linked scope(s) '/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb' or the linked scope(s) are invalid. Source: runtime OperationId: BackupInstances_TriggerRestore |
CLIENT_ERROR |
statusCode: 403, errorCode: LinkedAuthorizationFailed, errorMessage: The client '7904a8be-825f-480e-a728-80a70579dba4' with object id '7904a8be-825f-480e-a728-80a70579dba4' has permission to perform action 'Microsoft.DataProtection/backupVaults/validateForBackup/action' on scope '/subscriptions/db5eb68e-73e2-4fa8-b18a-46cd1be4cce5/resourceGroups/apiTest-SmjxMl-22071/providers/Microsoft.DataProtection/backupVaults/vaultnam0lwet9'; however, it does not have permission to perform action 'read' on the linked scope(s) '/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest' or the linked scope(s) are invalid. Source: runtime OperationId: BackupInstances_ValidateForBackup |
CLIENT_ERROR |
statusCode: 404, errorCode: ResourceNotFound, errorMessage: The Resource 'Microsoft.DataProtection/BackupVaults/vaultnam0lwet9' under resource group 'apiTest-SmjxMl-22071' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix Source: runtime OperationId: BackupInstances_SyncBackupInstance |
️️✔️~[Staging] SwaggerAPIView succeeded [Detail] [Expand]
️️✔️~[Staging] CadlAPIView succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️PrettierCheck succeeded [Detail] [Expand]
Validation passes for PrettierCheck.
️️✔️SpellCheck succeeded [Detail] [Expand]
Validation passes for SpellCheck.
️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
Validation passes for Lint(RPaaS).
️️✔️CadlValidation succeeded [Detail] [Expand]
Validation passes for CadlValidation.
️️✔️PR Summary succeeded [Detail] [Expand]
Validation passes for Summary.
Swagger Generation Artifacts
️️✔️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-go - sdk/resourcemanager/dataprotection/armdataprotection - Approved - 2.0.0- Const `StorageSettingStoreTypesSnapshotStore` has been removed
+ Const `StorageSettingStoreTypesSnapshotStore` from type alias `StorageSettingStoreTypes` has been removed
+ Operation `*BackupVaultsClient.Delete` has been changed to LRO, use `*BackupVaultsClient.BeginDelete` instead.
+ Type of `ErrorAdditionalInfo.Info` has been changed from `interface{}` to `any`❌azure-sdk-for-python-track2 - track2_azure-mgmt-dataprotection - 1.0.0b4+ Model ResourceGuardResource no longer has parameter identity + Removed operation group BackupInstancesExtensionRoutingOperations + Removed operation group DppResourceGuardProxyOperations + Renamed operation BackupVaultsOperations.delete to BackupVaultsOperations.begin_delete
️🔄 azure-sdk-for-net-track2 inProgress [Detail]
️🔄 azure-sdk-for-python-track2 inProgress [Detail]
️️✔️ azure-sdk-for-java succeeded [Detail] [Expand]
️✔️Succeeded [Logs]Release - Generate from 42e62bef21fca828da9a9a81d845d00aae466877. SDK Automation 14.0.0command ./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json command ./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
️✔️azure-resourcemanager-dataprotection [View full logs] [Release SDK Changes]
️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
️✔️Succeeded [Logs]Release - Generate from 42e62bef21fca828da9a9a81d845d00aae466877. 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/dataprotection/armdataprotection [View full logs] [Release SDK Changes] Breaking Change Detectedinfo [Changelog] ### Breaking Changes info [Changelog] info [Changelog] - Function `*ResourceGuardsClient.Patch` parameter(s) have been changed from `(context.Context, string, string, PatchResourceRequestInput, *ResourceGuardsClientPatchOptions)` to `(context.Context, string, string, PatchResourceGuardInput, *ResourceGuardsClientPatchOptions)` info [Changelog] - Type of `ErrorAdditionalInfo.Info` has been changed from `interface{}` to `any` info [Changelog] - Const `StorageSettingStoreTypesSnapshotStore` from type alias `StorageSettingStoreTypes` has been removed info [Changelog] - Operation `*BackupVaultsClient.Delete` has been changed to LRO, use `*BackupVaultsClient.BeginDelete` instead. info [Changelog] - Struct `CloudError` has been removed info [Changelog] - Field `Identity` of struct `ResourceGuardResource` has been removed info [Changelog] info [Changelog] ### Features Added info [Changelog] info [Changelog] - New value `SourceDataStoreTypeOperationalStore` added to type alias `SourceDataStoreType` info [Changelog] - New value `StorageSettingStoreTypesOperationalStore` added to type alias `StorageSettingStoreTypes` info [Changelog] - New value `StorageSettingTypesZoneRedundant` added to type alias `StorageSettingTypes` info [Changelog] - New type alias `CrossSubscriptionRestoreState` with values `CrossSubscriptionRestoreStateDisabled`, `CrossSubscriptionRestoreStateEnabled`, `CrossSubscriptionRestoreStatePermanentlyDisabled` info [Changelog] - New type alias `ExistingResourcePolicy` with values `ExistingResourcePolicyPatch`, `ExistingResourcePolicySkip` info [Changelog] - New type alias `ImmutabilityState` with values `ImmutabilityStateDisabled`, `ImmutabilityStateLocked`, `ImmutabilityStateUnlocked` info [Changelog] - New type alias `PersistentVolumeRestoreMode` with values `PersistentVolumeRestoreModeRestoreWithVolumeData`, `PersistentVolumeRestoreModeRestoreWithoutVolumeData` info [Changelog] - New type alias `SoftDeleteState` with values `SoftDeleteStateAlwaysOn`, `SoftDeleteStateOff`, `SoftDeleteStateOn` info [Changelog] - New function `*BackupDatasourceParameters.GetBackupDatasourceParameters() *BackupDatasourceParameters` info [Changelog] - New function `*BlobBackupDatasourceParameters.GetBackupDatasourceParameters() *BackupDatasourceParameters` info [Changelog] - New function `NewDeletedBackupInstancesClient(string, azcore.TokenCredential, *arm.ClientOptions) (*DeletedBackupInstancesClient, error)` info [Changelog] - New function `*DeletedBackupInstancesClient.Get(context.Context, string, string, string, *DeletedBackupInstancesClientGetOptions) (DeletedBackupInstancesClientGetResponse, error)` info [Changelog] - New function `*DeletedBackupInstancesClient.NewListPager(string, string, *DeletedBackupInstancesClientListOptions) *runtime.Pager[DeletedBackupInstancesClientListResponse]` info [Changelog] - New function `*DeletedBackupInstancesClient.BeginUndelete(context.Context, string, string, string, *DeletedBackupInstancesClientBeginUndeleteOptions) (*runtime.Poller[DeletedBackupInstancesClientUndeleteResponse], error)` info [Changelog] - New function `*ItemPathBasedRestoreCriteria.GetItemLevelRestoreCriteria() *ItemLevelRestoreCriteria` info [Changelog] - New function `*KubernetesClusterBackupDatasourceParameters.GetBackupDatasourceParameters() *BackupDatasourceParameters` info [Changelog] - New function `*KubernetesClusterRestoreCriteria.GetItemLevelRestoreCriteria() *ItemLevelRestoreCriteria` info [Changelog] - New struct `BlobBackupDatasourceParameters` info [Changelog] - New struct `CrossSubscriptionRestoreSettings` info [Changelog] - New struct `DeletedBackupInstance` info [Changelog] - New struct `DeletedBackupInstanceResource` info [Changelog] - New struct `DeletedBackupInstanceResourceList` info [Changelog] - New struct `DeletedBackupInstancesClient` info [Changelog] - New struct `DeletedBackupInstancesClientListResponse` info [Changelog] - New struct `DeletedBackupInstancesClientUndeleteResponse` info [Changelog] - New struct `DeletionInfo` info [Changelog] - New struct `DppBaseTrackedResource` info [Changelog] - New struct `DppProxyResource` info [Changelog] - New struct `FeatureSettings` info [Changelog] - New struct `ImmutabilitySettings` info [Changelog] - New struct `ItemPathBasedRestoreCriteria` info [Changelog] - New struct `KubernetesClusterBackupDatasourceParameters` info [Changelog] - New struct `KubernetesClusterRestoreCriteria` info [Changelog] - New struct `PatchResourceGuardInput` info [Changelog] - New struct `SecuritySettings` info [Changelog] - New struct `SoftDeleteSettings` info [Changelog] - New field `ExpiryTime` in struct `AzureBackupDiscreteRecoveryPoint` info [Changelog] - New field `Tags` in struct `BackupInstanceResource` info [Changelog] - New field `FeatureSettings` in struct `BackupVault` info [Changelog] - New field `IsVaultProtectedByResourceGuard` in struct `BackupVault` info [Changelog] - New field `SecuritySettings` in struct `BackupVault` info [Changelog] - New field `FeatureSettings` in struct `PatchBackupVaultInput` info [Changelog] - New field `SecuritySettings` in struct `PatchBackupVaultInput` info [Changelog] - New field `BackupDatasourceParametersList` in struct `PolicyParameters` info [Changelog] - New field `TargetResourceArmID` in struct `TargetDetails` info [Changelog] info [Changelog] Total 7 breaking change(s), 75 additive change(s).
️❌ azure-sdk-for-js failed [Detail]
❌Code Generator Failed [Logs]Release - Generate from 42e62bef21fca828da9a9a81d845d00aae466877. 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 cmderr [automation_generate.sh] [ERROR] An error occurred while generating codes for readme file: "specification/dataprotection/resource-manager/readme.md": cmderr [automation_generate.sh] [ERROR] Err: Error: Command failed: autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/dataprotection/resource-manager/readme.md --use=@autorest/[email protected] cmderr [automation_generate.sh] [ERROR] Stderr: "null" cmderr [automation_generate.sh] [ERROR] Stdout: "null" cmderr [automation_generate.sh] [ERROR] ErrorStack: "Error: Command failed: autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/dataprotection/resource-manager/readme.md --use=@autorest/[email protected] cmderr [automation_generate.sh] [ERROR] at checkExecSyncError (node:child_process:861:11) cmderr [automation_generate.sh] [ERROR] at Object.execSync (node:child_process:932:15) cmderr [automation_generate.sh] [ERROR] at Object.<anonymous> (/opt/hostedtoolcache/node/16.19.0/x64/lib/node_modules/@azure-tools/js-sdk-release-tools/dist/hlc/generateMgmt.js:39:33) cmderr [automation_generate.sh] [ERROR] at Generator.next (<anonymous>) cmderr [automation_generate.sh] [ERROR] at /opt/hostedtoolcache/node/16.19.0/x64/lib/node_modules/@azure-tools/js-sdk-release-tools/node_modules/tslib/tslib.js:115:75 cmderr [automation_generate.sh] [ERROR] at new Promise (<anonymous>) cmderr [automation_generate.sh] [ERROR] at Object.__awaiter (/opt/hostedtoolcache/node/16.19.0/x64/lib/node_modules/@azure-tools/js-sdk-release-tools/node_modules/tslib/tslib.js:111:16) cmderr [automation_generate.sh] [ERROR] at Object.generateMgmt (/opt/hostedtoolcache/node/16.19.0/x64/lib/node_modules/@azure-tools/js-sdk-release-tools/dist/hlc/generateMgmt.js:20:20) cmderr [automation_generate.sh] [ERROR] at /opt/hostedtoolcache/node/16.19.0/x64/lib/node_modules/@azure-tools/js-sdk-release-tools/dist/autoGenerateInPipeline.js:43:34" error Script return with result [failed] code [1] signal [null] cwd [azure-sdk-for-js]: sh .scripts/automation_generate.sh warn Skip package processing as generation is failed
️❌ azure-powershell failed [Detail]
❌Failed [Logs]Release - Generate from 42e62bef21fca828da9a9a81d845d00aae466877. 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.dataprotection [View full logs] [Release SDK Changes]
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Go | sdk/resourcemanager/dataprotection/armdataprotection | https://apiview.dev/Assemblies/Review/f2bcd65ca7064628a065a0ccd93f784d |
| Java | azure-resourcemanager-dataprotection | https://apiview.dev/Assemblies/Review/7751144e979a4d91919649ac1f9e216b |
Hi @Shashank1306s, Your PR has some issues. Please fix the CI sequentially by following the order of Avocado, semantic validation, model validation, breaking change, lintDiff. If you have any questions, please post your questions in this channel https://aka.ms/swaggersupport.
| Task | How to fix | Priority |
|---|---|---|
| Avocado | Fix-Avocado | High |
| Semantic validation | Fix-SemanticValidation-Error | High |
| Model validation | Fix-ModelValidation-Error | High |
| LintDiff | Fix-LintDiff | high |
Hi, @Shashank1306s, 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. Or you could onboard API spec pipeline
Hi, @Shashank1306s your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board([email protected]).
"responses": {
put should also return 201 for created, unless this is a proxy resource that can't be created.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:3634 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"$ref": "#/definitions/CloudError"
Error responses - use common types There are definitions of error responses and details in commontypes types.json that you can use instead of declaring your own. See e.g. ErrorResponse https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#L300 And ErrorDetail https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#LL258C21-L258C21
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:3596 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"description": "Gets or sets the exclude resource types property. This property sets the resource types to be excluded during restore.",
e.g. what values are OK?
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:4450 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"description": "Gets or sets the PV Restore Mode property. This property sets whether volumes needs to be restored.",
expand acronym
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:6389 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"description": "Gets or sets the LabelSelectors property. This property sets the resource with such label selectors to be included during restore.",
This boilerplate isn't very useful as documentation. Try to focus on explaining the meaning or usage of properties in the descriptions.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:6382 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"type": "string"
consider '"format": "arm-id"' and https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-arm-id-details
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7299 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"lastUpdatedTime": {
readonly should be true
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7308 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"ResourceGuardProxyBaseResource": {
Should some of these base types like ResourceGuardProxyBaseResource be declaring a required discriminator property?
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7316 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"DppResource": {
Refactor for consistency/reviewability
Can this be replaced and you could instead inherit allOf common-types's ProxyResource?
Or smaller refactor
Can you declare DppResource as inheriting allOf common-types' ProxyResource?
Resource definitions - use TrackedResource or ProxyResource in commontypes Instead of defining your own resource class with required top level properties, 'id', 'type', 'name', and 'location' and 'tags' (for TrackedResource) its recommended to inherit from ProxyResource or TrackedResource in common-types v2 or v3.json. (The v2 definition does NOT include systemData, and is otherwise similar to the v3 one). https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#L56
Only recommending if its essentially nonbreaking.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5449 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"DppBaseTrackedResource": {
Refactor for consistency/reviewability
Can this be replaced and you could instead inherit allOf common-types's TrackedResource?
Or smaller refactor
Can you declare DppResource as inheriting allOf common-types' TrackedResource?
Resource definitions - use TrackedResource or ProxyResource in commontypes Instead of defining your own resource class with required top level properties, 'id', 'type', 'name', and 'location' and 'tags' (for TrackedResource) its recommended to inherit from ProxyResource or TrackedResource in common-types v2 or v3.json. (The v2 definition does NOT include systemData, and is otherwise similar to the v3 one). https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#L56
Only recommending if its essentially nonbreaking.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5486 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"DppIdentityDetails": {
Refactor if basically nonbreaking
UserAssignedIdentity, ManagedIdentity - use common types Instead of defining your own managedIdentity or userAssignedIdentity class, I highly recommend finding one to use by $ref under common-types such as https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v5/managedidentity.json#L50
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5390 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"InnerError": {
Refactor away by using common types, if its basically nonbreaking:
Error responses - use common types There are definitions of error responses and details in commontypes types.json that you can use instead of declaring your own. See e.g. ErrorResponse https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#L300 And ErrorDetail https://github.com/Azure/azure-rest-api-specs/blob/be6cd9ccfcb6ba08c1c206627026eabfbff31fc1/specification/common-types/resource-management/v3/types.json#LL258C21-L258C21
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5883 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"OperationResource": {
Refactor away by using common-types if its basically non-breaking (it should be)
OperationListResult - use common types The OperationListResult type is defined correctly in commontypes types.json. It is recommended to reference and reuse the common definition instead of declaring your own. [Otherwise it is frequently declared incorrectly.]
"schema": {
"$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult"
}
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:6113 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
},
ARM recommends enums over booleans as explained here :
https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html
Standard guidance is: replace boolean/switch properties with better enum A boolean will forever have two valid values (true or false). A string enum type is always preferred. Also, properties should always provide better values just than True and False. For example two switches "isTypeA" and "isTypeB" should be replaced with one enum "type": [A, B, DefaultType]. Even if you still believe [True, False] are the correct values for a property, you should use a string enum with values [True, False] instead of boolean. Enums are always a more flexible and future proof option because they allow additional values to be added in the future in a non-breaking way, e.g. [True, False, Unknown].
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:6352 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
},
describe: what are the valid string values?
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7357 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"resourceToBeDeleted": {
consider '"format": "arm-id"' and https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-arm-id-details
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7358 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"type": "string"
consider '"format": "arm-id"' and https://github.com/Azure/autorest/blob/main/docs/extensions/readme.md#x-ms-arm-id-details
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7359 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
}
format: datetime?
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7370 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
},
ARM recommends enums over booleans as explained here :
https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html
Standard guidance is: replace boolean/switch properties with better enum A boolean will forever have two valid values (true or false). A string enum type is always preferred. Also, properties should always provide better values just than True and False. For example two switches "isTypeA" and "isTypeB" should be replaced with one enum "type": [A, B, DefaultType]. Even if you still believe [True, False] are the correct values for a property, you should use a string enum with values [True, False] instead of boolean. Enums are always a more flexible and future proof option because they allow additional values to be added in the future in a non-breaking way, e.g. [True, False, Unknown].
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5977 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"description": {
Looks like readonly should be true based on examples
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7311 in 112258d. [](commit_id = 112258dc6685908bd6afcf606a42f405a76aa713, deletion_comment = False)
"$ref": "#/definitions/DppResource"
Recommend moving to Resource definition from v4 common types.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:7320 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"objectType": {
Recommend enum for discriminator properties.
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5267 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)
"readOnly": false
Shouldn't this be readOnly: true?
Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2023-01-01/dataprotection.json:5270 in 9edb210. [](commit_id = 9edb210d9eecb2a3222e3ec9b653495173cc1f3d, deletion_comment = False)