Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SRP] 2021-06-01 Swagger Api #15627

Merged
merged 22 commits into from
Sep 14, 2021
Merged

Conversation

HimanshuChhabra
Copy link
Member

@HimanshuChhabra HimanshuChhabra commented Aug 12, 2021

MSFT employees can try out our new experience at OpenAPI Hub - one location for using our validation tools and finding your workflow.

Changelog

Add a changelog entry for this PR by answering the following questions:

  1. What's the purpose of the update?
    • new service onboarding
    • new API version
    • update existing version for new feature
    • update existing version to fix swagger quality issue in s360
    • Other, please clarify
  2. 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.
  3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
  4. If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.
    • SDK of .NET (need service team to ensure code readiness)
    • SDK of Python
    • SDK of Java
    • SDK of Js
    • SDK of Go
    • PowerShell
    • CLI
    • Terraform
    • No refresh required for updates in this PR

Contribution checklist:

If any further question about AME onboarding or validation tools, please view the FAQ.

ARM API Review Checklist

Applicability: ⚠️

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:

  • Check this box if any of the following apply to the PR so that label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

    • 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.
  • 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 any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

  • Removing API(s) in a stable version
  • Removing properties in a stable version
  • Removing API version(s) in a stable version
  • Updating API in a stable or public preview version with Breaking Change Validation errors
  • Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.

Please follow the link to find more details on PR review process.

@openapi-workflow-bot
Copy link

Hi, @HimanshuChhabra Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vsswagger@microsoft.com

    @openapi-workflow-bot
    Copy link

    [Call for Action] To better understand Azure service dev/test scenario, and support Azure service developer better on Swagger and REST API related tests in early phase, please help to fill in with this survey https://aka.ms/SurveyForEarlyPhase. It will take 5 to 10 minutes. If you already complete survey, please neglect this comment. Thanks.

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 12, 2021

    Swagger Validation Report

    ️️✔️BreakingChange succeeded [Detail] [Expand]
    There are no breaking changes.
    ️⚠️LintDiff: 2 Warnings warning [Detail]
    The following errors/warnings are introduced by current PR:
    Rule Message
    ⚠️ R2066 - PostOperationIdContainsUrlVerb OperationId should contain the verb: 'hnsonmigration' in:'StorageAccounts_HierarchicalNamespaceMigration'. Consider updating the operationId
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L755
    ⚠️ R2066 - PostOperationIdContainsUrlVerb OperationId should contain the verb: 'aborthnsonmigration' in:'StorageAccounts_AbortHierarchicalNamespaceMigration'. Consider updating the operationId
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L808


    The following errors/warnings exist before current PR submission:

    Only 30 items are listed, please refer to log for more details.

    Rule Message
    R3021 - PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListAccountSas'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L620
    R3021 - PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/ListServiceSas'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L665
    R3021 - PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/blobServices/{BlobServicesName}'
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L58
    R3021 - PathResourceTypeNameCamelCase Resource type naming must follow camel case. Path: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/{FileServicesName}'
    Location: Microsoft.Storage/stable/2021-06-01/file.json#L61
    R4009 - RequiredReadOnlySystemData The response of operation:'BlobContainers_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L320
    R4009 - RequiredReadOnlySystemData The response of operation:'BlobContainers_GetImmutabilityPolicy' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L562
    R4009 - RequiredReadOnlySystemData The response of operation:'FileShares_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/file.json#L362
    R4009 - RequiredReadOnlySystemData The response of operation:'Queue_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/queue.json#L266
    R4009 - RequiredReadOnlySystemData The response of operation:'Table_Get' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/table.json#L245
    R4009 - RequiredReadOnlySystemData The response of operation:'BlobContainers_Create' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L215
    R4009 - RequiredReadOnlySystemData The response of operation:'BlobContainers_CreateOrUpdateImmutabilityPolicy' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L498
    R4009 - RequiredReadOnlySystemData The response of operation:'FileShares_Create' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/file.json#L235
    R4009 - RequiredReadOnlySystemData The response of operation:'Queue_Create' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/queue.json#L159
    R4009 - RequiredReadOnlySystemData The response of operation:'Table_Create' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/table.json#L159
    R4009 - RequiredReadOnlySystemData The response of operation:'BlobContainers_Update' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/blob.json#L273
    R4009 - RequiredReadOnlySystemData The response of operation:'FileShares_Update' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/file.json#L306
    R4009 - RequiredReadOnlySystemData The response of operation:'Queue_Update' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/queue.json#L214
    R4009 - RequiredReadOnlySystemData The response of operation:'Table_Update' is defined without 'systemData'. Consider adding the systemData to the response.
    Location: Microsoft.Storage/stable/2021-06-01/table.json#L202
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L36
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L69
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L111
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L171
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L209
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L261
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L319
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L434
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L470
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L522
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L570
    R4010 - RequiredDefaultResponse The response is defined but without a default error response implementation.Consider adding it.'
    Location: Microsoft.Storage/stable/2021-06-01/storage.json#L607
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️❌Cross-Version Breaking Changes: 1 Errors, 11 Warnings failed [Detail]
    The following breaking changes are detected by comparison with the latest stable version:
    Rule Message
    1019 - RemovedEnumValue The new version is removing enum value(s) 'StorageFileDataSmbShareOwner' from the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L2544:9
    Old: Microsoft.Storage/stable/2021-04-01/storage.json#L2430:9


    The following breaking changes are detected by comparison with latest preview version:

    Rule Message
    ⚠️ 1019 - RemovedEnumValue The new version is removing enum value(s) 'provisioning, deprovisioning, succeeded, failed, networkSourceDeleted' from the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L2418:9
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L2208:9
    ⚠️ 1033 - RemovedProperty The new version is missing a property found in the old version. Was 'destination' renamed or removed?
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4501:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4083:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'format' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4560:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4142:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'schedule' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4560:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4142:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'objectType' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4560:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4142:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'schemaFields' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4560:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4142:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'format, schedule, objectType, schemaFields' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4546:9
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4129:9
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'destination' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4533:7
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4120:7
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'destination' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4519:11
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4105:11
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'destination' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4532:5
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4119:5
    ⚠️ 1034 - AddedRequiredProperty The new version has new required property 'format, schedule, objectType, schemaFields' that was not found in the old version.
    New: Microsoft.Storage/stable/2021-06-01/storage.json#L4559:5
    Old: Microsoft.Storage/preview/2020-08-01-preview/storage.json#L4141:5
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️❌[Staging] SDK Track2 Validation: 1 Errors, 0 Warnings failed [Detail]
    The following errors/warnings are introduced by current PR:
    Rule Message
    AutorestCore/Exception "readme":"storage/resource-manager/readme.md",
    "tag":"package-2021-06",
    "details":"Error: Plugin prechecker reported failure."
    ️️✔️[Staging] PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️[Staging] SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️[Staging] Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 12, 2021

    Swagger Generation Artifacts

    ️️✔️[Staging] ApiDocPreview succeeded [Detail] [Expand]
     Please click here to preview with your @microsoft account. 
    ️❌[Staging] SDK Breaking Change Tracking failed [Detail]

    Breaking Changes Tracking

    azure-sdk-for-python-track2 - track2_azure-mgmt-storage - 18.0.0
    +	Model AccessPolicy has a new signature
    ️✔️azure-sdk-for-go - storage/mgmt/2021-06-01/storage - v57.2.0
    azure-sdk-for-go - storage/mgmt/2021-04-01/storage - v57.2.0
    +	Field `Expiry` of struct `AccessPolicy` has been removed
    +	Field `Start` of struct `AccessPolicy` has been removed
    ️✔️azure-sdk-for-go - storage/mgmt/2021-02-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2021-01-01/storage - v57.2.0
    azure-sdk-for-go - storage/mgmt/2019-06-01/storage - v57.2.0
    +	Field `Code` of struct `ErrorResponse` has been removed
    +	Field `Message` of struct `ErrorResponse` has been removed
    ️✔️azure-sdk-for-go - storage/mgmt/2019-04-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2018-11-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2018-02-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2017-10-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2017-06-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2016-12-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2016-05-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2016-01-01/storage - v57.2.0
    ️✔️azure-sdk-for-go - storage/mgmt/2015-06-15/storage - v57.2.0
    ️✔️azure-sdk-for-go - preview/storage/mgmt/2020-08-01-preview/storage - v57.2.0
    ️✔️azure-sdk-for-go - preview/storage/mgmt/2018-07-01-preview/storage - v57.2.0
    ️✔️azure-sdk-for-go - preview/storage/mgmt/2018-03-01-preview/storage - v57.2.0
    ️✔️azure-sdk-for-go - preview/storage/mgmt/2015-05-01-preview/storage - v57.2.0
    ️❌ azure-sdk-for-net failed [Detail]
    • Failed [Logs]Release - Generate from cfa9e0f. SDK Automation 14.0.0
      warn	Skip initScript due to not configured
      command	sudo apt-get install -y dotnet-sdk-5.0
      command	autorest --version=V2 --csharp --reflect-api-versions --license-header=MICROSOFT_MIT_NO_VERSION --use=@microsoft.azure/autorest.csharp@2.3.82 --csharp-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-net/sdk ../azure-rest-api-specs/specification/storage/resource-manager/readme.md
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
      cmderr	[Autorest] realpath(): Permission denied
    • Microsoft.Azure.Management.Storage [View full logs]  [Release SDK Changes]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(331,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(346,170): error CS1739: The best overload for 'ExtendImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(506,175): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(558,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(565,178): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/FileServiceTests.cs(705,42): error CS1739: The best overload for 'AccessPolicy' does not have a parameter named 'start' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/FileServiceTests.cs(709,42): error CS1739: The best overload for 'AccessPolicy' does not have a parameter named 'start' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(617,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(625,178): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(680,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(737,175): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(751,170): error CS1739: The best overload for 'ExtendImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]      3>/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(1402,124): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(331,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(346,170): error CS1739: The best overload for 'ExtendImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(506,175): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(558,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(565,178): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/FileServiceTests.cs(705,42): error CS1739: The best overload for 'AccessPolicy' does not have a parameter named 'start' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/FileServiceTests.cs(709,42): error CS1739: The best overload for 'AccessPolicy' does not have a parameter named 'start' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(617,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(625,178): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(680,176): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(737,175): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(751,170): error CS1739: The best overload for 'ExtendImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      cmdout	[msbuild]          /home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Tests/BlobServiceTests.cs(1402,124): error CS1739: The best overload for 'CreateOrUpdateImmutabilityPolicy' does not have a parameter named 'immutabilityPeriodSinceCreationInDays' [/home/vsts/work/1/s/azure-sdk-for-net/sdk/storage/Microsoft.Azure.Management.Storage/tests/Microsoft.Azure.Management.Storage.Tests.csproj]
      error	Script return with result [failed] code [1] signal [null] cwd [azure-sdk-for-net]: dotnet
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from cfa9e0f. SDK Automation 14.0.0
      command	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
    • ️✔️track2_azure-mgmt-storage [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] **Features**
      info	[Changelog]
      info	[Changelog]   - Model StorageAccountCreateParameters has a new parameter immutable_storage_with_versioning
      info	[Changelog]   - Model StorageAccountCreateParameters has a new parameter default_to_o_auth_authentication
      info	[Changelog]   - Model StorageAccountCreateParameters has a new parameter public_network_access
      info	[Changelog]   - Model LegalHoldProperties has a new parameter protected_append_writes_history
      info	[Changelog]   - Model BlobContainer has a new parameter enable_nfs_v3_all_squash
      info	[Changelog]   - Model BlobContainer has a new parameter enable_nfs_v3_root_squash
      info	[Changelog]   - Model LegalHold has a new parameter allow_protected_append_writes_all
      info	[Changelog]   - Model StorageAccountUpdateParameters has a new parameter immutable_storage_with_versioning
      info	[Changelog]   - Model StorageAccountUpdateParameters has a new parameter default_to_o_auth_authentication
      info	[Changelog]   - Model StorageAccountUpdateParameters has a new parameter public_network_access
      info	[Changelog]   - Model ListContainerItem has a new parameter enable_nfs_v3_all_squash
      info	[Changelog]   - Model ListContainerItem has a new parameter enable_nfs_v3_root_squash
      info	[Changelog]   - Model ImmutabilityPolicy has a new parameter allow_protected_append_writes_all
      info	[Changelog]   - Model StorageAccount has a new parameter immutable_storage_with_versioning
      info	[Changelog]   - Model StorageAccount has a new parameter default_to_o_auth_authentication
      info	[Changelog]   - Model StorageAccount has a new parameter public_network_access
      info	[Changelog]   - Model ImmutabilityPolicyProperties has a new parameter allow_protected_append_writes_all
      info	[Changelog]   - Model UpdateHistoryProperty has a new parameter allow_protected_append_writes_all
      info	[Changelog]   - Model UpdateHistoryProperty has a new parameter allow_protected_append_writes
      info	[Changelog]   - Added operation StorageAccountsOperations.begin_hierarchical_namespace_migration
      info	[Changelog]   - Added operation StorageAccountsOperations.begin_abort_hierarchical_namespace_migration
      info	[Changelog]
      info	[Changelog] **Breaking changes**
      info	[Changelog]
      info	[Changelog]   - Model AccessPolicy has a new signature
    ️⚠️ azure-sdk-for-java warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from cfa9e0f. SDK Automation 14.0.0
      command	./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
      cmderr	[generate.py] 2021-09-14 02:02:01 INFO [VERSION][Not Found] cannot find version for "com.azure.resourcemanager:azure-resourcemanager-storage-generated"
      cmderr	[generate.py] 2021-09-14 02:02:01 INFO [VERSION][Not Found] cannot find stable version, current version "1.0.0-beta.1"
      cmderr	[generate.py] 2021-09-14 02:02:01 INFO autorest --version=3.6.0 --use=@autorest/java@4.0.37 --java.azure-libraries-for-java-folder=/home/vsts/work/1/s/azure-sdk-for-java --java.output-folder=/home/vsts/work/1/s/azure-sdk-for-java/sdk/storage/azure-resourcemanager-storage-generated --java.namespace=com.azure.resourcemanager.storage.generated   --java --pipeline.modelerfour.additional-checks=false --pipeline.modelerfour.lenient-model-deduplication=true --azure-arm --verbose --sdk-integration --fluent=lite --java.fluent=lite --java.license-header=MICROSOFT_MIT_SMALL  ../azure-rest-api-specs/specification/storage/resource-manager/readme.md
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [CI][Success] Write to ci.yml
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [POM][Process] dealing with pom.xml
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [POM][Success] Write to pom.xml
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [POM][Process] dealing with root pom
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [POM][Skip] pom already has module sdk/storage
      cmderr	[generate.py] 2021-09-14 02:02:46 INFO [POM][Success] Write to root pom
    • ️✔️azure-resourcemanager-storage-generated [View full logs]  [Release SDK Changes]
      cmderr	[Inst] 2021-09-14 02:04:47 DEBUG Got artifact_id: azure-resourcemanager-storage-generated
      cmderr	[Inst] 2021-09-14 02:04:47 DEBUG Got artifact: pom.xml
      cmderr	[Inst] 2021-09-14 02:04:47 DEBUG Got artifact: azure-resourcemanager-storage-generated-1.0.0-beta.1.jar
      cmderr	[Inst] 2021-09-14 02:04:47 DEBUG Match jar package: azure-resourcemanager-storage-generated-1.0.0-beta.1.jar
      cmderr	[Inst] 2021-09-14 02:04:47 DEBUG output: {"full": "```sh\ncurl -L \"https://portal.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/15627/azure-sdk-for-java/azure-resourcemanager-storage-generated/azure-resourcemanager-storage-generated-1.0.0-beta.1.jar\" -o azure-resourcemanager-storage-generated-1.0.0-beta.1.jar\nmvn install:install-file -DgroupId=com.azure.resourcemanager -DartifactId=azure-resourcemanager-storage-generated -Dversion=1.0.0-beta.0 -Dfile=azure-resourcemanager-storage-generated-1.0.0-beta.1.jar -Dpackaging=jar -DgeneratePom=true
      ```"}
    ️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from cfa9e0f. SDK Automation 14.0.0
      command	sh ./initScript.sh ../../../../../azure-sdk-for-go_tmp/initInput.json ../../../../../azure-sdk-for-go_tmp/initOutput.json
      command	generator automation ../../../../../azure-sdk-for-go_tmp/generateInput.json ../../../../../azure-sdk-for-go_tmp/generateOutput.json
    • ️✔️storage/mgmt/2021-06-01/storage [View full logs]  [Release SDK Changes]
      info	[Changelog] This is a new package
    • ️✔️storage/mgmt/2021-04-01/storage [View full logsBreaking Change Detected
      Only show 7 items here, please refer to log for details.
      info	[Changelog] ### New Content
      info	[Changelog]
      info	[Changelog] - New field `StartTime` in struct `AccessPolicy`
      info	[Changelog] - New field `ExpiryTime` in struct `AccessPolicy`
      info	[Changelog]
      info	[Changelog] Total 1 breaking change(s), 1 additive change(s).
      info	[Changelog]
    • ️✔️storage/mgmt/2021-02-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2021-01-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2019-06-01/storage [View full logsBreaking Change Detected
      Only show 7 items here, please refer to log for details.
      info	[Changelog] - New field `EnableAutoTierToHotFromCool` in struct `ManagementPolicyBaseBlob`
      info	[Changelog] - New field `AllowSharedKeyAccess` in struct `AccountPropertiesCreateParameters`
      info	[Changelog] - New field `DaysAfterLastAccessTimeGreaterThan` in struct `DateAfterModification`
      info	[Changelog] - New field `Error` in struct `ErrorResponse`
      info	[Changelog]
      info	[Changelog] Total 1 breaking change(s), 63 additive change(s).
      info	[Changelog]
    • ️✔️storage/mgmt/2019-04-01/storage [View full logs
      Only show 7 items here, please refer to log for details.
      info	[Changelog]
      info	[Changelog] - New field `AllowSharedKeyAccess` in struct `AccountPropertiesUpdateParameters`
      info	[Changelog] - New field `AllowSharedKeyAccess` in struct `AccountProperties`
      info	[Changelog] - New field `AllowSharedKeyAccess` in struct `AccountPropertiesCreateParameters`
      info	[Changelog]
      info	[Changelog] Total 0 breaking change(s), 3 additive change(s).
      info	[Changelog]
    • ️✔️storage/mgmt/2018-11-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2018-02-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2017-10-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2017-06-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2016-12-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2016-05-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2016-01-01/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️storage/mgmt/2015-06-15/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️preview/storage/mgmt/2020-08-01-preview/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️preview/storage/mgmt/2018-07-01-preview/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️preview/storage/mgmt/2018-03-01-preview/storage [View full logs
      info	[Changelog] No exported changes
    • ️✔️preview/storage/mgmt/2015-05-01-preview/storage [View full logs
      info	[Changelog] No exported changes
    ️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from cfa9e0f. SDK Automation 14.0.0
      warn	Skip initScript due to not configured
      command	autorest --version=V2 --typescript --license-header=MICROSOFT_MIT_NO_VERSION --use=@microsoft.azure/autorest.typescript@4.7.0 --typescript-sdks-folder=/home/vsts/work/1/s/azure-sdk-for-js/azure-sdk-for-js ../../azure-rest-api-specs/specification/storage/resource-manager/readme.md
    • ️✔️@azure/arm-storage [View full logs]  [Release SDK Changes]
      cmderr	[npmPack] loaded rollup.config.js with warnings
      cmderr	[npmPack] (!) Unused external imports
      cmderr	[npmPack] default imported from external module 'rollup' but never used
      cmderr	[npmPack] ./esm/storageManagementClient.js → ./dist/arm-storage.js...
      cmderr	[npmPack] created ./dist/arm-storage.js in 650ms
    ️⚠️ azure-resource-manager-schemas warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from cfa9e0f. Schema Automation 14.0.0
      command	.sdkauto/initScript.sh ../azure-resource-manager-schemas_tmp/initInput.json ../azure-resource-manager-schemas_tmp/initOutput.json
      cmderr	[initScript.sh] WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile The package-lock.json file was created with an old version of npm,
      cmderr	[initScript.sh] npm WARN old lockfile so supplemental metadata must be fetched from the registry.
      cmderr	[initScript.sh] npm WARN old lockfile
      cmderr	[initScript.sh] npm WARN old lockfile This is a one-time fix-up, please be patient...
      cmderr	[initScript.sh] npm WARN old lockfile
      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
    • ️✔️storage [View full logs]  [Release Schema Changes]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-workflow-bot
    Copy link

    Hi @HimanshuChhabra, Your PR has some issues. Please fix the CI sequentially by following the order of Avocado, semantic validation, model validation, breaking change, lintDiff.

    TaskHow to fixPrioritySupport (Microsoft alias)
    AvocadoFix-AvocadoHighruowan
    Semantic validationFix-SemanticValidation-ErrorHighraychen, jianyxi
    Model validationFix-ModelValidation-ErrorHighraychen,jianyxi
    LintDiffFix-LintDiffhighjianyxi, ruoxuan
    If you need further help, please feedback via swagger feedback."

    Copy link
    Member

    @blueww blueww left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Please remove unsupported "StorageFileDataSmbShareOwner" before merge.

    @openapi-workflow-bot
    Copy link

    Hi @HimanshuChhabra, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review.
    Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
    If you want to know the production traffic statistic, please see ARM Traffic statistic.
    If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback.

    @Himanshg
    Copy link

    @Himanshg, please create a new PR following this item (and check the box when you submit): [ ] 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. This is very important to get an quality and efficient ARM review.

    @mentat9, this is exactly how this PR has been prepared. 7e0f275 the very first commit which is the directory structure copy from older/existing version to the new version. All the new commits thereafter are additional changes only for the new version as separate commits

    @Himanshg Himanshu Gupta FTE, please create a new PR following this item (and check the box when you submit): [ ] 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. This is very important to get an quality and efficient ARM review.

    I don't see this message being ack'd, we cannot proceed with the API review until you follow these steps.

    I think I got tagged here by mistake. Kindly tag the right person. Thanks

    @jianyexi
    Copy link
    Contributor

    There is a cross version breaking change , please follow the action #15627 (comment) to get approval
    image

    "202": {
    "description": "Accepted -- Hierarchical namespace migration request accepted; operation will complete asynchronously."
    },
    "default": {
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    We might should remove the "default" responds handling part, since:

    1. Without the default part, the error will be handled by default CloudException in .net SDK, and the error details will be in exception message.
    2. With the default part, the error will be handle by storage defined "#/definitions/ErrorResponse", the returned exception in .net SDK will only has error code in exception message, but won't has detail error message in the exception message. It will be difficult for customer to find the detail error message, as they need go into the exception properties and try to find which property contains the error.

    As the default error handling can handle error with following body very well. I would suggest:

    • if the error body of an API have following format, we should not add "default" responds part for it.
    • only add default responds handling for error , when the error body is not in following format.
    Body:
    {
      "error": {
        "code": "***",
        "message": "****"
      }
    }
    

    For you reference, following are errors from .net SDK:
    Error from API without default responds section:

    Microsoft.Rest.Azure.CloudException: An operation is currently performing on this storage account that requires exclusive access.
       at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<DeleteWithHttpMessagesAsync>d__7.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<DeleteAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.Delete(IStorageAccountsOperations operations, String resourceGroupName, String accountName)
       at Microsoft.Azure.Commands.Management.Storage.RemoveAzureStorageAccountCommand.ExecuteCmdlet()
       at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
    

    Error from API with default responds section:

    Microsoft.Azure.Management.Storage.Models.ErrorResponseException: Operation returned an invalid status code 'BadRequest'
       at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<BeginHierarchicalNamespaceMigrationWithHttpMessagesAsync>d__23.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
       at Microsoft.Azure.Management.Storage.StorageAccountsOperations.<HierarchicalNamespaceMigrationWithHttpMessagesAsync>d__17.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
       at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.<HierarchicalNamespaceMigrationAsync>d__25.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
       at Microsoft.Azure.Management.Storage.StorageAccountsOperationsExtensions.HierarchicalNamespaceMigration(IStorageAccountsOperations operations, String resourceGroupName, String accountName, String requestType)
       at Microsoft.Azure.Commands.Management.Storage.InvokeAzureStorageAccountHierarchicalNamespaceUpgradeCommand.ExecuteCmdlet()
       at Microsoft.WindowsAzure.Commands.Utilities.Common.AzurePSCmdlet.ProcessRecord()
    

    },
    "allowProtectedAppendWritesAll": {
    "type": "boolean",
    "description": "This property can only be changed for unlocked time-based retention policies. When enabled, new blocks can be written to both 'Appened and Bock Blobs' while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted. This property cannot be changed with ExtendImmutabilityPolicy API. The 'allowProtectedAppendWrites' and 'allowProtectedAppendWritesAll' properties are mutually exclusive."
    Copy link
    Member

    @blueww blueww Sep 8, 2021

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    (Optional ) We should change the "name": "parameters", to "name": "immutabilityPolicy", on line 532 and 750 in blob.json.

    Not sure if ARM team will have concern for this change as it's breaking, but if not change, the API parameter name looks not right.

    If not change, the generated SDK will has the parameter name for input immutabilityPolicy as "parameters", which doesn't make sense.
    Before adding "allowProtectedAppendWritesAll", this issue not appear in SDK, since immutabilityPolicy only has 2 properties can be input (immutabilityPeriodSinceCreationInDays, allowProtectedAppendWrites), the Set/extend immutabilityPolicy API will have the 2 immutabilityPolicy properties just as the API paramters (see link); but after adding one more property "allowProtectedAppendWritesAll", the Set/extend immutabilityPolicy API will have the whole immutabilityPolicy as parameter, and the API to create immutabilityPolicy object has wrong parameter name (use name "parameters" for immutabilityPolicy parameter ).

    The .net SDK API with current swagger (See "ImmutabilityPolicy parameters = default(ImmutabilityPolicy) ")

    public static ImmutabilityPolicy CreateOrUpdateImmutabilityPolicy(this IBlobContainersOperations operations, string resourceGroupName, string accountName, string containerName, ImmutabilityPolicy parameters = default(ImmutabilityPolicy), string ifMatch = default(string))
    

    The .net SDK API after change "name": "parameters", to "name": "immutabilityPolicy" in swagger: (See "ImmutabilityPolicy immutabilityPolicy = default(ImmutabilityPolicy)")

    public static ImmutabilityPolicy CreateOrUpdateImmutabilityPolicy(this IBlobContainersOperations operations, string resourceGroupName, string accountName, string containerName, ImmutabilityPolicy immutabilityPolicy = default(ImmutabilityPolicy), string ifMatch = default(string))
    

    @JeffreyRichter JeffreyRichter added the Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 label Sep 9, 2021
    @jianyexi jianyexi merged commit cfa9e0f into Azure:main Sep 14, 2021
    LeiWang3 pushed a commit to LeiWang3/azure-rest-api-specs that referenced this pull request Mar 31, 2022
    * Add June21 Swagger Api version, Updated Readme files
    
    * adding abort and hnson migration swagger API
    
    * swagger: marking requesttype as required parameter for hns onmigration
    
    * Added new PublicNetworkAccess property to swagger spec
    
    * Add enableNfsV3RootSquash and enableNfsV3AllSquash to June21 swagger
    
    * Add Account Level VLW Swagger changes and example
    
    * Update Blob Inventory Api comment to include AccessTierInferred and Tags
    
    * Rename HnsOn to hierarchical namespace
    
    * [Swagger] [June21] Added defaultToOAuthAuthentication to swagger spec
    
    * Update Spell check custom words list. Correct incorrect spellings
    
    * Add missing refrences to PublicNetworkAccess Examples
    
    * Add required type:object, Add default return type for hns migration apis
    
    * Prettier tool update to storage.json
    
    * Add update account with immutability policy example
    
    * Removed StorageFileDataSmbShareOwner as Server side does not support it
    
    * Add AllowProtectedAppendWritesAll feature changes with example
    
    * Updated enum values and description for PublicNetworkAccess
    
    * Add type:object to ProtectedAppendWritesHistory ; Spellcheck
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review CI-BreakingChange-Go
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.