From 9bfd64d8d9dae5414a0ae565ee9323e3cceeb77f Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Wed, 27 Sep 2023 18:29:37 +0000 Subject: [PATCH] CodeGen from PR 25990 in Azure/azure-rest-api-specs Merge 0a29e425902a227cc2e0ee6bfad2fef36e7aa7fa into 5a87d16c995b295007087d9a0b3a5050d3eeb22d --- common/config/rush/pnpm-lock.yaml | 13 +- .../arm-desktopvirtualization/CHANGELOG.md | 91 +- .../arm-desktopvirtualization/_meta.json | 8 +- .../arm-desktopvirtualization/package.json | 28 +- .../review/arm-desktopvirtualization.api.md | 369 +++ .../src/desktopVirtualizationAPIClient.ts | 18 +- .../src/models/index.ts | 928 +++++-- .../src/models/mappers.ts | 2367 +++++++++++------ .../src/models/parameters.ts | 61 +- .../src/operations/index.ts | 3 + .../operations/privateEndpointConnections.ts | 682 +++++ .../src/operations/privateLinkResources.ts | 379 +++ .../scalingPlanPersonalSchedules.ts | 393 +++ .../src/operationsInterfaces/index.ts | 3 + .../privateEndpointConnections.ts | 140 + .../privateLinkResources.ts | 41 + .../scalingPlanPersonalSchedules.ts | 90 + .../arm-desktopvirtualization/tsconfig.json | 10 +- 18 files changed, 4537 insertions(+), 1087 deletions(-) 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/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 53e5e3aa0493..91f8024c4e48 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -4613,7 +4613,7 @@ packages: dependencies: semver: 7.5.4 shelljs: 0.8.5 - typescript: 5.3.0-dev.20230926 + typescript: 5.3.0-dev.20230927 dev: false /eastasianwidth@0.2.0: @@ -9424,8 +9424,8 @@ packages: hasBin: true dev: false - /typescript@5.3.0-dev.20230926: - resolution: {integrity: sha512-Di7UazUfEeXHROiWH/D24zvK848YbcJAvO3CKEoQK4d3WSNxkbqWW5ipmr8SF6srpZ1achwisBGUI1HFbttRZQ==} + /typescript@5.3.0-dev.20230927: + resolution: {integrity: sha512-FHoT/nbOZjlXfK1yYTtCVT6yOp7Y9Vab/8Do4KiEGl3jI6rxPD7d1ssB/5vlH4ZXZ//0DW96vsvp/OUyjxCqgA==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -12664,7 +12664,7 @@ packages: dev: false file:projects/arm-desktopvirtualization.tgz: - resolution: {integrity: sha512-1MPZlABP3Wu2ncpIVJQPs6cLnd48rLmGZYKSlZskkv/RMVB8t8RxvxOwnaLLXoT9vCwgfFdvo8UjNItaNZ0tZQ==, 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: @@ -12680,8 +12680,8 @@ packages: 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.1 rollup: 2.79.1 rollup-plugin-sourcemaps: 0.6.3(@types/node@14.18.56)(rollup@2.79.1) ts-node: 10.9.1(@types/node@14.18.56)(typescript@5.0.4) @@ -12691,6 +12691,7 @@ packages: transitivePeerDependencies: - '@swc/core' - '@swc/wasm' + - supports-color dev: false file:projects/arm-devcenter.tgz: diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index 79d4623d1053..0b0f0be75b8b 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,84 @@ # Release History + +## 1.1.0 (2023-09-27) + +**Features** -## 1.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation group PrivateEndpointConnections + - Added operation group PrivateLinkResources + - Added operation group ScalingPlanPersonalSchedules + - 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 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 Type Alias HostpoolPublicNetworkAccess + - 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 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 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 KnownHostpoolPublicNetworkAccess + - Added Enum KnownPrivateEndpointConnectionProvisioningState + - Added Enum KnownPrivateEndpointServiceConnectionStatus + - 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/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index 96a0a2ff2627..d0815a36f62f 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "4f4044394791773e6e7e82a9bd90d3935caaca1b", + "commit": "7b99d88798aa1ba10cbcc9fd0aa978869ecb5610", "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 b0577e1ec5d6..295c0609f71f 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DesktopVirtualizationAPIClient.", - "version": "1.0.1", + "version": "1.1.0", "engines": { "node": ">=14.0.0" }, @@ -11,7 +11,7 @@ "@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": "^14.0.0", - "@azure/dev-tool": "^1.0.0", - "ts-node": "^10.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..015d7bef8d52 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -51,6 +51,7 @@ export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { friendlyName?: string; hostPoolArmPath: string; readonly objectId?: string; + showInFeed?: boolean; readonly systemData?: SystemData; readonly workspaceArmPath?: string; } @@ -65,6 +66,7 @@ export interface ApplicationGroupList { export interface ApplicationGroupPatch extends Resource { description?: string; friendlyName?: string; + showInFeed?: boolean; tags?: { [propertyName: string]: string; }; @@ -327,6 +329,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; @@ -395,6 +403,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 +433,7 @@ export interface HostPoolPatch extends Resource { maxSessionLimit?: number; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType?: PreferredAppGroupType; + publicNetworkAccess?: HostpoolPublicNetworkAccess; registrationInfo?: RegistrationInfoPatch; ring?: number; ssoadfsAuthority?: string; @@ -437,6 +448,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; @@ -576,6 +590,14 @@ export enum KnownHealthCheckResult { Unknown = "Unknown" } +// @public +export enum KnownHostpoolPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled", + EnabledForClientsOnly = "EnabledForClientsOnly", + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly" +} + // @public export enum KnownHostPoolType { BYODesktop = "BYODesktop", @@ -603,6 +625,27 @@ 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 KnownPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownRegistrationTokenOperation { Delete = "Delete", @@ -632,6 +675,13 @@ export enum KnownScalingScheduleDaysOfWeekItem { Wednesday = "Wednesday" } +// @public +export enum KnownSessionHandlingOperation { + Deallocate = "Deallocate", + Hibernate = "Hibernate", + None = "None" +} + // @public export enum KnownSessionHostComponentUpdateType { Default = "Default", @@ -654,6 +704,12 @@ export enum KnownSessionState { UserProfileDiskMounted = "UserProfileDiskMounted" } +// @public +export enum KnownSetStartVMOnConnect { + Disable = "Disable", + Enable = "Enable" +} + // @public export enum KnownSSOSecretType { Certificate = "Certificate", @@ -662,6 +718,13 @@ export enum KnownSSOSecretType { SharedKeyInKeyVault = "SharedKeyInKeyVault" } +// @public +export enum KnownStartupBehavior { + All = "All", + None = "None", + WithAssignedUser = "WithAssignedUser" +} + // @public export enum KnownStatus { Available = "Available", @@ -877,6 +940,181 @@ 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 interface ProxyResource extends Resource { +} + +// @public +export type PublicNetworkAccess = string; + // @public export interface RegistrationInfo { expirationTime?: Date; @@ -998,6 +1236,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 +1580,9 @@ export interface ServiceSpecification { logSpecifications?: LogSpecification[]; } +// @public +export type SessionHandlingOperation = string; + // @public export interface SessionHost extends Resource { agentVersion?: string; @@ -1327,6 +1687,9 @@ export type SessionHostsUpdateResponse = SessionHost; // @public export type SessionState = string; +// @public +export type SetStartVMOnConnect = string; + // @public export interface Sku { capacity?: number; @@ -1379,6 +1742,9 @@ export interface StartMenuItemsListOptionalParams extends coreClient.OperationOp // @public export type StartMenuItemsListResponse = StartMenuItemList; +// @public +export type StartupBehavior = string; + // @public export type Status = string; @@ -1494,6 +1860,8 @@ export interface Workspace extends ResourceModelWithAllowedPropertySet { description?: string; friendlyName?: string; readonly objectId?: string; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + publicNetworkAccess?: PublicNetworkAccess; readonly systemData?: SystemData; } @@ -1508,6 +1876,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..73f19ad6193e 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, @@ -32,8 +35,11 @@ import { import { Operations, Workspaces, + PrivateEndpointConnections, + PrivateLinkResources, ScalingPlans, ScalingPlanPooledSchedules, + ScalingPlanPersonalSchedules, ApplicationGroups, StartMenuItems, Applications, @@ -78,7 +84,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`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -131,11 +137,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-09-05"; 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); @@ -178,8 +189,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; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts index 33b1598d1327..51a5cad5d64d 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. @@ -587,157 +697,35 @@ export interface SendMessage { messageBody?: string; } -/** 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; -} - -/** 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; +/** 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; + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; } -/** 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; +/** A private link resource */ +export interface PrivateLinkResource extends Resource { /** - * List of applicationGroup links. + * The private link resource group id. * 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 groupId?: string; /** - * Is cloud pc resource. + * The private link resource required member names. * 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 requiredMembers?: string[]; + /** The private link resource Private link DNS zone name. */ + requiredZoneNames?: string[]; } -export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} - -export interface ResourceModelWithAllowedPropertySetSku extends Sku {} - -export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} - /** Represents a ScalingPlanPooledSchedule definition. */ export interface ScalingPlanPooledSchedule extends Resource { /** @@ -819,6 +807,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 +818,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 +946,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; } @@ -1123,23 +1118,261 @@ export interface ExpandMsixImage extends Resource { packageApplications?: MsixPackageApplications[]; } -/** Known values of {@link CreatedByType} that the service accepts. */ -export enum KnownCreatedByType { - /** User */ - User = "User", - /** Application */ - Application = "Application", - /** ManagedIdentity */ - ManagedIdentity = "ManagedIdentity", - /** Key */ - Key = "Key" +/** 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[]; } -/** - * 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 +/** 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[]; + /** 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[]; +} + +export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} + +export interface ResourceModelWithAllowedPropertySetSku extends Sku {} + +export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} + +/** 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; +} + +/** 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** \ @@ -1147,6 +1380,69 @@ export enum KnownCreatedByType { */ 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 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 + * **Succeeded** \ + * **Creating** \ + * **Deleting** \ + * **Failed** + */ +export type PrivateEndpointConnectionProvisioningState = string; + /** Known values of {@link ScalingHostPoolType} that the service accepts. */ export enum KnownScalingHostPoolType { /** Users get a new (random) SessionHost every time it connects to the HostPool. */ @@ -1231,6 +1527,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 +1770,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 +1937,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 +1966,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; @@ -1712,6 +2092,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 +2345,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 {} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts index 29c1798f190e..2824f25d99a1 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" @@ -1585,40 +1925,53 @@ export const SendMessage: coreClient.CompositeMapper = { } }; -export const Workspace: coreClient.CompositeMapper = { +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Workspace", + className: "PrivateEndpointConnection", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { name: "Composite", - className: "SystemData" + className: "PrivateEndpoint" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkServiceConnectionState" } }, - description: { - serializedName: "properties.description", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } - }, - friendlyName: { - serializedName: "properties.friendlyName", + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...Resource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, type: { name: "String" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { name: "Sequence", element: { @@ -1628,23 +1981,411 @@ export const Workspace: coreClient.CompositeMapper = { } } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } +}; + +export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlanPooledSchedule", + modelProperties: { + ...Resource.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" + } + }, + rampUpLoadBalancingAlgorithm: { + serializedName: "properties.rampUpLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampUpMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinimumHostsPct", + type: { + name: "Number" + } + }, + rampUpCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampUpCapacityThresholdPct", + type: { + name: "Number" + } + }, + peakStartTime: { + serializedName: "properties.peakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + peakLoadBalancingAlgorithm: { + serializedName: "properties.peakLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + rampDownLoadBalancingAlgorithm: { + serializedName: "properties.rampDownLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampDownMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinimumHostsPct", + type: { + name: "Number" + } + }, + rampDownCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampDownCapacityThresholdPct", + type: { + name: "Number" + } + }, + rampDownForceLogoffUsers: { + serializedName: "properties.rampDownForceLogoffUsers", type: { name: "Boolean" } + }, + rampDownStopHostsWhen: { + serializedName: "properties.rampDownStopHostsWhen", + type: { + name: "String" + } + }, + rampDownWaitTimeMinutes: { + serializedName: "properties.rampDownWaitTimeMinutes", + type: { + name: "Number" + } + }, + rampDownNotificationMessage: { + serializedName: "properties.rampDownNotificationMessage", + type: { + name: "String" + } + }, + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + offPeakLoadBalancingAlgorithm: { + serializedName: "properties.offPeakLoadBalancingAlgorithm", + type: { + name: "String" + } } } } }; -export const ScalingPlan: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlan", + className: "ScalingPlanPooledSchedulePatch", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, + 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" + } + }, + rampUpLoadBalancingAlgorithm: { + serializedName: "properties.rampUpLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampUpMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinimumHostsPct", + type: { + name: "Number" + } + }, + rampUpCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampUpCapacityThresholdPct", + type: { + name: "Number" + } + }, + peakStartTime: { + serializedName: "properties.peakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + peakLoadBalancingAlgorithm: { + serializedName: "properties.peakLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + rampDownLoadBalancingAlgorithm: { + serializedName: "properties.rampDownLoadBalancingAlgorithm", + type: { + name: "String" + } + }, + rampDownMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinimumHostsPct", + type: { + name: "Number" + } + }, + rampDownCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampDownCapacityThresholdPct", + type: { + name: "Number" + } + }, + rampDownForceLogoffUsers: { + serializedName: "properties.rampDownForceLogoffUsers", + type: { + name: "Boolean" + } + }, + rampDownStopHostsWhen: { + serializedName: "properties.rampDownStopHostsWhen", + type: { + name: "String" + } + }, + rampDownWaitTimeMinutes: { + serializedName: "properties.rampDownWaitTimeMinutes", + type: { + name: "Number" + } + }, + rampDownNotificationMessage: { + serializedName: "properties.rampDownNotificationMessage", + type: { + name: "String" + } + }, + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + offPeakLoadBalancingAlgorithm: { + serializedName: "properties.offPeakLoadBalancingAlgorithm", + type: { + name: "String" + } + } + } + } +}; + +export const ProxyResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ProxyResource", + modelProperties: { + ...Resource.type.modelProperties + } + } +}; + +export const ApplicationGroupPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroupPatch", + modelProperties: { + ...Resource.type.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" + } + }, + showInFeed: { + serializedName: "properties.showInFeed", + type: { + name: "Boolean" + } + } + } + } +}; + +export const StartMenuItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StartMenuItem", + modelProperties: { + ...Resource.type.modelProperties, + appAlias: { + serializedName: "properties.appAlias", + type: { + name: "String" + } + }, + filePath: { + serializedName: "properties.filePath", + type: { + name: "String" + } + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String" + } + }, + iconPath: { + serializedName: "properties.iconPath", + type: { + name: "String" + } + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number" + } + } + } + } +}; + +export const Application: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Application", + modelProperties: { + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1671,60 +2412,87 @@ export const ScalingPlan: coreClient.CompositeMapper = { name: "String" } }, - timeZone: { - serializedName: "properties.timeZone", - required: true, + filePath: { + serializedName: "properties.filePath", + type: { + name: "String" + } + }, + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", + nullable: true, + type: { + name: "String" + } + }, + msixPackageApplicationId: { + serializedName: "properties.msixPackageApplicationId", + nullable: true, + type: { + name: "String" + } + }, + applicationType: { + serializedName: "properties.applicationType", + type: { + name: "String" + } + }, + commandLineSetting: { + serializedName: "properties.commandLineSetting", + required: true, + type: { + name: "String" + } + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String" + } + }, + showInPortal: { + serializedName: "properties.showInPortal", type: { - name: "String" + name: "Boolean" } }, - hostPoolType: { - defaultValue: "Pooled", - serializedName: "properties.hostPoolType", + iconPath: { + serializedName: "properties.iconPath", type: { name: "String" } }, - exclusionTag: { - serializedName: "properties.exclusionTag", + iconIndex: { + serializedName: "properties.iconIndex", type: { - name: "String" + name: "Number" } }, - schedules: { - serializedName: "properties.schedules", + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingSchedule" - } - } + name: "String" } }, - hostPoolReferences: { - serializedName: "properties.hostPoolReferences", + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingHostPoolReference" - } - } + name: "ByteArray" } } } } }; -export const ApplicationGroup: coreClient.CompositeMapper = { +export const Desktop: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroup", + className: "Desktop", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1751,56 +2519,35 @@ export const ApplicationGroup: coreClient.CompositeMapper = { name: "String" } }, - hostPoolArmPath: { - serializedName: "properties.hostPoolArmPath", - required: true, - type: { - name: "String" - } - }, - workspaceArmPath: { - serializedName: "properties.workspaceArmPath", + iconHash: { + serializedName: "properties.iconHash", readOnly: true, type: { name: "String" } }, - applicationGroupType: { - serializedName: "properties.applicationGroupType", - required: true, - type: { - name: "String" - } - }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", + iconContent: { + serializedName: "properties.iconContent", readOnly: true, type: { - name: "Boolean" + name: "ByteArray" } } } } }; -export const HostPool: coreClient.CompositeMapper = { +export const HostPoolPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPool", + className: "HostPoolPatch", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, friendlyName: { @@ -1815,19 +2562,6 @@ export const HostPool: coreClient.CompositeMapper = { name: "String" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", - required: true, - type: { - name: "String" - } - }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", - type: { - name: "String" - } - }, customRdpProperty: { serializedName: "properties.customRdpProperty", type: { @@ -1840,9 +2574,14 @@ export const HostPool: coreClient.CompositeMapper = { name: "Number" } }, + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", + type: { + name: "String" + } + }, loadBalancerType: { serializedName: "properties.loadBalancerType", - required: true, type: { name: "String" } @@ -1863,426 +2602,267 @@ export const HostPool: coreClient.CompositeMapper = { serializedName: "properties.registrationInfo", type: { name: "Composite", - className: "RegistrationInfo" + className: "RegistrationInfoPatch" } }, vmTemplate: { serializedName: "properties.vmTemplate", type: { - name: "String" - } - }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", - 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" - } - }, - agentUpdate: { - serializedName: "properties.agentUpdate", - type: { - name: "Composite", - className: "AgentUpdateProperties" - } - } - } - } -}; - -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 ScalingPlanPooledSchedule: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ScalingPlanPooledSchedule", - modelProperties: { - ...Resource.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" + name: "String" } }, - rampUpLoadBalancingAlgorithm: { - serializedName: "properties.rampUpLoadBalancingAlgorithm", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { name: "String" } }, - rampUpMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampUpMinimumHostsPct", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { - name: "Number" + name: "String" } }, - rampUpCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1 - }, - serializedName: "properties.rampUpCapacityThresholdPct", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { - name: "Number" + name: "String" } }, - peakStartTime: { - serializedName: "properties.peakStartTime", + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { - name: "Composite", - className: "Time" + name: "String" } }, - peakLoadBalancingAlgorithm: { - serializedName: "properties.peakLoadBalancingAlgorithm", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", type: { name: "String" } }, - rampDownStartTime: { - serializedName: "properties.rampDownStartTime", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", type: { - name: "Composite", - className: "Time" + name: "Boolean" } }, - rampDownLoadBalancingAlgorithm: { - serializedName: "properties.rampDownLoadBalancingAlgorithm", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - rampDownMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownMinimumHostsPct", + agentUpdate: { + serializedName: "properties.agentUpdate", type: { - name: "Number" + name: "Composite", + className: "AgentUpdatePatchProperties" } - }, - rampDownCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownCapacityThresholdPct", + } + } + } +}; + +export const UserSession: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserSession", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", type: { - name: "Number" + name: "Composite", + className: "SystemData" } }, - rampDownForceLogoffUsers: { - serializedName: "properties.rampDownForceLogoffUsers", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - rampDownStopHostsWhen: { - serializedName: "properties.rampDownStopHostsWhen", + userPrincipalName: { + serializedName: "properties.userPrincipalName", type: { name: "String" } }, - rampDownWaitTimeMinutes: { - serializedName: "properties.rampDownWaitTimeMinutes", + applicationType: { + serializedName: "properties.applicationType", type: { - name: "Number" + name: "String" } }, - rampDownNotificationMessage: { - serializedName: "properties.rampDownNotificationMessage", + sessionState: { + serializedName: "properties.sessionState", type: { name: "String" } }, - offPeakStartTime: { - serializedName: "properties.offPeakStartTime", + activeDirectoryUserName: { + serializedName: "properties.activeDirectoryUserName", type: { - name: "Composite", - className: "Time" + name: "String" } }, - offPeakLoadBalancingAlgorithm: { - serializedName: "properties.offPeakLoadBalancingAlgorithm", + createTime: { + serializedName: "properties.createTime", type: { - name: "String" + name: "DateTime" } } } } }; -export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { +export const SessionHost: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlanPooledSchedulePatch", + className: "SessionHost", modelProperties: { ...Resource.type.modelProperties, - daysOfWeek: { - serializedName: "properties.daysOfWeek", + systemData: { + serializedName: "systemData", type: { - name: "Sequence", - element: { - type: { - name: "Enum", - allowedValues: [ - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ] - } - } + name: "Composite", + className: "SystemData" } }, - rampUpStartTime: { - serializedName: "properties.rampUpStartTime", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { - name: "Composite", - className: "Time" + name: "String" } }, - rampUpLoadBalancingAlgorithm: { - serializedName: "properties.rampUpLoadBalancingAlgorithm", + lastHeartBeat: { + serializedName: "properties.lastHeartBeat", type: { - name: "String" + name: "DateTime" } }, - rampUpMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampUpMinimumHostsPct", + sessions: { + serializedName: "properties.sessions", type: { name: "Number" } }, - rampUpCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1 - }, - serializedName: "properties.rampUpCapacityThresholdPct", + agentVersion: { + serializedName: "properties.agentVersion", type: { - name: "Number" + name: "String" } }, - peakStartTime: { - serializedName: "properties.peakStartTime", + allowNewSession: { + serializedName: "properties.allowNewSession", type: { - name: "Composite", - className: "Time" + name: "Boolean" } }, - peakLoadBalancingAlgorithm: { - serializedName: "properties.peakLoadBalancingAlgorithm", + virtualMachineId: { + serializedName: "properties.virtualMachineId", + readOnly: true, type: { name: "String" } }, - rampDownStartTime: { - serializedName: "properties.rampDownStartTime", + resourceId: { + serializedName: "properties.resourceId", + readOnly: true, type: { - name: "Composite", - className: "Time" + name: "String" } }, - rampDownLoadBalancingAlgorithm: { - serializedName: "properties.rampDownLoadBalancingAlgorithm", + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } }, - rampDownMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownMinimumHostsPct", + friendlyName: { + serializedName: "properties.friendlyName", type: { - name: "Number" + name: "String" } }, - rampDownCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownCapacityThresholdPct", + status: { + serializedName: "properties.status", type: { - name: "Number" + name: "String" } }, - rampDownForceLogoffUsers: { - serializedName: "properties.rampDownForceLogoffUsers", + statusTimestamp: { + serializedName: "properties.statusTimestamp", + readOnly: true, type: { - name: "Boolean" + name: "DateTime" } }, - rampDownStopHostsWhen: { - serializedName: "properties.rampDownStopHostsWhen", + osVersion: { + serializedName: "properties.osVersion", type: { name: "String" } }, - rampDownWaitTimeMinutes: { - serializedName: "properties.rampDownWaitTimeMinutes", + sxSStackVersion: { + serializedName: "properties.sxSStackVersion", type: { - name: "Number" + name: "String" } }, - rampDownNotificationMessage: { - serializedName: "properties.rampDownNotificationMessage", + updateState: { + serializedName: "properties.updateState", type: { name: "String" } }, - offPeakStartTime: { - serializedName: "properties.offPeakStartTime", + lastUpdateTime: { + serializedName: "properties.lastUpdateTime", + readOnly: true, type: { - name: "Composite", - className: "Time" + name: "DateTime" } }, - offPeakLoadBalancingAlgorithm: { - serializedName: "properties.offPeakLoadBalancingAlgorithm", + updateErrorMessage: { + serializedName: "properties.updateErrorMessage", + type: { + name: "String" + } + }, + sessionHostHealthCheckResults: { + serializedName: "properties.sessionHostHealthCheckResults", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SessionHostHealthCheckReport" + } + } } } } } }; -export const ApplicationGroupPatch: coreClient.CompositeMapper = { +export const SessionHostPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroupPatch", + className: "SessionHostPatch", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + allowNewSession: { + serializedName: "properties.allowNewSession", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Boolean" } }, - description: { - serializedName: "properties.description", + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } @@ -2297,159 +2877,238 @@ export const ApplicationGroupPatch: coreClient.CompositeMapper = { } }; -export const StartMenuItem: coreClient.CompositeMapper = { +export const MsixPackage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "StartMenuItem", + className: "MsixPackage", modelProperties: { ...Resource.type.modelProperties, - appAlias: { - serializedName: "properties.appAlias", + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - filePath: { - serializedName: "properties.filePath", + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - iconPath: { - serializedName: "properties.iconPath", + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - iconIndex: { - serializedName: "properties.iconIndex", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { - name: "Number" + name: "String" + } + }, + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", + type: { + name: "Boolean" + } + }, + isActive: { + serializedName: "properties.isActive", + type: { + name: "Boolean" + } + }, + packageDependencies: { + serializedName: "properties.packageDependencies", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } + } + }, + version: { + serializedName: "properties.version", + type: { + name: "String" + } + }, + lastUpdated: { + serializedName: "properties.lastUpdated", + type: { + name: "DateTime" + } + }, + packageApplications: { + serializedName: "properties.packageApplications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const Application: coreClient.CompositeMapper = { +export const MsixPackagePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Application", + className: "MsixPackagePatch", modelProperties: { ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", + isActive: { + serializedName: "properties.isActive", type: { - name: "Composite", - className: "SystemData" + name: "Boolean" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - description: { - serializedName: "properties.description", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } - }, - friendlyName: { - serializedName: "properties.friendlyName", + } + } + } +}; + +export const ExpandMsixImage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandMsixImage", + modelProperties: { + ...Resource.type.modelProperties, + packageAlias: { + serializedName: "properties.packageAlias", type: { name: "String" } }, - filePath: { - serializedName: "properties.filePath", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - msixPackageFamilyName: { - serializedName: "properties.msixPackageFamilyName", - nullable: true, + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - msixPackageApplicationId: { - serializedName: "properties.msixPackageApplicationId", - nullable: true, + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", + packageFullName: { + serializedName: "properties.packageFullName", type: { name: "String" } }, - commandLineSetting: { - serializedName: "properties.commandLineSetting", - required: true, + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { name: "String" } }, - showInPortal: { - serializedName: "properties.showInPortal", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { name: "Boolean" } }, - iconPath: { - serializedName: "properties.iconPath", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - iconIndex: { - serializedName: "properties.iconIndex", + packageDependencies: { + serializedName: "properties.packageDependencies", + nullable: true, type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } } }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + version: { + serializedName: "properties.version", type: { name: "String" } }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, + lastUpdated: { + serializedName: "properties.lastUpdated", type: { - name: "ByteArray" + name: "DateTime" + } + }, + packageApplications: { + serializedName: "properties.packageApplications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const Desktop: coreClient.CompositeMapper = { +export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Desktop", + className: "Workspace", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2476,39 +3135,63 @@ export const Desktop: coreClient.CompositeMapper = { name: "String" } }, - iconHash: { - serializedName: "properties.iconHash", + 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" } }, - iconContent: { - serializedName: "properties.iconContent", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", readOnly: true, type: { - name: "ByteArray" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } } } } } }; -export const HostPoolPatch: coreClient.CompositeMapper = { +export const ScalingPlan: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPoolPatch", + className: "ScalingPlan", modelProperties: { - ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Composite", + className: "SystemData" } }, - friendlyName: { - serializedName: "properties.friendlyName", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } @@ -2519,108 +3202,136 @@ export const HostPoolPatch: coreClient.CompositeMapper = { name: "String" } }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", + timeZone: { + serializedName: "properties.timeZone", + required: true, type: { - name: "Number" + name: "String" } }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + hostPoolType: { + defaultValue: "Pooled", + serializedName: "properties.hostPoolType", type: { name: "String" } }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", + exclusionTag: { + serializedName: "properties.exclusionTag", type: { name: "String" } }, - ring: { - serializedName: "properties.ring", + schedules: { + serializedName: "properties.schedules", type: { - name: "Number" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingSchedule" + } + } } }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", + hostPoolReferences: { + serializedName: "properties.hostPoolReferences", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingHostPoolReference" + } + } } - }, - registrationInfo: { - serializedName: "properties.registrationInfo", + } + } + } +}; + +export const ApplicationGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroup", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", type: { name: "Composite", - className: "RegistrationInfoPatch" + className: "SystemData" } }, - vmTemplate: { - serializedName: "properties.vmTemplate", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + description: { + serializedName: "properties.description", type: { name: "String" } }, - ssoClientId: { - serializedName: "properties.ssoClientId", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + hostPoolArmPath: { + serializedName: "properties.hostPoolArmPath", + required: true, type: { name: "String" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + workspaceArmPath: { + serializedName: "properties.workspaceArmPath", + readOnly: true, type: { name: "String" } }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", + applicationGroupType: { + serializedName: "properties.applicationGroupType", + required: true, type: { name: "String" } }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, type: { name: "Boolean" } }, - agentUpdate: { - serializedName: "properties.agentUpdate", + showInFeed: { + serializedName: "properties.showInFeed", type: { - name: "Composite", - className: "AgentUpdatePatchProperties" + name: "Boolean" } } } } }; -export const UserSession: coreClient.CompositeMapper = { +export const HostPool: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserSession", + className: "HostPool", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2635,163 +3346,153 @@ export const UserSession: coreClient.CompositeMapper = { name: "String" } }, - userPrincipalName: { - serializedName: "properties.userPrincipalName", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", + description: { + serializedName: "properties.description", type: { name: "String" } }, - sessionState: { - serializedName: "properties.sessionState", + hostPoolType: { + serializedName: "properties.hostPoolType", + required: true, type: { name: "String" } }, - activeDirectoryUserName: { - serializedName: "properties.activeDirectoryUserName", + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", type: { name: "String" } }, - createTime: { - serializedName: "properties.createTime", - type: { - name: "DateTime" - } - } - } - } -}; - -export const SessionHost: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SessionHost", - modelProperties: { - ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { - name: "Composite", - className: "SystemData" + name: "String" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", type: { - name: "String" + name: "Number" } }, - lastHeartBeat: { - serializedName: "properties.lastHeartBeat", + loadBalancerType: { + serializedName: "properties.loadBalancerType", + required: true, type: { - name: "DateTime" + name: "String" } }, - sessions: { - serializedName: "properties.sessions", + ring: { + serializedName: "properties.ring", type: { name: "Number" } }, - agentVersion: { - serializedName: "properties.agentVersion", + validationEnvironment: { + serializedName: "properties.validationEnvironment", type: { - name: "String" + name: "Boolean" } }, - allowNewSession: { - serializedName: "properties.allowNewSession", + registrationInfo: { + serializedName: "properties.registrationInfo", type: { - name: "Boolean" + name: "Composite", + className: "RegistrationInfo" } }, - virtualMachineId: { - serializedName: "properties.virtualMachineId", - readOnly: true, + vmTemplate: { + serializedName: "properties.vmTemplate", type: { name: "String" } }, - resourceId: { - serializedName: "properties.resourceId", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - assignedUser: { - serializedName: "properties.assignedUser", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { name: "String" } }, - status: { - serializedName: "properties.status", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { name: "String" } }, - statusTimestamp: { - serializedName: "properties.statusTimestamp", - readOnly: true, - type: { - name: "DateTime" - } - }, - osVersion: { - serializedName: "properties.osVersion", + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { name: "String" } }, - sxSStackVersion: { - serializedName: "properties.sxSStackVersion", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", + required: true, type: { name: "String" } }, - updateState: { - serializedName: "properties.updateState", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", type: { - name: "String" + name: "Boolean" } }, - lastUpdateTime: { - serializedName: "properties.lastUpdateTime", + cloudPcResource: { + serializedName: "properties.cloudPcResource", readOnly: true, type: { - name: "DateTime" + name: "Boolean" } }, - updateErrorMessage: { - serializedName: "properties.updateErrorMessage", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - sessionHostHealthCheckResults: { - serializedName: "properties.sessionHostHealthCheckResults", + agentUpdate: { + serializedName: "properties.agentUpdate", + type: { + name: "Composite", + className: "AgentUpdateProperties" + } + }, + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "SessionHostHealthCheckReport" + className: "PrivateEndpointConnection" } } } @@ -2800,40 +3501,59 @@ export const SessionHost: coreClient.CompositeMapper = { } }; -export const SessionHostPatch: coreClient.CompositeMapper = { +export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostPatch", + className: "ResourceModelWithAllowedPropertySetIdentity", modelProperties: { - ...Resource.type.modelProperties, - allowNewSession: { - serializedName: "properties.allowNewSession", - type: { - name: "Boolean" - } - }, - assignedUser: { - serializedName: "properties.assignedUser", - type: { - name: "String" - } - }, - friendlyName: { - serializedName: "properties.friendlyName", + ...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 PrivateEndpointConnectionWithSystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionWithSystemData", + modelProperties: { + ...PrivateEndpointConnection.type.modelProperties, + systemData: { + serializedName: "systemData", type: { - name: "String" + name: "Composite", + className: "SystemData" } } } } }; -export const MsixPackage: coreClient.CompositeMapper = { +export const ScalingPlanPersonalSchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackage", + className: "ScalingPlanPersonalSchedule", modelProperties: { - ...Resource.type.modelProperties, + ...ProxyResource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2841,213 +3561,202 @@ export const MsixPackage: coreClient.CompositeMapper = { className: "SystemData" } }, - imagePath: { - serializedName: "properties.imagePath", + daysOfWeek: { + serializedName: "properties.daysOfWeek", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } } }, - packageName: { - serializedName: "properties.packageName", + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + rampUpAutoStartHosts: { + serializedName: "properties.rampUpAutoStartHosts", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + rampUpStartVMOnConnect: { + serializedName: "properties.rampUpStartVMOnConnect", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + rampUpActionOnDisconnect: { + serializedName: "properties.rampUpActionOnDisconnect", type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + rampUpMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnDisconnect", type: { - name: "Boolean" + name: "Number" } }, - isActive: { - serializedName: "properties.isActive", + rampUpActionOnLogoff: { + serializedName: "properties.rampUpActionOnLogoff", type: { - name: "Boolean" + name: "String" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", + rampUpMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinutesToWaitOnLogoff", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } + name: "Number" } }, - version: { - serializedName: "properties.version", + peakStartTime: { + serializedName: "properties.peakStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + peakStartVMOnConnect: { + serializedName: "properties.peakStartVMOnConnect", type: { - name: "DateTime" + name: "String" } }, - packageApplications: { - serializedName: "properties.packageApplications", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageApplications" - } - } - } - } - } - } -}; - -export const MsixPackagePatch: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MsixPackagePatch", - modelProperties: { - ...Resource.type.modelProperties, - isActive: { - serializedName: "properties.isActive", + peakActionOnDisconnect: { + serializedName: "properties.peakActionOnDisconnect", type: { - name: "Boolean" + name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + peakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnDisconnect", type: { - name: "Boolean" + name: "Number" } }, - displayName: { - serializedName: "properties.displayName", + peakActionOnLogoff: { + serializedName: "properties.peakActionOnLogoff", type: { name: "String" } - } - } - } -}; - -export const ExpandMsixImage: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandMsixImage", - modelProperties: { - ...Resource.type.modelProperties, - packageAlias: { - serializedName: "properties.packageAlias", + }, + peakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.peakMinutesToWaitOnLogoff", type: { - name: "String" + name: "Number" } }, - imagePath: { - serializedName: "properties.imagePath", + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - packageName: { - serializedName: "properties.packageName", + rampDownStartVMOnConnect: { + serializedName: "properties.rampDownStartVMOnConnect", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + rampDownActionOnDisconnect: { + serializedName: "properties.rampDownActionOnDisconnect", type: { name: "String" } }, - packageFullName: { - serializedName: "properties.packageFullName", + rampDownMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnDisconnect", type: { - name: "String" + name: "Number" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + rampDownActionOnLogoff: { + serializedName: "properties.rampDownActionOnLogoff", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + rampDownMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinutesToWaitOnLogoff", type: { - name: "String" + name: "Number" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", type: { - name: "Boolean" + name: "Composite", + className: "Time" } }, - isActive: { - serializedName: "properties.isActive", + offPeakStartVMOnConnect: { + serializedName: "properties.offPeakStartVMOnConnect", type: { - name: "Boolean" + name: "String" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", - nullable: true, + offPeakActionOnDisconnect: { + serializedName: "properties.offPeakActionOnDisconnect", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } + name: "String" } }, - version: { - serializedName: "properties.version", + offPeakMinutesToWaitOnDisconnect: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnDisconnect", type: { - name: "String" + name: "Number" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + offPeakActionOnLogoff: { + serializedName: "properties.offPeakActionOnLogoff", type: { - name: "DateTime" + name: "String" } }, - packageApplications: { - serializedName: "properties.packageApplications", + offPeakMinutesToWaitOnLogoff: { + constraints: { + InclusiveMinimum: 0 + }, + serializedName: "properties.offPeakMinutesToWaitOnLogoff", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageApplications" - } - } + name: "Number" } } } diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 7cc22c45f4b9..0b67d82f15f0 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, @@ -59,7 +62,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-09-09", + defaultValue: "2023-09-05", isConstant: true, serializedName: "api-version", type: { @@ -176,14 +179,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 +190,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 +210,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 +260,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: { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts index 0c7bb50adcdd..eac353c3b157 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"; 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/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts index 0c7bb50adcdd..eac353c3b157 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"; 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"