diff --git a/packages/@azure/arm-keyvault/lib/keyVaultManagementClient.ts b/packages/@azure/arm-keyvault/lib/keyVaultManagementClient.ts index 6536973f399d..663829bb13a9 100644 --- a/packages/@azure/arm-keyvault/lib/keyVaultManagementClient.ts +++ b/packages/@azure/arm-keyvault/lib/keyVaultManagementClient.ts @@ -19,6 +19,7 @@ class KeyVaultManagementClient extends KeyVaultManagementClientContext { // Operation groups vaults: operations.Vaults; operations: operations.Operations; + secrets: operations.Secrets; /** * Initializes a new instance of the KeyVaultManagementClient class. @@ -31,6 +32,7 @@ class KeyVaultManagementClient extends KeyVaultManagementClientContext { super(credentials, subscriptionId, options); this.vaults = new operations.Vaults(this); this.operations = new operations.Operations(this); + this.secrets = new operations.Secrets(this); } } diff --git a/packages/@azure/arm-keyvault/lib/keyVaultManagementClientContext.ts b/packages/@azure/arm-keyvault/lib/keyVaultManagementClientContext.ts index 553ec58e4d4b..72ea949f07eb 100644 --- a/packages/@azure/arm-keyvault/lib/keyVaultManagementClientContext.ts +++ b/packages/@azure/arm-keyvault/lib/keyVaultManagementClientContext.ts @@ -45,7 +45,7 @@ export class KeyVaultManagementClientContext extends msRestAzure.AzureServiceCli super(credentials, options); - this.apiVersion = '2018-02-14'; + this.apiVersion = '2019-00-00'; this.acceptLanguage = 'en-US'; this.longRunningOperationRetryTimeout = 30; this.baseUri = options.baseUri || this.baseUri || "https://management.azure.com"; diff --git a/packages/@azure/arm-keyvault/lib/models/index.ts b/packages/@azure/arm-keyvault/lib/models/index.ts index 11a08aa6aa79..706a7fed1d25 100644 --- a/packages/@azure/arm-keyvault/lib/models/index.ts +++ b/packages/@azure/arm-keyvault/lib/models/index.ts @@ -646,6 +646,160 @@ export interface Operation { serviceSpecification?: ServiceSpecification; } +/** + * @interface + * An interface representing Attributes. + * The object attributes managed by the KeyVault service. + * + */ +export interface Attributes { + /** + * @member {boolean} [enabled] Determines whether the object is enabled. + */ + enabled?: boolean; + /** + * @member {Date} [notBefore] Not before date in UTC. + */ + notBefore?: Date; + /** + * @member {Date} [expires] Expiry date in UTC. + */ + expires?: Date; + /** + * @member {Date} [created] Creation time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly created?: Date; + /** + * @member {Date} [updated] Last updated time in UTC. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly updated?: Date; +} + +/** + * @interface + * An interface representing SecretAttributes. + * The secret management attributes. + * + * @extends Attributes + */ +export interface SecretAttributes extends Attributes { +} + +/** + * @interface + * An interface representing SecretProperties. + * Properties of the secret + * + */ +export interface SecretProperties { + /** + * @member {string} [value] The value of the secret. NOTE: 'value' will never + * be returned from the service, as APIs using this model are is intended for + * internal use in ARM deployments. Users should use the data-plane REST + * service for interaction with vault secrets. + */ + value?: string; + /** + * @member {string} [contentType] The content type of the secret. + */ + contentType?: string; + /** + * @member {SecretAttributes} [attributes] The attributes of the secret. + */ + attributes?: SecretAttributes; + /** + * @member {string} [secretUri] The URI to retrieve the current version of + * the secret. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly secretUri?: string; + /** + * @member {string} [secretUriWithVersion] The URI to retrieve the specific + * version of the secret. + * **NOTE: This property will not be serialized. It can only be populated by + * the server.** + */ + readonly secretUriWithVersion?: string; +} + +/** + * @interface + * An interface representing SecretPatchProperties. + * Properties of the secret + * + */ +export interface SecretPatchProperties { + /** + * @member {string} [value] The value of the secret. + */ + value?: string; + /** + * @member {string} [contentType] The content type of the secret. + */ + contentType?: string; + /** + * @member {SecretAttributes} [attributes] The attributes of the secret. + */ + attributes?: SecretAttributes; +} + +/** + * @interface + * An interface representing SecretCreateOrUpdateParameters. + * Parameters for creating or updating a secret + * + * @extends BaseResource + */ +export interface SecretCreateOrUpdateParameters extends BaseResource { + /** + * @member {{ [propertyName: string]: string }} [tags] The tags that will be + * assigned to the secret. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {SecretProperties} properties Properties of the secret + */ + properties: SecretProperties; +} + +/** + * @interface + * An interface representing SecretPatchParameters. + * Parameters for patching a secret + * + * @extends BaseResource + */ +export interface SecretPatchParameters extends BaseResource { + /** + * @member {{ [propertyName: string]: string }} [tags] The tags that will be + * assigned to the secret. + */ + tags?: { [propertyName: string]: string }; + /** + * @member {SecretPatchProperties} [properties] Properties of the secret + */ + properties?: SecretPatchProperties; +} + +/** + * @interface + * An interface representing Secret. + * Resource information with extended details. + * + * @extends Resource + */ +export interface Secret extends Resource { + /** + * @member {SecretProperties} properties Properties of the secret + */ + properties: SecretProperties; +} + /** * @interface * An interface representing VaultsListByResourceGroupOptionalParams. @@ -688,6 +842,20 @@ export interface VaultsListOptionalParams extends msRest.RequestOptionsBase { top?: number; } +/** + * @interface + * An interface representing SecretsListOptionalParams. + * Optional Parameters. + * + * @extends RequestOptionsBase + */ +export interface SecretsListOptionalParams extends msRest.RequestOptionsBase { + /** + * @member {number} [top] Maximum number of results to return. + */ + top?: number; +} + /** * @interface * An interface representing KeyVaultManagementClientOptions. @@ -759,6 +927,20 @@ export interface OperationListResult extends Array { nextLink?: string; } +/** + * @interface + * An interface representing the SecretListResult. + * List of secrets + * + * @extends Array + */ +export interface SecretListResult extends Array { + /** + * @member {string} [nextLink] The URL to get the next set of secrets. + */ + nextLink?: string; +} + /** * Defines values for SkuName. * Possible values include: 'standard', 'premium' @@ -1165,3 +1347,98 @@ export type OperationsListNextResponse = OperationListResult & { parsedBody: OperationListResult; }; }; + +/** + * Contains response data for the createOrUpdate operation. + */ +export type SecretsCreateOrUpdateResponse = Secret & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Secret; + }; +}; + +/** + * Contains response data for the update operation. + */ +export type SecretsUpdateResponse = Secret & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Secret; + }; +}; + +/** + * Contains response data for the get operation. + */ +export type SecretsGetResponse = Secret & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: Secret; + }; +}; + +/** + * Contains response data for the list operation. + */ +export type SecretsListResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; + +/** + * Contains response data for the listNext operation. + */ +export type SecretsListNextResponse = SecretListResult & { + /** + * The underlying HTTP response. + */ + _response: msRest.HttpResponse & { + /** + * The response body as text (string format) + */ + bodyAsText: string; + /** + * The response body as parsed JSON or XML + */ + parsedBody: SecretListResult; + }; +}; diff --git a/packages/@azure/arm-keyvault/lib/models/mappers.ts b/packages/@azure/arm-keyvault/lib/models/mappers.ts index 784253b02f10..aa0ea3ebf401 100644 --- a/packages/@azure/arm-keyvault/lib/models/mappers.ts +++ b/packages/@azure/arm-keyvault/lib/models/mappers.ts @@ -861,6 +861,207 @@ export const Operation: msRest.CompositeMapper = { } }; +export const Attributes: msRest.CompositeMapper = { + serializedName: "Attributes", + type: { + name: "Composite", + className: "Attributes", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean" + } + }, + notBefore: { + serializedName: "nbf", + type: { + name: "UnixTime" + } + }, + expires: { + serializedName: "exp", + type: { + name: "UnixTime" + } + }, + created: { + readOnly: true, + serializedName: "created", + type: { + name: "UnixTime" + } + }, + updated: { + readOnly: true, + serializedName: "updated", + type: { + name: "UnixTime" + } + } + } + } +}; + +export const SecretAttributes: msRest.CompositeMapper = { + serializedName: "SecretAttributes", + type: { + name: "Composite", + className: "SecretAttributes", + modelProperties: { + ...Attributes.type.modelProperties + } + } +}; + +export const SecretProperties: msRest.CompositeMapper = { + serializedName: "SecretProperties", + type: { + name: "Composite", + className: "SecretProperties", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "String" + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + }, + secretUri: { + readOnly: true, + serializedName: "secretUri", + type: { + name: "String" + } + }, + secretUriWithVersion: { + readOnly: true, + serializedName: "secretUriWithVersion", + type: { + name: "String" + } + } + } + } +}; + +export const SecretPatchProperties: msRest.CompositeMapper = { + serializedName: "SecretPatchProperties", + type: { + name: "Composite", + className: "SecretPatchProperties", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "String" + } + }, + contentType: { + serializedName: "contentType", + type: { + name: "String" + } + }, + attributes: { + serializedName: "attributes", + type: { + name: "Composite", + className: "SecretAttributes" + } + } + } + } +}; + +export const SecretCreateOrUpdateParameters: msRest.CompositeMapper = { + serializedName: "SecretCreateOrUpdateParameters", + type: { + name: "Composite", + className: "SecretCreateOrUpdateParameters", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + properties: { + required: true, + serializedName: "properties", + type: { + name: "Composite", + className: "SecretProperties" + } + } + } + } +}; + +export const SecretPatchParameters: msRest.CompositeMapper = { + serializedName: "SecretPatchParameters", + type: { + name: "Composite", + className: "SecretPatchParameters", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { + type: { + name: "String" + } + } + } + }, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "SecretPatchProperties" + } + } + } + } +}; + +export const Secret: msRest.CompositeMapper = { + serializedName: "Secret", + type: { + name: "Composite", + className: "Secret", + modelProperties: { + ...Resource.type.modelProperties, + properties: { + required: true, + serializedName: "properties", + type: { + name: "Composite", + className: "SecretProperties" + } + } + } + } +}; + export const VaultListResult: msRest.CompositeMapper = { serializedName: "VaultListResult", type: { @@ -972,3 +1173,31 @@ export const OperationListResult: msRest.CompositeMapper = { } } }; + +export const SecretListResult: msRest.CompositeMapper = { + serializedName: "SecretListResult", + type: { + name: "Composite", + className: "SecretListResult", + modelProperties: { + value: { + serializedName: "", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "Secret" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + type: { + name: "String" + } + } + } + } +}; diff --git a/packages/@azure/arm-keyvault/lib/models/parameters.ts b/packages/@azure/arm-keyvault/lib/models/parameters.ts index 6e34add7aa9c..8ba510fe212c 100644 --- a/packages/@azure/arm-keyvault/lib/models/parameters.ts +++ b/packages/@azure/arm-keyvault/lib/models/parameters.ts @@ -100,6 +100,29 @@ export const resourceGroupName: msRest.OperationURLParameter = { } } }; +export const secretName0: msRest.OperationURLParameter = { + parameterPath: "secretName", + mapper: { + required: true, + serializedName: "secretName", + constraints: { + Pattern: /^[a-zA-Z0-9-]{1,127}$/ + }, + type: { + name: "String" + } + } +}; +export const secretName1: msRest.OperationURLParameter = { + parameterPath: "secretName", + mapper: { + required: true, + serializedName: "secretName", + type: { + name: "String" + } + } +}; export const subscriptionId: msRest.OperationURLParameter = { parameterPath: "subscriptionId", mapper: { diff --git a/packages/@azure/arm-keyvault/lib/models/secretsMappers.ts b/packages/@azure/arm-keyvault/lib/models/secretsMappers.ts new file mode 100644 index 000000000000..b78e1f1eccf9 --- /dev/null +++ b/packages/@azure/arm-keyvault/lib/models/secretsMappers.ts @@ -0,0 +1,37 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +export { + SecretCreateOrUpdateParameters, + BaseResource, + SecretProperties, + SecretAttributes, + Attributes, + Secret, + Resource, + CloudError, + SecretPatchParameters, + SecretPatchProperties, + SecretListResult, + VaultCreateOrUpdateParameters, + VaultProperties, + Sku, + AccessPolicyEntry, + Permissions, + NetworkRuleSet, + IPRule, + VirtualNetworkRule, + VaultPatchParameters, + VaultPatchProperties, + VaultAccessPolicyParameters, + VaultAccessPolicyProperties, + Vault +} from "../models/mappers"; + diff --git a/packages/@azure/arm-keyvault/lib/models/vaultsMappers.ts b/packages/@azure/arm-keyvault/lib/models/vaultsMappers.ts index 41a7bfa41afe..5de610c4df89 100644 --- a/packages/@azure/arm-keyvault/lib/models/vaultsMappers.ts +++ b/packages/@azure/arm-keyvault/lib/models/vaultsMappers.ts @@ -31,6 +31,13 @@ export { DeletedVaultProperties, ResourceListResult, VaultCheckNameAvailabilityParameters, - CheckNameAvailabilityResult + CheckNameAvailabilityResult, + SecretCreateOrUpdateParameters, + SecretProperties, + SecretAttributes, + Attributes, + SecretPatchParameters, + SecretPatchProperties, + Secret } from "../models/mappers"; diff --git a/packages/@azure/arm-keyvault/lib/operations/index.ts b/packages/@azure/arm-keyvault/lib/operations/index.ts index 88c3eb19f212..6b429dd9d6b8 100644 --- a/packages/@azure/arm-keyvault/lib/operations/index.ts +++ b/packages/@azure/arm-keyvault/lib/operations/index.ts @@ -10,3 +10,4 @@ export * from "./vaults"; export * from "./operations"; +export * from "./secrets"; diff --git a/packages/@azure/arm-keyvault/lib/operations/secrets.ts b/packages/@azure/arm-keyvault/lib/operations/secrets.ts new file mode 100644 index 000000000000..97e8afa561a8 --- /dev/null +++ b/packages/@azure/arm-keyvault/lib/operations/secrets.ts @@ -0,0 +1,360 @@ +/* + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for + * license information. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is + * regenerated. + */ + +import * as msRest from "ms-rest-js"; +import * as Models from "../models"; +import * as Mappers from "../models/secretsMappers"; +import * as Parameters from "../models/parameters"; +import { KeyVaultManagementClientContext } from "../keyVaultManagementClientContext"; + +/** Class representing a Secrets. */ +export class Secrets { + private readonly client: KeyVaultManagementClientContext; + + /** + * Create a Secrets. + * @param {KeyVaultManagementClientContext} client Reference to the service client. + */ + constructor(client: KeyVaultManagementClientContext) { + this.client = client; + } + + /** + * Create or update a secret in a key vault in the specified subscription. NOTE: This API is + * intended for internal use in ARM deployments. Users should use the data-plane REST service for + * interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to create or update the secret + * @param [options] The optional parameters + * @returns Promise + */ + createOrUpdate(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretCreateOrUpdateParameters, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to create or update the secret + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretCreateOrUpdateParameters, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to create or update the secret + * @param options The optional parameters + * @param callback The callback + */ + createOrUpdate(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretCreateOrUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + createOrUpdate(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretCreateOrUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vaultName, + secretName, + parameters, + options + }, + createOrUpdateOperationSpec, + callback) as Promise; + } + + /** + * Update a secret in the specified subscription. NOTE: This API is intended for internal use in + * ARM deployments. Users should use the data-plane REST service for interaction with vault + * secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to patch the secret + * @param [options] The optional parameters + * @returns Promise + */ + update(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretPatchParameters, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to patch the secret + * @param callback The callback + */ + update(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretPatchParameters, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName Name of the vault + * @param secretName Name of the secret + * @param parameters Parameters to patch the secret + * @param options The optional parameters + * @param callback The callback + */ + update(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretPatchParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + update(resourceGroupName: string, vaultName: string, secretName: string, parameters: Models.SecretPatchParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vaultName, + secretName, + parameters, + options + }, + updateOperationSpec, + callback) as Promise; + } + + /** + * Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. + * Users should use the data-plane REST service for interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param secretName The name of the secret. + * @param [options] The optional parameters + * @returns Promise + */ + get(resourceGroupName: string, vaultName: string, secretName: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param secretName The name of the secret. + * @param callback The callback + */ + get(resourceGroupName: string, vaultName: string, secretName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param secretName The name of the secret. + * @param options The optional parameters + * @param callback The callback + */ + get(resourceGroupName: string, vaultName: string, secretName: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + get(resourceGroupName: string, vaultName: string, secretName: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vaultName, + secretName, + options + }, + getOperationSpec, + callback) as Promise; + } + + /** + * The List operation gets information about the secrets in a vault. NOTE: This API is intended + * for internal use in ARM deployments. Users should use the data-plane REST service for + * interaction with vault secrets. + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param [options] The optional parameters + * @returns Promise + */ + list(resourceGroupName: string, vaultName: string, options?: Models.SecretsListOptionalParams): Promise; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param callback The callback + */ + list(resourceGroupName: string, vaultName: string, callback: msRest.ServiceCallback): void; + /** + * @param resourceGroupName The name of the Resource Group to which the vault belongs. + * @param vaultName The name of the vault. + * @param options The optional parameters + * @param callback The callback + */ + list(resourceGroupName: string, vaultName: string, options: Models.SecretsListOptionalParams, callback: msRest.ServiceCallback): void; + list(resourceGroupName: string, vaultName: string, options?: Models.SecretsListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + vaultName, + options + }, + listOperationSpec, + callback) as Promise; + } + + /** + * The List operation gets information about the secrets in a vault. NOTE: This API is intended + * for internal use in ARM deployments. Users should use the data-plane REST service for + * interaction with vault secrets. + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param [options] The optional parameters + * @returns Promise + */ + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase): Promise; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param callback The callback + */ + listNext(nextPageLink: string, callback: msRest.ServiceCallback): void; + /** + * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param options The optional parameters + * @param callback The callback + */ + listNext(nextPageLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; + listNext(nextPageLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { + return this.client.sendOperationRequest( + { + nextPageLink, + options + }, + listNextOperationSpec, + callback) as Promise; + } +} + +// Operation Specifications +const serializer = new msRest.Serializer(Mappers); +const createOrUpdateOperationSpec: msRest.OperationSpec = { + httpMethod: "PUT", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vaultName0, + Parameters.secretName0, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.SecretCreateOrUpdateParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + 201: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const updateOperationSpec: msRest.OperationSpec = { + httpMethod: "PATCH", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vaultName0, + Parameters.secretName0, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + requestBody: { + parameterPath: "parameters", + mapper: { + ...Mappers.SecretPatchParameters, + required: true + } + }, + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + 201: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const getOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vaultName1, + Parameters.secretName1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.Secret + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + path: "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets", + urlParameters: [ + Parameters.resourceGroupName, + Parameters.vaultName1, + Parameters.subscriptionId + ], + queryParameters: [ + Parameters.top, + Parameters.apiVersion0 + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +}; + +const listNextOperationSpec: msRest.OperationSpec = { + httpMethod: "GET", + baseUrl: "https://management.azure.com", + path: "{nextLink}", + urlParameters: [ + Parameters.nextPageLink + ], + headerParameters: [ + Parameters.acceptLanguage + ], + responses: { + 200: { + bodyMapper: Mappers.SecretListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + serializer +};