diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index f10690b25978..3472ea582a81 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -10355,23 +10355,23 @@ packages: dev: false file:projects/arm-desktopvirtualization.tgz: - resolution: {integrity: sha512-bSFk78nXBlqu+Qcuq3tg6k8CEOho44S20tq87GU1Kec3WrT5zv14vem7hf64j5MDdjz9cRi5YQHa9Y439T+TqA==, tarball: file:projects/arm-desktopvirtualization.tgz} + resolution: {integrity: sha512-ZAqzdvIlcjx1Xpc1AsJGbWFCrUQOSrwNbWL5XAd9eB74KT/XnJ2SJqX260tP0ecvpFyQiYuivJDef6jGtmToCw==, tarball: file:projects/arm-desktopvirtualization.tgz} name: '@rush-temp/arm-desktopvirtualization' version: 0.0.0 dependencies: '@azure-tools/test-recorder': 1.0.2 '@azure/identity': 2.0.4 '@microsoft/api-extractor': 7.19.4 - '@rollup/plugin-commonjs': 21.0.2_rollup@2.70.0 - '@rollup/plugin-json': 4.1.0_rollup@2.70.0 - '@rollup/plugin-multi-entry': 3.0.1_rollup@2.70.0 - '@rollup/plugin-node-resolve': 8.4.0_rollup@2.70.0 + '@rollup/plugin-commonjs': 11.0.2_rollup@1.32.1 + '@rollup/plugin-json': 4.1.0_rollup@1.32.1 + '@rollup/plugin-multi-entry': 3.0.1_rollup@1.32.1 + '@rollup/plugin-node-resolve': 8.4.0_rollup@1.32.1 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 rimraf: 3.0.2 - rollup: 2.70.0 - rollup-plugin-sourcemaps: 0.4.2_rollup@2.70.0 + rollup: 1.32.1 + rollup-plugin-sourcemaps: 0.4.2_rollup@1.32.1 tslib: 2.3.1 typescript: 4.2.4 uglify-js: 3.15.2 @@ -16529,7 +16529,7 @@ packages: dev: false file:projects/schema-registry-avro.tgz: - resolution: {integrity: sha512-ADG9wO8rIljoktGdVnP+v8jdrxc43TL0hQgHi7cSXkrJxFGGB6M8XqcDhuT8hYCLfLkRzCwpwH7VSnsjBDVdpg==, tarball: file:projects/schema-registry-avro.tgz} + resolution: {integrity: sha512-9TumFphoGCJiaHQVfz2Z9AsSbhal4ZtZWx7L9fG19JdfEZKJT5uUykYq81plFNWAReFMs83oFPUO//K+BhRuLQ==, tarball: file:projects/schema-registry-avro.tgz} name: '@rush-temp/schema-registry-avro' version: 0.0.0 dependencies: @@ -17674,7 +17674,7 @@ packages: dev: false file:projects/web-pubsub.tgz: - resolution: {integrity: sha512-7qvVc3+mTZX3L5BoserPH04Nwu7kDUUNR5KCtK+ugSa+uTQ5jM0uPXJ3sxgajKuLX+a63eftQtMg2Zcf9K3HZw==, tarball: file:projects/web-pubsub.tgz} + resolution: {integrity: sha512-vAYE6Sk0Olihti+uB+3ac0P3Y+d/XtBXwF2rq0PblaciuLhY/J/3+Y9dpOYDpgTiTyZuAmm+7DDRAq8AYkSETQ==, tarball: file:projects/web-pubsub.tgz} name: '@rush-temp/web-pubsub' version: 0.0.0 dependencies: diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index 20ec0c7f46c0..72dc0978259a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,54 @@ # Release History - -## 1.0.0-beta.3 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + +## 1.0.0-beta.3 (2022-04-07) + +**Features** + + - Added operation group ScalingPlanPooledSchedules + - Added Interface AgentUpdatePatchProperties + - Added Interface AgentUpdateProperties + - Added Interface MaintenanceWindowPatchProperties + - Added Interface MaintenanceWindowProperties + - Added Interface ScalingPlanPooledScheduleList + - Added Interface ScalingPlanPooledScheduleProperties + - Added Interface ScalingPlanPooledSchedulesCreateOptionalParams + - Added Interface ScalingPlanPooledSchedulesDeleteOptionalParams + - Added Interface ScalingPlanPooledSchedulesGetOptionalParams + - Added Interface ScalingPlanPooledSchedulesListNextOptionalParams + - Added Interface ScalingPlanPooledSchedulesListOptionalParams + - Added Interface ScalingPlanPooledSchedulesUpdateOptionalParams + - Added Type Alias DayOfWeek + - Added Type Alias HostpoolPublicNetworkAccess + - Added Type Alias ScalingPlanPooledSchedule + - Added Type Alias ScalingPlanPooledSchedulePatch + - Added Type Alias ScalingPlanPooledSchedulePropertiesDaysOfWeekItem + - Added Type Alias ScalingPlanPooledSchedulesCreateResponse + - Added Type Alias ScalingPlanPooledSchedulesGetResponse + - Added Type Alias ScalingPlanPooledSchedulesListNextResponse + - Added Type Alias ScalingPlanPooledSchedulesListResponse + - Added Type Alias ScalingPlanPooledSchedulesUpdateResponse + - Added Type Alias ScalingPlanType + - Added Type Alias ScalingSchedule + - Added Type Alias SessionHostComponentUpdateType + - Class DesktopVirtualizationAPIClient has a new parameter scalingPlanPooledSchedules + - Type Alias HostPool has a new parameter agentUpdate + - Type Alias HostPool has a new parameter privateEndpointConnections + - Type Alias HostPoolPatch has a new parameter agentUpdate + - Type Alias ScalingPlan has a new parameter scalingPlanType + - Type Alias SessionHost has a new parameter friendlyName + - Type Alias SessionHostPatch has a new parameter friendlyName + - Type Alias Workspace has a new parameter privateEndpointConnections + - Added Enum KnownHostpoolPublicNetworkAccess + - Added Enum KnownScalingPlanPooledSchedulePropertiesDaysOfWeekItem + - Added Enum KnownScalingPlanType + - Added Enum KnownSessionHostComponentUpdateType + +**Breaking Changes** + + - Parameter timeZone of Type Alias ScalingPlan is now required + - Removed Enum KnownScalingScheduleDaysOfWeekItem + + ## 1.0.0-beta.2 (2021-12-27) The package of @azure/arm-desktopvirtualization is using our next generation design principles since version 1.0.0-beta.2, which contains breaking changes. diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/LICENSE b/sdk/desktopvirtualization/arm-desktopvirtualization/LICENSE index ccb63b166732..5d1d36e0af80 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/LICENSE +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2021 Microsoft +Copyright (c) 2022 Microsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index 6f14536ae603..1b3183bea6f6 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,7 +1,8 @@ { - "commit": "c77c6c634dc3644d65d3e35df5d73a9c34d3c956", + "commit": "f4f01a057128b007f1b7a61b1dd002c9e8ed5e32", "readme": "specification/desktopvirtualization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.1.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\mydev\\azure-sdk-for-js ../azure-rest-api-specs/specification/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20211217.1", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.16.20220105.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "use": "@autorest/typescript@6.0.0-alpha.16.20211217.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.2.6", + "use": "@autorest/typescript@6.0.0-alpha.16.20220105.1" } \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/api-extractor.json b/sdk/desktopvirtualization/arm-desktopvirtualization/api-extractor.json index 19402970b50e..391ea6b62b0f 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/api-extractor.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/api-extractor.json @@ -1,18 +1,31 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "mainEntryPointFilePath": "./dist-esm/src/index.d.ts", - "docModel": { "enabled": true }, - "apiReport": { "enabled": true, "reportFolder": "./review" }, + "docModel": { + "enabled": true + }, + "apiReport": { + "enabled": true, + "reportFolder": "./review" + }, "dtsRollup": { "enabled": true, "untrimmedFilePath": "", "publicTrimmedFilePath": "./types/arm-desktopvirtualization.d.ts" }, "messages": { - "tsdocMessageReporting": { "default": { "logLevel": "none" } }, + "tsdocMessageReporting": { + "default": { + "logLevel": "none" + } + }, "extractorMessageReporting": { - "ae-missing-release-tag": { "logLevel": "none" }, - "ae-unresolved-link": { "logLevel": "none" } + "ae-missing-release-tag": { + "logLevel": "none" + }, + "ae-unresolved-link": { + "logLevel": "none" + } } } -} +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json index 32d3003f383e..e8e883533e6d 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -27,12 +27,12 @@ "types": "./types/arm-desktopvirtualization.d.ts", "devDependencies": { "@microsoft/api-extractor": "^7.18.11", - "@rollup/plugin-commonjs": "^21.0.1", + "@rollup/plugin-commonjs": "11.0.2", "@rollup/plugin-json": "^4.0.0", "@rollup/plugin-multi-entry": "^3.0.0", "@rollup/plugin-node-resolve": "^8.0.0", "mkdirp": "^1.0.4", - "rollup": "^2.0.0", + "rollup": "^1.16.3", "rollup-plugin-sourcemaps": "^0.4.2", "typescript": "~4.2.0", "uglify-js": "^3.4.9", @@ -97,4 +97,4 @@ }, "sideEffects": false, "autoPublish": true -} +} \ 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 942ed98c0af9..fd0aa8a83be7 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -8,6 +8,22 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +// @public +export interface AgentUpdatePatchProperties { + maintenanceWindows?: MaintenanceWindowPatchProperties[]; + maintenanceWindowTimeZone?: string; + type?: SessionHostComponentUpdateType; + useSessionHostLocalTime?: boolean; +} + +// @public +export interface AgentUpdateProperties { + maintenanceWindows?: MaintenanceWindowProperties[]; + maintenanceWindowTimeZone?: string; + type?: SessionHostComponentUpdateType; + useSessionHostLocalTime?: boolean; +} + // @public export type Application = Resource & { readonly systemData?: SystemData; @@ -219,6 +235,9 @@ export type CommandLineSetting = string; // @public export type CreatedByType = string; +// @public +export type DayOfWeek = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"; + // @public export type Desktop = Resource & { readonly systemData?: SystemData; @@ -306,6 +325,8 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) privateLinkResources: PrivateLinkResources; // (undocumented) + scalingPlanPooledSchedules: ScalingPlanPooledSchedules; + // (undocumented) scalingPlans: ScalingPlans; // (undocumented) sessionHosts: SessionHosts; @@ -379,7 +400,9 @@ export type HostPool = ResourceModelWithAllowedPropertySet & { startVMOnConnect?: boolean; migrationRequest?: MigrationRequestProperties; readonly cloudPcResource?: boolean; - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + agentUpdate?: AgentUpdateProperties; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; }; // @public @@ -409,9 +432,13 @@ export type HostPoolPatch = Resource & { ssoSecretType?: SSOSecretType; preferredAppGroupType?: PreferredAppGroupType; startVMOnConnect?: boolean; - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + agentUpdate?: AgentUpdatePatchProperties; }; +// @public +export type HostpoolPublicNetworkAccess = string; + // @public export interface HostPools { createOrUpdate(resourceGroupName: string, hostPoolName: string, hostPool: HostPool, options?: HostPoolsCreateOrUpdateOptionalParams): Promise; @@ -556,6 +583,18 @@ export enum KnownHealthCheckResult { Unknown = "Unknown" } +// @public +export enum KnownHostpoolPublicNetworkAccess { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled", + // (undocumented) + EnabledForClientsOnly = "EnabledForClientsOnly", + // (undocumented) + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly" +} + // @public export enum KnownHostPoolType { BYODesktop = "BYODesktop", @@ -654,7 +693,7 @@ export enum KnownScalingHostPoolType { } // @public -export enum KnownScalingScheduleDaysOfWeekItem { +export enum KnownScalingPlanPooledSchedulePropertiesDaysOfWeekItem { // (undocumented) Friday = "Friday", // (undocumented) @@ -671,6 +710,18 @@ export enum KnownScalingScheduleDaysOfWeekItem { Wednesday = "Wednesday" } +// @public +export enum KnownScalingPlanType { + Personal = "Personal", + Pooled = "Pooled" +} + +// @public +export enum KnownSessionHostComponentUpdateType { + Default = "Default", + Scheduled = "Scheduled" +} + // @public export enum KnownSessionHostLoadBalancingAlgorithm { // (undocumented) @@ -755,6 +806,18 @@ export interface LogSpecification { name?: string; } +// @public +export interface MaintenanceWindowPatchProperties { + dayOfWeek?: DayOfWeek; + hour?: number; +} + +// @public +export interface MaintenanceWindowProperties { + dayOfWeek?: DayOfWeek; + hour?: number; +} + // @public export interface MigrationRequestProperties { migrationPath?: string; @@ -1177,8 +1240,9 @@ export type ScalingPlan = ResourceModelWithAllowedPropertySet & { readonly objectId?: string; description?: string; friendlyName?: string; - timeZone?: string; + timeZone: string; hostPoolType?: ScalingHostPoolType; + scalingPlanType?: ScalingPlanType; exclusionTag?: string; schedules?: ScalingSchedule[]; hostPoolReferences?: ScalingHostPoolReference[]; @@ -1203,6 +1267,128 @@ export interface ScalingPlanPatch { timeZone?: string; } +// @public +export type ScalingPlanPooledSchedule = Resource & { + readonly systemData?: SystemData; + daysOfWeek?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; + rampUpStartTime?: Time; + rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampUpMinimumHostsPct?: number; + rampUpCapacityThresholdPct?: number; + peakStartTime?: Time; + peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampDownStartTime?: Time; + rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampDownMinimumHostsPct?: number; + rampDownCapacityThresholdPct?: number; + rampDownForceLogoffUsers?: boolean; + rampDownStopHostsWhen?: StopHostsWhen; + rampDownWaitTimeMinutes?: number; + rampDownNotificationMessage?: string; + offPeakStartTime?: Time; + offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; +}; + +// @public +export interface ScalingPlanPooledScheduleList { + readonly nextLink?: string; + value?: ScalingPlanPooledSchedule[]; +} + +// @public +export type ScalingPlanPooledSchedulePatch = Resource & { + daysOfWeek?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; + rampUpStartTime?: Time; + rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampUpMinimumHostsPct?: number; + rampUpCapacityThresholdPct?: number; + peakStartTime?: Time; + peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampDownStartTime?: Time; + rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampDownMinimumHostsPct?: number; + rampDownCapacityThresholdPct?: number; + rampDownForceLogoffUsers?: boolean; + rampDownStopHostsWhen?: StopHostsWhen; + rampDownWaitTimeMinutes?: number; + rampDownNotificationMessage?: string; + offPeakStartTime?: Time; + offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; +}; + +// @public +export interface ScalingPlanPooledScheduleProperties { + daysOfWeek?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; + offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + offPeakStartTime?: Time; + peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + peakStartTime?: Time; + rampDownCapacityThresholdPct?: number; + rampDownForceLogoffUsers?: boolean; + rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampDownMinimumHostsPct?: number; + rampDownNotificationMessage?: string; + rampDownStartTime?: Time; + rampDownStopHostsWhen?: StopHostsWhen; + rampDownWaitTimeMinutes?: number; + rampUpCapacityThresholdPct?: number; + rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + rampUpMinimumHostsPct?: number; + rampUpStartTime?: Time; +} + +// @public +export type ScalingPlanPooledSchedulePropertiesDaysOfWeekItem = string; + +// @public +export interface ScalingPlanPooledSchedules { + create(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, scalingPlanSchedule: ScalingPlanPooledSchedule, options?: ScalingPlanPooledSchedulesCreateOptionalParams): Promise; + delete(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPooledSchedulesDeleteOptionalParams): Promise; + get(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPooledSchedulesGetOptionalParams): Promise; + list(resourceGroupName: string, scalingPlanName: string, options?: ScalingPlanPooledSchedulesListOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, scalingPlanName: string, scalingPlanScheduleName: string, options?: ScalingPlanPooledSchedulesUpdateOptionalParams): Promise; +} + +// @public +export interface ScalingPlanPooledSchedulesCreateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPooledSchedulesCreateResponse = ScalingPlanPooledSchedule; + +// @public +export interface ScalingPlanPooledSchedulesDeleteOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface ScalingPlanPooledSchedulesGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPooledSchedulesGetResponse = ScalingPlanPooledSchedule; + +// @public +export interface ScalingPlanPooledSchedulesListNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPooledSchedulesListNextResponse = ScalingPlanPooledScheduleList; + +// @public +export interface ScalingPlanPooledSchedulesListOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ScalingPlanPooledSchedulesListResponse = ScalingPlanPooledScheduleList; + +// @public +export interface ScalingPlanPooledSchedulesUpdateOptionalParams extends coreClient.OperationOptions { + scalingPlanSchedule?: ScalingPlanPooledSchedulePatch; +} + +// @public +export type ScalingPlanPooledSchedulesUpdateResponse = ScalingPlanPooledSchedule; + // @public export interface ScalingPlans { create(resourceGroupName: string, scalingPlanName: string, scalingPlan: ScalingPlan, options?: ScalingPlansCreateOptionalParams): Promise; @@ -1283,29 +1469,12 @@ export interface ScalingPlansUpdateOptionalParams extends coreClient.OperationOp export type ScalingPlansUpdateResponse = ScalingPlan; // @public -export interface ScalingSchedule { - daysOfWeek?: ScalingScheduleDaysOfWeekItem[]; - name?: string; - offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - offPeakStartTime?: Time; - peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - peakStartTime?: Time; - rampDownCapacityThresholdPct?: number; - rampDownForceLogoffUsers?: boolean; - rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - rampDownMinimumHostsPct?: number; - rampDownNotificationMessage?: string; - rampDownStartTime?: Time; - rampDownStopHostsWhen?: StopHostsWhen; - rampDownWaitTimeMinutes?: number; - rampUpCapacityThresholdPct?: number; - rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - rampUpMinimumHostsPct?: number; - rampUpStartTime?: Time; -} +export type ScalingPlanType = string; // @public -export type ScalingScheduleDaysOfWeekItem = string; +export type ScalingSchedule = ScalingPlanPooledScheduleProperties & { + name?: string; +}; // @public export interface SendMessage { @@ -1329,6 +1498,7 @@ export type SessionHost = Resource & { readonly virtualMachineId?: string; readonly resourceId?: string; assignedUser?: string; + friendlyName?: string; status?: Status; readonly statusTimestamp?: Date; osVersion?: string; @@ -1339,6 +1509,9 @@ export type SessionHost = Resource & { readonly sessionHostHealthCheckResults?: SessionHostHealthCheckReport[]; }; +// @public +export type SessionHostComponentUpdateType = string; + // @public export interface SessionHostHealthCheckFailureDetails { readonly errorCode?: number; @@ -1366,6 +1539,7 @@ export type SessionHostLoadBalancingAlgorithm = string; export type SessionHostPatch = Resource & { allowNewSession?: boolean; assignedUser?: string; + friendlyName?: string; }; // @public @@ -1575,6 +1749,7 @@ export type Workspace = ResourceModelWithAllowedPropertySet & { applicationGroupReferences?: string[]; readonly cloudPcResource?: boolean; publicNetworkAccess?: PublicNetworkAccess; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; }; // @public diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts index 88bfa8985d58..a683041cdede 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts @@ -12,6 +12,7 @@ import { OperationsImpl, WorkspacesImpl, ScalingPlansImpl, + ScalingPlanPooledSchedulesImpl, ApplicationGroupsImpl, StartMenuItemsImpl, ApplicationsImpl, @@ -28,6 +29,7 @@ import { Operations, Workspaces, ScalingPlans, + ScalingPlanPooledSchedules, ApplicationGroups, StartMenuItems, Applications, @@ -74,7 +76,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-desktopvirtualization/1.0.0-beta.2`; + const packageDetails = `azsdk-js-arm-desktopvirtualization/1.0.0-beta.3`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -97,10 +99,11 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2021-09-03-preview"; + this.apiVersion = options.apiVersion || "2022-04-01-preview"; this.operations = new OperationsImpl(this); this.workspaces = new WorkspacesImpl(this); this.scalingPlans = new ScalingPlansImpl(this); + this.scalingPlanPooledSchedules = new ScalingPlanPooledSchedulesImpl(this); this.applicationGroups = new ApplicationGroupsImpl(this); this.startMenuItems = new StartMenuItemsImpl(this); this.applications = new ApplicationsImpl(this); @@ -117,6 +120,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { operations: Operations; workspaces: Workspaces; scalingPlans: ScalingPlans; + scalingPlanPooledSchedules: ScalingPlanPooledSchedules; 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 ebfab3443ef2..4a31b4a66f47 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 { /** @@ -199,12 +237,10 @@ export interface WorkspaceList { readonly nextLink?: string; } -/** Scaling plan schedule. */ -export interface ScalingSchedule { - /** Name of the scaling schedule. */ - name?: string; +/** A ScalingPlanPooledSchedule. */ +export interface ScalingPlanPooledScheduleProperties { /** Set of days of the week on which this schedule is active. */ - daysOfWeek?: ScalingScheduleDaysOfWeekItem[]; + daysOfWeek?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; /** Starting time for ramp up period. */ rampUpStartTime?: Time; /** Load balancing algorithm for ramp up period. */ @@ -284,6 +320,17 @@ export interface ScalingPlanList { readonly nextLink?: string; } +/** List of ScalingPlanPooledSchedule definitions. */ +export interface ScalingPlanPooledScheduleList { + /** List of ScalingPlanPooledSchedule definitions. */ + value?: ScalingPlanPooledSchedule[]; + /** + * 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; +} + /** Properties for arm migration. */ export interface MigrationRequestProperties { /** The type of operation for migration. */ @@ -292,25 +339,6 @@ export interface MigrationRequestProperties { migrationPath?: 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; -} - /** List of ApplicationGroup definitions. */ export interface ApplicationGroupList { /** List of ApplicationGroup definitions. */ @@ -403,6 +431,26 @@ export interface RegistrationInfo { registrationTokenOperation?: RegistrationTokenOperation; } +/** The session host configuration for updating agent, monitoring agent, and stack component. */ +export interface AgentUpdateProperties { + /** The type of maintenance for session host components. */ + type?: SessionHostComponentUpdateType; + /** Whether to use localTime of the virtual machine. */ + useSessionHostLocalTime?: boolean; + /** Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. */ + maintenanceWindowTimeZone?: string; + /** List of maintenance windows. Maintenance windows are 2 hours long. */ + maintenanceWindows?: MaintenanceWindowProperties[]; +} + +/** Maintenance window starting hour and day of week. */ +export interface MaintenanceWindowProperties { + /** The update start hour of the day. (0 - 23) */ + hour?: number; + /** Day of the week. */ + dayOfWeek?: DayOfWeek; +} + /** Represents a RegistrationInfo definition. */ export interface RegistrationInfoPatch { /** Expiration time of registration token. */ @@ -411,6 +459,26 @@ export interface RegistrationInfoPatch { registrationTokenOperation?: RegistrationTokenOperation; } +/** The session host configuration for updating agent, monitoring agent, and stack component. */ +export interface AgentUpdatePatchProperties { + /** The type of maintenance for session host components. */ + type?: SessionHostComponentUpdateType; + /** Whether to use localTime of the virtual machine. */ + useSessionHostLocalTime?: boolean; + /** Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. */ + maintenanceWindowTimeZone?: string; + /** List of maintenance windows. Maintenance windows are 2 hours long. */ + maintenanceWindows?: MaintenanceWindowPatchProperties[]; +} + +/** Maintenance window starting hour and day of week. */ +export interface MaintenanceWindowPatchProperties { + /** The update start hour of the day. (0 - 23) */ + hour?: number; + /** Day of the week. */ + dayOfWeek?: DayOfWeek; +} + /** List of HostPool definitions. */ export interface HostPoolList { /** List of HostPool definitions. */ @@ -557,25 +625,6 @@ export interface PrivateEndpointConnectionListResultWithSystemData { readonly nextLink?: string; } -/** 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; -} - /** A list of private link resources */ export interface PrivateLinkResourceListResult { /** Array of private link resources */ @@ -587,248 +636,182 @@ export interface PrivateLinkResourceListResult { readonly nextLink?: string; } -/** Represents a Workspace definition. */ -export type Workspace = ResourceModelWithAllowedPropertySet & { +/** The Private Endpoint Connection resource. */ +export type PrivateEndpointConnection = 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; + /** The provisioning state of the private endpoint connection resource. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; +}; + +/** Represents a ScalingPlanPooledSchedule definition. */ +export type ScalingPlanPooledSchedule = Resource & { + /** + * 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?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; + /** Starting time for ramp up period. */ + rampUpStartTime?: Time; + /** Load balancing algorithm for ramp up period. */ + rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Minimum host percentage for ramp up period. */ + rampUpMinimumHostsPct?: number; + /** Capacity threshold for ramp up period. */ + rampUpCapacityThresholdPct?: number; + /** Starting time for peak period. */ + peakStartTime?: Time; + /** Load balancing algorithm for peak period. */ + peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Starting time for ramp down period. */ + rampDownStartTime?: Time; + /** Load balancing algorithm for ramp down period. */ + rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Minimum host percentage for ramp down period. */ + rampDownMinimumHostsPct?: number; + /** Capacity threshold for ramp down period. */ + rampDownCapacityThresholdPct?: number; + /** Should users be logged off forcefully from hosts. */ + rampDownForceLogoffUsers?: boolean; + /** Specifies when to stop hosts during ramp down period. */ + rampDownStopHostsWhen?: StopHostsWhen; + /** Number of minutes to wait to stop hosts during ramp down period. */ + rampDownWaitTimeMinutes?: number; + /** Notification message for users during ramp down period. */ + rampDownNotificationMessage?: string; + /** Starting time for off-peak period. */ + offPeakStartTime?: Time; + /** Load balancing algorithm for off-peak period. */ + offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; +}; + +/** ScalingPlanPooledSchedule properties that can be patched. */ +export type ScalingPlanPooledSchedulePatch = Resource & { + /** Set of days of the week on which this schedule is active. */ + daysOfWeek?: ScalingPlanPooledSchedulePropertiesDaysOfWeekItem[]; + /** Starting time for ramp up period. */ + rampUpStartTime?: Time; + /** Load balancing algorithm for ramp up period. */ + rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Minimum host percentage for ramp up period. */ + rampUpMinimumHostsPct?: number; + /** Capacity threshold for ramp up period. */ + rampUpCapacityThresholdPct?: number; + /** Starting time for peak period. */ + peakStartTime?: Time; + /** Load balancing algorithm for peak period. */ + peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Starting time for ramp down period. */ + rampDownStartTime?: Time; + /** Load balancing algorithm for ramp down period. */ + rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; + /** Minimum host percentage for ramp down period. */ + rampDownMinimumHostsPct?: number; + /** Capacity threshold for ramp down period. */ + rampDownCapacityThresholdPct?: number; + /** Should users be logged off forcefully from hosts. */ + rampDownForceLogoffUsers?: boolean; + /** Specifies when to stop hosts during ramp down period. */ + rampDownStopHostsWhen?: StopHostsWhen; + /** Number of minutes to wait to stop hosts during ramp down period. */ + rampDownWaitTimeMinutes?: number; + /** Notification message for users during ramp down period. */ + rampDownNotificationMessage?: string; + /** Starting time for off-peak period. */ + offPeakStartTime?: Time; + /** Load balancing algorithm for off-peak period. */ + offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; +}; + +/** ApplicationGroup properties that can be patched. */ +export type ApplicationGroupPatch = Resource & { + /** tags to be updated */ + tags?: { [propertyName: string]: string }; + /** Description of ApplicationGroup. */ + description?: string; + /** Friendly name of ApplicationGroup. */ + friendlyName?: string; +}; + +/** Represents a StartMenuItem definition. */ +export type StartMenuItem = Resource & { + /** Alias of StartMenuItem. */ + appAlias?: string; + /** Path to the file of StartMenuItem. */ + filePath?: string; + /** Command line arguments for StartMenuItem. */ + commandLineArguments?: string; + /** Path to the icon. */ + iconPath?: string; + /** Index of the icon. */ + iconIndex?: number; +}; + +/** Schema for Application properties. */ +export type Application = Resource & { /** * 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) + * ObjectId of Application. (internal use) * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly objectId?: string; - /** Description of Workspace. */ + /** Description of Application. */ description?: string; - /** Friendly name of Workspace. */ + /** Friendly name of Application. */ friendlyName?: string; - /** List of applicationGroup resource Ids. */ - applicationGroupReferences?: string[]; + /** Specifies a path for the executable file for the application. */ + filePath?: string; + /** Specifies the package family name for MSIX applications */ + msixPackageFamilyName?: string; + /** Specifies the package application Id for MSIX applications */ + msixPackageApplicationId?: string; + /** Resource Type of Application. */ + applicationType?: RemoteApplicationType; + /** Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. */ + commandLineSetting: CommandLineSetting; + /** Command Line Arguments for Application. */ + commandLineArguments?: string; + /** Specifies whether to show the RemoteApp program in the RD Web Access server. */ + showInPortal?: boolean; + /** Path to icon. */ + iconPath?: string; + /** Index of the icon. */ + iconIndex?: number; /** - * Is cloud pc resource. + * Hash of the icon. * 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; + readonly iconHash?: string; + /** + * the icon a 64 bit string as a byte array. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly iconContent?: Uint8Array; }; -/** Represents a scaling plan definition. */ -export type ScalingPlan = ResourceModelWithAllowedPropertySet & { +/** Schema for Desktop properties. */ +export type Desktop = Resource & { /** * 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) + * ObjectId of Desktop. (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 of Desktop. */ 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 ScalingSchedule definitions. */ - schedules?: ScalingSchedule[]; - /** List of ScalingHostPoolReference definitions. */ - hostPoolReferences?: ScalingHostPoolReference[]; -}; - -/** Represents a ApplicationGroup definition. */ -export type ApplicationGroup = 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 registration info of HostPool. */ - migrationRequest?: MigrationRequestProperties; - /** - * Is cloud pc resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly cloudPcResource?: boolean; -}; - -/** Represents a HostPool definition. */ -export type HostPool = 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; - /** The registration info of HostPool. */ - migrationRequest?: MigrationRequestProperties; - /** - * 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; -}; - -export type ResourceModelWithAllowedPropertySetIdentity = Identity & {}; - -export type ResourceModelWithAllowedPropertySetSku = Sku & {}; - -export type ResourceModelWithAllowedPropertySetPlan = Plan & {}; - -/** ApplicationGroup properties that can be patched. */ -export type ApplicationGroupPatch = Resource & { - /** tags to be updated */ - tags?: { [propertyName: string]: string }; - /** Description of ApplicationGroup. */ - description?: string; - /** Friendly name of ApplicationGroup. */ - friendlyName?: string; -}; - -/** Represents a StartMenuItem definition. */ -export type StartMenuItem = Resource & { - /** Alias of StartMenuItem. */ - appAlias?: string; - /** Path to the file of StartMenuItem. */ - filePath?: string; - /** Command line arguments for StartMenuItem. */ - commandLineArguments?: string; - /** Path to the icon. */ - iconPath?: string; - /** Index of the icon. */ - iconIndex?: number; -}; - -/** Schema for Application properties. */ -export type Application = Resource & { - /** - * 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 Application. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of Application. */ - description?: string; - /** Friendly name of Application. */ - friendlyName?: string; - /** Specifies a path for the executable file for the application. */ - filePath?: string; - /** Specifies the package family name for MSIX applications */ - msixPackageFamilyName?: string; - /** Specifies the package application Id for MSIX applications */ - msixPackageApplicationId?: string; - /** Resource Type of Application. */ - applicationType?: RemoteApplicationType; - /** Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. */ - commandLineSetting: CommandLineSetting; - /** Command Line Arguments for Application. */ - commandLineArguments?: string; - /** Specifies whether to show the RemoteApp program in the RD Web Access server. */ - showInPortal?: boolean; - /** Path to icon. */ - iconPath?: string; - /** Index of the icon. */ - iconIndex?: number; - /** - * Hash of the icon. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly iconHash?: string; - /** - * the icon a 64 bit string as a byte array. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly iconContent?: Uint8Array; -}; - -/** Schema for Desktop properties. */ -export type Desktop = Resource & { - /** - * 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 Desktop. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of Desktop. */ - description?: string; - /** Friendly name of Desktop. */ + /** Friendly name of Desktop. */ friendlyName?: string; /** * Hash of the icon. @@ -879,7 +862,9 @@ export type HostPoolPatch = Resource & { /** The flag to turn on/off StartVMOnConnect feature. */ startVMOnConnect?: boolean; /** Enabled to allow this resource to be access from the public network */ - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + /** The session host configuration for updating agent, monitoring agent, and stack component. */ + agentUpdate?: AgentUpdatePatchProperties; }; /** Represents a UserSession definition. */ @@ -938,6 +923,8 @@ export type SessionHost = Resource & { readonly resourceId?: string; /** User assigned to SessionHost. */ assignedUser?: string; + /** Friendly name of SessionHost */ + friendlyName?: string; /** Status for a SessionHost. */ status?: Status; /** @@ -952,122 +939,291 @@ export type SessionHost = Resource & { /** Update state of a SessionHost. */ updateState?: UpdateState; /** - * The timestamp of the last update. + * The timestamp of the last update. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastUpdateTime?: Date; + /** The error message. */ + updateErrorMessage?: string; + /** + * List of SessionHostHealthCheckReports + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly sessionHostHealthCheckResults?: SessionHostHealthCheckReport[]; +}; + +/** SessionHost properties that can be patched. */ +export type SessionHostPatch = Resource & { + /** Allow a new session. */ + allowNewSession?: boolean; + /** User assigned to SessionHost. */ + assignedUser?: string; + /** Friendly name of SessionHost */ + friendlyName?: string; +}; + +/** Schema for MSIX Package properties. */ +export type MsixPackage = Resource & { + /** + * 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; + /** VHD/CIM image path on Network Share. */ + imagePath?: string; + /** Package Name from appxmanifest.xml. */ + packageName?: string; + /** Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. */ + packageFamilyName?: string; + /** User friendly Name to be displayed in the portal. */ + displayName?: string; + /** Relative Path to the package inside the image. */ + packageRelativePath?: string; + /** Specifies how to register Package in feed. */ + isRegularRegistration?: boolean; + /** Make this version of the package the active one across the hostpool. */ + isActive?: boolean; + /** List of package dependencies. */ + packageDependencies?: MsixPackageDependencies[]; + /** Package Version found in the appxmanifest.xml. */ + version?: string; + /** Date Package was last updated, found in the appxmanifest.xml. */ + lastUpdated?: Date; + /** List of package applications. */ + packageApplications?: MsixPackageApplications[]; +}; + +/** MSIX Package properties that can be patched. */ +export type MsixPackagePatch = Resource & { + /** Set a version of the package to be active across hostpool. */ + isActive?: boolean; + /** Set Registration mode. Regular or Delayed. */ + isRegularRegistration?: boolean; + /** Display name for MSIX Package. */ + displayName?: string; +}; + +/** Represents the definition of contents retrieved after expanding the MSIX Image. */ +export type ExpandMsixImage = Resource & { + /** Alias of MSIX Package. */ + packageAlias?: string; + /** VHD/CIM image path on Network Share. */ + imagePath?: string; + /** Package Name from appxmanifest.xml. */ + packageName?: string; + /** Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. */ + packageFamilyName?: string; + /** Package Full Name from appxmanifest.xml. */ + packageFullName?: string; + /** User friendly Name to be displayed in the portal. */ + displayName?: string; + /** Relative Path to the package inside the image. */ + packageRelativePath?: string; + /** Specifies how to register Package in feed. */ + isRegularRegistration?: boolean; + /** Make this version of the package the active one across the hostpool. */ + isActive?: boolean; + /** List of package dependencies. */ + packageDependencies?: MsixPackageDependencies[]; + /** Package Version found in the appxmanifest.xml. */ + version?: string; + /** Date Package was last updated, found in the appxmanifest.xml. */ + lastUpdated?: Date; + /** List of package applications. */ + packageApplications?: MsixPackageApplications[]; +}; + +/** A private link resource */ +export type PrivateLinkResource = Resource & { + /** + * The private link resource group id. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly groupId?: string; + /** + * The private link resource required member names. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly requiredMembers?: string[]; + /** The private link resource Private link DNS zone name. */ + requiredZoneNames?: string[]; +}; + +/** Represents a Workspace definition. */ +export type Workspace = ResourceModelWithAllowedPropertySet & { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of Workspace. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of Workspace. */ + description?: string; + /** Friendly name of Workspace. */ + friendlyName?: string; + /** List of applicationGroup resource Ids. */ + applicationGroupReferences?: string[]; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +}; + +/** Represents a scaling plan definition. */ +export type ScalingPlan = 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; + /** ScalingPlan type for HostPools and ScalingPlanSchedules. */ + scalingPlanType?: ScalingPlanType; + /** Exclusion tag for scaling plan. */ + exclusionTag?: string; + /** List of ScalingPlanPooledSchedule definitions. */ + schedules?: ScalingSchedule[]; + /** List of ScalingHostPoolReference definitions. */ + hostPoolReferences?: ScalingHostPoolReference[]; +}; + +/** Represents a ApplicationGroup definition. */ +export type ApplicationGroup = 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 registration info of HostPool. */ + migrationRequest?: MigrationRequestProperties; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; +}; + +/** Represents a HostPool definition. */ +export type HostPool = 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 lastUpdateTime?: Date; - /** The error message. */ - updateErrorMessage?: string; + 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; + /** The registration info of HostPool. */ + migrationRequest?: MigrationRequestProperties; /** - * List of SessionHostHealthCheckReports + * Is cloud pc resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly sessionHostHealthCheckResults?: SessionHostHealthCheckReport[]; -}; - -/** SessionHost properties that can be patched. */ -export type SessionHostPatch = Resource & { - /** Allow a new session. */ - allowNewSession?: boolean; - /** User assigned to SessionHost. */ - assignedUser?: string; -}; - -/** Schema for MSIX Package properties. */ -export type MsixPackage = Resource & { + 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; /** - * Metadata pertaining to creation and last modification of the resource. + * 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 systemData?: SystemData; - /** VHD/CIM image path on Network Share. */ - imagePath?: string; - /** Package Name from appxmanifest.xml. */ - packageName?: string; - /** Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. */ - packageFamilyName?: string; - /** User friendly Name to be displayed in the portal. */ - displayName?: string; - /** Relative Path to the package inside the image. */ - packageRelativePath?: string; - /** Specifies how to register Package in feed. */ - isRegularRegistration?: boolean; - /** Make this version of the package the active one across the hostpool. */ - isActive?: boolean; - /** List of package dependencies. */ - packageDependencies?: MsixPackageDependencies[]; - /** Package Version found in the appxmanifest.xml. */ - version?: string; - /** Date Package was last updated, found in the appxmanifest.xml. */ - lastUpdated?: Date; - /** List of package applications. */ - packageApplications?: MsixPackageApplications[]; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; }; -/** MSIX Package properties that can be patched. */ -export type MsixPackagePatch = Resource & { - /** Set a version of the package to be active across hostpool. */ - isActive?: boolean; - /** Set Registration mode. Regular or Delayed. */ - isRegularRegistration?: boolean; - /** Display name for MSIX Package. */ - displayName?: string; -}; +export type ResourceModelWithAllowedPropertySetIdentity = Identity & {}; -/** Represents the definition of contents retrieved after expanding the MSIX Image. */ -export type ExpandMsixImage = Resource & { - /** Alias of MSIX Package. */ - packageAlias?: string; - /** VHD/CIM image path on Network Share. */ - imagePath?: string; - /** Package Name from appxmanifest.xml. */ - packageName?: string; - /** Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. */ - packageFamilyName?: string; - /** Package Full Name from appxmanifest.xml. */ - packageFullName?: string; - /** User friendly Name to be displayed in the portal. */ - displayName?: string; - /** Relative Path to the package inside the image. */ - packageRelativePath?: string; - /** Specifies how to register Package in feed. */ - isRegularRegistration?: boolean; - /** Make this version of the package the active one across the hostpool. */ - isActive?: boolean; - /** List of package dependencies. */ - packageDependencies?: MsixPackageDependencies[]; - /** Package Version found in the appxmanifest.xml. */ - version?: string; - /** Date Package was last updated, found in the appxmanifest.xml. */ - lastUpdated?: Date; - /** List of package applications. */ - packageApplications?: MsixPackageApplications[]; -}; +export type ResourceModelWithAllowedPropertySetSku = Sku & {}; -/** The Private Endpoint Connection resource. */ -export type PrivateEndpointConnection = 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; - /** The provisioning state of the private endpoint connection resource. */ - provisioningState?: PrivateEndpointConnectionProvisioningState; -}; +export type ResourceModelWithAllowedPropertySetPlan = Plan & {}; -/** A private link resource */ -export type PrivateLinkResource = Resource & { - /** - * The private link resource group id. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly groupId?: string; - /** - * The private link resource required member names. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly requiredMembers?: string[]; - /** The private link resource Private link DNS zone name. */ - requiredZoneNames?: string[]; +/** A ScalingPlanPooledSchedule. */ +export type ScalingSchedule = ScalingPlanPooledScheduleProperties & { + /** Name of the ScalingPlanPooledSchedule. */ + name?: string; }; /** The Private Endpoint Connection resource. */ @@ -1115,6 +1271,44 @@ export enum KnownPublicNetworkAccess { */ export type PublicNetworkAccess = string; +/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ +export enum KnownPrivateEndpointServiceConnectionStatus { + Pending = "Pending", + Approved = "Approved", + 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", + Creating = "Creating", + Deleting = "Deleting", + 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. */ @@ -1130,8 +1324,26 @@ export enum KnownScalingHostPoolType { */ export type ScalingHostPoolType = string; -/** Known values of {@link ScalingScheduleDaysOfWeekItem} that the service accepts. */ -export enum KnownScalingScheduleDaysOfWeekItem { +/** Known values of {@link ScalingPlanType} that the service accepts. */ +export enum KnownScalingPlanType { + /** For Pooled HostPools and ScalingPlanSchedules. */ + Pooled = "Pooled", + /** For Personal HostPools and ScalingPlanSchedules. */ + Personal = "Personal" +} + +/** + * Defines values for ScalingPlanType. \ + * {@link KnownScalingPlanType} can be used interchangeably with ScalingPlanType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pooled**: For Pooled HostPools and ScalingPlanSchedules. \ + * **Personal**: For Personal HostPools and ScalingPlanSchedules. + */ +export type ScalingPlanType = string; + +/** Known values of {@link ScalingPlanPooledSchedulePropertiesDaysOfWeekItem} that the service accepts. */ +export enum KnownScalingPlanPooledSchedulePropertiesDaysOfWeekItem { Sunday = "Sunday", Monday = "Monday", Tuesday = "Tuesday", @@ -1142,8 +1354,8 @@ export enum KnownScalingScheduleDaysOfWeekItem { } /** - * Defines values for ScalingScheduleDaysOfWeekItem. \ - * {@link KnownScalingScheduleDaysOfWeekItem} can be used interchangeably with ScalingScheduleDaysOfWeekItem, + * Defines values for ScalingPlanPooledSchedulePropertiesDaysOfWeekItem. \ + * {@link KnownScalingPlanPooledSchedulePropertiesDaysOfWeekItem} can be used interchangeably with ScalingPlanPooledSchedulePropertiesDaysOfWeekItem, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Sunday** \ @@ -1154,7 +1366,7 @@ export enum KnownScalingScheduleDaysOfWeekItem { * **Friday** \ * **Saturday** */ -export type ScalingScheduleDaysOfWeekItem = string; +export type ScalingPlanPooledSchedulePropertiesDaysOfWeekItem = string; /** Known values of {@link SessionHostLoadBalancingAlgorithm} that the service accepts. */ export enum KnownSessionHostLoadBalancingAlgorithm { @@ -1376,6 +1588,44 @@ export enum KnownPreferredAppGroupType { */ export type PreferredAppGroupType = string; +/** Known values of {@link HostpoolPublicNetworkAccess} that the service accepts. */ +export enum KnownHostpoolPublicNetworkAccess { + Enabled = "Enabled", + Disabled = "Disabled", + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly", + 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. */ + Default = "Default", + /** TenantAdmin have opted in for Scheduled Component Update feature. */ + Scheduled = "Scheduled" +} + +/** + * Defines values for SessionHostComponentUpdateType. \ + * {@link KnownSessionHostComponentUpdateType} can be used interchangeably with SessionHostComponentUpdateType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default**: Agent and other agent side components are delivery schedule is controlled by WVD Infra. \ + * **Scheduled**: TenantAdmin have opted in for Scheduled Component Update feature. + */ +export type SessionHostComponentUpdateType = string; + /** Known values of {@link ApplicationType} that the service accepts. */ export enum KnownApplicationType { RemoteApp = "RemoteApp", @@ -1554,46 +1804,17 @@ export enum KnownHealthCheckResult { * **SessionHostShutdown**: We received a Shutdown notification. */ export type HealthCheckResult = string; - -/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ -export enum KnownPrivateEndpointServiceConnectionStatus { - Pending = "Pending", - Approved = "Approved", - 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", - Creating = "Creating", - Deleting = "Deleting", - 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; /** Defines values for SkuTier. */ export type SkuTier = "Free" | "Basic" | "Standard" | "Premium"; +/** Defines values for DayOfWeek. */ +export type DayOfWeek = + | "Monday" + | "Tuesday" + | "Wednesday" + | "Thursday" + | "Friday" + | "Saturday" + | "Sunday"; /** Optional parameters. */ export interface OperationsListOptionalParams @@ -1735,6 +1956,48 @@ export interface ScalingPlansListByHostPoolNextOptionalParams /** Contains response data for the listByHostPoolNext operation. */ export type ScalingPlansListByHostPoolNextResponse = ScalingPlanList; +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ScalingPlanPooledSchedulesGetResponse = ScalingPlanPooledSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesCreateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the create operation. */ +export type ScalingPlanPooledSchedulesCreateResponse = ScalingPlanPooledSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesDeleteOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesUpdateOptionalParams + extends coreClient.OperationOptions { + /** Object containing ScalingPlanPooledSchedule definitions. */ + scalingPlanSchedule?: ScalingPlanPooledSchedulePatch; +} + +/** Contains response data for the update operation. */ +export type ScalingPlanPooledSchedulesUpdateResponse = ScalingPlanPooledSchedule; + +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesListOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the list operation. */ +export type ScalingPlanPooledSchedulesListResponse = ScalingPlanPooledScheduleList; + +/** Optional parameters. */ +export interface ScalingPlanPooledSchedulesListNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listNext operation. */ +export type ScalingPlanPooledSchedulesListNextResponse = ScalingPlanPooledScheduleList; + /** 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 38097807e3ca..8eae2cf39541 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", @@ -523,17 +596,11 @@ export const WorkspaceList: coreClient.CompositeMapper = { } }; -export const ScalingSchedule: coreClient.CompositeMapper = { +export const ScalingPlanPooledScheduleProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingSchedule", + className: "ScalingPlanPooledScheduleProperties", modelProperties: { - name: { - serializedName: "name", - type: { - name: "String" - } - }, daysOfWeek: { serializedName: "daysOfWeek", type: { @@ -809,19 +876,26 @@ export const ScalingPlanList: coreClient.CompositeMapper = { } }; -export const MigrationRequestProperties: coreClient.CompositeMapper = { +export const ScalingPlanPooledScheduleList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MigrationRequestProperties", + className: "ScalingPlanPooledScheduleList", modelProperties: { - operation: { - serializedName: "operation", + value: { + serializedName: "value", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingPlanPooledSchedule" + } + } } }, - migrationPath: { - serializedName: "migrationPath", + nextLink: { + serializedName: "nextLink", + readOnly: true, type: { name: "String" } @@ -830,28 +904,19 @@ export const MigrationRequestProperties: coreClient.CompositeMapper = { } }; -export const Resource: coreClient.CompositeMapper = { +export const MigrationRequestProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Resource", + className: "MigrationRequestProperties", modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String" - } - }, - name: { - serializedName: "name", - readOnly: true, + operation: { + serializedName: "operation", type: { name: "String" } }, - type: { - serializedName: "type", - readOnly: true, + migrationPath: { + serializedName: "migrationPath", type: { name: "String" } @@ -1111,6 +1176,75 @@ export const RegistrationInfo: coreClient.CompositeMapper = { } }; +export const AgentUpdateProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentUpdateProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + useSessionHostLocalTime: { + serializedName: "useSessionHostLocalTime", + type: { + name: "Boolean" + } + }, + maintenanceWindowTimeZone: { + serializedName: "maintenanceWindowTimeZone", + type: { + name: "String" + } + }, + maintenanceWindows: { + serializedName: "maintenanceWindows", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaintenanceWindowProperties" + } + } + } + } + } + } +}; + +export const MaintenanceWindowProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MaintenanceWindowProperties", + modelProperties: { + hour: { + serializedName: "hour", + type: { + name: "Number" + } + }, + dayOfWeek: { + serializedName: "dayOfWeek", + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } + } + } +}; + export const RegistrationInfoPatch: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1132,6 +1266,75 @@ export const RegistrationInfoPatch: coreClient.CompositeMapper = { } }; +export const AgentUpdatePatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentUpdatePatchProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + useSessionHostLocalTime: { + serializedName: "useSessionHostLocalTime", + type: { + name: "Boolean" + } + }, + maintenanceWindowTimeZone: { + serializedName: "maintenanceWindowTimeZone", + type: { + name: "String" + } + }, + maintenanceWindows: { + serializedName: "maintenanceWindows", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaintenanceWindowPatchProperties" + } + } + } + } + } + } +}; + +export const MaintenanceWindowPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MaintenanceWindowPatchProperties", + modelProperties: { + hour: { + serializedName: "hour", + type: { + name: "Number" + } + }, + dayOfWeek: { + serializedName: "dayOfWeek", + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } + } + } +}; + export const HostPoolList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1474,13 +1677,25 @@ export const PrivateEndpointConnectionListResultWithSystemData: coreClient.Compo } }; -export const PrivateEndpoint: coreClient.CompositeMapper = { +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateEndpoint", + className: "PrivateLinkResourceListResult", modelProperties: { - id: { - serializedName: "id", + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", readOnly: true, type: { name: "String" @@ -1490,26 +1705,29 @@ export const PrivateEndpoint: coreClient.CompositeMapper = { } }; -export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkServiceConnectionState", + className: "PrivateEndpointConnection", modelProperties: { - status: { - serializedName: "status", + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { - name: "String" + name: "Composite", + className: "PrivateEndpoint" } }, - description: { - serializedName: "description", + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkServiceConnectionState" } }, - actionsRequired: { - serializedName: "actionsRequired", - type: { + provisioningState: { + serializedName: "properties.provisioningState", + type: { name: "String" } } @@ -1517,26 +1735,142 @@ export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { } }; -export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResourceListResult", + className: "ScalingPlanPooledSchedule", modelProperties: { - value: { - serializedName: "value", + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + daysOfWeek: { + serializedName: "properties.daysOfWeek", type: { name: "Sequence", element: { type: { - name: "Composite", - className: "PrivateLinkResource" + name: "String" } } } }, - nextLink: { - serializedName: "nextLink", - readOnly: true, + 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: 0 + }, + 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" } @@ -1545,26 +1879,156 @@ export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { } }; -export const Workspace: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Workspace", + className: "ScalingPlanPooledSchedulePatch", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + ...Resource.type.modelProperties, + daysOfWeek: { + serializedName: "properties.daysOfWeek", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", type: { name: "Composite", - className: "SystemData" + className: "Time" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + 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: 0 + }, + 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 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: { @@ -1576,41 +2040,57 @@ export const Workspace: coreClient.CompositeMapper = { type: { name: "String" } + } + } + } +}; + +export const StartMenuItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StartMenuItem", + modelProperties: { + ...Resource.type.modelProperties, + appAlias: { + serializedName: "properties.appAlias", + type: { + name: "String" + } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", + filePath: { + serializedName: "properties.filePath", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + commandLineArguments: { + serializedName: "properties.commandLineArguments", type: { - name: "Boolean" + name: "String" } }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + iconPath: { + serializedName: "properties.iconPath", type: { name: "String" } + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number" + } } } } }; -export const ScalingPlan: coreClient.CompositeMapper = { +export const Application: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlan", + className: "Application", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1637,58 +2117,87 @@ export const ScalingPlan: coreClient.CompositeMapper = { name: "String" } }, - timeZone: { - serializedName: "properties.timeZone", + filePath: { + serializedName: "properties.filePath", type: { name: "String" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", + nullable: true, type: { name: "String" } }, - exclusionTag: { - serializedName: "properties.exclusionTag", + msixPackageApplicationId: { + serializedName: "properties.msixPackageApplicationId", + nullable: true, type: { name: "String" } }, - schedules: { - serializedName: "properties.schedules", + applicationType: { + serializedName: "properties.applicationType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingSchedule" - } - } + name: "String" } }, - hostPoolReferences: { - serializedName: "properties.hostPoolReferences", + commandLineSetting: { + serializedName: "properties.commandLineSetting", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingHostPoolReference" - } - } + 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" + } + }, + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, + type: { + name: "String" + } + }, + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, + type: { + 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: { @@ -1715,63 +2224,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" - } - }, - migrationRequest: { - serializedName: "properties.migrationRequest", - type: { - name: "Composite", - className: "MigrationRequestProperties" - } - }, - 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: { @@ -1786,19 +2267,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: { @@ -1811,9 +2279,14 @@ export const HostPool: coreClient.CompositeMapper = { name: "Number" } }, + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", + type: { + name: "String" + } + }, loadBalancerType: { serializedName: "properties.loadBalancerType", - required: true, type: { name: "String" } @@ -1834,7 +2307,7 @@ export const HostPool: coreClient.CompositeMapper = { serializedName: "properties.registrationInfo", type: { name: "Composite", - className: "RegistrationInfo" + className: "RegistrationInfoPatch" } }, vmTemplate: { @@ -1843,18 +2316,6 @@ export const HostPool: coreClient.CompositeMapper = { name: "String" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, ssoadfsAuthority: { serializedName: "properties.ssoadfsAuthority", type: { @@ -1881,7 +2342,6 @@ export const HostPool: coreClient.CompositeMapper = { }, preferredAppGroupType: { serializedName: "properties.preferredAppGroupType", - required: true, type: { name: "String" } @@ -1892,75 +2352,137 @@ export const HostPool: coreClient.CompositeMapper = { name: "Boolean" } }, - migrationRequest: { - serializedName: "properties.migrationRequest", - type: { - name: "Composite", - className: "MigrationRequestProperties" - } - }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, - type: { - name: "Boolean" - } - }, publicNetworkAccess: { serializedName: "properties.publicNetworkAccess", type: { name: "String" } + }, + agentUpdate: { + serializedName: "properties.agentUpdate", + type: { + name: "Composite", + className: "AgentUpdatePatchProperties" + } } } } }; -export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", - modelProperties: { - ...Identity.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", - modelProperties: { - ...Sku.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { +export const UserSession: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", + className: "UserSession", modelProperties: { - ...Plan.type.modelProperties + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + userPrincipalName: { + serializedName: "properties.userPrincipalName", + type: { + name: "String" + } + }, + applicationType: { + serializedName: "properties.applicationType", + type: { + name: "String" + } + }, + sessionState: { + serializedName: "properties.sessionState", + type: { + name: "String" + } + }, + activeDirectoryUserName: { + serializedName: "properties.activeDirectoryUserName", + type: { + name: "String" + } + }, + createTime: { + serializedName: "properties.createTime", + type: { + name: "DateTime" + } + } } } }; -export const ApplicationGroupPatch: coreClient.CompositeMapper = { +export const SessionHost: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroupPatch", + className: "SessionHost", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + systemData: { + serializedName: "systemData", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Composite", + className: "SystemData" } }, - description: { - serializedName: "properties.description", + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + lastHeartBeat: { + serializedName: "properties.lastHeartBeat", + type: { + name: "DateTime" + } + }, + sessions: { + serializedName: "properties.sessions", + type: { + name: "Number" + } + }, + agentVersion: { + serializedName: "properties.agentVersion", + type: { + name: "String" + } + }, + allowNewSession: { + serializedName: "properties.allowNewSession", + type: { + name: "Boolean" + } + }, + virtualMachineId: { + serializedName: "properties.virtualMachineId", + readOnly: true, + type: { + name: "String" + } + }, + resourceId: { + serializedName: "properties.resourceId", + readOnly: true, + type: { + name: "String" + } + }, + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } @@ -1968,57 +2490,102 @@ export const ApplicationGroupPatch: coreClient.CompositeMapper = { friendlyName: { serializedName: "properties.friendlyName", type: { - name: "String" + name: "String" + } + }, + status: { + serializedName: "properties.status", + type: { + name: "String" + } + }, + statusTimestamp: { + serializedName: "properties.statusTimestamp", + readOnly: true, + type: { + name: "DateTime" + } + }, + osVersion: { + serializedName: "properties.osVersion", + type: { + name: "String" + } + }, + sxSStackVersion: { + serializedName: "properties.sxSStackVersion", + type: { + name: "String" + } + }, + updateState: { + serializedName: "properties.updateState", + type: { + name: "String" + } + }, + lastUpdateTime: { + serializedName: "properties.lastUpdateTime", + readOnly: true, + type: { + name: "DateTime" + } + }, + updateErrorMessage: { + serializedName: "properties.updateErrorMessage", + type: { + name: "String" + } + }, + sessionHostHealthCheckResults: { + serializedName: "properties.sessionHostHealthCheckResults", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SessionHostHealthCheckReport" + } + } } } } } }; -export const StartMenuItem: coreClient.CompositeMapper = { +export const SessionHostPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "StartMenuItem", + className: "SessionHostPatch", modelProperties: { ...Resource.type.modelProperties, - appAlias: { - serializedName: "properties.appAlias", - type: { - name: "String" - } - }, - filePath: { - serializedName: "properties.filePath", + allowNewSession: { + serializedName: "properties.allowNewSession", type: { - name: "String" + name: "Boolean" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } }, - iconPath: { - serializedName: "properties.iconPath", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } - }, - iconIndex: { - serializedName: "properties.iconIndex", - type: { - name: "Number" - } } } } }; -export const Application: coreClient.CompositeMapper = { +export const MsixPackage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Application", + className: "MsixPackage", modelProperties: { ...Resource.type.modelProperties, systemData: { @@ -2028,276 +2595,265 @@ export const Application: coreClient.CompositeMapper = { className: "SystemData" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, - type: { - name: "String" - } - }, - description: { - serializedName: "properties.description", - type: { - name: "String" - } - }, - friendlyName: { - serializedName: "properties.friendlyName", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - filePath: { - serializedName: "properties.filePath", + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - msixPackageFamilyName: { - serializedName: "properties.msixPackageFamilyName", - nullable: true, + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - msixPackageApplicationId: { - serializedName: "properties.msixPackageApplicationId", + displayName: { + serializedName: "properties.displayName", nullable: true, type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", - type: { - name: "String" - } - }, - commandLineSetting: { - serializedName: "properties.commandLineSetting", - required: true, + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { name: "String" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - showInPortal: { - serializedName: "properties.showInPortal", + isActive: { + serializedName: "properties.isActive", type: { name: "Boolean" } }, - iconPath: { - serializedName: "properties.iconPath", + packageDependencies: { + serializedName: "properties.packageDependencies", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } } }, - iconIndex: { - serializedName: "properties.iconIndex", + version: { + serializedName: "properties.version", type: { - name: "Number" + name: "String" } }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + lastUpdated: { + serializedName: "properties.lastUpdated", type: { - name: "String" + name: "DateTime" } }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, + packageApplications: { + serializedName: "properties.packageApplications", type: { - name: "ByteArray" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const Desktop: coreClient.CompositeMapper = { +export const MsixPackagePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Desktop", + className: "MsixPackagePatch", modelProperties: { ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, - type: { - name: "String" - } - }, - description: { - serializedName: "properties.description", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - friendlyName: { - serializedName: "properties.friendlyName", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + displayName: { + serializedName: "properties.displayName", type: { name: "String" } - }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, - type: { - name: "ByteArray" - } } } } }; -export const HostPoolPatch: coreClient.CompositeMapper = { +export const ExpandMsixImage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPoolPatch", + className: "ExpandMsixImage", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - }, - friendlyName: { - serializedName: "properties.friendlyName", + packageAlias: { + serializedName: "properties.packageAlias", type: { name: "String" } }, - description: { - serializedName: "properties.description", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { - name: "Number" + name: "String" } }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + packageFullName: { + serializedName: "properties.packageFullName", type: { name: "String" } }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - ring: { - serializedName: "properties.ring", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { - name: "Number" + name: "String" } }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { name: "Boolean" } }, - registrationInfo: { - serializedName: "properties.registrationInfo", - type: { - name: "Composite", - className: "RegistrationInfoPatch" - } - }, - vmTemplate: { - serializedName: "properties.vmTemplate", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + packageDependencies: { + serializedName: "properties.packageDependencies", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } } }, - ssoClientId: { - serializedName: "properties.ssoClientId", + version: { + serializedName: "properties.version", type: { name: "String" } }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + lastUpdated: { + serializedName: "properties.lastUpdated", type: { - name: "String" + name: "DateTime" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + packageApplications: { + serializedName: "properties.packageApplications", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } - }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...Resource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, type: { name: "String" } }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const UserSession: coreClient.CompositeMapper = { +export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserSession", + className: "Workspace", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2312,46 +2868,65 @@ export const UserSession: coreClient.CompositeMapper = { name: "String" } }, - userPrincipalName: { - serializedName: "properties.userPrincipalName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - sessionState: { - serializedName: "properties.sessionState", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - activeDirectoryUserName: { - serializedName: "properties.activeDirectoryUserName", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - createTime: { - serializedName: "properties.createTime", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } } } } } }; -export const SessionHost: coreClient.CompositeMapper = { +export const ScalingPlan: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHost", + className: "ScalingPlan", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2366,139 +2941,150 @@ export const SessionHost: coreClient.CompositeMapper = { name: "String" } }, - lastHeartBeat: { - serializedName: "properties.lastHeartBeat", + description: { + serializedName: "properties.description", type: { - name: "DateTime" + name: "String" } }, - sessions: { - serializedName: "properties.sessions", + friendlyName: { + serializedName: "properties.friendlyName", type: { - name: "Number" + name: "String" } }, - agentVersion: { - serializedName: "properties.agentVersion", + timeZone: { + serializedName: "properties.timeZone", + required: true, type: { name: "String" } }, - allowNewSession: { - serializedName: "properties.allowNewSession", + hostPoolType: { + defaultValue: "Pooled", + serializedName: "properties.hostPoolType", type: { - name: "Boolean" + name: "String" } }, - virtualMachineId: { - serializedName: "properties.virtualMachineId", - readOnly: true, + scalingPlanType: { + defaultValue: "Pooled", + serializedName: "properties.scalingPlanType", type: { name: "String" } }, - resourceId: { - serializedName: "properties.resourceId", - readOnly: true, + exclusionTag: { + serializedName: "properties.exclusionTag", type: { name: "String" } }, - assignedUser: { - serializedName: "properties.assignedUser", + schedules: { + serializedName: "properties.schedules", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingSchedule" + } + } } }, - status: { - serializedName: "properties.status", + hostPoolReferences: { + serializedName: "properties.hostPoolReferences", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingHostPoolReference" + } + } + } + } + } + } +}; + +export const ApplicationGroup: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroup", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" } }, - statusTimestamp: { - serializedName: "properties.statusTimestamp", + objectId: { + serializedName: "properties.objectId", readOnly: true, type: { - name: "DateTime" + name: "String" } }, - osVersion: { - serializedName: "properties.osVersion", + description: { + serializedName: "properties.description", type: { name: "String" } }, - sxSStackVersion: { - serializedName: "properties.sxSStackVersion", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - updateState: { - serializedName: "properties.updateState", + hostPoolArmPath: { + serializedName: "properties.hostPoolArmPath", + required: true, type: { name: "String" } }, - lastUpdateTime: { - serializedName: "properties.lastUpdateTime", + workspaceArmPath: { + serializedName: "properties.workspaceArmPath", readOnly: true, type: { - name: "DateTime" + name: "String" } }, - updateErrorMessage: { - serializedName: "properties.updateErrorMessage", + applicationGroupType: { + serializedName: "properties.applicationGroupType", + required: true, type: { name: "String" } }, - sessionHostHealthCheckResults: { - serializedName: "properties.sessionHostHealthCheckResults", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "SessionHostHealthCheckReport" - } - } - } - } - } - } -}; - -export const SessionHostPatch: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "SessionHostPatch", - modelProperties: { - ...Resource.type.modelProperties, - allowNewSession: { - serializedName: "properties.allowNewSession", + migrationRequest: { + serializedName: "properties.migrationRequest", type: { - name: "Boolean" + name: "Composite", + className: "MigrationRequestProperties" } }, - assignedUser: { - serializedName: "properties.assignedUser", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, type: { - name: "String" + name: "Boolean" } } } } }; -export const MsixPackage: coreClient.CompositeMapper = { +export const HostPool: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackage", + className: "HostPool", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2506,211 +3092,167 @@ export const MsixPackage: coreClient.CompositeMapper = { className: "SystemData" } }, - imagePath: { - serializedName: "properties.imagePath", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - packageName: { - serializedName: "properties.packageName", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + hostPoolType: { + serializedName: "properties.hostPoolType", + required: true, type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", - type: { - name: "Boolean" - } - }, - isActive: { - serializedName: "properties.isActive", + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { - name: "Boolean" + name: "String" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } + name: "Number" } }, - version: { - serializedName: "properties.version", + loadBalancerType: { + serializedName: "properties.loadBalancerType", + required: true, type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + ring: { + serializedName: "properties.ring", type: { - name: "DateTime" + name: "Number" } }, - 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", + validationEnvironment: { + serializedName: "properties.validationEnvironment", type: { name: "Boolean" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + registrationInfo: { + serializedName: "properties.registrationInfo", type: { - name: "Boolean" + name: "Composite", + className: "RegistrationInfo" } }, - displayName: { - serializedName: "properties.displayName", - type: { - name: "String" - } - } - } - } -}; - -export const ExpandMsixImage: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandMsixImage", - modelProperties: { - ...Resource.type.modelProperties, - packageAlias: { - serializedName: "properties.packageAlias", + vmTemplate: { + serializedName: "properties.vmTemplate", type: { name: "String" } }, - imagePath: { - serializedName: "properties.imagePath", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - packageName: { - serializedName: "properties.packageName", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { name: "String" } }, - packageFullName: { - serializedName: "properties.packageFullName", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", + required: true, type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", type: { name: "Boolean" } }, - isActive: { - serializedName: "properties.isActive", + migrationRequest: { + serializedName: "properties.migrationRequest", type: { - name: "Boolean" + name: "Composite", + className: "MigrationRequestProperties" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", - nullable: true, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } + name: "Boolean" } }, - version: { - serializedName: "properties.version", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + agentUpdate: { + serializedName: "properties.agentUpdate", type: { - name: "DateTime" + name: "Composite", + className: "AgentUpdateProperties" } }, - packageApplications: { - serializedName: "properties.packageApplications", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MsixPackageApplications" + className: "PrivateEndpointConnection" } } } @@ -2719,71 +3261,47 @@ export const ExpandMsixImage: coreClient.CompositeMapper = { } }; -export const PrivateEndpointConnection: coreClient.CompositeMapper = { +export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateEndpointConnection", + className: "ResourceModelWithAllowedPropertySetIdentity", modelProperties: { - ...Resource.type.modelProperties, - privateEndpoint: { - serializedName: "properties.privateEndpoint", - type: { - name: "Composite", - className: "PrivateEndpoint" - } - }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", - type: { - name: "Composite", - className: "PrivateLinkServiceConnectionState" - } - }, - provisioningState: { - serializedName: "properties.provisioningState", - type: { - name: "String" - } - } + ...Identity.type.modelProperties } } }; -export const PrivateLinkResource: coreClient.CompositeMapper = { +export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { type: { name: "Composite", - className: "PrivateLinkResource", + className: "ResourceModelWithAllowedPropertySetSku", modelProperties: { - ...Resource.type.modelProperties, - groupId: { - serializedName: "properties.groupId", - readOnly: true, + ...Sku.type.modelProperties + } + } +}; + +export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ResourceModelWithAllowedPropertySetPlan", + modelProperties: { + ...Plan.type.modelProperties + } + } +}; + +export const ScalingSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingSchedule", + modelProperties: { + ...ScalingPlanPooledScheduleProperties.type.modelProperties, + name: { + serializedName: "name", type: { name: "String" } - }, - requiredMembers: { - serializedName: "properties.requiredMembers", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, - requiredZoneNames: { - serializedName: "properties.requiredZoneNames", - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } } } } diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 6c8618a4d9ea..1ee2fc160db6 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts @@ -16,6 +16,8 @@ import { WorkspacePatch as WorkspacePatchMapper, ScalingPlan as ScalingPlanMapper, ScalingPlanPatch as ScalingPlanPatchMapper, + ScalingPlanPooledSchedule as ScalingPlanPooledScheduleMapper, + ScalingPlanPooledSchedulePatch as ScalingPlanPooledSchedulePatchMapper, ApplicationGroup as ApplicationGroupMapper, ApplicationGroupPatch as ApplicationGroupPatchMapper, Application as ApplicationMapper, @@ -58,7 +60,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-09-03-preview", + defaultValue: "2022-04-01-preview", isConstant: true, serializedName: "api-version", type: { @@ -185,6 +187,31 @@ export const hostPoolName: OperationURLParameter = { } }; +export const scalingPlanScheduleName: OperationURLParameter = { + parameterPath: "scalingPlanScheduleName", + mapper: { + constraints: { + MaxLength: 64, + MinLength: 1 + }, + serializedName: "scalingPlanScheduleName", + required: true, + type: { + name: "String" + } + } +}; + +export const scalingPlanSchedule: OperationParameter = { + parameterPath: "scalingPlanSchedule", + mapper: ScalingPlanPooledScheduleMapper +}; + +export const scalingPlanSchedule1: OperationParameter = { + parameterPath: ["options", "scalingPlanSchedule"], + mapper: ScalingPlanPooledSchedulePatchMapper +}; + 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 7431743f39da..bff43d706008 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts @@ -9,6 +9,7 @@ export * from "./operations"; export * from "./workspaces"; export * from "./scalingPlans"; +export * from "./scalingPlanPooledSchedules"; export * from "./applicationGroups"; export * from "./startMenuItems"; export * from "./applications"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPooledSchedules.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPooledSchedules.ts new file mode 100644 index 000000000000..179d6ebb521f --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/scalingPlanPooledSchedules.ts @@ -0,0 +1,371 @@ +/* + * 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 { ScalingPlanPooledSchedules } 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 { + ScalingPlanPooledSchedule, + ScalingPlanPooledSchedulesListNextOptionalParams, + ScalingPlanPooledSchedulesListOptionalParams, + ScalingPlanPooledSchedulesGetOptionalParams, + ScalingPlanPooledSchedulesGetResponse, + ScalingPlanPooledSchedulesCreateOptionalParams, + ScalingPlanPooledSchedulesCreateResponse, + ScalingPlanPooledSchedulesDeleteOptionalParams, + ScalingPlanPooledSchedulesUpdateOptionalParams, + ScalingPlanPooledSchedulesUpdateResponse, + ScalingPlanPooledSchedulesListResponse, + ScalingPlanPooledSchedulesListNextResponse +} from "../models"; + +/// +/** Class containing ScalingPlanPooledSchedules operations. */ +export class ScalingPlanPooledSchedulesImpl + implements ScalingPlanPooledSchedules { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class ScalingPlanPooledSchedules class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List ScalingPlanPooledSchedules. + * @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?: ScalingPlanPooledSchedulesListOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listPagingAll( + resourceGroupName, + scalingPlanName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: () => { + return this.listPagingPage(resourceGroupName, scalingPlanName, options); + } + }; + } + + private async *listPagingPage( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPooledSchedulesListOptionalParams + ): AsyncIterableIterator { + let result = await this._list(resourceGroupName, scalingPlanName, options); + yield result.value || []; + let continuationToken = result.nextLink; + while (continuationToken) { + result = await this._listNext( + resourceGroupName, + scalingPlanName, + continuationToken, + options + ); + continuationToken = result.nextLink; + yield result.value || []; + } + } + + private async *listPagingAll( + resourceGroupName: string, + scalingPlanName: string, + options?: ScalingPlanPooledSchedulesListOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listPagingPage( + resourceGroupName, + scalingPlanName, + options + )) { + yield* page; + } + } + + /** + * Get a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesGetOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + getOperationSpec + ); + } + + /** + * Create or update a ScalingPlanPooledSchedule. + * @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 ScalingPlanPooledSchedule definitions. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + scalingPlanSchedule: ScalingPlanPooledSchedule, + options?: ScalingPlanPooledSchedulesCreateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + scalingPlanName, + scalingPlanScheduleName, + scalingPlanSchedule, + options + }, + createOperationSpec + ); + } + + /** + * Remove a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesDeleteOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + deleteOperationSpec + ); + } + + /** + * Update a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesUpdateOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, scalingPlanName, scalingPlanScheduleName, options }, + updateOperationSpec + ); + } + + /** + * List ScalingPlanPooledSchedules. + * @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?: ScalingPlanPooledSchedulesListOptionalParams + ): 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?: ScalingPlanPooledSchedulesListNextOptionalParams + ): 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}/pooledSchedules/{scalingPlanScheduleName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPooledSchedule + }, + 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}/pooledSchedules/{scalingPlanScheduleName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPooledSchedule + }, + 201: { + bodyMapper: Mappers.ScalingPlanPooledSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.scalingPlanSchedule, + 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}/pooledSchedules/{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}/pooledSchedules/{scalingPlanScheduleName}", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPooledSchedule + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.scalingPlanSchedule1, + 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}/pooledSchedules", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ScalingPlanPooledScheduleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + 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.ScalingPlanPooledScheduleList + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + 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 7431743f39da..bff43d706008 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts @@ -9,6 +9,7 @@ export * from "./operations"; export * from "./workspaces"; export * from "./scalingPlans"; +export * from "./scalingPlanPooledSchedules"; export * from "./applicationGroups"; export * from "./startMenuItems"; export * from "./applications"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPooledSchedules.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPooledSchedules.ts new file mode 100644 index 000000000000..87dbec33896d --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/scalingPlanPooledSchedules.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 { + ScalingPlanPooledSchedule, + ScalingPlanPooledSchedulesListOptionalParams, + ScalingPlanPooledSchedulesGetOptionalParams, + ScalingPlanPooledSchedulesGetResponse, + ScalingPlanPooledSchedulesCreateOptionalParams, + ScalingPlanPooledSchedulesCreateResponse, + ScalingPlanPooledSchedulesDeleteOptionalParams, + ScalingPlanPooledSchedulesUpdateOptionalParams, + ScalingPlanPooledSchedulesUpdateResponse +} from "../models"; + +/// +/** Interface representing a ScalingPlanPooledSchedules. */ +export interface ScalingPlanPooledSchedules { + /** + * List ScalingPlanPooledSchedules. + * @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?: ScalingPlanPooledSchedulesListOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesGetOptionalParams + ): Promise; + /** + * Create or update a ScalingPlanPooledSchedule. + * @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 ScalingPlanPooledSchedule definitions. + * @param options The options parameters. + */ + create( + resourceGroupName: string, + scalingPlanName: string, + scalingPlanScheduleName: string, + scalingPlanSchedule: ScalingPlanPooledSchedule, + options?: ScalingPlanPooledSchedulesCreateOptionalParams + ): Promise; + /** + * Remove a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesDeleteOptionalParams + ): Promise; + /** + * Update a ScalingPlanPooledSchedule. + * @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?: ScalingPlanPooledSchedulesUpdateOptionalParams + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json index 6e3251194117..3e6ae96443f3 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json @@ -9,11 +9,19 @@ "esModuleInterop": true, "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "lib": ["es6", "dom"], + "lib": [ + "es6", + "dom" + ], "declaration": true, "outDir": "./dist-esm", "importHelpers": true }, - "include": ["./src/**/*.ts", "./test/**/*.ts"], - "exclude": ["node_modules"] -} + "include": [ + "./src/**/*.ts", + "./test/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/ci.mgmt.yml b/sdk/desktopvirtualization/ci.mgmt.yml index 49dcccde78de..6e279e84ce71 100644 --- a/sdk/desktopvirtualization/ci.mgmt.yml +++ b/sdk/desktopvirtualization/ci.mgmt.yml @@ -1,5 +1,5 @@ # NOTE: Please refer to https://aka.ms/azsdk/engsys/ci-yaml before editing this file. - + trigger: branches: include: @@ -10,6 +10,7 @@ trigger: include: - sdk/desktopvirtualization/ci.mgmt.yml - sdk/desktopvirtualization/arm-desktopvirtualization/ + - sdk/desktopvirtualization/arm-desktopvirtualization pr: branches: include: @@ -23,11 +24,11 @@ pr: include: - sdk/desktopvirtualization/ci.mgmt.yml - sdk/desktopvirtualization/arm-desktopvirtualization/ - + - sdk/desktopvirtualization/arm-desktopvirtualization extends: template: /eng/pipelines/templates/stages/archetype-sdk-client.yml parameters: ServiceDirectory: desktopvirtualization Artifacts: - name: azure-arm-desktopvirtualization - safeName: azurearmdesktopvirtualization \ No newline at end of file + safeName: azurearmdesktopvirtualization