[Key Vault] TypeSpec for Administration library
Data Plane API Specification Update Pull Request
[!TIP] Overwhelmed by all this guidance? See the
Getting helpsection at the bottom of this PR description.
This spec is for the KV Administration library, and has been successfully tested with Python end-to-end (https://github.com/Azure/azure-sdk-for-python/pull/36915).
Long-running operations could possibly have their specifications simplified in some way; when I tried using an alias for the shared response status code and headers, the compiler threw the following error:
Namespace 'global' is referencing types from versioned namespace 'KeyVault' but didn't specify which versions with @useDependency. TypeSpec(@typespec/versioning/using-versioned-library)
In the meantime, specifying the response content in each operation works when tested via Python generation and tests (in live and playback mode).
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.
API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.
- Link to API Spec engagement record issue:
Is this review for (select one):
- [ ] a private preview
- [ ] a public preview
- [ ] GA release
Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.
- Design Document:
- Previous API Spec Doc:
- Updated paths:
Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the Swagger-Suppression-Process to get approval.
❔Got questions? Need additional info?? We are here to help!
Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.
- 💬 Teams Channel
Click here for links to tools, specs, guidelines & other good stuff
Tooling
- Open API validation tools were run on this PR. Go here to see how to fix errors
- Spectral Linting
Guidelines & Specifications
Helpful Links
Getting help
- First, please carefully read through this PR description, from top to bottom.
- If you don't have permissions to remove or add labels to the PR, request
write accessper aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositories - To understand what you must do next to merge this PR, see the
Next Steps to Mergecomment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state. - For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure and https://aka.ms/ci-fix.
- If the PR CI checks appear to be stuck in
queuedstate, please add a comment with contents/azp run. This should result in a new comment denoting aPR validation pipelinehas started and the checks should be updated after few minutes. - If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.
Next Steps to Merge
Next steps that must be taken to merge this PR:- ❌ The required check named
SDK azure-sdk-for-gohas failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide. In addition, refer to step 3 in the PR workflow diagram
Generated ApiView
| Language | Package Name | ApiView Link |
|---|---|---|
| Python | azure-keyvault-administration | https://apiview.dev/Assemblies/Review/7643acce229a47c8a2d146efc30638fb?revisionId=bb3ef6404bb14cdd924dd79b261daa2f |
| TypeSpec | Security.KeyVault.BackupRestore | https://apiview.dev/Assemblies/Review/0529655b61bc404ebd37d2d5192ba45a?revisionId=5515288ac2c54398a4a9a14e9ede00e8 |
| TypeSpec | Security.KeyVault.RBAC | https://apiview.dev/Assemblies/Review/0529655b61bc404ebd37d2d5192ba45a?revisionId=5515288ac2c54398a4a9a14e9ede00e8 |
| TypeSpec | Security.KeyVault.Settings | https://apiview.dev/Assemblies/Review/0529655b61bc404ebd37d2d5192ba45a?revisionId=5515288ac2c54398a4a9a14e9ede00e8 |
I'm happy to see there's no breaking changes, but I'm also skeptical: there's nothing in the AzDO pipeline that indicates it actually compared against the right previous versions. @lmazuel how can we be sure? Could the tool actually log what swaggers it's comparing?
API change check
APIView has identified API level changes in this PR and created following API reviews.
@mccoyp: Next I recommend trying to fix the errors in check Swagger ModelValidation. Then we should only be left with the breaking changes, where it's possible all the errors are essentially "false positives" that are expected when coverting to TypeSpec. I believe we have a new tool that can help with this.
Note: this PR introduces a Common library that will be shared across KV, so we'll merge this first. At that point other KV PRs can be updated to use the common error definitions and operation template.
PR validation pipeline can not start as the pull request is not merged or mergeable - most likely it has merge conflicts.
Blocked for Go bugs in SDK Automation, otherwise everything is fine. Force merging.