From 4520d22c33eae535ca462adfb63fde4f75fda7a6 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Thu, 12 Oct 2023 22:38:35 +0000 Subject: [PATCH] CodeGen from PR 26142 in Azure/azure-rest-api-specs Merge 19a711b2a6c1d413d2399ce710950f1a00b9dacf into f776434f63fb6505926273db8d4f9a93b75ee4a1 --- common/config/rush/pnpm-lock.yaml | 107 +- .../arm-desktopvirtualization/CHANGELOG.md | 134 +- .../arm-desktopvirtualization/README.md | 2 +- .../arm-desktopvirtualization/_meta.json | 8 +- .../arm-desktopvirtualization/package.json | 32 +- .../review/arm-desktopvirtualization.api.md | 593 ++++++ .../src/desktopVirtualizationAPIClient.ts | 30 +- .../src/models/index.ts | 1243 +++++++++-- .../src/models/mappers.ts | 1817 ++++++++++++++--- .../src/models/parameters.ts | 97 +- .../src/operations/appAttachPackageInfo.ts | 225 ++ .../operations/appAttachPackageOperations.ts | 475 +++++ .../src/operations/index.ts | 5 + .../operations/privateEndpointConnections.ts | 682 +++++++ .../src/operations/privateLinkResources.ts | 379 ++++ .../scalingPlanPersonalSchedules.ts | 393 ++++ .../appAttachPackageInfo.ts | 32 + .../appAttachPackageOperations.ts | 88 + .../src/operationsInterfaces/index.ts | 5 + .../privateEndpointConnections.ts | 140 ++ .../privateLinkResources.ts | 41 + .../scalingPlanPersonalSchedules.ts | 90 + .../arm-desktopvirtualization/tsconfig.json | 10 +- 23 files changed, 6037 insertions(+), 591 deletions(-) create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageInfo.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPersonalSchedules.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageInfo.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPersonalSchedules.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 270ac1d12aa9..ffefaa55892c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1828,6 +1828,16 @@ packages: lodash: 4.17.21 dev: false + /@microsoft/api-extractor-model@7.28.2(@types/node@14.18.63): + resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} + dependencies: + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 3.61.0(@types/node@14.18.63) + transitivePeerDependencies: + - '@types/node' + dev: false + /@microsoft/api-extractor-model@7.28.2(@types/node@16.18.55): resolution: {integrity: sha512-vkojrM2fo3q4n4oPh4uUZdjJ2DxQ2+RnDQL/xhTWSRUNPF6P4QyrvY357HBxbnltKcYu+nNNolVqc6TIGQ73Ig==} dependencies: @@ -1838,6 +1848,26 @@ packages: - '@types/node' dev: false + /@microsoft/api-extractor@7.38.0(@types/node@14.18.63): + resolution: {integrity: sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg==} + hasBin: true + dependencies: + '@microsoft/api-extractor-model': 7.28.2(@types/node@14.18.63) + '@microsoft/tsdoc': 0.14.2 + '@microsoft/tsdoc-config': 0.16.2 + '@rushstack/node-core-library': 3.61.0(@types/node@14.18.63) + '@rushstack/rig-package': 0.5.1 + '@rushstack/ts-command-line': 4.16.1 + colors: 1.2.5 + lodash: 4.17.21 + resolve: 1.22.6 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.0.4 + transitivePeerDependencies: + - '@types/node' + dev: false + /@microsoft/api-extractor@7.38.0(@types/node@16.18.55): resolution: {integrity: sha512-e1LhZYnfw+JEebuY2bzhw0imDCl1nwjSThTrQqBXl40hrVo6xm3j/1EpUr89QyzgjqmAwek2ZkIVZbrhaR+cqg==} hasBin: true @@ -2486,6 +2516,24 @@ packages: rollup: 3.29.4 dev: false + /@rushstack/node-core-library@3.61.0(@types/node@14.18.63): + resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 14.18.63 + colors: 1.2.5 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.6 + semver: 7.5.4 + z-schema: 5.0.5 + dev: false + /@rushstack/node-core-library@3.61.0(@types/node@16.18.55): resolution: {integrity: sha512-tdOjdErme+/YOu4gPed3sFS72GhtWCgNV9oDsHDnoLY5oDfwjKUc9Z+JOZZ37uAxcm/OCahDHfuu2ugqrfWAVQ==} peerDependencies: @@ -4018,7 +4066,7 @@ packages: resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dependencies: - ms: 2.1.1 + ms: 2.1.3 dev: false /debug@3.2.7: @@ -4270,7 +4318,7 @@ packages: dependencies: semver: 7.5.4 shelljs: 0.8.5 - typescript: 5.3.0-dev.20231011 + typescript: 5.3.0-dev.20231012 dev: false /eastasianwidth@0.2.0: @@ -8841,6 +8889,37 @@ packages: code-block-writer: 12.0.0 dev: false + /ts-node@10.9.1(@types/node@14.18.63)(typescript@5.0.4): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 14.18.63 + acorn: 8.10.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.0.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: false + /ts-node@10.9.1(@types/node@16.18.55)(typescript@5.0.4): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -9014,8 +9093,8 @@ packages: hasBin: true dev: false - /typescript@5.3.0-dev.20231011: - resolution: {integrity: sha512-qpyUI7J37X3Xj7/bPWSNPUvmJ8yDGVnkQ8665xD4+LVWKUX7vwO7n2E1CUuQzeQIF4y369iPaz1d396rTW5LfA==} + /typescript@5.3.0-dev.20231012: + resolution: {integrity: sha512-k/m+QK/2eVsPMAao4I28Cv2Y9WzUKFVhRqvFGZ3CIXc0lrMkw/1pSA+8tp7IMw1ecxoa1myFql1tmCUrMKCbzA==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -12183,32 +12262,34 @@ packages: dev: false file:projects/arm-desktopvirtualization.tgz: - resolution: {integrity: sha512-wrnhrU96+ew/eU8VjIyvgdOzOuOxSUvNwA+gkbh4S4AtnYf0wwL6vKNa4pYeIk0lYDVG5LZprvFke1mxdJBzdA==, tarball: file:projects/arm-desktopvirtualization.tgz} + resolution: {integrity: sha512-v1DTXlQg2A7fiig4bPQuAIpPkm9pm5UnZwMVO74PFqiNypYW/jPBtbWaVvg/gwnWCFqhy5Pkb2CGbpdWr1/u5A==, tarball: file:projects/arm-desktopvirtualization.tgz} name: '@rush-temp/arm-desktopvirtualization' version: 0.0.0 dependencies: - '@microsoft/api-extractor': 7.38.0(@types/node@16.18.55) + '@azure/identity': 2.1.0 + '@microsoft/api-extractor': 7.38.0(@types/node@14.18.63) '@rollup/plugin-commonjs': 24.1.0(rollup@2.79.1) '@rollup/plugin-json': 6.0.0(rollup@2.79.1) '@rollup/plugin-multi-entry': 6.0.0(rollup@2.79.1) '@rollup/plugin-node-resolve': 13.3.0(rollup@2.79.1) '@types/chai': 4.3.6 - '@types/node': 16.18.55 + '@types/node': 14.18.63 chai: 4.3.10 cross-env: 7.0.3 dotenv: 16.3.1 mkdirp: 2.1.6 - mocha: 10.2.0 - rimraf: 3.0.2 + mocha: 7.2.0 + rimraf: 5.0.5 rollup: 2.79.1 - rollup-plugin-sourcemaps: 0.6.3(@types/node@16.18.55)(rollup@2.79.1) - ts-node: 10.9.1(@types/node@16.18.55)(typescript@5.0.4) + rollup-plugin-sourcemaps: 0.6.3(@types/node@14.18.63)(rollup@2.79.1) + ts-node: 10.9.1(@types/node@14.18.63)(typescript@5.0.4) tslib: 2.6.2 typescript: 5.0.4 uglify-js: 3.17.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' + - supports-color dev: false file:projects/arm-devcenter.tgz: @@ -17290,7 +17371,7 @@ packages: dev: false file:projects/communication-sms.tgz: - resolution: {integrity: sha512-Zy9WPrxVxDAuq5iLYpiy+HF8IQkHW5qHW8lvszMJ0eKWAWOgTgtr60bcu7A83DWz2vWBXRsGUWKaNqS3yUqOmA==, tarball: file:projects/communication-sms.tgz} + resolution: {integrity: sha512-HPqBjVlUjJug38F2I1GghNK4OH69dfIymbHuB2zKRL+PPuX3EaSSDLRPoJm9FLQke6nSh15tekNMhtT0Mzbr1g==, tarball: file:projects/communication-sms.tgz} name: '@rush-temp/communication-sms' version: 0.0.0 dependencies: @@ -18785,7 +18866,7 @@ packages: '@azure/msal-browser': 3.2.0 '@azure/msal-common': 13.3.0 '@azure/msal-node': 2.2.0 - '@microsoft/api-extractor': 7.38.0(@types/node@16.18.58) + '@microsoft/api-extractor': 7.38.0(@types/node@16.18.55) '@types/chai': 4.3.6 '@types/jsonwebtoken': 9.0.3 '@types/jws': 3.2.6 diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index 79d4623d1053..ba406b2b232d 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,127 @@ # Release History + +## 1.1.0-beta.1 (2023-10-12) + +**Features** -## 1.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation group AppAttachPackageInfo + - Added operation group AppAttachPackageOperations + - Added operation group PrivateEndpointConnections + - Added operation group PrivateLinkResources + - Added operation group ScalingPlanPersonalSchedules + - Added Interface AppAttachPackage + - Added Interface AppAttachPackageCreateOrUpdateOptionalParams + - Added Interface AppAttachPackageDeleteOptionalParams + - Added Interface AppAttachPackageGetOptionalParams + - Added Interface AppAttachPackageInfoImportNextOptionalParams + - Added Interface AppAttachPackageInfoImportOptionalParams + - Added Interface AppAttachPackageInfoProperties + - Added Interface AppAttachPackageList + - Added Interface AppAttachPackageListByResourceGroupNextOptionalParams + - Added Interface AppAttachPackageListByResourceGroupOptionalParams + - Added Interface AppAttachPackageListBySubscriptionNextOptionalParams + - Added Interface AppAttachPackageListBySubscriptionOptionalParams + - Added Interface AppAttachPackagePatch + - Added Interface AppAttachPackageProperties + - Added Interface AppAttachPackageUpdateOptionalParams + - Added Interface ErrorAdditionalInfo + - Added Interface ErrorDetail + - Added Interface ErrorResponse + - Added Interface ImportPackageInfoRequest + - Added Interface PrivateEndpoint + - Added Interface PrivateEndpointConnection + - Added Interface PrivateEndpointConnectionListResultWithSystemData + - Added Interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsGetByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams + - Added Interface PrivateEndpointConnectionsListByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + - Added Interface PrivateEndpointConnectionsListByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionWithSystemData + - Added Interface PrivateLinkResource + - Added Interface PrivateLinkResourceListResult + - Added Interface PrivateLinkResourcesListByHostPoolNextOptionalParams + - Added Interface PrivateLinkResourcesListByHostPoolOptionalParams + - Added Interface PrivateLinkResourcesListByWorkspaceNextOptionalParams + - Added Interface PrivateLinkResourcesListByWorkspaceOptionalParams + - Added Interface PrivateLinkServiceConnectionState + - Added Interface ProxyResource + - Added Interface ResourceAutoGenerated + - Added Interface ScalingPlanPersonalSchedule + - Added Interface ScalingPlanPersonalScheduleList + - Added Interface ScalingPlanPersonalSchedulePatch + - Added Interface ScalingPlanPersonalSchedulesCreateOptionalParams + - Added Interface ScalingPlanPersonalSchedulesDeleteOptionalParams + - Added Interface ScalingPlanPersonalSchedulesGetOptionalParams + - Added Interface ScalingPlanPersonalSchedulesListNextOptionalParams + - Added Interface ScalingPlanPersonalSchedulesListOptionalParams + - Added Interface ScalingPlanPersonalSchedulesUpdateOptionalParams + - Added Interface TrackedResource + - Added Type Alias AppAttachPackageArchitectures + - Added Type Alias AppAttachPackageCreateOrUpdateResponse + - Added Type Alias AppAttachPackageGetResponse + - Added Type Alias AppAttachPackageInfoImportNextResponse + - Added Type Alias AppAttachPackageInfoImportResponse + - Added Type Alias AppAttachPackageListByResourceGroupNextResponse + - Added Type Alias AppAttachPackageListByResourceGroupResponse + - Added Type Alias AppAttachPackageListBySubscriptionNextResponse + - Added Type Alias AppAttachPackageListBySubscriptionResponse + - Added Type Alias AppAttachPackageUpdateResponse + - Added Type Alias FailHealthCheckOnStagingFailure + - Added Type Alias HostpoolPublicNetworkAccess + - Added Type Alias PackageTimestamped + - Added Type Alias PrivateEndpointConnectionProvisioningState + - Added Type Alias PrivateEndpointConnectionsGetByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsGetByWorkspaceResponse + - Added Type Alias PrivateEndpointConnectionsListByHostPoolNextResponse + - Added Type Alias PrivateEndpointConnectionsListByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsListByWorkspaceNextResponse + - Added Type Alias PrivateEndpointConnectionsListByWorkspaceResponse + - Added Type Alias PrivateEndpointConnectionsUpdateByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsUpdateByWorkspaceResponse + - Added Type Alias PrivateEndpointServiceConnectionStatus + - Added Type Alias PrivateLinkResourcesListByHostPoolNextResponse + - Added Type Alias PrivateLinkResourcesListByHostPoolResponse + - Added Type Alias PrivateLinkResourcesListByWorkspaceNextResponse + - Added Type Alias PrivateLinkResourcesListByWorkspaceResponse + - Added Type Alias ProvisioningState + - Added Type Alias PublicNetworkAccess + - Added Type Alias ScalingPlanPersonalSchedulesCreateResponse + - Added Type Alias ScalingPlanPersonalSchedulesGetResponse + - Added Type Alias ScalingPlanPersonalSchedulesListNextResponse + - Added Type Alias ScalingPlanPersonalSchedulesListResponse + - Added Type Alias ScalingPlanPersonalSchedulesUpdateResponse + - Added Type Alias SessionHandlingOperation + - Added Type Alias SetStartVMOnConnect + - Added Type Alias StartupBehavior + - Interface ApplicationGroup has a new optional parameter showInFeed + - Interface ApplicationGroupPatch has a new optional parameter showInFeed + - Interface ExpandMsixImage has a new optional parameter certificateExpiry + - Interface ExpandMsixImage has a new optional parameter certificateName + - Interface HostPool has a new optional parameter appAttachPackageReferences + - Interface HostPool has a new optional parameter privateEndpointConnections + - Interface HostPool has a new optional parameter publicNetworkAccess + - Interface HostPoolPatch has a new optional parameter publicNetworkAccess + - Interface Workspace has a new optional parameter privateEndpointConnections + - Interface Workspace has a new optional parameter publicNetworkAccess + - Interface WorkspacePatch has a new optional parameter publicNetworkAccess + - Added Enum KnownAppAttachPackageArchitectures + - Added Enum KnownFailHealthCheckOnStagingFailure + - Added Enum KnownHostpoolPublicNetworkAccess + - Added Enum KnownPackageTimestamped + - Added Enum KnownPrivateEndpointConnectionProvisioningState + - Added Enum KnownPrivateEndpointServiceConnectionStatus + - Added Enum KnownProvisioningState + - Added Enum KnownPublicNetworkAccess + - Added Enum KnownSessionHandlingOperation + - Added Enum KnownSetStartVMOnConnect + - Added Enum KnownStartupBehavior + + ## 1.0.0 (2023-03-09) -The package of @azure/arm-desktopvirtualization is using our next generation design principles. To learn more, please refer to our documentation [Quick Start](https://aka.ms/azsdk/js/mgmt/quickstart ). +The package of @azure/arm-desktopvirtualization is using our next generation design principles. To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md index 387cf846b7df..2a041a8ec1d5 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md @@ -6,7 +6,7 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-desktopvirtualization) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index 96a0a2ff2627..357d74988657 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "4f4044394791773e6e7e82a9bd90d3935caaca1b", + "commit": "3311838643f2317eb26ae082a305a4d9f3f18320", "readme": "specification/desktopvirtualization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\desktopvirtualization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.9 --generate-sample=true", + "autorest_command": "autorest --version=3.9.7 --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/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@^6.0.4", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", - "use": "@autorest/typescript@6.0.0-rc.9" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.2", + "use": "@autorest/typescript@^6.0.4" } \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json index 816f2c7a8d4c..52a09a8541df 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -3,15 +3,15 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DesktopVirtualizationAPIClient.", - "version": "1.0.1", + "version": "1.1.0-beta.1", "engines": { - "node": ">=16.0.0" + "node": ">=14.0.0" }, "dependencies": { "@azure/core-paging": "^1.2.0", "@azure/core-client": "^1.7.0", "@azure/core-auth": "^1.3.0", - "@azure/core-rest-pipeline": "^1.8.0", + "@azure/core-rest-pipeline": "^1.12.0", "tslib": "^2.2.0" }, "keywords": [ @@ -36,18 +36,18 @@ "rollup-plugin-sourcemaps": "^0.6.3", "typescript": "~5.0.0", "uglify-js": "^3.4.9", - "rimraf": "^3.0.0", + "rimraf": "^5.0.0", "dotenv": "^16.0.0", - "@azure/identity": "^3.3.0", + "@azure/identity": "^2.0.1", "@azure-tools/test-recorder": "^3.0.0", "@azure-tools/test-credential": "^1.0.0", - "mocha": "^10.0.0", + "mocha": "^7.1.1", "@types/chai": "^4.2.8", "chai": "^4.2.0", "cross-env": "^7.0.2", - "@types/node": "^16.0.0", - "@azure/dev-tool": "^1.0.0", - "ts-node": "^10.0.0" + "@types/node": "^14.0.0", + "ts-node": "^10.0.0", + "@azure/dev-tool": "^1.0.0" }, "repository": { "type": "git", @@ -82,7 +82,7 @@ "extract-api": "api-extractor run --local", "lint": "echo skipped", "audit": "echo skipped", - "clean": "rimraf dist dist-browser dist-esm test-dist temp types *.tgz *.log", + "clean": "rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", "build:node": "echo skipped", "build:browser": "echo skipped", "build:test": "echo skipped", @@ -110,13 +110,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization" +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md index 76c83f87ac66..a82fb0bf5e8c 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -24,6 +24,140 @@ export interface AgentUpdateProperties { useSessionHostLocalTime?: boolean; } +// @public +export interface AppAttachPackage extends TrackedResource { + properties: AppAttachPackageProperties; +} + +// @public +export type AppAttachPackageArchitectures = string; + +// @public +export interface AppAttachPackageCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageCreateOrUpdateResponse = AppAttachPackage; + +// @public +export interface AppAttachPackageDeleteOptionalParams extends coreClient.OperationOptions { + force?: boolean; +} + +// @public +export interface AppAttachPackageGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageGetResponse = AppAttachPackage; + +// @public +export interface AppAttachPackageInfo { + listImport(resourceGroupName: string, hostPoolName: string, importPackageInfoRequest: ImportPackageInfoRequest, options?: AppAttachPackageInfoImportOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface AppAttachPackageInfoImportNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageInfoImportNextResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageInfoImportOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageInfoImportResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageInfoProperties { + certificateExpiry?: Date; + certificateName?: string; + displayName?: string; + imagePath?: string; + isActive?: boolean; + isPackageTimestamped?: PackageTimestamped; + isRegularRegistration?: boolean; + lastUpdated?: Date; + packageAlias?: string; + packageApplications?: MsixPackageApplications[]; + packageDependencies?: MsixPackageDependencies[]; + packageFamilyName?: string; + packageFullName?: string; + packageName?: string; + packageRelativePath?: string; + version?: string; +} + +// @public +export interface AppAttachPackageList { + readonly nextLink?: string; + value?: AppAttachPackage[]; +} + +// @public +export interface AppAttachPackageListByResourceGroupNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageListByResourceGroupNextResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageListByResourceGroupOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppAttachPackageListByResourceGroupResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageListBySubscriptionNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type AppAttachPackageListBySubscriptionNextResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageListBySubscriptionOptionalParams extends coreClient.OperationOptions { + filter?: string; +} + +// @public +export type AppAttachPackageListBySubscriptionResponse = AppAttachPackageList; + +// @public +export interface AppAttachPackageOperations { + createOrUpdate(resourceGroupName: string, appAttachPackageName: string, appAttachPackage: AppAttachPackage, options?: AppAttachPackageCreateOrUpdateOptionalParams): Promise; + delete(resourceGroupName: string, appAttachPackageName: string, options?: AppAttachPackageDeleteOptionalParams): Promise; + get(resourceGroupName: string, appAttachPackageName: string, options?: AppAttachPackageGetOptionalParams): Promise; + listByResourceGroup(resourceGroupName: string, options?: AppAttachPackageListByResourceGroupOptionalParams): PagedAsyncIterableIterator; + listBySubscription(options?: AppAttachPackageListBySubscriptionOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, appAttachPackageName: string, options?: AppAttachPackageUpdateOptionalParams): Promise; +} + +// @public +export interface AppAttachPackagePatch { + properties?: AppAttachPackageProperties; +} + +// @public +export interface AppAttachPackageProperties { + failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; + hostPoolReferences?: string[]; + image?: AppAttachPackageInfoProperties; + keyVaultURL?: string; + readonly provisioningState?: ProvisioningState; +} + +// @public +export interface AppAttachPackageUpdateOptionalParams extends coreClient.OperationOptions { + appAttachPackagePatch?: AppAttachPackagePatch; +} + +// @public +export type AppAttachPackageUpdateResponse = AppAttachPackage; + // @public export interface Application extends Resource { applicationType?: RemoteApplicationType; @@ -51,6 +185,7 @@ export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { friendlyName?: string; hostPoolArmPath: string; readonly objectId?: string; + showInFeed?: boolean; readonly systemData?: SystemData; readonly workspaceArmPath?: string; } @@ -65,6 +200,7 @@ export interface ApplicationGroupList { export interface ApplicationGroupPatch extends Resource { description?: string; friendlyName?: string; + showInFeed?: boolean; tags?: { [propertyName: string]: string; }; @@ -313,6 +449,10 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) apiVersion: string; // (undocumented) + appAttachPackageInfo: AppAttachPackageInfo; + // (undocumented) + appAttachPackageOperations: AppAttachPackageOperations; + // (undocumented) applicationGroups: ApplicationGroups; // (undocumented) applications: Applications; @@ -327,6 +467,12 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) operations: Operations; // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) + scalingPlanPersonalSchedules: ScalingPlanPersonalSchedules; + // (undocumented) scalingPlanPooledSchedules: ScalingPlanPooledSchedules; // (undocumented) scalingPlans: ScalingPlans; @@ -349,8 +495,30 @@ export interface DesktopVirtualizationAPIClientOptionalParams extends coreClient endpoint?: string; } +// @public +export interface ErrorAdditionalInfo { + readonly info?: Record; + readonly type?: string; +} + +// @public +export interface ErrorDetail { + readonly additionalInfo?: ErrorAdditionalInfo[]; + readonly code?: string; + readonly details?: ErrorDetail[]; + readonly message?: string; + readonly target?: string; +} + +// @public +export interface ErrorResponse { + error?: ErrorDetail; +} + // @public export interface ExpandMsixImage extends Resource { + certificateExpiry?: Date; + certificateName?: string; displayName?: string; imagePath?: string; isActive?: boolean; @@ -372,6 +540,9 @@ export interface ExpandMsixImageList { value?: ExpandMsixImage[]; } +// @public +export type FailHealthCheckOnStagingFailure = string; + // @public export function getContinuationToken(page: unknown): string | undefined; @@ -384,6 +555,7 @@ export type HealthCheckResult = string; // @public export interface HostPool extends ResourceModelWithAllowedPropertySet { agentUpdate?: AgentUpdateProperties; + readonly appAttachPackageReferences?: string[]; readonly applicationGroupReferences?: string[]; readonly cloudPcResource?: boolean; customRdpProperty?: string; @@ -395,6 +567,8 @@ export interface HostPool extends ResourceModelWithAllowedPropertySet { readonly objectId?: string; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType: PreferredAppGroupType; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + publicNetworkAccess?: HostpoolPublicNetworkAccess; registrationInfo?: RegistrationInfo; ring?: number; ssoadfsAuthority?: string; @@ -423,6 +597,7 @@ export interface HostPoolPatch extends Resource { maxSessionLimit?: number; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType?: PreferredAppGroupType; + publicNetworkAccess?: HostpoolPublicNetworkAccess; registrationInfo?: RegistrationInfoPatch; ring?: number; ssoadfsAuthority?: string; @@ -437,6 +612,9 @@ export interface HostPoolPatch extends Resource { vmTemplate?: string; } +// @public +export type HostpoolPublicNetworkAccess = string; + // @public export interface HostPools { createOrUpdate(resourceGroupName: string, hostPoolName: string, hostPool: HostPool, options?: HostPoolsCreateOrUpdateOptionalParams): Promise; @@ -526,6 +704,23 @@ export interface Identity { type?: "SystemAssigned"; } +// @public +export interface ImportPackageInfoRequest { + packageArchitecture?: AppAttachPackageArchitectures; + path?: string; +} + +// @public +export enum KnownAppAttachPackageArchitectures { + ALL = "ALL", + ARM = "ARM", + ARM64 = "ARM64", + Neutral = "Neutral", + X64 = "x64", + X86 = "x86", + X86A64 = "x86a64" +} + // @public export enum KnownApplicationGroupType { Desktop = "Desktop", @@ -553,6 +748,13 @@ export enum KnownCreatedByType { User = "User" } +// @public +export enum KnownFailHealthCheckOnStagingFailure { + DoNotFail = "DoNotFail", + NeedsAssistance = "NeedsAssistance", + Unhealthy = "Unhealthy" +} + // @public export enum KnownHealthCheckName { AppAttachHealthCheck = "AppAttachHealthCheck", @@ -576,6 +778,14 @@ export enum KnownHealthCheckResult { Unknown = "Unknown" } +// @public +export enum KnownHostpoolPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled", + EnabledForClientsOnly = "EnabledForClientsOnly", + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly" +} + // @public export enum KnownHostPoolType { BYODesktop = "BYODesktop", @@ -590,6 +800,12 @@ export enum KnownLoadBalancerType { Persistent = "Persistent" } +// @public +export enum KnownPackageTimestamped { + NotTimestamped = "NotTimestamped", + Timestamped = "Timestamped" +} + // @public export enum KnownPersonalDesktopAssignmentType { Automatic = "Automatic", @@ -603,6 +819,35 @@ export enum KnownPreferredAppGroupType { RailApplications = "RailApplications" } +// @public +export enum KnownPrivateEndpointConnectionProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded" +} + +// @public +export enum KnownPrivateEndpointServiceConnectionStatus { + Approved = "Approved", + Pending = "Pending", + Rejected = "Rejected" +} + +// @public +export enum KnownProvisioningState { + Canceled = "Canceled", + Failed = "Failed", + Provisioning = "Provisioning", + Succeeded = "Succeeded" +} + +// @public +export enum KnownPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownRegistrationTokenOperation { Delete = "Delete", @@ -632,6 +877,13 @@ export enum KnownScalingScheduleDaysOfWeekItem { Wednesday = "Wednesday" } +// @public +export enum KnownSessionHandlingOperation { + Deallocate = "Deallocate", + Hibernate = "Hibernate", + None = "None" +} + // @public export enum KnownSessionHostComponentUpdateType { Default = "Default", @@ -654,6 +906,12 @@ export enum KnownSessionState { UserProfileDiskMounted = "UserProfileDiskMounted" } +// @public +export enum KnownSetStartVMOnConnect { + Disable = "Disable", + Enable = "Enable" +} + // @public export enum KnownSSOSecretType { Certificate = "Certificate", @@ -662,6 +920,13 @@ export enum KnownSSOSecretType { SharedKeyInKeyVault = "SharedKeyInKeyVault" } +// @public +export enum KnownStartupBehavior { + All = "All", + None = "None", + WithAssignedUser = "WithAssignedUser" +} + // @public export enum KnownStatus { Available = "Available", @@ -862,6 +1127,9 @@ export interface OperationsListOptionalParams extends coreClient.OperationOption // @public export type OperationsListResponse = ResourceProviderOperationList; +// @public +export type PackageTimestamped = string; + // @public export type PersonalDesktopAssignmentType = string; @@ -877,6 +1145,184 @@ export interface Plan { // @public export type PreferredAppGroupType = string; +// @public +export interface PrivateEndpoint { + readonly id?: string; +} + +// @public +export interface PrivateEndpointConnection extends Resource { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +// @public +export interface PrivateEndpointConnectionListResultWithSystemData { + readonly nextLink?: string; + value?: PrivateEndpointConnectionWithSystemData[]; +} + +// @public +export type PrivateEndpointConnectionProvisioningState = string; + +// @public +export interface PrivateEndpointConnections { + deleteByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams): Promise; + deleteByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams): Promise; + getByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams): Promise; + getByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams): Promise; + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: PrivateEndpointConnectionsListByHostPoolOptionalParams): PagedAsyncIterableIterator; + listByWorkspace(resourceGroupName: string, workspaceName: string, options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams): PagedAsyncIterableIterator; + updateByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, connection: PrivateEndpointConnection, options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams): Promise; + updateByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, connection: PrivateEndpointConnection, options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams): Promise; +} + +// @public +export interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface PrivateEndpointConnectionsGetByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByHostPoolNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByHostPoolOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateEndpointConnectionsListByHostPoolResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByWorkspaceNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByWorkspaceResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsUpdateByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsUpdateByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionWithSystemData extends PrivateEndpointConnection { + readonly systemData?: SystemData; +} + +// @public +export type PrivateEndpointServiceConnectionStatus = string; + +// @public +export interface PrivateLinkResource extends Resource { + readonly groupId?: string; + readonly requiredMembers?: string[]; + requiredZoneNames?: string[]; +} + +// @public +export interface PrivateLinkResourceListResult { + readonly nextLink?: string; + value?: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResources { + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: PrivateLinkResourcesListByHostPoolOptionalParams): PagedAsyncIterableIterator; + listByWorkspace(resourceGroupName: string, workspaceName: string, options?: PrivateLinkResourcesListByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateLinkResourcesListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByHostPoolNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByHostPoolOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateLinkResourcesListByHostPoolResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByWorkspaceNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByWorkspaceOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateLinkResourcesListByWorkspaceResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkServiceConnectionState { + actionsRequired?: string; + description?: string; + status?: PrivateEndpointServiceConnectionStatus; +} + +// @public +export type ProvisioningState = string; + +// @public +export interface ProxyResource extends Resource { +} + +// @public +export type PublicNetworkAccess = string; + // @public export interface RegistrationInfo { expirationTime?: Date; @@ -903,6 +1349,14 @@ export interface Resource { readonly type?: string; } +// @public +export interface ResourceAutoGenerated { + readonly id?: string; + readonly name?: string; + readonly systemData?: SystemData; + readonly type?: string; +} + // @public export interface ResourceModelWithAllowedPropertySet { readonly etag?: string; @@ -998,6 +1452,125 @@ export interface ScalingPlanPatch { timeZone?: string; } +// @public +export interface ScalingPlanPersonalSchedule extends ProxyResource { + daysOfWeek?: DayOfWeek[]; + offPeakActionOnDisconnect?: SessionHandlingOperation; + offPeakActionOnLogoff?: SessionHandlingOperation; + offPeakMinutesToWaitOnDisconnect?: number; + offPeakMinutesToWaitOnLogoff?: number; + offPeakStartTime?: Time; + offPeakStartVMOnConnect?: SetStartVMOnConnect; + peakActionOnDisconnect?: SessionHandlingOperation; + peakActionOnLogoff?: SessionHandlingOperation; + peakMinutesToWaitOnDisconnect?: number; + peakMinutesToWaitOnLogoff?: number; + peakStartTime?: Time; + peakStartVMOnConnect?: SetStartVMOnConnect; + rampDownActionOnDisconnect?: SessionHandlingOperation; + rampDownActionOnLogoff?: SessionHandlingOperation; + rampDownMinutesToWaitOnDisconnect?: number; + rampDownMinutesToWaitOnLogoff?: number; + rampDownStartTime?: Time; + rampDownStartVMOnConnect?: SetStartVMOnConnect; + rampUpActionOnDisconnect?: SessionHandlingOperation; + rampUpActionOnLogoff?: SessionHandlingOperation; + rampUpAutoStartHosts?: StartupBehavior; + rampUpMinutesToWaitOnDisconnect?: number; + rampUpMinutesToWaitOnLogoff?: number; + rampUpStartTime?: Time; + rampUpStartVMOnConnect?: SetStartVMOnConnect; + readonly systemData?: SystemData; +} + +// @public +export interface ScalingPlanPersonalScheduleList { + readonly nextLink?: string; + value?: ScalingPlanPersonalSchedule[]; +} + +// @public +export interface ScalingPlanPersonalSchedulePatch { + daysOfWeek?: DayOfWeek[]; + offPeakActionOnDisconnect?: SessionHandlingOperation; + offPeakActionOnLogoff?: SessionHandlingOperation; + offPeakMinutesToWaitOnDisconnect?: number; + offPeakMinutesToWaitOnLogoff?: number; + offPeakStartTime?: Time; + offPeakStartVMOnConnect?: SetStartVMOnConnect; + peakActionOnDisconnect?: SessionHandlingOperation; + peakActionOnLogoff?: SessionHandlingOperation; + peakMinutesToWaitOnDisconnect?: number; + peakMinutesToWaitOnLogoff?: number; + peakStartTime?: Time; + peakStartVMOnConnect?: SetStartVMOnConnect; + rampDownActionOnDisconnect?: SessionHandlingOperation; + rampDownActionOnLogoff?: SessionHandlingOperation; + rampDownMinutesToWaitOnDisconnect?: number; + rampDownMinutesToWaitOnLogoff?: number; + rampDownStartTime?: Time; + rampDownStartVMOnConnect?: SetStartVMOnConnect; + rampUpActionOnDisconnect?: SessionHandlingOperation; + rampUpActionOnLogoff?: SessionHandlingOperation; + rampUpAutoStartHosts?: StartupBehavior; + rampUpMinutesToWaitOnDisconnect?: number; + rampUpMinutesToWaitOnLogoff?: number; + rampUpStartTime?: Time; + rampUpStartVMOnConnect?: SetStartVMOnConnect; +} + +// @public +export interface ScalingPlanPersonalSchedules { + create(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, scalingPlanSchedule: ScalingPlanPersonalSchedule, options?: ScalingPlanPersonalSchedulesCreateOptionalParams): Promise; + delete(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPersonalSchedulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPersonalSchedulesGetOptionalParams): Promise; + list(resourceGroupName: string, scalingPlanName: string, options?: ScalingPlanPersonalSchedulesListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPersonalSchedulesUpdateOptionalParams): Promise; +} + +// @public +export interface ScalingPlanPersonalSchedulesCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPersonalSchedulesCreateResponse = ScalingPlanPersonalSchedule; + +// @public +export interface ScalingPlanPersonalSchedulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScalingPlanPersonalSchedulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPersonalSchedulesGetResponse = ScalingPlanPersonalSchedule; + +// @public +export interface ScalingPlanPersonalSchedulesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPersonalSchedulesListNextResponse = ScalingPlanPersonalScheduleList; + +// @public +export interface ScalingPlanPersonalSchedulesListOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type ScalingPlanPersonalSchedulesListResponse = ScalingPlanPersonalScheduleList; + +// @public +export interface ScalingPlanPersonalSchedulesUpdateOptionalParams extends coreClient.OperationOptions { + scalingPlanSchedule?: ScalingPlanPersonalSchedulePatch; +} + +// @public +export type ScalingPlanPersonalSchedulesUpdateResponse = ScalingPlanPersonalSchedule; + // @public export interface ScalingPlanPooledSchedule extends Resource { daysOfWeek?: DayOfWeek[]; @@ -1223,6 +1796,9 @@ export interface ServiceSpecification { logSpecifications?: LogSpecification[]; } +// @public +export type SessionHandlingOperation = string; + // @public export interface SessionHost extends Resource { agentVersion?: string; @@ -1327,6 +1903,9 @@ export type SessionHostsUpdateResponse = SessionHost; // @public export type SessionState = string; +// @public +export type SetStartVMOnConnect = string; + // @public export interface Sku { capacity?: number; @@ -1379,6 +1958,9 @@ export interface StartMenuItemsListOptionalParams extends coreClient.OperationOp // @public export type StartMenuItemsListResponse = StartMenuItemList; +// @public +export type StartupBehavior = string; + // @public export type Status = string; @@ -1401,6 +1983,14 @@ export interface Time { minute: number; } +// @public +export interface TrackedResource extends ResourceAutoGenerated { + location: string; + tags?: { + [propertyName: string]: string; + }; +} + // @public export type UpdateState = string; @@ -1494,6 +2084,8 @@ export interface Workspace extends ResourceModelWithAllowedPropertySet { description?: string; friendlyName?: string; readonly objectId?: string; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + publicNetworkAccess?: PublicNetworkAccess; readonly systemData?: SystemData; } @@ -1508,6 +2100,7 @@ export interface WorkspacePatch { applicationGroupReferences?: string[]; description?: string; friendlyName?: string; + publicNetworkAccess?: PublicNetworkAccess; tags?: { [propertyName: string]: string; }; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts index 8dc7297e140c..3e4c9f5a4670 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts @@ -17,8 +17,11 @@ import * as coreAuth from "@azure/core-auth"; import { OperationsImpl, WorkspacesImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, ScalingPlansImpl, ScalingPlanPooledSchedulesImpl, + ScalingPlanPersonalSchedulesImpl, ApplicationGroupsImpl, StartMenuItemsImpl, ApplicationsImpl, @@ -27,13 +30,18 @@ import { UserSessionsImpl, SessionHostsImpl, MsixPackagesImpl, - MsixImagesImpl + AppAttachPackageInfoImpl, + MsixImagesImpl, + AppAttachPackageOperationsImpl } from "./operations"; import { Operations, Workspaces, + PrivateEndpointConnections, + PrivateLinkResources, ScalingPlans, ScalingPlanPooledSchedules, + ScalingPlanPersonalSchedules, ApplicationGroups, StartMenuItems, Applications, @@ -42,7 +50,9 @@ import { UserSessions, SessionHosts, MsixPackages, - MsixImages + AppAttachPackageInfo, + MsixImages, + AppAttachPackageOperations } from "./operationsInterfaces"; import { DesktopVirtualizationAPIClientOptionalParams } from "./models"; @@ -78,7 +88,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-desktopvirtualization/1.0.1`; + const packageDetails = `azsdk-js-arm-desktopvirtualization/1.1.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -131,11 +141,16 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-09-09"; + this.apiVersion = options.apiVersion || "2023-10-04-preview"; this.operations = new OperationsImpl(this); this.workspaces = new WorkspacesImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); this.scalingPlans = new ScalingPlansImpl(this); this.scalingPlanPooledSchedules = new ScalingPlanPooledSchedulesImpl(this); + this.scalingPlanPersonalSchedules = new ScalingPlanPersonalSchedulesImpl( + this + ); this.applicationGroups = new ApplicationGroupsImpl(this); this.startMenuItems = new StartMenuItemsImpl(this); this.applications = new ApplicationsImpl(this); @@ -144,7 +159,9 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { this.userSessions = new UserSessionsImpl(this); this.sessionHosts = new SessionHostsImpl(this); this.msixPackages = new MsixPackagesImpl(this); + this.appAttachPackageInfo = new AppAttachPackageInfoImpl(this); this.msixImages = new MsixImagesImpl(this); + this.appAttachPackageOperations = new AppAttachPackageOperationsImpl(this); this.addCustomApiVersionPolicy(options.apiVersion); } @@ -178,8 +195,11 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { operations: Operations; workspaces: Workspaces; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; scalingPlans: ScalingPlans; scalingPlanPooledSchedules: ScalingPlanPooledSchedules; + scalingPlanPersonalSchedules: ScalingPlanPersonalSchedules; applicationGroups: ApplicationGroups; startMenuItems: StartMenuItems; applications: Applications; @@ -188,5 +208,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { userSessions: UserSessions; sessionHosts: SessionHosts; msixPackages: MsixPackages; + appAttachPackageInfo: AppAttachPackageInfo; msixImages: MsixImages; + appAttachPackageOperations: AppAttachPackageOperations; } diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts index 33b1598d1327..1e61400aa85d 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts @@ -95,6 +95,44 @@ export interface SystemData { lastModifiedAt?: Date; } +/** The Private Endpoint resource. */ +export interface PrivateEndpoint { + /** + * The ARM identifier for Private Endpoint + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; +} + +/** A collection of information about the state of the connection between service consumer and provider. */ +export interface PrivateLinkServiceConnectionState { + /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */ + status?: PrivateEndpointServiceConnectionStatus; + /** The reason for approval/rejection of the connection. */ + description?: string; + /** A message indicating if changes on the service provider require any updates on the consumer. */ + actionsRequired?: string; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + /** The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set. */ export interface ResourceModelWithAllowedPropertySet { /** @@ -184,6 +222,30 @@ export interface WorkspacePatch { friendlyName?: string; /** List of applicationGroup links. */ applicationGroupReferences?: string[]; + /** Enabled to allow this resource to be access from the public network */ + publicNetworkAccess?: PublicNetworkAccess; +} + +/** List of private endpoint connection associated with the specified storage account */ +export interface PrivateEndpointConnectionListResultWithSystemData { + /** Array of private endpoint connections */ + value?: PrivateEndpointConnectionWithSystemData[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** A list of private link resources */ +export interface PrivateLinkResourceListResult { + /** Array of private link resources */ + value?: PrivateLinkResource[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } /** List of Workspace definitions. */ @@ -282,29 +344,77 @@ export interface ScalingPlanList { readonly nextLink?: string; } -/** Common fields that are returned in the response for all Azure Resource Manager resources */ -export interface Resource { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; - /** - * The name of the resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly name?: string; +/** List of ScalingPlanPooledSchedule definitions. */ +export interface ScalingPlanPooledScheduleList { + /** List of ScalingPlanPooledSchedule definitions. */ + value?: ScalingPlanPooledSchedule[]; /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * Link to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly type?: string; + readonly nextLink?: string; } -/** List of ScalingPlanPooledSchedule definitions. */ -export interface ScalingPlanPooledScheduleList { - /** List of ScalingPlanPooledSchedule definitions. */ - value?: ScalingPlanPooledSchedule[]; +/** ScalingPlanPersonalSchedule properties that can be patched. */ +export interface ScalingPlanPersonalSchedulePatch { + /** Set of days of the week on which this schedule is active. */ + daysOfWeek?: DayOfWeek[]; + /** Starting time for ramp up period. */ + rampUpStartTime?: Time; + /** The desired startup behavior during the ramp up period for personal vms in the hostpool. */ + rampUpAutoStartHosts?: StartupBehavior; + /** The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. */ + rampUpStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the ramp up period. */ + rampUpActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. */ + rampUpMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the ramp up period. */ + rampUpActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. */ + rampUpMinutesToWaitOnLogoff?: number; + /** Starting time for peak period. */ + peakStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the peak phase. */ + peakStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the peak period. */ + peakActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. */ + peakMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the peak period. */ + peakActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. */ + peakMinutesToWaitOnLogoff?: number; + /** Starting time for ramp down period. */ + rampDownStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. */ + rampDownStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the ramp down period. */ + rampDownActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. */ + rampDownMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the ramp down period. */ + rampDownActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. */ + rampDownMinutesToWaitOnLogoff?: number; + /** Starting time for off-peak period. */ + offPeakStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. */ + offPeakStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the off-peak period. */ + offPeakActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. */ + offPeakMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the off-peak period. */ + offPeakActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. */ + offPeakMinutesToWaitOnLogoff?: number; +} + +/** List of ScalingPlanPersonalSchedule definitions. */ +export interface ScalingPlanPersonalScheduleList { + /** List of ScalingPlanPersonalSchedule definitions. */ + value?: ScalingPlanPersonalSchedule[]; /** * Link to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -562,16 +672,18 @@ export interface MsixPackageList { readonly nextLink?: string; } -/** Represents URI referring to MSIX Image */ -export interface MsixImageURI { +/** Information to import app attach package */ +export interface ImportPackageInfoRequest { /** URI to Image */ - uri?: string; + path?: string; + /** Possible device architectures that an app attach package can be configured for */ + packageArchitecture?: AppAttachPackageArchitectures; } -/** List of MSIX package properties retrieved from MSIX Image expansion. */ -export interface ExpandMsixImageList { - /** List of MSIX package properties from give MSIX Image. */ - value?: ExpandMsixImage[]; +/** List of App Attach Package definitions. */ +export interface AppAttachPackageList { + /** List of App Attach Package definitions. */ + value?: AppAttachPackage[]; /** * Link to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -579,164 +691,191 @@ export interface ExpandMsixImageList { readonly nextLink?: string; } -/** Represents message sent to a UserSession. */ -export interface SendMessage { - /** Title of message. */ - messageTitle?: string; - /** Body of message. */ - messageBody?: string; +/** Schema for App Attach Package properties. */ +export interface AppAttachPackageProperties { + /** + * The provisioning state of the App Attach Package. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningState; + /** Detailed properties for App Attach Package */ + image?: AppAttachPackageInfoProperties; + /** List of Hostpool resource Ids. */ + hostPoolReferences?: string[]; + /** URL of keyvault location to store certificate */ + keyVaultURL?: string; + /** Parameter indicating how the health check should behave if this package fails staging */ + failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; +} + +/** Schema for Import Package Information properties. */ +export interface AppAttachPackageInfoProperties { + /** Alias of App Attach Package. Assigned at import time */ + packageAlias?: string; + /** VHD/CIM image path on Network Share. */ + imagePath?: string; + /** Package Name from appxmanifest.xml. */ + packageName?: string; + /** Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. */ + packageFamilyName?: string; + /** Package Full Name from appxmanifest.xml. */ + packageFullName?: string; + /** User friendly Name to be displayed in the portal. */ + displayName?: string; + /** Relative Path to the package inside the image. */ + packageRelativePath?: string; + /** Specifies how to register Package in feed. */ + isRegularRegistration?: boolean; + /** Make this version of the package the active one across the hostpool. */ + isActive?: boolean; + /** List of package dependencies. */ + packageDependencies?: MsixPackageDependencies[]; + /** Package Version found in the appxmanifest.xml. */ + version?: string; + /** Date Package was last updated, found in the appxmanifest.xml. */ + lastUpdated?: Date; + /** List of package applications. */ + packageApplications?: MsixPackageApplications[]; + /** Certificate name found in the appxmanifest.xml. */ + certificateName?: string; + /** Date certificate expires, found in the appxmanifest.xml. */ + certificateExpiry?: Date; + /** Is package timestamped so it can ignore the certificate expiry date */ + isPackageTimestamped?: PackageTimestamped; } -/** Represents a Workspace definition. */ -export interface Workspace extends ResourceModelWithAllowedPropertySet { +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface ResourceAutoGenerated { /** - * Metadata pertaining to creation and last modification of the resource. + * Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly systemData?: SystemData; + readonly id?: string; /** - * ObjectId of Workspace. (internal use) + * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly objectId?: string; - /** Description of Workspace. */ - description?: string; - /** Friendly name of Workspace. */ - friendlyName?: string; - /** List of applicationGroup resource Ids. */ - applicationGroupReferences?: string[]; + readonly name?: string; /** - * Is cloud pc resource. + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cloudPcResource?: boolean; -} - -/** Represents a scaling plan definition. */ -export interface ScalingPlan extends ResourceModelWithAllowedPropertySet { + readonly type?: string; /** - * Metadata pertaining to creation and last modification of the resource. + * Azure Resource Manager metadata containing createdBy and modifiedBy information. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorDetail; +} + +/** The error detail. */ +export interface ErrorDetail { /** - * ObjectId of scaling plan. (internal use) + * The error code. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly objectId?: string; - /** Description of scaling plan. */ - description?: string; - /** User friendly name of scaling plan. */ - friendlyName?: string; - /** Timezone of the scaling plan. */ - timeZone: string; - /** HostPool type for desktop. */ - hostPoolType?: ScalingHostPoolType; - /** Exclusion tag for scaling plan. */ - exclusionTag?: string; - /** List of ScalingPlanPooledSchedule definitions. */ - schedules?: ScalingSchedule[]; - /** List of ScalingHostPoolReference definitions. */ - hostPoolReferences?: ScalingHostPoolReference[]; -} - -/** Represents a ApplicationGroup definition. */ -export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { + readonly code?: string; /** - * Metadata pertaining to creation and last modification of the resource. + * The error message. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly systemData?: SystemData; + readonly message?: string; /** - * ObjectId of ApplicationGroup. (internal use) + * The error target. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly objectId?: string; - /** Description of ApplicationGroup. */ - description?: string; - /** Friendly name of ApplicationGroup. */ - friendlyName?: string; - /** HostPool arm path of ApplicationGroup. */ - hostPoolArmPath: string; + readonly target?: string; /** - * Workspace arm path of ApplicationGroup. + * The error details. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly workspaceArmPath?: string; - /** Resource Type of ApplicationGroup. */ - applicationGroupType: ApplicationGroupType; + readonly details?: ErrorDetail[]; /** - * Is cloud pc resource. + * The error additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cloudPcResource?: boolean; + readonly additionalInfo?: ErrorAdditionalInfo[]; } -/** Represents a HostPool definition. */ -export interface HostPool extends ResourceModelWithAllowedPropertySet { +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { /** - * Metadata pertaining to creation and last modification of the resource. + * The additional info type. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly systemData?: SystemData; + readonly type?: string; /** - * ObjectId of HostPool. (internal use) + * The additional info. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly objectId?: string; - /** Friendly name of HostPool. */ - friendlyName?: string; - /** Description of HostPool. */ - description?: string; - /** HostPool type for desktop. */ - hostPoolType: HostPoolType; - /** PersonalDesktopAssignment type for HostPool. */ - personalDesktopAssignmentType?: PersonalDesktopAssignmentType; - /** Custom rdp property of HostPool. */ - customRdpProperty?: string; - /** The max session limit of HostPool. */ - maxSessionLimit?: number; - /** The type of the load balancer. */ - loadBalancerType: LoadBalancerType; - /** The ring number of HostPool. */ - ring?: number; - /** Is validation environment. */ - validationEnvironment?: boolean; - /** The registration info of HostPool. */ - registrationInfo?: RegistrationInfo; - /** VM template for sessionhosts configuration within hostpool. */ - vmTemplate?: string; + readonly info?: Record; +} + +/** Represents URI referring to MSIX Image */ +export interface MsixImageURI { + /** URI to Image */ + uri?: string; +} + +/** List of MSIX package properties retrieved from MSIX Image expansion. */ +export interface ExpandMsixImageList { + /** List of MSIX package properties from give MSIX Image. */ + value?: ExpandMsixImage[]; /** - * List of applicationGroup links. + * Link to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly applicationGroupReferences?: string[]; - /** URL to customer ADFS server for signing WVD SSO certificates. */ - ssoadfsAuthority?: string; - /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ - ssoClientId?: string; - /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ - ssoClientSecretKeyVaultPath?: string; - /** The type of single sign on Secret Type. */ - ssoSecretType?: SSOSecretType; - /** The type of preferred application group type, default to Desktop Application Group */ - preferredAppGroupType: PreferredAppGroupType; - /** The flag to turn on/off StartVMOnConnect feature. */ - startVMOnConnect?: boolean; + readonly nextLink?: string; +} + +/** Schema for patchable App Attach Package properties. */ +export interface AppAttachPackagePatch { + /** Detailed properties for App Attach Package */ + properties?: AppAttachPackageProperties; +} + +/** Represents message sent to a UserSession. */ +export interface SendMessage { + /** Title of message. */ + messageTitle?: string; + /** Body of message. */ + messageBody?: string; +} + +/** The Private Endpoint Connection resource. */ +export interface PrivateEndpointConnection extends Resource { + /** The resource of private end point. */ + privateEndpoint?: PrivateEndpoint; + /** A collection of information about the state of the connection between service consumer and provider. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; /** - * Is cloud pc resource. + * The provisioning state of the private endpoint connection resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cloudPcResource?: boolean; - /** The session host configuration for updating agent, monitoring agent, and stack component. */ - agentUpdate?: AgentUpdateProperties; + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; } -export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} - -export interface ResourceModelWithAllowedPropertySetSku extends Sku {} - -export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} +/** A private link resource */ +export interface PrivateLinkResource extends Resource { + /** + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly groupId?: string; + /** + * The private link resource required member names. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requiredMembers?: string[]; + /** The private link resource Private link DNS zone name. */ + requiredZoneNames?: string[]; +} /** Represents a ScalingPlanPooledSchedule definition. */ export interface ScalingPlanPooledSchedule extends Resource { @@ -819,6 +958,9 @@ export interface ScalingPlanPooledSchedulePatch extends Resource { offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; } +/** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ +export interface ProxyResource extends Resource {} + /** ApplicationGroup properties that can be patched. */ export interface ApplicationGroupPatch extends Resource { /** tags to be updated */ @@ -827,6 +969,8 @@ export interface ApplicationGroupPatch extends Resource { description?: string; /** Friendly name of ApplicationGroup. */ friendlyName?: string; + /** Boolean representing whether the applicationGroup is show in the feed. */ + showInFeed?: boolean; } /** Represents a StartMenuItem definition. */ @@ -953,6 +1097,8 @@ export interface HostPoolPatch extends Resource { preferredAppGroupType?: PreferredAppGroupType; /** The flag to turn on/off StartVMOnConnect feature. */ startVMOnConnect?: boolean; + /** Enabled to allow this resource to be access from the public network */ + publicNetworkAccess?: HostpoolPublicNetworkAccess; /** The session host configuration for updating agent, monitoring agent, and stack component. */ agentUpdate?: AgentUpdatePatchProperties; } @@ -1121,31 +1267,355 @@ export interface ExpandMsixImage extends Resource { lastUpdated?: Date; /** List of package applications. */ packageApplications?: MsixPackageApplications[]; + /** Certificate name found in the appxmanifest.xml. */ + certificateName?: string; + /** Date certificate expires, found in the appxmanifest.xml. */ + certificateExpiry?: Date; +} + +/** Represents a Workspace definition. */ +export interface Workspace extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of Workspace. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of Workspace. */ + description?: string; + /** Friendly name of Workspace. */ + friendlyName?: string; + /** List of applicationGroup resource Ids. */ + applicationGroupReferences?: string[]; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +} + +/** Represents a scaling plan definition. */ +export interface ScalingPlan extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of scaling plan. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of scaling plan. */ + description?: string; + /** User friendly name of scaling plan. */ + friendlyName?: string; + /** Timezone of the scaling plan. */ + timeZone: string; + /** HostPool type for desktop. */ + hostPoolType?: ScalingHostPoolType; + /** Exclusion tag for scaling plan. */ + exclusionTag?: string; + /** List of ScalingPlanPooledSchedule definitions. */ + schedules?: ScalingSchedule[]; + /** List of ScalingHostPoolReference definitions. */ + hostPoolReferences?: ScalingHostPoolReference[]; +} + +/** Represents a ApplicationGroup definition. */ +export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of ApplicationGroup. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of ApplicationGroup. */ + description?: string; + /** Friendly name of ApplicationGroup. */ + friendlyName?: string; + /** HostPool arm path of ApplicationGroup. */ + hostPoolArmPath: string; + /** + * Workspace arm path of ApplicationGroup. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workspaceArmPath?: string; + /** Resource Type of ApplicationGroup. */ + applicationGroupType: ApplicationGroupType; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Boolean representing whether the applicationGroup is show in the feed. */ + showInFeed?: boolean; +} + +/** Represents a HostPool definition. */ +export interface HostPool extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of HostPool. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Friendly name of HostPool. */ + friendlyName?: string; + /** Description of HostPool. */ + description?: string; + /** HostPool type for desktop. */ + hostPoolType: HostPoolType; + /** PersonalDesktopAssignment type for HostPool. */ + personalDesktopAssignmentType?: PersonalDesktopAssignmentType; + /** Custom rdp property of HostPool. */ + customRdpProperty?: string; + /** The max session limit of HostPool. */ + maxSessionLimit?: number; + /** The type of the load balancer. */ + loadBalancerType: LoadBalancerType; + /** The ring number of HostPool. */ + ring?: number; + /** Is validation environment. */ + validationEnvironment?: boolean; + /** The registration info of HostPool. */ + registrationInfo?: RegistrationInfo; + /** VM template for sessionhosts configuration within hostpool. */ + vmTemplate?: string; + /** + * List of applicationGroup links. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applicationGroupReferences?: string[]; + /** + * List of App Attach Package links. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly appAttachPackageReferences?: string[]; + /** URL to customer ADFS server for signing WVD SSO certificates. */ + ssoadfsAuthority?: string; + /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ + ssoClientId?: string; + /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ + ssoClientSecretKeyVaultPath?: string; + /** The type of single sign on Secret Type. */ + ssoSecretType?: SSOSecretType; + /** The type of preferred application group type, default to Desktop Application Group */ + preferredAppGroupType: PreferredAppGroupType; + /** The flag to turn on/off StartVMOnConnect feature. */ + startVMOnConnect?: boolean; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: HostpoolPublicNetworkAccess; + /** The session host configuration for updating agent, monitoring agent, and stack component. */ + agentUpdate?: AgentUpdateProperties; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; } -/** Known values of {@link CreatedByType} that the service accepts. */ -export enum KnownCreatedByType { - /** User */ - User = "User", - /** Application */ - Application = "Application", - /** ManagedIdentity */ - ManagedIdentity = "ManagedIdentity", - /** Key */ - Key = "Key" +export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} + +export interface ResourceModelWithAllowedPropertySetSku extends Sku {} + +export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} + +/** The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location' */ +export interface TrackedResource extends ResourceAutoGenerated { + /** Resource tags. */ + tags?: { [propertyName: string]: string }; + /** The geo-location where the resource lives */ + location: string; +} + +/** The Private Endpoint Connection resource. */ +export interface PrivateEndpointConnectionWithSystemData + extends PrivateEndpointConnection { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; +} + +/** Represents a ScalingPlanPersonalSchedule definition. */ +export interface ScalingPlanPersonalSchedule extends ProxyResource { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** Set of days of the week on which this schedule is active. */ + daysOfWeek?: DayOfWeek[]; + /** Starting time for ramp up period. */ + rampUpStartTime?: Time; + /** The desired startup behavior during the ramp up period for personal vms in the hostpool. */ + rampUpAutoStartHosts?: StartupBehavior; + /** The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. */ + rampUpStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the ramp up period. */ + rampUpActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. */ + rampUpMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the ramp up period. */ + rampUpActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. */ + rampUpMinutesToWaitOnLogoff?: number; + /** Starting time for peak period. */ + peakStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the peak phase. */ + peakStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the peak period. */ + peakActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. */ + peakMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the peak period. */ + peakActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. */ + peakMinutesToWaitOnLogoff?: number; + /** Starting time for ramp down period. */ + rampDownStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. */ + rampDownStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the ramp down period. */ + rampDownActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. */ + rampDownMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the ramp down period. */ + rampDownActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. */ + rampDownMinutesToWaitOnLogoff?: number; + /** Starting time for off-peak period. */ + offPeakStartTime?: Time; + /** The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. */ + offPeakStartVMOnConnect?: SetStartVMOnConnect; + /** Action to be taken after a user disconnect during the off-peak period. */ + offPeakActionOnDisconnect?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. */ + offPeakMinutesToWaitOnDisconnect?: number; + /** Action to be taken after a logoff during the off-peak period. */ + offPeakActionOnLogoff?: SessionHandlingOperation; + /** The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. */ + offPeakMinutesToWaitOnLogoff?: number; +} + +/** Schema for App Attach Package properties. */ +export interface AppAttachPackage extends TrackedResource { + /** Detailed properties for App Attach Package */ + properties: AppAttachPackageProperties; +} + +/** Known values of {@link CreatedByType} that the service accepts. */ +export enum KnownCreatedByType { + /** User */ + User = "User", + /** Application */ + Application = "Application", + /** ManagedIdentity */ + ManagedIdentity = "ManagedIdentity", + /** Key */ + Key = "Key" +} + +/** + * Defines values for CreatedByType. \ + * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **User** \ + * **Application** \ + * **ManagedIdentity** \ + * **Key** + */ +export type CreatedByType = string; + +/** Known values of {@link PublicNetworkAccess} that the service accepts. */ +export enum KnownPublicNetworkAccess { + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled" +} + +/** + * Defines values for PublicNetworkAccess. \ + * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** + */ +export type PublicNetworkAccess = string; + +/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ +export enum KnownPrivateEndpointServiceConnectionStatus { + /** Pending */ + Pending = "Pending", + /** Approved */ + Approved = "Approved", + /** Rejected */ + Rejected = "Rejected" +} + +/** + * Defines values for PrivateEndpointServiceConnectionStatus. \ + * {@link KnownPrivateEndpointServiceConnectionStatus} can be used interchangeably with PrivateEndpointServiceConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** + */ +export type PrivateEndpointServiceConnectionStatus = string; + +/** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointConnectionProvisioningState { + /** Succeeded */ + Succeeded = "Succeeded", + /** Creating */ + Creating = "Creating", + /** Deleting */ + Deleting = "Deleting", + /** Failed */ + Failed = "Failed" } /** - * Defines values for CreatedByType. \ - * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, + * Defines values for PrivateEndpointConnectionProvisioningState. \ + * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **User** \ - * **Application** \ - * **ManagedIdentity** \ - * **Key** + * **Succeeded** \ + * **Creating** \ + * **Deleting** \ + * **Failed** */ -export type CreatedByType = string; +export type PrivateEndpointConnectionProvisioningState = string; /** Known values of {@link ScalingHostPoolType} that the service accepts. */ export enum KnownScalingHostPoolType { @@ -1231,6 +1701,66 @@ export enum KnownStopHostsWhen { */ export type StopHostsWhen = string; +/** Known values of {@link StartupBehavior} that the service accepts. */ +export enum KnownStartupBehavior { + /** Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. */ + None = "None", + /** Session hosts with an assigned user will be started during Ramp Up */ + WithAssignedUser = "WithAssignedUser", + /** All personal session hosts in the hostpool will be started during ramp up. */ + All = "All" +} + +/** + * Defines values for StartupBehavior. \ + * {@link KnownStartupBehavior} can be used interchangeably with StartupBehavior, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None**: Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts. \ + * **WithAssignedUser**: Session hosts with an assigned user will be started during Ramp Up \ + * **All**: All personal session hosts in the hostpool will be started during ramp up. + */ +export type StartupBehavior = string; + +/** Known values of {@link SetStartVMOnConnect} that the service accepts. */ +export enum KnownSetStartVMOnConnect { + /** Enable */ + Enable = "Enable", + /** Disable */ + Disable = "Disable" +} + +/** + * Defines values for SetStartVMOnConnect. \ + * {@link KnownSetStartVMOnConnect} can be used interchangeably with SetStartVMOnConnect, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enable** \ + * **Disable** + */ +export type SetStartVMOnConnect = string; + +/** Known values of {@link SessionHandlingOperation} that the service accepts. */ +export enum KnownSessionHandlingOperation { + /** None */ + None = "None", + /** Deallocate */ + Deallocate = "Deallocate", + /** Hibernate */ + Hibernate = "Hibernate" +} + +/** + * Defines values for SessionHandlingOperation. \ + * {@link KnownSessionHandlingOperation} can be used interchangeably with SessionHandlingOperation, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **None** \ + * **Deallocate** \ + * **Hibernate** + */ +export type SessionHandlingOperation = string; + /** Known values of {@link ApplicationGroupType} that the service accepts. */ export enum KnownApplicationGroupType { /** RemoteApp */ @@ -1414,6 +1944,30 @@ export enum KnownPreferredAppGroupType { */ export type PreferredAppGroupType = string; +/** Known values of {@link HostpoolPublicNetworkAccess} that the service accepts. */ +export enum KnownHostpoolPublicNetworkAccess { + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", + /** EnabledForSessionHostsOnly */ + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly", + /** EnabledForClientsOnly */ + EnabledForClientsOnly = "EnabledForClientsOnly" +} + +/** + * Defines values for HostpoolPublicNetworkAccess. \ + * {@link KnownHostpoolPublicNetworkAccess} can be used interchangeably with HostpoolPublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** \ + * **EnabledForSessionHostsOnly** \ + * **EnabledForClientsOnly** + */ +export type HostpoolPublicNetworkAccess = string; + /** Known values of {@link SessionHostComponentUpdateType} that the service accepts. */ export enum KnownSessionHostComponentUpdateType { /** Agent and other agent side components are delivery schedule is controlled by WVD Infra. */ @@ -1557,27 +2111,27 @@ export type UpdateState = string; /** Known values of {@link HealthCheckName} that the service accepts. */ export enum KnownHealthCheckName { - /** Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. */ + /** Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled) */ DomainJoinedCheck = "DomainJoinedCheck", - /** Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. */ + /** Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled) */ DomainTrustCheck = "DomainTrustCheck", - /** Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. */ + /** Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled) */ FSLogixHealthCheck = "FSLogixHealthCheck", - /** Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. */ + /** Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled) */ SxSStackListenerCheck = "SxSStackListenerCheck", - /** Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). */ + /** Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled) */ UrlsAccessibleCheck = "UrlsAccessibleCheck", - /** Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. */ + /** Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled) */ MonitoringAgentCheck = "MonitoringAgentCheck", - /** Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. */ + /** Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled) */ DomainReachable = "DomainReachable", - /** Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. */ + /** Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled) */ WebRTCRedirectorCheck = "WebRTCRedirectorCheck", - /** Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. */ + /** Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled) */ SupportedEncryptionCheck = "SupportedEncryptionCheck", - /** Verifies the metadata service is accessible and return compute properties. */ + /** Verifies the metadata service is accessible and return compute properties. (Currently Enabled) */ MetaDataServiceCheck = "MetaDataServiceCheck", - /** Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. */ + /** Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled) */ AppAttachHealthCheck = "AppAttachHealthCheck" } @@ -1586,17 +2140,17 @@ export enum KnownHealthCheckName { * {@link KnownHealthCheckName} can be used interchangeably with HealthCheckName, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **DomainJoinedCheck**: Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. \ - * **DomainTrustCheck**: Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. \ - * **FSLogixHealthCheck**: Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. \ - * **SxSStackListenerCheck**: Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. \ - * **UrlsAccessibleCheck**: Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). \ - * **MonitoringAgentCheck**: Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. \ - * **DomainReachable**: Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. \ - * **WebRTCRedirectorCheck**: Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. \ - * **SupportedEncryptionCheck**: Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. \ - * **MetaDataServiceCheck**: Verifies the metadata service is accessible and return compute properties. \ - * **AppAttachHealthCheck**: Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. + * **DomainJoinedCheck**: Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled) \ + * **DomainTrustCheck**: Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled) \ + * **FSLogixHealthCheck**: Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled) \ + * **SxSStackListenerCheck**: Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled) \ + * **UrlsAccessibleCheck**: Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled) \ + * **MonitoringAgentCheck**: Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled) \ + * **DomainReachable**: Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled) \ + * **WebRTCRedirectorCheck**: Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled) \ + * **SupportedEncryptionCheck**: Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled) \ + * **MetaDataServiceCheck**: Verifies the metadata service is accessible and return compute properties. (Currently Enabled) \ + * **AppAttachHealthCheck**: Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled) */ export type HealthCheckName = string; @@ -1623,6 +2177,102 @@ export enum KnownHealthCheckResult { * **SessionHostShutdown**: We received a Shutdown notification. */ export type HealthCheckResult = string; + +/** Known values of {@link AppAttachPackageArchitectures} that the service accepts. */ +export enum KnownAppAttachPackageArchitectures { + /** ARM */ + ARM = "ARM", + /** ARM64 */ + ARM64 = "ARM64", + /** X86 */ + X86 = "x86", + /** X64 */ + X64 = "x64", + /** Neutral */ + Neutral = "Neutral", + /** X86A64 */ + X86A64 = "x86a64", + /** ALL */ + ALL = "ALL" +} + +/** + * Defines values for AppAttachPackageArchitectures. \ + * {@link KnownAppAttachPackageArchitectures} can be used interchangeably with AppAttachPackageArchitectures, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ARM** \ + * **ARM64** \ + * **x86** \ + * **x64** \ + * **Neutral** \ + * **x86a64** \ + * **ALL** + */ +export type AppAttachPackageArchitectures = string; + +/** Known values of {@link ProvisioningState} that the service accepts. */ +export enum KnownProvisioningState { + /** Succeeded */ + Succeeded = "Succeeded", + /** Provisioning */ + Provisioning = "Provisioning", + /** Failed */ + Failed = "Failed", + /** Canceled */ + Canceled = "Canceled" +} + +/** + * Defines values for ProvisioningState. \ + * {@link KnownProvisioningState} can be used interchangeably with ProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Provisioning** \ + * **Failed** \ + * **Canceled** + */ +export type ProvisioningState = string; + +/** Known values of {@link PackageTimestamped} that the service accepts. */ +export enum KnownPackageTimestamped { + /** Timestamped */ + Timestamped = "Timestamped", + /** NotTimestamped */ + NotTimestamped = "NotTimestamped" +} + +/** + * Defines values for PackageTimestamped. \ + * {@link KnownPackageTimestamped} can be used interchangeably with PackageTimestamped, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Timestamped** \ + * **NotTimestamped** + */ +export type PackageTimestamped = string; + +/** Known values of {@link FailHealthCheckOnStagingFailure} that the service accepts. */ +export enum KnownFailHealthCheckOnStagingFailure { + /** Unhealthy */ + Unhealthy = "Unhealthy", + /** NeedsAssistance */ + NeedsAssistance = "NeedsAssistance", + /** DoNotFail */ + DoNotFail = "DoNotFail" +} + +/** + * Defines values for FailHealthCheckOnStagingFailure. \ + * {@link KnownFailHealthCheckOnStagingFailure} can be used interchangeably with FailHealthCheckOnStagingFailure, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Unhealthy** \ + * **NeedsAssistance** \ + * **DoNotFail** + */ +export type FailHealthCheckOnStagingFailure = string; /** Defines values for SkuTier. */ export type SkuTier = "Free" | "Basic" | "Standard" | "Premium"; /** Defines values for DayOfWeek. */ @@ -1712,6 +2362,119 @@ export interface WorkspacesListBySubscriptionNextOptionalParams /** Contains response data for the listBySubscriptionNext operation. */ export type WorkspacesListBySubscriptionNextResponse = WorkspaceList; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspace operation. */ +export type PrivateEndpointConnectionsListByWorkspaceResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByWorkspace operation. */ +export type PrivateEndpointConnectionsGetByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateByWorkspace operation. */ +export type PrivateEndpointConnectionsUpdateByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByHostPoolOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByHostPool operation. */ +export type PrivateEndpointConnectionsListByHostPoolResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByHostPool operation. */ +export type PrivateEndpointConnectionsGetByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateByHostPool operation. */ +export type PrivateEndpointConnectionsUpdateByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspaceNext operation. */ +export type PrivateEndpointConnectionsListByWorkspaceNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type PrivateEndpointConnectionsListByHostPoolNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByWorkspaceOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByWorkspace operation. */ +export type PrivateLinkResourcesListByWorkspaceResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByHostPoolOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByHostPool operation. */ +export type PrivateLinkResourcesListByHostPoolResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspaceNext operation. */ +export type PrivateLinkResourcesListByWorkspaceNextResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type PrivateLinkResourcesListByHostPoolNextResponse = PrivateLinkResourceListResult; + /** Optional parameters. */ export interface ScalingPlansGetOptionalParams extends coreClient.OperationOptions {} @@ -1852,6 +2615,55 @@ export interface ScalingPlanPooledSchedulesListNextOptionalParams /** Contains response data for the listNext operation. */ export type ScalingPlanPooledSchedulesListNextResponse = ScalingPlanPooledScheduleList; +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ScalingPlanPersonalSchedulesGetResponse = ScalingPlanPersonalSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type ScalingPlanPersonalSchedulesCreateResponse = ScalingPlanPersonalSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesUpdateOptionalParams + extends coreClient.OperationOptions { + /** Object containing ScalingPlanPersonalSchedule definitions. */ + scalingPlanSchedule?: ScalingPlanPersonalSchedulePatch; +} + +/** Contains response data for the update operation. */ +export type ScalingPlanPersonalSchedulesUpdateResponse = ScalingPlanPersonalSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesListOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the list operation. */ +export type ScalingPlanPersonalSchedulesListResponse = ScalingPlanPersonalScheduleList; + +/** Optional parameters. */ +export interface ScalingPlanPersonalSchedulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ScalingPlanPersonalSchedulesListNextResponse = ScalingPlanPersonalScheduleList; + /** Optional parameters. */ export interface ApplicationGroupsGetOptionalParams extends coreClient.OperationOptions {} @@ -2273,6 +3085,20 @@ export interface MsixPackagesListNextOptionalParams /** Contains response data for the listNext operation. */ export type MsixPackagesListNextResponse = MsixPackageList; +/** Optional parameters. */ +export interface AppAttachPackageInfoImportOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the import operation. */ +export type AppAttachPackageInfoImportResponse = AppAttachPackageList; + +/** Optional parameters. */ +export interface AppAttachPackageInfoImportNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the importNext operation. */ +export type AppAttachPackageInfoImportNextResponse = AppAttachPackageList; + /** Optional parameters. */ export interface MsixImagesExpandOptionalParams extends coreClient.OperationOptions {} @@ -2287,6 +3113,71 @@ export interface MsixImagesExpandNextOptionalParams /** Contains response data for the expandNext operation. */ export type MsixImagesExpandNextResponse = ExpandMsixImageList; +/** Optional parameters. */ +export interface AppAttachPackageGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type AppAttachPackageGetResponse = AppAttachPackage; + +/** Optional parameters. */ +export interface AppAttachPackageCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type AppAttachPackageCreateOrUpdateResponse = AppAttachPackage; + +/** Optional parameters. */ +export interface AppAttachPackageDeleteOptionalParams + extends coreClient.OperationOptions { + /** Force flag to delete App Attach package. */ + force?: boolean; +} + +/** Optional parameters. */ +export interface AppAttachPackageUpdateOptionalParams + extends coreClient.OperationOptions { + /** Object containing App Attach Package definition. */ + appAttachPackagePatch?: AppAttachPackagePatch; +} + +/** Contains response data for the update operation. */ +export type AppAttachPackageUpdateResponse = AppAttachPackage; + +/** Optional parameters. */ +export interface AppAttachPackageListByResourceGroupOptionalParams + extends coreClient.OperationOptions { + /** OData filter expression. Valid properties for filtering are package name and host pool. */ + filter?: string; +} + +/** Contains response data for the listByResourceGroup operation. */ +export type AppAttachPackageListByResourceGroupResponse = AppAttachPackageList; + +/** Optional parameters. */ +export interface AppAttachPackageListBySubscriptionOptionalParams + extends coreClient.OperationOptions { + /** OData filter expression. Valid properties for filtering are package name, host pool, and resource group. */ + filter?: string; +} + +/** Contains response data for the listBySubscription operation. */ +export type AppAttachPackageListBySubscriptionResponse = AppAttachPackageList; + +/** Optional parameters. */ +export interface AppAttachPackageListByResourceGroupNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByResourceGroupNext operation. */ +export type AppAttachPackageListByResourceGroupNextResponse = AppAttachPackageList; + +/** Optional parameters. */ +export interface AppAttachPackageListBySubscriptionNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listBySubscriptionNext operation. */ +export type AppAttachPackageListBySubscriptionNextResponse = AppAttachPackageList; + /** Optional parameters. */ export interface DesktopVirtualizationAPIClientOptionalParams extends coreClient.ServiceClientOptions { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts index 29c1798f190e..eba2ff81cb94 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts @@ -250,6 +250,79 @@ export const SystemData: coreClient.CompositeMapper = { } }; +export const PrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const ResourceModelWithAllowedPropertySet: coreClient.CompositeMapper = { type: { name: "Composite", @@ -484,6 +557,68 @@ export const WorkspacePatch: coreClient.CompositeMapper = { } } } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionListResultWithSystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResultWithSystemData", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnectionWithSystemData" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } @@ -611,7 +746,7 @@ export const ScalingSchedule: coreClient.CompositeMapper = { rampDownCapacityThresholdPct: { constraints: { InclusiveMaximum: 100, - InclusiveMinimum: 0 + InclusiveMinimum: 1 }, serializedName: "rampDownCapacityThresholdPct", type: { @@ -803,36 +938,6 @@ export const ScalingPlanList: coreClient.CompositeMapper = { } }; -export const Resource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Resource", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String" - } - }, - name: { - serializedName: "name", - readOnly: true, - type: { - name: "String" - } - }, - type: { - serializedName: "type", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - export const ScalingPlanPooledScheduleList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -861,124 +966,359 @@ export const ScalingPlanPooledScheduleList: coreClient.CompositeMapper = { } }; -export const ApplicationGroupList: coreClient.CompositeMapper = { +export const ScalingPlanPersonalSchedulePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroupList", + className: "ScalingPlanPersonalSchedulePatch", modelProperties: { - value: { - serializedName: "value", + daysOfWeek: { + serializedName: "properties.daysOfWeek", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "ApplicationGroup" + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] } } } }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - -export const StartMenuItemList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "StartMenuItemList", - modelProperties: { - value: { - serializedName: "value", + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "StartMenuItem" - } - } + name: "Composite", + className: "Time" } }, - nextLink: { - serializedName: "nextLink", - readOnly: true, + rampUpAutoStartHosts: { + serializedName: "properties.rampUpAutoStartHosts", type: { name: "String" } - } - } - } -}; - -export const ApplicationPatch: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ApplicationPatch", - modelProperties: { - tags: { - serializedName: "tags", + }, + rampUpStartVMOnConnect: { + serializedName: "properties.rampUpStartVMOnConnect", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "String" } }, - description: { - serializedName: "properties.description", + rampUpActionOnDisconnect: { + serializedName: "properties.rampUpActionOnDisconnect", type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + rampUpMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnDisconnect", type: { - name: "String" + name: "Number" } }, - filePath: { - serializedName: "properties.filePath", + rampUpActionOnLogoff: { + serializedName: "properties.rampUpActionOnLogoff", type: { name: "String" } }, - commandLineSetting: { - serializedName: "properties.commandLineSetting", + rampUpMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnLogoff", type: { - name: "String" + name: "Number" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + peakStartTime: { + serializedName: "properties.peakStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - showInPortal: { - serializedName: "properties.showInPortal", + peakStartVMOnConnect: { + serializedName: "properties.peakStartVMOnConnect", type: { - name: "Boolean" + name: "String" } }, - iconPath: { - serializedName: "properties.iconPath", + peakActionOnDisconnect: { + serializedName: "properties.peakActionOnDisconnect", type: { name: "String" } }, - iconIndex: { - serializedName: "properties.iconIndex", + peakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnDisconnect", type: { name: "Number" } }, - msixPackageFamilyName: { - serializedName: "properties.msixPackageFamilyName", + peakActionOnLogoff: { + serializedName: "properties.peakActionOnLogoff", + type: { + name: "String" + } + }, + peakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnLogoff", + type: { + name: "Number" + } + }, + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + rampDownStartVMOnConnect: { + serializedName: "properties.rampDownStartVMOnConnect", + type: { + name: "String" + } + }, + rampDownActionOnDisconnect: { + serializedName: "properties.rampDownActionOnDisconnect", + type: { + name: "String" + } + }, + rampDownMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + rampDownActionOnLogoff: { + serializedName: "properties.rampDownActionOnLogoff", + type: { + name: "String" + } + }, + rampDownMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnLogoff", + type: { + name: "Number" + } + }, + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + offPeakStartVMOnConnect: { + serializedName: "properties.offPeakStartVMOnConnect", + type: { + name: "String" + } + }, + offPeakActionOnDisconnect: { + serializedName: "properties.offPeakActionOnDisconnect", + type: { + name: "String" + } + }, + offPeakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + offPeakActionOnLogoff: { + serializedName: "properties.offPeakActionOnLogoff", + type: { + name: "String" + } + }, + offPeakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnLogoff", + type: { + name: "Number" + } + } + } + } +}; + +export const ScalingPlanPersonalScheduleList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlanPersonalScheduleList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingPlanPersonalSchedule" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ApplicationGroupList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroupList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ApplicationGroup" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const StartMenuItemList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StartMenuItemList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "StartMenuItem" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const ApplicationPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationPatch", + modelProperties: { + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + filePath: { + serializedName: "properties.filePath", + type: { + name: "String" + } + }, + commandLineSetting: { + serializedName: "properties.commandLineSetting", + type: { + name: "String" + } + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String" + } + }, + showInPortal: { + serializedName: "properties.showInPortal", + type: { + name: "Boolean" + } + }, + iconPath: { + serializedName: "properties.iconPath", + type: { + name: "String" + } + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number" + } + }, + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", nullable: true, type: { name: "String" @@ -1521,13 +1861,20 @@ export const MsixPackageList: coreClient.CompositeMapper = { } }; -export const MsixImageURI: coreClient.CompositeMapper = { +export const ImportPackageInfoRequest: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixImageURI", + className: "ImportPackageInfoRequest", modelProperties: { - uri: { - serializedName: "uri", + path: { + serializedName: "path", + type: { + name: "String" + } + }, + packageArchitecture: { + serializedName: "packageArchitecture", + nullable: true, type: { name: "String" } @@ -1536,10 +1883,10 @@ export const MsixImageURI: coreClient.CompositeMapper = { } }; -export const ExpandMsixImageList: coreClient.CompositeMapper = { +export const AppAttachPackageList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandMsixImageList", + className: "AppAttachPackageList", modelProperties: { value: { serializedName: "value", @@ -1548,7 +1895,7 @@ export const ExpandMsixImageList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "ExpandMsixImage" + className: "AppAttachPackage" } } } @@ -1564,61 +1911,27 @@ export const ExpandMsixImageList: coreClient.CompositeMapper = { } }; -export const SendMessage: coreClient.CompositeMapper = { +export const AppAttachPackageProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SendMessage", + className: "AppAttachPackageProperties", modelProperties: { - messageTitle: { - serializedName: "messageTitle", + provisioningState: { + serializedName: "provisioningState", + readOnly: true, type: { name: "String" } }, - messageBody: { - serializedName: "messageBody", + image: { + serializedName: "image", type: { - name: "String" - } - } - } - } -}; - -export const Workspace: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Workspace", - modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, - type: { - name: "String" - } - }, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - friendlyName: { - serializedName: "properties.friendlyName", - type: { - name: "String" + name: "Composite", + className: "AppAttachPackageInfoProperties" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", + hostPoolReferences: { + serializedName: "hostPoolReferences", type: { name: "Sequence", element: { @@ -1628,343 +1941,424 @@ export const Workspace: coreClient.CompositeMapper = { } } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + keyVaultURL: { + serializedName: "keyVaultURL", type: { - name: "Boolean" + name: "String" + } + }, + failHealthCheckOnStagingFailure: { + serializedName: "failHealthCheckOnStagingFailure", + type: { + name: "String" } } } } }; -export const ScalingPlan: coreClient.CompositeMapper = { +export const AppAttachPackageInfoProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlan", + className: "AppAttachPackageInfoProperties", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + packageAlias: { + serializedName: "packageAlias", type: { - name: "Composite", - className: "SystemData" + name: "String" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + imagePath: { + serializedName: "imagePath", type: { name: "String" } }, - description: { - serializedName: "properties.description", + packageName: { + serializedName: "packageName", type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + packageFamilyName: { + serializedName: "packageFamilyName", type: { name: "String" } }, - timeZone: { - serializedName: "properties.timeZone", - required: true, + packageFullName: { + serializedName: "packageFullName", type: { name: "String" } }, - hostPoolType: { - defaultValue: "Pooled", - serializedName: "properties.hostPoolType", + displayName: { + serializedName: "displayName", + nullable: true, type: { name: "String" } }, - exclusionTag: { - serializedName: "properties.exclusionTag", + packageRelativePath: { + serializedName: "packageRelativePath", type: { name: "String" } }, - schedules: { - serializedName: "properties.schedules", + isRegularRegistration: { + serializedName: "isRegularRegistration", + type: { + name: "Boolean" + } + }, + isActive: { + serializedName: "isActive", + type: { + name: "Boolean" + } + }, + packageDependencies: { + serializedName: "packageDependencies", + nullable: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "ScalingSchedule" + className: "MsixPackageDependencies" } } } }, - hostPoolReferences: { - serializedName: "properties.hostPoolReferences", + version: { + serializedName: "version", + type: { + name: "String" + } + }, + lastUpdated: { + serializedName: "lastUpdated", + type: { + name: "DateTime" + } + }, + packageApplications: { + serializedName: "packageApplications", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ScalingHostPoolReference" + className: "MsixPackageApplications" } } } - } - } - } -}; - -export const ApplicationGroup: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ApplicationGroup", - modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + certificateName: { + serializedName: "certificateName", + nullable: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + certificateExpiry: { + serializedName: "certificateExpiry", + nullable: true, type: { - name: "String" + name: "DateTime" } }, - friendlyName: { - serializedName: "properties.friendlyName", + isPackageTimestamped: { + serializedName: "isPackageTimestamped", + nullable: true, type: { name: "String" } - }, - hostPoolArmPath: { - serializedName: "properties.hostPoolArmPath", - required: true, + } + } + } +}; + +export const ResourceAutoGenerated: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceAutoGenerated", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, type: { name: "String" } }, - workspaceArmPath: { - serializedName: "properties.workspaceArmPath", + name: { + serializedName: "name", readOnly: true, type: { name: "String" } }, - applicationGroupType: { - serializedName: "properties.applicationGroupType", - required: true, + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + systemData: { + serializedName: "systemData", type: { - name: "Boolean" + name: "Composite", + className: "SystemData" } } } } }; -export const HostPool: coreClient.CompositeMapper = { +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPool", + className: "ErrorResponse", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + error: { + serializedName: "error", type: { name: "Composite", - className: "SystemData" + className: "ErrorDetail" } - }, - objectId: { - serializedName: "properties.objectId", + } + } + } +}; + +export const ErrorDetail: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + serializedName: "code", readOnly: true, type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + message: { + serializedName: "message", + readOnly: true, type: { name: "String" } }, - description: { - serializedName: "properties.description", + target: { + serializedName: "target", + readOnly: true, type: { name: "String" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", - required: true, + details: { + serializedName: "details", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorDetail" + } + } } }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + additionalInfo: { + serializedName: "additionalInfo", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo" + } + } } - }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + } + } + } +}; + +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, type: { name: "String" } }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", + info: { + serializedName: "info", + readOnly: true, type: { - name: "Number" + name: "Dictionary", + value: { type: { name: "any" } } } - }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", - required: true, + } + } + } +}; + +export const MsixImageURI: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MsixImageURI", + modelProperties: { + uri: { + serializedName: "uri", type: { name: "String" } - }, - ring: { - serializedName: "properties.ring", - type: { - name: "Number" - } - }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", - type: { - name: "Boolean" - } - }, - registrationInfo: { - serializedName: "properties.registrationInfo", - type: { - name: "Composite", - className: "RegistrationInfo" - } - }, - vmTemplate: { - serializedName: "properties.vmTemplate", - type: { - name: "String" - } - }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", - readOnly: true, + } + } + } +}; + +export const ExpandMsixImageList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandMsixImageList", + modelProperties: { + value: { + serializedName: "value", type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "ExpandMsixImage" } } } }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } - }, - ssoClientId: { - serializedName: "properties.ssoClientId", + } + } + } +}; + +export const AppAttachPackagePatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AppAttachPackagePatch", + modelProperties: { + properties: { + serializedName: "properties", type: { - name: "String" + name: "Composite", + className: "AppAttachPackageProperties" } - }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + } + } + } +}; + +export const SendMessage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SendMessage", + modelProperties: { + messageTitle: { + serializedName: "messageTitle", type: { name: "String" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + messageBody: { + serializedName: "messageBody", type: { name: "String" } - }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", - required: true, + } + } + } +}; + +export const PrivateEndpointConnection: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnection", + modelProperties: { + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { - name: "String" + name: "Composite", + className: "PrivateEndpoint" } }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "Boolean" + name: "Composite", + className: "PrivateLinkServiceConnectionState" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", + provisioningState: { + serializedName: "properties.provisioningState", readOnly: true, type: { - name: "Boolean" - } - }, - agentUpdate: { - serializedName: "properties.agentUpdate", - type: { - name: "Composite", - className: "AgentUpdateProperties" + name: "String" } } } } }; -export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", - modelProperties: { - ...Identity.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", - modelProperties: { - ...Sku.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { +export const PrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", + className: "PrivateLinkResource", modelProperties: { - ...Plan.type.modelProperties + ...Resource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, + type: { + name: "String" + } + }, + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } } } }; @@ -2074,7 +2468,7 @@ export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { rampDownCapacityThresholdPct: { constraints: { InclusiveMaximum: 100, - InclusiveMinimum: 0 + InclusiveMinimum: 1 }, serializedName: "properties.rampDownCapacityThresholdPct", type: { @@ -2220,7 +2614,7 @@ export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { rampDownCapacityThresholdPct: { constraints: { InclusiveMaximum: 100, - InclusiveMinimum: 0 + InclusiveMinimum: 1 }, serializedName: "properties.rampDownCapacityThresholdPct", type: { @@ -2268,6 +2662,16 @@ export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { } }; +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + export const ApplicationGroupPatch: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2292,6 +2696,12 @@ export const ApplicationGroupPatch: coreClient.CompositeMapper = { type: { name: "String" } + }, + showInFeed: { + serializedName: "properties.showInFeed", + type: { + name: "Boolean" + } } } } @@ -2604,6 +3014,12 @@ export const HostPoolPatch: coreClient.CompositeMapper = { name: "Boolean" } }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + }, agentUpdate: { serializedName: "properties.agentUpdate", type: { @@ -3049,6 +3465,733 @@ export const ExpandMsixImage: coreClient.CompositeMapper = { } } } + }, + certificateName: { + serializedName: "properties.certificateName", + nullable: true, + type: { + name: "String" + } + }, + certificateExpiry: { + serializedName: "properties.certificateExpiry", + nullable: true, + type: { + name: "DateTime" + } + } + } + } +}; + +export const Workspace: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Workspace", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + } + } + } +}; + +export const ScalingPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlan", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + timeZone: { + serializedName: "properties.timeZone", + required: true, + type: { + name: "String" + } + }, + hostPoolType: { + defaultValue: "Pooled", + serializedName: "properties.hostPoolType", + type: { + name: "String" + } + }, + exclusionTag: { + serializedName: "properties.exclusionTag", + type: { + name: "String" + } + }, + schedules: { + serializedName: "properties.schedules", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingSchedule" + } + } + } + }, + hostPoolReferences: { + serializedName: "properties.hostPoolReferences", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingHostPoolReference" + } + } + } + } + } + } +}; + +export const ApplicationGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroup", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + hostPoolArmPath: { + serializedName: "properties.hostPoolArmPath", + required: true, + type: { + name: "String" + } + }, + workspaceArmPath: { + serializedName: "properties.workspaceArmPath", + readOnly: true, + type: { + name: "String" + } + }, + applicationGroupType: { + serializedName: "properties.applicationGroupType", + required: true, + type: { + name: "String" + } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } + }, + showInFeed: { + serializedName: "properties.showInFeed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const HostPool: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HostPool", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + hostPoolType: { + serializedName: "properties.hostPoolType", + required: true, + type: { + name: "String" + } + }, + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", + type: { + name: "String" + } + }, + customRdpProperty: { + serializedName: "properties.customRdpProperty", + type: { + name: "String" + } + }, + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", + type: { + name: "Number" + } + }, + loadBalancerType: { + serializedName: "properties.loadBalancerType", + required: true, + type: { + name: "String" + } + }, + ring: { + serializedName: "properties.ring", + type: { + name: "Number" + } + }, + validationEnvironment: { + serializedName: "properties.validationEnvironment", + type: { + name: "Boolean" + } + }, + registrationInfo: { + serializedName: "properties.registrationInfo", + type: { + name: "Composite", + className: "RegistrationInfo" + } + }, + vmTemplate: { + serializedName: "properties.vmTemplate", + type: { + name: "String" + } + }, + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + appAttachPackageReferences: { + serializedName: "properties.appAttachPackageReferences", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", + type: { + name: "String" + } + }, + ssoClientId: { + serializedName: "properties.ssoClientId", + type: { + name: "String" + } + }, + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", + type: { + name: "String" + } + }, + ssoSecretType: { + serializedName: "properties.ssoSecretType", + type: { + name: "String" + } + }, + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", + required: true, + type: { + name: "String" + } + }, + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", + type: { + name: "Boolean" + } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + }, + agentUpdate: { + serializedName: "properties.agentUpdate", + type: { + name: "Composite", + className: "AgentUpdateProperties" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } + } + } + } + } +}; + +export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceModelWithAllowedPropertySetIdentity", + modelProperties: { + ...Identity.type.modelProperties + } + } +}; + +export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceModelWithAllowedPropertySetSku", + modelProperties: { + ...Sku.type.modelProperties + } + } +}; + +export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceModelWithAllowedPropertySetPlan", + modelProperties: { + ...Plan.type.modelProperties + } + } +}; + +export const TrackedResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "TrackedResource", + modelProperties: { + ...ResourceAutoGenerated.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } + }, + location: { + serializedName: "location", + required: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionWithSystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionWithSystemData", + modelProperties: { + ...PrivateEndpointConnection.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; + +export const ScalingPlanPersonalSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlanPersonalSchedule", + modelProperties: { + ...ProxyResource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + daysOfWeek: { + serializedName: "properties.daysOfWeek", + type: { + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } + } + }, + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + rampUpAutoStartHosts: { + serializedName: "properties.rampUpAutoStartHosts", + type: { + name: "String" + } + }, + rampUpStartVMOnConnect: { + serializedName: "properties.rampUpStartVMOnConnect", + type: { + name: "String" + } + }, + rampUpActionOnDisconnect: { + serializedName: "properties.rampUpActionOnDisconnect", + type: { + name: "String" + } + }, + rampUpMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + rampUpActionOnLogoff: { + serializedName: "properties.rampUpActionOnLogoff", + type: { + name: "String" + } + }, + rampUpMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnLogoff", + type: { + name: "Number" + } + }, + peakStartTime: { + serializedName: "properties.peakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + peakStartVMOnConnect: { + serializedName: "properties.peakStartVMOnConnect", + type: { + name: "String" + } + }, + peakActionOnDisconnect: { + serializedName: "properties.peakActionOnDisconnect", + type: { + name: "String" + } + }, + peakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + peakActionOnLogoff: { + serializedName: "properties.peakActionOnLogoff", + type: { + name: "String" + } + }, + peakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnLogoff", + type: { + name: "Number" + } + }, + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + rampDownStartVMOnConnect: { + serializedName: "properties.rampDownStartVMOnConnect", + type: { + name: "String" + } + }, + rampDownActionOnDisconnect: { + serializedName: "properties.rampDownActionOnDisconnect", + type: { + name: "String" + } + }, + rampDownMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + rampDownActionOnLogoff: { + serializedName: "properties.rampDownActionOnLogoff", + type: { + name: "String" + } + }, + rampDownMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnLogoff", + type: { + name: "Number" + } + }, + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + offPeakStartVMOnConnect: { + serializedName: "properties.offPeakStartVMOnConnect", + type: { + name: "String" + } + }, + offPeakActionOnDisconnect: { + serializedName: "properties.offPeakActionOnDisconnect", + type: { + name: "String" + } + }, + offPeakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnDisconnect", + type: { + name: "Number" + } + }, + offPeakActionOnLogoff: { + serializedName: "properties.offPeakActionOnLogoff", + type: { + name: "String" + } + }, + offPeakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnLogoff", + type: { + name: "Number" + } + } + } + } +}; + +export const AppAttachPackage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AppAttachPackage", + modelProperties: { + ...TrackedResource.type.modelProperties, + properties: { + serializedName: "properties", + type: { + name: "Composite", + className: "AppAttachPackageProperties" + } } } } diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 7cc22c45f4b9..8378d30c05d7 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts @@ -14,10 +14,13 @@ import { import { Workspace as WorkspaceMapper, WorkspacePatch as WorkspacePatchMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, ScalingPlan as ScalingPlanMapper, ScalingPlanPatch as ScalingPlanPatchMapper, ScalingPlanPooledSchedule as ScalingPlanPooledScheduleMapper, ScalingPlanPooledSchedulePatch as ScalingPlanPooledSchedulePatchMapper, + ScalingPlanPersonalSchedule as ScalingPlanPersonalScheduleMapper, + ScalingPlanPersonalSchedulePatch as ScalingPlanPersonalSchedulePatchMapper, ApplicationGroup as ApplicationGroupMapper, ApplicationGroupPatch as ApplicationGroupPatchMapper, Application as ApplicationMapper, @@ -29,7 +32,10 @@ import { SessionHostPatch as SessionHostPatchMapper, MsixPackage as MsixPackageMapper, MsixPackagePatch as MsixPackagePatchMapper, - MsixImageURI as MsixImageURIMapper + ImportPackageInfoRequest as ImportPackageInfoRequestMapper, + MsixImageURI as MsixImageURIMapper, + AppAttachPackage as AppAttachPackageMapper, + AppAttachPackagePatch as AppAttachPackagePatchMapper } from "../models/mappers"; export const accept: OperationParameter = { @@ -59,7 +65,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-09-09", + defaultValue: "2023-10-04-preview", isConstant: true, serializedName: "api-version", type: { @@ -176,14 +182,10 @@ export const initialSkip: OperationQueryParameter = { } }; -export const scalingPlanName: OperationURLParameter = { - parameterPath: "scalingPlanName", +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { - constraints: { - MaxLength: 64, - MinLength: 3 - }, - serializedName: "scalingPlanName", + serializedName: "privateEndpointConnectionName", required: true, type: { name: "String" @@ -191,14 +193,9 @@ export const scalingPlanName: OperationURLParameter = { } }; -export const scalingPlan: OperationParameter = { - parameterPath: "scalingPlan", - mapper: ScalingPlanMapper -}; - -export const scalingPlan1: OperationParameter = { - parameterPath: ["options", "scalingPlan"], - mapper: ScalingPlanPatchMapper +export const connection: OperationParameter = { + parameterPath: "connection", + mapper: PrivateEndpointConnectionMapper }; export const hostPoolName: OperationURLParameter = { @@ -216,6 +213,31 @@ export const hostPoolName: OperationURLParameter = { } }; +export const scalingPlanName: OperationURLParameter = { + parameterPath: "scalingPlanName", + mapper: { + constraints: { + MaxLength: 64, + MinLength: 3 + }, + serializedName: "scalingPlanName", + required: true, + type: { + name: "String" + } + } +}; + +export const scalingPlan: OperationParameter = { + parameterPath: "scalingPlan", + mapper: ScalingPlanMapper +}; + +export const scalingPlan1: OperationParameter = { + parameterPath: ["options", "scalingPlan"], + mapper: ScalingPlanPatchMapper +}; + export const scalingPlanScheduleName: OperationURLParameter = { parameterPath: "scalingPlanScheduleName", mapper: { @@ -241,6 +263,16 @@ export const scalingPlanSchedule1: OperationParameter = { mapper: ScalingPlanPooledSchedulePatchMapper }; +export const scalingPlanSchedule2: OperationParameter = { + parameterPath: "scalingPlanSchedule", + mapper: ScalingPlanPersonalScheduleMapper +}; + +export const scalingPlanSchedule3: OperationParameter = { + parameterPath: ["options", "scalingPlanSchedule"], + mapper: ScalingPlanPersonalSchedulePatchMapper +}; + export const applicationGroupName: OperationURLParameter = { parameterPath: "applicationGroupName", mapper: { @@ -406,7 +438,38 @@ export const msixPackage1: OperationParameter = { mapper: MsixPackagePatchMapper }; +export const importPackageInfoRequest: OperationParameter = { + parameterPath: "importPackageInfoRequest", + mapper: ImportPackageInfoRequestMapper +}; + export const msixImageURI: OperationParameter = { parameterPath: "msixImageURI", mapper: MsixImageURIMapper }; + +export const appAttachPackageName: OperationURLParameter = { + parameterPath: "appAttachPackageName", + mapper: { + constraints: { + Pattern: new RegExp("^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$"), + MaxLength: 100, + MinLength: 3 + }, + serializedName: "appAttachPackageName", + required: true, + type: { + name: "String" + } + } +}; + +export const appAttachPackage: OperationParameter = { + parameterPath: "appAttachPackage", + mapper: AppAttachPackageMapper +}; + +export const appAttachPackagePatch: OperationParameter = { + parameterPath: ["options", "appAttachPackagePatch"], + mapper: AppAttachPackagePatchMapper +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageInfo.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageInfo.ts new file mode 100644 index 000000000000..246b816037f4 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageInfo.ts @@ -0,0 +1,225 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AppAttachPackageInfo } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + AppAttachPackage, + ImportPackageInfoRequest, + AppAttachPackageInfoImportNextOptionalParams, + AppAttachPackageInfoImportOptionalParams, + AppAttachPackageInfoImportResponse, + AppAttachPackageInfoImportNextResponse +} from "../models"; + +/// +/** Class containing AppAttachPackageInfo operations. */ +export class AppAttachPackageInfoImpl implements AppAttachPackageInfo { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class AppAttachPackageInfo class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * Gets information from a package given the path to the package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param importPackageInfoRequest Object containing URI to package image and other optional properties + * @param options The options parameters. + */ + public listImport( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + options?: AppAttachPackageInfoImportOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.importPagingAll( + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.importPagingPage( + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + options, + settings + ); + } + }; + } + + private async *importPagingPage( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + options?: AppAttachPackageInfoImportOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AppAttachPackageInfoImportResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._import( + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._importNext( + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *importPagingAll( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + options?: AppAttachPackageInfoImportOptionalParams + ): AsyncIterableIterator { + for await (const page of this.importPagingPage( + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + options + )) { + yield* page; + } + } + + /** + * Gets information from a package given the path to the package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param importPackageInfoRequest Object containing URI to package image and other optional properties + * @param options The options parameters. + */ + private _import( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + options?: AppAttachPackageInfoImportOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, importPackageInfoRequest, options }, + importOperationSpec + ); + } + + /** + * ImportNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param importPackageInfoRequest Object containing URI to package image and other optional properties + * @param nextLink The nextLink from the previous successful call to the Import method. + * @param options The options parameters. + */ + private _importNext( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + nextLink: string, + options?: AppAttachPackageInfoImportNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + importPackageInfoRequest, + nextLink, + options + }, + importNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const importOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/importAppAttachPackageInfo", + httpMethod: "POST", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.importPackageInfoRequest, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const importNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts new file mode 100644 index 000000000000..0488e03fe4e0 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts @@ -0,0 +1,475 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { AppAttachPackageOperations } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + AppAttachPackage, + AppAttachPackageListByResourceGroupNextOptionalParams, + AppAttachPackageListByResourceGroupOptionalParams, + AppAttachPackageListByResourceGroupResponse, + AppAttachPackageListBySubscriptionNextOptionalParams, + AppAttachPackageListBySubscriptionOptionalParams, + AppAttachPackageListBySubscriptionResponse, + AppAttachPackageGetOptionalParams, + AppAttachPackageGetResponse, + AppAttachPackageCreateOrUpdateOptionalParams, + AppAttachPackageCreateOrUpdateResponse, + AppAttachPackageDeleteOptionalParams, + AppAttachPackageUpdateOptionalParams, + AppAttachPackageUpdateResponse, + AppAttachPackageListByResourceGroupNextResponse, + AppAttachPackageListBySubscriptionNextResponse +} from "../models"; + +/// +/** Class containing AppAttachPackageOperations operations. */ +export class AppAttachPackageOperationsImpl + implements AppAttachPackageOperations { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class AppAttachPackageOperations class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List App Attach packages in resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + public listByResourceGroup( + resourceGroupName: string, + options?: AppAttachPackageListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByResourceGroupPagingAll(resourceGroupName, options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByResourceGroupPagingPage( + resourceGroupName, + options, + settings + ); + } + }; + } + + private async *listByResourceGroupPagingPage( + resourceGroupName: string, + options?: AppAttachPackageListByResourceGroupOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AppAttachPackageListByResourceGroupResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByResourceGroup(resourceGroupName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByResourceGroupNext( + resourceGroupName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByResourceGroupPagingAll( + resourceGroupName: string, + options?: AppAttachPackageListByResourceGroupOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByResourceGroupPagingPage( + resourceGroupName, + options + )) { + yield* page; + } + } + + /** + * List App Attach packages in subscription. + * @param options The options parameters. + */ + public listBySubscription( + options?: AppAttachPackageListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listBySubscriptionPagingAll(options); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listBySubscriptionPagingPage(options, settings); + } + }; + } + + private async *listBySubscriptionPagingPage( + options?: AppAttachPackageListBySubscriptionOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: AppAttachPackageListBySubscriptionResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listBySubscription(options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listBySubscriptionNext(continuationToken, options); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listBySubscriptionPagingAll( + options?: AppAttachPackageListBySubscriptionOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listBySubscriptionPagingPage(options)) { + yield* page; + } + } + + /** + * Get an app attach package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + get( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, appAttachPackageName, options }, + getOperationSpec + ); + } + + /** + * Create or update an App Attach package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param appAttachPackage Object containing App Attach Package definitions. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + appAttachPackageName: string, + appAttachPackage: AppAttachPackage, + options?: AppAttachPackageCreateOrUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, appAttachPackageName, appAttachPackage, options }, + createOrUpdateOperationSpec + ); + } + + /** + * Remove an App Attach Package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, appAttachPackageName, options }, + deleteOperationSpec + ); + } + + /** + * Update an App Attach Package + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + update( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, appAttachPackageName, options }, + updateOperationSpec + ); + } + + /** + * List App Attach packages in resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + private _listByResourceGroup( + resourceGroupName: string, + options?: AppAttachPackageListByResourceGroupOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, options }, + listByResourceGroupOperationSpec + ); + } + + /** + * List App Attach packages in subscription. + * @param options The options parameters. + */ + private _listBySubscription( + options?: AppAttachPackageListBySubscriptionOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { options }, + listBySubscriptionOperationSpec + ); + } + + /** + * ListByResourceGroupNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param nextLink The nextLink from the previous successful call to the ListByResourceGroup method. + * @param options The options parameters. + */ + private _listByResourceGroupNext( + resourceGroupName: string, + nextLink: string, + options?: AppAttachPackageListByResourceGroupNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, nextLink, options }, + listByResourceGroupNextOperationSpec + ); + } + + /** + * ListBySubscriptionNext + * @param nextLink The nextLink from the previous successful call to the ListBySubscription method. + * @param options The options parameters. + */ + private _listBySubscriptionNext( + nextLink: string, + options?: AppAttachPackageListBySubscriptionNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { nextLink, options }, + listBySubscriptionNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackage + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.appAttachPackageName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackage + }, + 201: { + bodyMapper: Mappers.AppAttachPackage + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.appAttachPackage, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.appAttachPackageName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion, Parameters.force], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.appAttachPackageName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackage + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + requestBody: Parameters.appAttachPackagePatch, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.appAttachPackageName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByResourceGroupOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/appAttachPackages", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + queryParameters: [Parameters.apiVersion, Parameters.filter], + urlParameters: [Parameters.$host, Parameters.subscriptionId], + headerParameters: [Parameters.accept], + serializer +}; +const listByResourceGroupNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listBySubscriptionNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.AppAttachPackageList + }, + default: { + bodyMapper: Mappers.ErrorResponse + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts index 0c7bb50adcdd..a34bae2d819a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts @@ -8,8 +8,11 @@ export * from "./operations"; export * from "./workspaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; export * from "./scalingPlans"; export * from "./scalingPlanPooledSchedules"; +export * from "./scalingPlanPersonalSchedules"; export * from "./applicationGroups"; export * from "./startMenuItems"; export * from "./applications"; @@ -18,4 +21,6 @@ export * from "./hostPools"; export * from "./userSessions"; export * from "./sessionHosts"; export * from "./msixPackages"; +export * from "./appAttachPackageInfo"; export * from "./msixImages"; +export * from "./appAttachPackageOperations"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..f501e282c80c --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts @@ -0,0 +1,682 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + PrivateEndpointConnectionWithSystemData, + PrivateEndpointConnectionsListByWorkspaceNextOptionalParams, + PrivateEndpointConnectionsListByWorkspaceOptionalParams, + PrivateEndpointConnectionsListByWorkspaceResponse, + PrivateEndpointConnectionsListByHostPoolNextOptionalParams, + PrivateEndpointConnectionsListByHostPoolOptionalParams, + PrivateEndpointConnectionsListByHostPoolResponse, + PrivateEndpointConnectionsGetByWorkspaceOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceResponse, + PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams, + PrivateEndpointConnection, + PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams, + PrivateEndpointConnectionsUpdateByWorkspaceResponse, + PrivateEndpointConnectionsGetByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByHostPoolResponse, + PrivateEndpointConnectionsDeleteByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolResponse, + PrivateEndpointConnectionsListByWorkspaceNextResponse, + PrivateEndpointConnectionsListByHostPoolNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + public listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByWorkspacePagingAll( + resourceGroupName, + workspaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options, + settings + ); + } + }; + } + + private async *listByWorkspacePagingPage( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateEndpointConnectionsListByWorkspaceResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByWorkspace( + resourceGroupName, + workspaceName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByWorkspaceNext( + resourceGroupName, + workspaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByWorkspacePagingAll( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options + )) { + yield* page; + } + } + + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings + ); + } + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateEndpointConnectionsListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options + )) { + yield* page; + } + } + + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + private _listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, options }, + listByWorkspaceOperationSpec + ); + } + + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + options + }, + getByWorkspaceOperationSpec + ); + } + + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + options + }, + deleteByWorkspaceOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + connection, + options + }, + updateByWorkspaceOperationSpec + ); + } + + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec + ); + } + + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + options + }, + getByHostPoolOperationSpec + ); + } + + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + options + }, + deleteByHostPoolOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + connection, + options + }, + updateByHostPoolOperationSpec + ); + } + + /** + * ListByWorkspaceNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param nextLink The nextLink from the previous successful call to the ListByWorkspace method. + * @param options The options parameters. + */ + private _listByWorkspaceNext( + resourceGroupName: string, + workspaceName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, nextLink, options }, + listByWorkspaceNextOperationSpec + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByHostPoolNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.connection, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.connection, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..8ffc104d6c7f --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts @@ -0,0 +1,379 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByWorkspaceNextOptionalParams, + PrivateLinkResourcesListByWorkspaceOptionalParams, + PrivateLinkResourcesListByWorkspaceResponse, + PrivateLinkResourcesListByHostPoolNextOptionalParams, + PrivateLinkResourcesListByHostPoolOptionalParams, + PrivateLinkResourcesListByHostPoolResponse, + PrivateLinkResourcesListByWorkspaceNextResponse, + PrivateLinkResourcesListByHostPoolNextResponse +} from "../models"; + +/// +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + public listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByWorkspacePagingAll( + resourceGroupName, + workspaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options, + settings + ); + } + }; + } + + private async *listByWorkspacePagingPage( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateLinkResourcesListByWorkspaceResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByWorkspace( + resourceGroupName, + workspaceName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByWorkspaceNext( + resourceGroupName, + workspaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByWorkspacePagingAll( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options + )) { + yield* page; + } + } + + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings + ); + } + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateLinkResourcesListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options + )) { + yield* page; + } + } + + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + private _listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, options }, + listByWorkspaceOperationSpec + ); + } + + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec + ); + } + + /** + * ListByWorkspaceNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param nextLink The nextLink from the previous successful call to the ListByWorkspace method. + * @param options The options parameters. + */ + private _listByWorkspaceNext( + resourceGroupName: string, + workspaceName: string, + nextLink: string, + options?: PrivateLinkResourcesListByWorkspaceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, nextLink, options }, + listByWorkspaceNextOperationSpec + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: PrivateLinkResourcesListByHostPoolNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPersonalSchedules.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPersonalSchedules.ts new file mode 100644 index 000000000000..3e37b4ba3d8e --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPersonalSchedules.ts @@ -0,0 +1,393 @@ +/* + * 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 { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ScalingPlanPersonalSchedules } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + ScalingPlanPersonalSchedule, + ScalingPlanPersonalSchedulesListNextOptionalParams, + ScalingPlanPersonalSchedulesListOptionalParams, + ScalingPlanPersonalSchedulesListResponse, + ScalingPlanPersonalSchedulesGetOptionalParams, + ScalingPlanPersonalSchedulesGetResponse, + ScalingPlanPersonalSchedulesCreateOptionalParams, + ScalingPlanPersonalSchedulesCreateResponse, + ScalingPlanPersonalSchedulesDeleteOptionalParams, + ScalingPlanPersonalSchedulesUpdateOptionalParams, + ScalingPlanPersonalSchedulesUpdateResponse, + ScalingPlanPersonalSchedulesListNextResponse +} from "../models"; + +/// +/** Class containing ScalingPlanPersonalSchedules operations. */ +export class ScalingPlanPersonalSchedulesImpl + implements ScalingPlanPersonalSchedules { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class ScalingPlanPersonalSchedules class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List ScalingPlanPersonalSchedules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param options The options parameters. + */ + public list( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPersonalSchedulesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + scalingPlanName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listPagingPage( + resourceGroupName, + scalingPlanName, + options, + settings + ); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPersonalSchedulesListOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: ScalingPlanPersonalSchedulesListResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._list(resourceGroupName, scalingPlanName, options); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + scalingPlanName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listPagingAll( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPersonalSchedulesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + scalingPlanName, + options + )) { + yield* page; + } + } + + /** + * Get a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + get( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + getOperationSpec + ); + } + + /** + * Create or update a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param scalingPlanSchedule Object containing ScalingPlanPersonalSchedule definitions. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + scalingPlanSchedule: ScalingPlanPersonalSchedule, + options?: ScalingPlanPersonalSchedulesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + scalingPlanName, + scalingPlanScheduleName, + scalingPlanSchedule, + options + }, + createOperationSpec + ); + } + + /** + * Remove a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + deleteOperationSpec + ); + } + + /** + * Update a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + update( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + updateOperationSpec + ); + } + + /** + * List ScalingPlanPersonalSchedules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param options The options parameters. + */ + private _list( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPersonalSchedulesListOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, options }, + listOperationSpec + ); + } + + /** + * ListNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param nextLink The nextLink from the previous successful call to the List method. + * @param options The options parameters. + */ + private _listNext( + resourceGroupName: string, + scalingPlanName: string, + nextLink: string, + options?: ScalingPlanPersonalSchedulesListNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, nextLink, options }, + listNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPersonalSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName, + Parameters.scalingPlanScheduleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const createOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPersonalSchedule + }, + 201: { + bodyMapper: Mappers.ScalingPlanPersonalSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.scalingPlanSchedule2, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName, + Parameters.scalingPlanScheduleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const deleteOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName, + Parameters.scalingPlanScheduleName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPersonalSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.scalingPlanSchedule3, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName, + Parameters.scalingPlanScheduleName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPersonalScheduleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPersonalScheduleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.scalingPlanName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageInfo.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageInfo.ts new file mode 100644 index 000000000000..c210f69e6760 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageInfo.ts @@ -0,0 +1,32 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AppAttachPackage, + ImportPackageInfoRequest, + AppAttachPackageInfoImportOptionalParams +} from "../models"; + +/// +/** Interface representing a AppAttachPackageInfo. */ +export interface AppAttachPackageInfo { + /** + * Gets information from a package given the path to the package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param importPackageInfoRequest Object containing URI to package image and other optional properties + * @param options The options parameters. + */ + listImport( + resourceGroupName: string, + hostPoolName: string, + importPackageInfoRequest: ImportPackageInfoRequest, + options?: AppAttachPackageInfoImportOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts new file mode 100644 index 000000000000..83859ed92a93 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts @@ -0,0 +1,88 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + AppAttachPackage, + AppAttachPackageListByResourceGroupOptionalParams, + AppAttachPackageListBySubscriptionOptionalParams, + AppAttachPackageGetOptionalParams, + AppAttachPackageGetResponse, + AppAttachPackageCreateOrUpdateOptionalParams, + AppAttachPackageCreateOrUpdateResponse, + AppAttachPackageDeleteOptionalParams, + AppAttachPackageUpdateOptionalParams, + AppAttachPackageUpdateResponse +} from "../models"; + +/// +/** Interface representing a AppAttachPackageOperations. */ +export interface AppAttachPackageOperations { + /** + * List App Attach packages in resource group. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param options The options parameters. + */ + listByResourceGroup( + resourceGroupName: string, + options?: AppAttachPackageListByResourceGroupOptionalParams + ): PagedAsyncIterableIterator; + /** + * List App Attach packages in subscription. + * @param options The options parameters. + */ + listBySubscription( + options?: AppAttachPackageListBySubscriptionOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get an app attach package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + get( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageGetOptionalParams + ): Promise; + /** + * Create or update an App Attach package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param appAttachPackage Object containing App Attach Package definitions. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + appAttachPackageName: string, + appAttachPackage: AppAttachPackage, + options?: AppAttachPackageCreateOrUpdateOptionalParams + ): Promise; + /** + * Remove an App Attach Package. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageDeleteOptionalParams + ): Promise; + /** + * Update an App Attach Package + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param appAttachPackageName The name of the App Attach package arm object + * @param options The options parameters. + */ + update( + resourceGroupName: string, + appAttachPackageName: string, + options?: AppAttachPackageUpdateOptionalParams + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts index 0c7bb50adcdd..a34bae2d819a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts @@ -8,8 +8,11 @@ export * from "./operations"; export * from "./workspaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; export * from "./scalingPlans"; export * from "./scalingPlanPooledSchedules"; +export * from "./scalingPlanPersonalSchedules"; export * from "./applicationGroups"; export * from "./startMenuItems"; export * from "./applications"; @@ -18,4 +21,6 @@ export * from "./hostPools"; export * from "./userSessions"; export * from "./sessionHosts"; export * from "./msixPackages"; +export * from "./appAttachPackageInfo"; export * from "./msixImages"; +export * from "./appAttachPackageOperations"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..b450c877a7c2 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,140 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateEndpointConnectionWithSystemData, + PrivateEndpointConnectionsListByWorkspaceOptionalParams, + PrivateEndpointConnectionsListByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceResponse, + PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams, + PrivateEndpointConnection, + PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams, + PrivateEndpointConnectionsUpdateByWorkspaceResponse, + PrivateEndpointConnectionsGetByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByHostPoolResponse, + PrivateEndpointConnectionsDeleteByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams + ): Promise; + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + ): Promise; + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams + ): Promise; + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..655405c596ee --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,41 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByWorkspaceOptionalParams, + PrivateLinkResourcesListByHostPoolOptionalParams +} from "../models"; + +/// +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPersonalSchedules.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPersonalSchedules.ts new file mode 100644 index 000000000000..7b6f21c6e30a --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPersonalSchedules.ts @@ -0,0 +1,90 @@ +/* + * 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 { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ScalingPlanPersonalSchedule, + ScalingPlanPersonalSchedulesListOptionalParams, + ScalingPlanPersonalSchedulesGetOptionalParams, + ScalingPlanPersonalSchedulesGetResponse, + ScalingPlanPersonalSchedulesCreateOptionalParams, + ScalingPlanPersonalSchedulesCreateResponse, + ScalingPlanPersonalSchedulesDeleteOptionalParams, + ScalingPlanPersonalSchedulesUpdateOptionalParams, + ScalingPlanPersonalSchedulesUpdateResponse +} from "../models"; + +/// +/** Interface representing a ScalingPlanPersonalSchedules. */ +export interface ScalingPlanPersonalSchedules { + /** + * List ScalingPlanPersonalSchedules. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param options The options parameters. + */ + list( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPersonalSchedulesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + get( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesGetOptionalParams + ): Promise; + /** + * Create or update a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param scalingPlanSchedule Object containing ScalingPlanPersonalSchedule definitions. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + scalingPlanSchedule: ScalingPlanPersonalSchedule, + options?: ScalingPlanPersonalSchedulesCreateOptionalParams + ): Promise; + /** + * Remove a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + delete( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesDeleteOptionalParams + ): Promise; + /** + * Update a ScalingPlanPersonalSchedule. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param scalingPlanName The name of the scaling plan. + * @param scalingPlanScheduleName The name of the ScalingPlanSchedule + * @param options The options parameters. + */ + update( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + options?: ScalingPlanPersonalSchedulesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json index 02d427ad910e..3e6ae96443f3 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-desktopvirtualization": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"