From 2c8e0d848f8d2e5f0139f650bc206c7778f396a4 Mon Sep 17 00:00:00 2001 From: Maor Leger Date: Tue, 22 Jun 2021 14:10:11 -0700 Subject: [PATCH] regenerate with service version capabilities and apply feedback --- .../keyvault-admin/src/accessControlClient.ts | 17 ++++++----- .../keyvault-admin/src/backupClient.ts | 19 ++++++------- .../src/generated/keyVaultClient.ts | 9 ++++-- .../src/generated/keyVaultClientContext.ts | 28 +++++++++++++++---- .../src/generated/models/index.ts | 17 +++++++++-- .../src/generated/models/parameters.ts | 3 +- sdk/keyvault/keyvault-admin/swagger/README.md | 1 + 7 files changed, 63 insertions(+), 31 deletions(-) diff --git a/sdk/keyvault/keyvault-admin/src/accessControlClient.ts b/sdk/keyvault/keyvault-admin/src/accessControlClient.ts index 5c7e8d66fe9c..4b6b465745b8 100644 --- a/sdk/keyvault/keyvault-admin/src/accessControlClient.ts +++ b/sdk/keyvault/keyvault-admin/src/accessControlClient.ts @@ -8,7 +8,6 @@ import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { createTraceFunction } from "./tracingHelpers"; import { KeyVaultClient } from "./generated/keyVaultClient"; import { - KeyVaultClientOptionalParams, RoleAssignmentsListForScopeOptionalParams } from "./generated/models"; @@ -90,22 +89,22 @@ export class KeyVaultAccessControlClient { : libInfo }; - const clientOptions: KeyVaultClientOptionalParams = { + const serviceVersion = options.serviceVersion || LATEST_API_VERSION + + const clientOptions = { ...options, - apiVersion: options.serviceVersion || LATEST_API_VERSION, - ...{ - loggingOptions: { - logger: logger.info, + loggingOptions: { + logger: logger.info, additionalAllowedHeaderNames: [ "x-ms-keyvault-region", "x-ms-keyvault-network-info", "x-ms-keyvault-service-version" ] - } + } - }; + } - this.client = new KeyVaultClient(clientOptions); + this.client = new KeyVaultClient(serviceVersion, clientOptions); this.client.pipeline.addPolicy( bearerTokenAuthenticationPolicy({ diff --git a/sdk/keyvault/keyvault-admin/src/backupClient.ts b/sdk/keyvault/keyvault-admin/src/backupClient.ts index 726b495efdad..73914b649740 100644 --- a/sdk/keyvault/keyvault-admin/src/backupClient.ts +++ b/sdk/keyvault/keyvault-admin/src/backupClient.ts @@ -22,7 +22,6 @@ import { KeyVaultBackupOperationState } from "./lro/backup/operation"; import { KeyVaultRestoreOperationState } from "./lro/restore/operation"; import { KeyVaultAdminPollOperationState } from "./lro/keyVaultAdminPoller"; import { KeyVaultSelectiveKeyRestoreOperationState } from "./lro/selectiveKeyRestore/operation"; -import { KeyVaultClientOptionalParams } from "./generated/models"; import { mappings } from "./mappings"; import { TokenCredential } from "@azure/core-auth"; import { bearerTokenAuthenticationPolicy } from "@azure/core-rest-pipeline"; @@ -88,22 +87,22 @@ export class KeyVaultBackupClient { : libInfo }; - const clientOptions: KeyVaultClientOptionalParams = { + const apiVersion = options.serviceVersion || LATEST_API_VERSION + + const clientOptions = { ...options, - apiVersion: options.serviceVersion || LATEST_API_VERSION, - ...{ - loggingOptions: { - logger: logger.info, - allowedHeaderNames: [ + loggingOptions: { + logger: logger.info, + additionalAllowedHeaderNames: [ "x-ms-keyvault-region", "x-ms-keyvault-network-info", "x-ms-keyvault-service-version" ] - } + } - }; + } - this.client = new KeyVaultClient(clientOptions); + this.client = new KeyVaultClient(apiVersion, clientOptions); this.client.pipeline.addPolicy( bearerTokenAuthenticationPolicy({ credential, diff --git a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts index a5c3e1fc412c..b7843fd72d71 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClient.ts @@ -14,6 +14,7 @@ import * as Mappers from "./models/mappers"; import { KeyVaultClientContext } from "./keyVaultClientContext"; import { KeyVaultClientOptionalParams, + ApiVersion72, KeyVaultClientFullBackupOptionalParams, KeyVaultClientFullBackupResponse, KeyVaultClientFullBackupStatusOptionalParams, @@ -29,10 +30,14 @@ import { export class KeyVaultClient extends KeyVaultClientContext { /** * Initializes a new instance of the KeyVaultClient class. + * @param apiVersion Api Version * @param options The parameter options */ - constructor(options?: KeyVaultClientOptionalParams) { - super(options); + constructor( + apiVersion: ApiVersion72, + options?: KeyVaultClientOptionalParams + ) { + super(apiVersion, options); this.roleDefinitions = new RoleDefinitionsImpl(this); this.roleAssignments = new RoleAssignmentsImpl(this); } diff --git a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts index 1b68a06ebbfa..164b60fd2535 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/keyVaultClientContext.ts @@ -7,18 +7,26 @@ */ import * as coreClient from "@azure/core-client"; -import { KeyVaultClientOptionalParams } from "./models"; +import { ApiVersion72, KeyVaultClientOptionalParams } from "./models"; export const packageVersion = "4.1.0-beta.1"; export class KeyVaultClientContext extends coreClient.ServiceClient { - apiVersion: string; + apiVersion: ApiVersion72; /** * Initializes a new instance of the KeyVaultClientContext class. + * @param apiVersion Api Version * @param options The parameter options */ - constructor(options?: KeyVaultClientOptionalParams) { + constructor( + apiVersion: ApiVersion72, + options?: KeyVaultClientOptionalParams + ) { + if (apiVersion === undefined) { + throw new Error("'apiVersion' cannot be null"); + } + // Initializing default values for options if (!options) { options = {}; @@ -27,14 +35,22 @@ export class KeyVaultClientContext extends coreClient.ServiceClient { requestContentType: "application/json; charset=utf-8" }; + const packageDetails = `azsdk-js-keyvault-admin/4.1.0-beta.1`; + const userAgentPrefix = + options.userAgentOptions && options.userAgentOptions.userAgentPrefix + ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` + : `${packageDetails}`; + const optionsWithDefaults = { ...defaults, ...options, + userAgentOptions: { + userAgentPrefix + }, baseUri: options.endpoint || "{vaultBaseUrl}" }; super(optionsWithDefaults); - - // Assigning values to Constant parameters - this.apiVersion = options.apiVersion || "7.2"; + // Parameter assignments + this.apiVersion = apiVersion; } } diff --git a/sdk/keyvault/keyvault-admin/src/generated/models/index.ts b/sdk/keyvault/keyvault-admin/src/generated/models/index.ts index 1fe1e0431cfc..aed423362463 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/models/index.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/models/index.ts @@ -265,6 +265,21 @@ export interface KeyVaultClientSelectiveKeyRestoreOperationHeaders { azureAsyncOperation?: string; } +/** Known values of {@link ApiVersion72} that the service accepts. */ +export const enum KnownApiVersion72 { + /** Api Version '7.2' */ + Seven2 = "7.2" +} + +/** + * Defines values for ApiVersion72. \ + * {@link KnownApiVersion72} can be used interchangeably with ApiVersion72, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **7.2**: Api Version '7.2' + */ +export type ApiVersion72 = string; + /** Known values of {@link RoleType} that the service accepts. */ export const enum KnownRoleType { /** Built in role. */ @@ -540,8 +555,6 @@ export type KeyVaultClientSelectiveKeyRestoreOperationResponse = KeyVaultClientS /** Optional parameters. */ export interface KeyVaultClientOptionalParams extends coreClient.ServiceClientOptions { - /** Api Version */ - apiVersion?: string; /** Overrides client endpoint. */ endpoint?: string; } diff --git a/sdk/keyvault/keyvault-admin/src/generated/models/parameters.ts b/sdk/keyvault/keyvault-admin/src/generated/models/parameters.ts index 803425427550..c5208248fc46 100644 --- a/sdk/keyvault/keyvault-admin/src/generated/models/parameters.ts +++ b/sdk/keyvault/keyvault-admin/src/generated/models/parameters.ts @@ -69,9 +69,8 @@ export const roleDefinitionName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "7.2", - isConstant: true, serializedName: "api-version", + required: true, type: { name: "String" } diff --git a/sdk/keyvault/keyvault-admin/swagger/README.md b/sdk/keyvault/keyvault-admin/swagger/README.md index fb4cbb4317cf..fb6afb8b3fdf 100644 --- a/sdk/keyvault/keyvault-admin/swagger/README.md +++ b/sdk/keyvault/keyvault-admin/swagger/README.md @@ -6,6 +6,7 @@ package-name: "@azure/keyvault-admin" azure-arm: false disable-async-iterators: true +api-version-parameter: choice generate-metadata: false add-credentials: false license-header: MICROSOFT_MIT_NO_VERSION