Adding new preview API version 2022-10-preview#20617
Adding new preview API version 2022-10-preview#20617mayankagg9722 wants to merge 5 commits intoAzure:mainfrom mayankagg9722:users/mayaggar/newkubernetesapiversion
Conversation
|
Hi, @mayankagg9722 Thanks for your PR. I am workflow bot for review process. Here are some small tips. Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com |
Swagger Validation Report
|
| Rule | Message |
|---|---|
Runtime Exception |
"new":"https://github.com/Azure/azure-rest-api-specs/blob/342dfbb7a0b5d46bc925c885e7a827839bc498f6/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json", "old":"https://github.com/Azure/azure-rest-api-specs/blob/main/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2022-05-01/dataprotection.json", "details":"Command failed: node /mnt/vss/_work/_tasks/AzureApiValidation_5654d05d-82c1-48da-ad8f-161b817f6d41/0.0.38/common/temp/node_modules/.pnpm/@Azure+oad@0.9.7/node_modules/autorest/dist/app.js --v2 --input-file=specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json --output-artifact=swagger-document.json --output-artifact=swagger-document.map --output-file=new --output-folder=/tmp\nERROR: Schema violation: Array items are not unique (indexes 0 and 1)\n - file:///mnt/vss/_work/1/azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:5822:12 ($.definitions.KubernetesClusterRestoreCriteria.properties.conflictPolicy.enum)\nFATAL: swagger-document/individual/schema-validator - FAILED\nFATAL: Error: [OperationAbortedException] Error occurred. Exiting.\nProcess() cancelled due to exception : [OperationAbortedException] Error occurred. Exiting.\n" |
The following breaking changes are detected by comparison with the latest preview version:
| Rule | Message |
|---|---|
Runtime Exception |
"new":"https://github.com/Azure/azure-rest-api-specs/blob/342dfbb7a0b5d46bc925c885e7a827839bc498f6/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json", "old":"https://github.com/Azure/azure-rest-api-specs/blob/main/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-03-31-preview/dataprotection.json", "details":"Command failed: node /mnt/vss/_work/_tasks/AzureApiValidation_5654d05d-82c1-48da-ad8f-161b817f6d41/0.0.38/common/temp/node_modules/.pnpm/@Azure+oad@0.9.7/node_modules/autorest/dist/app.js --v2 --input-file=specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json --output-artifact=swagger-document.json --output-artifact=swagger-document.map --output-file=new --output-folder=/tmp\nERROR: Schema violation: Array items are not unique (indexes 0 and 1)\n - file:///mnt/vss/_work/1/azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:5822:12 ($.definitions.KubernetesClusterRestoreCriteria.properties.conflictPolicy.enum)\nFATAL: swagger-document/individual/schema-validator - FAILED\nFATAL: Error: [OperationAbortedException] Error occurred. Exiting.\nProcess() cancelled due to exception : [OperationAbortedException] Error occurred. Exiting.\n" |
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️❌LintDiff: 2 Errors, 0 Warnings failed [Detail]
[must fix]The following errors/warnings are introduced by current PR:
| Rule | Message | Related RPC [For API reviewers] |
|---|---|---|
AutoRest exception |
"location":"specification/dataprotection/resource-manager/readme.md", "tag":"package-2022-10-preview", "details":"swagger-document/individual/schema-validator - FAILED" |
|
AutoRest exception |
"location":"specification/dataprotection/resource-manager/readme.md", "tag":"package-2022-10-preview", "details":"Error: [OperationAbortedException] Error occurred. Exiting." |
️️✔️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 '2022-10-01-preview'. 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'." |
️❌~[Staging] ServiceAPIReadinessTest: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
ASSERTION_ERROR |
"ResourceType 'backupVaults' should be deployed in 'West Central US' on apiVersion '2022-10-01-preview'.: expected [ Array(9) ] to satisfy [Function]" |
️❌~[Staging] TrafficValidation: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
ASSERTION_ERROR |
"ResourceType 'backupVaults' should be deployed in 'West Central US' on apiVersion '2022-10-01-preview'.: expected [ Array(9) ] to satisfy [Function]" |
️❌ModelValidation: 2 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
unacceptable kind of an object to dump [object Error] |
"role":"Model Validation", "url":"https://github.com/Azure/azure-rest-api-specs/blob/342dfbb7a0b5d46bc925c885e7a827839bc498f6/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json" |
unacceptable kind of an object to dump [object Error] |
"role":"Model Validation", "url":"https://github.com/Azure/azure-rest-api-specs/blob/342dfbb7a0b5d46bc925c885e7a827839bc498f6/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json" |
️❌SemanticValidation: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
ARRAY_UNIQUE |
Array items are not unique (indexes 1 and 0) JsonUrl: Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json#L5822:21 |
️️✔️PoliCheck succeeded [Detail] [Expand]
Validation passed for PoliCheck.
️️✔️SDK Track2 Validation succeeded [Detail] [Expand]
Validation passes for SDKTrack2Validation
- The following tags are being changed in this PR
- "https://github.com/Azure/azure-rest-api-specs/blob/342dfbb7a0b5d46bc925c885e7a827839bc498f6/specification/dataprotection/resource-manager/readme.md#tag-package-2022-10-preview">dataprotection/resource-manager/readme.md#package-2022-10-preview
️❌PrettierCheck: 1 Errors, 0 Warnings failed [Detail]
| Rule | Message |
|---|---|
HowToFix |
Code style issues found path: Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json |
️️✔️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.
Swagger Generation Artifacts
|
Generated ApiView
|
|
Hi @mayankagg9722, Your PR has some issues. Please fix the CI sequentially by following the order of
|
|
Hi, @mayankagg9722 your PR are labelled with WaitForARMFeedback. A notification email will be sent out shortly afterwards to notify ARM review board(armapireview@microsoft.com). |
|
Please do not merge this PR for now as we are planning to add 1 more preview swagger with "2022-09 version" |
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Recommend using a string enum rather than unconstrained string for discriminator. Also a less generic name would be better, e.g. backupType, datasourceType, backupDatasourceType, etc. Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:4860 in 4bb5da8. [](commit_id = 4bb5da8, deletion_comment = False) |
ARM recommends string enums over boolean. Generally enums make better properties than booleans. They are more descriptive, flexible and future-proof while being easier for customers to discover, understand and use. Ref: https://armwiki.azurewebsites.net/rp_onboarding/process/api_review_best_practices.html?q=boolean#common-issues-found-in-review. They also allow adding values later without requiring a new API version (e.g. "Unknown", "Default", etc.), and allow values other than just true/false. Even if you only ever want two values, you can have a string enum with True/False (or Enabled/Disabled, etc.). In this case you could have one enum: backupType: { "Basic", "BasicAndVolumes", "BasicAndScopeResources", "BasicVolumesAndScopeResources" }. Alternatively, you could keep two enums with two values each. Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:4058 in 4bb5da8. [](commit_id = 4bb5da8, deletion_comment = False) |
Generally, this pattern should only be used when needed and the object properties are dynamic, unknown, or user defined. Ref: https://armwiki.azurewebsites.net/api_contracts/guidelines/openapi.html#oapi032-only-use-additionalproperties-when-the-object-properties-are-dynamic-unknown-or-user-defined. ARM favors stronger typing wherever possible because it allows all consumers of your API to reason about it. This has benefits for everyone that interacts with your API including basic infrastructure, other Azure features, SDK owners, and customers. Unschematized objects are essentially API contracts that bypass Azure versioning infrastructure. For example, customers will not be able to manage these objects using Azure Policy, or query them using ARG, both of which are standard Azure features. Customers expect to be able to use all common Azure features against all of their resources. Refers to: specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2022-10-01-preview/dataprotection.json:5835 in 4bb5da8. [](commit_id = 4bb5da8, deletion_comment = False) |
|
Please ensure to respond feedbacks from the ARM API reviewer. When you are ready to continue the ARM API review, please remove |
Hi @mentat9, this is the base object and will be is very similar to other base objects. eg. "DataStoreParameters" #4818 |
Hi @mentat9, This property will be all three i.e. dynamic, unknown, and user defined. This is of format Dictionary<string,string> which user only will use to define the mappings. |
Hi @mentat9, currently we need to only use this property as a booleen as there are not other types that needs to come up under this. This is very similar to other property in the payload we have added "includeClusterResources". |
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:
Contribution checklist (MS Employees Only):
If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist
Otherwise your PR may be subject to ARM review requirements. Complete the following:
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.
-[ ] 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.
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.
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.