[AutoPR azure-security-keyvault-certificates]-generated-from-SDK Generation - Java-5978347#48329
Conversation
…s/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: beta, and CommitSHA: 'bc27f533f8a8d0af0e9c71b07e5b1769f9db3f61' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5978347 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
|
Hi @azure-java-sdk / @azure-sdk-write-keyvault This PR was auto-generated from spec PR Azure/azure-rest-api-specs#41061 which added The code generation succeeded, but tests are failing because the test recordings don't include API version 7.6. The errors show: |
There was a problem hiding this comment.
Pull request overview
Updates the azure-security-keyvault-certificates library based on TypeSpec generation for Key Vault Certificates API version 2025-07-01 (beta), aligning generated models, client implementation, and generation metadata with the referenced azure-rest-api-specs commit.
Changes:
- Updated TypeSpec spec reference metadata (
tsp-location.yaml) to point at the new spec commit and adjust additional directories. - Added new Subject Alternative Names fields (
uris,ipAddresses) toSubjectAlternativeNamesmodel with JSON (de)serialization support. - Updated the generated certificate purge operation wiring and refreshed the package changelog entry for the generated release.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| sdk/keyvault/azure-security-keyvault-certificates/tsp-location.yaml | Updates spec commit reference and additional directories used during generation. |
| sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/models/SubjectAlternativeNames.java | Adds new SAN properties and updates JSON serialization/deserialization. |
| sdk/keyvault/azure-security-keyvault-certificates/src/main/java/com/azure/security/keyvault/certificates/implementation/CertificateClientImpl.java | Adjusts purge deleted certificate method signature/call flow and expands schema docs. |
| sdk/keyvault/azure-security-keyvault-certificates/CHANGELOG.md | Rewrites the 4.9.0-beta.1 entry to include generated API changes and method signature changes. |
| directory: specification/keyvault/Security.KeyVault.Certificates | ||
| commit: 396ab529763b7195ab089f58e2eefb011e1b290d | ||
| commit: bc27f533f8a8d0af0e9c71b07e5b1769f9db3f61 | ||
| repo: Azure/azure-rest-api-specs | ||
| cleanup: true | ||
| additionalDirectories: | ||
| - specification/keyvault/Security.KeyVault.Common/ | ||
| additionalDirectories: | ||
| - specification/keyvault/Security.KeyVault.Common |
There was a problem hiding this comment.
tsp-location.yaml no longer includes cleanup: true, and the additionalDirectories entry dropped the trailing / that the other Key Vault TypeSpec locations use. This can prevent regeneration from cleaning up stale generated files and makes this package inconsistent with the other keyvault modules. Consider restoring cleanup: true and using the same additionalDirectories formatting/path style as the other Key Vault libraries (e.g., ...Common/).
| @@ -703,7 +703,7 @@ Mono<Response<Void>> purgeDeletedCertificate(@HostParam("vaultBaseUrl") String v | |||
| @UnexpectedResponseExceptionType(HttpResponseException.class) | |||
| Response<Void> purgeDeletedCertificateSync(@HostParam("vaultBaseUrl") String vaultBaseUrl, | |||
| @QueryParam("api-version") String apiVersion, @PathParam("certificate-name") String certificateName, | |||
| @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); | |||
| RequestOptions requestOptions, Context context); | |||
There was a problem hiding this comment.
The generated service method for purgeDeletedCertificate no longer includes an Accept header parameter. In the other Key Vault data-plane libraries, the purge operations still explicitly send Accept: application/json (e.g., SecretClientImpl/KeyClientImpl). Consider keeping the Accept header here as well to maintain consistent content negotiation (especially for error responses) and avoid this one operation behaving differently than the rest of the client.
| @@ -5423,9 +5578,8 @@ public Mono<Response<Void>> purgeDeletedCertificateWithResponseAsync(String cert | |||
| */ | |||
| @ServiceMethod(returns = ReturnType.SINGLE) | |||
| public Response<Void> purgeDeletedCertificateWithResponse(String certificateName, RequestOptions requestOptions) { | |||
| final String accept = "application/json"; | |||
| return service.purgeDeletedCertificateSync(this.getVaultBaseUrl(), this.getServiceVersion().getVersion(), | |||
| certificateName, accept, requestOptions, Context.NONE); | |||
| certificateName, requestOptions, Context.NONE); | |||
There was a problem hiding this comment.
purgeDeletedCertificateWithResponseAsync/Sync no longer sets an explicit Accept header, unlike the equivalent purge APIs in the Key Vault Keys/Secrets clients. If the service relies on Accept: application/json for consistent error payloads, this can change runtime behavior for this single operation. Consider reinstating the accept constant and passing it through to the service call for parity with the other operations.
| ## 4.9.0-beta.1 (2026-03-08) | ||
|
|
||
| ### Breaking Changes | ||
|
|
||
| #### `implementation.CertificateClientImpl$CertificateClientService` was modified | ||
|
|
||
| * `purgeDeletedCertificateSync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was removed | ||
| * `purgeDeletedCertificate(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was removed | ||
|
|
||
| ### Features Added | ||
|
|
There was a problem hiding this comment.
This changelog entry was converted from an Unreleased section to a dated release (4.9.0-beta.1 (2026-03-08)) and removed the standard empty headings pattern used by the other Key Vault packages. Unless this version has actually been published, it should remain (Unreleased) and keep the usual section structure for pending changes.
| ### Breaking Changes | ||
|
|
||
| #### `implementation.CertificateClientImpl$CertificateClientService` was modified | ||
|
|
||
| * `purgeDeletedCertificateSync(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was removed | ||
| * `purgeDeletedCertificate(java.lang.String,java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was removed | ||
|
|
||
| ### Features Added | ||
|
|
||
| ### Breaking Changes | ||
| #### `models.SubjectAlternativeNames` was modified | ||
|
|
||
| ### Bugs Fixed | ||
| * `setIpAddresses(java.util.List)` was added | ||
| * `getIpAddresses()` was added | ||
| * `getUniformResourceIdentifiers()` was added | ||
| * `setUniformResourceIdentifiers(java.util.List)` was added | ||
|
|
||
| - Fixed an issue where certain `HttpResponseException.getResponse()` calls could cause a `NullPointerException`. ([#47801](https://github.com/Azure/azure-sdk-for-java/issues/47801)) | ||
| #### `implementation.CertificateClientImpl$CertificateClientService` was modified | ||
|
|
||
| ### Other Changes | ||
| * `purgeDeletedCertificateSync(java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was added | ||
| * `purgeDeletedCertificate(java.lang.String,java.lang.String,java.lang.String,com.azure.core.http.rest.RequestOptions,com.azure.core.util.Context)` was added |
There was a problem hiding this comment.
The changelog is calling out signature changes on implementation.CertificateClientImpl$CertificateClientService as Breaking Changes/Features Added. Since this is an internal implementation type, these entries generally shouldn’t appear in the public changelog (and they also disappear if the Accept header is restored). Also, the previous Bugs Fixed entry for the HttpResponseException.getResponse() NPE ([#47801]) was removed—please ensure that fix is still captured in the appropriate release notes for this library.
Configurations: 'specification/keyvault/Security.KeyVault.Certificates/tspconfig.yaml', API Version: 2025-07-01, SDK Release Type: beta, and CommitSHA: 'bc27f533f8a8d0af0e9c71b07e5b1769f9db3f61' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=5978347 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.