From 29681b5c0db3c2932a7b2e30b9c4637543513539 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Mon, 29 Aug 2022 23:40:26 +0000 Subject: [PATCH] CodeGen from PR 20453 in Azure/azure-rest-api-specs Merge 3ee05b02f1c2a46b1e746b9f58c0c85fba1adf2d into fce14f3880315a422a59851fa5ffda4aba4f17e4 --- common/config/rush/pnpm-lock.yaml | 13 +- sdk/keyvault/arm-keyvault/CHANGELOG.md | 31 ++- sdk/keyvault/arm-keyvault/README.md | 2 +- sdk/keyvault/arm-keyvault/_meta.json | 12 +- sdk/keyvault/arm-keyvault/package.json | 27 +- .../arm-keyvault/review/arm-keyvault.api.md | 210 ++++++--------- .../src/keyVaultManagementClient.ts | 38 ++- sdk/keyvault/arm-keyvault/src/models/index.ts | 244 ++++++++++++++++-- .../arm-keyvault/src/models/mappers.ts | 148 ++++++++++- .../arm-keyvault/src/models/parameters.ts | 8 +- .../src/operations/managedHsms.ts | 66 ++++- .../src/operationsInterfaces/managedHsms.ts | 24 +- sdk/keyvault/arm-keyvault/test/sampleTest.ts | 43 +++ sdk/keyvault/arm-keyvault/tsconfig.json | 10 +- 14 files changed, 671 insertions(+), 205 deletions(-) create mode 100644 sdk/keyvault/arm-keyvault/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index e36dcfa835e8..4ae80b7b0e00 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -4095,7 +4095,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.9.0-dev.20220828 + typescript: 4.9.0-dev.20220829 dev: false /downlevel-dts/0.4.0: @@ -9098,8 +9098,8 @@ packages: hasBin: true dev: false - /typescript/4.9.0-dev.20220828: - resolution: {integrity: sha512-XM4H+zuGTaVi+ZLpLZ6jNTTlE4t1keC6g2e4x3JztjzIHEN/RfV2NncqflIkWD39Fh7qqCckFboFqVcG7M+QuA==} + /typescript/4.9.0-dev.20220829: + resolution: {integrity: sha512-JPUwN18SBzfknl8eLExxWrNo8H98PrZMQdNTXRFYlQFv6qg56e3H/gaJn8Bmo2xz6L1vADwzbMHIp4PAWjskQw==} engines: {node: '>=4.2.0'} hasBin: true dev: false @@ -12597,7 +12597,7 @@ packages: dev: false file:projects/arm-keyvault.tgz: - resolution: {integrity: sha512-QIm6hXIyYSODrwQapGif5AsREdlTxmhPF4yycw1Cv1titytE8lqe5wYWzYpIaHf78Pq3me48nZccofVuTgF9BQ==, tarball: file:projects/arm-keyvault.tgz} + resolution: {integrity: sha512-XLesyTkalkR48wmXrbmD9DLEw6dpGpkpAGC9m0xgBnmaVcboMYMK6XbJNvmkZqa39F1TadKtgRjfALJFiIPJ8A==, tarball: file:projects/arm-keyvault.tgz} name: '@rush-temp/arm-keyvault' version: 0.0.0 dependencies: @@ -12609,6 +12609,8 @@ packages: '@rollup/plugin-json': 4.1.0_rollup@2.77.2 '@rollup/plugin-multi-entry': 4.1.0_rollup@2.77.2 '@rollup/plugin-node-resolve': 13.3.0_rollup@2.77.2 + '@types/chai': 4.3.1 + chai: 4.3.6 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 @@ -12620,7 +12622,6 @@ packages: uglify-js: 3.16.3 transitivePeerDependencies: - '@types/node' - - encoding - supports-color dev: false @@ -15669,7 +15670,7 @@ packages: dev: false file:projects/communication-job-router.tgz: - resolution: {integrity: sha512-kJTGc13v98By2R/RRGv8OLG+OUGpQlnEsh3awDVosiZK5hW2fr34X1S1RQEabHvPuXQt4s5qG1sikvbhovRrpA==, tarball: file:projects/communication-job-router.tgz} + resolution: {integrity: sha512-f2VzRwK94ENNXQYhHUwoDmbYDN0TOFYwlwLo3qthLuSROqb3XRi0Klw4LgqiIgQKO2NxU3nQzAeDaeVs6NegvQ==, tarball: file:projects/communication-job-router.tgz} name: '@rush-temp/communication-job-router' version: 0.0.0 dependencies: diff --git a/sdk/keyvault/arm-keyvault/CHANGELOG.md b/sdk/keyvault/arm-keyvault/CHANGELOG.md index 2b5925239463..8ba3cdb6abbf 100644 --- a/sdk/keyvault/arm-keyvault/CHANGELOG.md +++ b/sdk/keyvault/arm-keyvault/CHANGELOG.md @@ -1,25 +1,50 @@ # Release History -## 2.1.0-beta.1 (2022-04-24) +## 3.0.0 (2022-08-29) **Features** + - Added operation ManagedHsms.checkMhsmNameAvailability - Added Interface Action + - Added Interface CheckMhsmNameAvailabilityParameters + - Added Interface CheckMhsmNameAvailabilityResult + - Added Interface Key - Added Interface KeyReleasePolicy - Added Interface KeyRotationPolicyAttributes - Added Interface LifetimeAction + - Added Interface ManagedHsm + - Added Interface ManagedHsmsCheckMhsmNameAvailabilityOptionalParams + - Added Interface ManagedHsmsCreateOrUpdateHeaders + - Added Interface ManagedHsmsDeleteHeaders + - Added Interface ManagedHSMSecurityDomainProperties + - Added Interface ManagedHsmsPurgeDeletedHeaders + - Added Interface ManagedHsmsUpdateHeaders + - Added Interface MhsmPrivateEndpointConnection + - Added Interface MhsmPrivateLinkResource + - Added Interface PrivateEndpointConnection + - Added Interface PrivateLinkResource - Added Interface RotationPolicy + - Added Interface Secret + - Added Interface SecretAttributes - Added Interface Trigger + - Added Type Alias ActivationStatus - Added Type Alias KeyRotationPolicyActionType + - Added Type Alias ManagedHsmsCheckMhsmNameAvailabilityResponse + - Added Type Alias ManagedHsmsPurgeDeletedResponse - Interface KeyProperties has a new optional parameter releasePolicy - Interface KeyProperties has a new optional parameter rotationPolicy - - Type Alias Key has a new parameter rotationPolicy - - Type Alias Key has a new parameter releasePolicy + - Interface MhsmPrivateEndpointConnectionItem has a new optional parameter etag + - Interface MhsmPrivateEndpointConnectionItem has a new optional parameter id + - Added Enum KnownActivationStatus - Enum KnownJsonWebKeyOperation has a new value Release - Enum KnownKeyPermissions has a new value Getrotationpolicy - Enum KnownKeyPermissions has a new value Release - Enum KnownKeyPermissions has a new value Rotate - Enum KnownKeyPermissions has a new value Setrotationpolicy + +**Breaking Changes** + + - Interface MhsmPrivateEndpointConnectionsDeleteHeaders no longer has parameter retryAfter ## 2.0.0 (2022-01-17) diff --git a/sdk/keyvault/arm-keyvault/README.md b/sdk/keyvault/arm-keyvault/README.md index 0773c14b86c3..f15e7dde1832 100644 --- a/sdk/keyvault/arm-keyvault/README.md +++ b/sdk/keyvault/arm-keyvault/README.md @@ -6,7 +6,7 @@ The Azure management API provides a RESTful set of web services that interact wi [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/arm-keyvault) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-keyvault) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-keyvault?view=azure-node-preview) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-keyvault) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/keyvault/arm-keyvault/_meta.json b/sdk/keyvault/arm-keyvault/_meta.json index 3ad020efb5e3..b599853fa4e9 100644 --- a/sdk/keyvault/arm-keyvault/_meta.json +++ b/sdk/keyvault/arm-keyvault/_meta.json @@ -1,8 +1,8 @@ { - "commit": "d90729bbada2b4f784f2737ab4b4e39693a7aab8", - "readme": "specification\\keyvault\\resource-manager\\readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\keyvault\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220408.1 --generate-sample=true", + "commit": "d48361249ae357863554f9e79d1415fb968c1b39", + "readme": "specification/keyvault/resource-manager/readme.md", + "autorest_command": "autorest --version=3.8.4 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/keyvault/resource-manager/readme.md --use=@autorest/typescript@6.0.0-rc.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.2.6", - "use": "@autorest/typescript@6.0.0-alpha.19.20220408.1" -} + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.2", + "use": "@autorest/typescript@6.0.0-rc.1" +} \ No newline at end of file diff --git a/sdk/keyvault/arm-keyvault/package.json b/sdk/keyvault/arm-keyvault/package.json index 9bdbe9fab907..8dbaf35ad781 100644 --- a/sdk/keyvault/arm-keyvault/package.json +++ b/sdk/keyvault/arm-keyvault/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for KeyVaultManagementClient.", - "version": "2.1.0-beta.1", + "version": "3.0.0", "engines": { "node": ">=12.0.0" }, @@ -40,9 +40,13 @@ "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/keyvault/arm-keyvault", "repository": { @@ -93,9 +97,8 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", - "integration-test:browser": "echo skipped", - "docs": "echo skipped" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { @@ -106,13 +109,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-keyvault?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md b/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md index 6af065138042..91c016815976 100644 --- a/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md +++ b/sdk/keyvault/arm-keyvault/review/arm-keyvault.api.md @@ -29,6 +29,9 @@ export interface Action { // @public export type ActionsRequired = string; +// @public +export type ActivationStatus = string; + // @public export interface Attributes { readonly created?: Date; @@ -41,6 +44,18 @@ export interface Attributes { // @public export type CertificatePermissions = string; +// @public +export interface CheckMhsmNameAvailabilityParameters { + name: string; +} + +// @public +export interface CheckMhsmNameAvailabilityResult { + readonly message?: string; + readonly nameAvailable?: boolean; + readonly reason?: Reason; +} + // @public export interface CheckNameAvailabilityResult { readonly message?: string; @@ -149,17 +164,18 @@ export type JsonWebKeyOperation = string; export type JsonWebKeyType = string; // @public -export type Key = Resource & { +export interface Key extends Resource { attributes?: KeyAttributes; - kty?: JsonWebKeyType; + curveName?: JsonWebKeyCurveName; + // (undocumented) keyOps?: JsonWebKeyOperation[]; keySize?: number; - curveName?: JsonWebKeyCurveName; readonly keyUri?: string; readonly keyUriWithVersion?: string; - rotationPolicy?: RotationPolicy; + kty?: JsonWebKeyType; releasePolicy?: KeyReleasePolicy; -}; + rotationPolicy?: RotationPolicy; +} // @public export interface KeyAttributes { @@ -315,159 +331,104 @@ export interface KeyVaultManagementClientOptionalParams extends coreClient.Servi // @public export enum KnownActionsRequired { - // (undocumented) None = "None" } +// @public +export enum KnownActivationStatus { + Active = "Active", + Failed = "Failed", + NotActivated = "NotActivated", + Unknown = "Unknown" +} + // @public export enum KnownCertificatePermissions { - // (undocumented) All = "all", - // (undocumented) Backup = "backup", - // (undocumented) Create = "create", - // (undocumented) Delete = "delete", - // (undocumented) Deleteissuers = "deleteissuers", - // (undocumented) Get = "get", - // (undocumented) Getissuers = "getissuers", - // (undocumented) Import = "import", - // (undocumented) List = "list", - // (undocumented) Listissuers = "listissuers", - // (undocumented) Managecontacts = "managecontacts", - // (undocumented) Manageissuers = "manageissuers", - // (undocumented) Purge = "purge", - // (undocumented) Recover = "recover", - // (undocumented) Restore = "restore", - // (undocumented) Setissuers = "setissuers", - // (undocumented) Update = "update" } // @public export enum KnownDeletionRecoveryLevel { - // (undocumented) Purgeable = "Purgeable", - // (undocumented) Recoverable = "Recoverable", - // (undocumented) RecoverableProtectedSubscription = "Recoverable+ProtectedSubscription", - // (undocumented) RecoverablePurgeable = "Recoverable+Purgeable" } // @public export enum KnownIdentityType { - // (undocumented) Application = "Application", - // (undocumented) Key = "Key", - // (undocumented) ManagedIdentity = "ManagedIdentity", - // (undocumented) User = "User" } // @public export enum KnownJsonWebKeyCurveName { - // (undocumented) P256 = "P-256", - // (undocumented) P256K = "P-256K", - // (undocumented) P384 = "P-384", - // (undocumented) P521 = "P-521" } // @public export enum KnownJsonWebKeyOperation { - // (undocumented) Decrypt = "decrypt", - // (undocumented) Encrypt = "encrypt", - // (undocumented) Import = "import", - // (undocumented) Release = "release", - // (undocumented) Sign = "sign", - // (undocumented) UnwrapKey = "unwrapKey", - // (undocumented) Verify = "verify", - // (undocumented) WrapKey = "wrapKey" } // @public export enum KnownJsonWebKeyType { - // (undocumented) EC = "EC", - // (undocumented) ECHSM = "EC-HSM", - // (undocumented) RSA = "RSA", - // (undocumented) RSAHSM = "RSA-HSM" } // @public export enum KnownKeyPermissions { - // (undocumented) All = "all", - // (undocumented) Backup = "backup", - // (undocumented) Create = "create", - // (undocumented) Decrypt = "decrypt", - // (undocumented) Delete = "delete", - // (undocumented) Encrypt = "encrypt", - // (undocumented) Get = "get", - // (undocumented) Getrotationpolicy = "getrotationpolicy", - // (undocumented) Import = "import", - // (undocumented) List = "list", - // (undocumented) Purge = "purge", - // (undocumented) Recover = "recover", - // (undocumented) Release = "release", - // (undocumented) Restore = "restore", - // (undocumented) Rotate = "rotate", - // (undocumented) Setrotationpolicy = "setrotationpolicy", - // (undocumented) Sign = "sign", - // (undocumented) UnwrapKey = "unwrapKey", - // (undocumented) Update = "update", - // (undocumented) Verify = "verify", - // (undocumented) WrapKey = "wrapKey" } @@ -479,45 +440,31 @@ export enum KnownManagedHsmSkuFamily { // @public export enum KnownNetworkRuleAction { - // (undocumented) Allow = "Allow", - // (undocumented) Deny = "Deny" } // @public export enum KnownNetworkRuleBypassOptions { - // (undocumented) AzureServices = "AzureServices", - // (undocumented) None = "None" } // @public export enum KnownPrivateEndpointConnectionProvisioningState { - // (undocumented) Creating = "Creating", - // (undocumented) Deleting = "Deleting", - // (undocumented) Disconnected = "Disconnected", - // (undocumented) Failed = "Failed", - // (undocumented) Succeeded = "Succeeded", - // (undocumented) Updating = "Updating" } // @public export enum KnownPrivateEndpointServiceConnectionStatus { - // (undocumented) Approved = "Approved", - // (undocumented) Disconnected = "Disconnected", - // (undocumented) Pending = "Pending", - // (undocumented) Rejected = "Rejected" } @@ -535,31 +482,20 @@ export enum KnownProvisioningState { // @public export enum KnownPublicNetworkAccess { - // (undocumented) Disabled = "Disabled", - // (undocumented) Enabled = "Enabled" } // @public export enum KnownSecretPermissions { - // (undocumented) All = "all", - // (undocumented) Backup = "backup", - // (undocumented) Delete = "delete", - // (undocumented) Get = "get", - // (undocumented) List = "list", - // (undocumented) Purge = "purge", - // (undocumented) Recover = "recover", - // (undocumented) Restore = "restore", - // (undocumented) Set = "set" } @@ -571,43 +507,26 @@ export enum KnownSkuFamily { // @public export enum KnownStoragePermissions { - // (undocumented) All = "all", - // (undocumented) Backup = "backup", - // (undocumented) Delete = "delete", - // (undocumented) Deletesas = "deletesas", - // (undocumented) Get = "get", - // (undocumented) Getsas = "getsas", - // (undocumented) List = "list", - // (undocumented) Listsas = "listsas", - // (undocumented) Purge = "purge", - // (undocumented) Recover = "recover", - // (undocumented) Regeneratekey = "regeneratekey", - // (undocumented) Restore = "restore", - // (undocumented) Set = "set", - // (undocumented) Setsas = "setsas", - // (undocumented) Update = "update" } // @public export enum KnownVaultProvisioningState { - // (undocumented) RegisteringDns = "RegisteringDns", - // (undocumented) Succeeded = "Succeeded" } @@ -625,9 +544,9 @@ export interface LogSpecification { } // @public -export type ManagedHsm = ManagedHsmResource & { +export interface ManagedHsm extends ManagedHsmResource { properties?: ManagedHsmProperties; -}; +} // @public export interface ManagedHsmError { @@ -676,10 +595,11 @@ export interface ManagedHsms { beginCreateOrUpdateAndWait(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsCreateOrUpdateOptionalParams): Promise; beginDelete(resourceGroupName: string, name: string, options?: ManagedHsmsDeleteOptionalParams): Promise, void>>; beginDeleteAndWait(resourceGroupName: string, name: string, options?: ManagedHsmsDeleteOptionalParams): Promise; - beginPurgeDeleted(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise, void>>; - beginPurgeDeletedAndWait(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise; + beginPurgeDeleted(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise, ManagedHsmsPurgeDeletedResponse>>; + beginPurgeDeletedAndWait(name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams): Promise; beginUpdate(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsUpdateOptionalParams): Promise, ManagedHsmsUpdateResponse>>; beginUpdateAndWait(resourceGroupName: string, name: string, parameters: ManagedHsm, options?: ManagedHsmsUpdateOptionalParams): Promise; + checkMhsmNameAvailability(mhsmName: CheckMhsmNameAvailabilityParameters, options?: ManagedHsmsCheckMhsmNameAvailabilityOptionalParams): Promise; get(resourceGroupName: string, name: string, options?: ManagedHsmsGetOptionalParams): Promise; getDeleted(name: string, location: string, options?: ManagedHsmsGetDeletedOptionalParams): Promise; listByResourceGroup(resourceGroupName: string, options?: ManagedHsmsListByResourceGroupOptionalParams): PagedAsyncIterableIterator; @@ -687,6 +607,18 @@ export interface ManagedHsms { listDeleted(options?: ManagedHsmsListDeletedOptionalParams): PagedAsyncIterableIterator; } +// @public +export interface ManagedHsmsCheckMhsmNameAvailabilityOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ManagedHsmsCheckMhsmNameAvailabilityResponse = CheckMhsmNameAvailabilityResult; + +// @public +export interface ManagedHsmsCreateOrUpdateHeaders { + location?: string; +} + // @public export interface ManagedHsmsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -696,12 +628,23 @@ export interface ManagedHsmsCreateOrUpdateOptionalParams extends coreClient.Oper // @public export type ManagedHsmsCreateOrUpdateResponse = ManagedHsm; +// @public +export interface ManagedHsmsDeleteHeaders { + location?: string; +} + // @public export interface ManagedHsmsDeleteOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export interface ManagedHSMSecurityDomainProperties { + readonly activationStatus?: ActivationStatus; + readonly activationStatusMessage?: string; +} + // @public export interface ManagedHsmsGetDeletedOptionalParams extends coreClient.OperationOptions { } @@ -774,12 +717,25 @@ export interface ManagedHsmsListDeletedOptionalParams extends coreClient.Operati // @public export type ManagedHsmsListDeletedResponse = DeletedManagedHsmListResult; +// @public +export interface ManagedHsmsPurgeDeletedHeaders { + location?: string; +} + // @public export interface ManagedHsmsPurgeDeletedOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; updateIntervalInMs?: number; } +// @public +export type ManagedHsmsPurgeDeletedResponse = ManagedHsmsPurgeDeletedHeaders; + +// @public +export interface ManagedHsmsUpdateHeaders { + location?: string; +} + // @public export interface ManagedHsmsUpdateOptionalParams extends coreClient.OperationOptions { resumeFrom?: string; @@ -823,15 +779,17 @@ export interface MhsmPrivateEndpoint { } // @public -export type MhsmPrivateEndpointConnection = ManagedHsmResource & { +export interface MhsmPrivateEndpointConnection extends ManagedHsmResource { etag?: string; privateEndpoint?: MhsmPrivateEndpoint; privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} // @public export interface MhsmPrivateEndpointConnectionItem { + etag?: string; + id?: string; privateEndpoint?: MhsmPrivateEndpoint; privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; provisioningState?: PrivateEndpointConnectionProvisioningState; @@ -849,7 +807,6 @@ export interface MhsmPrivateEndpointConnections { // @public export interface MhsmPrivateEndpointConnectionsDeleteHeaders { location?: string; - retryAfter?: number; } // @public @@ -902,11 +859,11 @@ export interface MhsmPrivateEndpointConnectionsPutOptionalParams extends coreCli export type MhsmPrivateEndpointConnectionsPutResponse = MhsmPrivateEndpointConnectionsPutHeaders & MhsmPrivateEndpointConnection; // @public -export type MhsmPrivateLinkResource = ManagedHsmResource & { +export interface MhsmPrivateLinkResource extends ManagedHsmResource { readonly groupId?: string; readonly requiredMembers?: string[]; requiredZoneNames?: string[]; -}; +} // @public export interface MhsmPrivateLinkResourceListResult { @@ -1008,12 +965,12 @@ export interface PrivateEndpoint { } // @public -export type PrivateEndpointConnection = Resource & { +export interface PrivateEndpointConnection extends Resource { etag?: string; privateEndpoint?: PrivateEndpoint; privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} // @public export interface PrivateEndpointConnectionItem { @@ -1095,11 +1052,11 @@ export type PrivateEndpointConnectionsPutResponse = PrivateEndpointConnectionsPu export type PrivateEndpointServiceConnectionStatus = string; // @public -export type PrivateLinkResource = Resource & { +export interface PrivateLinkResource extends Resource { readonly groupId?: string; readonly requiredMembers?: string[]; requiredZoneNames?: string[]; -}; +} // @public export interface PrivateLinkResourceListResult { @@ -1158,12 +1115,13 @@ export interface RotationPolicy { } // @public -export type Secret = Resource & { +export interface Secret extends Resource { properties: SecretProperties; -}; +} // @public -export type SecretAttributes = Attributes & {}; +export interface SecretAttributes extends Attributes { +} // @public export interface SecretCreateOrUpdateParameters { diff --git a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts index f0f83568a1ee..2b3e85fc6ac0 100644 --- a/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts +++ b/sdk/keyvault/arm-keyvault/src/keyVaultManagementClient.ts @@ -8,6 +8,11 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { KeysImpl, @@ -66,7 +71,7 @@ export class KeyVaultManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-keyvault/2.1.0-beta.1`; + const packageDetails = `azsdk-js-arm-keyvault/3.0.0`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -113,7 +118,7 @@ export class KeyVaultManagementClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2021-11-01-preview"; + this.apiVersion = options.apiVersion || "2022-07-01"; this.keys = new KeysImpl(this); this.vaults = new VaultsImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); @@ -125,6 +130,35 @@ export class KeyVaultManagementClient extends coreClient.ServiceClient { this.mhsmPrivateLinkResources = new MhsmPrivateLinkResourcesImpl(this); this.operations = new OperationsImpl(this); this.secrets = new SecretsImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ + private addCustomApiVersionPolicy(apiVersion?: string) { + if (!apiVersion) { + return; + } + const apiVersionPolicy = { + name: "CustomApiVersionPolicy", + async sendRequest( + request: PipelineRequest, + next: SendRequest + ): Promise { + const param = request.url.split("?"); + if (param.length > 1) { + const newParams = param[1].split("&").map((item) => { + if (item.indexOf("api-version") > -1) { + return "api-version=" + apiVersion; + } else { + return item; + } + }); + request.url = param[0] + "?" + newParams.join("&"); + } + return next(request); + } + }; + this.pipeline.addPolicy(apiVersionPolicy); } keys: Keys; diff --git a/sdk/keyvault/arm-keyvault/src/models/index.ts b/sdk/keyvault/arm-keyvault/src/models/index.ts index 7b67e1830d69..7aa6a962d55d 100644 --- a/sdk/keyvault/arm-keyvault/src/models/index.ts +++ b/sdk/keyvault/arm-keyvault/src/models/index.ts @@ -204,7 +204,7 @@ export interface VaultProperties { enableSoftDelete?: boolean; /** softDelete data retention days. It accepts >=7 and <=90. */ softDeleteRetentionInDays?: number; - /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC. */ + /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC. */ enableRbacAuthorization?: boolean; /** The vault's create mode to indicate whether the vault need to be recovered or not. */ createMode?: CreateMode; @@ -384,7 +384,7 @@ export interface VaultPatchProperties { enabledForTemplateDeployment?: boolean; /** Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false. */ enableSoftDelete?: boolean; - /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored (warning: this is a preview feature). When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change. */ + /** Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change. */ enableRbacAuthorization?: boolean; /** softDelete data retention days. It accepts >=7 and <=90. */ softDeleteRetentionInDays?: number; @@ -621,6 +621,10 @@ export interface MhsmVirtualNetworkRule { /** Private endpoint connection item. */ export interface MhsmPrivateEndpointConnectionItem { + /** Id of private endpoint connection. */ + id?: string; + /** Modified whenever there is a change in the state of private endpoint connection. */ + etag?: string; /** Properties of the private endpoint object. */ privateEndpoint?: MhsmPrivateEndpoint; /** Approval state of the private link connection. */ @@ -798,6 +802,31 @@ export interface MhsmPrivateLinkResourceListResult { value?: MhsmPrivateLinkResource[]; } +/** The parameters used to check the availability of the managed hsm name. */ +export interface CheckMhsmNameAvailabilityParameters { + /** The managed hsm name. */ + name: string; +} + +/** The CheckMhsmNameAvailability operation response. */ +export interface CheckMhsmNameAvailabilityResult { + /** + * A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nameAvailable?: boolean; + /** + * The reason that a managed hsm name could not be used. The reason element is only returned if NameAvailable is false. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly reason?: Reason; + /** + * An error message explaining the Reason value in more detail. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; +} + /** Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results. */ export interface OperationListResult { /** List of Storage operations supported by the Storage resource provider. */ @@ -960,8 +989,22 @@ export interface SecretListResult { nextLink?: string; } +/** The security domain properties of the managed hsm. */ +export interface ManagedHSMSecurityDomainProperties { + /** + * Activation Status + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly activationStatus?: ActivationStatus; + /** + * Activation Status Message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly activationStatusMessage?: string; +} + /** The key resource. */ -export type Key = Resource & { +export interface Key extends Resource { /** The attributes of the key. */ attributes?: KeyAttributes; /** The type of the key. For valid values, see JsonWebKeyType. */ @@ -985,10 +1028,10 @@ export type Key = Resource & { rotationPolicy?: RotationPolicy; /** Key release policy in response. It will be used for both output and input. Omitted if empty */ releasePolicy?: KeyReleasePolicy; -}; +} /** Private endpoint connection resource. */ -export type PrivateEndpointConnection = Resource & { +export interface PrivateEndpointConnection extends Resource { /** Modified whenever there is a change in the state of private endpoint connection. */ etag?: string; /** Properties of the private endpoint object. */ @@ -997,10 +1040,10 @@ export type PrivateEndpointConnection = Resource & { privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; /** Provisioning state of the private endpoint connection. */ provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} /** A private link resource */ -export type PrivateLinkResource = Resource & { +export interface PrivateLinkResource extends Resource { /** * Group identifier of private link resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1013,22 +1056,22 @@ export type PrivateLinkResource = Resource & { readonly requiredMembers?: string[]; /** Required DNS zone names of the the private link resource. */ requiredZoneNames?: string[]; -}; +} /** Resource information with extended details. */ -export type Secret = Resource & { +export interface Secret extends Resource { /** Properties of the secret */ properties: SecretProperties; -}; +} /** Resource information with extended details. */ -export type ManagedHsm = ManagedHsmResource & { +export interface ManagedHsm extends ManagedHsmResource { /** Properties of the managed HSM */ properties?: ManagedHsmProperties; -}; +} /** Private endpoint connection resource. */ -export type MhsmPrivateEndpointConnection = ManagedHsmResource & { +export interface MhsmPrivateEndpointConnection extends ManagedHsmResource { /** Modified whenever there is a change in the state of private endpoint connection. */ etag?: string; /** Properties of the private endpoint object. */ @@ -1037,10 +1080,10 @@ export type MhsmPrivateEndpointConnection = ManagedHsmResource & { privateLinkServiceConnectionState?: MhsmPrivateLinkServiceConnectionState; /** Provisioning state of the private endpoint connection. */ provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +} /** A private link resource */ -export type MhsmPrivateLinkResource = ManagedHsmResource & { +export interface MhsmPrivateLinkResource extends ManagedHsmResource { /** * Group identifier of private link resource. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1053,10 +1096,10 @@ export type MhsmPrivateLinkResource = ManagedHsmResource & { readonly requiredMembers?: string[]; /** Required DNS zone names of the the private link resource. */ requiredZoneNames?: string[]; -}; +} /** The secret management attributes. */ -export type SecretAttributes = Attributes & {}; +export interface SecretAttributes extends Attributes {} /** Defines headers for PrivateEndpointConnections_put operation. */ export interface PrivateEndpointConnectionsPutHeaders { @@ -1074,6 +1117,30 @@ export interface PrivateEndpointConnectionsDeleteHeaders { location?: string; } +/** Defines headers for ManagedHsms_createOrUpdate operation. */ +export interface ManagedHsmsCreateOrUpdateHeaders { + /** The URI to poll for completion status. */ + location?: string; +} + +/** Defines headers for ManagedHsms_update operation. */ +export interface ManagedHsmsUpdateHeaders { + /** The URI to poll for completion status. */ + location?: string; +} + +/** Defines headers for ManagedHsms_delete operation. */ +export interface ManagedHsmsDeleteHeaders { + /** The URI to poll for completion status. */ + location?: string; +} + +/** Defines headers for ManagedHsms_purgeDeleted operation. */ +export interface ManagedHsmsPurgeDeletedHeaders { + /** The URI to poll for completion status. */ + location?: string; +} + /** Defines headers for MhsmPrivateEndpointConnections_put operation. */ export interface MhsmPrivateEndpointConnectionsPutHeaders { /** (specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation. */ @@ -1084,17 +1151,19 @@ export interface MhsmPrivateEndpointConnectionsPutHeaders { /** Defines headers for MhsmPrivateEndpointConnections_delete operation. */ export interface MhsmPrivateEndpointConnectionsDeleteHeaders { - /** The recommended number of seconds to wait before calling the URI specified in the location header. */ - retryAfter?: number; /** The URI to poll for completion status. */ location?: string; } /** Known values of {@link DeletionRecoveryLevel} that the service accepts. */ export enum KnownDeletionRecoveryLevel { + /** Purgeable */ Purgeable = "Purgeable", + /** RecoverablePurgeable */ RecoverablePurgeable = "Recoverable+Purgeable", + /** Recoverable */ Recoverable = "Recoverable", + /** RecoverableProtectedSubscription */ RecoverableProtectedSubscription = "Recoverable+ProtectedSubscription" } @@ -1112,9 +1181,13 @@ export type DeletionRecoveryLevel = string; /** Known values of {@link JsonWebKeyType} that the service accepts. */ export enum KnownJsonWebKeyType { + /** EC */ EC = "EC", + /** ECHSM */ ECHSM = "EC-HSM", + /** RSA */ RSA = "RSA", + /** RSAHSM */ RSAHSM = "RSA-HSM" } @@ -1132,13 +1205,21 @@ export type JsonWebKeyType = string; /** Known values of {@link JsonWebKeyOperation} that the service accepts. */ export enum KnownJsonWebKeyOperation { + /** Encrypt */ Encrypt = "encrypt", + /** Decrypt */ Decrypt = "decrypt", + /** Sign */ Sign = "sign", + /** Verify */ Verify = "verify", + /** WrapKey */ WrapKey = "wrapKey", + /** UnwrapKey */ UnwrapKey = "unwrapKey", + /** Import */ Import = "import", + /** Release */ Release = "release" } @@ -1160,9 +1241,13 @@ export type JsonWebKeyOperation = string; /** Known values of {@link JsonWebKeyCurveName} that the service accepts. */ export enum KnownJsonWebKeyCurveName { + /** P256 */ P256 = "P-256", + /** P384 */ P384 = "P-384", + /** P521 */ P521 = "P-521", + /** P256K */ P256K = "P-256K" } @@ -1180,6 +1265,7 @@ export type JsonWebKeyCurveName = string; /** Known values of {@link SkuFamily} that the service accepts. */ export enum KnownSkuFamily { + /** A */ A = "A" } @@ -1194,26 +1280,47 @@ export type SkuFamily = string; /** Known values of {@link KeyPermissions} that the service accepts. */ export enum KnownKeyPermissions { + /** All */ All = "all", + /** Encrypt */ Encrypt = "encrypt", + /** Decrypt */ Decrypt = "decrypt", + /** WrapKey */ WrapKey = "wrapKey", + /** UnwrapKey */ UnwrapKey = "unwrapKey", + /** Sign */ Sign = "sign", + /** Verify */ Verify = "verify", + /** Get */ Get = "get", + /** List */ List = "list", + /** Create */ Create = "create", + /** Update */ Update = "update", + /** Import */ Import = "import", + /** Delete */ Delete = "delete", + /** Backup */ Backup = "backup", + /** Restore */ Restore = "restore", + /** Recover */ Recover = "recover", + /** Purge */ Purge = "purge", + /** Release */ Release = "release", + /** Rotate */ Rotate = "rotate", + /** Getrotationpolicy */ Getrotationpolicy = "getrotationpolicy", + /** Setrotationpolicy */ Setrotationpolicy = "setrotationpolicy" } @@ -1248,14 +1355,23 @@ export type KeyPermissions = string; /** Known values of {@link SecretPermissions} that the service accepts. */ export enum KnownSecretPermissions { + /** All */ All = "all", + /** Get */ Get = "get", + /** List */ List = "list", + /** Set */ Set = "set", + /** Delete */ Delete = "delete", + /** Backup */ Backup = "backup", + /** Restore */ Restore = "restore", + /** Recover */ Recover = "recover", + /** Purge */ Purge = "purge" } @@ -1278,22 +1394,39 @@ export type SecretPermissions = string; /** Known values of {@link CertificatePermissions} that the service accepts. */ export enum KnownCertificatePermissions { + /** All */ All = "all", + /** Get */ Get = "get", + /** List */ List = "list", + /** Delete */ Delete = "delete", + /** Create */ Create = "create", + /** Import */ Import = "import", + /** Update */ Update = "update", + /** Managecontacts */ Managecontacts = "managecontacts", + /** Getissuers */ Getissuers = "getissuers", + /** Listissuers */ Listissuers = "listissuers", + /** Setissuers */ Setissuers = "setissuers", + /** Deleteissuers */ Deleteissuers = "deleteissuers", + /** Manageissuers */ Manageissuers = "manageissuers", + /** Recover */ Recover = "recover", + /** Purge */ Purge = "purge", + /** Backup */ Backup = "backup", + /** Restore */ Restore = "restore" } @@ -1324,20 +1457,35 @@ export type CertificatePermissions = string; /** Known values of {@link StoragePermissions} that the service accepts. */ export enum KnownStoragePermissions { + /** All */ All = "all", + /** Get */ Get = "get", + /** List */ List = "list", + /** Delete */ Delete = "delete", + /** Set */ Set = "set", + /** Update */ Update = "update", + /** Regeneratekey */ Regeneratekey = "regeneratekey", + /** Recover */ Recover = "recover", + /** Purge */ Purge = "purge", + /** Backup */ Backup = "backup", + /** Restore */ Restore = "restore", + /** Setsas */ Setsas = "setsas", + /** Listsas */ Listsas = "listsas", + /** Getsas */ Getsas = "getsas", + /** Deletesas */ Deletesas = "deletesas" } @@ -1366,7 +1514,9 @@ export type StoragePermissions = string; /** Known values of {@link NetworkRuleBypassOptions} that the service accepts. */ export enum KnownNetworkRuleBypassOptions { + /** AzureServices */ AzureServices = "AzureServices", + /** None */ None = "None" } @@ -1382,7 +1532,9 @@ export type NetworkRuleBypassOptions = string; /** Known values of {@link NetworkRuleAction} that the service accepts. */ export enum KnownNetworkRuleAction { + /** Allow */ Allow = "Allow", + /** Deny */ Deny = "Deny" } @@ -1398,7 +1550,9 @@ export type NetworkRuleAction = string; /** Known values of {@link VaultProvisioningState} that the service accepts. */ export enum KnownVaultProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** RegisteringDns */ RegisteringDns = "RegisteringDns" } @@ -1414,9 +1568,13 @@ export type VaultProvisioningState = string; /** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ export enum KnownPrivateEndpointServiceConnectionStatus { + /** Pending */ Pending = "Pending", + /** Approved */ Approved = "Approved", + /** Rejected */ Rejected = "Rejected", + /** Disconnected */ Disconnected = "Disconnected" } @@ -1434,6 +1592,7 @@ export type PrivateEndpointServiceConnectionStatus = string; /** Known values of {@link ActionsRequired} that the service accepts. */ export enum KnownActionsRequired { + /** None */ None = "None" } @@ -1448,11 +1607,17 @@ export type ActionsRequired = string; /** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ export enum KnownPrivateEndpointConnectionProvisioningState { + /** Succeeded */ Succeeded = "Succeeded", + /** Creating */ Creating = "Creating", + /** Updating */ Updating = "Updating", + /** Deleting */ Deleting = "Deleting", + /** Failed */ Failed = "Failed", + /** Disconnected */ Disconnected = "Disconnected" } @@ -1472,9 +1637,13 @@ export type PrivateEndpointConnectionProvisioningState = string; /** Known values of {@link IdentityType} that the service accepts. */ export enum KnownIdentityType { + /** User */ User = "User", + /** Application */ Application = "Application", + /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", + /** Key */ Key = "Key" } @@ -1528,7 +1697,9 @@ export type ProvisioningState = string; /** Known values of {@link PublicNetworkAccess} that the service accepts. */ export enum KnownPublicNetworkAccess { + /** Enabled */ Enabled = "Enabled", + /** Disabled */ Disabled = "Disabled" } @@ -1544,6 +1715,7 @@ export type PublicNetworkAccess = string; /** Known values of {@link ManagedHsmSkuFamily} that the service accepts. */ export enum KnownManagedHsmSkuFamily { + /** B */ B = "B" } @@ -1555,6 +1727,30 @@ export enum KnownManagedHsmSkuFamily { * **B** */ export type ManagedHsmSkuFamily = string; + +/** Known values of {@link ActivationStatus} that the service accepts. */ +export enum KnownActivationStatus { + /** The managed HSM Pool is active. */ + Active = "Active", + /** The managed HSM Pool is not yet activated. */ + NotActivated = "NotActivated", + /** An unknown error occurred while activating managed hsm. */ + Unknown = "Unknown", + /** Failed to activate managed hsm. */ + Failed = "Failed" +} + +/** + * Defines values for ActivationStatus. \ + * {@link KnownActivationStatus} can be used interchangeably with ActivationStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Active**: The managed HSM Pool is active. \ + * **NotActivated**: The managed HSM Pool is not yet activated. \ + * **Unknown**: An unknown error occurred while activating managed hsm. \ + * **Failed**: Failed to activate managed hsm. + */ +export type ActivationStatus = string; /** Defines values for KeyRotationPolicyActionType. */ export type KeyRotationPolicyActionType = "rotate" | "notify"; /** Defines values for SkuName. */ @@ -1878,6 +2074,16 @@ export interface ManagedHsmsPurgeDeletedOptionalParams resumeFrom?: string; } +/** Contains response data for the purgeDeleted operation. */ +export type ManagedHsmsPurgeDeletedResponse = ManagedHsmsPurgeDeletedHeaders; + +/** Optional parameters. */ +export interface ManagedHsmsCheckMhsmNameAvailabilityOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the checkMhsmNameAvailability operation. */ +export type ManagedHsmsCheckMhsmNameAvailabilityResponse = CheckMhsmNameAvailabilityResult; + /** Optional parameters. */ export interface ManagedHsmsListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { diff --git a/sdk/keyvault/arm-keyvault/src/models/mappers.ts b/sdk/keyvault/arm-keyvault/src/models/mappers.ts index 7aaf9c270466..b519ca018784 100644 --- a/sdk/keyvault/arm-keyvault/src/models/mappers.ts +++ b/sdk/keyvault/arm-keyvault/src/models/mappers.ts @@ -1599,6 +1599,18 @@ export const MhsmPrivateEndpointConnectionItem: coreClient.CompositeMapper = { name: "Composite", className: "MhsmPrivateEndpointConnectionItem", modelProperties: { + id: { + serializedName: "id", + type: { + name: "String" + } + }, + etag: { + serializedName: "etag", + type: { + name: "String" + } + }, privateEndpoint: { serializedName: "properties.privateEndpoint", type: { @@ -1984,6 +1996,53 @@ export const MhsmPrivateLinkResourceListResult: coreClient.CompositeMapper = { } }; +export const CheckMhsmNameAvailabilityParameters: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckMhsmNameAvailabilityParameters", + modelProperties: { + name: { + serializedName: "name", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const CheckMhsmNameAvailabilityResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CheckMhsmNameAvailabilityResult", + modelProperties: { + nameAvailable: { + serializedName: "nameAvailable", + readOnly: true, + type: { + name: "Boolean" + } + }, + reason: { + serializedName: "reason", + readOnly: true, + type: { + name: "Enum", + allowedValues: ["AccountNameInvalid", "AlreadyExists"] + } + }, + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const OperationListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2447,6 +2506,29 @@ export const SecretListResult: coreClient.CompositeMapper = { } }; +export const ManagedHSMSecurityDomainProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHSMSecurityDomainProperties", + modelProperties: { + activationStatus: { + serializedName: "activationStatus", + readOnly: true, + type: { + name: "String" + } + }, + activationStatusMessage: { + serializedName: "activationStatusMessage", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const Key: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2759,6 +2841,66 @@ export const PrivateEndpointConnectionsDeleteHeaders: coreClient.CompositeMapper } }; +export const ManagedHsmsCreateOrUpdateHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmsCreateOrUpdateHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedHsmsUpdateHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmsUpdateHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedHsmsDeleteHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmsDeleteHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + +export const ManagedHsmsPurgeDeletedHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ManagedHsmsPurgeDeletedHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String" + } + } + } + } +}; + export const MhsmPrivateEndpointConnectionsPutHeaders: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2785,12 +2927,6 @@ export const MhsmPrivateEndpointConnectionsDeleteHeaders: coreClient.CompositeMa name: "Composite", className: "MhsmPrivateEndpointConnectionsDeleteHeaders", modelProperties: { - retryAfter: { - serializedName: "retry-after", - type: { - name: "Number" - } - }, location: { serializedName: "location", type: { diff --git a/sdk/keyvault/arm-keyvault/src/models/parameters.ts b/sdk/keyvault/arm-keyvault/src/models/parameters.ts index 98abfbf521ff..ab4459cadb38 100644 --- a/sdk/keyvault/arm-keyvault/src/models/parameters.ts +++ b/sdk/keyvault/arm-keyvault/src/models/parameters.ts @@ -19,6 +19,7 @@ import { VaultCheckNameAvailabilityParameters as VaultCheckNameAvailabilityParametersMapper, PrivateEndpointConnection as PrivateEndpointConnectionMapper, ManagedHsm as ManagedHsmMapper, + CheckMhsmNameAvailabilityParameters as CheckMhsmNameAvailabilityParametersMapper, MhsmPrivateEndpointConnection as MhsmPrivateEndpointConnectionMapper, SecretCreateOrUpdateParameters as SecretCreateOrUpdateParametersMapper, SecretPatchParameters as SecretPatchParametersMapper @@ -118,7 +119,7 @@ export const keyName: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-11-01-preview", + defaultValue: "2022-07-01", isConstant: true, serializedName: "api-version", type: { @@ -273,6 +274,11 @@ export const name: OperationURLParameter = { } }; +export const mhsmName: OperationParameter = { + parameterPath: "mhsmName", + mapper: CheckMhsmNameAvailabilityParametersMapper +}; + export const properties1: OperationParameter = { parameterPath: "properties", mapper: MhsmPrivateEndpointConnectionMapper diff --git a/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts b/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts index cf2c2631c162..f04fcb6a9ecb 100644 --- a/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts +++ b/sdk/keyvault/arm-keyvault/src/operations/managedHsms.ts @@ -36,6 +36,10 @@ import { ManagedHsmsGetDeletedOptionalParams, ManagedHsmsGetDeletedResponse, ManagedHsmsPurgeDeletedOptionalParams, + ManagedHsmsPurgeDeletedResponse, + CheckMhsmNameAvailabilityParameters, + ManagedHsmsCheckMhsmNameAvailabilityOptionalParams, + ManagedHsmsCheckMhsmNameAvailabilityResponse, ManagedHsmsListByResourceGroupNextResponse, ManagedHsmsListBySubscriptionNextResponse, ManagedHsmsListDeletedNextResponse @@ -540,11 +544,16 @@ export class ManagedHsmsImpl implements ManagedHsms { name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams - ): Promise, void>> { + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsPurgeDeletedResponse + > + > { const directSendOperation = async ( args: coreClient.OperationArguments, spec: coreClient.OperationSpec - ): Promise => { + ): Promise => { return this.client.sendOperationRequest(args, spec); }; const sendOperation = async ( @@ -603,11 +612,26 @@ export class ManagedHsmsImpl implements ManagedHsms { name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams - ): Promise { + ): Promise { const poller = await this.beginPurgeDeleted(name, location, options); return poller.pollUntilDone(); } + /** + * Checks that the managed hsm name is valid and is not already in use. + * @param mhsmName The name of the managed hsm. + * @param options The options parameters. + */ + checkMhsmNameAvailability( + mhsmName: CheckMhsmNameAvailabilityParameters, + options?: ManagedHsmsCheckMhsmNameAvailabilityOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { mhsmName, options }, + checkMhsmNameAvailabilityOperationSpec + ); + } + /** * ListByResourceGroupNext * @param resourceGroupName Name of the resource group that contains the managed HSM pool. @@ -755,7 +779,6 @@ const getOperationSpec: coreClient.OperationSpec = { 200: { bodyMapper: Mappers.ManagedHsm }, - 202: {}, 204: {}, default: { bodyMapper: Mappers.ManagedHsmError @@ -853,10 +876,18 @@ const purgeDeletedOperationSpec: coreClient.OperationSpec = { "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}/purge", httpMethod: "POST", responses: { - 200: {}, - 201: {}, - 202: {}, - 204: {}, + 200: { + headersMapper: Mappers.ManagedHsmsPurgeDeletedHeaders + }, + 201: { + headersMapper: Mappers.ManagedHsmsPurgeDeletedHeaders + }, + 202: { + headersMapper: Mappers.ManagedHsmsPurgeDeletedHeaders + }, + 204: { + headersMapper: Mappers.ManagedHsmsPurgeDeletedHeaders + }, default: { bodyMapper: Mappers.ManagedHsmError } @@ -871,6 +902,25 @@ const purgeDeletedOperationSpec: coreClient.OperationSpec = { headerParameters: [Parameters.accept], serializer }; +const checkMhsmNameAvailabilityOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkMhsmNameAvailability", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.CheckMhsmNameAvailabilityResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.mhsmName, + queryParameters: [Parameters.apiVersion], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.contentType, Parameters.accept], + mediaType: "json", + serializer +}; const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", diff --git a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts index 2d82c3e245a6..121c8f760dec 100644 --- a/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts +++ b/sdk/keyvault/arm-keyvault/src/operationsInterfaces/managedHsms.ts @@ -23,7 +23,11 @@ import { ManagedHsmsGetResponse, ManagedHsmsGetDeletedOptionalParams, ManagedHsmsGetDeletedResponse, - ManagedHsmsPurgeDeletedOptionalParams + ManagedHsmsPurgeDeletedOptionalParams, + ManagedHsmsPurgeDeletedResponse, + CheckMhsmNameAvailabilityParameters, + ManagedHsmsCheckMhsmNameAvailabilityOptionalParams, + ManagedHsmsCheckMhsmNameAvailabilityResponse } from "../models"; /// @@ -169,7 +173,12 @@ export interface ManagedHsms { name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams - ): Promise, void>>; + ): Promise< + PollerLike< + PollOperationState, + ManagedHsmsPurgeDeletedResponse + > + >; /** * Permanently deletes the specified managed HSM. * @param name The name of the soft-deleted managed HSM. @@ -180,5 +189,14 @@ export interface ManagedHsms { name: string, location: string, options?: ManagedHsmsPurgeDeletedOptionalParams - ): Promise; + ): Promise; + /** + * Checks that the managed hsm name is valid and is not already in use. + * @param mhsmName The name of the managed hsm. + * @param options The options parameters. + */ + checkMhsmNameAvailability( + mhsmName: CheckMhsmNameAvailabilityParameters, + options?: ManagedHsmsCheckMhsmNameAvailabilityOptionalParams + ): Promise; } diff --git a/sdk/keyvault/arm-keyvault/test/sampleTest.ts b/sdk/keyvault/arm-keyvault/test/sampleTest.ts new file mode 100644 index 000000000000..25aeb3ebcc36 --- /dev/null +++ b/sdk/keyvault/arm-keyvault/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function() { + await recorder.stop(); + }); + + it("sample test", async function() { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/keyvault/arm-keyvault/tsconfig.json b/sdk/keyvault/arm-keyvault/tsconfig.json index d2c1e922fd67..3e6ae96443f3 100644 --- a/sdk/keyvault/arm-keyvault/tsconfig.json +++ b/sdk/keyvault/arm-keyvault/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-keyvault": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"