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

[Hub Generated] Review request for Microsoft.KeyVault to update key permissions for 2021-06-01-preview. #16536

Merged

Conversation

adarce
Copy link
Member

@adarce adarce commented Oct 25, 2021

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.

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.
    ETA: 2021-10-27

  3. When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
    End of October, or early November.

  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-pipeline-app
Copy link

openapi-pipeline-app bot commented Oct 25, 2021

Swagger Validation Report

️️✔️BreakingChange succeeded [Detail] [Expand]
There are no breaking changes.

️⚠️LintDiff: 0 Warnings warning [Detail]
The following errors/warnings exist before current PR submission:

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

Rule Message
R4013 - IntegerTypeMustHaveFormat The integer type does not have a format, please add it.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/secrets.json#L306
R4013 - IntegerTypeMustHaveFormat The integer type does not have a format, please add it.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/secrets.json#L312
R4013 - IntegerTypeMustHaveFormat The integer type does not have a format, please add it.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/secrets.json#L318
R4013 - IntegerTypeMustHaveFormat The integer type does not have a format, please add it.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/secrets.json#L324
R4037 - MissingTypeObject The schema 'CloudError' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/common.json#L10
R4037 - MissingTypeObject The schema 'CloudErrorBody' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/common.json#L19
R4037 - MissingTypeObject The schema 'SystemData' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/common.json#L33
R4037 - MissingTypeObject The schema 'PrivateLinkResourceProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1947
R4037 - MissingTypeObject The schema 'PrivateLinkResource' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1932
R4037 - MissingTypeObject The schema 'PrivateLinkServiceConnectionState' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1865
R4037 - MissingTypeObject The schema 'PrivateEndpoint' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1855
R4037 - MissingTypeObject The schema 'PrivateEndpointConnectionProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1838
R4037 - MissingTypeObject The schema 'PrivateEndpointConnection' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1802
R4037 - MissingTypeObject The schema 'Resource' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1627
R4037 - MissingTypeObject The schema 'CloudErrorBody' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/common.json#L19
R4037 - MissingTypeObject The schema 'CloudError' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/common.json#L10
R4037 - MissingTypeObject The schema 'Sku' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1021
R4037 - MissingTypeObject The schema 'AccessPolicyEntry' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1054
R4037 - MissingTypeObject The schema 'Permissions' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1082
R4037 - MissingTypeObject The schema 'VaultProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1201
R4037 - MissingTypeObject The schema 'VaultPatchProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1312
R4037 - MissingTypeObject The schema 'VaultAccessPolicyProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1382
R4037 - MissingTypeObject The schema 'DeletedVaultProperties' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1397
R4037 - MissingTypeObject The schema 'VaultCreateOrUpdateParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1437
R4037 - MissingTypeObject The schema 'VaultPatchParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1462
R4037 - MissingTypeObject The schema 'VaultAccessPolicyParameters' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1479
R4037 - MissingTypeObject The schema 'Vault' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1512
R4037 - MissingTypeObject The schema 'DeletedVault' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1555
R4037 - MissingTypeObject The schema 'VaultListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1579
R4037 - MissingTypeObject The schema 'DeletedVaultListResult' is considered an object but without a 'type:object', please add the missing 'type:object'.
Location: Microsoft.KeyVault/preview/2021-06-01-preview/keyvault.json#L1595
️️✔️Avocado succeeded [Detail] [Expand]
Validation passes for Avocado.
️️✔️~[Staging] ApiReadinessCheck succeeded [Detail] [Expand]
️️✔️ModelValidation succeeded [Detail] [Expand]
Validation passes for ModelValidation.
️️✔️SemanticValidation succeeded [Detail] [Expand]
Validation passes for SemanticValidation.
️️✔️Cross-Version Breaking Changes succeeded [Detail] [Expand]
There are no breaking changes.
️️✔️CredScan succeeded [Detail] [Expand]
There is no credential detected.
️️✔️[Staging] SDK Track2 Validation succeeded [Detail] [Expand]
Validation passes for SDKTrack2Validation

️️✔️[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-workflow-bot
Copy link

Hi, @adarce 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-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Oct 25, 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-go-track2 - armkeyvault - 0.2.1
    azure-sdk-for-go - keyvault/mgmt/2019-09-01/keyvault - v59.0.0
    +	Field `ActionRequired` of struct `PrivateLinkServiceConnectionState` has been removed
    ️✔️azure-sdk-for-go - keyvault/mgmt/2018-02-14/keyvault - v59.0.0
    ️✔️azure-sdk-for-go - keyvault/mgmt/2016-10-01/keyvault - v59.0.0
    ️✔️azure-sdk-for-go - keyvault/mgmt/2015-06-01/keyvault - v59.0.0
    azure-sdk-for-go - preview/keyvault/mgmt/2020-04-01-preview/keyvault - v59.0.0
    +	Field `ActionRequired` of struct `PrivateLinkServiceConnectionState` has been removed
    ️✔️azure-sdk-for-python-track2 - track2_azure-mgmt-keyvault - 9.2.0
    ️️✔️ azure-sdk-for-net succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from f2aaaa7. 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/keyvault/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.KeyVault [View full logs]  [Release SDK Changes]
    ️⚠️ azure-sdk-for-python-track2 warning [Detail]
    ️⚠️ azure-sdk-for-java warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from f2aaaa7. 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-11-08 23:26:41 INFO [VERSION][Not Found] cannot find version for "com.azure.resourcemanager:azure-resourcemanager-keyvault-generated"
      cmderr	[generate.py] 2021-11-08 23:26:41 INFO [VERSION][Not Found] cannot find stable version, current version "1.0.0-beta.1"
      cmderr	[generate.py] 2021-11-08 23:26:41 INFO autorest --version=3.6.0 --use=@autorest/java@4.0.39 --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/keyvault/azure-resourcemanager-keyvault-generated --java.namespace=com.azure.resourcemanager.keyvault.generated   --java --pipeline.modelerfour.additional-checks=false --pipeline.modelerfour.lenient-model-deduplication=true --azure-arm --verbose --sdk-integration --generate-samples --fluent=lite --java.fluent=lite --java.license-header=MICROSOFT_MIT_SMALL  ../azure-rest-api-specs/specification/keyvault/resource-manager/readme.md
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [CI][Success] Write to ci.yml
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [POM][Process] dealing with pom.xml
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [POM][Success] Write to pom.xml
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [POM][Process] dealing with root pom
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [POM][Skip] pom already has module sdk/keyvault
      cmderr	[generate.py] 2021-11-08 23:27:17 INFO [POM][Success] Write to root pom
    • ️✔️azure-resourcemanager-keyvault-generated [View full logs]  [Release SDK Changes]
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Got artifact_id: azure-resourcemanager-keyvault-generated
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Got artifact: pom.xml
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Got artifact: azure-resourcemanager-keyvault-generated-1.0.0-beta.1-javadoc.jar
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Got artifact: azure-resourcemanager-keyvault-generated-1.0.0-beta.1-sources.jar
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Got artifact: azure-resourcemanager-keyvault-generated-1.0.0-beta.1.jar
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG Match jar package: azure-resourcemanager-keyvault-generated-1.0.0-beta.1.jar
      cmderr	[Inst] 2021-11-08 23:28:45 DEBUG output: {"full": "```sh\ncurl -L \"https://portal.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/16536/azure-sdk-for-java/azure-resourcemanager-keyvault-generated/azure-resourcemanager-keyvault-generated-1.0.0-beta.1.jar\" -o azure-resourcemanager-keyvault-generated-1.0.0-beta.1.jar\nmvn install:install-file -DgroupId=com.azure.resourcemanager -DartifactId=azure-resourcemanager-keyvault-generated -Dversion=1.0.0-beta.0 -Dfile=azure-resourcemanager-keyvault-generated-1.0.0-beta.1.jar -Dpackaging=jar -DgeneratePom=true
      ```"}
    ️️✔️ azure-sdk-for-go succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from f2aaaa7. SDK Automation 14.0.0
      command	sh ./eng/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
    • ️✔️keyvault/mgmt/2019-09-01/keyvault [View full logs]  [Release SDK Changes] Breaking Change Detected
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] - Field `ActionRequired` of struct `PrivateLinkServiceConnectionState` has been removed
      info	[Changelog]
      info	[Changelog] ### New Content
      info	[Changelog]
      info	[Changelog] - New const `VaultProvisioningStateSucceeded`
      info	[Changelog] - New const `VaultProvisioningStateRegisteringDNS`
      info	[Changelog] - New function `PossibleVaultProvisioningStateValues() []VaultProvisioningState`
      info	[Changelog] - New struct `DimensionProperties`
      info	[Changelog] - New struct `MetricSpecification`
      info	[Changelog] - New field `ProvisioningState` in struct `VaultProperties`
      info	[Changelog] - New field `HsmPoolResourceID` in struct `VaultProperties`
      info	[Changelog] - New field `PurgeProtectionEnabled` in struct `DeletedVaultProperties`
      info	[Changelog] - New field `ActionsRequired` in struct `PrivateLinkServiceConnectionState`
      info	[Changelog] - New field `Etag` in struct `PrivateEndpointConnection`
      info	[Changelog] - New field `MetricSpecifications` in struct `ServiceSpecification`
      info	[Changelog] - New field `IsDataAction` in struct `Operation`
      info	[Changelog] - New field `IgnoreMissingVnetServiceEndpoint` in struct `VirtualNetworkRule`
      info	[Changelog] - New field `ID` in struct `PrivateEndpointConnectionItem`
      info	[Changelog] - New field `Etag` in struct `PrivateEndpointConnectionItem`
      info	[Changelog]
      info	[Changelog] Total 1 breaking change(s), 15 additive change(s).
      info	[Changelog]
    • ️✔️keyvault/mgmt/2018-02-14/keyvault [View full logs
      info	[Changelog] No exported changes
    • ️✔️keyvault/mgmt/2016-10-01/keyvault [View full logs
      info	[Changelog] No exported changes
    • ️✔️keyvault/mgmt/2015-06-01/keyvault [View full logs
      info	[Changelog] No exported changes
    • ️✔️preview/keyvault/mgmt/2020-04-01-preview/keyvault [View full logsBreaking Change Detected
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] - Field `ActionRequired` of struct `PrivateLinkServiceConnectionState` has been removed
      info	[Changelog]
      info	[Changelog] ### New Content
      info	[Changelog]
      info	[Changelog] - New const `VaultProvisioningStateRegisteringDNS`
      info	[Changelog] - New const `VaultProvisioningStateSucceeded`
      info	[Changelog] - New function `PossibleVaultProvisioningStateValues() []VaultProvisioningState`
      info	[Changelog] - New struct `DimensionProperties`
      info	[Changelog] - New struct `MetricSpecification`
      info	[Changelog] - New field `ID` in struct `PrivateEndpointConnectionItem`
      info	[Changelog] - New field `Etag` in struct `PrivateEndpointConnectionItem`
      info	[Changelog] - New field `IsDataAction` in struct `Operation`
      info	[Changelog] - New field `PurgeProtectionEnabled` in struct `DeletedVaultProperties`
      info	[Changelog] - New field `Etag` in struct `PrivateEndpointConnection`
      info	[Changelog] - New field `ActionsRequired` in struct `PrivateLinkServiceConnectionState`
      info	[Changelog] - New field `ProvisioningState` in struct `VaultProperties`
      info	[Changelog] - New field `HsmPoolResourceID` in struct `VaultProperties`
      info	[Changelog] - New field `IgnoreMissingVnetServiceEndpoint` in struct `VirtualNetworkRule`
      info	[Changelog] - New field `MetricSpecifications` in struct `ServiceSpecification`
      info	[Changelog]
      info	[Changelog] Total 1 breaking change(s), 15 additive change(s).
      info	[Changelog]
    ️️✔️ azure-sdk-for-go-track2 succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from f2aaaa7. SDK Automation 14.0.0
      command	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
    • ️✔️armkeyvault [View full logs]  [Release SDK Changes]
      info	[Changelog] ### Breaking Changes
      info	[Changelog]
      info	[Changelog] ### New Content
      info	[Changelog]
      info	[Changelog] - New const `JSONWebKeyOperationRelease`
      info	[Changelog] - New const `KeyPermissionsGetrotationpolicy`
      info	[Changelog] - New const `KeyPermissionsSetrotationpolicy`
      info	[Changelog]
      info	[Changelog] Total 0 breaking change(s), 3 additive change(s).
      info	[Changelog]
    ️️✔️ azure-sdk-for-js succeeded [Detail] [Expand]
    • ️✔️Succeeded [Logs]Release - Generate from f2aaaa7. 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/keyvault/resource-manager/readme.md
    • ️✔️@azure/arm-keyvault [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/keyVaultManagementClient.js → ./dist/arm-keyvault.js...
      cmderr	[npmPack] created ./dist/arm-keyvault.js in 430ms
    ️⚠️ azure-resource-manager-schemas warning [Detail]
    • ⚠️Warning [Logs]Release - Generate from f2aaaa7. 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
    • ️✔️keyvault [View full logs]  [Release Schema Changes]
    Posted by Swagger Pipeline | How to fix these errors?

    @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.

    @adarce adarce marked this pull request as draft October 25, 2021 22:19
    @adarce adarce force-pushed the dev-keyvault-Microsoft.KeyVault-2019-09-01 branch from d148b04 to 7bf139c Compare October 29, 2021 19:44
    @adarce adarce changed the title [Hub Generated] Review request for Microsoft.KeyVault to add version stable/2019-09-01 [Hub Generated] Review request for Microsoft.KeyVault to use consistent key permissions across all API versions. Oct 29, 2021
    @adarce adarce marked this pull request as ready for review October 29, 2021 19:47
    @adarce adarce force-pushed the dev-keyvault-Microsoft.KeyVault-2019-09-01 branch from 7bf139c to b8512f7 Compare October 29, 2021 22:38
    @zhenglaizhang
    Copy link
    Contributor

    @jianyexi could you help take a look at the breaking change failure, looks like unexpected and looks hard to undestand

    @jianyexi jianyexi added the Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 label Nov 1, 2021
    @jianyexi
    Copy link
    Contributor

    jianyexi commented Nov 1, 2021

    @jianyexi Jianye Xi FTE could you help take a look at the breaking change failure, looks like unexpected and looks hard to undestand

    Approved, as it's caused by existing conflict among the swaggers in the folder: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01

    Copy link
    Member

    @heaths heaths left a comment

    Choose a reason for hiding this comment

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

    Are those values actually supported with those api-versions, though? Anyone generating code could send those, and if not that would be a breaking change. It's generally not a good practice to backport changes. Was this to fix some actual problem?

    @jlichwa
    Copy link
    Contributor

    jlichwa commented Nov 2, 2021

    @heaths I have similar concerns. We should not backport changes even for extensible enums. But is seems like that happen for soft-delete purge permissions - I don't think that was right thing to do. From Dev Experience that could be confusing when they point to specific version.

    @adarce
    Copy link
    Member Author

    adarce commented Nov 2, 2021

    Are those values actually supported with those api-versions, though? Anyone generating code could send those, and if not that would be a breaking change. It's generally not a good practice to backport changes. Was this to fix some actual problem?

    I have similar concerns. We should not backport changes even for extensible enums. But is seems like that happen for soft-delete purge permissions - I don't think that was right thing to do. From Dev Experience that could be confusing when they point to specific version.

    Currently, the AKV service supports the same set of permissions across all API versions (and this PR was an attempt to fix this discrepancy). For context, back when AKV added permissions for purge/recover, the concern was potential data loss for customers using older clients. For example, consider a vault that is initially created with PurgeKey permission via the latest client, and then the customer happens to use an older client to add a GetKey permission. When parsing the GetVault response from the server, the older client would ignore the PurgeKey permission (since the older API version doesn't recognize the new value). After updating the list of key permissions in-memory, the older client would then submit a PutVault request to the server that would completely replace all permissions (so it would add GetKey, but unintentionally remove PurgeKey).

    One option here is to keep the ApiVersion-agnostic behaviour in the service (so that all API versions continue to support all permissions), but only update the latest API versions in this Swagger spec PR. Customers using SDKs are unlikely to notice the discrepancy (since by default SDKs only use the latest ApiVersion), but we could document the discrepancy for customers who are directly using REST APIs. @heaths and @jlichwa : What do you think?

    @heaths
    Copy link
    Member

    heaths commented Nov 2, 2021

    That scenario is still problematic if the client doesn't regenerate their client library, thus the service needs to handle that. This is also why all request/response enums should be marked modelAsString: true in swagger and clients should respect that, or they cause their own data loss.

    See https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#enums--sdks-client-libraries and https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#use-extensible-enums

    @adarce adarce force-pushed the dev-keyvault-Microsoft.KeyVault-2019-09-01 branch from b8512f7 to 33f8f27 Compare November 3, 2021 20:58
    @adarce adarce changed the title [Hub Generated] Review request for Microsoft.KeyVault to use consistent key permissions across all API versions. [Hub Generated] Review request for Microsoft.KeyVault to update key permissions for 2021-06-01-preview. Nov 3, 2021
    @adarce
    Copy link
    Member Author

    adarce commented Nov 3, 2021

    That scenario is still problematic if the client doesn't regenerate their client library, thus the service needs to handle that. This is also why all request/response enums should be marked modelAsString: true in swagger and clients should respect that, or they cause their own data loss.

    See https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#enums--sdks-client-libraries and https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#use-extensible-enums

    Got it. I've updated my PR so that it only updates the most recent preview API version.

    @adarce
    Copy link
    Member Author

    adarce commented Nov 8, 2021

    @zhenglaizhang : Given that all concerns have been addressed, could you merge this PR please?

    @heaths
    Copy link
    Member

    heaths commented Nov 8, 2021

    Adding @lmazuel who can merge with (expected) validation errors.

    @heaths heaths merged commit f2aaaa7 into Azure:main Nov 8, 2021
    @heaths
    Copy link
    Member

    heaths commented Nov 8, 2021

    Never mind, @lmazuel. It wasn't a required check so I could.

    ghost pushed a commit to Azure/azure-resource-manager-schemas that referenced this pull request Nov 8, 2021
    LeiWang3 pushed a commit to LeiWang3/azure-rest-api-specs that referenced this pull request Mar 31, 2022
    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 CI-BreakingChange-Go
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    5 participants