Skip to content

Add Key Vault Resource Manager client library - #5486

Merged
Heath Stewart (heaths) merged 9 commits into
mainfrom
keyvaut-arm
Oct 30, 2026
Merged

Heath Stewart (heaths) merged 9 commits into
mainfrom
keyvaut-arm

Conversation

@heaths

Copy link
Copy Markdown
Member

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 💬

@azure-pipelines

Copy link
Copy Markdown
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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 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

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
@heaths
Heath Stewart (heaths) merged commit b04b879 into main Oct 30, 2026
17 checks passed
@heaths
Heath Stewart (heaths) deleted the keyvaut-arm branch October 30, 2026 21:47
@github-project-automation github-project-automation Bot moved this from Untriaged to Done in Azure SDK for Key Vault Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Azure.Core The azure_core crate KeyVault Key Vault

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants