From eaa2d525da4d9ab252fcdc21e2f3034c9c200aef Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:12:22 -0700 Subject: [PATCH 01/30] Updated Autorest configuration file for Key Vault Administration to include the new "settings" endpoints. --- .../swagger/autorest.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index 33e1e04ed031..33a2ae558b3d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -16,7 +16,7 @@ To see additional help and options, run: > `autorest --help` ### Generation -There are two swagger specifications for KeyVault Administration: rbac and backuprestore. They use the following tags: `--tag=rbac` & `--tag=backuprestore`. +There are three swagger specifications for KeyVault Administration: rbac, backuprestore and settings. They use the following tags respectively: `--tag=rbac`, `--tag=backuprestore`, `--tag=settings`. ```ps cd @@ -34,6 +34,11 @@ cd autorest --use=@microsoft.azure/autorest.java@4.0.0 --tag=backuprestore ``` +```ps +cd +autorest --use=@microsoft.azure/autorest.java@4.0.0 --tag=settings +``` + ## Code generation settings ``` yaml java: true @@ -64,3 +69,11 @@ These settings apply only when `--tag=backuprestore` is specified on the command input-file: https://github.com/Azure/azure-rest-api-specs/blob/e2ef44b87405b412403ccb005bfb3975411adf60/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/backuprestore.json title: KeyVaultBackupClient ``` + +### Tag: settings +These settings apply only when `--tag=settings` is specified on the command line. + +``` yaml $(tag) == 'settings' +input-file: https://github.com/Azure/azure-rest-api-specs/tree/fead0dec636e7554fb8401370418085136d4f052/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json +title: KeyVaultSettingsClient +``` From 0172a7332a3545461920526d65fd131beb99bf6f Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:19:59 -0700 Subject: [PATCH 02/30] Generated code for handling new Settings APIs. --- .../KeyVaultSettingsClientImpl.java | 386 ++++++++++++++++++ .../KeyVaultSettingsClientImplBuilder.java | 255 ++++++++++++ .../implementation/models/Error.java | 3 + .../implementation/models/KeyVaultError.java | 3 + .../models/KeyVaultErrorException.java | 1 + .../implementation/models/Setting.java | 93 +++++ .../models/SettingTypeEnum.java | 35 ++ .../models/SettingsListResult.java | 31 ++ .../models/UpdateSettingsRequest.java | 41 ++ .../implementation/models/package-info.java | 5 +- .../implementation/package-info.java | 5 +- 11 files changed, 854 insertions(+), 4 deletions(-) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImplBuilder.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Setting.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingTypeEnum.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java new file mode 100644 index 000000000000..36c1df9c4f15 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -0,0 +1,386 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation; + +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.ExpectedResponses; +import com.azure.core.annotation.Get; +import com.azure.core.annotation.HeaderParam; +import com.azure.core.annotation.Host; +import com.azure.core.annotation.HostParam; +import com.azure.core.annotation.Patch; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.QueryParam; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceInterface; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.annotation.UnexpectedResponseExceptionType; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.RestProxy; +import com.azure.core.util.Context; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; +import com.azure.security.keyvault.administration.implementation.models.Setting; +import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; +import com.azure.security.keyvault.administration.implementation.models.UpdateSettingsRequest; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the KeyVaultSettingsClient type. */ +public final class KeyVaultSettingsClientImpl { + /** The proxy service used to perform REST calls. */ + private final KeyVaultSettingsClientService service; + + /** Api Version. */ + private final String apiVersion; + + /** + * Gets Api Version. + * + * @return the apiVersion value. + */ + public String getApiVersion() { + return this.apiVersion; + } + + /** The HTTP pipeline to send requests through. */ + private final HttpPipeline httpPipeline; + + /** + * Gets The HTTP pipeline to send requests through. + * + * @return the httpPipeline value. + */ + public HttpPipeline getHttpPipeline() { + return this.httpPipeline; + } + + /** The serializer to serialize an object into a string. */ + private final SerializerAdapter serializerAdapter; + + /** + * Gets The serializer to serialize an object into a string. + * + * @return the serializerAdapter value. + */ + public SerializerAdapter getSerializerAdapter() { + return this.serializerAdapter; + } + + /** + * Initializes an instance of KeyVaultSettingsClient client. + * + * @param apiVersion Api Version. + */ + KeyVaultSettingsClientImpl(String apiVersion) { + this( + new HttpPipelineBuilder() + .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()) + .build(), + JacksonAdapter.createDefaultSerializerAdapter(), + apiVersion); + } + + /** + * Initializes an instance of KeyVaultSettingsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param apiVersion Api Version. + */ + KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) { + this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), apiVersion); + } + + /** + * Initializes an instance of KeyVaultSettingsClient client. + * + * @param httpPipeline The HTTP pipeline to send requests through. + * @param serializerAdapter The serializer to serialize an object into a string. + * @param apiVersion Api Version. + */ + KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String apiVersion) { + this.httpPipeline = httpPipeline; + this.serializerAdapter = serializerAdapter; + this.apiVersion = apiVersion; + this.service = + RestProxy.create(KeyVaultSettingsClientService.class, this.httpPipeline, this.getSerializerAdapter()); + } + + /** + * The interface defining all the services for KeyVaultSettingsClient to be used by the proxy service to perform + * REST calls. + */ + @Host("{vaultBaseUrl}") + @ServiceInterface(name = "KeyVaultSettingsClie") + public interface KeyVaultSettingsClientService { + @Patch("/settings/{setting-name}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Mono> updateSettings( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @PathParam("setting-name") String settingName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") UpdateSettingsRequest parameters, + @HeaderParam("Accept") String accept, + Context context); + + @Get("/settings/{setting-name}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Mono> getSettingValue( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @PathParam("setting-name") String settingName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + + @Get("/settings") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Mono> getSettings( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateSettingsWithResponseAsync( + String vaultBaseUrl, String settingName, String value) { + final String accept = "application/json"; + UpdateSettingsRequest parameters = new UpdateSettingsRequest(); + parameters.setValue(value); + return FluxUtil.withContext( + context -> + service.updateSettings( + vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context)); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateSettingsWithResponseAsync( + String vaultBaseUrl, String settingName, String value, Context context) { + final String accept = "application/json"; + UpdateSettingsRequest parameters = new UpdateSettingsRequest(); + parameters.setValue(value); + return service.updateSettings(vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateSettingsAsync(String vaultBaseUrl, String settingName, String value) { + return updateSettingsWithResponseAsync(vaultBaseUrl, settingName, value) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateSettingsAsync(String vaultBaseUrl, String settingName, String value, Context context) { + return updateSettingsWithResponseAsync(vaultBaseUrl, settingName, value, context) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingValueWithResponseAsync(String vaultBaseUrl, String settingName) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getSettingValue(vaultBaseUrl, settingName, this.getApiVersion(), accept, context)); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingValueWithResponseAsync( + String vaultBaseUrl, String settingName, Context context) { + final String accept = "application/json"; + return service.getSettingValue(vaultBaseUrl, settingName, this.getApiVersion(), accept, context); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSettingValueAsync(String vaultBaseUrl, String settingName) { + return getSettingValueWithResponseAsync(vaultBaseUrl, settingName) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSettingValueAsync(String vaultBaseUrl, String settingName, Context context) { + return getSettingValueWithResponseAsync(vaultBaseUrl, settingName, context) + .flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingsWithResponseAsync(String vaultBaseUrl) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getSettings(vaultBaseUrl, this.getApiVersion(), accept, context)); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingsWithResponseAsync(String vaultBaseUrl, Context context) { + final String accept = "application/json"; + return service.getSettings(vaultBaseUrl, this.getApiVersion(), accept, context); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSettingsAsync(String vaultBaseUrl) { + return getSettingsWithResponseAsync(vaultBaseUrl).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSettingsAsync(String vaultBaseUrl, Context context) { + return getSettingsWithResponseAsync(vaultBaseUrl, context).flatMap(res -> Mono.justOrEmpty(res.getValue())); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImplBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImplBuilder.java new file mode 100644 index 000000000000..306098496b25 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImplBuilder.java @@ -0,0 +1,255 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** A builder for creating a new instance of the KeyVaultSettingsClient type. */ +@ServiceClientBuilder(serviceClients = {KeyVaultSettingsClientImpl.class}) +public final class KeyVaultSettingsClientImplBuilder + implements HttpTrait, ConfigurationTrait { + @Generated private static final String SDK_NAME = "name"; + + @Generated private static final String SDK_VERSION = "version"; + + @Generated private final Map properties = new HashMap<>(); + + @Generated private final List pipelinePolicies; + + /** Create an instance of the KeyVaultSettingsClientImplBuilder. */ + @Generated + public KeyVaultSettingsClientImplBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated private HttpPipeline pipeline; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder pipeline(HttpPipeline pipeline) { + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated private HttpClient httpClient; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated private HttpLogOptions httpLogOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated private ClientOptions clientOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated private RetryOptions retryOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder addPolicy(HttpPipelinePolicy customPolicy) { + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated private Configuration configuration; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientImplBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * Api Version + */ + @Generated private String apiVersion; + + /** + * Sets Api Version. + * + * @param apiVersion the apiVersion value. + * @return the KeyVaultSettingsClientImplBuilder. + */ + @Generated + public KeyVaultSettingsClientImplBuilder apiVersion(String apiVersion) { + this.apiVersion = apiVersion; + return this; + } + + /* + * The serializer to serialize an object into a string + */ + @Generated private SerializerAdapter serializerAdapter; + + /** + * Sets The serializer to serialize an object into a string. + * + * @param serializerAdapter the serializerAdapter value. + * @return the KeyVaultSettingsClientImplBuilder. + */ + @Generated + public KeyVaultSettingsClientImplBuilder serializerAdapter(SerializerAdapter serializerAdapter) { + this.serializerAdapter = serializerAdapter; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the KeyVaultSettingsClientImplBuilder. + */ + @Generated + public KeyVaultSettingsClientImplBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of KeyVaultSettingsClientImpl with the provided parameters. + * + * @return an instance of KeyVaultSettingsClientImpl. + */ + @Generated + public KeyVaultSettingsClientImpl buildClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + String localApiVersion = (apiVersion != null) ? apiVersion : "7.4-preview.1"; + SerializerAdapter localSerializerAdapter = + (serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter(); + KeyVaultSettingsClientImpl client = + new KeyVaultSettingsClientImpl(localPipeline, localSerializerAdapter, localApiVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration = + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + if (httpLogOptions == null) { + httpLogOptions = new HttpLogOptions(); + } + if (clientOptions == null) { + clientOptions = new ClientOptions(); + } + List policies = new ArrayList<>(); + String clientName = properties.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = properties.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(clientOptions, httpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + policies.add(new CookiePolicy()); + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(clientOptions) + .build(); + return httpPipeline; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Error.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Error.java index ca8046fbc6eb..3b16bfabbccb 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Error.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Error.java @@ -28,6 +28,9 @@ public final class Error { @JsonProperty(value = "innererror", access = JsonProperty.Access.WRITE_ONLY) private Error innerError; + /** Creates an instance of Error class. */ + public Error() {} + /** * Get the code property: The error code. * diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultError.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultError.java index 2d08c6827982..888a3d9342ff 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultError.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultError.java @@ -16,6 +16,9 @@ public final class KeyVaultError { @JsonProperty(value = "error", access = JsonProperty.Access.WRITE_ONLY) private Error error; + /** Creates an instance of KeyVaultError class. */ + public KeyVaultError() {} + /** * Get the error property: The key vault server error. * diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultErrorException.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultErrorException.java index 77b9441be30e..898aa0af3233 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultErrorException.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/KeyVaultErrorException.java @@ -30,6 +30,7 @@ public KeyVaultErrorException(String message, HttpResponse response, KeyVaultErr super(message, response, value); } + /** {@inheritDoc} */ @Override public KeyVaultError getValue() { return (KeyVaultError) super.getValue(); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Setting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Setting.java new file mode 100644 index 000000000000..a4180ca4240b --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/Setting.java @@ -0,0 +1,93 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The Setting model. */ +@Fluent +public final class Setting { + /* + * The account setting to be updated + */ + @JsonProperty(value = "name", required = true) + private String name; + + /* + * The value of the pool setting. + */ + @JsonProperty(value = "value", required = true) + private String value; + + /* + * The type specifier of the value. + */ + @JsonProperty(value = "type") + private SettingTypeEnum type; + + /** Creates an instance of Setting class. */ + public Setting() {} + + /** + * Get the name property: The account setting to be updated. + * + * @return the name value. + */ + public String getName() { + return this.name; + } + + /** + * Set the name property: The account setting to be updated. + * + * @param name the name value to set. + * @return the Setting object itself. + */ + public Setting setName(String name) { + this.name = name; + return this; + } + + /** + * Get the value property: The value of the pool setting. + * + * @return the value value. + */ + public String getValue() { + return this.value; + } + + /** + * Set the value property: The value of the pool setting. + * + * @param value the value value to set. + * @return the Setting object itself. + */ + public Setting setValue(String value) { + this.value = value; + return this; + } + + /** + * Get the type property: The type specifier of the value. + * + * @return the type value. + */ + public SettingTypeEnum getType() { + return this.type; + } + + /** + * Set the type property: The type specifier of the value. + * + * @param type the type value to set. + * @return the Setting object itself. + */ + public Setting setType(SettingTypeEnum type) { + this.type = type; + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingTypeEnum.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingTypeEnum.java new file mode 100644 index 000000000000..6785dcbb3d4d --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingTypeEnum.java @@ -0,0 +1,35 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import java.util.Collection; + +/** The type specifier of the value. */ +public final class SettingTypeEnum extends ExpandableStringEnum { + /** Static value boolean for SettingTypeEnum. */ + public static final SettingTypeEnum BOOLEAN = fromString("boolean"); + + /** + * Creates or finds a SettingTypeEnum from its string representation. + * + * @param name a name to look for. + * @return the corresponding SettingTypeEnum. + */ + @JsonCreator + public static SettingTypeEnum fromString(String name) { + return fromString(name, SettingTypeEnum.class); + } + + /** + * Gets known SettingTypeEnum values. + * + * @return known SettingTypeEnum values. + */ + public static Collection values() { + return values(SettingTypeEnum.class); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java new file mode 100644 index 000000000000..57296fc8cec1 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation.models; + +import com.azure.core.annotation.Immutable; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.util.List; + +/** The settings list result. */ +@Immutable +public final class SettingsListResult { + /* + * A response message containing a list of account settings with their associated value. + */ + @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY) + private List value; + + /** Creates an instance of SettingsListResult class. */ + public SettingsListResult() {} + + /** + * Get the value property: A response message containing a list of account settings with their associated value. + * + * @return the value value. + */ + public List getValue() { + return this.value; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java new file mode 100644 index 000000000000..8b57335f53e4 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java @@ -0,0 +1,41 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration.implementation.models; + +import com.azure.core.annotation.Fluent; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** The update settings request object. */ +@Fluent +public final class UpdateSettingsRequest { + /* + * The value of the pool setting. + */ + @JsonProperty(value = "value", required = true) + private String value; + + /** Creates an instance of UpdateSettingsRequest class. */ + public UpdateSettingsRequest() {} + + /** + * Get the value property: The value of the pool setting. + * + * @return the value value. + */ + public String getValue() { + return this.value; + } + + /** + * Set the value property: The value of the pool setting. + * + * @param value the value value to set. + * @return the UpdateSettingsRequest object itself. + */ + public UpdateSettingsRequest setValue(String value) { + this.value = value; + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/package-info.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/package-info.java index 4300970afe6e..f1a4a0282364 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/package-info.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/package-info.java @@ -3,7 +3,8 @@ // Code generated by Microsoft (R) AutoRest Code Generator. /** - * Package containing the data models for KeyVaultAccessControlClient and KeyVaultBackupClient. The key vault client - * performs cryptographic key operations and vault operations against the Key Vault service. + * Package containing the implementations for KeyVaultAccessControlClient, KeyVaultBackupClient and + * KeyVaultSettingsClient. The key vault client performs cryptographic key operations and vault operations against + * the Key Vault service. */ package com.azure.security.keyvault.administration.implementation.models; diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/package-info.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/package-info.java index 1b4e3c41171c..5960694fa9b5 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/package-info.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/package-info.java @@ -3,7 +3,8 @@ // Code generated by Microsoft (R) AutoRest Code Generator. /** - * Package containing the implementations for KeyVaultAccessControlClient. The key vault client performs cryptographic - * key operations and vault operations against the Key Vault service. + * Package containing the implementations for KeyVaultAccessControlClient, KeyVaultBackupClient and + * KeyVaultSettingsClient. The key vault client performs cryptographic key operations and vault operations against + * the Key Vault service. */ package com.azure.security.keyvault.administration.implementation; From aa7b954bc184131eff835f12fd2d6d06e7258417 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:23:15 -0700 Subject: [PATCH 03/30] Updated Autorest configuration file to rename a couple operations. --- .../swagger/autorest.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index 33a2ae558b3d..17847c160f1c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -52,6 +52,13 @@ service-interface-as-public: true sync-methods: none add-context-parameter: true context-client-method-parameter: true +directive: +- rename-operation: + from: UpdateSettings + to: CreateOrUpdateSetting +- rename-operation: + from: GetSettingValue + to: GetSetting ``` ### Tag: rbac From 9263c26c25daf507d8aaa64211ad30e7e63448d6 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:23:42 -0700 Subject: [PATCH 04/30] Re-generated code with new operation names. --- .../KeyVaultSettingsClientImpl.java | 39 ++++++++++--------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java index 36c1df9c4f15..03a1b4ae626a 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -124,7 +124,7 @@ public interface KeyVaultSettingsClientService { @Patch("/settings/{setting-name}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(KeyVaultErrorException.class) - Mono> updateSettings( + Mono> createOrUpdateSetting( @HostParam("vaultBaseUrl") String vaultBaseUrl, @PathParam("setting-name") String settingName, @QueryParam("api-version") String apiVersion, @@ -135,7 +135,7 @@ Mono> updateSettings( @Get("/settings/{setting-name}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(KeyVaultErrorException.class) - Mono> getSettingValue( + Mono> getSetting( @HostParam("vaultBaseUrl") String vaultBaseUrl, @PathParam("setting-name") String settingName, @QueryParam("api-version") String apiVersion, @@ -166,14 +166,14 @@ Mono> getSettings( * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSettingsWithResponseAsync( + public Mono> createOrUpdateSettingWithResponseAsync( String vaultBaseUrl, String settingName, String value) { final String accept = "application/json"; UpdateSettingsRequest parameters = new UpdateSettingsRequest(); parameters.setValue(value); return FluxUtil.withContext( context -> - service.updateSettings( + service.createOrUpdateSetting( vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context)); } @@ -192,12 +192,13 @@ public Mono> updateSettingsWithResponseAsync( * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSettingsWithResponseAsync( + public Mono> createOrUpdateSettingWithResponseAsync( String vaultBaseUrl, String settingName, String value, Context context) { final String accept = "application/json"; UpdateSettingsRequest parameters = new UpdateSettingsRequest(); parameters.setValue(value); - return service.updateSettings(vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); + return service.createOrUpdateSetting( + vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); } /** @@ -214,8 +215,8 @@ public Mono> updateSettingsWithResponseAsync( * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSettingsAsync(String vaultBaseUrl, String settingName, String value) { - return updateSettingsWithResponseAsync(vaultBaseUrl, settingName, value) + public Mono createOrUpdateSettingAsync(String vaultBaseUrl, String settingName, String value) { + return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value) .flatMap(res -> Mono.justOrEmpty(res.getValue())); } @@ -234,8 +235,9 @@ public Mono updateSettingsAsync(String vaultBaseUrl, String settingName * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSettingsAsync(String vaultBaseUrl, String settingName, String value, Context context) { - return updateSettingsWithResponseAsync(vaultBaseUrl, settingName, value, context) + public Mono createOrUpdateSettingAsync( + String vaultBaseUrl, String settingName, String value, Context context) { + return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context) .flatMap(res -> Mono.justOrEmpty(res.getValue())); } @@ -252,10 +254,10 @@ public Mono updateSettingsAsync(String vaultBaseUrl, String settingName * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSettingValueWithResponseAsync(String vaultBaseUrl, String settingName) { + public Mono> getSettingWithResponseAsync(String vaultBaseUrl, String settingName) { final String accept = "application/json"; return FluxUtil.withContext( - context -> service.getSettingValue(vaultBaseUrl, settingName, this.getApiVersion(), accept, context)); + context -> service.getSetting(vaultBaseUrl, settingName, this.getApiVersion(), accept, context)); } /** @@ -272,10 +274,10 @@ public Mono> getSettingValueWithResponseAsync(String vaultBase * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSettingValueWithResponseAsync( + public Mono> getSettingWithResponseAsync( String vaultBaseUrl, String settingName, Context context) { final String accept = "application/json"; - return service.getSettingValue(vaultBaseUrl, settingName, this.getApiVersion(), accept, context); + return service.getSetting(vaultBaseUrl, settingName, this.getApiVersion(), accept, context); } /** @@ -291,9 +293,8 @@ public Mono> getSettingValueWithResponseAsync( * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getSettingValueAsync(String vaultBaseUrl, String settingName) { - return getSettingValueWithResponseAsync(vaultBaseUrl, settingName) - .flatMap(res -> Mono.justOrEmpty(res.getValue())); + public Mono getSettingAsync(String vaultBaseUrl, String settingName) { + return getSettingWithResponseAsync(vaultBaseUrl, settingName).flatMap(res -> Mono.justOrEmpty(res.getValue())); } /** @@ -310,8 +311,8 @@ public Mono getSettingValueAsync(String vaultBaseUrl, String settingNam * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getSettingValueAsync(String vaultBaseUrl, String settingName, Context context) { - return getSettingValueWithResponseAsync(vaultBaseUrl, settingName, context) + public Mono getSettingAsync(String vaultBaseUrl, String settingName, Context context) { + return getSettingWithResponseAsync(vaultBaseUrl, settingName, context) .flatMap(res -> Mono.justOrEmpty(res.getValue())); } From 0c68c8d06a08334fddeb4ce5f141a4504c5e1b7f Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:33:58 -0700 Subject: [PATCH 05/30] Moved "settings" specific configuration to the right tag in Autorest file. --- .../swagger/autorest.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index 17847c160f1c..a5dc1bb2746d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -52,13 +52,6 @@ service-interface-as-public: true sync-methods: none add-context-parameter: true context-client-method-parameter: true -directive: -- rename-operation: - from: UpdateSettings - to: CreateOrUpdateSetting -- rename-operation: - from: GetSettingValue - to: GetSetting ``` ### Tag: rbac @@ -83,4 +76,11 @@ These settings apply only when `--tag=settings` is specified on the command line ``` yaml $(tag) == 'settings' input-file: https://github.com/Azure/azure-rest-api-specs/tree/fead0dec636e7554fb8401370418085136d4f052/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json title: KeyVaultSettingsClient +directive: +- rename-operation: + from: UpdateSettings + to: CreateOrUpdateSetting +- rename-operation: + from: GetSettingValue + to: GetSetting ``` From 72ef240615170252f328db130b1c4d2b87dd1420 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 19 Oct 2022 21:34:11 -0700 Subject: [PATCH 06/30] Added new sync and async clients. --- .../KeyVaultSettingsAsyncClient.java | 141 ++++++++++ .../KeyVaultSettingsClientBuilder.java | 266 ++++++++++++++++++ .../KeyVaultSettingsClientImpl.java | 7 +- 3 files changed, 411 insertions(+), 3 deletions(-) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java new file mode 100644 index 000000000000..02539ce80509 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.Response; +import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; +import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; +import com.azure.security.keyvault.administration.implementation.models.Setting; +import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; +import reactor.core.publisher.Mono; + +/** Initializes a new instance of the asynchronous KeyVaultSettingsClient type. */ +@ServiceClient(builder = KeyVaultSettingsClientBuilder.class, isAsync = true) +public final class KeyVaultSettingsAsyncClient { + @Generated private final KeyVaultSettingsClientImpl serviceClient; + + /** + * Initializes an instance of KeyVaultSettingsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + KeyVaultSettingsAsyncClient(KeyVaultSettingsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createOrUpdateSettingWithResponse( + String vaultBaseUrl, String settingName, String value) { + return this.serviceClient.createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { + return this.serviceClient.createOrUpdateSettingAsync(vaultBaseUrl, settingName, value); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingWithResponse(String vaultBaseUrl, String settingName) { + return this.serviceClient.getSettingWithResponseAsync(vaultBaseUrl, settingName); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSetting(String vaultBaseUrl, String settingName) { + return this.serviceClient.getSettingAsync(vaultBaseUrl, settingName); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSettingsWithResponse(String vaultBaseUrl) { + return this.serviceClient.getSettingsWithResponseAsync(vaultBaseUrl); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSettings(String vaultBaseUrl) { + return this.serviceClient.getSettingsAsync(vaultBaseUrl); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java new file mode 100644 index 000000000000..deebb6e6c6e1 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java @@ -0,0 +1,266 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ServiceClientBuilder; +import com.azure.core.client.traits.ConfigurationTrait; +import com.azure.core.client.traits.HttpTrait; +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpHeaders; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.HttpPipelinePosition; +import com.azure.core.http.policy.AddDatePolicy; +import com.azure.core.http.policy.AddHeadersFromContextPolicy; +import com.azure.core.http.policy.AddHeadersPolicy; +import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.HttpLogOptions; +import com.azure.core.http.policy.HttpLoggingPolicy; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.http.policy.HttpPolicyProviders; +import com.azure.core.http.policy.RequestIdPolicy; +import com.azure.core.http.policy.RetryOptions; +import com.azure.core.http.policy.RetryPolicy; +import com.azure.core.http.policy.UserAgentPolicy; +import com.azure.core.util.ClientOptions; +import com.azure.core.util.Configuration; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.serializer.JacksonAdapter; +import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** A builder for creating a new instance of the KeyVaultSettingsClient type. */ +@ServiceClientBuilder(serviceClients = {KeyVaultSettingsAsyncClient.class}) +public final class KeyVaultSettingsClientBuilder + implements HttpTrait, ConfigurationTrait { + @Generated private static final String SDK_NAME = "name"; + + @Generated private static final String SDK_VERSION = "version"; + + @Generated private final Map properties = new HashMap<>(); + + @Generated private final List pipelinePolicies; + + /** Create an instance of the KeyVaultSettingsClientBuilder. */ + @Generated + public KeyVaultSettingsClientBuilder() { + this.pipelinePolicies = new ArrayList<>(); + } + + /* + * The HTTP pipeline to send requests through. + */ + @Generated private HttpPipeline pipeline; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder pipeline(HttpPipeline pipeline) { + this.pipeline = pipeline; + return this; + } + + /* + * The HTTP client used to send the request. + */ + @Generated private HttpClient httpClient; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder httpClient(HttpClient httpClient) { + this.httpClient = httpClient; + return this; + } + + /* + * The logging configuration for HTTP requests and responses. + */ + @Generated private HttpLogOptions httpLogOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { + this.httpLogOptions = httpLogOptions; + return this; + } + + /* + * The client options such as application ID and custom headers to set on a request. + */ + @Generated private ClientOptions clientOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder clientOptions(ClientOptions clientOptions) { + this.clientOptions = clientOptions; + return this; + } + + /* + * The retry options to configure retry policy for failed requests. + */ + @Generated private RetryOptions retryOptions; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder retryOptions(RetryOptions retryOptions) { + this.retryOptions = retryOptions; + return this; + } + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { + pipelinePolicies.add(customPolicy); + return this; + } + + /* + * The configuration store that is used during construction of the service client. + */ + @Generated private Configuration configuration; + + /** {@inheritDoc}. */ + @Generated + @Override + public KeyVaultSettingsClientBuilder configuration(Configuration configuration) { + this.configuration = configuration; + return this; + } + + /* + * Api Version + */ + @Generated private String apiVersion; + + /** + * Sets Api Version. + * + * @param apiVersion the apiVersion value. + * @return the KeyVaultSettingsClientBuilder. + */ + @Generated + public KeyVaultSettingsClientBuilder apiVersion(String apiVersion) { + this.apiVersion = apiVersion; + return this; + } + + /* + * The serializer to serialize an object into a string + */ + @Generated private SerializerAdapter serializerAdapter; + + /** + * Sets The serializer to serialize an object into a string. + * + * @param serializerAdapter the serializerAdapter value. + * @return the KeyVaultSettingsClientBuilder. + */ + @Generated + public KeyVaultSettingsClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { + this.serializerAdapter = serializerAdapter; + return this; + } + + /* + * The retry policy that will attempt to retry failed requests, if applicable. + */ + @Generated private RetryPolicy retryPolicy; + + /** + * Sets The retry policy that will attempt to retry failed requests, if applicable. + * + * @param retryPolicy the retryPolicy value. + * @return the KeyVaultSettingsClientBuilder. + */ + @Generated + public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * Builds an instance of KeyVaultSettingsClientImpl with the provided parameters. + * + * @return an instance of KeyVaultSettingsClientImpl. + */ + @Generated + private KeyVaultSettingsClientImpl buildInnerClient() { + HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); + String localApiVersion = (apiVersion != null) ? apiVersion : "7.4-preview.1"; + SerializerAdapter localSerializerAdapter = + (serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter(); + KeyVaultSettingsClientImpl client = + new KeyVaultSettingsClientImpl(localPipeline, localSerializerAdapter, localApiVersion); + return client; + } + + @Generated + private HttpPipeline createHttpPipeline() { + Configuration buildConfiguration = + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + if (httpLogOptions == null) { + httpLogOptions = new HttpLogOptions(); + } + if (clientOptions == null) { + clientOptions = new ClientOptions(); + } + List policies = new ArrayList<>(); + String clientName = properties.getOrDefault(SDK_NAME, "UnknownName"); + String clientVersion = properties.getOrDefault(SDK_VERSION, "UnknownVersion"); + String applicationId = CoreUtils.getApplicationId(clientOptions, httpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); + policies.add(new RequestIdPolicy()); + policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new AddDatePolicy()); + policies.add(new CookiePolicy()); + policies.addAll( + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = + new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(clientOptions) + .build(); + return httpPipeline; + } + + /** + * Builds an instance of KeyVaultSettingsAsyncClient class. + * + * @return an instance of KeyVaultSettingsAsyncClient. + */ + @Generated + public KeyVaultSettingsAsyncClient buildAsyncClient() { + return new KeyVaultSettingsAsyncClient(buildInnerClient()); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java index 03a1b4ae626a..20c84e82aae7 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -80,7 +80,7 @@ public SerializerAdapter getSerializerAdapter() { * * @param apiVersion Api Version. */ - KeyVaultSettingsClientImpl(String apiVersion) { + public KeyVaultSettingsClientImpl(String apiVersion) { this( new HttpPipelineBuilder() .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()) @@ -95,7 +95,7 @@ public SerializerAdapter getSerializerAdapter() { * @param httpPipeline The HTTP pipeline to send requests through. * @param apiVersion Api Version. */ - KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) { + public KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) { this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), apiVersion); } @@ -106,7 +106,8 @@ public SerializerAdapter getSerializerAdapter() { * @param serializerAdapter The serializer to serialize an object into a string. * @param apiVersion Api Version. */ - KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String apiVersion) { + public KeyVaultSettingsClientImpl( + HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String apiVersion) { this.httpPipeline = httpPipeline; this.serializerAdapter = serializerAdapter; this.apiVersion = apiVersion; From b98d6bcbba89d37e4349d436ea26f30853302e0d Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Thu, 20 Oct 2022 11:18:58 -0500 Subject: [PATCH 07/30] Updated Autorest config file to generate sync methods in the impl client. --- .../swagger/autorest.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index a5dc1bb2746d..c3dd25e404e7 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -49,7 +49,6 @@ models-subpackage: implementation.models custom-types-subpackage: models generate-client-as-impl: true service-interface-as-public: true -sync-methods: none add-context-parameter: true context-client-method-parameter: true ``` @@ -60,6 +59,7 @@ These settings apply only when `--tag=rbac` is specified on the command line. ``` yaml $(tag) == 'rbac' input-file: https://github.com/Azure/azure-rest-api-specs/blob/e2ef44b87405b412403ccb005bfb3975411adf60/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/rbac.json title: KeyVaultAccessControlClient +sync-methods: none ``` ### Tag: backuprestore @@ -68,6 +68,7 @@ These settings apply only when `--tag=backuprestore` is specified on the command ``` yaml $(tag) == 'backuprestore' input-file: https://github.com/Azure/azure-rest-api-specs/blob/e2ef44b87405b412403ccb005bfb3975411adf60/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.3/backuprestore.json title: KeyVaultBackupClient +sync-methods: none ``` ### Tag: settings @@ -76,6 +77,7 @@ These settings apply only when `--tag=settings` is specified on the command line ``` yaml $(tag) == 'settings' input-file: https://github.com/Azure/azure-rest-api-specs/tree/fead0dec636e7554fb8401370418085136d4f052/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json title: KeyVaultSettingsClient +sync-methods: all directive: - rename-operation: from: UpdateSettings From 749ca15fafcfaccb9f9e5847c6d0d2931b04fba5 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Thu, 20 Oct 2022 11:21:49 -0500 Subject: [PATCH 08/30] Re-generated code. --- .../KeyVaultSettingsClient.java | 144 ++++++++++++++++++ .../KeyVaultSettingsClientBuilder.java | 12 +- .../KeyVaultSettingsClientImpl.java | 106 +++++++++++++ 3 files changed, 261 insertions(+), 1 deletion(-) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java new file mode 100644 index 000000000000..d982ce3e6048 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -0,0 +1,144 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) AutoRest Code Generator. + +package com.azure.security.keyvault.administration; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.Response; +import com.azure.core.util.Context; +import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; +import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; +import com.azure.security.keyvault.administration.implementation.models.Setting; +import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; + +/** Initializes a new instance of the synchronous KeyVaultSettingsClient type. */ +@ServiceClient(builder = KeyVaultSettingsClientBuilder.class) +public final class KeyVaultSettingsClient { + @Generated private final KeyVaultSettingsClientImpl serviceClient; + + /** + * Initializes an instance of KeyVaultSettingsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + KeyVaultSettingsClient(KeyVaultSettingsClientImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateSettingWithResponse( + String vaultBaseUrl, String settingName, String value, Context context) { + return this.serviceClient.createOrUpdateSettingWithResponse(vaultBaseUrl, settingName, value, context); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { + return this.serviceClient.createOrUpdateSetting(vaultBaseUrl, settingName, value); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingWithResponse(String vaultBaseUrl, String settingName, Context context) { + return this.serviceClient.getSettingWithResponse(vaultBaseUrl, settingName, context); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting getSetting(String vaultBaseUrl, String settingName) { + return this.serviceClient.getSetting(vaultBaseUrl, settingName); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingsWithResponse(String vaultBaseUrl, Context context) { + return this.serviceClient.getSettingsWithResponse(vaultBaseUrl, context); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public SettingsListResult getSettings(String vaultBaseUrl) { + return this.serviceClient.getSettings(vaultBaseUrl); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java index deebb6e6c6e1..8ca3e786f3f2 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java @@ -39,7 +39,7 @@ import java.util.stream.Collectors; /** A builder for creating a new instance of the KeyVaultSettingsClient type. */ -@ServiceClientBuilder(serviceClients = {KeyVaultSettingsAsyncClient.class}) +@ServiceClientBuilder(serviceClients = {KeyVaultSettingsClient.class, KeyVaultSettingsAsyncClient.class}) public final class KeyVaultSettingsClientBuilder implements HttpTrait, ConfigurationTrait { @Generated private static final String SDK_NAME = "name"; @@ -263,4 +263,14 @@ private HttpPipeline createHttpPipeline() { public KeyVaultSettingsAsyncClient buildAsyncClient() { return new KeyVaultSettingsAsyncClient(buildInnerClient()); } + + /** + * Builds an instance of KeyVaultSettingsClient class. + * + * @return an instance of KeyVaultSettingsClient. + */ + @Generated + public KeyVaultSettingsClient buildClient() { + return new KeyVaultSettingsClient(buildInnerClient()); + } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java index 20c84e82aae7..75274a29f330 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -242,6 +242,44 @@ public Mono createOrUpdateSettingAsync( .flatMap(res -> Mono.justOrEmpty(res.getValue())); } + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createOrUpdateSettingWithResponse( + String vaultBaseUrl, String settingName, String value, Context context) { + return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context).block(); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { + return createOrUpdateSettingWithResponse(vaultBaseUrl, settingName, value, Context.NONE).getValue(); + } + /** * Get specified account setting value. * @@ -317,6 +355,41 @@ public Mono getSettingAsync(String vaultBaseUrl, String settingName, Co .flatMap(res -> Mono.justOrEmpty(res.getValue())); } + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingWithResponse(String vaultBaseUrl, String settingName, Context context) { + return getSettingWithResponseAsync(vaultBaseUrl, settingName, context).block(); + } + + /** + * Get specified account setting value. + * + *

Retrieves the value of a specified, value account setting. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting getSetting(String vaultBaseUrl, String settingName) { + return getSettingWithResponse(vaultBaseUrl, settingName, Context.NONE).getValue(); + } + /** * List account settings. * @@ -385,4 +458,37 @@ public Mono getSettingsAsync(String vaultBaseUrl) { public Mono getSettingsAsync(String vaultBaseUrl, Context context) { return getSettingsWithResponseAsync(vaultBaseUrl, context).flatMap(res -> Mono.justOrEmpty(res.getValue())); } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingsWithResponse(String vaultBaseUrl, Context context) { + return getSettingsWithResponseAsync(vaultBaseUrl, context).block(); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public SettingsListResult getSettings(String vaultBaseUrl) { + return getSettingsWithResponse(vaultBaseUrl, Context.NONE).getValue(); + } } From d92a84546117393421a259b92f1bd05a5ce49f4d Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Thu, 20 Oct 2022 11:38:45 -0500 Subject: [PATCH 09/30] Created new public types and updated public clients to use them. --- .../KeyVaultSettingsAsyncClient.java | 163 +++++++++--------- .../KeyVaultSettingsClient.java | 161 ++++++++--------- .../models/KeyVaultSetting.java | 67 +++++++ .../models/KeyVaultSettingType.java | 29 ++++ 4 files changed, 251 insertions(+), 169 deletions(-) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingType.java diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index 02539ce80509..e05041f25673 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -1,141 +1,136 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. package com.azure.security.keyvault.administration; -import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedFlux; import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; -import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import com.azure.security.keyvault.administration.models.KeyVaultSettingType; import reactor.core.publisher.Mono; -/** Initializes a new instance of the asynchronous KeyVaultSettingsClient type. */ -@ServiceClient(builder = KeyVaultSettingsClientBuilder.class, isAsync = true) +/** + * The {@link KeyVaultSettingsAsyncClient} provides asynchronous methods to create, update, get and list + * {@link KeyVaultSetting settings} for the Azure Key Vault. + * + *

Instances of this client are obtained by calling the {@link KeyVaultSettingsClientBuilder#buildAsyncClient()} + * method on a {@link KeyVaultSettingsClientBuilder} object.

+ * + * @see KeyVaultSettingsClientBuilder + */ +@ServiceClient(builder = KeyVaultSettingsClientBuilder.class, isAsync = true, serviceInterfaces = + KeyVaultSettingsClientImpl.KeyVaultSettingsClientService.class) public final class KeyVaultSettingsAsyncClient { - @Generated private final KeyVaultSettingsClientImpl serviceClient; + private final String vaultUrl; + private final KeyVaultSettingsClientImpl implClient; /** - * Initializes an instance of KeyVaultSettingsAsyncClient class. + * Creates a {@link KeyVaultSettingsAsyncClient} that uses a {@link KeyVaultSettingsClientImpl} to service requests. * - * @param serviceClient the service client implementation. + * @param vaultUrl The URL of the key vault this client will act on. + * @param implClient The implementation client used to service requests. */ - @Generated - KeyVaultSettingsAsyncClient(KeyVaultSettingsClientImpl serviceClient) { - this.serviceClient = serviceClient; + KeyVaultSettingsAsyncClient(String vaultUrl, KeyVaultSettingsClientImpl implClient) { + this.vaultUrl = vaultUrl; + this.implClient = implClient; } /** - * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * Creates or updates a given setting with the provided value. * - *

Description of the pool setting to be updated. + * @param name The name of the account setting. Must be a valid settings option. + * @param value The value to set. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @param value The value of the pool setting. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body along with {@link Response} on successful completion of {@link Mono}. - */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOrUpdateSettingWithResponse( - String vaultBaseUrl, String settingName, String value) { - return this.serviceClient.createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value); - } - - /** - * Updates key vault account setting, stores it, then returns the setting name and value to the client. - * - *

Description of the pool setting to be updated. + * @return The response body on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @param value The value of the pool setting. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body on successful completion of {@link Mono}. + * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { - return this.serviceClient.createOrUpdateSettingAsync(vaultBaseUrl, settingName, value); + public Mono createOrUpdateSetting(String name, String value) { + return this.implClient.createOrUpdateSettingAsync(vaultUrl, name, value) + .map(setting -> new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString()))); } /** - * Get specified account setting value. + * Creates or updates a given setting with the provided value. + * + * @param name The name of the setting. Must be a valid settings option. + * @param value The value to set. * - *

Retrieves the value of a specified, value account setting. + * @return The response body along with {@link Response} on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body along with {@link Response} on successful completion of {@link Mono}. + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSettingWithResponse(String vaultBaseUrl, String settingName) { - return this.serviceClient.getSettingWithResponseAsync(vaultBaseUrl, settingName); + public Mono> createOrUpdateSettingWithResponse(String name, String value) { + return this.implClient.createOrUpdateSettingWithResponseAsync(vaultUrl, name, value) + .map(response -> { + Setting setting = response.getValue(); + KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); + + return new SimpleResponse<>(response, keyVaultSetting); + }); } /** - * Get specified account setting value. + * Get the value of a specific setting. + * + * @param name The name of setting to retrieve the value of. Must be a valid settings option. * - *

Retrieves the value of a specified, value account setting. + * @return The response body on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body on successful completion of {@link Mono}. + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getSetting(String vaultBaseUrl, String settingName) { - return this.serviceClient.getSettingAsync(vaultBaseUrl, settingName); + public Mono getSetting(String name) { + return this.implClient.getSettingAsync(vaultUrl, name) + .map(setting -> new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString()))); } /** - * List account settings. + * Get the value of a specific setting. * - *

Retrieves a list of all the available account settings that can be configured. + * @param name The name of setting to retrieve the value of. Must be a valid settings option. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the settings list result along with {@link Response} on successful completion of {@link Mono}. + * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSettingsWithResponse(String vaultBaseUrl) { - return this.serviceClient.getSettingsWithResponseAsync(vaultBaseUrl); + public Mono> getSettingWithResponse(String name) { + return this.implClient.getSettingWithResponseAsync(vaultUrl, name) + .map(response -> { + Setting setting = response.getValue(); + KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); + + return new SimpleResponse<>(response, keyVaultSetting); + }); } /** * List account settings. * - *

Retrieves a list of all the available account settings that can be configured. + * @return The settings list result on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the settings list result on successful completion of {@link Mono}. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getSettings(String vaultBaseUrl) { - return this.serviceClient.getSettingsAsync(vaultBaseUrl); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listSettings() { + return this.implClient.getSettingsAsync(vaultUrl); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index d982ce3e6048..4366acff91f0 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -1,144 +1,135 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. package com.azure.security.keyvault.administration; -import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; +import com.azure.core.http.rest.PagedFlux; import com.azure.core.http.rest.Response; +import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.Context; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import com.azure.security.keyvault.administration.models.KeyVaultSettingType; +import reactor.core.publisher.Mono; -/** Initializes a new instance of the synchronous KeyVaultSettingsClient type. */ +/** + * The {@link KeyVaultSettingsClient} provides asynchronous methods to create, update, get and list + * {@link KeyVaultSetting settings} for the Azure Key Vault. + * + *

Instances of this client are obtained by calling the {@link KeyVaultSettingsClientBuilder#buildClient()} + * method on a {@link KeyVaultSettingsClientBuilder} object.

+ * + * @see KeyVaultSettingsClientBuilder + */ @ServiceClient(builder = KeyVaultSettingsClientBuilder.class) public final class KeyVaultSettingsClient { - @Generated private final KeyVaultSettingsClientImpl serviceClient; + private final String vaultUrl; + private final KeyVaultSettingsClientImpl implClient; /** - * Initializes an instance of KeyVaultSettingsClient class. + * Initializes an instance of {@link KeyVaultSettingsClient} class. * - * @param serviceClient the service client implementation. + * @param vaultUrl The URL of the key vault this client will act on. + * @param implClient The implementation client used to service requests. */ - @Generated - KeyVaultSettingsClient(KeyVaultSettingsClientImpl serviceClient) { - this.serviceClient = serviceClient; + KeyVaultSettingsClient(String vaultUrl, KeyVaultSettingsClientImpl implClient) { + this.vaultUrl = vaultUrl; + this.implClient = implClient; } /** - * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * Creates or updates a given setting with the provided value. * - *

Description of the pool setting to be updated. + * @param name The name of the account setting. Must be a valid settings option. + * @param value The value to set. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @param value The value of the pool setting. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body along with {@link Response}. - */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOrUpdateSettingWithResponse( - String vaultBaseUrl, String settingName, String value, Context context) { - return this.serviceClient.createOrUpdateSettingWithResponse(vaultBaseUrl, settingName, value, context); - } - - /** - * Updates key vault account setting, stores it, then returns the setting name and value to the client. - * - *

Description of the pool setting to be updated. + * @return The response body on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @param value The value of the pool setting. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. + * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Setting createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { - return this.serviceClient.createOrUpdateSetting(vaultBaseUrl, settingName, value); + public KeyVaultSetting createOrUpdateSetting(String name, String value) { + Setting setting = this.implClient.createOrUpdateSetting(vaultUrl, name, value); + + return new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); } /** - * Get specified account setting value. + * Creates or updates a given setting with the provided value. + * + * @param name The name of the setting. Must be a valid settings option. + * @param value The value to set. * - *

Retrieves the value of a specified, value account setting. + * @return The response body along with {@link Response} on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response body along with {@link Response}. + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSettingWithResponse(String vaultBaseUrl, String settingName, Context context) { - return this.serviceClient.getSettingWithResponse(vaultBaseUrl, settingName, context); + public Response createOrUpdateSettingWithResponse(String name, String value, Context context) { + Response response = this.implClient.createOrUpdateSettingWithResponse(vaultUrl, name, value, context); + Setting setting = response.getValue(); + KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); + + return new SimpleResponse<>(response, keyVaultSetting); } /** - * Get specified account setting value. + * Get the value of a specific setting. + * + * @param name The name of setting to retrieve the value of. Must be a valid settings option. * - *

Retrieves the value of a specified, value account setting. + * @return The response body on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param settingName The name of the account setting. Must be a valid settings option. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the response. + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Setting getSetting(String vaultBaseUrl, String settingName) { - return this.serviceClient.getSetting(vaultBaseUrl, settingName); + public KeyVaultSetting getSetting(String name) { + Setting setting = this.implClient.getSetting(vaultUrl, name); + + return new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); } /** - * List account settings. + * Get the value of a specific setting. * - *

Retrieves a list of all the available account settings that can be configured. + * @param name The name of setting to retrieve the value of. Must be a valid settings option. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @param context The context to associate with this operation. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the settings list result along with {@link Response}. + * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSettingsWithResponse(String vaultBaseUrl, Context context) { - return this.serviceClient.getSettingsWithResponse(vaultBaseUrl, context); + public Response getSettingWithResponse(String name, Context context) { + Response response = this.implClient.getSettingWithResponse(vaultUrl, name, context); + Setting setting = response.getValue(); + KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); + + return new SimpleResponse<>(response, keyVaultSetting); } /** * List account settings. * - *

Retrieves a list of all the available account settings that can be configured. + * @return The settings list result on successful completion of {@link Mono}. * - * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws KeyVaultErrorException thrown if the request is rejected by server. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return the settings list result. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public SettingsListResult getSettings(String vaultBaseUrl) { - return this.serviceClient.getSettings(vaultBaseUrl); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux lisSettings() { + return this.implClient.getSettings(vaultUrl); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java new file mode 100644 index 000000000000..5ce4f340f536 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -0,0 +1,67 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.administration.models; + +import com.azure.core.annotation.Immutable; + +/** + * The {@link KeyVaultSetting} model. + */ +@Immutable +public final class KeyVaultSetting { + private String name; + private String value; + private KeyVaultSettingType type; + + public KeyVaultSetting(String name, String value, KeyVaultSettingType type) { + this.name = name; + this.value = value; + this.type = type; + } + + /** + * Gets the name of the {@link KeyVaultSetting}. + * + * @return The name of the {@link KeyVaultSetting}. + */ + public String getName() { + return this.name; + } + + KeyVaultSetting setName(String name) { + this.name = name; + + return this; + } + + /** + * Get the value of the {@link KeyVaultSetting}. + * + * @return The value of the {@link KeyVaultSetting}. + */ + public String getValue() { + return this.value; + } + + KeyVaultSetting setValue(String value) { + this.value = value; + + return this; + } + + /** + * Get the type of the {@link KeyVaultSetting}'s value. + * + * @return The type of the {@link KeyVaultSetting}'s value. + */ + public KeyVaultSettingType getType() { + return this.type; + } + + KeyVaultSetting setType(KeyVaultSettingType type) { + this.type = type; + + return this; + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingType.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingType.java new file mode 100644 index 000000000000..464eb4c4bf48 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingType.java @@ -0,0 +1,29 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.security.keyvault.administration.models; + +import com.azure.core.util.ExpandableStringEnum; +import com.fasterxml.jackson.annotation.JsonCreator; + +/** + * Defines values for {@link KeyVaultSettingType}. + */ +public final class KeyVaultSettingType extends ExpandableStringEnum { + /** + * Static value boolean for {@link KeyVaultSettingType}. + */ + public static final KeyVaultSettingType BOOLEAN = fromString("boolean"); + + /** + * Creates or finds a {@link KeyVaultSettingType} from its string representation. + * + * @param name A name to look for. + * + * @return The corresponding {@link KeyVaultSettingType}. + */ + @JsonCreator + public static KeyVaultSettingType fromString(String name) { + return fromString(name, KeyVaultSettingType.class); + } +} From 886d752302fd3916aef4bafe57274053b7a84b5a Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Thu, 20 Oct 2022 11:51:43 -0500 Subject: [PATCH 10/30] Updated the KeyVaultSettingsClientBuilder to conform to other public client builders. --- .../KeyVaultSettingsClient.java | 1 - .../KeyVaultSettingsClientBuilder.java | 122 +++++++++++++----- 2 files changed, 89 insertions(+), 34 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 4366acff91f0..cf26bfd5acdd 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -13,7 +13,6 @@ import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; -import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; import com.azure.security.keyvault.administration.models.KeyVaultSettingType; import reactor.core.publisher.Mono; diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java index 8ca3e786f3f2..c1751a5f7328 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java @@ -1,13 +1,12 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -// Code generated by Microsoft (R) AutoRest Code Generator. package com.azure.security.keyvault.administration; -import com.azure.core.annotation.Generated; import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.client.traits.ConfigurationTrait; import com.azure.core.client.traits.HttpTrait; +import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpHeaders; import com.azure.core.http.HttpPipeline; @@ -29,123 +28,169 @@ import com.azure.core.util.Configuration; import com.azure.core.util.CoreUtils; import com.azure.core.util.builder.ClientBuilderUtil; +import com.azure.core.util.logging.ClientLogger; import com.azure.core.util.serializer.JacksonAdapter; import com.azure.core.util.serializer.SerializerAdapter; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; + +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** A builder for creating a new instance of the KeyVaultSettingsClient type. */ +/** + * This class provides a fluent builder API to help aid the configuration and instantiation of the + * {@link KeyVaultSettingsAsyncClient} and {@link KeyVaultSettingsClient}, by calling + * {@link KeyVaultSettingsClientBuilder#buildAsyncClient()} and {@link KeyVaultSettingsClientBuilder#buildClient()} + * respectively. It constructs an instance of the desired client. + * + *

The minimal configuration options required by {@link KeyVaultSettingsClientBuilder} to build a client are + * {@link String vaultUrl} and {@link TokenCredential credential}.

+ * + * @see KeyVaultSettingsClient + * @see KeyVaultSettingsAsyncClient + */ @ServiceClientBuilder(serviceClients = {KeyVaultSettingsClient.class, KeyVaultSettingsAsyncClient.class}) public final class KeyVaultSettingsClientBuilder implements HttpTrait, ConfigurationTrait { - @Generated private static final String SDK_NAME = "name"; + private static final String SDK_NAME = "name"; + + private static final String SDK_VERSION = "version"; - @Generated private static final String SDK_VERSION = "version"; + private final Map properties = new HashMap<>(); - @Generated private final Map properties = new HashMap<>(); + private final List pipelinePolicies; - @Generated private final List pipelinePolicies; + private final ClientLogger logger = new ClientLogger(KeyVaultBackupClientBuilder.class); /** Create an instance of the KeyVaultSettingsClientBuilder. */ - @Generated public KeyVaultSettingsClientBuilder() { this.pipelinePolicies = new ArrayList<>(); } + private String vaultUrl; + + /** + * Sets the URL to the Key Vault on which the client operates. Appears as "DNS Name" in the Azure portal. You should + * validate that this URL references a valid Key Vault or Managed HSM resource. + * Refer to the following documentation for details. + * + * @param vaultUrl The vault URL is used as destination on Azure to send requests to. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. + * + * @throws IllegalArgumentException If {@code vaultUrl} is null or it cannot be parsed into a valid URL. + * @throws NullPointerException If {@code credential} is {@code null}. + */ + public KeyVaultSettingsClientBuilder vaultUrl(String vaultUrl) { + if (vaultUrl == null) { + throw logger.logExceptionAsError(new NullPointerException("'vaultUrl' cannot be null.")); + } + + try { + URL url = new URL(vaultUrl); + this.vaultUrl = url.toString(); + } catch (MalformedURLException e) { + throw logger.logExceptionAsError( + new IllegalArgumentException("The Azure Key Vault URL is malformed.", e)); + } + + return this; + } + /* * The HTTP pipeline to send requests through. */ - @Generated private HttpPipeline pipeline; + private HttpPipeline pipeline; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder pipeline(HttpPipeline pipeline) { this.pipeline = pipeline; + return this; } /* * The HTTP client used to send the request. */ - @Generated private HttpClient httpClient; + private HttpClient httpClient; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder httpClient(HttpClient httpClient) { this.httpClient = httpClient; + return this; } /* * The logging configuration for HTTP requests and responses. */ - @Generated private HttpLogOptions httpLogOptions; + private HttpLogOptions httpLogOptions; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { this.httpLogOptions = httpLogOptions; + return this; } /* * The client options such as application ID and custom headers to set on a request. */ - @Generated private ClientOptions clientOptions; + private ClientOptions clientOptions; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder clientOptions(ClientOptions clientOptions) { this.clientOptions = clientOptions; + return this; } /* * The retry options to configure retry policy for failed requests. */ - @Generated private RetryOptions retryOptions; + private RetryOptions retryOptions; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder retryOptions(RetryOptions retryOptions) { this.retryOptions = retryOptions; + return this; } /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { pipelinePolicies.add(customPolicy); + return this; } /* * The configuration store that is used during construction of the service client. */ - @Generated private Configuration configuration; + private Configuration configuration; /** {@inheritDoc}. */ - @Generated @Override public KeyVaultSettingsClientBuilder configuration(Configuration configuration) { this.configuration = configuration; + return this; } /* * Api Version */ - @Generated private String apiVersion; + private String apiVersion; /** * Sets Api Version. @@ -153,16 +198,16 @@ public KeyVaultSettingsClientBuilder configuration(Configuration configuration) * @param apiVersion the apiVersion value. * @return the KeyVaultSettingsClientBuilder. */ - @Generated public KeyVaultSettingsClientBuilder apiVersion(String apiVersion) { this.apiVersion = apiVersion; + return this; } /* * The serializer to serialize an object into a string */ - @Generated private SerializerAdapter serializerAdapter; + private SerializerAdapter serializerAdapter; /** * Sets The serializer to serialize an object into a string. @@ -170,16 +215,16 @@ public KeyVaultSettingsClientBuilder apiVersion(String apiVersion) { * @param serializerAdapter the serializerAdapter value. * @return the KeyVaultSettingsClientBuilder. */ - @Generated public KeyVaultSettingsClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { this.serializerAdapter = serializerAdapter; + return this; } /* * The retry policy that will attempt to retry failed requests, if applicable. */ - @Generated private RetryPolicy retryPolicy; + private RetryPolicy retryPolicy; /** * Sets The retry policy that will attempt to retry failed requests, if applicable. @@ -187,9 +232,9 @@ public KeyVaultSettingsClientBuilder serializerAdapter(SerializerAdapter seriali * @param retryPolicy the retryPolicy value. * @return the KeyVaultSettingsClientBuilder. */ - @Generated public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { this.retryPolicy = retryPolicy; + return this; } @@ -198,7 +243,6 @@ public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { * * @return an instance of KeyVaultSettingsClientImpl. */ - @Generated private KeyVaultSettingsClientImpl buildInnerClient() { HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); String localApiVersion = (apiVersion != null) ? apiVersion : "7.4-preview.1"; @@ -206,36 +250,46 @@ private KeyVaultSettingsClientImpl buildInnerClient() { (serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter(); KeyVaultSettingsClientImpl client = new KeyVaultSettingsClientImpl(localPipeline, localSerializerAdapter, localApiVersion); + return client; } - @Generated private HttpPipeline createHttpPipeline() { Configuration buildConfiguration = (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + if (httpLogOptions == null) { httpLogOptions = new HttpLogOptions(); } + if (clientOptions == null) { clientOptions = new ClientOptions(); } + List policies = new ArrayList<>(); String clientName = properties.getOrDefault(SDK_NAME, "UnknownName"); String clientVersion = properties.getOrDefault(SDK_VERSION, "UnknownVersion"); String applicationId = CoreUtils.getApplicationId(clientOptions, httpLogOptions); + policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); policies.add(new RequestIdPolicy()); policies.add(new AddHeadersFromContextPolicy()); + HttpHeaders headers = new HttpHeaders(); + clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + if (headers.getSize() > 0) { policies.add(new AddHeadersPolicy(headers)); } + policies.addAll( this.pipelinePolicies.stream() .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) .collect(Collectors.toList())); + HttpPolicyProviders.addBeforeRetryPolicies(policies); + policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); policies.add(new AddDatePolicy()); policies.add(new CookiePolicy()); @@ -243,14 +297,18 @@ private HttpPipeline createHttpPipeline() { this.pipelinePolicies.stream() .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) .collect(Collectors.toList())); + HttpPolicyProviders.addAfterRetryPolicies(policies); + policies.add(new HttpLoggingPolicy(httpLogOptions)); + HttpPipeline httpPipeline = new HttpPipelineBuilder() .policies(policies.toArray(new HttpPipelinePolicy[0])) .httpClient(httpClient) .clientOptions(clientOptions) .build(); + return httpPipeline; } @@ -259,9 +317,8 @@ private HttpPipeline createHttpPipeline() { * * @return an instance of KeyVaultSettingsAsyncClient. */ - @Generated public KeyVaultSettingsAsyncClient buildAsyncClient() { - return new KeyVaultSettingsAsyncClient(buildInnerClient()); + return new KeyVaultSettingsAsyncClient(vaultUrl, buildInnerClient()); } /** @@ -269,8 +326,7 @@ public KeyVaultSettingsAsyncClient buildAsyncClient() { * * @return an instance of KeyVaultSettingsClient. */ - @Generated public KeyVaultSettingsClient buildClient() { - return new KeyVaultSettingsClient(buildInnerClient()); + return new KeyVaultSettingsClient(vaultUrl, buildInnerClient()); } } From 991fa649b4b88ecbdce4a9250602a0b16843a8cd Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Mon, 24 Oct 2022 20:21:41 -0500 Subject: [PATCH 11/30] Updated the Autorest configuration file and re-generated code. --- .../KeyVaultSettingsClientImpl.java | 67 +++++++++---------- .../swagger/autorest.md | 9 +-- 2 files changed, 33 insertions(+), 43 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java index 75274a29f330..0dbf31cd38a1 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -31,7 +31,7 @@ import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; -import com.azure.security.keyvault.administration.implementation.models.UpdateSettingsRequest; +import com.azure.security.keyvault.administration.implementation.models.UpdateSettingRequest; import reactor.core.publisher.Mono; /** Initializes a new instance of the KeyVaultSettingsClient type. */ @@ -80,7 +80,7 @@ public SerializerAdapter getSerializerAdapter() { * * @param apiVersion Api Version. */ - public KeyVaultSettingsClientImpl(String apiVersion) { + KeyVaultSettingsClientImpl(String apiVersion) { this( new HttpPipelineBuilder() .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy()) @@ -95,7 +95,7 @@ public KeyVaultSettingsClientImpl(String apiVersion) { * @param httpPipeline The HTTP pipeline to send requests through. * @param apiVersion Api Version. */ - public KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) { + KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) { this(httpPipeline, JacksonAdapter.createDefaultSerializerAdapter(), apiVersion); } @@ -106,8 +106,7 @@ public KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, String apiVersion) * @param serializerAdapter The serializer to serialize an object into a string. * @param apiVersion Api Version. */ - public KeyVaultSettingsClientImpl( - HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String apiVersion) { + KeyVaultSettingsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerAdapter, String apiVersion) { this.httpPipeline = httpPipeline; this.serializerAdapter = serializerAdapter; this.apiVersion = apiVersion; @@ -125,11 +124,11 @@ public interface KeyVaultSettingsClientService { @Patch("/settings/{setting-name}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(KeyVaultErrorException.class) - Mono> createOrUpdateSetting( + Mono> updateSetting( @HostParam("vaultBaseUrl") String vaultBaseUrl, @PathParam("setting-name") String settingName, @QueryParam("api-version") String apiVersion, - @BodyParam("application/json") UpdateSettingsRequest parameters, + @BodyParam("application/json") UpdateSettingRequest parameters, @HeaderParam("Accept") String accept, Context context); @@ -167,14 +166,14 @@ Mono> getSettings( * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOrUpdateSettingWithResponseAsync( + public Mono> updateSettingWithResponseAsync( String vaultBaseUrl, String settingName, String value) { final String accept = "application/json"; - UpdateSettingsRequest parameters = new UpdateSettingsRequest(); + UpdateSettingRequest parameters = new UpdateSettingRequest(); parameters.setValue(value); return FluxUtil.withContext( context -> - service.createOrUpdateSetting( + service.updateSetting( vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context)); } @@ -193,13 +192,12 @@ public Mono> createOrUpdateSettingWithResponseAsync( * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOrUpdateSettingWithResponseAsync( + public Mono> updateSettingWithResponseAsync( String vaultBaseUrl, String settingName, String value, Context context) { final String accept = "application/json"; - UpdateSettingsRequest parameters = new UpdateSettingsRequest(); + UpdateSettingRequest parameters = new UpdateSettingRequest(); parameters.setValue(value); - return service.createOrUpdateSetting( - vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); + return service.updateSetting(vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); } /** @@ -216,8 +214,8 @@ public Mono> createOrUpdateSettingWithResponseAsync( * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createOrUpdateSettingAsync(String vaultBaseUrl, String settingName, String value) { - return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value) + public Mono updateSettingAsync(String vaultBaseUrl, String settingName, String value) { + return updateSettingWithResponseAsync(vaultBaseUrl, settingName, value) .flatMap(res -> Mono.justOrEmpty(res.getValue())); } @@ -236,9 +234,8 @@ public Mono createOrUpdateSettingAsync(String vaultBaseUrl, String sett * @return the response body on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createOrUpdateSettingAsync( - String vaultBaseUrl, String settingName, String value, Context context) { - return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context) + public Mono updateSettingAsync(String vaultBaseUrl, String settingName, String value, Context context) { + return updateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context) .flatMap(res -> Mono.justOrEmpty(res.getValue())); } @@ -257,9 +254,9 @@ public Mono createOrUpdateSettingAsync( * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOrUpdateSettingWithResponse( + public Response updateSettingWithResponse( String vaultBaseUrl, String settingName, String value, Context context) { - return createOrUpdateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context).block(); + return updateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context).block(); } /** @@ -276,14 +273,14 @@ public Response createOrUpdateSettingWithResponse( * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Setting createOrUpdateSetting(String vaultBaseUrl, String settingName, String value) { - return createOrUpdateSettingWithResponse(vaultBaseUrl, settingName, value, Context.NONE).getValue(); + public Setting updateSetting(String vaultBaseUrl, String settingName, String value) { + return updateSettingWithResponse(vaultBaseUrl, settingName, value, Context.NONE).getValue(); } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. @@ -300,9 +297,9 @@ public Mono> getSettingWithResponseAsync(String vaultBaseUrl, } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. @@ -320,9 +317,9 @@ public Mono> getSettingWithResponseAsync( } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. @@ -337,9 +334,9 @@ public Mono getSettingAsync(String vaultBaseUrl, String settingName) { } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. @@ -356,9 +353,9 @@ public Mono getSettingAsync(String vaultBaseUrl, String settingName, Co } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. @@ -374,9 +371,9 @@ public Response getSettingWithResponse(String vaultBaseUrl, String sett } /** - * Get specified account setting value. + * Get specified account setting object. * - *

Retrieves the value of a specified, value account setting. + *

Retrieves the setting object of a specified setting name. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index c3dd25e404e7..18e8bb16afe7 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -75,14 +75,7 @@ sync-methods: none These settings apply only when `--tag=settings` is specified on the command line. ``` yaml $(tag) == 'settings' -input-file: https://github.com/Azure/azure-rest-api-specs/tree/fead0dec636e7554fb8401370418085136d4f052/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json +input-file: https://github.com/Azure/azure-rest-api-specs/tree/d78681a9d322bbd8d33ecaad7e6aaa2d513513b4/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json title: KeyVaultSettingsClient sync-methods: all -directive: -- rename-operation: - from: UpdateSettings - to: CreateOrUpdateSetting -- rename-operation: - from: GetSettingValue - to: GetSetting ``` From fcba976b9ccf5f2d5d3df155dbf259293d6eeb4f Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Mon, 24 Oct 2022 20:22:03 -0500 Subject: [PATCH 12/30] Updated public classes due to code re-generation. --- .../KeyVaultSettingsAsyncClient.java | 176 ++++++++++++++---- .../KeyVaultSettingsClient.java | 106 +++++++---- ...Request.java => UpdateSettingRequest.java} | 10 +- 3 files changed, 210 insertions(+), 82 deletions(-) rename sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/{UpdateSettingsRequest.java => UpdateSettingRequest.java} (77%) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index e05041f25673..a61cd32a1c58 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -6,9 +6,11 @@ import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; -import com.azure.core.http.rest.PagedFlux; import com.azure.core.http.rest.Response; import com.azure.core.http.rest.SimpleResponse; +import com.azure.core.util.CoreUtils; +import com.azure.core.util.logging.ClientLogger; +import com.azure.security.keyvault.administration.implementation.KeyVaultAdministrationUtils; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; @@ -16,6 +18,11 @@ import com.azure.security.keyvault.administration.models.KeyVaultSettingType; import reactor.core.publisher.Mono; +import java.util.ArrayList; +import java.util.List; + +import static com.azure.core.util.FluxUtil.monoError; + /** * The {@link KeyVaultSettingsAsyncClient} provides asynchronous methods to create, update, get and list * {@link KeyVaultSetting settings} for the Azure Key Vault. @@ -30,6 +37,7 @@ public final class KeyVaultSettingsAsyncClient { private final String vaultUrl; private final KeyVaultSettingsClientImpl implClient; + private final ClientLogger logger = new ClientLogger(KeyVaultSettingsAsyncClient.class); /** * Creates a {@link KeyVaultSettingsAsyncClient} that uses a {@link KeyVaultSettingsClientImpl} to service requests. @@ -43,94 +51,180 @@ public final class KeyVaultSettingsAsyncClient { } /** - * Creates or updates a given setting with the provided value. + * Updates a given account setting with the provided value. * - * @param name The name of the account setting. Must be a valid settings option. + * @param name The name of the account setting to update. * @param value The value to set. * - * @return The response body on successful completion of {@link Mono}. + * @return A {@link Mono} containing the updated {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createOrUpdateSetting(String name, String value) { - return this.implClient.createOrUpdateSettingAsync(vaultUrl, name, value) - .map(setting -> new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString()))); + public Mono updateSetting(String name, String value) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.updateSettingAsync(vaultUrl, name, value) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) + .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(KeyVaultSettingsAsyncClient::transformToKeyVaultSetting); + } catch (RuntimeException e) { + return monoError(logger, e); + } } /** - * Creates or updates a given setting with the provided value. + * Updates a given account setting with the provided value. * - * @param name The name of the setting. Must be a valid settings option. + * @param name The name of the setting to update. * @param value The value to set. * - * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the updated + * {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOrUpdateSettingWithResponse(String name, String value) { - return this.implClient.createOrUpdateSettingWithResponseAsync(vaultUrl, name, value) - .map(response -> { - Setting setting = response.getValue(); - KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); - - return new SimpleResponse<>(response, keyVaultSetting); - }); + public Mono> updateSettingWithResponse(String name, String value) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.updateSettingWithResponseAsync(vaultUrl, name, value) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) + .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(response -> new SimpleResponse<>(response, transformToKeyVaultSetting(response.getValue()))); + } catch (RuntimeException e) { + return monoError(logger, e); + } } /** - * Get the value of a specific setting. + * Get the value of a specific account setting. * - * @param name The name of setting to retrieve the value of. Must be a valid settings option. + * @param name The name of setting to retrieve the value of. * - * @return The response body on successful completion of {@link Mono}. + * @return A {@link Mono} containing the {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono getSetting(String name) { - return this.implClient.getSettingAsync(vaultUrl, name) - .map(setting -> new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString()))); + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.getSettingAsync(vaultUrl, name) + .doOnRequest(ignored -> logger.verbose("Retrieving account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Retrieved account setting - {}", name)) + .doOnError(error -> logger.warning("Failed retrieving account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(KeyVaultSettingsAsyncClient::transformToKeyVaultSetting); + } catch (RuntimeException e) { + return monoError(logger, e); + } } /** - * Get the value of a specific setting. + * Get the value of a specific account setting. * - * @param name The name of setting to retrieve the value of. Must be a valid settings option. + * @param name The name of setting to retrieve the value of. * - * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> getSettingWithResponse(String name) { - return this.implClient.getSettingWithResponseAsync(vaultUrl, name) - .map(response -> { - Setting setting = response.getValue(); - KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); - - return new SimpleResponse<>(response, keyVaultSetting); - }); + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.getSettingWithResponseAsync(vaultUrl, name) + .doOnRequest(ignored -> logger.verbose("Retrieving account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Retrieved account setting - {}", name)) + .doOnError(error -> logger.warning("Failed retrieving account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(response -> new SimpleResponse<>(response, transformToKeyVaultSetting(response.getValue()))); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + /** + * List the account's settings. + * + * @return A {@link Mono} containing the list of {@link KeyVaultSetting account settings}. + * + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public Mono> listSettings() { + try { + return this.implClient.getSettingsAsync(vaultUrl) + .doOnRequest(ignored -> logger.verbose("Listing account settings")) + .doOnSuccess(response -> logger.verbose("Listed account settings successfully")) + .doOnError(error -> logger.warning("Failed listing account settings", error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(settingsListResult -> { + List keyVaultSettings = new ArrayList<>(); + + settingsListResult.getValue().forEach(setting -> + keyVaultSettings.add(transformToKeyVaultSetting(setting))); + + return keyVaultSettings; + }); + } catch (RuntimeException e) { + return monoError(logger, e); + } } /** - * List account settings. + * List the account's settings. * - * @return The settings list result on successful completion of {@link Mono}. + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the + * list of {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSettings() { - return this.implClient.getSettingsAsync(vaultUrl); + public Mono>> listSettingsWithResponse() { + try { + return this.implClient.getSettingsWithResponseAsync(vaultUrl) + .doOnRequest(ignored -> logger.verbose("Listing account settings")) + .doOnSuccess(response -> logger.verbose("Listed account settings successfully")) + .doOnError(error -> logger.warning("Failed listing account settings", error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(response -> { + List keyVaultSettings = new ArrayList<>(); + + response.getValue().getValue().forEach(setting -> + keyVaultSettings.add(transformToKeyVaultSetting(setting))); + + return new SimpleResponse<>(response, keyVaultSettings); + }); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + + static KeyVaultSetting transformToKeyVaultSetting(Setting setting) { + return new KeyVaultSetting(setting.getName(), setting.getValue(), + KeyVaultSettingType.fromString(setting.getType().toString())); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index cf26bfd5acdd..9f0ecba8c5ca 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -6,16 +6,18 @@ import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; import com.azure.core.annotation.ServiceMethod; -import com.azure.core.http.rest.PagedFlux; import com.azure.core.http.rest.Response; import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.Context; +import com.azure.core.util.CoreUtils; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; +import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; -import com.azure.security.keyvault.administration.models.KeyVaultSettingType; -import reactor.core.publisher.Mono; + +import java.util.ArrayList; +import java.util.List; /** * The {@link KeyVaultSettingsClient} provides asynchronous methods to create, update, get and list @@ -43,92 +45,124 @@ public final class KeyVaultSettingsClient { } /** - * Creates or updates a given setting with the provided value. + * Updates a given account setting with the provided value. * - * @param name The name of the account setting. Must be a valid settings option. + * @param name The name of the account setting to update. * @param value The value to set. * - * @return The response body on successful completion of {@link Mono}. + * @return The updated {@link KeyVaultSetting account setting}. * - * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultSetting createOrUpdateSetting(String name, String value) { - Setting setting = this.implClient.createOrUpdateSetting(vaultUrl, name, value); + if (CoreUtils.isNullOrEmpty(name)) { + throw new IllegalArgumentException("'name' cannot be empty or null"); + } - return new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); + return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( + this.implClient.updateSetting(vaultUrl, name, value)); } /** - * Creates or updates a given setting with the provided value. + * Updates a given account setting with the provided value. * - * @param name The name of the setting. Must be a valid settings option. + * @param name The name of the setting to update. * @param value The value to set. * - * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * @return A {@link Response} whose {@link Response#getValue() value} contains the updated + * {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOrUpdateSettingWithResponse(String name, String value, Context context) { - Response response = this.implClient.createOrUpdateSettingWithResponse(vaultUrl, name, value, context); - Setting setting = response.getValue(); - KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); + public Response updateSettingWithResponse(String name, String value, Context context) { + if (CoreUtils.isNullOrEmpty(name)) { + throw new IllegalArgumentException("'name' cannot be empty or null"); + } - return new SimpleResponse<>(response, keyVaultSetting); + Response response = this.implClient.updateSettingWithResponse(vaultUrl, name, value, context); + + return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); } /** - * Get the value of a specific setting. + * Get the value of a specific account setting. * - * @param name The name of setting to retrieve the value of. Must be a valid settings option. + * @param name The name of setting to retrieve the value of. * - * @return The response body on successful completion of {@link Mono}. + * @return The {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultSetting getSetting(String name) { - Setting setting = this.implClient.getSetting(vaultUrl, name); + if (CoreUtils.isNullOrEmpty(name)) { + throw new IllegalArgumentException("'name' cannot be empty or null"); + } - return new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); + return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(this.implClient.getSetting(vaultUrl, name)); } /** - * Get the value of a specific setting. + * Get the value of a specific account setting. * - * @param name The name of setting to retrieve the value of. Must be a valid settings option. + * @param name The name of setting to retrieve the value of. * - * @return The response body along with {@link Response} on successful completion of {@link Mono}. + * @return A {@link Response} whose {@link Response#getValue() value} contains the + * {@link KeyVaultSetting account setting}. * * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getSettingWithResponse(String name, Context context) { + if (CoreUtils.isNullOrEmpty(name)) { + throw new IllegalArgumentException("'name' cannot be empty or null"); + } + Response response = this.implClient.getSettingWithResponse(vaultUrl, name, context); - Setting setting = response.getValue(); - KeyVaultSetting keyVaultSetting = new KeyVaultSetting(setting.getName(), setting.getValue(), - KeyVaultSettingType.fromString(setting.getType().toString())); - return new SimpleResponse<>(response, keyVaultSetting); + return new SimpleResponse<>(response, + KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); + } + + /** + * List the account's settings. + * + * @return The list of {@link KeyVaultSetting account settings}. + * + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public List lisSettings() { + List keyVaultSettings = new ArrayList<>(); + + this.implClient.getSettings(vaultUrl).getValue() + .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); + + return keyVaultSettings; } /** - * List account settings. + * List the account's settings. * - * @return The settings list result on successful completion of {@link Mono}. + * @return A {@link Response} whose {@link Response#getValue() value} contains the list of + * {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux lisSettings() { - return this.implClient.getSettings(vaultUrl); + public Response> lisSettingsWithResponse(Context context) { + Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); + List keyVaultSettings = new ArrayList<>(); + + response.getValue().getValue() + .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); + + return new SimpleResponse<>(response, keyVaultSettings); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingRequest.java similarity index 77% rename from sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java rename to sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingRequest.java index 8b57335f53e4..52ac5074c647 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingsRequest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/UpdateSettingRequest.java @@ -9,15 +9,15 @@ /** The update settings request object. */ @Fluent -public final class UpdateSettingsRequest { +public final class UpdateSettingRequest { /* * The value of the pool setting. */ @JsonProperty(value = "value", required = true) private String value; - /** Creates an instance of UpdateSettingsRequest class. */ - public UpdateSettingsRequest() {} + /** Creates an instance of UpdateSettingRequest class. */ + public UpdateSettingRequest() {} /** * Get the value property: The value of the pool setting. @@ -32,9 +32,9 @@ public String getValue() { * Set the value property: The value of the pool setting. * * @param value the value value to set. - * @return the UpdateSettingsRequest object itself. + * @return the UpdateSettingRequest object itself. */ - public UpdateSettingsRequest setValue(String value) { + public UpdateSettingRequest setValue(String value) { this.value = value; return this; } From e7722cf0c41e968cc24ecab311f632f3374f491c Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Mon, 24 Oct 2022 20:22:55 -0500 Subject: [PATCH 13/30] Added new preview service version to KeyVaultAdministrationServiceVersion. --- .../KeyVaultAdministrationServiceVersion.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java index 103af2b78480..f4a84ba30d9b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java @@ -17,7 +17,12 @@ public enum KeyVaultAdministrationServiceVersion implements ServiceVersion { /** * Service version {@code 7.3}. */ - V7_3("7.3"); + V7_3("7.3"), + + /** + * Service version {@code 7.3}. + */ + V7_4_PREVIEW_1("7.4-preview.1"); private final String version; From 6ec44388915ab83d15eebf98bf6cec084080af8f Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Mon, 24 Oct 2022 20:23:04 -0500 Subject: [PATCH 14/30] Updated CHANGELOG. --- .../azure-security-keyvault-administration/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sdk/keyvault/azure-security-keyvault-administration/CHANGELOG.md b/sdk/keyvault/azure-security-keyvault-administration/CHANGELOG.md index 6c86a9d4bb41..a68194fd68ac 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/CHANGELOG.md +++ b/sdk/keyvault/azure-security-keyvault-administration/CHANGELOG.md @@ -3,6 +3,8 @@ ## 4.3.0-beta.1 (Unreleased) ### Features Added +- Added `KeyVaultSettingsClient` and `KeyVaultSettingsAsyncClient` to get and update Managed HSM settings. +- Added support for service version `7.4-preview.1`. ### Breaking Changes From cbda868dddecdf8f612fc5911aecddd1eb0e6dc8 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Tue, 25 Oct 2022 21:47:04 -0500 Subject: [PATCH 15/30] Fixed issues with KeyVaultSettingsClientBuilder. --- .../KeyVaultSettingsClientBuilder.java | 349 ++++++++++++------ 1 file changed, 232 insertions(+), 117 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java index c1751a5f7328..b5da6195bcc4 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java @@ -6,6 +6,7 @@ import com.azure.core.annotation.ServiceClientBuilder; import com.azure.core.client.traits.ConfigurationTrait; import com.azure.core.client.traits.HttpTrait; +import com.azure.core.client.traits.TokenCredentialTrait; import com.azure.core.credential.TokenCredential; import com.azure.core.http.HttpClient; import com.azure.core.http.HttpHeaders; @@ -16,6 +17,7 @@ import com.azure.core.http.policy.AddHeadersFromContextPolicy; import com.azure.core.http.policy.AddHeadersPolicy; import com.azure.core.http.policy.CookiePolicy; +import com.azure.core.http.policy.HttpLogDetailLevel; import com.azure.core.http.policy.HttpLogOptions; import com.azure.core.http.policy.HttpLoggingPolicy; import com.azure.core.http.policy.HttpPipelinePolicy; @@ -27,16 +29,17 @@ import com.azure.core.util.ClientOptions; import com.azure.core.util.Configuration; import com.azure.core.util.CoreUtils; +import com.azure.core.util.HttpClientOptions; import com.azure.core.util.builder.ClientBuilderUtil; import com.azure.core.util.logging.ClientLogger; -import com.azure.core.util.serializer.JacksonAdapter; -import com.azure.core.util.serializer.SerializerAdapter; +import com.azure.security.keyvault.administration.implementation.KeyVaultCredentialPolicy; +import com.azure.security.keyvault.administration.implementation.KeyVaultErrorCodeStrings; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; +import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImplBuilder; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -44,7 +47,7 @@ /** * This class provides a fluent builder API to help aid the configuration and instantiation of the * {@link KeyVaultSettingsAsyncClient} and {@link KeyVaultSettingsClient}, by calling - * {@link KeyVaultSettingsClientBuilder#buildAsyncClient()} and {@link KeyVaultSettingsClientBuilder#buildClient()} + * {@link KeyVaultSettingsClientBuilder#buildAsyncClient()} and {@link KeyVaultSettingsClientBuilder#buildImplClient()} * respectively. It constructs an instance of the desired client. * *

The minimal configuration options required by {@link KeyVaultSettingsClientBuilder} to build a client are @@ -54,25 +57,42 @@ * @see KeyVaultSettingsAsyncClient */ @ServiceClientBuilder(serviceClients = {KeyVaultSettingsClient.class, KeyVaultSettingsAsyncClient.class}) -public final class KeyVaultSettingsClientBuilder - implements HttpTrait, ConfigurationTrait { - private static final String SDK_NAME = "name"; +public final class KeyVaultSettingsClientBuilder implements + TokenCredentialTrait, + HttpTrait, + ConfigurationTrait { + private static final String AZURE_KEY_VAULT_RBAC = "azure-key-vault-administration.properties"; + private static final String SDK_NAME = "name"; private static final String SDK_VERSION = "version"; - private final Map properties = new HashMap<>(); - + private final ClientLogger logger = new ClientLogger(KeyVaultBackupClientBuilder.class); + private final KeyVaultSettingsClientImplBuilder implClientBuilder; private final List pipelinePolicies; + private final Map properties; - private final ClientLogger logger = new ClientLogger(KeyVaultBackupClientBuilder.class); + private TokenCredential credential; + private HttpPipeline pipeline; + private String vaultUrl; + private HttpClient httpClient; + private HttpLogOptions httpLogOptions; + private RetryPolicy retryPolicy; + private RetryOptions retryOptions; + private Configuration configuration; + private ClientOptions clientOptions; + private KeyVaultAdministrationServiceVersion serviceVersion; + private boolean disableChallengeResourceVerification = false; - /** Create an instance of the KeyVaultSettingsClientBuilder. */ + /** + * Create an instance of the KeyVaultSettingsClientBuilder. + */ public KeyVaultSettingsClientBuilder() { + this.httpLogOptions = new HttpLogOptions(); this.pipelinePolicies = new ArrayList<>(); + this.properties = CoreUtils.getProperties(AZURE_KEY_VAULT_RBAC); + this.implClientBuilder = new KeyVaultSettingsClientImplBuilder(); } - private String vaultUrl; - /** * Sets the URL to the Key Vault on which the client operates. Appears as "DNS Name" in the Azure portal. You should * validate that this URL references a valid Key Vault or Managed HSM resource. @@ -101,12 +121,45 @@ public KeyVaultSettingsClientBuilder vaultUrl(String vaultUrl) { return this; } - /* - * The HTTP pipeline to send requests through. + /** + * Sets the {@link TokenCredential} used to authorize requests sent to the service. Refer to the Azure SDK for Java + * identity and authentication + * documentation for more details on proper usage of the {@link TokenCredential} type. + * + * @param credential {@link TokenCredential} used to authorize requests sent to the service. + * + * @return The updated {@link KeyVaultAccessControlClientBuilder} object. + * + * @throws NullPointerException If {@code credential} is {@code null}. */ - private HttpPipeline pipeline; + @Override + public KeyVaultSettingsClientBuilder credential(TokenCredential credential) { + if (credential == null) { + throw logger.logExceptionAsError(new NullPointerException("'credential' cannot be null.")); + } + + this.credential = credential; - /** {@inheritDoc}. */ + return this; + } + + /** + * Sets the {@link HttpPipeline} to use for the service client. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ *

+ * The {@link #vaultUrl(String) vaultUrl} is not ignored when + * {@code pipeline} is set. + * + * @param pipeline {@link HttpPipeline} to use for sending service requests and receiving responses. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. + */ @Override public KeyVaultSettingsClientBuilder pipeline(HttpPipeline pipeline) { this.pipeline = pipeline; @@ -114,38 +167,70 @@ public KeyVaultSettingsClientBuilder pipeline(HttpPipeline pipeline) { return this; } - /* - * The HTTP client used to send the request. + /** + * Sets the {@link HttpClient} to use for sending and receiving requests to and from the service. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ * + * @param client The {@link HttpClient} to use for requests. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - private HttpClient httpClient; - - /** {@inheritDoc}. */ @Override - public KeyVaultSettingsClientBuilder httpClient(HttpClient httpClient) { - this.httpClient = httpClient; + public KeyVaultSettingsClientBuilder httpClient(HttpClient client) { + this.httpClient = client; return this; } - /* - * The logging configuration for HTTP requests and responses. + /** + * Sets the {@link HttpLogOptions logging configuration} to use when sending and receiving requests to and from + * the service. If a {@code logLevel} is not provided, default value of {@link HttpLogDetailLevel#NONE} is set. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ * + * @param logOptions The {@link HttpLogOptions logging configuration} to use when sending and receiving requests to + * and from the service. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - private HttpLogOptions httpLogOptions; - - /** {@inheritDoc}. */ @Override - public KeyVaultSettingsClientBuilder httpLogOptions(HttpLogOptions httpLogOptions) { - this.httpLogOptions = httpLogOptions; + public KeyVaultSettingsClientBuilder httpLogOptions(HttpLogOptions logOptions) { + this.httpLogOptions = logOptions; return this; } - /* - * The client options such as application ID and custom headers to set on a request. + /** + * Allows for setting common properties such as application ID, headers, proxy configuration, etc. Note that it is + * recommended that this method be called with an instance of the {@link HttpClientOptions} + * class (a subclass of the {@link ClientOptions} base class). The HttpClientOptions subclass provides more + * configuration options suitable for HTTP clients, which is applicable for any class that implements this HttpTrait + * interface. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ * + * @param clientOptions A configured instance of {@link HttpClientOptions}. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. + * + * @see HttpClientOptions */ - private ClientOptions clientOptions; - - /** {@inheritDoc}. */ @Override public KeyVaultSettingsClientBuilder clientOptions(ClientOptions clientOptions) { this.clientOptions = clientOptions; @@ -153,12 +238,22 @@ public KeyVaultSettingsClientBuilder clientOptions(ClientOptions clientOptions) return this; } - /* - * The retry options to configure retry policy for failed requests. + /** + * Sets the {@link RetryOptions} for all the requests made through the client. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ *

+ * Setting this is mutually exclusive with using {@link #retryPolicy(RetryPolicy)}. + * + * @param retryOptions The {@link RetryOptions} to use for all the requests made through the client. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - private RetryOptions retryOptions; - - /** {@inheritDoc}. */ @Override public KeyVaultSettingsClientBuilder retryOptions(RetryOptions retryOptions) { this.retryOptions = retryOptions; @@ -166,20 +261,44 @@ public KeyVaultSettingsClientBuilder retryOptions(RetryOptions retryOptions) { return this; } - /** {@inheritDoc}. */ + /** + * Adds a {@link HttpPipelinePolicy pipeline policy} to apply on each request sent. + * + *

Note: It is important to understand the precedence order of the HttpTrait APIs. In + * particular, if a {@link HttpPipeline} is specified, this takes precedence over all other APIs in the trait, and + * they will be ignored. If no {@link HttpPipeline} is specified, a HTTP pipeline will be constructed internally + * based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this + * trait that are also ignored if an {@link HttpPipeline} is specified, so please be sure to refer to the + * documentation of types that implement this trait to understand the full set of implications.

+ * + * @param policy A {@link HttpPipelinePolicy pipeline policy}. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. + * + * @throws NullPointerException If {@code policy} is {@code null}. + */ @Override - public KeyVaultSettingsClientBuilder addPolicy(HttpPipelinePolicy customPolicy) { - pipelinePolicies.add(customPolicy); + public KeyVaultSettingsClientBuilder addPolicy(HttpPipelinePolicy policy) { + if (policy == null) { + throw logger.logExceptionAsError(new NullPointerException("'policy' cannot be null.")); + } + + this.pipelinePolicies.add(policy); return this; } - /* - * The configuration store that is used during construction of the service client. + /** + * Sets the configuration store that is used during construction of the service client. + *

+ * The default configuration store is a clone of the + * {@link Configuration#getGlobalConfiguration() global configuration store}, use {@link Configuration#NONE} to + * bypass using configuration settings during construction. + * + * @param configuration The configuration store used to get configuration details. + * + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - private Configuration configuration; - - /** {@inheritDoc}. */ @Override public KeyVaultSettingsClientBuilder configuration(Configuration configuration) { this.configuration = configuration; @@ -187,53 +306,48 @@ public KeyVaultSettingsClientBuilder configuration(Configuration configuration) return this; } - /* - * Api Version - */ - private String apiVersion; - /** - * Sets Api Version. + * Sets the {@link KeyVaultAdministrationServiceVersion} that is used when making API requests. + *

+ * If a service version is not provided, the service version that will be used will be the latest known service + * version based on the version of the client library being used. If no service version is specified, updating to a + * newer version the client library will have the result of potentially moving to a newer service version. + * + * @param serviceVersion {@link KeyVaultAdministrationServiceVersion} of the service API used when making requests. * - * @param apiVersion the apiVersion value. - * @return the KeyVaultSettingsClientBuilder. + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - public KeyVaultSettingsClientBuilder apiVersion(String apiVersion) { - this.apiVersion = apiVersion; + public KeyVaultSettingsClientBuilder serviceVersion(KeyVaultAdministrationServiceVersion serviceVersion) { + this.serviceVersion = serviceVersion; return this; } - /* - * The serializer to serialize an object into a string - */ - private SerializerAdapter serializerAdapter; - /** - * Sets The serializer to serialize an object into a string. + * Sets the {@link RetryPolicy} that is used when each request is sent. + *

+ * The default retry policy will be used in the pipeline, if not provided. + *

+ * Setting this is mutually exclusive with using {@link #retryOptions(RetryOptions)}. + * + * @param retryPolicy User's retry policy applied to each request. * - * @param serializerAdapter the serializerAdapter value. - * @return the KeyVaultSettingsClientBuilder. + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - public KeyVaultSettingsClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) { - this.serializerAdapter = serializerAdapter; + public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; return this; } - /* - * The retry policy that will attempt to retry failed requests, if applicable. - */ - private RetryPolicy retryPolicy; - /** - * Sets The retry policy that will attempt to retry failed requests, if applicable. + * Disables verifying if the authentication challenge resource matches the Key Vault or Managed HSM domain. This + * verification is performed by default. * - * @param retryPolicy the retryPolicy value. - * @return the KeyVaultSettingsClientBuilder. + * @return The updated {@link KeyVaultSettingsClientBuilder} object. */ - public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { - this.retryPolicy = retryPolicy; + public KeyVaultSettingsClientBuilder disableChallengeResourceVerification() { + this.disableChallengeResourceVerification = true; return this; } @@ -243,73 +357,74 @@ public KeyVaultSettingsClientBuilder retryPolicy(RetryPolicy retryPolicy) { * * @return an instance of KeyVaultSettingsClientImpl. */ - private KeyVaultSettingsClientImpl buildInnerClient() { - HttpPipeline localPipeline = (pipeline != null) ? pipeline : createHttpPipeline(); - String localApiVersion = (apiVersion != null) ? apiVersion : "7.4-preview.1"; - SerializerAdapter localSerializerAdapter = - (serializerAdapter != null) ? serializerAdapter : JacksonAdapter.createDefaultSerializerAdapter(); - KeyVaultSettingsClientImpl client = - new KeyVaultSettingsClientImpl(localPipeline, localSerializerAdapter, localApiVersion); - - return client; + private KeyVaultSettingsClientImpl buildImplClient() { + return implClientBuilder + .pipeline((pipeline != null) ? pipeline : createHttpPipeline()) + .buildClient(); } private HttpPipeline createHttpPipeline() { + if (pipeline != null) { + return pipeline; + } + Configuration buildConfiguration = - (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; + (configuration == null) ? Configuration.getGlobalConfiguration() : configuration; - if (httpLogOptions == null) { - httpLogOptions = new HttpLogOptions(); + if (vaultUrl == null) { + throw logger.logExceptionAsError( + new IllegalStateException( + KeyVaultErrorCodeStrings.getErrorString(KeyVaultErrorCodeStrings.VAULT_END_POINT_REQUIRED))); } - if (clientOptions == null) { - clientOptions = new ClientOptions(); - } + serviceVersion = serviceVersion != null ? serviceVersion : KeyVaultAdministrationServiceVersion.getLatest(); + + final List policies = new ArrayList<>(); - List policies = new ArrayList<>(); String clientName = properties.getOrDefault(SDK_NAME, "UnknownName"); String clientVersion = properties.getOrDefault(SDK_VERSION, "UnknownVersion"); + + httpLogOptions = (httpLogOptions == null) ? new HttpLogOptions() : httpLogOptions; + String applicationId = CoreUtils.getApplicationId(clientOptions, httpLogOptions); policies.add(new UserAgentPolicy(applicationId, clientName, clientVersion, buildConfiguration)); policies.add(new RequestIdPolicy()); policies.add(new AddHeadersFromContextPolicy()); - HttpHeaders headers = new HttpHeaders(); + if (clientOptions != null) { + HttpHeaders headers = new HttpHeaders(); - clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); + clientOptions.getHeaders().forEach(header -> headers.set(header.getName(), header.getValue())); - if (headers.getSize() > 0) { - policies.add(new AddHeadersPolicy(headers)); + if (headers.getSize() > 0) { + policies.add(new AddHeadersPolicy(headers)); + } } policies.addAll( - this.pipelinePolicies.stream() - .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) - .collect(Collectors.toList())); + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL) + .collect(Collectors.toList())); HttpPolicyProviders.addBeforeRetryPolicies(policies); policies.add(ClientBuilderUtil.validateAndGetRetryPolicy(retryPolicy, retryOptions, new RetryPolicy())); + policies.add(new KeyVaultCredentialPolicy(credential, disableChallengeResourceVerification)); policies.add(new AddDatePolicy()); policies.add(new CookiePolicy()); policies.addAll( - this.pipelinePolicies.stream() - .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) - .collect(Collectors.toList())); - + this.pipelinePolicies.stream() + .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY) + .collect(Collectors.toList())); HttpPolicyProviders.addAfterRetryPolicies(policies); - policies.add(new HttpLoggingPolicy(httpLogOptions)); - HttpPipeline httpPipeline = - new HttpPipelineBuilder() - .policies(policies.toArray(new HttpPipelinePolicy[0])) - .httpClient(httpClient) - .clientOptions(clientOptions) - .build(); - - return httpPipeline; + return new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient) + .clientOptions(clientOptions) + .build(); } /** @@ -318,7 +433,7 @@ private HttpPipeline createHttpPipeline() { * @return an instance of KeyVaultSettingsAsyncClient. */ public KeyVaultSettingsAsyncClient buildAsyncClient() { - return new KeyVaultSettingsAsyncClient(vaultUrl, buildInnerClient()); + return new KeyVaultSettingsAsyncClient(vaultUrl, buildImplClient()); } /** @@ -327,6 +442,6 @@ public KeyVaultSettingsAsyncClient buildAsyncClient() { * @return an instance of KeyVaultSettingsClient. */ public KeyVaultSettingsClient buildClient() { - return new KeyVaultSettingsClient(vaultUrl, buildInnerClient()); + return new KeyVaultSettingsClient(vaultUrl, buildImplClient()); } } From 3abd27d2f54ef157e5ade75622ab6de6bdf31055 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Tue, 25 Oct 2022 23:54:11 -0500 Subject: [PATCH 16/30] Added a result model for the `listSettings` operations and updated clients to use it. instead of returning a list. --- .../KeyVaultSettingsAsyncClient.java | 16 +++++----- .../KeyVaultSettingsClient.java | 16 +++++----- .../models/KeyVaultSettingsListResult.java | 31 +++++++++++++++++++ 3 files changed, 49 insertions(+), 14 deletions(-) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index a61cd32a1c58..6b07f371ce26 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -16,6 +16,7 @@ import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.models.KeyVaultSetting; import com.azure.security.keyvault.administration.models.KeyVaultSettingType; +import com.azure.security.keyvault.administration.models.KeyVaultSettingsListResult; import reactor.core.publisher.Mono; import java.util.ArrayList; @@ -169,12 +170,13 @@ public Mono> getSettingWithResponse(String name) { /** * List the account's settings. * - * @return A {@link Mono} containing the list of {@link KeyVaultSetting account settings}. + * @return A {@link Mono} containing a {@link KeyVaultSettingsListResult result object} wrapping the list of + * {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public Mono> listSettings() { + public Mono listSettings() { try { return this.implClient.getSettingsAsync(vaultUrl) .doOnRequest(ignored -> logger.verbose("Listing account settings")) @@ -187,7 +189,7 @@ public Mono> listSettings() { settingsListResult.getValue().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); - return keyVaultSettings; + return new KeyVaultSettingsListResult(keyVaultSettings); }); } catch (RuntimeException e) { return monoError(logger, e); @@ -197,13 +199,13 @@ public Mono> listSettings() { /** * List the account's settings. * - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the - * list of {@link KeyVaultSetting account settings}. + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains a + * {@link KeyVaultSettingsListResult result object} wrapping the list of {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public Mono>> listSettingsWithResponse() { + public Mono> listSettingsWithResponse() { try { return this.implClient.getSettingsWithResponseAsync(vaultUrl) .doOnRequest(ignored -> logger.verbose("Listing account settings")) @@ -216,7 +218,7 @@ public Mono>> listSettingsWithResponse() { response.getValue().getValue().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); - return new SimpleResponse<>(response, keyVaultSettings); + return new SimpleResponse<>(response, new KeyVaultSettingsListResult(keyVaultSettings)); }); } catch (RuntimeException e) { return monoError(logger, e); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 9f0ecba8c5ca..8054740b3954 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -15,6 +15,7 @@ import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import com.azure.security.keyvault.administration.models.KeyVaultSettingsListResult; import java.util.ArrayList; import java.util.List; @@ -133,36 +134,37 @@ public Response getSettingWithResponse(String name, Context con /** * List the account's settings. * - * @return The list of {@link KeyVaultSetting account settings}. + * @return A {@link KeyVaultSettingsListResult result object} wrapping the list of + * {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public List lisSettings() { + public KeyVaultSettingsListResult lisSettings() { List keyVaultSettings = new ArrayList<>(); this.implClient.getSettings(vaultUrl).getValue() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); - return keyVaultSettings; + return new KeyVaultSettingsListResult(keyVaultSettings); } /** * List the account's settings. * - * @return A {@link Response} whose {@link Response#getValue() value} contains the list of - * {@link KeyVaultSetting account settings}. + * @return A {@link Response} whose {@link Response#getValue() value} contains a + * {@link KeyVaultSettingsListResult result object} wrapping the list of {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public Response> lisSettingsWithResponse(Context context) { + public Response lisSettingsWithResponse(Context context) { Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); response.getValue().getValue() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); - return new SimpleResponse<>(response, keyVaultSettings); + return new SimpleResponse<>(response, new KeyVaultSettingsListResult(keyVaultSettings)); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java new file mode 100644 index 000000000000..12ae1974aad9 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java @@ -0,0 +1,31 @@ +package com.azure.security.keyvault.administration.models; + +import com.azure.core.annotation.Immutable; + +import java.util.List; + +/** + * A result model containing the list of {@link KeyVaultSetting settings} for a given account. + */ +@Immutable +public class KeyVaultSettingsListResult { + private List settings; + + /** + * Creates an instance of {@link KeyVaultSettingsListResult} class. + * + * @param settings The list of {@link KeyVaultSetting settings} for the account. + */ + public KeyVaultSettingsListResult(List settings) { + + } + + /** + * Get the list of {@link KeyVaultSetting settings} for the account. + * + * @return The list of {@link KeyVaultSetting settings} for the account. + */ + public List getSettings() { + return this.settings; + } +} From f9824b7e70d08481cc0286db3ac30a7788c90e55 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 26 Oct 2022 00:00:57 -0500 Subject: [PATCH 17/30] Fixed typo for `listSettings` APIs. --- .../keyvault/administration/KeyVaultSettingsClient.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 8054740b3954..678b9d27cf89 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -140,7 +140,7 @@ public Response getSettingWithResponse(String name, Context con * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public KeyVaultSettingsListResult lisSettings() { + public KeyVaultSettingsListResult listSettings() { List keyVaultSettings = new ArrayList<>(); this.implClient.getSettings(vaultUrl).getValue() @@ -158,7 +158,7 @@ public KeyVaultSettingsListResult lisSettings() { * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public Response lisSettingsWithResponse(Context context) { + public Response listSettingsWithResponse(Context context) { Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); From 9ca5e447d010072054aaa24c70761a105cc18f1e Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 26 Oct 2022 00:05:48 -0500 Subject: [PATCH 18/30] Renamed `createOrUpdateSetting()` to `updateSetting()` in `KeyVaultSettingsClient`. --- .../keyvault/administration/KeyVaultSettingsClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 678b9d27cf89..4f48bc9de4ae 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -57,7 +57,7 @@ public final class KeyVaultSettingsClient { * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public KeyVaultSetting createOrUpdateSetting(String name, String value) { + public KeyVaultSetting updateSetting(String name, String value) { if (CoreUtils.isNullOrEmpty(name)) { throw new IllegalArgumentException("'name' cannot be empty or null"); } From 3882819b1039a77c4ce51decc50bff1a7ccf5ac4 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 26 Oct 2022 13:28:10 -0500 Subject: [PATCH 19/30] Added missing Javadoc. --- .../keyvault/administration/KeyVaultSettingsClient.java | 4 ++++ .../keyvault/administration/models/KeyVaultSetting.java | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 4f48bc9de4ae..f32a8acabc1c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -71,6 +71,7 @@ public KeyVaultSetting updateSetting(String name, String value) { * * @param name The name of the setting to update. * @param value The value to set. + * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. * * @return A {@link Response} whose {@link Response#getValue() value} contains the updated * {@link KeyVaultSetting account setting}. @@ -112,6 +113,7 @@ public KeyVaultSetting getSetting(String name) { * Get the value of a specific account setting. * * @param name The name of setting to retrieve the value of. + * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. * * @return A {@link Response} whose {@link Response#getValue() value} contains the * {@link KeyVaultSetting account setting}. @@ -152,6 +154,8 @@ public KeyVaultSettingsListResult listSettings() { /** * List the account's settings. * + * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. + * * @return A {@link Response} whose {@link Response#getValue() value} contains a * {@link KeyVaultSettingsListResult result object} wrapping the list of {@link KeyVaultSetting account settings}. * diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java index 5ce4f340f536..182098e56611 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -14,6 +14,13 @@ public final class KeyVaultSetting { private String value; private KeyVaultSettingType type; + /** + * Creates a new {@link KeyVaultSetting setting} with the specified details. + * + * @param name The name of the {@link KeyVaultSetting setting}. + * @param value The value of the {@link KeyVaultSetting setting}. + * @param type The data type of the contents of the {@link KeyVaultSetting setting}. + */ public KeyVaultSetting(String name, String value, KeyVaultSettingType type) { this.name = name; this.value = value; From 147c1751050ceab3840999286cc5c783f19bdcd6 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 26 Oct 2022 14:11:47 -0500 Subject: [PATCH 20/30] Fixed SpotBugs issues. --- .../KeyVaultSettingsAsyncClient.java | 4 ++-- .../KeyVaultSettingsClient.java | 14 ++++++----- .../KeyVaultSettingsClientBuilder.java | 3 +-- .../models/KeyVaultSetting.java | 24 +++---------------- .../models/KeyVaultSettingsListResult.java | 7 ++++-- 5 files changed, 19 insertions(+), 33 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index 6b07f371ce26..a8c5b3e39ad9 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -175,7 +175,7 @@ public Mono> getSettingWithResponse(String name) { * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @ServiceMethod(returns = ReturnType.COLLECTION) + @ServiceMethod(returns = ReturnType.SINGLE) public Mono listSettings() { try { return this.implClient.getSettingsAsync(vaultUrl) @@ -204,7 +204,7 @@ public Mono listSettings() { * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @ServiceMethod(returns = ReturnType.COLLECTION) + @ServiceMethod(returns = ReturnType.SINGLE) public Mono> listSettingsWithResponse() { try { return this.implClient.getSettingsWithResponseAsync(vaultUrl) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index f32a8acabc1c..77655176e3ff 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -10,6 +10,7 @@ import com.azure.core.http.rest.SimpleResponse; import com.azure.core.util.Context; import com.azure.core.util.CoreUtils; +import com.azure.core.util.logging.ClientLogger; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; @@ -33,6 +34,7 @@ public final class KeyVaultSettingsClient { private final String vaultUrl; private final KeyVaultSettingsClientImpl implClient; + private final ClientLogger logger = new ClientLogger(KeyVaultSettingsClient.class); /** * Initializes an instance of {@link KeyVaultSettingsClient} class. @@ -59,7 +61,7 @@ public final class KeyVaultSettingsClient { @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultSetting updateSetting(String name, String value) { if (CoreUtils.isNullOrEmpty(name)) { - throw new IllegalArgumentException("'name' cannot be empty or null"); + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( @@ -82,7 +84,7 @@ public KeyVaultSetting updateSetting(String name, String value) { @ServiceMethod(returns = ReturnType.SINGLE) public Response updateSettingWithResponse(String name, String value, Context context) { if (CoreUtils.isNullOrEmpty(name)) { - throw new IllegalArgumentException("'name' cannot be empty or null"); + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } Response response = this.implClient.updateSettingWithResponse(vaultUrl, name, value, context); @@ -103,7 +105,7 @@ public Response updateSettingWithResponse(String name, String v @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultSetting getSetting(String name) { if (CoreUtils.isNullOrEmpty(name)) { - throw new IllegalArgumentException("'name' cannot be empty or null"); + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(this.implClient.getSetting(vaultUrl, name)); @@ -124,7 +126,7 @@ public KeyVaultSetting getSetting(String name) { @ServiceMethod(returns = ReturnType.SINGLE) public Response getSettingWithResponse(String name, Context context) { if (CoreUtils.isNullOrEmpty(name)) { - throw new IllegalArgumentException("'name' cannot be empty or null"); + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } Response response = this.implClient.getSettingWithResponse(vaultUrl, name, context); @@ -141,7 +143,7 @@ public Response getSettingWithResponse(String name, Context con * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @ServiceMethod(returns = ReturnType.COLLECTION) + @ServiceMethod(returns = ReturnType.SINGLE) public KeyVaultSettingsListResult listSettings() { List keyVaultSettings = new ArrayList<>(); @@ -161,7 +163,7 @@ public KeyVaultSettingsListResult listSettings() { * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ - @ServiceMethod(returns = ReturnType.COLLECTION) + @ServiceMethod(returns = ReturnType.SINGLE) public Response listSettingsWithResponse(Context context) { Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java index b5da6195bcc4..07717ad9b041 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientBuilder.java @@ -65,8 +65,7 @@ public final class KeyVaultSettingsClientBuilder implements private static final String AZURE_KEY_VAULT_RBAC = "azure-key-vault-administration.properties"; private static final String SDK_NAME = "name"; private static final String SDK_VERSION = "version"; - - private final ClientLogger logger = new ClientLogger(KeyVaultBackupClientBuilder.class); + private final ClientLogger logger = new ClientLogger(KeyVaultSettingsClientBuilder.class); private final KeyVaultSettingsClientImplBuilder implClientBuilder; private final List pipelinePolicies; private final Map properties; diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java index 182098e56611..b0a6c85b8736 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -10,9 +10,9 @@ */ @Immutable public final class KeyVaultSetting { - private String name; - private String value; - private KeyVaultSettingType type; + private final String name; + private final String value; + private final KeyVaultSettingType type; /** * Creates a new {@link KeyVaultSetting setting} with the specified details. @@ -36,12 +36,6 @@ public String getName() { return this.name; } - KeyVaultSetting setName(String name) { - this.name = name; - - return this; - } - /** * Get the value of the {@link KeyVaultSetting}. * @@ -51,12 +45,6 @@ public String getValue() { return this.value; } - KeyVaultSetting setValue(String value) { - this.value = value; - - return this; - } - /** * Get the type of the {@link KeyVaultSetting}'s value. * @@ -65,10 +53,4 @@ KeyVaultSetting setValue(String value) { public KeyVaultSettingType getType() { return this.type; } - - KeyVaultSetting setType(KeyVaultSettingType type) { - this.type = type; - - return this; - } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java index 12ae1974aad9..b5e7fb19a5f3 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + package com.azure.security.keyvault.administration.models; import com.azure.core.annotation.Immutable; @@ -9,7 +12,7 @@ */ @Immutable public class KeyVaultSettingsListResult { - private List settings; + private final List settings; /** * Creates an instance of {@link KeyVaultSettingsListResult} class. @@ -17,7 +20,7 @@ public class KeyVaultSettingsListResult { * @param settings The list of {@link KeyVaultSetting settings} for the account. */ public KeyVaultSettingsListResult(List settings) { - + this.settings = settings; } /** From 950112026e32febc251969bb0e430ac96e9e53cd Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Wed, 26 Oct 2022 18:48:13 -0500 Subject: [PATCH 21/30] Applied APIView feedback. --- .../KeyVaultSettingsAsyncClient.java | 73 +++++++++++++++++-- .../KeyVaultSettingsClient.java | 60 +++++++++++++-- ...t.java => KeyVaultListSettingsResult.java} | 16 ++-- .../models/KeyVaultSetting.java | 21 +++++- 4 files changed, 144 insertions(+), 26 deletions(-) rename sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/{KeyVaultSettingsListResult.java => KeyVaultListSettingsResult.java} (56%) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index a8c5b3e39ad9..8573cc476daa 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -16,7 +16,7 @@ import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.models.KeyVaultSetting; import com.azure.security.keyvault.administration.models.KeyVaultSettingType; -import com.azure.security.keyvault.administration.models.KeyVaultSettingsListResult; +import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import reactor.core.publisher.Mono; import java.util.ArrayList; @@ -80,6 +80,35 @@ public Mono updateSetting(String name, String value) { } } + /** + * Updates a given account setting with the provided value. + * + * @param name The name of the account setting to update. + * @param value The value to set. + * + * @return A {@link Mono} containing the updated {@link KeyVaultSetting account setting}. + * + * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateSetting(String name, boolean value) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.updateSettingAsync(vaultUrl, name, Boolean.toString(value)) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) + .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(KeyVaultSettingsAsyncClient::transformToKeyVaultSetting); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + /** * Updates a given account setting with the provided value. * @@ -110,6 +139,36 @@ public Mono> updateSettingWithResponse(String name, St } } + /** + * Updates a given account setting with the provided value. + * + * @param name The name of the setting to update. + * @param value The value to set. + * + * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the updated + * {@link KeyVaultSetting account setting}. + * + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateSettingWithResponse(String name, boolean value) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + try { + return this.implClient.updateSettingWithResponseAsync(vaultUrl, name, Boolean.toString(value)) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) + .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) + .map(response -> new SimpleResponse<>(response, transformToKeyVaultSetting(response.getValue()))); + } catch (RuntimeException e) { + return monoError(logger, e); + } + } + /** * Get the value of a specific account setting. * @@ -170,13 +229,13 @@ public Mono> getSettingWithResponse(String name) { /** * List the account's settings. * - * @return A {@link Mono} containing a {@link KeyVaultSettingsListResult result object} wrapping the list of + * @return A {@link Mono} containing a {@link KeyVaultListSettingsResult result object} wrapping the list of * {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono listSettings() { + public Mono listSettings() { try { return this.implClient.getSettingsAsync(vaultUrl) .doOnRequest(ignored -> logger.verbose("Listing account settings")) @@ -189,7 +248,7 @@ public Mono listSettings() { settingsListResult.getValue().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); - return new KeyVaultSettingsListResult(keyVaultSettings); + return new KeyVaultListSettingsResult(keyVaultSettings); }); } catch (RuntimeException e) { return monoError(logger, e); @@ -200,12 +259,12 @@ public Mono listSettings() { * List the account's settings. * * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains a - * {@link KeyVaultSettingsListResult result object} wrapping the list of {@link KeyVaultSetting account settings}. + * {@link KeyVaultListSettingsResult result object} wrapping the list of {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> listSettingsWithResponse() { + public Mono> listSettingsWithResponse() { try { return this.implClient.getSettingsWithResponseAsync(vaultUrl) .doOnRequest(ignored -> logger.verbose("Listing account settings")) @@ -218,7 +277,7 @@ public Mono> listSettingsWithResponse() { response.getValue().getValue().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); - return new SimpleResponse<>(response, new KeyVaultSettingsListResult(keyVaultSettings)); + return new SimpleResponse<>(response, new KeyVaultListSettingsResult(keyVaultSettings)); }); } catch (RuntimeException e) { return monoError(logger, e); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 77655176e3ff..e5aa6cf80cd8 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -16,7 +16,7 @@ import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; -import com.azure.security.keyvault.administration.models.KeyVaultSettingsListResult; +import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import java.util.ArrayList; import java.util.List; @@ -68,6 +68,27 @@ public KeyVaultSetting updateSetting(String name, String value) { this.implClient.updateSetting(vaultUrl, name, value)); } + /** + * Updates a given account setting with the provided value. + * + * @param name The name of the account setting to update. + * @param value The value to set. + * + * @return The updated {@link KeyVaultSetting account setting}. + * + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public KeyVaultSetting updateSetting(String name, boolean value) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( + this.implClient.updateSetting(vaultUrl, name, Boolean.toString(value))); + } + /** * Updates a given account setting with the provided value. * @@ -92,6 +113,31 @@ public Response updateSettingWithResponse(String name, String v return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); } + /** + * Updates a given account setting with the provided value. + * + * @param name The name of the setting to update. + * @param value The value to set. + * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. + * + * @return A {@link Response} whose {@link Response#getValue() value} contains the updated + * {@link KeyVaultSetting account setting}. + * + * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. + * @throws KeyVaultErrorException thrown if the request is rejected by the server. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateSettingWithResponse(String name, boolean value, Context context) { + if (CoreUtils.isNullOrEmpty(name)) { + throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + } + + Response response = + this.implClient.updateSettingWithResponse(vaultUrl, name, Boolean.toString(value), context); + + return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); + } + /** * Get the value of a specific account setting. * @@ -138,19 +184,19 @@ public Response getSettingWithResponse(String name, Context con /** * List the account's settings. * - * @return A {@link KeyVaultSettingsListResult result object} wrapping the list of + * @return A {@link KeyVaultListSettingsResult result object} wrapping the list of * {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public KeyVaultSettingsListResult listSettings() { + public KeyVaultListSettingsResult listSettings() { List keyVaultSettings = new ArrayList<>(); this.implClient.getSettings(vaultUrl).getValue() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); - return new KeyVaultSettingsListResult(keyVaultSettings); + return new KeyVaultListSettingsResult(keyVaultSettings); } /** @@ -159,18 +205,18 @@ public KeyVaultSettingsListResult listSettings() { * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. * * @return A {@link Response} whose {@link Response#getValue() value} contains a - * {@link KeyVaultSettingsListResult result object} wrapping the list of {@link KeyVaultSetting account settings}. + * {@link KeyVaultListSettingsResult result object} wrapping the list of {@link KeyVaultSetting account settings}. * * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response listSettingsWithResponse(Context context) { + public Response listSettingsWithResponse(Context context) { Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); response.getValue().getValue() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); - return new SimpleResponse<>(response, new KeyVaultSettingsListResult(keyVaultSettings)); + return new SimpleResponse<>(response, new KeyVaultListSettingsResult(keyVaultSettings)); } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultListSettingsResult.java similarity index 56% rename from sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java rename to sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultListSettingsResult.java index b5e7fb19a5f3..07024458955a 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSettingsListResult.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultListSettingsResult.java @@ -11,16 +11,16 @@ * A result model containing the list of {@link KeyVaultSetting settings} for a given account. */ @Immutable -public class KeyVaultSettingsListResult { - private final List settings; +public class KeyVaultListSettingsResult { + private final List value; /** - * Creates an instance of {@link KeyVaultSettingsListResult} class. + * Creates an instance of {@link KeyVaultListSettingsResult} class. * - * @param settings The list of {@link KeyVaultSetting settings} for the account. + * @param value The list of {@link KeyVaultSetting settings} for the account. */ - public KeyVaultSettingsListResult(List settings) { - this.settings = settings; + public KeyVaultListSettingsResult(List value) { + this.value = value; } /** @@ -28,7 +28,7 @@ public KeyVaultSettingsListResult(List settings) { * * @return The list of {@link KeyVaultSetting settings} for the account. */ - public List getSettings() { - return this.settings; + public List getValue() { + return this.value; } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java index b0a6c85b8736..9a00c4387a23 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -4,6 +4,7 @@ package com.azure.security.keyvault.administration.models; import com.azure.core.annotation.Immutable; +import com.azure.core.util.logging.ClientLogger; /** * The {@link KeyVaultSetting} model. @@ -11,8 +12,9 @@ @Immutable public final class KeyVaultSetting { private final String name; - private final String value; + private final Object value; private final KeyVaultSettingType type; + private final ClientLogger logger = new ClientLogger(KeyVaultSetting.class); /** * Creates a new {@link KeyVaultSetting setting} with the specified details. @@ -23,8 +25,13 @@ public final class KeyVaultSetting { */ public KeyVaultSetting(String name, String value, KeyVaultSettingType type) { this.name = name; - this.value = value; this.type = type; + + if (type == KeyVaultSettingType.BOOLEAN) { + this.value = Boolean.valueOf(value); + } else { + this.value = value; + } } /** @@ -41,8 +48,14 @@ public String getName() { * * @return The value of the {@link KeyVaultSetting}. */ - public String getValue() { - return this.value; + public Boolean asBoolean() { + if (type != KeyVaultSettingType.BOOLEAN) { + throw logger.logExceptionAsError( + new UnsupportedOperationException(String.format("Cannot get setting value as %s from setting value of " + + "type %s", KeyVaultSettingType.BOOLEAN, this.getType()))); + } + + return (Boolean) this.value; } /** From 96aa7eeee5198456b2beeb08267725dd47c56244 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 28 Oct 2022 12:21:31 -0500 Subject: [PATCH 22/30] Updated `KeyVaultAdministrationServiceVersion.getLatest()` to return `V7_4_PREVIEW_1`. --- .../administration/KeyVaultAdministrationServiceVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java index f4a84ba30d9b..4b5f6ce683de 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultAdministrationServiceVersion.java @@ -41,6 +41,6 @@ public String getVersion() { * @return The latest {@link KeyVaultAdministrationServiceVersion}. */ public static KeyVaultAdministrationServiceVersion getLatest() { - return V7_3; + return V7_4_PREVIEW_1; } } From f67ee7f84ba7b40f39079aedbc5c3faddc6e2188 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Sun, 6 Nov 2022 11:42:34 -0600 Subject: [PATCH 23/30] Updated autorest.md to match what the service returns in SettingListResult ('settings' instead of 'value'). --- .../administration/KeyVaultSettingsAsyncClient.java | 4 ++-- .../administration/KeyVaultSettingsClient.java | 4 ++-- .../implementation/models/SettingsListResult.java | 12 ++++++------ .../swagger/autorest.md | 5 +++++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index 8573cc476daa..f1f4be641a50 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -245,7 +245,7 @@ public Mono listSettings() { .map(settingsListResult -> { List keyVaultSettings = new ArrayList<>(); - settingsListResult.getValue().forEach(setting -> + settingsListResult.getSettings().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); return new KeyVaultListSettingsResult(keyVaultSettings); @@ -274,7 +274,7 @@ public Mono> listSettingsWithResponse() { .map(response -> { List keyVaultSettings = new ArrayList<>(); - response.getValue().getValue().forEach(setting -> + response.getValue().getSettings().forEach(setting -> keyVaultSettings.add(transformToKeyVaultSetting(setting))); return new SimpleResponse<>(response, new KeyVaultListSettingsResult(keyVaultSettings)); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index e5aa6cf80cd8..a8f945412f21 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -193,7 +193,7 @@ public Response getSettingWithResponse(String name, Context con public KeyVaultListSettingsResult listSettings() { List keyVaultSettings = new ArrayList<>(); - this.implClient.getSettings(vaultUrl).getValue() + this.implClient.getSettings(vaultUrl).getSettings() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); return new KeyVaultListSettingsResult(keyVaultSettings); @@ -214,7 +214,7 @@ public Response listSettingsWithResponse(Context con Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); - response.getValue().getValue() + response.getValue().getSettings() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); return new SimpleResponse<>(response, new KeyVaultListSettingsResult(keyVaultSettings)); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java index 57296fc8cec1..93b76368ddf2 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/models/SettingsListResult.java @@ -14,18 +14,18 @@ public final class SettingsListResult { /* * A response message containing a list of account settings with their associated value. */ - @JsonProperty(value = "value", access = JsonProperty.Access.WRITE_ONLY) - private List value; + @JsonProperty(value = "settings", access = JsonProperty.Access.WRITE_ONLY) + private List settings; /** Creates an instance of SettingsListResult class. */ public SettingsListResult() {} /** - * Get the value property: A response message containing a list of account settings with their associated value. + * Get the settings property: A response message containing a list of account settings with their associated value. * - * @return the value value. + * @return the settings value. */ - public List getValue() { - return this.value; + public List getSettings() { + return this.settings; } } diff --git a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md index 18e8bb16afe7..cdaea0aeb91f 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md +++ b/sdk/keyvault/azure-security-keyvault-administration/swagger/autorest.md @@ -78,4 +78,9 @@ These settings apply only when `--tag=settings` is specified on the command line input-file: https://github.com/Azure/azure-rest-api-specs/tree/d78681a9d322bbd8d33ecaad7e6aaa2d513513b4/specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.4-preview.1/settings.json title: KeyVaultSettingsClient sync-methods: all +directive: +- where-model: SettingsListResult + rename-property: + from: value + to: settings ``` From 83612e6b0680256054ecdd7ccbcfa96271a8666b Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Sun, 6 Nov 2022 11:43:24 -0600 Subject: [PATCH 24/30] Changed updateSetting methods in clients to take a `KeyVaultSetting` instead of 'name' and 'value'. --- .../KeyVaultSettingsAsyncClient.java | 86 +++++++++---------- .../KeyVaultSettingsClient.java | 85 +++++++----------- .../models/KeyVaultSetting.java | 16 +++- 3 files changed, 84 insertions(+), 103 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index f1f4be641a50..e28fcc0de18f 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -11,16 +11,18 @@ import com.azure.core.util.CoreUtils; import com.azure.core.util.logging.ClientLogger; import com.azure.security.keyvault.administration.implementation.KeyVaultAdministrationUtils; +import com.azure.security.keyvault.administration.implementation.KeyVaultErrorCodeStrings; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; +import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; import com.azure.security.keyvault.administration.models.KeyVaultSettingType; -import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import reactor.core.publisher.Mono; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import static com.azure.core.util.FluxUtil.monoError; @@ -52,56 +54,37 @@ public final class KeyVaultSettingsAsyncClient { } /** - * Updates a given account setting with the provided value. + * Updates a given {@link KeyVaultSetting account setting}. * - * @param name The name of the account setting to update. - * @param value The value to set. + * @param setting The {@link KeyVaultSetting account setting} to update. * * @return A {@link Mono} containing the updated {@link KeyVaultSetting account setting}. * + * @throws NullPointerException if {@code setting} is {@code null}. * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSetting(String name, String value) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); - } + public Mono updateSetting(KeyVaultSetting setting) { + Objects.requireNonNull(setting, + String.format(KeyVaultErrorCodeStrings.getErrorString(KeyVaultErrorCodeStrings.PARAMETER_REQUIRED), + "'setting'")); - try { - return this.implClient.updateSettingAsync(vaultUrl, name, value) - .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) - .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) - .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) - .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) - .map(KeyVaultSettingsAsyncClient::transformToKeyVaultSetting); - } catch (RuntimeException e) { - return monoError(logger, e); + if (CoreUtils.isNullOrEmpty(setting.getName())) { + throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - } - /** - * Updates a given account setting with the provided value. - * - * @param name The name of the account setting to update. - * @param value The value to set. - * - * @return A {@link Mono} containing the updated {@link KeyVaultSetting account setting}. - * - * @throws IllegalArgumentException thrown if {@code name} or {@code value} is {@code null} or empty. - * @throws KeyVaultErrorException thrown if the request is rejected by the server. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSetting(String name, boolean value) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + String settingValueAsString = null; + + if (setting.getType() == KeyVaultSettingType.BOOLEAN) { + settingValueAsString = setting.asBoolean().toString(); } try { - return this.implClient.updateSettingAsync(vaultUrl, name, Boolean.toString(value)) - .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) - .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) - .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + return this.implClient.updateSettingAsync(vaultUrl, setting.getName(), settingValueAsString) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", setting.getName())) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", setting.getName())) + .doOnError(error -> logger.warning("Failed updating account setting - {}", setting.getName(), error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(KeyVaultSettingsAsyncClient::transformToKeyVaultSetting); } catch (RuntimeException e) { @@ -110,28 +93,39 @@ public Mono updateSetting(String name, boolean value) { } /** - * Updates a given account setting with the provided value. + * Updates a given {@link KeyVaultSetting account setting}. * - * @param name The name of the setting to update. - * @param value The value to set. + * @param setting The {@link KeyVaultSetting account setting} to update. * * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the updated * {@link KeyVaultSetting account setting}. * + * @throws NullPointerException if {@code setting} is {@code null}. * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSettingWithResponse(String name, String value) { - if (CoreUtils.isNullOrEmpty(name)) { + public Mono> updateSettingWithResponse(KeyVaultSetting setting) { + Objects.requireNonNull(setting, + String.format(KeyVaultErrorCodeStrings.getErrorString(KeyVaultErrorCodeStrings.PARAMETER_REQUIRED), + "'setting'")); + + + if (CoreUtils.isNullOrEmpty(setting.getName())) { throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } + String settingValueAsString = null; + + if (setting.getType() == KeyVaultSettingType.BOOLEAN) { + settingValueAsString = setting.asBoolean().toString(); + } + try { - return this.implClient.updateSettingWithResponseAsync(vaultUrl, name, value) - .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) - .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) - .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) + return this.implClient.updateSettingWithResponseAsync(vaultUrl, setting.getName(), settingValueAsString) + .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", setting.getName())) + .doOnSuccess(response -> logger.verbose("Updated account setting - {}", setting.getName())) + .doOnError(error -> logger.warning("Failed updating account setting - {}", setting.getName(), error)) .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) .map(response -> new SimpleResponse<>(response, transformToKeyVaultSetting(response.getValue()))); } catch (RuntimeException e) { diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index a8f945412f21..f9bd424fb43d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -11,15 +11,18 @@ import com.azure.core.util.Context; import com.azure.core.util.CoreUtils; import com.azure.core.util.logging.ClientLogger; +import com.azure.security.keyvault.administration.implementation.KeyVaultErrorCodeStrings; import com.azure.security.keyvault.administration.implementation.KeyVaultSettingsClientImpl; import com.azure.security.keyvault.administration.implementation.models.KeyVaultErrorException; import com.azure.security.keyvault.administration.implementation.models.Setting; import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; -import com.azure.security.keyvault.administration.models.KeyVaultSetting; import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import com.azure.security.keyvault.administration.models.KeyVaultSettingType; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * The {@link KeyVaultSettingsClient} provides asynchronous methods to create, update, get and list @@ -48,94 +51,66 @@ public final class KeyVaultSettingsClient { } /** - * Updates a given account setting with the provided value. + * Updates a given {@link KeyVaultSetting account setting}. * - * @param name The name of the account setting to update. - * @param value The value to set. + * @param setting The {@link KeyVaultSetting account setting} to update. * * @return The updated {@link KeyVaultSetting account setting}. * + * @throws NullPointerException if {@code setting} is {@code null}. * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public KeyVaultSetting updateSetting(String name, String value) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + public KeyVaultSetting updateSetting(KeyVaultSetting setting) { + Objects.requireNonNull(setting, + String.format(KeyVaultErrorCodeStrings.getErrorString(KeyVaultErrorCodeStrings.PARAMETER_REQUIRED), + "'setting'")); + + if (CoreUtils.isNullOrEmpty(setting.getName())) { + throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( - this.implClient.updateSetting(vaultUrl, name, value)); - } + String settingValueAsString = null; - /** - * Updates a given account setting with the provided value. - * - * @param name The name of the account setting to update. - * @param value The value to set. - * - * @return The updated {@link KeyVaultSetting account setting}. - * - * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. - * @throws KeyVaultErrorException thrown if the request is rejected by the server. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public KeyVaultSetting updateSetting(String name, boolean value) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + if (setting.getType() == KeyVaultSettingType.BOOLEAN) { + settingValueAsString = setting.asBoolean().toString(); } return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( - this.implClient.updateSetting(vaultUrl, name, Boolean.toString(value))); + this.implClient.updateSetting(vaultUrl, setting.getName(), settingValueAsString)); } /** - * Updates a given account setting with the provided value. + * Updates a given {@link KeyVaultSetting account setting}. * - * @param name The name of the setting to update. - * @param value The value to set. + * @param setting The {@link KeyVaultSetting account setting} to update. * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. * * @return A {@link Response} whose {@link Response#getValue() value} contains the updated * {@link KeyVaultSetting account setting}. * + * @throws NullPointerException if {@code setting} is {@code null}. * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. * @throws KeyVaultErrorException thrown if the request is rejected by the server. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateSettingWithResponse(String name, String value, Context context) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + public Response updateSettingWithResponse(KeyVaultSetting setting, Context context) { + if (CoreUtils.isNullOrEmpty(setting.getName())) { + throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - Response response = this.implClient.updateSettingWithResponse(vaultUrl, name, value, context); - - return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); - } + String settingValueAsString = null; - /** - * Updates a given account setting with the provided value. - * - * @param name The name of the setting to update. - * @param value The value to set. - * @param context Additional {@link Context} that is passed through the HTTP pipeline during the service call. - * - * @return A {@link Response} whose {@link Response#getValue() value} contains the updated - * {@link KeyVaultSetting account setting}. - * - * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. - * @throws KeyVaultErrorException thrown if the request is rejected by the server. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateSettingWithResponse(String name, boolean value, Context context) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); + if (setting.getType() == KeyVaultSettingType.BOOLEAN) { + settingValueAsString = setting.asBoolean().toString(); } Response response = - this.implClient.updateSettingWithResponse(vaultUrl, name, Boolean.toString(value), context); + this.implClient.updateSettingWithResponse(vaultUrl, setting.getName(), settingValueAsString, context); - return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); + return new SimpleResponse<>(response, + KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); } /** diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java index 9a00c4387a23..e69e08f62f44 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -34,6 +34,18 @@ public KeyVaultSetting(String name, String value, KeyVaultSettingType type) { } } + /** + * Creates a new {@link KeyVaultSetting setting} with the specified details. + * + * @param name The name of the {@link KeyVaultSetting setting}. + * @param value The value of the {@link KeyVaultSetting setting}. + */ + public KeyVaultSetting(String name, Boolean value) { + this.name = name; + this.value = value; + this.type = KeyVaultSettingType.BOOLEAN; + } + /** * Gets the name of the {@link KeyVaultSetting}. * @@ -44,9 +56,9 @@ public String getName() { } /** - * Get the value of the {@link KeyVaultSetting}. + * Get the value of the {@link KeyVaultSetting} as a {@link Boolean}. * - * @return The value of the {@link KeyVaultSetting}. + * @return The value of the {@link KeyVaultSetting} as a {@link Boolean}. */ public Boolean asBoolean() { if (type != KeyVaultSettingType.BOOLEAN) { From 5790629223c3249ca23b3d0a67cede5f8089f2c5 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 12:58:33 -0600 Subject: [PATCH 25/30] Re-generated Settings impl client. --- .../KeyVaultSettingsClient.java | 12 +- .../KeyVaultSettingsClientImpl.java | 170 ++++++++++++++++-- 2 files changed, 164 insertions(+), 18 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index f9bd424fb43d..0052ef4ba213 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -78,7 +78,7 @@ public KeyVaultSetting updateSetting(KeyVaultSetting setting) { } return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( - this.implClient.updateSetting(vaultUrl, setting.getName(), settingValueAsString)); + this.implClient.updateSettingSync(vaultUrl, setting.getName(), settingValueAsString)); } /** @@ -107,7 +107,7 @@ public Response updateSettingWithResponse(KeyVaultSetting setti } Response response = - this.implClient.updateSettingWithResponse(vaultUrl, setting.getName(), settingValueAsString, context); + this.implClient.updateSettingSyncWithResponse(vaultUrl, setting.getName(), settingValueAsString, context); return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); @@ -129,7 +129,7 @@ public KeyVaultSetting getSetting(String name) { throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } - return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(this.implClient.getSetting(vaultUrl, name)); + return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(this.implClient.getSettingSync(vaultUrl, name)); } /** @@ -150,7 +150,7 @@ public Response getSettingWithResponse(String name, Context con throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } - Response response = this.implClient.getSettingWithResponse(vaultUrl, name, context); + Response response = this.implClient.getSettingSyncWithResponse(vaultUrl, name, context); return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); @@ -168,7 +168,7 @@ public Response getSettingWithResponse(String name, Context con public KeyVaultListSettingsResult listSettings() { List keyVaultSettings = new ArrayList<>(); - this.implClient.getSettings(vaultUrl).getSettings() + this.implClient.getSettingsSync(vaultUrl).getSettings() .forEach(setting -> keyVaultSettings.add(KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(setting))); return new KeyVaultListSettingsResult(keyVaultSettings); @@ -186,7 +186,7 @@ public KeyVaultListSettingsResult listSettings() { */ @ServiceMethod(returns = ReturnType.SINGLE) public Response listSettingsWithResponse(Context context) { - Response response = this.implClient.getSettingsWithResponse(vaultUrl, context); + Response response = this.implClient.getSettingsSyncWithResponse(vaultUrl, context); List keyVaultSettings = new ArrayList<>(); response.getValue().getSettings() diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java index 0dbf31cd38a1..09a807d93f37 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/implementation/KeyVaultSettingsClientImpl.java @@ -132,6 +132,17 @@ Mono> updateSetting( @HeaderParam("Accept") String accept, Context context); + @Patch("/settings/{setting-name}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Response updateSettingSync( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @PathParam("setting-name") String settingName, + @QueryParam("api-version") String apiVersion, + @BodyParam("application/json") UpdateSettingRequest parameters, + @HeaderParam("Accept") String accept, + Context context); + @Get("/settings/{setting-name}") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(KeyVaultErrorException.class) @@ -142,6 +153,16 @@ Mono> getSetting( @HeaderParam("Accept") String accept, Context context); + @Get("/settings/{setting-name}") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Response getSettingSync( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @PathParam("setting-name") String settingName, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); + @Get("/settings") @ExpectedResponses({200}) @UnexpectedResponseExceptionType(KeyVaultErrorException.class) @@ -150,6 +171,15 @@ Mono> getSettings( @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, Context context); + + @Get("/settings") + @ExpectedResponses({200}) + @UnexpectedResponseExceptionType(KeyVaultErrorException.class) + Response getSettingsSync( + @HostParam("vaultBaseUrl") String vaultBaseUrl, + @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, + Context context); } /** @@ -239,6 +269,28 @@ public Mono updateSettingAsync(String vaultBaseUrl, String settingName, .flatMap(res -> Mono.justOrEmpty(res.getValue())); } + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateSettingSyncWithResponse(String vaultBaseUrl, String settingName, String value) { + final String accept = "application/json"; + UpdateSettingRequest parameters = new UpdateSettingRequest(); + parameters.setValue(value); + return service.updateSettingSync( + vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, Context.NONE); + } + /** * Updates key vault account setting, stores it, then returns the setting name and value to the client. * @@ -254,9 +306,30 @@ public Mono updateSettingAsync(String vaultBaseUrl, String settingName, * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateSettingWithResponse( + public Response updateSettingSyncWithResponse( String vaultBaseUrl, String settingName, String value, Context context) { - return updateSettingWithResponseAsync(vaultBaseUrl, settingName, value, context).block(); + final String accept = "application/json"; + UpdateSettingRequest parameters = new UpdateSettingRequest(); + parameters.setValue(value); + return service.updateSettingSync(vaultBaseUrl, settingName, this.getApiVersion(), parameters, accept, context); + } + + /** + * Updates key vault account setting, stores it, then returns the setting name and value to the client. + * + *

Description of the pool setting to be updated. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param value The value of the pool setting. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting updateSettingSync(String vaultBaseUrl, String settingName, String value) { + return updateSettingSyncWithResponse(vaultBaseUrl, settingName, value, Context.NONE).getValue(); } /** @@ -267,14 +340,15 @@ public Response updateSettingWithResponse( * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. * @param settingName The name of the account setting. Must be a valid settings option. * @param value The value of the pool setting. + * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws KeyVaultErrorException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Setting updateSetting(String vaultBaseUrl, String settingName, String value) { - return updateSettingWithResponse(vaultBaseUrl, settingName, value, Context.NONE).getValue(); + public Setting updateSettingSync(String vaultBaseUrl, String settingName, String value, Context context) { + return updateSettingSyncWithResponse(vaultBaseUrl, settingName, value, context).getValue(); } /** @@ -352,6 +426,24 @@ public Mono getSettingAsync(String vaultBaseUrl, String settingName, Co .flatMap(res -> Mono.justOrEmpty(res.getValue())); } + /** + * Get specified account setting object. + * + *

Retrieves the setting object of a specified setting name. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingSyncWithResponse(String vaultBaseUrl, String settingName) { + final String accept = "application/json"; + return service.getSettingSync(vaultBaseUrl, settingName, this.getApiVersion(), accept, Context.NONE); + } + /** * Get specified account setting object. * @@ -366,8 +458,9 @@ public Mono getSettingAsync(String vaultBaseUrl, String settingName, Co * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSettingWithResponse(String vaultBaseUrl, String settingName, Context context) { - return getSettingWithResponseAsync(vaultBaseUrl, settingName, context).block(); + public Response getSettingSyncWithResponse(String vaultBaseUrl, String settingName, Context context) { + final String accept = "application/json"; + return service.getSettingSync(vaultBaseUrl, settingName, this.getApiVersion(), accept, context); } /** @@ -383,8 +476,26 @@ public Response getSettingWithResponse(String vaultBaseUrl, String sett * @return the response. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Setting getSetting(String vaultBaseUrl, String settingName) { - return getSettingWithResponse(vaultBaseUrl, settingName, Context.NONE).getValue(); + public Setting getSettingSync(String vaultBaseUrl, String settingName) { + return getSettingSyncWithResponse(vaultBaseUrl, settingName, Context.NONE).getValue(); + } + + /** + * Get specified account setting object. + * + *

Retrieves the setting object of a specified setting name. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param settingName The name of the account setting. Must be a valid settings option. + * @param context The context to associate with this operation. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Setting getSettingSync(String vaultBaseUrl, String settingName, Context context) { + return getSettingSyncWithResponse(vaultBaseUrl, settingName, context).getValue(); } /** @@ -456,6 +567,23 @@ public Mono getSettingsAsync(String vaultBaseUrl, Context co return getSettingsWithResponseAsync(vaultBaseUrl, context).flatMap(res -> Mono.justOrEmpty(res.getValue())); } + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSettingsSyncWithResponse(String vaultBaseUrl) { + final String accept = "application/json"; + return service.getSettingsSync(vaultBaseUrl, this.getApiVersion(), accept, Context.NONE); + } + /** * List account settings. * @@ -469,8 +597,25 @@ public Mono getSettingsAsync(String vaultBaseUrl, Context co * @return the settings list result along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSettingsWithResponse(String vaultBaseUrl, Context context) { - return getSettingsWithResponseAsync(vaultBaseUrl, context).block(); + public Response getSettingsSyncWithResponse(String vaultBaseUrl, Context context) { + final String accept = "application/json"; + return service.getSettingsSync(vaultBaseUrl, this.getApiVersion(), accept, context); + } + + /** + * List account settings. + * + *

Retrieves a list of all the available account settings that can be configured. + * + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws KeyVaultErrorException thrown if the request is rejected by server. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the settings list result. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public SettingsListResult getSettingsSync(String vaultBaseUrl) { + return getSettingsSyncWithResponse(vaultBaseUrl, Context.NONE).getValue(); } /** @@ -479,13 +624,14 @@ public Response getSettingsWithResponse(String vaultBaseUrl, *

Retrieves a list of all the available account settings that can be configured. * * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param context The context to associate with this operation. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws KeyVaultErrorException thrown if the request is rejected by server. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return the settings list result. */ @ServiceMethod(returns = ReturnType.SINGLE) - public SettingsListResult getSettings(String vaultBaseUrl) { - return getSettingsWithResponse(vaultBaseUrl, Context.NONE).getValue(); + public SettingsListResult getSettingsSync(String vaultBaseUrl, Context context) { + return getSettingsSyncWithResponse(vaultBaseUrl, context).getValue(); } } From 5f033dbead94a9e024cde827fc940dcb03e73ba4 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 13:43:11 -0600 Subject: [PATCH 26/30] Re-recorded tests. --- .../KeyVaultSettingsAsyncClient.java | 46 +- .../KeyVaultSettingsClient.java | 16 +- .../models/KeyVaultSetting.java | 11 +- ...createExistingRoleAssignmentThrows[1].json | 42 +- ...yncClientTest.createRoleAssignment[1].json | 30 +- ...ExistingRoleAssignmentDoesNotThrow[1].json | 14 +- ...ExistingRoleDefinitionDoesNotThrow[1].json | 16 +- ...yncClientTest.deleteRoleAssignment[1].json | 44 +- ...yncClientTest.deleteRoleDefinition[1].json | 30 +- ...lAsyncClientTest.getRoleAssignment[1].json | 46 +- ...lAsyncClientTest.getRoleDefinition[1].json | 32 +- ...syncClientTest.listRoleAssignments[1].json | 18 +- ...syncClientTest.listRoleDefinitions[1].json | 18 +- ...lAsyncClientTest.setRoleDefinition[1].json | 16 +- ...createExistingRoleAssignmentThrows[1].json | 44 +- ...rolClientTest.createRoleAssignment[1].json | 30 +- ...ExistingRoleAssignmentDoesNotThrow[1].json | 16 +- ...ExistingRoleDefinitionDoesNotThrow[1].json | 16 +- ...rolClientTest.deleteRoleAssignment[1].json | 46 +- ...rolClientTest.deleteRoleDefinition[1].json | 32 +- ...ontrolClientTest.getRoleAssignment[1].json | 48 +- ...ontrolClientTest.getRoleDefinition[1].json | 34 +- ...trolClientTest.listRoleAssignments[1].json | 38 +- ...trolClientTest.listRoleDefinitions[1].json | 36 +- ...ontrolClientTest.setRoleDefinition[1].json | 18 +- ...tBackupAsyncClientTest.beginBackup[1].json | 178 ++++-- ...BackupAsyncClientTest.beginRestore[1].json | 350 ++++++++---- ...lientTest.beginSelectiveKeyRestore[1].json | 282 +++++---- ...yVaultBackupClientTest.beginBackup[1].json | 178 ++++-- ...VaultBackupClientTest.beginRestore[1].json | 539 ++++++++++++++---- ...lientTest.beginSelectiveKeyRestore[1].json | 307 ++++++---- 31 files changed, 1628 insertions(+), 943 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java index e28fcc0de18f..75eee8f95cc8 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClient.java @@ -74,14 +74,8 @@ public Mono updateSetting(KeyVaultSetting setting) { throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - String settingValueAsString = null; - - if (setting.getType() == KeyVaultSettingType.BOOLEAN) { - settingValueAsString = setting.asBoolean().toString(); - } - try { - return this.implClient.updateSettingAsync(vaultUrl, setting.getName(), settingValueAsString) + return this.implClient.updateSettingAsync(vaultUrl, setting.getName(), setting.asString()) .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", setting.getName())) .doOnSuccess(response -> logger.verbose("Updated account setting - {}", setting.getName())) .doOnError(error -> logger.warning("Failed updating account setting - {}", setting.getName(), error)) @@ -115,14 +109,8 @@ public Mono> updateSettingWithResponse(KeyVaultSetting throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); } - String settingValueAsString = null; - - if (setting.getType() == KeyVaultSettingType.BOOLEAN) { - settingValueAsString = setting.asBoolean().toString(); - } - try { - return this.implClient.updateSettingWithResponseAsync(vaultUrl, setting.getName(), settingValueAsString) + return this.implClient.updateSettingWithResponseAsync(vaultUrl, setting.getName(), setting.asString()) .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", setting.getName())) .doOnSuccess(response -> logger.verbose("Updated account setting - {}", setting.getName())) .doOnError(error -> logger.warning("Failed updating account setting - {}", setting.getName(), error)) @@ -133,36 +121,6 @@ public Mono> updateSettingWithResponse(KeyVaultSetting } } - /** - * Updates a given account setting with the provided value. - * - * @param name The name of the setting to update. - * @param value The value to set. - * - * @return A {@link Mono} containing a {@link Response} whose {@link Response#getValue() value} contains the updated - * {@link KeyVaultSetting account setting}. - * - * @throws IllegalArgumentException thrown if {@code name} is {@code null} or empty. - * @throws KeyVaultErrorException thrown if the request is rejected by the server. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSettingWithResponse(String name, boolean value) { - if (CoreUtils.isNullOrEmpty(name)) { - throw logger.logExceptionAsError(new IllegalArgumentException("'name' cannot be empty or null")); - } - - try { - return this.implClient.updateSettingWithResponseAsync(vaultUrl, name, Boolean.toString(value)) - .doOnRequest(ignored -> logger.verbose("Updating account setting - {}", name)) - .doOnSuccess(response -> logger.verbose("Updated account setting - {}", name)) - .doOnError(error -> logger.warning("Failed updating account setting - {}", name, error)) - .onErrorMap(KeyVaultAdministrationUtils::mapThrowableToKeyVaultAdministrationException) - .map(response -> new SimpleResponse<>(response, transformToKeyVaultSetting(response.getValue()))); - } catch (RuntimeException e) { - return monoError(logger, e); - } - } - /** * Get the value of a specific account setting. * diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index 0052ef4ba213..e66db4e72b45 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -71,14 +71,8 @@ public KeyVaultSetting updateSetting(KeyVaultSetting setting) { throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - String settingValueAsString = null; - - if (setting.getType() == KeyVaultSettingType.BOOLEAN) { - settingValueAsString = setting.asBoolean().toString(); - } - return KeyVaultSettingsAsyncClient.transformToKeyVaultSetting( - this.implClient.updateSettingSync(vaultUrl, setting.getName(), settingValueAsString)); + this.implClient.updateSettingSync(vaultUrl, setting.getName(), setting.asString())); } /** @@ -100,14 +94,8 @@ public Response updateSettingWithResponse(KeyVaultSetting setti throw logger.logExceptionAsError(new IllegalArgumentException("Setting name cannot be null or empty")); } - String settingValueAsString = null; - - if (setting.getType() == KeyVaultSettingType.BOOLEAN) { - settingValueAsString = setting.asBoolean().toString(); - } - Response response = - this.implClient.updateSettingSyncWithResponse(vaultUrl, setting.getName(), settingValueAsString, context); + this.implClient.updateSettingSyncWithResponse(vaultUrl, setting.getName(), setting.asString(), context); return new SimpleResponse<>(response, KeyVaultSettingsAsyncClient.transformToKeyVaultSetting(response.getValue())); diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java index e69e08f62f44..43bda3f371fa 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/models/KeyVaultSetting.java @@ -67,7 +67,16 @@ public Boolean asBoolean() { + "type %s", KeyVaultSettingType.BOOLEAN, this.getType()))); } - return (Boolean) this.value; + return this.value == null ? null : (Boolean) this.value; + } + + /** + * Get the value of the {@link KeyVaultSetting} as a {@link String}. + * + * @return The value of the {@link KeyVaultSetting} as a {@link String}. + */ + public String asString() { + return this.value == null ? null : this.value.toString(); } /** diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json index 7a2cc2fa4f58..d4c37c97810e 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createExistingRoleAssignmentThrows[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/59f337b0-06ca-45c4-b956-4a44851f24f9?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/3d6911b1-bab1-4b01-ab54-63a82f32c30b?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "48", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "40", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a3e0b208-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/59f337b0-06ca-45c4-b956-4a44851f24f9\",\"name\":\"59f337b0-06ca-45c4-b956-4a44851f24f9\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"59f337b0-06ca-45c4-b956-4a44851f24f9\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "046fde92-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3d6911b1-bab1-4b01-ab54-63a82f32c30b\",\"name\":\"3d6911b1-bab1-4b01-ab54-63a82f32c30b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3d6911b1-bab1-4b01-ab54-63a82f32c30b\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/484def6b-f21f-4376-a939-62044cfdfbed?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/1d01e892-1ff4-4b99-b510-0125214062e4?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,23 +35,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "70", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "46", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a6e40086-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/484def6b-f21f-4376-a939-62044cfdfbed\",\"name\":\"484def6b-f21f-4376-a939-62044cfdfbed\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/59f337b0-06ca-45c4-b956-4a44851f24f9\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "0780d816-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1d01e892-1ff4-4b99-b510-0125214062e4\",\"name\":\"1d01e892-1ff4-4b99-b510-0125214062e4\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3d6911b1-bab1-4b01-ab54-63a82f32c30b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/484def6b-f21f-4376-a939-62044cfdfbed?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/1d01e892-1ff4-4b99-b510-0125214062e4?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -63,12 +63,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "400", - "x-ms-request-id" : "a9e90ee8-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: a9e90ee8-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "2", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "0a9455fa-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: 0a9455fa-61f7-11ed-8261-0022488d4c2b)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "1" }, "Exception" : null } ], - "variables" : [ "59f337b0-06ca-45c4-b956-4a44851f24f9", "484def6b-f21f-4376-a939-62044cfdfbed" ] + "variables" : [ "3d6911b1-bab1-4b01-ab54-63a82f32c30b", "1d01e892-1ff4-4b99-b510-0125214062e4" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json index 37b0d1e88cc9..56fe4e39f87c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.createRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/530aedd2-c40a-47d7-b92a-9ad90e6a66f4?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/0a32754a-9170-4d90-b5a1-6cc168a466b4?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "44", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "aa3fab40-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/530aedd2-c40a-47d7-b92a-9ad90e6a66f4\",\"name\":\"530aedd2-c40a-47d7-b92a-9ad90e6a66f4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"530aedd2-c40a-47d7-b92a-9ad90e6a66f4\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "0b18ba2a-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0a32754a-9170-4d90-b5a1-6cc168a466b4\",\"name\":\"0a32754a-9170-4d90-b5a1-6cc168a466b4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"0a32754a-9170-4d90-b5a1-6cc168a466b4\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/2f4b9346-a567-4b88-a2bc-f751413fa0ed?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/f9cfecf5-2241-4dbb-8198-956fe90e9b0a?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,18 +35,18 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "44", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ad44050c-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/2f4b9346-a567-4b88-a2bc-f751413fa0ed\",\"name\":\"2f4b9346-a567-4b88-a2bc-f751413fa0ed\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/530aedd2-c40a-47d7-b92a-9ad90e6a66f4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "0e293762-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/f9cfecf5-2241-4dbb-8198-956fe90e9b0a\",\"name\":\"f9cfecf5-2241-4dbb-8198-956fe90e9b0a\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0a32754a-9170-4d90-b5a1-6cc168a466b4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "530aedd2-c40a-47d7-b92a-9ad90e6a66f4", "2f4b9346-a567-4b88-a2bc-f751413fa0ed" ] + "variables" : [ "0a32754a-9170-4d90-b5a1-6cc168a466b4", "f9cfecf5-2241-4dbb-8198-956fe90e9b0a" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json index 9160f1299325..d5bde92ec6f1 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/94c51cc6-dff4-4902-8d28-a252087c8003?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/2aaa4f41-8fa5-45c7-95a3-52933f2a2a17?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "143", @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "9a3de842-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: 9a3de842-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "0", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "f9ba809c-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: f9ba809c-61f6-11ed-8261-0022488d4c2b)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "0" }, "Exception" : null } ], - "variables" : [ "94c51cc6-dff4-4902-8d28-a252087c8003" ] + "variables" : [ "2aaa4f41-8fa5-45c7-95a3-52933f2a2a17" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json index 5246c2f4532c..9d9f6a70c44c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/211616e3-d938-45d8-8fd9-2137b11d006a?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/16e292bc-a0e2-450f-a941-ef56cffe12db?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "143", @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "93df8d3e-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: 93df8d3e-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "1", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "f2d479a4-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: f2d479a4-61f6-11ed-8261-0022488d4c2b)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "1" }, "Exception" : null } ], - "variables" : [ "211616e3-d938-45d8-8fd9-2137b11d006a" ] -} \ No newline at end of file + "variables" : [ "16e292bc-a0e2-450f-a941-ef56cffe12db" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json index 43375d406017..7364aa857ded 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/39a0ace8-6dc5-4174-983b-0c005ea9c983?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/e7c7335e-fd37-4139-9e80-11c29b108987?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "43", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "46", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b07f236e-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/39a0ace8-6dc5-4174-983b-0c005ea9c983\",\"name\":\"39a0ace8-6dc5-4174-983b-0c005ea9c983\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"39a0ace8-6dc5-4174-983b-0c005ea9c983\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "11816524-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/e7c7335e-fd37-4139-9e80-11c29b108987\",\"name\":\"e7c7335e-fd37-4139-9e80-11c29b108987\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"e7c7335e-fd37-4139-9e80-11c29b108987\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ba5882ec-baed-40f5-a86d-a8f00eac90b2?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ac4e7c7f-3139-4f7e-a95f-8fd025b7d985?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,41 +35,41 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "46", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b3828ff6-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ba5882ec-baed-40f5-a86d-a8f00eac90b2\",\"name\":\"ba5882ec-baed-40f5-a86d-a8f00eac90b2\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/39a0ace8-6dc5-4174-983b-0c005ea9c983\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "148f6b62-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ac4e7c7f-3139-4f7e-a95f-8fd025b7d985\",\"name\":\"ac4e7c7f-3139-4f7e-a95f-8fd025b7d985\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/e7c7335e-fd37-4139-9e80-11c29b108987\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ba5882ec-baed-40f5-a86d-a8f00eac90b2?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/ac4e7c7f-3139-4f7e-a95f-8fd025b7d985?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "49", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b6870998-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ba5882ec-baed-40f5-a86d-a8f00eac90b2\",\"name\":\"ba5882ec-baed-40f5-a86d-a8f00eac90b2\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/39a0ace8-6dc5-4174-983b-0c005ea9c983\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "179dae04-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ac4e7c7f-3139-4f7e-a95f-8fd025b7d985\",\"name\":\"ac4e7c7f-3139-4f7e-a95f-8fd025b7d985\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/e7c7335e-fd37-4139-9e80-11c29b108987\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "39a0ace8-6dc5-4174-983b-0c005ea9c983", "ba5882ec-baed-40f5-a86d-a8f00eac90b2" ] + "variables" : [ "e7c7335e-fd37-4139-9e80-11c29b108987", "ac4e7c7f-3139-4f7e-a95f-8fd025b7d985" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json index a8cc257775a1..2b8fbaf42483 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.deleteRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/f66681ea-d708-46b5-bf39-3ecf7396f237?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/1140780c-907f-4c7f-adc1-6447ebcf39cf?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,41 +11,41 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "43", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9d8a71c8-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/f66681ea-d708-46b5-bf39-3ecf7396f237\",\"name\":\"f66681ea-d708-46b5-bf39-3ecf7396f237\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"f66681ea-d708-46b5-bf39-3ecf7396f237\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "fd9c75b2-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"name\":\"1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/f66681ea-d708-46b5-bf39-3ecf7396f237?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/1140780c-907f-4c7f-adc1-6447ebcf39cf?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "49", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "40", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a08e2176-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/f66681ea-d708-46b5-bf39-3ecf7396f237\",\"name\":\"f66681ea-d708-46b5-bf39-3ecf7396f237\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"f66681ea-d708-46b5-bf39-3ecf7396f237\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "00ae1f08-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"name\":\"1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"1140780c-907f-4c7f-adc1-6447ebcf39cf\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "f66681ea-d708-46b5-bf39-3ecf7396f237" ] + "variables" : [ "1140780c-907f-4c7f-adc1-6447ebcf39cf" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json index 373fe1877c3a..f04e6cac326b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/db9afa05-50e8-45ec-bb4b-87445331bb52?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/677446f7-91bf-4d12-9a50-ff2c4369163b?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "48", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "52", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "93f7c8fe-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/db9afa05-50e8-45ec-bb4b-87445331bb52\",\"name\":\"db9afa05-50e8-45ec-bb4b-87445331bb52\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"db9afa05-50e8-45ec-bb4b-87445331bb52\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "f313f00c-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/677446f7-91bf-4d12-9a50-ff2c4369163b\",\"name\":\"677446f7-91bf-4d12-9a50-ff2c4369163b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"677446f7-91bf-4d12-9a50-ff2c4369163b\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/11ff0c07-ff23-4657-8d29-dce1ddb827e3?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/a5790c2d-89bf-4b53-a11b-cd336f0c07f4?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,42 +35,42 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "47", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9701f272-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/11ff0c07-ff23-4657-8d29-dce1ddb827e3\",\"name\":\"11ff0c07-ff23-4657-8d29-dce1ddb827e3\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/db9afa05-50e8-45ec-bb4b-87445331bb52\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "f6326a0c-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a5790c2d-89bf-4b53-a11b-cd336f0c07f4\",\"name\":\"a5790c2d-89bf-4b53-a11b-cd336f0c07f4\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/677446f7-91bf-4d12-9a50-ff2c4369163b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/11ff0c07-ff23-4657-8d29-dce1ddb827e3?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/a5790c2d-89bf-4b53-a11b-cd336f0c07f4?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9a0747a6-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/11ff0c07-ff23-4657-8d29-dce1ddb827e3\",\"name\":\"11ff0c07-ff23-4657-8d29-dce1ddb827e3\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/db9afa05-50e8-45ec-bb4b-87445331bb52\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "f9464380-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/a5790c2d-89bf-4b53-a11b-cd336f0c07f4\",\"name\":\"a5790c2d-89bf-4b53-a11b-cd336f0c07f4\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/677446f7-91bf-4d12-9a50-ff2c4369163b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "db9afa05-50e8-45ec-bb4b-87445331bb52", "11ff0c07-ff23-4657-8d29-dce1ddb827e3" ] + "variables" : [ "677446f7-91bf-4d12-9a50-ff2c4369163b", "a5790c2d-89bf-4b53-a11b-cd336f0c07f4" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json index 407e4fb5041e..43ac371262da 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.getRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/17a2acd7-f534-4baa-a993-857992ddcf95?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,42 +11,42 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "39", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a0aa8fd2-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"name\":\"4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "00dee1d8-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/17a2acd7-f534-4baa-a993-857992ddcf95\",\"name\":\"17a2acd7-f534-4baa-a993-857992ddcf95\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"17a2acd7-f534-4baa-a993-857992ddcf95\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/17a2acd7-f534-4baa-a993-857992ddcf95?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "a3aefad8-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"name\":\"4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "03efcbd0-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/17a2acd7-f534-4baa-a993-857992ddcf95\",\"name\":\"17a2acd7-f534-4baa-a993-857992ddcf95\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"17a2acd7-f534-4baa-a993-857992ddcf95\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "4ca6a30f-cea6-4ca9-8a6c-9ebe248a5500" ] + "variables" : [ "17a2acd7-f534-4baa-a993-857992ddcf95" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json index 6301697eeb51..ac197dbb3d11 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleAssignments[1].json @@ -1,26 +1,26 @@ { "networkCallRecords" : [ { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "2804", + "content-length" : "2006", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "0", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9d7da2ea-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"name\":\"ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0ff09664-1852-4a50-933a-3cc912b5f1c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"name\":\"748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"name\":\"4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"properties\":{\"principalId\":\"e9d1e02a-01d1-490a-b6ad-e06ac00c374a\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/239eaebe-7f34-4a23-853b-98494b96e5cf\",\"name\":\"239eaebe-7f34-4a23-853b-98494b96e5cf\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1c160530-8e97-458b-b354-754d8ca16e19\",\"name\":\"1c160530-8e97-458b-b354-754d8ca16e19\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/11ba89fb-9d24-4025-b301-9b6631e4591f\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/83c31251-8340-43b1-9f32-0364bed1b1f5\",\"name\":\"83c31251-8340-43b1-9f32-0364bed1b1f5\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/015854bd-5e36-468a-86fc-2b353eef81ce\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"name\":\"0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "fd6b01f8-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"name\":\"683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"name\":\"fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/89cd1115-0fed-07f1-1411-8d839b74cdab\",\"name\":\"89cd1115-0fed-07f1-1411-8d839b74cdab\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/7beeee49-1d08-4a69-9a61-783c6b028673\",\"name\":\"7beeee49-1d08-4a69-9a61-783c6b028673\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/414e1853-417b-438e-b9ed-6f35fc9463d0\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"name\":\"27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json index ef90dc91e529..fc13866efc73 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.listRoleDefinitions[1].json @@ -1,26 +1,26 @@ { "networkCallRecords" : [ { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "7262", + "content-length" : "7211", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "aa2af2f4-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/770fd66c-6266-4643-9d4e-b616870898d5\",\"name\":\"770fd66c-6266-4643-9d4e-b616870898d5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[\"Microsoft.KeyVault/managedHsm/keys/createIfNotExists\",\"Microsoft.KeyVault/managedHsm/keys/read/action\"],\"dataActions\":[],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM ARM User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "0ae9452e-61f7-11ed-8261-0022488d4c2b", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\",\"Microsoft.KeyVault/managedHsm/settings/read/action\",\"Microsoft.KeyVault/managedHsm/settings/write/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"name\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json index 0fc085f8bd6f..4660ff84d25e 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlAsyncClientTest.setRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/a5408424-35a7-4b5e-bd2b-16974c75b40b?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/0814e0ee-abf6-4c0b-9947-645eaa427d74?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,18 +11,18 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "41", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "9a522c4e-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a5408424-35a7-4b5e-bd2b-16974c75b40b\",\"name\":\"a5408424-35a7-4b5e-bd2b-16974c75b40b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"a5408424-35a7-4b5e-bd2b-16974c75b40b\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "fa0163b8-61f6-11ed-8261-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0814e0ee-abf6-4c0b-9947-645eaa427d74\",\"name\":\"0814e0ee-abf6-4c0b-9947-645eaa427d74\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"0814e0ee-abf6-4c0b-9947-645eaa427d74\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "a5408424-35a7-4b5e-bd2b-16974c75b40b" ] + "variables" : [ "0814e0ee-abf6-4c0b-9947-645eaa427d74" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json index 3c5597bb196e..57acfa008baf 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createExistingRoleAssignmentThrows[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/ff91120a-d63e-470c-98e8-b85a06efdc43?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/b4407cdb-2880-48dd-9499-46d7fb3dfad5?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "44", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "37", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b7d39762-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ff91120a-d63e-470c-98e8-b85a06efdc43\",\"name\":\"ff91120a-d63e-470c-98e8-b85a06efdc43\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"ff91120a-d63e-470c-98e8-b85a06efdc43\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "028a2dd6-61f6-11ed-9532-000d3a602e9a", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b4407cdb-2880-48dd-9499-46d7fb3dfad5\",\"name\":\"b4407cdb-2880-48dd-9499-46d7fb3dfad5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b4407cdb-2880-48dd-9499-46d7fb3dfad5\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/bed707ed-3eff-4761-8eaa-7646c31caf10?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/b8cee17d-ff02-40fe-9883-13064ae88379?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,23 +35,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "40", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b7da8e6e-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/bed707ed-3eff-4761-8eaa-7646c31caf10\",\"name\":\"bed707ed-3eff-4761-8eaa-7646c31caf10\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ff91120a-d63e-470c-98e8-b85a06efdc43\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "02b1551e-61f6-11ed-9532-000d3a602e9a", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/b8cee17d-ff02-40fe-9883-13064ae88379\",\"name\":\"b8cee17d-ff02-40fe-9883-13064ae88379\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b4407cdb-2880-48dd-9499-46d7fb3dfad5\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/bed707ed-3eff-4761-8eaa-7646c31caf10?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/b8cee17d-ff02-40fe-9883-13064ae88379?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -63,12 +63,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "400", - "x-ms-request-id" : "b7e1fef6-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: b7e1fef6-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "1", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "02c553b6-61f6-11ed-9532-000d3a602e9a", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentExists\",\"message\":\"The role assignment already exists. (Activity ID: 02c553b6-61f6-11ed-9532-000d3a602e9a)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "1" }, "Exception" : null } ], - "variables" : [ "ff91120a-d63e-470c-98e8-b85a06efdc43", "bed707ed-3eff-4761-8eaa-7646c31caf10" ] -} \ No newline at end of file + "variables" : [ "b4407cdb-2880-48dd-9499-46d7fb3dfad5", "b8cee17d-ff02-40fe-9883-13064ae88379" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json index 4c5c358a5bc3..456b4702e14a 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.createRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/ebe6149e-2223-42c6-b6be-d8970baf08b8?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/414e1853-417b-438e-b9ed-6f35fc9463d0?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "61", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b82d453c-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ebe6149e-2223-42c6-b6be-d8970baf08b8\",\"name\":\"ebe6149e-2223-42c6-b6be-d8970baf08b8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"ebe6149e-2223-42c6-b6be-d8970baf08b8\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "e3751578-61f5-11ed-8f02-0022488d29c2", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/414e1853-417b-438e-b9ed-6f35fc9463d0\",\"name\":\"414e1853-417b-438e-b9ed-6f35fc9463d0\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"414e1853-417b-438e-b9ed-6f35fc9463d0\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/e3466e2b-fd04-4d81-84f4-f51aa130dc08?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/7beeee49-1d08-4a69-9a61-783c6b028673?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,18 +35,18 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "43", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b834e74c-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/e3466e2b-fd04-4d81-84f4-f51aa130dc08\",\"name\":\"e3466e2b-fd04-4d81-84f4-f51aa130dc08\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/ebe6149e-2223-42c6-b6be-d8970baf08b8\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "e38e3ef4-61f5-11ed-82a8-0022488d29c2", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/7beeee49-1d08-4a69-9a61-783c6b028673\",\"name\":\"7beeee49-1d08-4a69-9a61-783c6b028673\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/414e1853-417b-438e-b9ed-6f35fc9463d0\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "ebe6149e-2223-42c6-b6be-d8970baf08b8", "e3466e2b-fd04-4d81-84f4-f51aa130dc08" ] + "variables" : [ "414e1853-417b-438e-b9ed-6f35fc9463d0", "7beeee49-1d08-4a69-9a61-783c6b028673" ] } \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json index 769e58cda65a..e429e339444b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleAssignmentDoesNotThrow[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/93f6b52b-b9ec-4370-852d-e24a26465050?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/9be7a56c-4b1a-4e95-a743-9937be266806?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "143", @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "b71e3548-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: b71e3548-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "0", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "e321ace4-61f5-11ed-8f02-0022488d29c2", + "Body" : "{\"error\":{\"code\":\"RoleAssignmentNotFound\",\"message\":\"Requested role assignment not found (Activity ID: e321ace4-61f5-11ed-8f02-0022488d29c2)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "113" }, "Exception" : null } ], - "variables" : [ "93f6b52b-b9ec-4370-852d-e24a26465050" ] -} \ No newline at end of file + "variables" : [ "9be7a56c-4b1a-4e95-a743-9937be266806" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json index 76fe117a3eeb..8a48fbe6ab32 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteNonExistingRoleDefinitionDoesNotThrow[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/9ad7e787-4dc0-4248-a0bd-9a5a1bfd82e5?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/08db969d-6d7c-4778-8e39-c6e743550f18?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "143", @@ -14,12 +14,12 @@ "retry-after" : "0", "cache-control" : "no-cache", "StatusCode" : "404", - "x-ms-request-id" : "b6c1f6a2-af00-11ec-99c9-002248787e69", - "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: b6c1f6a2-af00-11ec-99c9-002248787e69)\"}}", - "x-ms-server-latency" : "1", - "strict-transport-security" : "max-age=31536000; includeSubDomains" + "x-ms-request-id" : "e32188ae-61f5-11ed-82a8-0022488d29c2", + "Body" : "{\"error\":{\"code\":\"RoleDefinitionNotFound\",\"message\":\"Requested role definition not found (Activity ID: e32188ae-61f5-11ed-82a8-0022488d29c2)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "114" }, "Exception" : null } ], - "variables" : [ "9ad7e787-4dc0-4248-a0bd-9a5a1bfd82e5" ] -} \ No newline at end of file + "variables" : [ "08db969d-6d7c-4778-8e39-c6e743550f18" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json index e1b6fb66121a..6d0fa1e3e435 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/9fb60e35-2663-4695-a8bf-40f29166d30c?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/3ce24029-1b83-4a0e-be13-377f81aec581?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "48", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "38", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b8755750-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/9fb60e35-2663-4695-a8bf-40f29166d30c\",\"name\":\"9fb60e35-2663-4695-a8bf-40f29166d30c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"9fb60e35-2663-4695-a8bf-40f29166d30c\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "09be9268-61f6-11ed-915d-000d3a602e9a", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3ce24029-1b83-4a0e-be13-377f81aec581\",\"name\":\"3ce24029-1b83-4a0e-be13-377f81aec581\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3ce24029-1b83-4a0e-be13-377f81aec581\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/08f53cc5-e4dd-4464-9c59-b9b84287c0ee?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/aa823bfb-83bc-41da-a159-2513d1e50b1c?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,41 +35,41 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "45", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b87c9eac-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/08f53cc5-e4dd-4464-9c59-b9b84287c0ee\",\"name\":\"08f53cc5-e4dd-4464-9c59-b9b84287c0ee\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/9fb60e35-2663-4695-a8bf-40f29166d30c\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "09deea9a-61f6-11ed-915d-000d3a602e9a", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/aa823bfb-83bc-41da-a159-2513d1e50b1c\",\"name\":\"aa823bfb-83bc-41da-a159-2513d1e50b1c\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3ce24029-1b83-4a0e-be13-377f81aec581\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/08f53cc5-e4dd-4464-9c59-b9b84287c0ee?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/aa823bfb-83bc-41da-a159-2513d1e50b1c?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "44", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "41", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b8844238-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/08f53cc5-e4dd-4464-9c59-b9b84287c0ee\",\"name\":\"08f53cc5-e4dd-4464-9c59-b9b84287c0ee\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/9fb60e35-2663-4695-a8bf-40f29166d30c\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "09f1976c-61f6-11ed-915d-000d3a602e9a", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/aa823bfb-83bc-41da-a159-2513d1e50b1c\",\"name\":\"aa823bfb-83bc-41da-a159-2513d1e50b1c\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3ce24029-1b83-4a0e-be13-377f81aec581\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "9fb60e35-2663-4695-a8bf-40f29166d30c", "08f53cc5-e4dd-4464-9c59-b9b84287c0ee" ] -} \ No newline at end of file + "variables" : [ "3ce24029-1b83-4a0e-be13-377f81aec581", "aa823bfb-83bc-41da-a159-2513d1e50b1c" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json index f4b5f4448403..71442c1f1eec 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.deleteRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/06fe9de6-bed7-4947-8914-cded4b4ad0dc?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/c60a9352-a436-44bf-98f7-444a337e0265?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,41 +11,41 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "45", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "40", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b77db52c-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"name\":\"06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "fc6cec5e-61f5-11ed-84c6-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c60a9352-a436-44bf-98f7-444a337e0265\",\"name\":\"c60a9352-a436-44bf-98f7-444a337e0265\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c60a9352-a436-44bf-98f7-444a337e0265\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "DELETE", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/06fe9de6-bed7-4947-8914-cded4b4ad0dc?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/c60a9352-a436-44bf-98f7-444a337e0265?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "41", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "39", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b7854a58-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"name\":\"06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"06fe9de6-bed7-4947-8914-cded4b4ad0dc\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "fc928630-61f5-11ed-84c6-0022488d4c2b", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/c60a9352-a436-44bf-98f7-444a337e0265\",\"name\":\"c60a9352-a436-44bf-98f7-444a337e0265\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"c60a9352-a436-44bf-98f7-444a337e0265\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "06fe9de6-bed7-4947-8914-cded4b4ad0dc" ] -} \ No newline at end of file + "variables" : [ "c60a9352-a436-44bf-98f7-444a337e0265" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json index 1c3c64526e32..8c0a173e35aa 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleAssignment[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/24ccef9f-a9c6-4667-8504-4f798115a06e?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/b59e1562-cd16-4322-a16d-2b61876251e9?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,23 +11,23 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "53", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b6d6ca64-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/24ccef9f-a9c6-4667-8504-4f798115a06e\",\"name\":\"24ccef9f-a9c6-4667-8504-4f798115a06e\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"24ccef9f-a9c6-4667-8504-4f798115a06e\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "ee7dab38-61f5-11ed-a658-0022488d29c2", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b59e1562-cd16-4322-a16d-2b61876251e9\",\"name\":\"b59e1562-cd16-4322-a16d-2b61876251e9\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"b59e1562-cd16-4322-a16d-2b61876251e9\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/044b3e6b-740a-40a1-aaa8-728acb1f1a49?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/45978c44-f680-44fe-abd6-f56fb8c7d601?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -35,42 +35,42 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "39", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "42", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b6dee5aa-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/044b3e6b-740a-40a1-aaa8-728acb1f1a49\",\"name\":\"044b3e6b-740a-40a1-aaa8-728acb1f1a49\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/24ccef9f-a9c6-4667-8504-4f798115a06e\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "eea02b9a-61f5-11ed-a658-0022488d29c2", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/45978c44-f680-44fe-abd6-f56fb8c7d601\",\"name\":\"45978c44-f680-44fe-abd6-f56fb8c7d601\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b59e1562-cd16-4322-a16d-2b61876251e9\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/044b3e6b-740a-40a1-aaa8-728acb1f1a49?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments/45978c44-f680-44fe-abd6-f56fb8c7d601?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "398", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "0", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b6e69f16-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/044b3e6b-740a-40a1-aaa8-728acb1f1a49\",\"name\":\"044b3e6b-740a-40a1-aaa8-728acb1f1a49\",\"properties\":{\"principalId\":\"49acc88b-8f9e-4619-9856-16691db66767\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/24ccef9f-a9c6-4667-8504-4f798115a06e\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" + "x-ms-request-id" : "eeb5b53c-61f5-11ed-a658-0022488d29c2", + "Body" : "{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/45978c44-f680-44fe-abd6-f56fb8c7d601\",\"name\":\"45978c44-f680-44fe-abd6-f56fb8c7d601\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/b59e1562-cd16-4322-a16d-2b61876251e9\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}" }, "Exception" : null } ], - "variables" : [ "24ccef9f-a9c6-4667-8504-4f798115a06e", "044b3e6b-740a-40a1-aaa8-728acb1f1a49" ] -} \ No newline at end of file + "variables" : [ "b59e1562-cd16-4322-a16d-2b61876251e9", "45978c44-f680-44fe-abd6-f56fb8c7d601" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json index f04cf977b0f6..278f16433f6c 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.getRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/0ae6dc32-f57b-4614-ad89-21afc0154f17?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/156b944b-6ebb-4795-861c-78506cf798b2?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,42 +11,42 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "392", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "38", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b79e2cee-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"name\":\"0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "e3258bc0-61f5-11ed-9679-000d3a602e9a", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/156b944b-6ebb-4795-861c-78506cf798b2\",\"name\":\"156b944b-6ebb-4795-861c-78506cf798b2\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"156b944b-6ebb-4795-861c-78506cf798b2\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/0ae6dc32-f57b-4614-ad89-21afc0154f17?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/156b944b-6ebb-4795-861c-78506cf798b2?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { "content-length" : "353", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "0", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b7a55fe6-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"name\":\"0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"0ae6dc32-f57b-4614-ad89-21afc0154f17\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "e3760ece-61f5-11ed-b6e0-000d3a602e9a", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/156b944b-6ebb-4795-861c-78506cf798b2\",\"name\":\"156b944b-6ebb-4795-861c-78506cf798b2\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"156b944b-6ebb-4795-861c-78506cf798b2\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "0ae6dc32-f57b-4614-ad89-21afc0154f17" ] -} \ No newline at end of file + "variables" : [ "156b944b-6ebb-4795-861c-78506cf798b2" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json index 83f3f6b372eb..b05be93b4cec 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleAssignments[1].json @@ -1,52 +1,52 @@ { "networkCallRecords" : [ { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "2804", + "content-length" : "1607", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "112", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b767944a-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"name\":\"ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0ff09664-1852-4a50-933a-3cc912b5f1c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"name\":\"748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"name\":\"4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"properties\":{\"principalId\":\"e9d1e02a-01d1-490a-b6ad-e06ac00c374a\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/239eaebe-7f34-4a23-853b-98494b96e5cf\",\"name\":\"239eaebe-7f34-4a23-853b-98494b96e5cf\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1c160530-8e97-458b-b354-754d8ca16e19\",\"name\":\"1c160530-8e97-458b-b354-754d8ca16e19\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/11ba89fb-9d24-4025-b301-9b6631e4591f\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/83c31251-8340-43b1-9f32-0364bed1b1f5\",\"name\":\"83c31251-8340-43b1-9f32-0364bed1b1f5\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/015854bd-5e36-468a-86fc-2b353eef81ce\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"name\":\"0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "e321b234-61f5-11ed-a433-0022488d29c2", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"name\":\"683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"name\":\"fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/89cd1115-0fed-07f1-1411-8d839b74cdab\",\"name\":\"89cd1115-0fed-07f1-1411-8d839b74cdab\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"name\":\"27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleAssignments?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "2804", + "content-length" : "1607", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b76913a6-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"name\":\"ae463e75-2ebc-4456-875c-ef79a2bfc8d6\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/0ff09664-1852-4a50-933a-3cc912b5f1c2\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"name\":\"748a61e6-af5e-4d9a-aa2c-1e7d034ca735\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"name\":\"4bcc0bc0-b655-4299-9aeb-087fb58867be\",\"properties\":{\"principalId\":\"e9d1e02a-01d1-490a-b6ad-e06ac00c374a\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/239eaebe-7f34-4a23-853b-98494b96e5cf\",\"name\":\"239eaebe-7f34-4a23-853b-98494b96e5cf\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/1c160530-8e97-458b-b354-754d8ca16e19\",\"name\":\"1c160530-8e97-458b-b354-754d8ca16e19\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/11ba89fb-9d24-4025-b301-9b6631e4591f\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/83c31251-8340-43b1-9f32-0364bed1b1f5\",\"name\":\"83c31251-8340-43b1-9f32-0364bed1b1f5\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/015854bd-5e36-468a-86fc-2b353eef81ce\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"name\":\"0f7dd37a-fb3c-41f1-849a-a0e9571462ae\",\"properties\":{\"principalId\":\"3db51899-71e6-40cc-a070-1519a2ed4807\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" + "x-ms-request-id" : "e34a5a9a-61f5-11ed-8f02-0022488d29c2", + "Body" : "{\"value\":[{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"name\":\"683dea1c-655c-4e6f-9aac-12104d85e5ab\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"name\":\"fdd8c0b8-682c-40f3-8bbd-ffea0392143d\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/89cd1115-0fed-07f1-1411-8d839b74cdab\",\"name\":\"89cd1115-0fed-07f1-1411-8d839b74cdab\",\"properties\":{\"principalId\":\"f84ae8f9-c979-4750-a2fe-b350a00bebff\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"},{\"id\":\"/providers/Microsoft.Authorization/roleAssignments/27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"name\":\"27cedce6-b669-4c28-9ec9-ddc126eef97c\",\"properties\":{\"principalId\":\"aed295e0-2ae7-4c2a-9abc-813f0ca233d3\",\"roleDefinitionId\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"scope\":\"/\"},\"type\":\"Microsoft.Authorization/roleAssignments\"}]}" }, "Exception" : null } ], "variables" : [ ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json index ad2cbaba7c99..0d610191d15d 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.listRoleDefinitions[1].json @@ -1,50 +1,50 @@ { "networkCallRecords" : [ { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "7262", + "content-length" : "7211", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", - "strict-transport-security" : "max-age=31536000; includeSubDomains", "x-ms-server-latency" : "0", + "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b8197c8c-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/770fd66c-6266-4643-9d4e-b616870898d5\",\"name\":\"770fd66c-6266-4643-9d4e-b616870898d5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[\"Microsoft.KeyVault/managedHsm/keys/createIfNotExists\",\"Microsoft.KeyVault/managedHsm/keys/read/action\"],\"dataActions\":[],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM ARM User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "e3710b22-61f5-11ed-a433-0022488d29c2", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\",\"Microsoft.KeyVault/managedHsm/settings/read/action\",\"Microsoft.KeyVault/managedHsm/settings/write/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"name\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "content-length" : "7262", + "content-length" : "7211", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "1", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "0", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b81b633a-af00-11ec-99c9-002248787e69", - "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/770fd66c-6266-4643-9d4e-b616870898d5\",\"name\":\"770fd66c-6266-4643-9d4e-b616870898d5\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[\"Microsoft.KeyVault/managedHsm/keys/createIfNotExists\",\"Microsoft.KeyVault/managedHsm/keys/read/action\"],\"dataActions\":[],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM ARM User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" + "x-ms-request-id" : "e37fcc98-61f5-11ed-800b-0022488d4c2b", + "Body" : "{\"value\":[{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"name\":\"7b127d3c-77bd-4e3e-bbe0-dbb8971fa7f8\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Backup User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/33413926-3206-4cdd-b39a-83574fe37a17\",\"name\":\"33413926-3206-4cdd-b39a-83574fe37a17\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Encryption User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625c\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625c\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/keys/release/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Service Release User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"name\":\"2c18b078-7c48-4d3a-af88-5a3a1b3f82b3\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Auditor\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"name\":\"4bd23610-cdcf-4971-bdee-bdc562cc28e4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Policy Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/21dbd100-6940-42c2-9190-5d6cb909625b\",\"name\":\"21dbd100-6940-42c2-9190-5d6cb909625b\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/keys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/write/action\",\"Microsoft.KeyVault/managedHsm/keys/delete\",\"Microsoft.KeyVault/managedHsm/keys/create\",\"Microsoft.KeyVault/managedHsm/keys/rotate/action\",\"Microsoft.KeyVault/managedHsm/keys/import/action\",\"Microsoft.KeyVault/managedHsm/keys/release/action\",\"Microsoft.KeyVault/managedHsm/keys/backup/action\",\"Microsoft.KeyVault/managedHsm/keys/restore/action\",\"Microsoft.KeyVault/managedHsm/keys/encrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/decrypt/action\",\"Microsoft.KeyVault/managedHsm/keys/wrap/action\",\"Microsoft.KeyVault/managedHsm/keys/unwrap/action\",\"Microsoft.KeyVault/managedHsm/keys/sign/action\",\"Microsoft.KeyVault/managedHsm/keys/verify/action\",\"Microsoft.KeyVault/managedHsm/keys/derive/action\",\"Microsoft.KeyVault/managedHsm/rng/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto User\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"name\":\"515eb02d-2335-4d2d-92f2-b1cbdf9c3778\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/read/action\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/delete\",\"Microsoft.KeyVault/managedHsm/keys/deletedKeys/recover/action\",\"Microsoft.KeyVault/managedHsm/keys/export/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Crypto Officer\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/a290e904-7015-4bba-90c8-60543313cdb4\",\"name\":\"a290e904-7015-4bba-90c8-60543313cdb4\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[{\"actions\":[],\"dataActions\":[\"Microsoft.KeyVault/managedHsm/roleAssignments/delete/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/read/action\",\"Microsoft.KeyVault/managedHsm/roleAssignments/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/read/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/write/action\",\"Microsoft.KeyVault/managedHsm/roleDefinitions/delete/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/download/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/action\",\"Microsoft.KeyVault/managedHsm/securitydomain/upload/read\",\"Microsoft.KeyVault/managedHsm/securitydomain/transferkey/read\",\"Microsoft.KeyVault/managedHsm/backup/start/action\",\"Microsoft.KeyVault/managedHsm/restore/start/action\",\"Microsoft.KeyVault/managedHsm/backup/status/action\",\"Microsoft.KeyVault/managedHsm/restore/status/action\",\"Microsoft.KeyVault/managedHsm/settings/read/action\",\"Microsoft.KeyVault/managedHsm/settings/write/action\"],\"notActions\":[],\"notDataActions\":[]}],\"roleName\":\"Managed HSM Administrator\",\"type\":\"AKVBuiltInRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"},{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"name\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3402010f-22ac-43cc-9d81-ea6c4fecb83a\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}]}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json index 8fe6403d42fa..e97d702b57dc 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultAccessControlClientTest.setRoleDefinition[1].json @@ -1,9 +1,9 @@ { "networkCallRecords" : [ { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/3d6f2621-527c-4146-b1f8-33ca466a1373?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net///providers/Microsoft.Authorization/roleDefinitions/6c2e3305-6995-4785-8203-5a9bbe2ea3f9?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { @@ -11,18 +11,18 @@ "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "201", + "x-ms-server-latency" : "47", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "40", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "b7315b64-af00-11ec-99c9-002248787e69", - "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/3d6f2621-527c-4146-b1f8-33ca466a1373\",\"name\":\"3d6f2621-527c-4146-b1f8-33ca466a1373\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"3d6f2621-527c-4146-b1f8-33ca466a1373\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" + "x-ms-request-id" : "f55e9340-61f5-11ed-bbe3-0022488d29c2", + "Body" : "{\"id\":\"Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/6c2e3305-6995-4785-8203-5a9bbe2ea3f9\",\"name\":\"6c2e3305-6995-4785-8203-5a9bbe2ea3f9\",\"properties\":{\"assignableScopes\":[\"/\"],\"description\":\"\",\"permissions\":[],\"roleName\":\"6c2e3305-6995-4785-8203-5a9bbe2ea3f9\",\"type\":\"CustomRole\"},\"type\":\"Microsoft.Authorization/roleDefinitions\"}" }, "Exception" : null } ], - "variables" : [ "3d6f2621-527c-4146-b1f8-33ca466a1373" ] -} \ No newline at end of file + "variables" : [ "6c2e3305-6995-4785-8203-5a9bbe2ea3f9" ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json index 9df20ceff92d..4da54e1cade4 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json @@ -1,133 +1,219 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:33 GMT", + "date" : "Fri, 11 Nov 2022 19:33:17 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "2314", + "x-ms-server-latency" : "3304", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "cce7f472-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517852,\"endTime\":null,\"jobId\":\"edbc89a4195442dba91cb95252814cc2\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/edbc89a4195442dba91cb95252814cc2/pending" + "x-ms-request-id" : "af9b879e-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195196,\"endTime\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/edbc89a4195442dba91cb95252814cc2/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:35 GMT", + "date" : "Fri, 11 Nov 2022 19:33:19 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "420", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "b27d373c-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:33:20 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1103", + "x-ms-server-latency" : "267", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "cee3fe06-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"edbc89a4195442dba91cb95252814cc2\",\"startTime\":1648517852,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "b3811b8a-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/edbc89a4195442dba91cb95252814cc2/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:37 GMT", + "date" : "Fri, 11 Nov 2022 19:33:22 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "294", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "b4501570-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:33:23 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1139", + "x-ms-server-latency" : "254", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d027c86a-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"edbc89a4195442dba91cb95252814cc2\",\"startTime\":1648517852,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "b526e67c-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/edbc89a4195442dba91cb95252814cc2/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:40 GMT", + "date" : "Fri, 11 Nov 2022 19:33:25 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "252", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "b602852e-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:33:26 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1116", + "x-ms-server-latency" : "334", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d171930e-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"edbc89a4195442dba91cb95252814cc2\",\"startTime\":1648517852,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "b6de12ba-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/edbc89a4195442dba91cb95252814cc2/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:41 GMT", + "date" : "Fri, 11 Nov 2022 19:33:28 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1169", + "x-ms-server-latency" : "214", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d2b68b48-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901373357\",\"endTime\":1648517860,\"error\":null,\"jobId\":\"edbc89a4195442dba91cb95252814cc2\",\"startTime\":1648517852,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "b7bf75e8-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119331806\",\"endTime\":1668195208,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json index 2ae8116a9453..77eac2b0f263 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json @@ -1,318 +1,438 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:36 GMT", + "date" : "Fri, 11 Nov 2022 19:34:26 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1453", + "x-ms-server-latency" : "446", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f3252a42-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517916,\"endTime\":null,\"jobId\":\"8b8b0ee3d8114d0fa4bd6156bb372122\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/8b8b0ee3d8114d0fa4bd6156bb372122/pending" + "x-ms-request-id" : "da29a5fe-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195266,\"endTime\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8b8b0ee3d8114d0fa4bd6156bb372122/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:38 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:34:27 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1210", + "x-ms-server-latency" : "303", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f49cd6c2-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"8b8b0ee3d8114d0fa4bd6156bb372122\",\"startTime\":1648517916,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "db1e6652-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8b8b0ee3d8114d0fa4bd6156bb372122/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:41 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:34:29 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1179", + "x-ms-server-latency" : "394", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f5f1762c-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"8b8b0ee3d8114d0fa4bd6156bb372122\",\"startTime\":1648517916,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "dbf900be-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8b8b0ee3d8114d0fa4bd6156bb372122/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:42 GMT", + "date" : "Fri, 11 Nov 2022 19:34:30 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "655", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "dcda94ca-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:34:33 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1142", + "x-ms-server-latency" : "1386", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f73f887a-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"8b8b0ee3d8114d0fa4bd6156bb372122\",\"startTime\":1648517916,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "ddecf2a4-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/8b8b0ee3d8114d0fa4bd6156bb372122/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:45 GMT", + "date" : "Fri, 11 Nov 2022 19:34:35 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1284", + "x-ms-server-latency" : "582", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f8899cca-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901383689\",\"endTime\":1648517924,\"error\":null,\"jobId\":\"8b8b0ee3d8114d0fa4bd6156bb372122\",\"startTime\":1648517916,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "df839ea6-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119342659\",\"endTime\":1668195275,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:46 GMT", + "date" : "Fri, 11 Nov 2022 19:34:39 GMT", "server" : "Kestrel", "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1295", + "x-ms-server-latency" : "4241", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "f94f2486-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending" + "x-ms-request-id" : "dff74946-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:48 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:34:41 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1119", + "x-ms-server-latency" : "401", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "faaf3118-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "e33d2bde-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:50 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:34:43 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1135", + "x-ms-server-latency" : "306", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "fbf403a0-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "e4252402-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:53 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:34:44 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1162", + "x-ms-server-latency" : "235", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "fd3bfd3a-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "e4fe8fa8-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:55 GMT", + "date" : "Fri, 11 Nov 2022 19:34:45 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "251", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "e5dcd308-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:34:46 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1153", + "x-ms-server-latency" : "202", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "fe893fcc-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "e6a6ec42-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:57 GMT", + "date" : "Fri, 11 Nov 2022 19:34:48 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "240", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "e773b38a-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:34:50 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1092", + "x-ms-server-latency" : "641", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "ffd57238-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "e84e60ac-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/095a092b4c0b49669121f7025530a5cc/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:59 GMT", + "date" : "Fri, 11 Nov 2022 19:34:51 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "426", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "e957ffbc-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:34:53 GMT", "content-length" : "143", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1105", + "x-ms-server-latency" : "870", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "0117f4c2-af01-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517938,\"error\":null,\"jobId\":\"095a092b4c0b49669121f7025530a5cc\",\"startTime\":1648517926,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "ea3ef444-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":1668195292,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json index eae6481656a3..714138afbd16 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json @@ -1,316 +1,354 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey018207e0/create?api-version=7.2", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey1794237b/create?api-version=7.2", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "757", + "content-length" : "762", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "278", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "842", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d374c3b0-af00-11ec-99c9-002248787e69", - "Body" : "{\"attributes\":{\"created\":1648517862,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1648517862},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://azsdktestshsm.managedhsm.azure.net/keys/backupkey018207e0/af009912be700ca21baa6de72e30c03d\",\"kty\":\"RSA-HSM\",\"n\":\"7aGml1J1LvtBmMibak_F2HrUEbheDOblbTUy9Xa-O3xehg2LJ_fVK3Hf3P-vHB0k36WUSeq5ySOTijK2RlEkIh-7mH_IyfppCdZqTX0vQfY-oLDMfoV-2g6iF38Gx3EEzV4dTkk5tyIqeVPROn9YFGzA2Xx6A-Hg6-48M65AHDLsSWmN0z63VD264T-d8hL2EBrIy2OMP8ldsPKoi6m_0IIjFqFNPsUZq8GFu4GkYZXs-Xoh2EUvFP1XWEt7CsjE8USFGnBRgYLeDpLl1z8Ny9_Vxgr7pJ9DDpqgjiwhO3bnvLXOFDIqEn0HgbRQ8CV_0eClB35OuA7Ow_p99jIfLw\"}}" + "x-ms-request-id" : "b83b0bd6-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"attributes\":{\"created\":1668195209,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1668195209},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakeyvaulthsm.managedhsm.azure.net/keys/backupkey1794237b/8341d2350b0b4c09b2174f723717f5a6\",\"kty\":\"RSA-HSM\",\"n\":\"nYvkeAA_n6VKIqOmBoK8qO8iGrOp_mTbDDLwLEZFgMcUnWgBCO5z0iV7m9ULSDVHtlXmlcwWk91ZSyR0kRn21qV7jmvC6zKLJldHzS_DhdDzPICcGLrJ7nnOyDM-ThTMfnadIS34YXc2-varyXIlU5-mxarfodsL64lrn6GfGecWVG1R9bBPCjUyRfYd8w56qE3FL0iSQQvV6J66_rV8MGnExkAM23ykWuBSW0pS2ok1LC7lt5BgL9_pCIOsOJRjiQrv23tP6kb9ojoahBzCvFSQmR-23d7HjV0BGVc0YtId6j0P7AZlVMe6m24c-fd-R8YKdLsRoOMfbDYyQAKWmQ\"}}" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:44 GMT", + "date" : "Fri, 11 Nov 2022 19:33:30 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1324", + "x-ms-server-latency" : "433", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d409292e-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517864,\"endTime\":null,\"jobId\":\"7b3ef6f32dfb46faa2aa93935867b024\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/7b3ef6f32dfb46faa2aa93935867b024/pending" + "x-ms-request-id" : "b895ca62-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195210,\"endTime\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7b3ef6f32dfb46faa2aa93935867b024/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:46 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:33:31 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1099", + "x-ms-server-latency" : "314", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d56f5068-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"7b3ef6f32dfb46faa2aa93935867b024\",\"startTime\":1648517864,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "b98a4af6-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7b3ef6f32dfb46faa2aa93935867b024/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:48 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:33:33 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1053", + "x-ms-server-latency" : "219", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d6b2d576-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"7b3ef6f32dfb46faa2aa93935867b024\",\"startTime\":1648517864,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "ba67e4b0-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7b3ef6f32dfb46faa2aa93935867b024/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:50 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:33:34 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1126", + "x-ms-server-latency" : "558", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d7ee79d6-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"7b3ef6f32dfb46faa2aa93935867b024\",\"startTime\":1648517864,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "bb30fee0-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7b3ef6f32dfb46faa2aa93935867b024/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:53 GMT", + "date" : "Fri, 11 Nov 2022 19:33:35 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1346", + "x-ms-server-latency" : "207", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "d935ce70-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901374456\",\"endTime\":1648517871,\"error\":null,\"jobId\":\"7b3ef6f32dfb46faa2aa93935867b024\",\"startTime\":1648517864,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "bc3b5d4e-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { - "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey018207e0/restore?api-version=7.3", + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", - "Content-Type" : "application/json" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:54 GMT", + "date" : "Fri, 11 Nov 2022 19:33:37 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", - "StatusCode" : "202", - "x-ms-server-latency" : "1233", + "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "272", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "da04badc-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending" + "x-ms-request-id" : "bd2679a0-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:56 GMT", + "date" : "Fri, 11 Nov 2022 19:33:39 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1064", + "x-ms-server-latency" : "225", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "db5b96da-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "be04c8ea-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119333025\",\"endTime\":1668195219,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending?api-version=7.3", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey1794237b/restore?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:37:58 GMT", + "date" : "Fri, 11 Nov 2022 19:33:42 GMT", "server" : "Kestrel", "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", "retry-after" : "0", - "StatusCode" : "200", + "StatusCode" : "202", + "x-ms-server-latency" : "3355", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1126", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dc99d872-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "be423946-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:01 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:33:50 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1194", + "x-ms-server-latency" : "7339", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "dde13b62-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "c1061fd0-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:03 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:33:52 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1189", + "x-ms-server-latency" : "198", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "df32a73a-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "c60a4bfa-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/738cc94c13504b35bdda3c5dadf4002f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:38:05 GMT", + "date" : "Fri, 11 Nov 2022 19:33:53 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "234", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "c6d9a382-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:33:55 GMT", "content-length" : "233", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1083", + "x-ms-server-latency" : "472", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "e0836d68-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517885,\"error\":null,\"jobId\":\"738cc94c13504b35bdda3c5dadf4002f\",\"startTime\":1648517874,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "c7a83634-61f7-11ed-9679-000d3a602e9a", + "Body" : "{\"endTime\":1668195234,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" }, "Exception" : null } ], - "variables" : [ "backupkey018207e0" ] -} + "variables" : [ "backupkey1794237b" ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json index e2d745c4b5b7..9e7678f0c5d0 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json @@ -1,133 +1,219 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:33:57 GMT", + "date" : "Fri, 11 Nov 2022 19:36:11 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "3438", + "x-ms-server-latency" : "534", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "4c3551e4-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517638,\"endTime\":null,\"jobId\":\"4f0d6bf74e2d410d8e4791289691cc46\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/4f0d6bf74e2d410d8e4791289691cc46/pending" + "x-ms-request-id" : "188b07b6-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195371,\"endTime\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4f0d6bf74e2d410d8e4791289691cc46/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:00 GMT", + "date" : "Fri, 11 Nov 2022 19:36:11 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "215", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "1915b49c-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:36:13 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1239", + "x-ms-server-latency" : "174", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "4ee30efe-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4f0d6bf74e2d410d8e4791289691cc46\",\"startTime\":1648517638,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "19e48178-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4f0d6bf74e2d410d8e4791289691cc46/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:03 GMT", + "date" : "Fri, 11 Nov 2022 19:36:14 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "325", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "1aa683b8-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:36:15 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1212", + "x-ms-server-latency" : "180", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "503b54dc-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4f0d6bf74e2d410d8e4791289691cc46\",\"startTime\":1648517638,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "1b80a200-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4f0d6bf74e2d410d8e4791289691cc46/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:05 GMT", + "date" : "Fri, 11 Nov 2022 19:36:17 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "242", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "1c476a48-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:36:18 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1342", + "x-ms-server-latency" : "177", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5190ba8e-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"4f0d6bf74e2d410d8e4791289691cc46\",\"startTime\":1648517638,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "1d180efa-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/4f0d6bf74e2d410d8e4791289691cc46/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:07 GMT", + "date" : "Fri, 11 Nov 2022 19:36:19 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1206", + "x-ms-server-latency" : "369", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "52f9890a-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901335877\",\"endTime\":1648517646,\"error\":null,\"jobId\":\"4f0d6bf74e2d410d8e4791289691cc46\",\"startTime\":1648517638,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "1de1e19e-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119361129\",\"endTime\":1668195379,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json index 5fa619cbcf79..d29a96b9acad 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json @@ -1,292 +1,627 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:03 GMT", + "date" : "Fri, 11 Nov 2022 19:37:21 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1521", + "x-ms-server-latency" : "969", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "73c9d41e-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517703,\"endTime\":null,\"jobId\":\"7d423fcd68e24803a7a443e6f13d6456\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/7d423fcd68e24803a7a443e6f13d6456/pending" + "x-ms-request-id" : "426704b8-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195441,\"endTime\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7d423fcd68e24803a7a443e6f13d6456/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:05 GMT", + "date" : "Fri, 11 Nov 2022 19:37:22 GMT", + "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "229", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4307957c-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:23 GMT", + "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "346", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "43da9f62-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:25 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "555", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "44c21f18-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:26 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1212", + "x-ms-server-latency" : "276", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "754e1a02-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"7d423fcd68e24803a7a443e6f13d6456\",\"startTime\":1648517703,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "45be8d0c-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7d423fcd68e24803a7a443e6f13d6456/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:07 GMT", + "date" : "Fri, 11 Nov 2022 19:37:27 GMT", + "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "244", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4693118a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:28 GMT", + "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "205", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4764cd6a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:30 GMT", + "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "228", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "48368f12-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:31 GMT", + "content-length" : "174", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "251", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4909e876-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:33 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1322", + "x-ms-server-latency" : "263", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "76a1dfec-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"7d423fcd68e24803a7a443e6f13d6456\",\"startTime\":1648517703,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "49d6a2e4-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/7d423fcd68e24803a7a443e6f13d6456/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:11 GMT", + "date" : "Fri, 11 Nov 2022 19:37:35 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "2171", + "x-ms-server-latency" : "440", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7807fc22-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901350328\",\"endTime\":1648517710,\"error\":null,\"jobId\":\"7d423fcd68e24803a7a443e6f13d6456\",\"startTime\":1648517703,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "4aaef55e-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119372204\",\"endTime\":1668195454,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:11 GMT", + "date" : "Fri, 11 Nov 2022 19:37:35 GMT", "server" : "Kestrel", "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1469", + "x-ms-server-latency" : "612", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "79559ef4-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending" + "x-ms-request-id" : "4b045f62-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:14 GMT", + "date" : "Fri, 11 Nov 2022 19:37:36 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "204", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4b86da46-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:37 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1185", + "x-ms-server-latency" : "282", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7ad1a43a-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "4c53aa30-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:16 GMT", + "date" : "Fri, 11 Nov 2022 19:37:39 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "259", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4d31a59c-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:40 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1629", + "x-ms-server-latency" : "188", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7c2218c4-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "4e075548-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:19 GMT", + "date" : "Fri, 11 Nov 2022 19:37:41 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "266", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "4ec98212-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:43 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1268", + "x-ms-server-latency" : "331", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7db6eb92-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "4fbf8658-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:21 GMT", + "date" : "Fri, 11 Nov 2022 19:37:44 GMT", + "content-length" : "138", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "193", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "509a60de-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:46 GMT", "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1240", + "x-ms-server-latency" : "205", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "7f13ba6a-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "5164531c-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:24 GMT", + "date" : "Fri, 11 Nov 2022 19:37:47 GMT", + "content-length" : "138", "server" : "Kestrel", - "content-length" : "143", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1201", + "x-ms-server-latency" : "206", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "806ba10c-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517723,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "5227623a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/d0a6e505230f468e8c2c78fe07a99223/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:35:24 GMT", + "date" : "Fri, 11 Nov 2022 19:37:48 GMT", + "content-length" : "143", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "160", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "52fb9794-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":1668195468,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"Succeeded\",\"statusDetails\":null}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:37:49 GMT", "content-length" : "143", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1199", + "x-ms-server-latency" : "225", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "81243820-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517723,\"error\":null,\"jobId\":\"d0a6e505230f468e8c2c78fe07a99223\",\"startTime\":1648517712,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "533b8ac0-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":1668195468,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], "variables" : [ ] -} +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json index a79e84b7f664..a4bc9b5b89ec 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json @@ -1,316 +1,381 @@ { "networkCallRecords" : [ { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey56887b30/create?api-version=7.2", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey75897ba4/create?api-version=7.2", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "content-length" : "757", + "content-length" : "762", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "200", + "x-ms-server-latency" : "286", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "284", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-region" : "westus2", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "53d27ee0-af00-11ec-99c9-002248787e69", - "Body" : "{\"attributes\":{\"created\":1648517648,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1648517648},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://azsdktestshsm.managedhsm.azure.net/keys/backupkey56887b30/61d5c92096f4418705e5076bf24fd109\",\"kty\":\"RSA-HSM\",\"n\":\"q1A2P7q_lHQA_f4ZahDqrqeHfVySqUFIAgWcLIvW831_amPW1EQ7I6vFOoR_lbdXK9f6IQu4yt790ndSMKv4dHec2xjYnXTXKj-wHQp4Fd6u1TcV1563-gE-MaPY2-1Y9ZUA2aVm0mMa0LggP_VNkmuwByGKbbiqPHT1SCAVUA92vXJjfdHcDdKzeJbX5LyYoAx4DfnXVRBJwYQz-R6G8jrVcZyoNnb2xPo-rb7OAjszbhGG3nm1NX_9OQF59a9Ph-rgg09B4CBhn0HkAzQiYc_z6f4wPh-DUef7PJerDu0uOBvqwJ7_1zwJmce4gArXI_r-JPj8iEDh5kgy-ORbFw\"}}" + "x-ms-request-id" : "1e78382e-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"attributes\":{\"created\":1668195380,\"enabled\":true,\"exp\":2527113600,\"exportable\":false,\"nbf\":949237199,\"recoverableDays\":7,\"recoveryLevel\":\"CustomizedRecoverable+Purgeable\",\"updated\":1668195380},\"key\":{\"e\":\"AQAB\",\"key_ops\":[\"wrapKey\",\"decrypt\",\"encrypt\",\"unwrapKey\",\"sign\",\"verify\"],\"kid\":\"https://vicolinakeyvaulthsm.managedhsm.azure.net/keys/backupkey75897ba4/babc1685544e4ecf9872a270b6b82766\",\"kty\":\"RSA-HSM\",\"n\":\"qkeAUEJT8ZQxocwFzXMddgCcDYwzRy_zi2GP5kdFGnGepbNGkvulq7v_ACJEB-YPeQ1xWRdwjh6frmvfbmmd5JXfjfHas5MwG2FibfmNesW9LICmA3FeWx-0OV1coQaqEl7EaEtsXkfSVSRQd6SMs390lFzbhb261kcSjZ5foZbA7mju-C9_bGFZ2QLvxUrOqdDTdMM7WKsFV2AVWnC-zTFtXCH3l2g1IxGQBcPZaa8RcpUqnIb56g9wFesa2X53zDkbohCsqqciPOSu-8W6aSl9ZX2Be8c4cTuMge-lriMEZhNsSyBHXsqGFVfeTcO5y0H6GmPJULxAw49cXesh4w\"}}" }, "Exception" : null }, { "Method" : "POST", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:09 GMT", + "date" : "Fri, 11 Nov 2022 19:36:21 GMT", "server" : "Kestrel", "content-length" : "174", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", "retry-after" : "0", "StatusCode" : "202", - "x-ms-server-latency" : "1462", + "x-ms-server-latency" : "412", "strict-transport-security" : "max-age=31536000; includeSubDomains", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "540b977a-af00-11ec-99c9-002248787e69", - "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1648517649,\"endTime\":null,\"jobId\":\"38e916bfde6a4756a82345c6e94037e6\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/backup/38e916bfde6a4756a82345c6e94037e6/pending" + "x-ms-request-id" : "1ed5ca16-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195381,\"endTime\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"azureStorageBlobContainerUri\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/38e916bfde6a4756a82345c6e94037e6/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:11 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:36:21 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1341", + "x-ms-server-latency" : "265", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "55857ed6-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"38e916bfde6a4756a82345c6e94037e6\",\"startTime\":1648517649,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "1f2090a0-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/38e916bfde6a4756a82345c6e94037e6/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:14 GMT", - "server" : "Kestrel", + "date" : "Fri, 11 Nov 2022 19:36:22 GMT", "content-length" : "174", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1203", + "x-ms-server-latency" : "219", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "56ee3b96-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"38e916bfde6a4756a82345c6e94037e6\",\"startTime\":1648517649,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "1ff5660e-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/backup/38e916bfde6a4756a82345c6e94037e6/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:16 GMT", + "date" : "Fri, 11 Nov 2022 19:36:24 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "270", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1680", + "x-ms-server-latency" : "189", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "583fd644-af00-11ec-99c9-002248787e69", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktestshsm-2022032901340999\",\"endTime\":1648517657,\"error\":null,\"jobId\":\"38e916bfde6a4756a82345c6e94037e6\",\"startTime\":1648517649,\"status\":\"Succeeded\",\"statusDetails\":null}" + "x-ms-request-id" : "20bd1b9a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { - "Method" : "PUT", - "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey56887b30/restore?api-version=7.3", + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)", - "Content-Type" : "application/json" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:18 GMT", + "date" : "Fri, 11 Nov 2022 19:36:26 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", - "StatusCode" : "202", - "x-ms-server-latency" : "1488", + "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "1709", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5942d816-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://azsdktestshsm.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending" + "x-ms-request-id" : "217fffc0-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:20 GMT", + "date" : "Fri, 11 Nov 2022 19:36:28 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1163", + "x-ms-server-latency" : "258", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5ac13dea-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "232d133a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:22 GMT", + "date" : "Fri, 11 Nov 2022 19:36:30 GMT", + "content-length" : "174", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1328", + "x-ms-server-latency" : "228", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5c0d3816-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "23f87c14-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":null,\"endTime\":null,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:24 GMT", + "date" : "Fri, 11 Nov 2022 19:36:31 GMT", + "content-length" : "276", "server" : "Kestrel", - "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1204", + "x-ms-server-latency" : "209", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5d733da4-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "24c7dd60-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119362178\",\"endTime\":1668195390,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Method" : "PUT", + "Uri" : "https://REDACTED.managedhsm.azure.net/keys/backupkey75897ba4/restore?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:27 GMT", + "date" : "Fri, 11 Nov 2022 19:36:31 GMT", "server" : "Kestrel", "content-length" : "138", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "202", + "x-ms-server-latency" : "424", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "24fccdb8-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"InProgress\",\"statusDetails\":null}", + "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:36:32 GMT", + "content-length" : "138", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1209", + "x-ms-server-latency" : "239", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "5ec70bfe-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"InProgress\",\"statusDetails\":null}" + "x-ms-request-id" : "255c7c40-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:29 GMT", + "date" : "Fri, 11 Nov 2022 19:36:37 GMT", + "content-length" : "138", "server" : "Kestrel", - "content-length" : "233", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1212", + "x-ms-server-latency" : "4156", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "601bd0d4-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517669,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "263fd44a-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"InProgress\",\"statusDetails\":null}" }, "Exception" : null }, { "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/restore/4046bea0b1bf446f98d04219d72a964f/pending?api-version=7.3", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending?api-version=7.4-preview.1", "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (11.0.6; Windows 10; 10.0)" + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" }, "Response" : { - "date" : "Tue, 29 Mar 2022 01:34:31 GMT", + "date" : "Fri, 11 Nov 2022 19:36:49 GMT", + "content-length" : "233", "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "11380", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "cache-control" : "no-cache", + "x-ms-request-id" : "296cd5a0-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":1668195398,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "date" : "Fri, 11 Nov 2022 19:36:50 GMT", "content-length" : "233", + "server" : "Kestrel", + "api-supported-versions" : "20180927, 20211111", "x-frame-options" : "SAMEORIGIN", - "x-ms-build-version" : "1.0.20220314-1-3dc5f232-develop", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", "retry-after" : "0", "StatusCode" : "200", "strict-transport-security" : "max-age=31536000; includeSubDomains", - "x-ms-server-latency" : "1653", + "x-ms-server-latency" : "202", "content-security-policy" : "default-src 'self'", "x-content-type-options" : "nosniff", - "x-ms-keyvault-region" : "westus2", "content-type" : "application/json; charset=utf-8", - "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=172.92.148.195;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", - "x-ms-request-id" : "60d60db4-af00-11ec-99c9-002248787e69", - "Body" : "{\"endTime\":1648517669,\"error\":null,\"jobId\":\"4046bea0b1bf446f98d04219d72a964f\",\"startTime\":1648517658,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" + "x-ms-request-id" : "3041a5a4-61f8-11ed-ae6e-0022488d4c2b", + "Body" : "{\"endTime\":1668195398,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"Succeeded\",\"statusDetails\":\"Number of successful key versions restored: 0, Number of key versions could not overwrite: 2\"}" }, "Exception" : null } ], - "variables" : [ "backupkey56887b30" ] -} + "variables" : [ "backupkey75897ba4" ] +} \ No newline at end of file From 797d8662211e3e0c2d710f96e919e195cd022b06 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 14:46:20 -0600 Subject: [PATCH 27/30] Added tests and recordings for Settings clients. --- .../KeyVaultSettingsAsyncClientTest.java | 89 +++++++++++++ .../KeyVaultSettingsClientTest.java | 83 ++++++++++++ .../KeyVaultSettingsClientTestBase.java | 53 ++++++++ ...SettingsAsyncClientTest.getSetting[1].json | 28 ++++ ...ttingsAsyncClientTest.listSettings[1].json | 51 ++++++++ ...tingsAsyncClientTest.updateSetting[1].json | 121 ++++++++++++++++++ ...VaultSettingsClientTest.getSetting[1].json | 28 ++++ ...ultSettingsClientTest.listSettings[1].json | 28 ++++ ...ltSettingsClientTest.updateSetting[1].json | 76 +++++++++++ 9 files changed, 557 insertions(+) create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTest.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTestBase.java create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.getSetting[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.getSetting[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.listSettings[1].json create mode 100644 sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.updateSetting[1].json diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java new file mode 100644 index 000000000000..801ec49782fe --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java @@ -0,0 +1,89 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +package com.azure.security.keyvault.administration; + +import com.azure.core.http.HttpClient; +import com.azure.core.test.http.AssertingHttpClientBuilder; +import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import reactor.test.StepVerifier; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class KeyVaultSettingsAsyncClientTest extends KeyVaultSettingsClientTestBase { + private KeyVaultSettingsAsyncClient asyncClient; + + private HttpClient buildAsyncAssertingClient(HttpClient httpClient) { + return new AssertingHttpClientBuilder(httpClient) + .skipRequest((ignored1, ignored2) -> false) + .assertAsync() + .build(); + } + + private void getClient(HttpClient httpClient, boolean forCleanup) { + asyncClient = getClientBuilder(buildAsyncAssertingClient(httpClient == null ? interceptorManager.getPlaybackClient() + : httpClient), forCleanup).buildAsyncClient(); + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void listSettings(HttpClient httpClient) { + getClient(httpClient, false); + + StepVerifier.create(asyncClient.listSettings()) + .assertNext(listSettingsResult -> { + assertNotNull(listSettingsResult); + assertTrue(listSettingsResult.getValue().size() > 0); + + for (KeyVaultSetting setting : listSettingsResult.getValue()) { + assertNotNull(setting); + assertNotNull(setting.getName()); + assertNotNull(setting.getType()); + assertNotNull(setting.asString()); + } + }).verifyComplete(); + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void getSetting(HttpClient httpClient) { + getClient(httpClient, false); + + String settingName = "AllowKeyManagementOperationsThroughARM"; + + StepVerifier.create(asyncClient.getSetting(settingName)) + .assertNext(setting -> { + assertNotNull(setting); + assertNotNull(setting.getName()); + assertNotNull(setting.getType()); + assertNotNull(setting.asString()); + }).verifyComplete(); + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void updateSetting(HttpClient httpClient) { + getClient(httpClient, false); + + String settingName = "AllowKeyManagementOperationsThroughARM"; + KeyVaultSetting settingToUpdate = new KeyVaultSetting(settingName, true); + + StepVerifier.create(asyncClient.getSetting(settingName) + .flatMap(setting -> { + assertNotNull(setting); + + @SuppressWarnings("ConstantConditions") + boolean originalSettingValue = setting.asBoolean(); + + return asyncClient.updateSetting(settingToUpdate) + .doOnSuccess(updatedSetting -> assertSettingEquals(settingToUpdate, updatedSetting)) + .then(asyncClient.updateSetting(new KeyVaultSetting(settingName, originalSettingValue))); + })) + .assertNext(Assertions::assertNotNull) + .verifyComplete(); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTest.java new file mode 100644 index 000000000000..e7de4c69138b --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTest.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +package com.azure.security.keyvault.administration; + +import com.azure.core.http.HttpClient; +import com.azure.core.test.http.AssertingHttpClientBuilder; +import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class KeyVaultSettingsClientTest extends KeyVaultSettingsClientTestBase { + private KeyVaultSettingsClient client; + + private HttpClient buildSyncAssertingClient(HttpClient httpClient) { + return new AssertingHttpClientBuilder(httpClient) + .skipRequest((ignored1, ignored2) -> true) + .assertSync() + .build(); + } + + private void getClient(HttpClient httpClient, boolean forCleanup) { + client = getClientBuilder(buildSyncAssertingClient(httpClient == null ? interceptorManager.getPlaybackClient() + : httpClient), forCleanup).buildClient(); + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void listSettings(HttpClient httpClient) { + getClient(httpClient, false); + + KeyVaultListSettingsResult listSettingsResult = client.listSettings(); + + assertNotNull(listSettingsResult); + assertTrue(listSettingsResult.getValue().size() > 0); + + for (KeyVaultSetting setting : listSettingsResult.getValue()) { + assertNotNull(setting); + assertNotNull(setting.getName()); + assertNotNull(setting.getType()); + assertNotNull(setting.asString()); + } + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void getSetting(HttpClient httpClient) { + getClient(httpClient, false); + + String settingName = "AllowKeyManagementOperationsThroughARM"; + KeyVaultSetting setting = client.getSetting(settingName); + + assertNotNull(setting); + assertNotNull(setting.getName()); + assertNotNull(setting.getType()); + assertNotNull(setting.asString()); + } + + @ParameterizedTest(name = DISPLAY_NAME) + @MethodSource("com.azure.security.keyvault.administration.KeyVaultAdministrationClientTestBase#createHttpClients") + public void updateSetting(HttpClient httpClient) { + getClient(httpClient, false); + + String settingName = "AllowKeyManagementOperationsThroughARM"; + KeyVaultSetting setting = client.getSetting(settingName); + + assertNotNull(setting); + + @SuppressWarnings("ConstantConditions") + boolean originalSettingValue = setting.asBoolean(); + + KeyVaultSetting settingToUpdate = new KeyVaultSetting(settingName, true); + KeyVaultSetting updatedSetting = client.updateSetting(settingToUpdate); + + assertSettingEquals(settingToUpdate, updatedSetting); + + // Cleanup + client.updateSetting(new KeyVaultSetting(settingName, originalSettingValue)); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTestBase.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTestBase.java new file mode 100644 index 000000000000..e9b95456de47 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsClientTestBase.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +package com.azure.security.keyvault.administration; + +import com.azure.core.http.HttpClient; +import com.azure.core.http.HttpPipeline; +import com.azure.core.http.HttpPipelineBuilder; +import com.azure.core.http.policy.HttpPipelinePolicy; +import com.azure.core.test.TestMode; +import com.azure.core.util.logging.ClientLogger; +import com.azure.security.keyvault.administration.models.KeyVaultSetting; +import org.junit.jupiter.api.Test; + +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public abstract class KeyVaultSettingsClientTestBase extends KeyVaultAdministrationClientTestBase { + private static final ClientLogger LOGGER = new ClientLogger(KeyVaultSettingsClientTestBase.class); + + protected KeyVaultSettingsClientBuilder getClientBuilder(HttpClient httpClient, boolean forCleanup) { + List policies = getPolicies(); + + if (getTestMode() == TestMode.RECORD && !forCleanup) { + policies.add(interceptorManager.getRecordPolicy()); + } + + HttpPipeline httpPipeline = new HttpPipelineBuilder() + .policies(policies.toArray(new HttpPipelinePolicy[0])) + .httpClient(httpClient == null ? interceptorManager.getPlaybackClient() : httpClient) + .build(); + + return new KeyVaultSettingsClientBuilder() + .vaultUrl(getEndpoint()) + .pipeline(httpPipeline); + } + + @Test + public abstract void listSettings(HttpClient httpClient); + + @Test + public abstract void getSetting(HttpClient httpClient); + + @Test + public abstract void updateSetting(HttpClient httpClient); + + static void assertSettingEquals(KeyVaultSetting keyVaultSetting1, + KeyVaultSetting keyVaultSetting2) { + assertEquals(keyVaultSetting1.getName(), keyVaultSetting2.getName()); + assertEquals(keyVaultSetting1.getType(), keyVaultSetting2.getType()); + assertEquals(keyVaultSetting1.asString(), keyVaultSetting2.asString()); + } +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.getSetting[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.getSetting[1].json new file mode 100644 index 000000000000..034aaca6d5ca --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.getSetting[1].json @@ -0,0 +1,28 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "ad254da6-6201-11ed-94f1-000d3a602e9a", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json new file mode 100644 index 000000000000..2a8d0d75314a --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json @@ -0,0 +1,51 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "2", + "x-frame-options" : "SAMEORIGIN", + "www-authenticate" : "Bearer authorization=\"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://managedhsm.azure.net\"", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "401", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "ac6f99d4-6201-11ed-94f1-000d3a602e9a", + "Body" : "OK" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "97", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "acf2aacc-6201-11ed-94f1-000d3a602e9a", + "Body" : "{\"settings\":[{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}]}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json new file mode 100644 index 000000000000..c2993f366d8d --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json @@ -0,0 +1,121 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "2", + "x-frame-options" : "SAMEORIGIN", + "www-authenticate" : "Bearer authorization=\"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://managedhsm.azure.net\"", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "401", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "c0698486-6201-11ed-82a8-0022488d29c2", + "Body" : "OK" + }, + "Exception" : null + }, { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "c0ef8bbc-6201-11ed-82a8-0022488d29c2", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "81", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "47", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "c120455e-6201-11ed-b6e0-000d3a602e9a", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"true\"}" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "111", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-frame-options" : "SAMEORIGIN", + "content-type" : "application/json; charset=utf-8", + "retry-after" : "0", + "cache-control" : "no-cache", + "StatusCode" : "500", + "x-ms-request-id" : "c13ca820-6201-11ed-82a8-0022488d29c2", + "Body" : "{\"error\":{\"code\":\"UnknownError\",\"message\":\"Unknown Error (Activity ID: c13ca820-6201-11ed-82a8-0022488d29c2)\"}}", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "x-ms-server-latency" : "23" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "64", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "c287a25c-6201-11ed-b6e0-000d3a602e9a", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.getSetting[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.getSetting[1].json new file mode 100644 index 000000000000..296a4b189ebf --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.getSetting[1].json @@ -0,0 +1,28 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "0", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "ea90ae18-61fe-11ed-80e0-0022488d29c2", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.listSettings[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.listSettings[1].json new file mode 100644 index 000000000000..8ebb9676e9f4 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.listSettings[1].json @@ -0,0 +1,28 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "97", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "131f3dda-61fb-11ed-a05f-0022488d29c2", + "Body" : "{\"settings\":[{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}]}" + }, + "Exception" : null + } ], + "variables" : [ ] +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.updateSetting[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.updateSetting[1].json new file mode 100644 index 000000000000..30a5a59dba35 --- /dev/null +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsClientTest.updateSetting[1].json @@ -0,0 +1,76 @@ +{ + "networkCallRecords" : [ { + "Method" : "GET", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "1", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "eac01086-61fe-11ed-80e0-0022488d29c2", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "81", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "68", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "eacd131c-61fe-11ed-80e0-0022488d29c2", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"true\"}" + }, + "Exception" : null + }, { + "Method" : "PATCH", + "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", + "Headers" : { + "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)", + "Content-Type" : "application/json" + }, + "Response" : { + "content-length" : "82", + "x-frame-options" : "SAMEORIGIN", + "retry-after" : "0", + "StatusCode" : "200", + "x-ms-server-latency" : "45", + "strict-transport-security" : "max-age=31536000; includeSubDomains", + "content-security-policy" : "default-src 'self'", + "x-content-type-options" : "nosniff", + "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", + "x-ms-keyvault-region" : "northus", + "content-type" : "application/json; charset=utf-8", + "cache-control" : "no-cache", + "x-ms-request-id" : "eae1cc58-61fe-11ed-80e0-0022488d29c2", + "Body" : "{\"name\":\"AllowKeyManagementOperationsThroughARM\",\"type\":\"boolean\",\"value\":\"false\"}" + }, + "Exception" : null + } ], + "variables" : [ ] +} \ No newline at end of file From 98788e34a03803ac6c8d0a3d1a6213ea88eebfc3 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 15:32:43 -0600 Subject: [PATCH 28/30] Fixed tests and recordings. --- .../KeyVaultAccessControlClientTestBase.java | 2 +- ...tBackupAsyncClientTest.beginBackup[1].json | 4 +-- ...BackupAsyncClientTest.beginRestore[1].json | 8 +++--- ...lientTest.beginSelectiveKeyRestore[1].json | 8 +++--- ...yVaultBackupClientTest.beginBackup[1].json | 4 +-- ...VaultBackupClientTest.beginRestore[1].json | 8 +++--- ...lientTest.beginSelectiveKeyRestore[1].json | 8 +++--- ...ttingsAsyncClientTest.listSettings[1].json | 25 +------------------ ...tingsAsyncClientTest.updateSetting[1].json | 25 +------------------ 9 files changed, 23 insertions(+), 69 deletions(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java index fa271bed502c..ce468a1be121 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultAccessControlClientTestBase.java @@ -25,7 +25,7 @@ public abstract class KeyVaultAccessControlClientTestBase extends KeyVaultAdministrationClientTestBase { protected final String servicePrincipalId = - Configuration.getGlobalConfiguration().get("CLIENT_OBJECTID", "49acc88b-8f9e-4619-9856-16691db66767"); + Configuration.getGlobalConfiguration().get("CLIENT_OBJECTID", "aed295e0-2ae7-4c2a-9abc-813f0ca233d3"); private static final ClientLogger LOGGER = new ClientLogger(KeyVaultAccessControlClientTestBase.class); protected KeyVaultAccessControlClientBuilder getClientBuilder(HttpClient httpClient, boolean forCleanup) { diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json index 4da54e1cade4..aa2e0a77d4e8 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginBackup[1].json @@ -24,7 +24,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "af9b879e-61f7-11ed-9679-000d3a602e9a", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195196,\"endTime\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/backup/a9fc485d5e7746fba071376e997d924e/pending" }, "Exception" : null }, { @@ -213,7 +213,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "b7bf75e8-61f7-11ed-9679-000d3a602e9a", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119331806\",\"endTime\":1668195208,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-azsdktests-2022111119331806\",\"endTime\":1668195208,\"error\":null,\"jobId\":\"a9fc485d5e7746fba071376e997d924e\",\"startTime\":1668195196,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json index 77eac2b0f263..9866d5551cd7 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginRestore[1].json @@ -24,7 +24,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "da29a5fe-61f7-11ed-9679-000d3a602e9a", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195266,\"endTime\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/backup/4bdf02f2f36c4bd9a54c2f87f8471cc3/pending" }, "Exception" : null }, { @@ -159,7 +159,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "df839ea6-61f7-11ed-9679-000d3a602e9a", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119342659\",\"endTime\":1668195275,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119342659\",\"endTime\":1668195275,\"error\":null,\"jobId\":\"4bdf02f2f36c4bd9a54c2f87f8471cc3\",\"startTime\":1668195266,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -187,7 +187,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "dff74946-61f7-11ed-9679-000d3a602e9a", "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"2320c7a9af344095b30c0ba75f9b4a1e\",\"startTime\":1668195277,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/restore/2320c7a9af344095b30c0ba75f9b4a1e/pending" }, "Exception" : null }, { @@ -435,4 +435,4 @@ "Exception" : null } ], "variables" : [ ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json index 714138afbd16..9bcd4c440aac 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupAsyncClientTest.beginSelectiveKeyRestore[1].json @@ -48,7 +48,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "b895ca62-61f7-11ed-9679-000d3a602e9a", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195210,\"endTime\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/backup/cc37aadf64cc4f27abda92e94ea7da3f/pending" }, "Exception" : null }, { @@ -210,7 +210,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "be04c8ea-61f7-11ed-9679-000d3a602e9a", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119333025\",\"endTime\":1668195219,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119333025\",\"endTime\":1668195219,\"error\":null,\"jobId\":\"cc37aadf64cc4f27abda92e94ea7da3f\",\"startTime\":1668195210,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -238,7 +238,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "be423946-61f7-11ed-9679-000d3a602e9a", "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"61536f637b0044169977af610b3a4e7f\",\"startTime\":1668195219,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/restore/61536f637b0044169977af610b3a4e7f/pending" }, "Exception" : null }, { @@ -351,4 +351,4 @@ "Exception" : null } ], "variables" : [ "backupkey1794237b" ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json index 9e7678f0c5d0..229c804ae63e 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginBackup[1].json @@ -24,7 +24,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "188b07b6-61f8-11ed-ae6e-0022488d4c2b", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195371,\"endTime\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/6c4aab53636c409ca573dfd564bbdfda/pending" + "azure-asyncoperation" : "https://azsdktests.blob.core.windows.net/backup6c4aab53636c409ca573dfd564bbdfda/pending" }, "Exception" : null }, { @@ -213,7 +213,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "1de1e19e-61f8-11ed-ae6e-0022488d4c2b", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119361129\",\"endTime\":1668195379,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119361129\",\"endTime\":1668195379,\"error\":null,\"jobId\":\"6c4aab53636c409ca573dfd564bbdfda\",\"startTime\":1668195371,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null } ], diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json index d29a96b9acad..b66a3f0ccca0 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginRestore[1].json @@ -24,7 +24,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "426704b8-61f8-11ed-ae6e-0022488d4c2b", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195441,\"endTime\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/backup/ebc232ea61724d14b39055a4cfe46c13/pending" }, "Exception" : null }, { @@ -294,7 +294,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "4aaef55e-61f8-11ed-ae6e-0022488d4c2b", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119372204\",\"endTime\":1668195454,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119372204\",\"endTime\":1668195454,\"error\":null,\"jobId\":\"ebc232ea61724d14b39055a4cfe46c13\",\"startTime\":1668195441,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -322,7 +322,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "4b045f62-61f8-11ed-ae6e-0022488d4c2b", "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"aecc0886bb144e8283fe368f1ec15e96\",\"startTime\":1668195455,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/restore/aecc0886bb144e8283fe368f1ec15e96/pending" }, "Exception" : null }, { @@ -624,4 +624,4 @@ "Exception" : null } ], "variables" : [ ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json index a4bc9b5b89ec..daec433c04a6 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultBackupClientTest.beginSelectiveKeyRestore[1].json @@ -48,7 +48,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "1ed5ca16-61f8-11ed-ae6e-0022488d4c2b", "Body" : "{\"status\":\"InProgress\",\"statusDetails\":null,\"error\":null,\"startTime\":1668195381,\"endTime\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"azureStorageBlobContainerUri\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/backup/dd80c443f7554e75acb94f9f5787ff29/pending" }, "Exception" : null }, { @@ -237,7 +237,7 @@ "x-ms-keyvault-network-info" : "conn_type=Ipv4;addr=189.203.88.141;act_addr_fam=Ipv4;", "cache-control" : "no-cache", "x-ms-request-id" : "24c7dd60-61f8-11ed-ae6e-0022488d4c2b", - "Body" : "{\"azureStorageBlobContainerUri\":\"https://vicolinakeyvaultprim.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119362178\",\"endTime\":1668195390,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"Succeeded\",\"statusDetails\":null}" + "Body" : "{\"azureStorageBlobContainerUri\":\"https://azsdktests.blob.core.windows.net/backup/mhsm-vicolinakeyvaulthsm-2022111119362178\",\"endTime\":1668195390,\"error\":null,\"jobId\":\"dd80c443f7554e75acb94f9f5787ff29\",\"startTime\":1668195381,\"status\":\"Succeeded\",\"statusDetails\":null}" }, "Exception" : null }, { @@ -265,7 +265,7 @@ "cache-control" : "no-cache", "x-ms-request-id" : "24fccdb8-61f8-11ed-ae6e-0022488d4c2b", "Body" : "{\"endTime\":null,\"error\":null,\"jobId\":\"3fa6bf14fa3544cc94542bf0ad4e2f83\",\"startTime\":1668195392,\"status\":\"InProgress\",\"statusDetails\":null}", - "azure-asyncoperation" : "https://vicolinakeyvaulthsm.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending" + "azure-asyncoperation" : "https://azsdktests.managedhsm.azure.net/restore/3fa6bf14fa3544cc94542bf0ad4e2f83/pending" }, "Exception" : null }, { @@ -378,4 +378,4 @@ "Exception" : null } ], "variables" : [ "backupkey75897ba4" ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json index 2a8d0d75314a..f767dd2c284b 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.listSettings[1].json @@ -1,28 +1,5 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/settings?api-version=7.4-preview.1", - "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" - }, - "Response" : { - "content-length" : "2", - "x-frame-options" : "SAMEORIGIN", - "www-authenticate" : "Bearer authorization=\"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://managedhsm.azure.net\"", - "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", - "retry-after" : "0", - "StatusCode" : "401", - "x-ms-server-latency" : "1", - "strict-transport-security" : "max-age=31536000; includeSubDomains", - "content-security-policy" : "default-src 'self'", - "x-content-type-options" : "nosniff", - "content-type" : "application/json; charset=utf-8", - "cache-control" : "no-cache", - "x-ms-request-id" : "ac6f99d4-6201-11ed-94f1-000d3a602e9a", - "Body" : "OK" - }, - "Exception" : null - }, { "Method" : "GET", "Uri" : "https://REDACTED.managedhsm.azure.net/settings?api-version=7.4-preview.1", "Headers" : { @@ -48,4 +25,4 @@ "Exception" : null } ], "variables" : [ ] -} \ No newline at end of file +} diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json index c2993f366d8d..e059d4b5a903 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/resources/session-records/KeyVaultSettingsAsyncClientTest.updateSetting[1].json @@ -1,28 +1,5 @@ { "networkCallRecords" : [ { - "Method" : "GET", - "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", - "Headers" : { - "User-Agent" : "azsdk-java-client_name/client_version (18.0.2; Windows 11; 10.0)" - }, - "Response" : { - "content-length" : "2", - "x-frame-options" : "SAMEORIGIN", - "www-authenticate" : "Bearer authorization=\"https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47\", resource=\"https://managedhsm.azure.net\"", - "x-ms-build-version" : "1.0.20221020-1-945ffe56-develop", - "retry-after" : "0", - "StatusCode" : "401", - "x-ms-server-latency" : "1", - "strict-transport-security" : "max-age=31536000; includeSubDomains", - "content-security-policy" : "default-src 'self'", - "x-content-type-options" : "nosniff", - "content-type" : "application/json; charset=utf-8", - "cache-control" : "no-cache", - "x-ms-request-id" : "c0698486-6201-11ed-82a8-0022488d29c2", - "Body" : "OK" - }, - "Exception" : null - }, { "Method" : "GET", "Uri" : "https://REDACTED.managedhsm.azure.net/settings/AllowKeyManagementOperationsThroughARM?api-version=7.4-preview.1", "Headers" : { @@ -118,4 +95,4 @@ "Exception" : null } ], "variables" : [ ] -} \ No newline at end of file +} From 1f2f4ed61b0c51e354c4822aacd44c573eb37675 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 14:09:05 -0800 Subject: [PATCH 29/30] Update KeyVaultSettingsClient.java --- .../security/keyvault/administration/KeyVaultSettingsClient.java | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java index e66db4e72b45..cb9619e72b65 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/main/java/com/azure/security/keyvault/administration/KeyVaultSettingsClient.java @@ -18,7 +18,6 @@ import com.azure.security.keyvault.administration.implementation.models.SettingsListResult; import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; -import com.azure.security.keyvault.administration.models.KeyVaultSettingType; import java.util.ArrayList; import java.util.List; From 058a44d4b34cafca421d8573096cd02b7faaf708 Mon Sep 17 00:00:00 2001 From: vcolin7 Date: Fri, 11 Nov 2022 14:09:55 -0800 Subject: [PATCH 30/30] Update KeyVaultSettingsAsyncClientTest.java --- .../keyvault/administration/KeyVaultSettingsAsyncClientTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java index 801ec49782fe..4afaa49e69e1 100644 --- a/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java +++ b/sdk/keyvault/azure-security-keyvault-administration/src/test/java/com/azure/security/keyvault/administration/KeyVaultSettingsAsyncClientTest.java @@ -4,7 +4,6 @@ import com.azure.core.http.HttpClient; import com.azure.core.test.http.AssertingHttpClientBuilder; -import com.azure.security.keyvault.administration.models.KeyVaultListSettingsResult; import com.azure.security.keyvault.administration.models.KeyVaultSetting; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.params.ParameterizedTest;