Repository navigation
Add Key Vault Resource Manager client library - #5486
Merged
Merged
Conversation
|
Azure Pipelines: 3 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 20, 2026 04:08
ca0a2d4 to
a2eabaf
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 21, 2026 01:23
a2eabaf to
7515e17
Compare
Heath Stewart (heaths)
changed the base branch from
copilot/add-heuristic-lro-helper
to
cloud-config
October 21, 2026 01:23
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 22, 2026 00:37
7515e17 to
fff9c0d
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 23, 2026 01:29
fff9c0d to
53f7c5c
Compare
Heath Stewart (heaths)
marked this pull request as ready for review
October 23, 2026 01:32
Heath Stewart (heaths)
requested review from
a team,
Larry Osterman (LarryOsterman),
Rick Winter (RickWinter) and
Jeff Fisher (xirzec)
as code owners
October 23, 2026 01:32
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Temporary generated-source patches, unverified Managed HSM paths, and an unresolved polling defect require maintainer review before approval.
No open issues 🎉
What changed in this PR
Adds azure_resourcemanager_keyvault to the Azure SDK for Rust, providing management-plane clients for the stable 2026-05-15 API alongside the existing Key Vault data-plane libraries.
Changes:
- Adds generated clients and models with shared Resource Manager polling and cloud configuration.
- Adds offline contract tests, recorded vault scenarios, and ignored Managed HSM scenarios.
- Registers the crate in the workspace and CI, with consumer documentation and generation follow-ups.
| File | Description |
|---|---|
| sdk/keyvault/test-resources.bicep | Updates the default tenant and exports test identity values. |
| sdk/keyvault/ci.yml | Registers the new release artifact. |
| sdk/keyvault/azure_resourcemanager_keyvault/tsp-location.yaml | Pins the TypeSpec source. |
| sdk/keyvault/azure_resourcemanager_keyvault/TODO.md | Tracks specification and emitter follow-ups. |
| sdk/keyvault/azure_resourcemanager_keyvault/tests/readme.rs | Validates README examples and vault operations. |
| sdk/keyvault/azure_resourcemanager_keyvault/tests/managed_hsms.rs | Adds ignored Managed HSM scenarios. |
| sdk/keyvault/azure_resourcemanager_keyvault/tests/common/mod.rs | Shares recorded-test setup and assertions. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/tests/enums.rs | Checks enum wire contracts. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/tests.rs | Tests cloud configuration, requests, and polling. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/lib.rs | Exposes the library and registers tests. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/models_serde.rs | Serializes the vault resource-type literal. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/models_impl.rs | Implements paging, polling outputs, and request conversion. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/mod.rs | Exports generated model modules. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/header_traits.rs | Adds typed response-header access. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/enums.rs | Defines service enums. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/models/enums_serde.rs | Implements enum serialization. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/mod.rs | Exports clients and models. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/mod.rs | Registers specialized clients. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_secrets_client.rs | Adds secret management operations. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_private_link_resources_client.rs | Lists vault private-link resources. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_private_endpoint_connections_client.rs | Manages vault private endpoint connections. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_operations_client.rs | Lists provider operations. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_mhsm_regions_client.rs | Lists Managed HSM regions. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_mhsm_private_link_resources_client.rs | Lists Managed HSM private-link resources. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_mhsm_private_endpoint_connections_client.rs | Manages Managed HSM private endpoint connections. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_managed_hsm_keys_client.rs | Adds Managed HSM key operations. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_keys_client.rs | Adds vault key operations. |
| sdk/keyvault/azure_resourcemanager_keyvault/src/generated/clients/key_vault_client.rs | Adds cloud-aware construction and subclients. |
| sdk/keyvault/azure_resourcemanager_keyvault/README.md | Documents installation, authentication, and vault usage. |
| sdk/keyvault/azure_resourcemanager_keyvault/CONTRIBUTING.md | Documents generation and testing requirements. |
| sdk/keyvault/azure_resourcemanager_keyvault/CHANGELOG.md | Records the initial release scope. |
| sdk/keyvault/azure_resourcemanager_keyvault/Cargo.toml | Defines dependencies and package features. |
| sdk/keyvault/azure_resourcemanager_keyvault/.cspell.json | Adds crate-specific vocabulary. |
| sdk/keyvault/assets.json | Updates the recording asset reference. |
| sdk/keyvault/.cspell.json | Extends Key Vault spelling vocabulary. |
| sdk/core/AGENTS.md | Clarifies Resource Manager contributor guidance. |
| Cargo.toml | Adds the workspace member. |
| Cargo.lock | Records the new crate’s dependencies. |
| .vscode/cspell.json | Adds management-package terminology. |
Review effort: Balanced
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 23, 2026 20:49
53f7c5c to
2b5af9e
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 24, 2026 00:41
2b5af9e to
d4cfc48
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
2 times, most recently
from
October 27, 2026 16:54
96fd66c to
71ae2ee
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 27, 2026 21:51
71ae2ee to
e40c6cb
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 27, 2026 22:49
e40c6cb to
4511b7e
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 28, 2026 00:35
4511b7e to
a2eda33
Compare
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 29, 2026 23:01
a2eda33 to
27d1ae9
Compare
Generate stable 2026-05-15 clients from the pinned TypeSpec source and register the crate in the Cargo workspace and Key Vault CI. Integrate Resource Manager polling and Public/custom-cloud construction while documenting unsupported clouds and temporary generated-source patches. Add offline wire-contract and client tests, recorded vault scenarios, README coverage, and explicitly ignored cases. Export tenant and test-principal resource outputs for integration tests. Separate consumer and contributor documentation, track specification and emitter follow-ups, and update core contributor guidance and spelling configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Resolve the management endpoint and token scope through azure_core, keeping custom endpoints independent of authentication audiences. Update constructor tests for custom configuration errors and sovereign clouds. Record the corresponding emitter changes and borrowed-default pattern in TODO.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use azure_core::cloud::resourcemanager::Audience instead of a generated per-crate marker so custom cloud configuration is shared across Resource Manager clients. Document default and custom cloud client construction, compile both README examples, and track the required emitter changes without modifying the emitter. Align generated poller imports and the API snapshot with the rebased core module layout, and update constructor documentation and regression tests. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Import CloudConfigurationExt in the Key Vault constructor and use its non-generic default_scope method for Resource Manager authentication. Update TODO.md so emitter constructors use the extension trait while caller examples retain shared Audience registration and unchanged cloud configuration. Track fully qualified audience links in generated docs. Validated Markdown lint and package analysis. Documentation generation reports an existing unqualified Audience link in the constructor. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use canonical main-branch URLs in the contributor guide and generation checklist so link verification can resolve targets against the checkout, including files introduced by this PR. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 2ae52994-b5d7-4a7d-9cc6-11efddd818a9
Use operation monitors for streamed status and verify final GET remains lazy. Assert structured service failure details. Update emitter checklist for OriginalUrl, provisioning-state and client API-version rules. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: e313a7bc-fcc4-4974-a332-7bcfa8a8ce46
Keep Public, Government, and China authorization assertions aligned with the rebased cloud helpers while leaving service endpoints unchanged. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep the azure_resourcemanager_keyvault crate name unchanged while updating resource_manager module and feature references, generated imports, README links, and rustfmt imports. Update the existing emitter checklist and correct core Resource Manager guidance. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 68119c12-f8fa-4637-adc6-9b1f6a9d3e91
Heath Stewart (heaths)
force-pushed
the
keyvaut-arm
branch
from
October 30, 2026 00:42
27d1ae9 to
d637f1e
Compare
Joel Hendrix (jhendrixMSFT)
approved these changes
Oct 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Generate stable 2026-05-15 clients from the pinned TypeSpec source and register the crate in the Cargo workspace and Key Vault CI.
Integrate Resource Manager polling and Public/custom-cloud construction while documenting unsupported clouds and temporary generated-source patches.
Add offline wire-contract and client tests, recorded vault scenarios, README coverage, and explicitly ignored cases. Export tenant and test-principal resource outputs for integration tests.
Separate consumer and contributor documentation, track specification and emitter follow-ups, and update core contributor guidance and spelling configuration.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Stack created with GitHub Stacks CLI • Give Feedback 💬