From 9a819e786717e41a22e47df0b7c59954ff008ba2 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Tue, 10 Dec 2024 06:02:14 +0000 Subject: [PATCH] CodeGen from PR 31818 in Azure/azure-rest-api-specs Merge 90d991e909d426310bfda0b14ac828c3d8bde290 into fd102c4a14bf65096a17688fd5a283e511db3c14 --- common/config/rush/pnpm-lock.yaml | 8 +- .../arm-desktopvirtualization/CHANGELOG.md | 162 +- .../arm-desktopvirtualization/README.md | 3 +- .../arm-desktopvirtualization/_meta.json | 8 +- .../arm-desktopvirtualization/package.json | 67 +- .../review/arm-desktopvirtualization.api.md | 723 ++++- .../arm-desktopvirtualization/sample.env | 5 +- .../src/desktopVirtualizationAPIClient.ts | 34 +- .../arm-desktopvirtualization/src/lroImpl.ts | 42 + .../src/models/index.ts | 1354 ++++++-- .../src/models/mappers.ts | 2727 +++++++++++++---- .../src/models/parameters.ts | 69 +- .../activeSessionHostConfigurations.ts | 244 ++ .../operations/appAttachPackageOperations.ts | 10 +- .../operations/controlSessionHostUpdate.ts | 172 ++ .../src/operations/hostPools.ts | 2 +- .../src/operations/index.ts | 7 + .../operations/initiateSessionHostUpdate.ts | 70 + .../operations/sessionHostConfigurations.ts | 515 ++++ .../src/operations/sessionHostManagements.ts | 330 ++ .../sessionHostManagementsUpdateStatus.ts | 73 + .../src/operations/sessionHostOperations.ts | 69 + .../src/operations/sessionHosts.ts | 1 + .../activeSessionHostConfigurations.ts | 43 + .../appAttachPackageOperations.ts | 8 +- .../controlSessionHostUpdate.ts | 49 + .../src/operationsInterfaces/hostPools.ts | 2 +- .../src/operationsInterfaces/index.ts | 7 + .../initiateSessionHostUpdate.ts | 24 + .../sessionHostConfigurations.ts | 105 + .../sessionHostManagements.ts | 70 + .../sessionHostManagementsUpdateStatus.ts | 27 + .../sessionHostOperations.ts | 26 + .../test/sampleTest.ts | 43 + .../arm-desktopvirtualization/tsconfig.json | 12 +- 35 files changed, 6140 insertions(+), 971 deletions(-) create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/lroImpl.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/activeSessionHostConfigurations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/controlSessionHostUpdate.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/initiateSessionHostUpdate.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostConfigurations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagements.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagementsUpdateStatus.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostOperations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/activeSessionHostConfigurations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/controlSessionHostUpdate.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/initiateSessionHostUpdate.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostConfigurations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagements.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagementsUpdateStatus.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostOperations.ts create mode 100644 sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 24a2fa3fb65e..9db62f957677 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14337,20 +14337,22 @@ packages: dev: false file:projects/arm-desktopvirtualization.tgz: - resolution: {integrity: sha512-KvsIp1oUXXoO/YtSCmFUnFKBu34dVDPc+LIJGF7NqqikgTW5d81ZBrB2ja25i4n3LwdfDaeqneFqeNnDE6HUnQ==, tarball: file:projects/arm-desktopvirtualization.tgz} + resolution: {integrity: sha512-yeJfWhP/l3IvdWCl9WtlApp3KPiqF7B5HgtMBdW/QYgvMWtyYim6mqr+JVQcePWGDpCH5bOIMgP8El3j3feGpw==, tarball: file:projects/arm-desktopvirtualization.tgz} name: '@rush-temp/arm-desktopvirtualization' version: 0.0.0 dependencies: '@azure-tools/test-credential': 1.3.1 '@azure-tools/test-recorder': 3.5.2 + '@azure/core-lro': 2.7.2 '@types/chai': 4.3.20 '@types/mocha': 10.0.10 '@types/node': 18.19.67 chai: 4.5.0 dotenv: 16.4.7 - mocha: 11.0.2 + mocha: 10.8.2 ts-node: 10.9.2(@types/node@18.19.67)(typescript@5.6.3) tslib: 2.8.1 + tsx: 4.19.2 typescript: 5.6.3 transitivePeerDependencies: - '@swc/core' @@ -19748,7 +19750,7 @@ packages: dev: false file:projects/core-sse.tgz: - resolution: {integrity: sha512-rxq/J1ftJ2e0MkPDv49RFsVQcu/68yCe6/h0R6+SdIkKBnhbYY12SkHzwOEOLFtemwLv+mh2SAqE6KHTYwJ8Lg==, tarball: file:projects/core-sse.tgz} + resolution: {integrity: sha512-mJ6yU1aJSHYVmT31VIT4SQSNzaMvqNi0IAWz+DHH2XZj+GTcVazXvt3x02xgQMraoXRuBuaEBiW5RfwqK99Jiw==, tarball: file:projects/core-sse.tgz} name: '@rush-temp/core-sse' version: 0.0.0 dependencies: diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index dd06aae777d0..4463e2ba5b8c 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,163 @@ # Release History - -## 1.2.1 (Unreleased) - + +## 2.0.0-beta.1 (2024-12-10) +Compared with version 1.2.0 + ### Features Added -### Breaking Changes + - Added operation group ActiveSessionHostConfigurations + - Added operation group ControlSessionHostUpdate + - Added operation group InitiateSessionHostUpdate + - Added operation group SessionHostConfigurations + - Added operation group SessionHostManagements + - Added operation group SessionHostManagementsUpdateStatus + - Added operation group SessionHostOperations + - Added Interface ActiveDirectoryInfoPatchProperties + - Added Interface ActiveDirectoryInfoProperties + - Added Interface ActiveSessionHostConfiguration + - Added Interface ActiveSessionHostConfigurationList + - Added Interface ActiveSessionHostConfigurationsGetOptionalParams + - Added Interface ActiveSessionHostConfigurationsListByHostPoolNextOptionalParams + - Added Interface ActiveSessionHostConfigurationsListByHostPoolOptionalParams + - Added Interface AzureActiveDirectoryInfoProperties + - Added Interface BootDiagnosticsInfoPatchProperties + - Added Interface BootDiagnosticsInfoProperties + - Added Interface ControlSessionHostUpdatePostHeaders + - Added Interface ControlSessionHostUpdatePostOptionalParams + - Added Interface CustomInfoPatchProperties + - Added Interface CustomInfoProperties + - Added Interface DiskInfoPatchProperties + - Added Interface DiskInfoProperties + - Added Interface DomainInfoPatchProperties + - Added Interface DomainInfoProperties + - Added Interface HostPoolUpdateConfigurationPatchProperties + - Added Interface HostPoolUpdateConfigurationProperties + - Added Interface HostPoolUpdateControlParameter + - Added Interface HostPoolUpdateFault + - Added Interface ImageInfoPatchProperties + - Added Interface ImageInfoProperties + - Added Interface InitiateSessionHostUpdatePostOptionalParams + - Added Interface KeyVaultCredentialsPatchProperties + - Added Interface KeyVaultCredentialsProperties + - Added Interface ManagedServiceIdentity + - Added Interface MarketplaceInfoPatchProperties + - Added Interface MarketplaceInfoProperties + - Added Interface NetworkInfoPatchProperties + - Added Interface NetworkInfoProperties + - Added Interface SecurityInfoPatchProperties + - Added Interface SecurityInfoProperties + - Added Interface SessionHostConfiguration + - Added Interface SessionHostConfigurationList + - Added Interface SessionHostConfigurationPatch + - Added Interface SessionHostConfigurationsCreateOrUpdateHeaders + - Added Interface SessionHostConfigurationsCreateOrUpdateOptionalParams + - Added Interface SessionHostConfigurationsGetOptionalParams + - Added Interface SessionHostConfigurationsListByHostPoolNextOptionalParams + - Added Interface SessionHostConfigurationsListByHostPoolOptionalParams + - Added Interface SessionHostConfigurationsUpdateHeaders + - Added Interface SessionHostConfigurationsUpdateOptionalParams + - Added Interface SessionHostManagement + - Added Interface SessionHostManagementList + - Added Interface SessionHostManagementOperationProgress + - Added Interface SessionHostManagementPatch + - Added Interface SessionHostManagementsCreateOrUpdateOptionalParams + - Added Interface SessionHostManagementsGetOptionalParams + - Added Interface SessionHostManagementsListByHostPoolNextOptionalParams + - Added Interface SessionHostManagementsListByHostPoolOptionalParams + - Added Interface SessionHostManagementsUpdateOptionalParams + - Added Interface SessionHostManagementsUpdateStatusGetOptionalParams + - Added Interface SessionHostManagementUpdateStatus + - Added Interface SessionHostRetryProvisioningOptionalParams + - Added Interface UpdateSessionHostsRequestBody + - Added Interface UserAssignedIdentity + - Added Type Alias ActiveSessionHostConfigurationsGetResponse + - Added Type Alias ActiveSessionHostConfigurationsListByHostPoolNextResponse + - Added Type Alias ActiveSessionHostConfigurationsListByHostPoolResponse + - Added Type Alias ControlSessionHostUpdatePostResponse + - Added Type Alias DirectUDP + - Added Type Alias DomainJoinType + - Added Type Alias FaultType + - Added Type Alias HostPoolUpdateAction + - Added Type Alias ManagedPrivateUDP + - Added Type Alias ManagedServiceIdentityType + - Added Type Alias ManagementType + - Added Type Alias OperationTypeSHM + - Added Type Alias ProvisioningStateSHC + - Added Type Alias PublicUDP + - Added Type Alias RelayUDP + - Added Type Alias SessionHostConfigurationsCreateOrUpdateResponse + - Added Type Alias SessionHostConfigurationsGetResponse + - Added Type Alias SessionHostConfigurationsListByHostPoolNextResponse + - Added Type Alias SessionHostConfigurationsListByHostPoolResponse + - Added Type Alias SessionHostConfigurationsUpdateResponse + - Added Type Alias SessionHostManagementsCreateOrUpdateResponse + - Added Type Alias SessionHostManagementsGetResponse + - Added Type Alias SessionHostManagementsListByHostPoolNextResponse + - Added Type Alias SessionHostManagementsListByHostPoolResponse + - Added Type Alias SessionHostManagementsUpdateResponse + - Added Type Alias SessionHostManagementsUpdateStatusGetResponse + - Added Type Alias Type + - Added Type Alias VirtualMachineDiskType + - Added Type Alias VirtualMachineSecurityType + - Interface AppAttachPackageDeleteOptionalParams has a new optional parameter force + - Interface AppAttachPackagePatch has a new optional parameter tags + - Interface AppAttachPackagePatchProperties has a new optional parameter customData + - Interface AppAttachPackagePatchProperties has a new optional parameter packageLookbackUrl + - Interface AppAttachPackageProperties has a new optional parameter customData + - Interface AppAttachPackageProperties has a new optional parameter packageLookbackUrl + - Interface AppAttachPackageProperties has a new optional parameter packageOwnerName + - Interface HostPool has a new optional parameter directUDP + - Interface HostPool has a new optional parameter managedPrivateUDP + - Interface HostPool has a new optional parameter managementType + - Interface HostPool has a new optional parameter publicUDP + - Interface HostPool has a new optional parameter relayUDP + - Interface HostPoolPatch has a new optional parameter directUDP + - Interface HostPoolPatch has a new optional parameter managedPrivateUDP + - Interface HostPoolPatch has a new optional parameter publicUDP + - Interface HostPoolPatch has a new optional parameter relayUDP + - Interface ScalingPlanPooledSchedule has a new optional parameter namePropertiesName + - Interface ScalingPlanPooledSchedulePatch has a new optional parameter namePropertiesName + - Interface SessionHost has a new optional parameter lastSessionHostUpdateTime + - Interface SessionHost has a new optional parameter sessionHostConfiguration + - Interface SessionHostsListOptionalParams has a new optional parameter vmPath + - Added Enum KnownDirectUDP + - Added Enum KnownDomainJoinType + - Added Enum KnownFaultType + - Added Enum KnownHostPoolUpdateAction + - Added Enum KnownManagedPrivateUDP + - Added Enum KnownManagedServiceIdentityType + - Added Enum KnownManagementType + - Added Enum KnownOperationTypeSHM + - Added Enum KnownProvisioningStateSHC + - Added Enum KnownPublicUDP + - Added Enum KnownRelayUDP + - Added Enum KnownType + - Added Enum KnownVirtualMachineDiskType + - Added Enum KnownVirtualMachineSecurityType + - Enum KnownLoadBalancerType has a new value MultiplePersistent + - Enum KnownScalingHostPoolType has a new value Personal -### Bugs Fixed - -### Other Changes +### Breaking Changes + - Parameter daysOfWeek of interface ScalingPlanPersonalSchedule is now required + - Parameter offPeakStartTime of interface ScalingPlanPersonalSchedule is now required + - Parameter peakStartTime of interface ScalingPlanPersonalSchedule is now required + - Parameter rampDownStartTime of interface ScalingPlanPersonalSchedule is now required + - Parameter rampUpStartTime of interface ScalingPlanPersonalSchedule is now required + - Parameter daysOfWeek of interface ScalingPlanPooledSchedule is now required + - Parameter offPeakStartTime of interface ScalingPlanPooledSchedule is now required + - Parameter peakStartTime of interface ScalingPlanPooledSchedule is now required + - Parameter rampDownCapacityThresholdPct of interface ScalingPlanPooledSchedule is now required + - Parameter rampDownStartTime of interface ScalingPlanPooledSchedule is now required + - Parameter rampUpCapacityThresholdPct of interface ScalingPlanPooledSchedule is now required + - Parameter rampUpStartTime of interface ScalingPlanPooledSchedule is now required + - Type of parameter identity of interface ResourceModelWithAllowedPropertySet is changed from ResourceModelWithAllowedPropertySetIdentity to ManagedServiceIdentity + - Type of parameter plan of interface ResourceModelWithAllowedPropertySet is changed from ResourceModelWithAllowedPropertySetPlan to Plan + - Type of parameter sku of interface ResourceModelWithAllowedPropertySet is changed from ResourceModelWithAllowedPropertySetSku to Sku + - Type of parameter daysOfWeek of interface ScalingSchedule is changed from ScalingScheduleDaysOfWeekItem[] to DayOfWeek[] + - Removed Enum KnownScalingScheduleDaysOfWeekItem + + ## 1.2.0 (2024-09-11) ### Features Added diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md index 387cf846b7df..194e53730506 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md @@ -6,7 +6,7 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-desktopvirtualization) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started @@ -44,7 +44,6 @@ npm install @azure/identity ``` You will also need to **register a new AAD application and grant access to Azure Desktop Virtualization API** by assigning the suitable role to your service principal (note: roles such as `"Owner"` will not grant the necessary permissions). -Set the values of the client ID, tenant ID, and client secret of the AAD application as environment variables: `AZURE_CLIENT_ID`, `AZURE_TENANT_ID`, `AZURE_CLIENT_SECRET`. For more information about how to create an Azure AD Application check out [this guide](https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal). diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index 5859911a66ad..d06adc9ce46e 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "3519c80fe510a268f6e59a29ccac8a53fdec15b6", + "commit": "acad81755623908e6d049a78cfd91a94bbfa7c40", "readme": "specification/desktopvirtualization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\desktopvirtualization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.27 --generate-sample=true", + "autorest_command": "autorest --version=3.9.7 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@^6.0.12", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.7.13", - "use": "@autorest/typescript@6.0.27" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.16", + "use": "@autorest/typescript@^6.0.12" } \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json index 2fe39e3ce785..2146df649d16 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -3,15 +3,17 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DesktopVirtualizationAPIClient.", - "version": "1.2.1", + "version": "2.0.0-beta.1", "engines": { "node": ">=18.0.0" }, "dependencies": { - "@azure/core-auth": "^1.3.0", - "@azure/core-client": "^1.7.0", + "@azure/core-lro": "^2.5.4", + "@azure/abort-controller": "^2.1.2", "@azure/core-paging": "^1.2.0", - "@azure/core-rest-pipeline": "^1.12.0", + "@azure/core-client": "^1.7.0", + "@azure/core-auth": "^1.6.0", + "@azure/core-rest-pipeline": "^1.14.0", "tslib": "^2.2.0" }, "keywords": [ @@ -26,18 +28,19 @@ "module": "./dist-esm/src/index.js", "types": "./types/arm-desktopvirtualization.d.ts", "devDependencies": { - "@azure-tools/test-credential": "^1.0.0", - "@azure-tools/test-recorder": "^3.0.0", + "typescript": "~5.6.2", + "dotenv": "^16.0.0", "@azure/dev-tool": "^1.0.0", - "@azure/identity": "^4.0.1", - "@types/chai": "^4.2.8", + "@azure/identity": "^4.2.1", + "@azure-tools/test-recorder": "^3.0.0", + "@azure-tools/test-credential": "^1.1.0", + "mocha": "^10.0.0", "@types/mocha": "^10.0.0", - "@types/node": "^18.0.0", + "tsx": "^4.7.1", + "@types/chai": "^4.2.8", "chai": "^4.2.0", - "dotenv": "^16.0.0", - "mocha": "^11.0.2", - "ts-node": "^10.0.0", - "typescript": "~5.6.2" + "@types/node": "^18.0.0", + "ts-node": "^10.0.0" }, "repository": { "type": "git", @@ -65,28 +68,28 @@ ], "scripts": { "build": "npm run clean && tsc && dev-tool run bundle && npm run minify && dev-tool run vendored mkdirp ./review && npm run extract-api", - "build:browser": "echo skipped", + "minify": "dev-tool run vendored uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", + "prepack": "npm run build", + "pack": "npm pack 2>&1", + "extract-api": "dev-tool run extract-api", + "lint": "echo skipped", + "clean": "dev-tool run vendored rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", "build:node": "echo skipped", - "build:samples": "echo skipped.", + "build:browser": "echo skipped", "build:test": "echo skipped", + "build:samples": "echo skipped.", "check-format": "echo skipped", - "clean": "dev-tool run vendored rimraf --glob dist dist-browser dist-esm test-dist temp types *.tgz *.log", "execute:samples": "echo skipped", - "extract-api": "dev-tool run extract-api", "format": "echo skipped", - "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:browser": "echo skipped", - "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", - "lint": "echo skipped", - "minify": "dev-tool run vendored uglifyjs -c -m --comments --source-map \"content='./dist/index.js.map'\" -o ./dist/index.min.js ./dist/index.js", - "pack": "npm pack 2>&1", - "prepack": "npm run build", "test": "npm run integration-test", - "test:browser": "echo skipped", "test:node": "echo skipped", + "test:browser": "echo skipped", "unit-test": "npm run unit-test:node && npm run unit-test:browser", - "unit-test:browser": "echo skipped", "unit-test:node": "dev-tool run vendored cross-env TEST_MODE=playback npm run integration-test:node", + "unit-test:browser": "echo skipped", + "integration-test": "npm run integration-test:node && npm run integration-test:browser", + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped", "update-snippets": "echo skipped" }, "sideEffects": false, @@ -99,13 +102,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization" +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md index 5529e3513346..c368f66b198a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -6,7 +6,76 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; +import { OperationState } from '@azure/core-lro'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +import { SimplePollerLike } from '@azure/core-lro'; + +// @public +export interface ActiveDirectoryInfoPatchProperties { + domainCredentials?: KeyVaultCredentialsPatchProperties; +} + +// @public +export interface ActiveDirectoryInfoProperties { + domainCredentials: KeyVaultCredentialsProperties; + domainName?: string; + ouPath: string; +} + +// @public +export interface ActiveSessionHostConfiguration extends Resource { + availabilityZones?: number[]; + bootDiagnosticsInfo?: BootDiagnosticsInfoProperties; + customConfigurationScriptUrl?: string; + diskInfo: DiskInfoProperties; + domainInfo: DomainInfoProperties; + friendlyName?: string; + imageInfo: ImageInfoProperties; + networkInfo: NetworkInfoProperties; + securityInfo?: SecurityInfoProperties; + readonly version?: Date; + vmAdminCredentials: KeyVaultCredentialsProperties; + vmLocation?: string; + vmNamePrefix: string; + vmResourceGroup?: string; + vmSizeId: string; + vmTags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface ActiveSessionHostConfigurationList { + readonly nextLink?: string; + value?: ActiveSessionHostConfiguration[]; +} + +// @public +export interface ActiveSessionHostConfigurations { + get(resourceGroupName: string, hostPoolName: string, options?: ActiveSessionHostConfigurationsGetOptionalParams): Promise; + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface ActiveSessionHostConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ActiveSessionHostConfigurationsGetResponse = ActiveSessionHostConfiguration; + +// @public +export interface ActiveSessionHostConfigurationsListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ActiveSessionHostConfigurationsListByHostPoolNextResponse = ActiveSessionHostConfigurationList; + +// @public +export interface ActiveSessionHostConfigurationsListByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type ActiveSessionHostConfigurationsListByHostPoolResponse = ActiveSessionHostConfigurationList; // @public export interface AgentUpdatePatchProperties { @@ -41,6 +110,7 @@ export type AppAttachPackageCreateOrUpdateResponse = AppAttachPackage; // @public export interface AppAttachPackageDeleteOptionalParams extends coreClient.OperationOptions { + force?: boolean; } // @public @@ -138,22 +208,30 @@ export interface AppAttachPackageOperations { // @public export interface AppAttachPackagePatch extends Resource { properties?: AppAttachPackagePatchProperties; + tags?: { + [propertyName: string]: string; + }; } // @public export interface AppAttachPackagePatchProperties { + customData?: string; failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; hostPoolReferences?: string[]; image?: AppAttachPackageInfoProperties; keyVaultURL?: string; + packageLookbackUrl?: string; } // @public export interface AppAttachPackageProperties { + customData?: string; failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; hostPoolReferences?: string[]; image?: AppAttachPackageInfoProperties; keyVaultURL?: string; + packageLookbackUrl?: string; + packageOwnerName?: string; readonly provisioningState?: ProvisioningState; } @@ -362,6 +440,23 @@ export type ApplicationsUpdateResponse = Application; // @public export type ApplicationType = string; +// @public +export interface AzureActiveDirectoryInfoProperties { + mdmProviderGuid: string; +} + +// @public +export interface BootDiagnosticsInfoPatchProperties { + enabled?: boolean; + storageUri?: string; +} + +// @public +export interface BootDiagnosticsInfoProperties { + enabled?: boolean; + storageUri?: string; +} + // @public export interface CloudError { error?: CloudErrorProperties; @@ -376,9 +471,40 @@ export interface CloudErrorProperties { // @public export type CommandLineSetting = string; +// @public +export interface ControlSessionHostUpdate { + beginPost(resourceGroupName: string, hostPoolName: string, hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, options?: ControlSessionHostUpdatePostOptionalParams): Promise, ControlSessionHostUpdatePostResponse>>; + beginPostAndWait(resourceGroupName: string, hostPoolName: string, hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, options?: ControlSessionHostUpdatePostOptionalParams): Promise; +} + +// @public +export interface ControlSessionHostUpdatePostHeaders { + location?: string; + retryAfter?: number; +} + +// @public +export interface ControlSessionHostUpdatePostOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type ControlSessionHostUpdatePostResponse = ControlSessionHostUpdatePostHeaders; + // @public export type CreatedByType = string; +// @public +export interface CustomInfoPatchProperties { + resourceId?: string; +} + +// @public +export interface CustomInfoProperties { + resourceId: string; +} + // @public export type DayOfWeek = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"; @@ -451,6 +577,8 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { $host: string; constructor(credentials: coreAuth.TokenCredential, subscriptionId: string, options?: DesktopVirtualizationAPIClientOptionalParams); // (undocumented) + activeSessionHostConfigurations: ActiveSessionHostConfigurations; + // (undocumented) apiVersion: string; // (undocumented) appAttachPackageInfo: AppAttachPackageInfo; @@ -461,10 +589,14 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) applications: Applications; // (undocumented) + controlSessionHostUpdate: ControlSessionHostUpdate; + // (undocumented) desktops: Desktops; // (undocumented) hostPools: HostPools; // (undocumented) + initiateSessionHostUpdate: InitiateSessionHostUpdate; + // (undocumented) msixImages: MsixImages; // (undocumented) msixPackages: MsixPackages; @@ -481,6 +613,14 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) scalingPlans: ScalingPlans; // (undocumented) + sessionHostConfigurations: SessionHostConfigurations; + // (undocumented) + sessionHostManagements: SessionHostManagements; + // (undocumented) + sessionHostManagementsUpdateStatus: SessionHostManagementsUpdateStatus; + // (undocumented) + sessionHostOperations: SessionHostOperations; + // (undocumented) sessionHosts: SessionHosts; // (undocumented) startMenuItems: StartMenuItems; @@ -499,6 +639,34 @@ export interface DesktopVirtualizationAPIClientOptionalParams extends coreClient endpoint?: string; } +// @public +export type DirectUDP = string; + +// @public +export interface DiskInfoPatchProperties { + type?: VirtualMachineDiskType; +} + +// @public +export interface DiskInfoProperties { + type: VirtualMachineDiskType; +} + +// @public +export interface DomainInfoPatchProperties { + activeDirectoryInfo?: ActiveDirectoryInfoPatchProperties; +} + +// @public +export interface DomainInfoProperties { + activeDirectoryInfo?: ActiveDirectoryInfoProperties; + azureActiveDirectoryInfo?: AzureActiveDirectoryInfoProperties; + joinType: DomainJoinType; +} + +// @public +export type DomainJoinType = string; + // @public export interface ErrorAdditionalInfo { readonly info?: Record; @@ -547,6 +715,9 @@ export interface ExpandMsixImageList { // @public export type FailHealthCheckOnStagingFailure = string; +// @public +export type FaultType = string; + // @public export function getContinuationToken(page: unknown): string | undefined; @@ -564,16 +735,21 @@ export interface HostPool extends ResourceModelWithAllowedPropertySet { readonly cloudPcResource?: boolean; customRdpProperty?: string; description?: string; + directUDP?: DirectUDP; friendlyName?: string; hostPoolType: HostPoolType; loadBalancerType: LoadBalancerType; + managedPrivateUDP?: ManagedPrivateUDP; + managementType?: ManagementType; maxSessionLimit?: number; readonly objectId?: string; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType: PreferredAppGroupType; readonly privateEndpointConnections?: PrivateEndpointConnection[]; publicNetworkAccess?: HostpoolPublicNetworkAccess; + publicUDP?: PublicUDP; registrationInfo?: RegistrationInfo; + relayUDP?: RelayUDP; ring?: number; ssoadfsAuthority?: string; ssoClientId?: string; @@ -595,13 +771,17 @@ export interface HostPoolPatch extends Resource { agentUpdate?: AgentUpdatePatchProperties; customRdpProperty?: string; description?: string; + directUDP?: DirectUDP; friendlyName?: string; loadBalancerType?: LoadBalancerType; + managedPrivateUDP?: ManagedPrivateUDP; maxSessionLimit?: number; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType?: PreferredAppGroupType; publicNetworkAccess?: HostpoolPublicNetworkAccess; + publicUDP?: PublicUDP; registrationInfo?: RegistrationInfoPatch; + relayUDP?: RelayUDP; ring?: number; ssoadfsAuthority?: string; ssoClientId?: string; @@ -709,10 +889,50 @@ export type HostPoolsUpdateResponse = HostPool; export type HostPoolType = string; // @public -export interface Identity { - readonly principalId?: string; - readonly tenantId?: string; - type?: "SystemAssigned"; +export type HostPoolUpdateAction = string; + +// @public +export interface HostPoolUpdateConfigurationPatchProperties { + deleteOriginalVm?: boolean; + logOffDelayMinutes?: number; + logOffMessage?: string; + maxVmsRemoved?: number; +} + +// @public +export interface HostPoolUpdateConfigurationProperties { + deleteOriginalVm?: boolean; + logOffDelayMinutes: number; + logOffMessage?: string; + maxVmsRemoved: number; +} + +// @public +export interface HostPoolUpdateControlParameter { + action: HostPoolUpdateAction; + cancelMessage?: string; +} + +// @public +export interface HostPoolUpdateFault { + faultCode?: string; + faultContext?: string; + faultText?: string; + faultType?: FaultType; +} + +// @public +export interface ImageInfoPatchProperties { + customInfo?: CustomInfoPatchProperties; + imageType?: Type; + marketplaceInfo?: MarketplaceInfoPatchProperties; +} + +// @public +export interface ImageInfoProperties { + customInfo?: CustomInfoProperties; + imageType: Type; + marketplaceInfo?: MarketplaceInfoProperties; } // @public @@ -721,6 +941,28 @@ export interface ImportPackageInfoRequest { path?: string; } +// @public +export interface InitiateSessionHostUpdate { + post(resourceGroupName: string, hostPoolName: string, options?: InitiateSessionHostUpdatePostOptionalParams): Promise; +} + +// @public +export interface InitiateSessionHostUpdatePostOptionalParams extends coreClient.OperationOptions { + updateSessionHostsRequestBody?: UpdateSessionHostsRequestBody; +} + +// @public +export interface KeyVaultCredentialsPatchProperties { + passwordKeyVaultSecretUri?: string; + usernameKeyVaultSecretUri?: string; +} + +// @public +export interface KeyVaultCredentialsProperties { + passwordKeyVaultSecretUri: string; + usernameKeyVaultSecretUri: string; +} + // @public export enum KnownAppAttachPackageArchitectures { ALL = "ALL", @@ -759,6 +1001,19 @@ export enum KnownCreatedByType { User = "User" } +// @public +export enum KnownDirectUDP { + Default = "Default", + Disabled = "Disabled", + Enabled = "Enabled" +} + +// @public +export enum KnownDomainJoinType { + ActiveDirectory = "ActiveDirectory", + AzureActiveDirectory = "AzureActiveDirectory" +} + // @public export enum KnownFailHealthCheckOnStagingFailure { DoNotFail = "DoNotFail", @@ -766,6 +1021,12 @@ export enum KnownFailHealthCheckOnStagingFailure { Unhealthy = "Unhealthy" } +// @public +export enum KnownFaultType { + ServiceError = "ServiceError", + UserError = "UserError" +} + // @public export enum KnownHealthCheckName { AppAttachHealthCheck = "AppAttachHealthCheck", @@ -804,13 +1065,50 @@ export enum KnownHostPoolType { Pooled = "Pooled" } +// @public +export enum KnownHostPoolUpdateAction { + Cancel = "Cancel", + Pause = "Pause", + Resume = "Resume", + Retry = "Retry", + Start = "Start" +} + // @public export enum KnownLoadBalancerType { BreadthFirst = "BreadthFirst", DepthFirst = "DepthFirst", + MultiplePersistent = "MultiplePersistent", Persistent = "Persistent" } +// @public +export enum KnownManagedPrivateUDP { + Default = "Default", + Disabled = "Disabled", + Enabled = "Enabled" +} + +// @public +export enum KnownManagedServiceIdentityType { + None = "None", + SystemAssigned = "SystemAssigned", + SystemAssignedUserAssigned = "SystemAssigned,UserAssigned", + UserAssigned = "UserAssigned" +} + +// @public +export enum KnownManagementType { + Automated = "Automated", + Standard = "Standard" +} + +// @public +export enum KnownOperationTypeSHM { + InitiateSessionHostUpdate = "InitiateSessionHostUpdate", + ValidateSessionHostUpdate = "ValidateSessionHostUpdate" +} + // @public export enum KnownPackageTimestamped { NotTimestamped = "NotTimestamped", @@ -853,12 +1151,27 @@ export enum KnownProvisioningState { Succeeded = "Succeeded" } +// @public +export enum KnownProvisioningStateSHC { + Canceled = "Canceled", + Failed = "Failed", + Provisioning = "Provisioning", + Succeeded = "Succeeded" +} + // @public export enum KnownPublicNetworkAccess { Disabled = "Disabled", Enabled = "Enabled" } +// @public +export enum KnownPublicUDP { + Default = "Default", + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownRegistrationTokenOperation { Delete = "Delete", @@ -866,6 +1179,13 @@ export enum KnownRegistrationTokenOperation { Update = "Update" } +// @public +export enum KnownRelayUDP { + Default = "Default", + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownRemoteApplicationType { InBuilt = "InBuilt", @@ -874,20 +1194,10 @@ export enum KnownRemoteApplicationType { // @public export enum KnownScalingHostPoolType { + Personal = "Personal", Pooled = "Pooled" } -// @public -export enum KnownScalingScheduleDaysOfWeekItem { - Friday = "Friday", - Monday = "Monday", - Saturday = "Saturday", - Sunday = "Sunday", - Thursday = "Thursday", - Tuesday = "Tuesday", - Wednesday = "Wednesday" -} - // @public export enum KnownSessionHandlingOperation { Deallocate = "Deallocate", @@ -960,6 +1270,12 @@ export enum KnownStopHostsWhen { ZeroSessions = "ZeroSessions" } +// @public +export enum KnownType { + Custom = "Custom", + Marketplace = "Marketplace" +} + // @public export enum KnownUpdateState { Failed = "Failed", @@ -969,6 +1285,20 @@ export enum KnownUpdateState { Succeeded = "Succeeded" } +// @public +export enum KnownVirtualMachineDiskType { + PremiumLRS = "Premium_LRS", + StandardLRS = "Standard_LRS", + StandardSSDLRS = "StandardSSD_LRS" +} + +// @public +export enum KnownVirtualMachineSecurityType { + ConfidentialVM = "ConfidentialVM", + Standard = "Standard", + TrustedLaunch = "TrustedLaunch" +} + // @public export type LoadBalancerType = string; @@ -991,6 +1321,41 @@ export interface MaintenanceWindowProperties { hour?: number; } +// @public +export type ManagedPrivateUDP = string; + +// @public +export interface ManagedServiceIdentity { + readonly principalId?: string; + readonly tenantId?: string; + type: ManagedServiceIdentityType; + userAssignedIdentities?: { + [propertyName: string]: UserAssignedIdentity | null; + }; +} + +// @public +export type ManagedServiceIdentityType = string; + +// @public +export type ManagementType = string; + +// @public +export interface MarketplaceInfoPatchProperties { + exactVersion?: string; + offer?: string; + publisher?: string; + sku?: string; +} + +// @public +export interface MarketplaceInfoProperties { + exactVersion: string; + offer: string; + publisher: string; + sku: string; +} + // @public export interface MsixImages { listExpand(resourceGroupName: string, hostPoolName: string, msixImageURI: MsixImageURI, options?: MsixImagesExpandOptionalParams): PagedAsyncIterableIterator; @@ -1113,6 +1478,18 @@ export interface MsixPackagesUpdateOptionalParams extends coreClient.OperationOp // @public export type MsixPackagesUpdateResponse = MsixPackage; +// @public +export interface NetworkInfoPatchProperties { + securityGroupId?: string; + subnetId?: string; +} + +// @public +export interface NetworkInfoProperties { + securityGroupId?: string; + subnetId: string; +} + // @public export interface OperationProperties { serviceSpecification?: ServiceSpecification; @@ -1137,6 +1514,9 @@ export interface OperationsListOptionalParams extends coreClient.OperationOption // @public export type OperationsListResponse = ResourceProviderOperationList; +// @public +export type OperationTypeSHM = string; + // @public export type PackageTimestamped = string; @@ -1326,6 +1706,9 @@ export interface PrivateLinkServiceConnectionState { // @public export type ProvisioningState = string; +// @public +export type ProvisioningStateSHC = string; + // @public export interface ProxyResource extends Resource { } @@ -1333,6 +1716,9 @@ export interface ProxyResource extends Resource { // @public export type PublicNetworkAccess = string; +// @public +export type PublicUDP = string; + // @public export interface RegistrationInfo { expirationTime?: Date; @@ -1361,6 +1747,9 @@ export interface RegistrationTokenMinimal { // @public export type RegistrationTokenOperation = string; +// @public +export type RelayUDP = string; + // @public export type RemoteApplicationType = string; @@ -1375,26 +1764,11 @@ export interface Resource { // @public export interface ResourceModelWithAllowedPropertySet extends TrackedResource { readonly etag?: string; - // (undocumented) - identity?: ResourceModelWithAllowedPropertySetIdentity; + identity?: ManagedServiceIdentity; kind?: string; managedBy?: string; - // (undocumented) - plan?: ResourceModelWithAllowedPropertySetPlan; - // (undocumented) - sku?: ResourceModelWithAllowedPropertySetSku; -} - -// @public (undocumented) -export interface ResourceModelWithAllowedPropertySetIdentity extends Identity { -} - -// @public (undocumented) -export interface ResourceModelWithAllowedPropertySetPlan extends Plan { -} - -// @public (undocumented) -export interface ResourceModelWithAllowedPropertySetSku extends Sku { + plan?: Plan; + sku?: Sku; } // @public @@ -1461,31 +1835,31 @@ export interface ScalingPlanPatch { // @public export interface ScalingPlanPersonalSchedule extends ProxyResource { - daysOfWeek?: DayOfWeek[]; + daysOfWeek: DayOfWeek[]; offPeakActionOnDisconnect?: SessionHandlingOperation; offPeakActionOnLogoff?: SessionHandlingOperation; offPeakMinutesToWaitOnDisconnect?: number; offPeakMinutesToWaitOnLogoff?: number; - offPeakStartTime?: Time; + offPeakStartTime: Time; offPeakStartVMOnConnect?: SetStartVMOnConnect; peakActionOnDisconnect?: SessionHandlingOperation; peakActionOnLogoff?: SessionHandlingOperation; peakMinutesToWaitOnDisconnect?: number; peakMinutesToWaitOnLogoff?: number; - peakStartTime?: Time; + peakStartTime: Time; peakStartVMOnConnect?: SetStartVMOnConnect; rampDownActionOnDisconnect?: SessionHandlingOperation; rampDownActionOnLogoff?: SessionHandlingOperation; rampDownMinutesToWaitOnDisconnect?: number; rampDownMinutesToWaitOnLogoff?: number; - rampDownStartTime?: Time; + rampDownStartTime: Time; rampDownStartVMOnConnect?: SetStartVMOnConnect; rampUpActionOnDisconnect?: SessionHandlingOperation; rampUpActionOnLogoff?: SessionHandlingOperation; rampUpAutoStartHosts?: StartupBehavior; rampUpMinutesToWaitOnDisconnect?: number; rampUpMinutesToWaitOnLogoff?: number; - rampUpStartTime?: Time; + rampUpStartTime: Time; rampUpStartVMOnConnect?: SetStartVMOnConnect; } @@ -1579,23 +1953,24 @@ export type ScalingPlanPersonalSchedulesUpdateResponse = ScalingPlanPersonalSche // @public export interface ScalingPlanPooledSchedule extends Resource { - daysOfWeek?: DayOfWeek[]; + daysOfWeek: DayOfWeek[]; + readonly namePropertiesName?: string; offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - offPeakStartTime?: Time; + offPeakStartTime: Time; peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; - peakStartTime?: Time; - rampDownCapacityThresholdPct?: number; + peakStartTime: Time; + rampDownCapacityThresholdPct: number; rampDownForceLogoffUsers?: boolean; rampDownLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; rampDownMinimumHostsPct?: number; rampDownNotificationMessage?: string; - rampDownStartTime?: Time; + rampDownStartTime: Time; rampDownStopHostsWhen?: StopHostsWhen; rampDownWaitTimeMinutes?: number; - rampUpCapacityThresholdPct?: number; + rampUpCapacityThresholdPct: number; rampUpLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; rampUpMinimumHostsPct?: number; - rampUpStartTime?: Time; + rampUpStartTime: Time; } // @public @@ -1607,6 +1982,7 @@ export interface ScalingPlanPooledScheduleList { // @public export interface ScalingPlanPooledSchedulePatch extends Resource { daysOfWeek?: DayOfWeek[]; + readonly namePropertiesName?: string; offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; offPeakStartTime?: Time; peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; @@ -1767,7 +2143,7 @@ export type ScalingPlansUpdateResponse = ScalingPlan; // @public export interface ScalingSchedule { - daysOfWeek?: ScalingScheduleDaysOfWeekItem[]; + daysOfWeek?: DayOfWeek[]; name?: string; offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; offPeakStartTime?: Time; @@ -1788,7 +2164,18 @@ export interface ScalingSchedule { } // @public -export type ScalingScheduleDaysOfWeekItem = string; +export interface SecurityInfoPatchProperties { + secureBootEnabled?: boolean; + type?: VirtualMachineSecurityType; + vTpmEnabled?: boolean; +} + +// @public +export interface SecurityInfoProperties { + secureBootEnabled?: boolean; + type?: VirtualMachineSecurityType; + vTpmEnabled?: boolean; +} // @public export interface SendMessage { @@ -1811,10 +2198,12 @@ export interface SessionHost extends Resource { assignedUser?: string; friendlyName?: string; lastHeartBeat?: Date; + readonly lastSessionHostUpdateTime?: Date; readonly lastUpdateTime?: Date; readonly objectId?: string; osVersion?: string; readonly resourceId?: string; + readonly sessionHostConfiguration?: string; readonly sessionHostHealthCheckResults?: SessionHostHealthCheckReport[]; sessions?: number; status?: Status; @@ -1828,6 +2217,116 @@ export interface SessionHost extends Resource { // @public export type SessionHostComponentUpdateType = string; +// @public +export interface SessionHostConfiguration extends Resource { + availabilityZones?: number[]; + bootDiagnosticsInfo?: BootDiagnosticsInfoProperties; + customConfigurationScriptUrl?: string; + diskInfo: DiskInfoProperties; + domainInfo: DomainInfoProperties; + friendlyName?: string; + imageInfo: ImageInfoProperties; + networkInfo: NetworkInfoProperties; + readonly provisioningState?: ProvisioningStateSHC; + securityInfo?: SecurityInfoProperties; + readonly version?: Date; + vmAdminCredentials: KeyVaultCredentialsProperties; + vmLocation?: string; + vmNamePrefix: string; + vmResourceGroup?: string; + vmSizeId: string; + vmTags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface SessionHostConfigurationList { + readonly nextLink?: string; + value?: SessionHostConfiguration[]; +} + +// @public +export interface SessionHostConfigurationPatch { + availabilityZones?: number[]; + bootDiagnosticsInfo?: BootDiagnosticsInfoPatchProperties; + customConfigurationScriptUrl?: string; + diskInfo?: DiskInfoPatchProperties; + domainInfo?: DomainInfoPatchProperties; + friendlyName?: string; + imageInfo?: ImageInfoPatchProperties; + networkInfo?: NetworkInfoPatchProperties; + securityInfo?: SecurityInfoPatchProperties; + vmAdminCredentials?: KeyVaultCredentialsPatchProperties; + vmLocation?: string; + vmNamePrefix?: string; + vmResourceGroup?: string; + vmSizeId?: string; + vmTags?: { + [propertyName: string]: string; + }; +} + +// @public +export interface SessionHostConfigurations { + beginCreateOrUpdate(resourceGroupName: string, hostPoolName: string, sessionHostConfiguration: SessionHostConfiguration, options?: SessionHostConfigurationsCreateOrUpdateOptionalParams): Promise, SessionHostConfigurationsCreateOrUpdateResponse>>; + beginCreateOrUpdateAndWait(resourceGroupName: string, hostPoolName: string, sessionHostConfiguration: SessionHostConfiguration, options?: SessionHostConfigurationsCreateOrUpdateOptionalParams): Promise; + beginUpdate(resourceGroupName: string, hostPoolName: string, options?: SessionHostConfigurationsUpdateOptionalParams): Promise, SessionHostConfigurationsUpdateResponse>>; + beginUpdateAndWait(resourceGroupName: string, hostPoolName: string, options?: SessionHostConfigurationsUpdateOptionalParams): Promise; + get(resourceGroupName: string, hostPoolName: string, options?: SessionHostConfigurationsGetOptionalParams): Promise; + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: SessionHostConfigurationsListByHostPoolOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface SessionHostConfigurationsCreateOrUpdateHeaders { + azureAsyncOperation?: string; +} + +// @public +export interface SessionHostConfigurationsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + updateIntervalInMs?: number; +} + +// @public +export type SessionHostConfigurationsCreateOrUpdateResponse = SessionHostConfigurationsCreateOrUpdateHeaders & SessionHostConfiguration; + +// @public +export interface SessionHostConfigurationsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostConfigurationsGetResponse = SessionHostConfiguration; + +// @public +export interface SessionHostConfigurationsListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostConfigurationsListByHostPoolNextResponse = SessionHostConfigurationList; + +// @public +export interface SessionHostConfigurationsListByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostConfigurationsListByHostPoolResponse = SessionHostConfigurationList; + +// @public +export interface SessionHostConfigurationsUpdateHeaders { + azureAsyncOperation?: string; +} + +// @public +export interface SessionHostConfigurationsUpdateOptionalParams extends coreClient.OperationOptions { + resumeFrom?: string; + sessionHostConfiguration?: SessionHostConfigurationPatch; + updateIntervalInMs?: number; +} + +// @public +export type SessionHostConfigurationsUpdateResponse = SessionHostConfigurationsUpdateHeaders & SessionHostConfiguration; + // @public export interface SessionHostHealthCheckFailureDetails { readonly errorCode?: number; @@ -1851,6 +2350,109 @@ export interface SessionHostList { // @public export type SessionHostLoadBalancingAlgorithm = string; +// @public +export interface SessionHostManagement extends ProxyResource { + scheduledDateTimeZone: string; + update: HostPoolUpdateConfigurationProperties; +} + +// @public +export interface SessionHostManagementList { + readonly nextLink?: string; + value?: SessionHostManagement[]; +} + +// @public +export interface SessionHostManagementOperationProgress { + executionStartTime?: Date; + sessionHostsCompleted?: number; + sessionHostsInProgress?: number; + sessionHostsRollbackFailed?: number; + totalSessionHosts?: number; +} + +// @public +export interface SessionHostManagementPatch { + scheduledDateTimeZone?: string; + update?: HostPoolUpdateConfigurationPatchProperties; +} + +// @public +export interface SessionHostManagements { + createOrUpdate(resourceGroupName: string, hostPoolName: string, sessionHostManagement: SessionHostManagement, options?: SessionHostManagementsCreateOrUpdateOptionalParams): Promise; + get(resourceGroupName: string, hostPoolName: string, options?: SessionHostManagementsGetOptionalParams): Promise; + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: SessionHostManagementsListByHostPoolOptionalParams): PagedAsyncIterableIterator; + update(resourceGroupName: string, hostPoolName: string, options?: SessionHostManagementsUpdateOptionalParams): Promise; +} + +// @public +export interface SessionHostManagementsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostManagementsCreateOrUpdateResponse = SessionHostManagement; + +// @public +export interface SessionHostManagementsGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostManagementsGetResponse = SessionHostManagement; + +// @public +export interface SessionHostManagementsListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostManagementsListByHostPoolNextResponse = SessionHostManagementList; + +// @public +export interface SessionHostManagementsListByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostManagementsListByHostPoolResponse = SessionHostManagementList; + +// @public +export interface SessionHostManagementsUpdateOptionalParams extends coreClient.OperationOptions { + sessionHostManagement?: SessionHostManagementPatch; +} + +// @public +export type SessionHostManagementsUpdateResponse = SessionHostManagement; + +// @public +export interface SessionHostManagementsUpdateStatus { + get(resourceGroupName: string, hostPoolName: string, options?: SessionHostManagementsUpdateStatusGetOptionalParams): Promise; +} + +// @public +export interface SessionHostManagementsUpdateStatusGetOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type SessionHostManagementsUpdateStatusGetResponse = SessionHostManagementUpdateStatus; + +// @public +export interface SessionHostManagementUpdateStatus { + correlationId?: string; + endTime?: Date; + error?: ErrorDetail; + id?: string; + name?: string; + percentComplete?: number; + progress?: SessionHostManagementOperationProgress; + scheduledDateTime?: Date; + sessionHostManagement?: SessionHostManagement; + startTime?: Date; + status: string; +} + +// @public +export interface SessionHostOperations { + retryProvisioning(resourceGroupName: string, hostPoolName: string, sessionHostName: string, options?: SessionHostRetryProvisioningOptionalParams): Promise; +} + // @public export interface SessionHostPatch extends Resource { allowNewSession?: boolean; @@ -1858,6 +2460,10 @@ export interface SessionHostPatch extends Resource { friendlyName?: string; } +// @public +export interface SessionHostRetryProvisioningOptionalParams extends coreClient.OperationOptions { +} + // @public export interface SessionHosts { delete(resourceGroupName: string, hostPoolName: string, sessionHostName: string, options?: SessionHostsDeleteOptionalParams): Promise; @@ -1890,6 +2496,7 @@ export interface SessionHostsListOptionalParams extends coreClient.OperationOpti initialSkip?: number; isDescending?: boolean; pageSize?: number; + vmPath?: string; } // @public @@ -1995,9 +2602,25 @@ export interface TrackedResource extends Resource { }; } +// @public +export type Type = string; + +// @public +export interface UpdateSessionHostsRequestBody { + scheduledDateTime?: Date; + scheduledDateTimeZone?: string; + update?: HostPoolUpdateConfigurationPatchProperties; +} + // @public export type UpdateState = string; +// @public +export interface UserAssignedIdentity { + readonly clientId?: string; + readonly principalId?: string; +} + // @public export interface UserSession extends Resource { activeDirectoryUserName?: string; @@ -2080,6 +2703,12 @@ export interface UserSessionsSendMessageOptionalParams extends coreClient.Operat sendMessage?: SendMessage; } +// @public +export type VirtualMachineDiskType = string; + +// @public +export type VirtualMachineSecurityType = string; + // @public export interface Workspace extends ResourceModelWithAllowedPropertySet { applicationGroupReferences?: string[]; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/sample.env b/sdk/desktopvirtualization/arm-desktopvirtualization/sample.env index 672847a3fea0..508439fc7d62 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/sample.env +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/sample.env @@ -1,4 +1 @@ -# App registration secret for AAD authentication -AZURE_CLIENT_SECRET= -AZURE_CLIENT_ID= -AZURE_TENANT_ID= \ No newline at end of file +# Feel free to add your own environment variables. \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts index 3e9509098277..74f0d9d095f5 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts @@ -27,8 +27,15 @@ import { ApplicationsImpl, DesktopsImpl, HostPoolsImpl, + SessionHostManagementsImpl, + InitiateSessionHostUpdateImpl, + ControlSessionHostUpdateImpl, + SessionHostManagementsUpdateStatusImpl, + SessionHostConfigurationsImpl, + ActiveSessionHostConfigurationsImpl, UserSessionsImpl, SessionHostsImpl, + SessionHostOperationsImpl, MsixPackagesImpl, AppAttachPackageInfoImpl, MsixImagesImpl, @@ -47,8 +54,15 @@ import { Applications, Desktops, HostPools, + SessionHostManagements, + InitiateSessionHostUpdate, + ControlSessionHostUpdate, + SessionHostManagementsUpdateStatus, + SessionHostConfigurations, + ActiveSessionHostConfigurations, UserSessions, SessionHosts, + SessionHostOperations, MsixPackages, AppAttachPackageInfo, MsixImages, @@ -88,7 +102,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { credential: credentials, }; - const packageDetails = `azsdk-js-arm-desktopvirtualization/1.2.1`; + const packageDetails = `azsdk-js-arm-desktopvirtualization/2.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -142,7 +156,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2024-04-03"; + this.apiVersion = options.apiVersion || "2024-08-08-preview"; this.operations = new OperationsImpl(this); this.workspaces = new WorkspacesImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); @@ -157,8 +171,17 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { this.applications = new ApplicationsImpl(this); this.desktops = new DesktopsImpl(this); this.hostPools = new HostPoolsImpl(this); + this.sessionHostManagements = new SessionHostManagementsImpl(this); + this.initiateSessionHostUpdate = new InitiateSessionHostUpdateImpl(this); + this.controlSessionHostUpdate = new ControlSessionHostUpdateImpl(this); + this.sessionHostManagementsUpdateStatus = + new SessionHostManagementsUpdateStatusImpl(this); + this.sessionHostConfigurations = new SessionHostConfigurationsImpl(this); + this.activeSessionHostConfigurations = + new ActiveSessionHostConfigurationsImpl(this); this.userSessions = new UserSessionsImpl(this); this.sessionHosts = new SessionHostsImpl(this); + this.sessionHostOperations = new SessionHostOperationsImpl(this); this.msixPackages = new MsixPackagesImpl(this); this.appAttachPackageInfo = new AppAttachPackageInfoImpl(this); this.msixImages = new MsixImagesImpl(this); @@ -206,8 +229,15 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { applications: Applications; desktops: Desktops; hostPools: HostPools; + sessionHostManagements: SessionHostManagements; + initiateSessionHostUpdate: InitiateSessionHostUpdate; + controlSessionHostUpdate: ControlSessionHostUpdate; + sessionHostManagementsUpdateStatus: SessionHostManagementsUpdateStatus; + sessionHostConfigurations: SessionHostConfigurations; + activeSessionHostConfigurations: ActiveSessionHostConfigurations; userSessions: UserSessions; sessionHosts: SessionHosts; + sessionHostOperations: SessionHostOperations; msixPackages: MsixPackages; appAttachPackageInfo: AppAttachPackageInfo; msixImages: MsixImages; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/lroImpl.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/lroImpl.ts new file mode 100644 index 000000000000..5f88efab981b --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/lroImpl.ts @@ -0,0 +1,42 @@ +/* + * 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. + */ + +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +import { AbortSignalLike } from "@azure/abort-controller"; +import { LongRunningOperation, LroResponse } from "@azure/core-lro"; + +export function createLroSpec(inputs: { + sendOperationFn: (args: any, spec: any) => Promise>; + args: Record; + spec: { + readonly requestBody?: unknown; + readonly path?: string; + readonly httpMethod: string; + } & Record; +}): LongRunningOperation { + const { args, spec, sendOperationFn } = inputs; + return { + requestMethod: spec.httpMethod, + requestPath: spec.path!, + sendInitialRequest: () => sendOperationFn(args, spec), + sendPollRequest: ( + path: string, + options?: { abortSignal?: AbortSignalLike }, + ) => { + const { requestBody, ...restSpec } = spec; + return sendOperationFn(args, { + ...restSpec, + httpMethod: "GET", + path, + abortSignal: options?.abortSignal, + }); + }, + }; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts index 92c8a8c71b80..fde066074c14 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts @@ -138,20 +138,38 @@ export interface SystemData { lastModifiedAt?: Date; } -/** Identity for the resource. */ -export interface Identity { +/** Managed service identity (system assigned and/or user assigned identities) */ +export interface ManagedServiceIdentity { /** - * The principal ID of resource identity. The value must be an UUID. + * The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly principalId?: string; /** - * The tenant ID of resource. The value must be an UUID. + * The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly tenantId?: string; - /** The identity type. */ - type?: "SystemAssigned"; + /** Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed). */ + type: ManagedServiceIdentityType; + /** The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests. */ + userAssignedIdentities?: { + [propertyName: string]: UserAssignedIdentity | null; + }; +} + +/** User assigned identity properties */ +export interface UserAssignedIdentity { + /** + * The principal ID of the assigned identity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly principalId?: string; + /** + * The client ID of the assigned identity. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly clientId?: string; } /** The resource model definition representing SKU */ @@ -234,7 +252,7 @@ export interface ScalingSchedule { /** Name of the ScalingPlanPooledSchedule. */ name?: string; /** Set of days of the week on which this schedule is active. */ - daysOfWeek?: ScalingScheduleDaysOfWeekItem[]; + daysOfWeek?: DayOfWeek[]; /** Starting time for ramp up period. */ rampUpStartTime?: Time; /** Load balancing algorithm for ramp up period. */ @@ -297,7 +315,7 @@ export interface ScalingPlanPatch { timeZone?: string; /** Exclusion tag for scaling plan. */ exclusionTag?: string; - /** List of ScalingSchedule definitions. */ + /** List Pooled ScalingSchedule definitions. */ schedules?: ScalingSchedule[]; /** List of ScalingHostPoolReference definitions. */ hostPoolReferences?: ScalingHostPoolReference[]; @@ -474,7 +492,7 @@ export interface DesktopList { readonly nextLink?: string; } -/** Represents a RegistrationInfo definition. */ +/** Represents a RegistrationInfo definition. This is not returned on HostPool GET. In order to get the registration token use the retrieveRegistrationToken or listRegistrationTokens POST calls. */ export interface RegistrationInfo { /** Expiration time of registration token. */ expirationTime?: Date; @@ -504,7 +522,7 @@ export interface MaintenanceWindowProperties { dayOfWeek?: DayOfWeek; } -/** Represents a RegistrationInfo definition. */ +/** Represents a RegistrationInfo definition. This is not returned on HostPool GET. In order to get the registration token use the retrieveRegistrationToken or listRegistrationTokens POST calls. */ export interface RegistrationInfoPatch { /** Expiration time of registration token. */ expirationTime?: Date; @@ -543,6 +561,386 @@ export interface HostPoolList { readonly nextLink?: string; } +/** The configurations of a hostpool update. */ +export interface HostPoolUpdateConfigurationProperties { + /** Whether not to save original disk. False by default. */ + deleteOriginalVm?: boolean; + /** The maximum number of virtual machines to be removed during hostpool update. */ + maxVmsRemoved: number; + /** Grace period before logging off users in minutes. */ + logOffDelayMinutes: number; + /** Log off message sent to user for logoff. Default value is an empty string. */ + logOffMessage?: string; +} + +/** Represents a SessionHostManagementPatch definition. */ +export interface SessionHostManagementPatch { + /** Time zone for sessionHostManagement operations as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid. Must be set if useLocalTime is true. */ + scheduledDateTimeZone?: string; + /** Parameters for a hostpool update. */ + update?: HostPoolUpdateConfigurationPatchProperties; +} + +/** The configurations of a hostpool update. */ +export interface HostPoolUpdateConfigurationPatchProperties { + /** Whether not to save original disk. False by default. */ + deleteOriginalVm?: boolean; + /** The maximum number of virtual machines to be removed during hostpool update. */ + maxVmsRemoved?: number; + /** Grace period before logging off users in minutes. */ + logOffDelayMinutes?: number; + /** Log off message sent to user for logoff. */ + logOffMessage?: string; +} + +/** List of SessionHostManagement definitions. */ +export interface SessionHostManagementList { + /** List of SessionHostManagement definitions. */ + value?: SessionHostManagement[]; + /** + * 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; +} + +/** Object containing the definition for properties to be used for a sessionHostUpdate operation. */ +export interface UpdateSessionHostsRequestBody { + /** The timestamp that the update validation is scheduled for. If none is provided, the update will be executed immediately */ + scheduledDateTime?: Date; + /** The timeZone as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid. */ + scheduledDateTimeZone?: string; + /** settings for management information for the hostpool update operation. If none is provided the update will use the settings saved in the sessionHostManagement object. */ + update?: HostPoolUpdateConfigurationPatchProperties; +} + +/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ +export interface ErrorResponse { + /** The error object. */ + error?: ErrorDetail; +} + +/** The error detail. */ +export interface ErrorDetail { + /** + * The error code. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly code?: string; + /** + * The error message. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly message?: string; + /** + * The error target. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly target?: string; + /** + * The error details. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly details?: ErrorDetail[]; + /** + * The error additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly additionalInfo?: ErrorAdditionalInfo[]; +} + +/** The resource management error additional info. */ +export interface ErrorAdditionalInfo { + /** + * The additional info type. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; + /** + * The additional info. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly info?: Record; +} + +/** Represents properties for a hostpool update control request. */ +export interface HostPoolUpdateControlParameter { + /** Action types for controlling hostpool update. */ + action: HostPoolUpdateAction; + /** The cancel message sent to the user on the session host. This is can only be specified if the action is 'Cancel'. */ + cancelMessage?: string; +} + +/** The current status of the session host update async operation. */ +export interface SessionHostManagementUpdateStatus { + /** Fully qualified ID for the async operation. */ + id?: string; + /** Name of the async operation. */ + name?: string; + /** Operation status. Current defined values are < Error | Scheduled | UpdatingSessionHosts | ValidatingSessionHostUpdate | Paused | Pausing | Cancelling > | Succeeded | Failed | Canceled */ + status: string; + /** Percent of the operation that is complete. */ + percentComplete?: number; + /** The start time of the operation. */ + startTime?: Date; + /** The end time of the operation. */ + endTime?: Date; + /** If present, details of the operation error. */ + error?: ErrorDetail; + /** The Log Analytics. */ + correlationId?: string; + /** Progress information on the sessionHostManagement operation. */ + progress?: SessionHostManagementOperationProgress; + /** The timestamp that the update is scheduled for. */ + scheduledDateTime?: Date; + /** SessionHostManagement properties used for the operation. */ + sessionHostManagement?: SessionHostManagement; +} + +/** SessionHostManagement Operation Progress information. */ +export interface SessionHostManagementOperationProgress { + /** Time that the sessionHostManagement operation was created. */ + executionStartTime?: Date; + /** The number of sessionHosts to be started in the sessionHostManagement operation. */ + totalSessionHosts?: number; + /** The number of sessionHosts in progress in the sessionHostManagement operation. */ + sessionHostsInProgress?: number; + /** The number of sessionHosts completed in the sessionHostManagement operation. */ + sessionHostsCompleted?: number; + /** The number of sessionHosts rollback failed in the sessionHostManagement operation. */ + sessionHostsRollbackFailed?: number; +} + +/** Network information. */ +export interface NetworkInfoProperties { + /** The resource ID of the subnet. */ + subnetId: string; + /** The resource ID of the security group. Any allowable/open ports should be specified in the Network Security Group(NSG). */ + securityGroupId?: string; +} + +/** Disk information. */ +export interface DiskInfoProperties { + /** The disk type used by virtual machine in hostpool session host. */ + type: VirtualMachineDiskType; +} + +/** Image configurations of session host in a HostPool. */ +export interface ImageInfoProperties { + /** The type of image session hosts use in the hostpool. */ + imageType: Type; + /** The values to uniquely identify a marketplace image. Only one should be populated based on the image type. */ + marketplaceInfo?: MarketplaceInfoProperties; + /** The values to uniquely identify a custom image. Only one should be populated based on the image type. */ + customInfo?: CustomInfoProperties; +} + +/** Marketplace image information. */ +export interface MarketplaceInfoProperties { + /** The offer of the image. */ + offer: string; + /** The publisher of the image. */ + publisher: string; + /** The sku of the image. */ + sku: string; + /** The exact version of the image. */ + exactVersion: string; +} + +/** Custom image information. */ +export interface CustomInfoProperties { + /** The resource id of the custom image. */ + resourceId: string; +} + +/** Domain configurations of session hosts. */ +export interface DomainInfoProperties { + /** The type of domain join done by the virtual machine. */ + joinType: DomainJoinType; + /** Active directory info. Only one should be populated based on the join type. */ + activeDirectoryInfo?: ActiveDirectoryInfoProperties; + /** Azure active directory info. Only one should be populated based on the join type. */ + azureActiveDirectoryInfo?: AzureActiveDirectoryInfoProperties; +} + +/** Active directory info. Only one should be populated based on the join type. */ +export interface ActiveDirectoryInfoProperties { + /** Credentials needed to create the virtual machine. */ + domainCredentials: KeyVaultCredentialsProperties; + /** The organizational unit(OU) path. */ + ouPath: string; + /** The domain a virtual machine connected to a hostpool will join. */ + domainName?: string; +} + +/** Credentials kept in the keyvault. */ +export interface KeyVaultCredentialsProperties { + /** The uri to access the secret that the username is stored in. */ + usernameKeyVaultSecretUri: string; + /** The uri to access the secret that the password is stored in. */ + passwordKeyVaultSecretUri: string; +} + +/** Azure Active directory info. Only one should be populated based on the join type. */ +export interface AzureActiveDirectoryInfoProperties { + /** The Mobile Device Management(MDM) guid. */ + mdmProviderGuid: string; +} + +/** Security information. */ +export interface SecurityInfoProperties { + /** The security type used by virtual machine in hostpool session host. Default is Standard. */ + type?: VirtualMachineSecurityType; + /** Whether to use secureBoot on the virtual machine. */ + secureBootEnabled?: boolean; + /** Whether to use vTPM on the virtual machine. */ + vTpmEnabled?: boolean; +} + +/** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor. */ +export interface BootDiagnosticsInfoProperties { + /** Whether boot diagnostics should be enabled on the Virtual Machine. */ + enabled?: boolean; + /** Uri of the storage account to use for placing the console output and screenshot.

If storageUri is not specified while enabling boot diagnostics, managed storage will be used. */ + storageUri?: string; +} + +/** Represents a SessionHostConfigurationPatch definition. */ +export interface SessionHostConfigurationPatch { + /** Friendly name to describe this version of the SessionHostConfiguration. */ + friendlyName?: string; + /** Hashtable that lists key/value pair tags to apply to the VMs */ + vmTags?: { [propertyName: string]: string }; + /** The Location for the session host to be created in */ + vmLocation?: string; + /** The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided. */ + vmResourceGroup?: string; + /** The prefix that should be associated with session host names */ + vmNamePrefix?: string; + /** Value for availability zones to be used by the session host. Should be from [1,2,3]. */ + availabilityZones?: number[]; + /** Network information. */ + networkInfo?: NetworkInfoPatchProperties; + /** The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6 */ + vmSizeId?: string; + /** Disk information. */ + diskInfo?: DiskInfoPatchProperties; + /** The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning. */ + customConfigurationScriptUrl?: string; + /** Image configurations of HostPool. */ + imageInfo?: ImageInfoPatchProperties; + /** Domain configurations of session hosts. */ + domainInfo?: DomainInfoPatchProperties; + /** Security information. */ + securityInfo?: SecurityInfoPatchProperties; + /** Local Admin credentials for session hosts. */ + vmAdminCredentials?: KeyVaultCredentialsPatchProperties; + /** Boot Diagnostics information. */ + bootDiagnosticsInfo?: BootDiagnosticsInfoPatchProperties; +} + +/** Network information. */ +export interface NetworkInfoPatchProperties { + /** The resource ID of the subnet. */ + subnetId?: string; + /** The resource ID of the security group. Any allowable/open ports should be specified in the Network Security Group(NSG). */ + securityGroupId?: string; +} + +/** Disk information. */ +export interface DiskInfoPatchProperties { + /** The disk type used by virtual machine in hostpool session host. */ + type?: VirtualMachineDiskType; +} + +/** Image configurations of session host in a HostPool. */ +export interface ImageInfoPatchProperties { + /** The type of image session hosts use in the hostpool. */ + imageType?: Type; + /** The values to uniquely identify a marketplace image. Only one should be populated based on the image type. */ + marketplaceInfo?: MarketplaceInfoPatchProperties; + /** The values to uniquely identify a custom image. Only one should be populated based on the image type. */ + customInfo?: CustomInfoPatchProperties; +} + +/** Marketplace image information. */ +export interface MarketplaceInfoPatchProperties { + /** The offer of the image. */ + offer?: string; + /** The publisher of the image. */ + publisher?: string; + /** The sku of the image. */ + sku?: string; + /** The exact version of the image. */ + exactVersion?: string; +} + +/** Custom image information. */ +export interface CustomInfoPatchProperties { + /** The resource id of the custom image. */ + resourceId?: string; +} + +/** Domain configurations of session hosts. */ +export interface DomainInfoPatchProperties { + /** Active directory info. Only one should be populated based on the join type. */ + activeDirectoryInfo?: ActiveDirectoryInfoPatchProperties; +} + +/** Active directory info. Only one should be populated based on the join type. */ +export interface ActiveDirectoryInfoPatchProperties { + /** Credentials needed to create the virtual machine. */ + domainCredentials?: KeyVaultCredentialsPatchProperties; +} + +/** Credentials kept in the keyvault. */ +export interface KeyVaultCredentialsPatchProperties { + /** The uri to access the secret that the username is stored in. */ + usernameKeyVaultSecretUri?: string; + /** The uri to access the secret that the password is stored in. */ + passwordKeyVaultSecretUri?: string; +} + +/** Security information. */ +export interface SecurityInfoPatchProperties { + /** The security type used by virtual machine in hostpool session host. */ + type?: VirtualMachineSecurityType; + /** Whether to use secureBoot on the virtual machine. */ + secureBootEnabled?: boolean; + /** Whether to use vTPM on the virtual machine. */ + vTpmEnabled?: boolean; +} + +/** Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor. */ +export interface BootDiagnosticsInfoPatchProperties { + /** Whether boot diagnostics should be enabled on the Virtual Machine. */ + enabled?: boolean; + /** Uri of the storage account to use for placing the console output and screenshot.

If storageUri is not specified while enabling boot diagnostics, managed storage will be used. */ + storageUri?: string; +} + +/** List of SessionHostConfiguration definitions. */ +export interface SessionHostConfigurationList { + /** List of SessionHostConfiguration definitions. */ + value?: SessionHostConfiguration[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** List of ActiveSessionHostConfiguration definitions. */ +export interface ActiveSessionHostConfigurationList { + /** List of ActiveSessionHostConfiguration definitions. */ + value?: ActiveSessionHostConfiguration[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + /** List of RegistrationToken definitions. */ export interface RegistrationTokenList { /** List of RegistrationToken definitions. */ @@ -624,7 +1022,7 @@ export interface SessionHostList { /** Schema for MSIX Package Dependencies properties. */ export interface MsixPackageDependencies { - /** Name of package dependency. */ + /** Name of the package dependency. For Msix packages, this is the other packages this package depends upon, for APP-V packages this is the locations of the user and deployment config files */ dependencyName?: string; /** Name of dependency publisher. */ publisher?: string; @@ -691,23 +1089,29 @@ export interface AppAttachPackageProperties { image?: AppAttachPackageInfoProperties; /** List of Hostpool resource Ids. */ hostPoolReferences?: string[]; - /** URL path to certificate name located in keyVault */ + /** URL of keyvault location to store certificate */ keyVaultURL?: string; /** Parameter indicating how the health check should behave if this package fails staging */ failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; + /** Specific name of package owner, is "AppAttach" for native app attach packages */ + packageOwnerName?: string; + /** Lookback url to third party control plane, is null for native app attach packages */ + packageLookbackUrl?: string; + /** Field that can be populated with custom data and filtered on in list GET calls */ + customData?: string; } /** Schema for Import Package Information properties. */ export interface AppAttachPackageInfoProperties { /** Alias of App Attach Package. Assigned at import time */ packageAlias?: string; - /** VHD/CIM image path on Network Share. */ + /** VHD/CIM/APP-V 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. */ + /** Identifier not including the package version, for Msix packages it is the family name from the appxmanifest.xml. */ packageFamilyName?: string; - /** Package Full Name from appxmanifest.xml. */ + /** Identifier including the package version, for Msix packages it is the full name from the appxmanifest.xml. */ packageFullName?: string; /** User friendly Name to be displayed in the portal. */ displayName?: string; @@ -719,9 +1123,9 @@ export interface AppAttachPackageInfoProperties { isActive?: boolean; /** List of package dependencies. */ packageDependencies?: MsixPackageDependencies[]; - /** Package version found in the appxmanifest.xml. */ + /** Package Version found in the appxmanifest.xml. */ version?: string; - /** Date Package was last updated, found in the appxmanifest.xml. */ + /** Date the package source was last updated, for Msix packages this is found in the appxmanifest.xml. */ lastUpdated?: Date; /** List of package applications. */ packageApplications?: MsixPackageApplications[]; @@ -733,55 +1137,6 @@ export interface AppAttachPackageInfoProperties { isPackageTimestamped?: PackageTimestamped; } -/** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */ -export interface ErrorResponse { - /** The error object. */ - error?: ErrorDetail; -} - -/** The error detail. */ -export interface ErrorDetail { - /** - * The error code. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly code?: string; - /** - * The error message. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly message?: string; - /** - * The error target. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly target?: string; - /** - * The error details. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly details?: ErrorDetail[]; - /** - * The error additional info. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly additionalInfo?: ErrorAdditionalInfo[]; -} - -/** The resource management error additional info. */ -export interface ErrorAdditionalInfo { - /** - * The additional info type. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; - /** - * The additional info. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly info?: Record; -} - /** Represents URI referring to MSIX Image */ export interface MsixImageURI { /** URI to Image */ @@ -805,10 +1160,14 @@ export interface AppAttachPackagePatchProperties { image?: AppAttachPackageInfoProperties; /** List of Hostpool resource Ids. */ hostPoolReferences?: string[]; - /** URL path to certificate name located in keyVault */ + /** URL of keyvault location to store certificate */ keyVaultURL?: string; /** Parameter indicating how the health check should behave if this package fails staging */ failHealthCheckOnStagingFailure?: FailHealthCheckOnStagingFailure; + /** Lookback url to third party control plane, should be null for first party packages */ + packageLookbackUrl?: string; + /** Field that can be populated with custom data and filtered on in list GET calls */ + customData?: string; } /** Represents message sent to a UserSession. */ @@ -819,6 +1178,18 @@ export interface SendMessage { messageBody?: string; } +/** Hostpool update fault information. */ +export interface HostPoolUpdateFault { + /** Hostpool update fault type. */ + faultType?: FaultType; + /** Hostpool update fault code. */ + faultCode?: string; + /** Hostpool update fault text. */ + faultText?: string; + /** Hostpool update fault context. */ + faultContext?: string; +} + /** The private endpoint connection resource. */ export interface PrivateEndpointConnection extends Resource { /** @@ -863,28 +1234,33 @@ export interface PrivateLinkResource extends Resource { /** Represents a ScalingPlanPooledSchedule definition. */ export interface ScalingPlanPooledSchedule extends Resource { + /** + * Name of the ScalingPlanPooledSchedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesName?: string; /** Set of days of the week on which this schedule is active. */ - daysOfWeek?: DayOfWeek[]; + daysOfWeek: DayOfWeek[]; /** Starting time for ramp up period. */ - rampUpStartTime?: Time; + 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; + rampUpCapacityThresholdPct: number; /** Starting time for peak period. */ - peakStartTime?: Time; + peakStartTime: Time; /** Load balancing algorithm for peak period. */ peakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; /** Starting time for ramp down period. */ - rampDownStartTime?: Time; + 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; + rampDownCapacityThresholdPct: number; /** Should users be logged off forcefully from hosts. */ rampDownForceLogoffUsers?: boolean; /** Specifies when to stop hosts during ramp down period. */ @@ -894,13 +1270,18 @@ export interface ScalingPlanPooledSchedule extends Resource { /** Notification message for users during ramp down period. */ rampDownNotificationMessage?: string; /** Starting time for off-peak period. */ - offPeakStartTime?: Time; + offPeakStartTime: Time; /** Load balancing algorithm for off-peak period. */ offPeakLoadBalancingAlgorithm?: SessionHostLoadBalancingAlgorithm; } /** ScalingPlanPooledSchedule properties that can be patched. */ export interface ScalingPlanPooledSchedulePatch extends Resource { + /** + * Name of the ScalingPlanPooledSchedule. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly namePropertiesName?: string; /** Set of days of the week on which this schedule is active. */ daysOfWeek?: DayOfWeek[]; /** Starting time for ramp up period. */ @@ -938,7 +1319,7 @@ export interface ScalingPlanPooledSchedulePatch extends Resource { } /** The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location */ -export interface ProxyResource extends Resource { } +export interface ProxyResource extends Resource {} /** ApplicationGroup properties that can be patched. */ export interface ApplicationGroupPatch extends Resource { @@ -1050,7 +1431,7 @@ export interface HostPoolPatch extends Resource { ring?: number; /** Is validation environment. */ validationEnvironment?: boolean; - /** The registration info of HostPool. */ + /** The registration info of HostPool. This is not returned on GET. In order to get the registration token use the retrieveRegistrationToken or listRegistrationTokens POST calls. */ registrationInfo?: RegistrationInfoPatch; /** VM template for sessionhosts configuration within hostpool. */ vmTemplate?: string; @@ -1070,6 +1451,97 @@ export interface HostPoolPatch extends Resource { publicNetworkAccess?: HostpoolPublicNetworkAccess; /** The session host configuration for updating agent, monitoring agent, and stack component. */ agentUpdate?: AgentUpdatePatchProperties; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + managedPrivateUDP?: ManagedPrivateUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + directUDP?: DirectUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + publicUDP?: PublicUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + relayUDP?: RelayUDP; +} + +/** Represents a SessionHostConfiguration definition. */ +export interface SessionHostConfiguration extends Resource { + /** + * The timestamp of the last update. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly version?: Date; + /** Friendly name to describe this version of the SessionHostConfiguration. */ + friendlyName?: string; + /** + * Provisioning state of the Session Host Configuration. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly provisioningState?: ProvisioningStateSHC; + /** Hashtable that lists key/value pair tags to apply to the VMs */ + vmTags?: { [propertyName: string]: string }; + /** The Location for the session host to be created in. It will default to the location of the hostpool if not provided. */ + vmLocation?: string; + /** The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided. */ + vmResourceGroup?: string; + /** The prefix that should be associated with session host names */ + vmNamePrefix: string; + /** Value for availability zones to be used by the session host. Should be from [1,2,3]. */ + availabilityZones?: number[]; + /** Network information. */ + networkInfo: NetworkInfoProperties; + /** The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6 */ + vmSizeId: string; + /** Disk information. */ + diskInfo: DiskInfoProperties; + /** The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning. */ + customConfigurationScriptUrl?: string; + /** Image configurations of HostPool. */ + imageInfo: ImageInfoProperties; + /** Domain configurations of session hosts. */ + domainInfo: DomainInfoProperties; + /** Security information. */ + securityInfo?: SecurityInfoProperties; + /** Local Admin credentials for session hosts. */ + vmAdminCredentials: KeyVaultCredentialsProperties; + /** Boot Diagnostics information. */ + bootDiagnosticsInfo?: BootDiagnosticsInfoProperties; +} + +/** Represents a ActiveSessionHostConfiguration definition. This has all of the sessionHostConfiguration properties except provisioningState */ +export interface ActiveSessionHostConfiguration extends Resource { + /** + * The timestamp of the last update. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly version?: Date; + /** Friendly name to describe this version of the SessionHostConfiguration. */ + friendlyName?: string; + /** Hashtable that lists key/value pair tags to apply to the VMs */ + vmTags?: { [propertyName: string]: string }; + /** The Location for the session host to be created in. It will default to the location of the hostpool if not provided. */ + vmLocation?: string; + /** The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided. */ + vmResourceGroup?: string; + /** The prefix that should be associated with session host names */ + vmNamePrefix: string; + /** Value for availability zones to be used by the session host. Should be from [1,2,3]. */ + availabilityZones?: number[]; + /** Network information. */ + networkInfo: NetworkInfoProperties; + /** The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6 */ + vmSizeId: string; + /** Disk information. */ + diskInfo: DiskInfoProperties; + /** The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning. */ + customConfigurationScriptUrl?: string; + /** Image configurations of HostPool. */ + imageInfo: ImageInfoProperties; + /** Domain configurations of session hosts. */ + domainInfo: DomainInfoProperties; + /** Security information. */ + securityInfo?: SecurityInfoProperties; + /** Local Admin credentials for session hosts. */ + vmAdminCredentials: KeyVaultCredentialsProperties; + /** Boot Diagnostics information. */ + bootDiagnosticsInfo?: BootDiagnosticsInfoProperties; } /** Represents a UserSession definition. */ @@ -1140,6 +1612,16 @@ export interface SessionHost extends Resource { readonly lastUpdateTime?: Date; /** The error message. */ updateErrorMessage?: string; + /** + * The last time update was completed. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly lastSessionHostUpdateTime?: Date; + /** + * SessionHostConfiguration version reference at the time the update is initiated, in the format of date time. Example: 2024-04-26T04:56:45Z + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly sessionHostConfiguration?: string; /** * List of SessionHostHealthCheckReports * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1175,7 +1657,7 @@ export interface MsixPackage extends Resource { isActive?: boolean; /** List of package dependencies. */ packageDependencies?: MsixPackageDependencies[]; - /** Package version found in the appxmanifest.xml. */ + /** Package Version found in the appxmanifest.xml. */ version?: string; /** Date Package was last updated, found in the appxmanifest.xml. */ lastUpdated?: Date; @@ -1215,7 +1697,7 @@ export interface ExpandMsixImage extends Resource { isActive?: boolean; /** List of package dependencies. */ packageDependencies?: MsixPackageDependencies[]; - /** Package version found in the appxmanifest.xml. */ + /** Package Version found in the appxmanifest.xml. */ version?: string; /** Date Package was last updated, found in the appxmanifest.xml. */ lastUpdated?: Date; @@ -1227,21 +1709,17 @@ export interface ExpandMsixImage extends Resource { certificateExpiry?: Date; } -/** Schema for updatable App Attach Package properties. */ +/** Schema for patchable App Attach Package properties. */ export interface AppAttachPackagePatch extends Resource { + /** tags to be updated */ + tags?: { [propertyName: string]: string }; /** Detailed properties for App Attach Package */ properties?: AppAttachPackagePatchProperties; } -export interface ResourceModelWithAllowedPropertySetIdentity extends Identity { } - -export interface ResourceModelWithAllowedPropertySetSku extends Sku { } - -export interface ResourceModelWithAllowedPropertySetPlan extends Plan { } - /** The Private Endpoint Connection resource. */ export interface PrivateEndpointConnectionWithSystemData - extends PrivateEndpointConnection { } + extends PrivateEndpointConnection {} /** 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 extends TrackedResource { @@ -1254,9 +1732,12 @@ export interface ResourceModelWithAllowedPropertySet extends TrackedResource { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly etag?: string; - identity?: ResourceModelWithAllowedPropertySetIdentity; - sku?: ResourceModelWithAllowedPropertySetSku; - plan?: ResourceModelWithAllowedPropertySetPlan; + /** Managed service identity (system assigned and/or user assigned identities) */ + identity?: ManagedServiceIdentity; + /** The resource model definition representing SKU */ + sku?: Sku; + /** Plan for the resource. */ + plan?: Plan; } /** Schema for App Attach Package properties. */ @@ -1268,9 +1749,9 @@ export interface AppAttachPackage extends TrackedResource { /** Represents a ScalingPlanPersonalSchedule definition. */ export interface ScalingPlanPersonalSchedule extends ProxyResource { /** Set of days of the week on which this schedule is active. */ - daysOfWeek?: DayOfWeek[]; + daysOfWeek: DayOfWeek[]; /** Starting time for ramp up period. */ - rampUpStartTime?: Time; + rampUpStartTime: Time; /** The desired startup behavior during the ramp up period for personal vms in the hostpool. */ rampUpAutoStartHosts?: StartupBehavior; /** The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. */ @@ -1284,7 +1765,7 @@ export interface ScalingPlanPersonalSchedule extends ProxyResource { /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. */ rampUpMinutesToWaitOnLogoff?: number; /** Starting time for peak period. */ - peakStartTime?: Time; + peakStartTime: Time; /** The desired configuration of Start VM On Connect for the hostpool during the peak phase. */ peakStartVMOnConnect?: SetStartVMOnConnect; /** Action to be taken after a user disconnect during the peak period. */ @@ -1296,7 +1777,7 @@ export interface ScalingPlanPersonalSchedule extends ProxyResource { /** The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. */ peakMinutesToWaitOnLogoff?: number; /** Starting time for ramp down period. */ - rampDownStartTime?: Time; + rampDownStartTime: Time; /** The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. */ rampDownStartVMOnConnect?: SetStartVMOnConnect; /** Action to be taken after a user disconnect during the ramp down period. */ @@ -1308,7 +1789,7 @@ export interface ScalingPlanPersonalSchedule extends ProxyResource { /** The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. */ rampDownMinutesToWaitOnLogoff?: number; /** Starting time for off-peak period. */ - offPeakStartTime?: Time; + offPeakStartTime: Time; /** The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. */ offPeakStartVMOnConnect?: SetStartVMOnConnect; /** Action to be taken after a user disconnect during the off-peak period. */ @@ -1321,6 +1802,14 @@ export interface ScalingPlanPersonalSchedule extends ProxyResource { offPeakMinutesToWaitOnLogoff?: number; } +/** Represents a SessionHostManagement definition. */ +export interface SessionHostManagement extends ProxyResource { + /** Time zone for sessionHostManagement operations as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid. Must be set if useLocalTime is true. */ + scheduledDateTimeZone: string; + /** Parameters for a hostpool update. */ + update: HostPoolUpdateConfigurationProperties; +} + /** Represents a Workspace definition. */ export interface Workspace extends ResourceModelWithAllowedPropertySet { /** @@ -1365,7 +1854,7 @@ export interface ScalingPlan extends ResourceModelWithAllowedPropertySet { hostPoolType?: ScalingHostPoolType; /** Exclusion tag for scaling plan. */ exclusionTag?: string; - /** List of ScalingPlanPooledSchedule definitions. */ + /** List of Pooled ScalingSchedule definitions. */ schedules?: ScalingSchedule[]; /** List of ScalingHostPoolReference definitions. */ hostPoolReferences?: ScalingHostPoolReference[]; @@ -1425,10 +1914,12 @@ export interface HostPool extends ResourceModelWithAllowedPropertySet { ring?: number; /** Is validation environment. */ validationEnvironment?: boolean; - /** The registration info of HostPool. */ + /** The registration info of HostPool. This is not returned on GET. In order to get the registration token use the retrieveRegistrationToken or listRegistrationTokens POST calls. */ registrationInfo?: RegistrationInfo; /** VM template for sessionhosts configuration within hostpool. */ vmTemplate?: string; + /** The type of management for this hostpool, Automated or Standard. The default value is Automated. */ + managementType?: ManagementType; /** * List of applicationGroup links. * NOTE: This property will not be serialized. It can only be populated by the server. @@ -1465,6 +1956,34 @@ export interface HostPool extends ResourceModelWithAllowedPropertySet { * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly privateEndpointConnections?: PrivateEndpointConnection[]; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + managedPrivateUDP?: ManagedPrivateUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + directUDP?: DirectUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + publicUDP?: PublicUDP; + /** Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections */ + relayUDP?: RelayUDP; +} + +/** Defines headers for ControlSessionHostUpdate_post operation. */ +export interface ControlSessionHostUpdatePostHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + location?: string; + /** Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds. */ + retryAfter?: number; +} + +/** Defines headers for SessionHostConfigurations_createOrUpdate operation. */ +export interface SessionHostConfigurationsCreateOrUpdateHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + azureAsyncOperation?: string; +} + +/** Defines headers for SessionHostConfigurations_update operation. */ +export interface SessionHostConfigurationsUpdateHeaders { + /** The URL of the resource used to check the status of the asynchronous operation. */ + azureAsyncOperation?: string; } /** Known values of {@link PublicNetworkAccess} that the service accepts. */ @@ -1554,53 +2073,47 @@ export enum KnownCreatedByType { */ export type CreatedByType = 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. */ - Pooled = "Pooled", +/** Known values of {@link ManagedServiceIdentityType} that the service accepts. */ +export enum KnownManagedServiceIdentityType { + /** None */ + None = "None", + /** SystemAssigned */ + SystemAssigned = "SystemAssigned", + /** UserAssigned */ + UserAssigned = "UserAssigned", + /** SystemAssignedUserAssigned */ + SystemAssignedUserAssigned = "SystemAssigned,UserAssigned", } /** - * Defines values for ScalingHostPoolType. \ - * {@link KnownScalingHostPoolType} can be used interchangeably with ScalingHostPoolType, + * Defines values for ManagedServiceIdentityType. \ + * {@link KnownManagedServiceIdentityType} can be used interchangeably with ManagedServiceIdentityType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Pooled**: Users get a new (random) SessionHost every time it connects to the HostPool. + * **None** \ + * **SystemAssigned** \ + * **UserAssigned** \ + * **SystemAssigned,UserAssigned** */ -export type ScalingHostPoolType = string; +export type ManagedServiceIdentityType = string; -/** Known values of {@link ScalingScheduleDaysOfWeekItem} that the service accepts. */ -export enum KnownScalingScheduleDaysOfWeekItem { - /** Sunday */ - Sunday = "Sunday", - /** Monday */ - Monday = "Monday", - /** Tuesday */ - Tuesday = "Tuesday", - /** Wednesday */ - Wednesday = "Wednesday", - /** Thursday */ - Thursday = "Thursday", - /** Friday */ - Friday = "Friday", - /** Saturday */ - Saturday = "Saturday", +/** 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. */ + Pooled = "Pooled", + /** Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. */ + Personal = "Personal", } /** - * Defines values for ScalingScheduleDaysOfWeekItem. \ - * {@link KnownScalingScheduleDaysOfWeekItem} can be used interchangeably with ScalingScheduleDaysOfWeekItem, + * Defines values for ScalingHostPoolType. \ + * {@link KnownScalingHostPoolType} can be used interchangeably with ScalingHostPoolType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **Sunday** \ - * **Monday** \ - * **Tuesday** \ - * **Wednesday** \ - * **Thursday** \ - * **Friday** \ - * **Saturday** + * **Pooled**: Users get a new (random) SessionHost every time it connects to the HostPool. \ + * **Personal**: Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost. */ -export type ScalingScheduleDaysOfWeekItem = string; +export type ScalingHostPoolType = string; /** Known values of {@link SessionHostLoadBalancingAlgorithm} that the service accepts. */ export enum KnownSessionHostLoadBalancingAlgorithm { @@ -1802,6 +2315,8 @@ export enum KnownLoadBalancerType { DepthFirst = "DepthFirst", /** Persistent */ Persistent = "Persistent", + /** MultiplePersistent */ + MultiplePersistent = "MultiplePersistent", } /** @@ -1811,7 +2326,8 @@ export enum KnownLoadBalancerType { * ### Known values supported by the service * **BreadthFirst** \ * **DepthFirst** \ - * **Persistent** + * **Persistent** \ + * **MultiplePersistent** */ export type LoadBalancerType = string; @@ -1836,6 +2352,24 @@ export enum KnownRegistrationTokenOperation { */ export type RegistrationTokenOperation = string; +/** Known values of {@link ManagementType} that the service accepts. */ +export enum KnownManagementType { + /** Automated */ + Automated = "Automated", + /** Standard */ + Standard = "Standard", +} + +/** + * Defines values for ManagementType. \ + * {@link KnownManagementType} can be used interchangeably with ManagementType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Automated** \ + * **Standard** + */ +export type ManagementType = string; + /** Known values of {@link SSOSecretType} that the service accepts. */ export enum KnownSSOSecretType { /** SharedKey */ @@ -1862,11 +2396,11 @@ export type SSOSecretType = string; /** Known values of {@link PreferredAppGroupType} that the service accepts. */ export enum KnownPreferredAppGroupType { - /** None */ + /** This value is read only, it is not accepted on input. */ None = "None", - /** Desktop */ + /** Users access the full Windows desktop from a session host. Available with pooled or personal host pools. */ Desktop = "Desktop", - /** RailApplications */ + /** Users access individual applications you select and publish to the application group. Available with pooled host pools only. */ RailApplications = "RailApplications", } @@ -1875,9 +2409,9 @@ export enum KnownPreferredAppGroupType { * {@link KnownPreferredAppGroupType} can be used interchangeably with PreferredAppGroupType, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **None** \ - * **Desktop** \ - * **RailApplications** + * **None**: This value is read only, it is not accepted on input. \ + * **Desktop**: Users access the full Windows desktop from a session host. Available with pooled or personal host pools. \ + * **RailApplications**: Users access individual applications you select and publish to the application group. Available with pooled host pools only. */ export type PreferredAppGroupType = string; @@ -1923,6 +2457,219 @@ export enum KnownSessionHostComponentUpdateType { */ export type SessionHostComponentUpdateType = string; +/** Known values of {@link ManagedPrivateUDP} that the service accepts. */ +export enum KnownManagedPrivateUDP { + /** Default */ + Default = "Default", + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", +} + +/** + * Defines values for ManagedPrivateUDP. \ + * {@link KnownManagedPrivateUDP} can be used interchangeably with ManagedPrivateUDP, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **Enabled** \ + * **Disabled** + */ +export type ManagedPrivateUDP = string; + +/** Known values of {@link DirectUDP} that the service accepts. */ +export enum KnownDirectUDP { + /** Default */ + Default = "Default", + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", +} + +/** + * Defines values for DirectUDP. \ + * {@link KnownDirectUDP} can be used interchangeably with DirectUDP, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **Enabled** \ + * **Disabled** + */ +export type DirectUDP = string; + +/** Known values of {@link PublicUDP} that the service accepts. */ +export enum KnownPublicUDP { + /** Default */ + Default = "Default", + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", +} + +/** + * Defines values for PublicUDP. \ + * {@link KnownPublicUDP} can be used interchangeably with PublicUDP, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **Enabled** \ + * **Disabled** + */ +export type PublicUDP = string; + +/** Known values of {@link RelayUDP} that the service accepts. */ +export enum KnownRelayUDP { + /** Default */ + Default = "Default", + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", +} + +/** + * Defines values for RelayUDP. \ + * {@link KnownRelayUDP} can be used interchangeably with RelayUDP, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default** \ + * **Enabled** \ + * **Disabled** + */ +export type RelayUDP = string; + +/** Known values of {@link HostPoolUpdateAction} that the service accepts. */ +export enum KnownHostPoolUpdateAction { + /** Start the hostpool update. */ + Start = "Start", + /** Pause the hostpool update. */ + Pause = "Pause", + /** Cancel the hostpool update. */ + Cancel = "Cancel", + /** Retry the hostpool update. */ + Retry = "Retry", + /** Resume the hostpool update. */ + Resume = "Resume", +} + +/** + * Defines values for HostPoolUpdateAction. \ + * {@link KnownHostPoolUpdateAction} can be used interchangeably with HostPoolUpdateAction, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Start**: Start the hostpool update. \ + * **Pause**: Pause the hostpool update. \ + * **Cancel**: Cancel the hostpool update. \ + * **Retry**: Retry the hostpool update. \ + * **Resume**: Resume the hostpool update. + */ +export type HostPoolUpdateAction = string; + +/** Known values of {@link ProvisioningStateSHC} that the service accepts. */ +export enum KnownProvisioningStateSHC { + /** Succeeded */ + Succeeded = "Succeeded", + /** Failed */ + Failed = "Failed", + /** Canceled */ + Canceled = "Canceled", + /** Provisioning */ + Provisioning = "Provisioning", +} + +/** + * Defines values for ProvisioningStateSHC. \ + * {@link KnownProvisioningStateSHC} can be used interchangeably with ProvisioningStateSHC, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Failed** \ + * **Canceled** \ + * **Provisioning** + */ +export type ProvisioningStateSHC = string; + +/** Known values of {@link VirtualMachineDiskType} that the service accepts. */ +export enum KnownVirtualMachineDiskType { + /** Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. */ + StandardLRS = "Standard_LRS", + /** Premium SSD locally redundant storage. Best for production and performance sensitive workloads. */ + PremiumLRS = "Premium_LRS", + /** Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev\/test. */ + StandardSSDLRS = "StandardSSD_LRS", +} + +/** + * Defines values for VirtualMachineDiskType. \ + * {@link KnownVirtualMachineDiskType} can be used interchangeably with VirtualMachineDiskType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard_LRS**: Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. \ + * **Premium_LRS**: Premium SSD locally redundant storage. Best for production and performance sensitive workloads. \ + * **StandardSSD_LRS**: Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev\/test. + */ +export type VirtualMachineDiskType = string; + +/** Known values of {@link Type} that the service accepts. */ +export enum KnownType { + /** Using default marketplace images offered by Azure Marketplace. */ + Marketplace = "Marketplace", + /** Using a custom image. */ + Custom = "Custom", +} + +/** + * Defines values for Type. \ + * {@link KnownType} can be used interchangeably with Type, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Marketplace**: Using default marketplace images offered by Azure Marketplace. \ + * **Custom**: Using a custom image. + */ +export type Type = string; + +/** Known values of {@link DomainJoinType} that the service accepts. */ +export enum KnownDomainJoinType { + /** Using microsoft active directory. */ + ActiveDirectory = "ActiveDirectory", + /** Using microsoft azure active directory. */ + AzureActiveDirectory = "AzureActiveDirectory", +} + +/** + * Defines values for DomainJoinType. \ + * {@link KnownDomainJoinType} can be used interchangeably with DomainJoinType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ActiveDirectory**: Using microsoft active directory. \ + * **AzureActiveDirectory**: Using microsoft azure active directory. + */ +export type DomainJoinType = string; + +/** Known values of {@link VirtualMachineSecurityType} that the service accepts. */ +export enum KnownVirtualMachineSecurityType { + /** Standard security protocol. No additional parameters */ + Standard = "Standard", + /** TrustedLaunch allows for secure boot adn vTPM */ + TrustedLaunch = "TrustedLaunch", + /** Confidential Virtual Machine security protocol */ + ConfidentialVM = "ConfidentialVM", +} + +/** + * Defines values for VirtualMachineSecurityType. \ + * {@link KnownVirtualMachineSecurityType} can be used interchangeably with VirtualMachineSecurityType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Standard**: Standard security protocol. No additional parameters \ + * **TrustedLaunch**: TrustedLaunch allows for secure boot adn vTPM \ + * **ConfidentialVM**: Confidential Virtual Machine security protocol + */ +export type VirtualMachineSecurityType = string; + /** Known values of {@link ApplicationType} that the service accepts. */ export enum KnownApplicationType { /** RemoteApp */ @@ -2210,6 +2957,42 @@ export enum KnownFailHealthCheckOnStagingFailure { * **DoNotFail** */ export type FailHealthCheckOnStagingFailure = string; + +/** Known values of {@link FaultType} that the service accepts. */ +export enum KnownFaultType { + /** Fault caused by service error. */ + ServiceError = "ServiceError", + /** Fault caused by user error. */ + UserError = "UserError", +} + +/** + * Defines values for FaultType. \ + * {@link KnownFaultType} can be used interchangeably with FaultType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **ServiceError**: Fault caused by service error. \ + * **UserError**: Fault caused by user error. + */ +export type FaultType = string; + +/** Known values of {@link OperationTypeSHM} that the service accepts. */ +export enum KnownOperationTypeSHM { + /** InitiateSessionHostUpdate */ + InitiateSessionHostUpdate = "InitiateSessionHostUpdate", + /** ValidateSessionHostUpdate */ + ValidateSessionHostUpdate = "ValidateSessionHostUpdate", +} + +/** + * Defines values for OperationTypeSHM. \ + * {@link KnownOperationTypeSHM} can be used interchangeably with OperationTypeSHM, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **InitiateSessionHostUpdate** \ + * **ValidateSessionHostUpdate** + */ +export type OperationTypeSHM = string; /** Defines values for SkuTier. */ export type SkuTier = "Free" | "Basic" | "Standard" | "Premium"; /** Defines values for DayOfWeek. */ @@ -2224,35 +3007,35 @@ export type DayOfWeek = /** Optional parameters. */ export interface OperationsListOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the list operation. */ export type OperationsListResponse = ResourceProviderOperationList; /** Optional parameters. */ export interface OperationsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type OperationsListNextResponse = ResourceProviderOperationList; /** Optional parameters. */ export interface WorkspacesGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type WorkspacesGetResponse = Workspace; /** Optional parameters. */ export interface WorkspacesCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type WorkspacesCreateOrUpdateResponse = Workspace; /** Optional parameters. */ export interface WorkspacesDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface WorkspacesUpdateOptionalParams @@ -2280,28 +3063,28 @@ export type WorkspacesListByResourceGroupResponse = WorkspaceList; /** Optional parameters. */ export interface WorkspacesListBySubscriptionOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscription operation. */ export type WorkspacesListBySubscriptionResponse = WorkspaceList; /** Optional parameters. */ export interface WorkspacesListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type WorkspacesListByResourceGroupNextResponse = WorkspaceList; /** Optional parameters. */ export interface WorkspacesListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type WorkspacesListBySubscriptionNextResponse = WorkspaceList; /** Optional parameters. */ export interface PrivateEndpointConnectionsListByWorkspaceOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByWorkspace operation. */ export type PrivateEndpointConnectionsListByWorkspaceResponse = @@ -2309,7 +3092,7 @@ export type PrivateEndpointConnectionsListByWorkspaceResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the getByWorkspace operation. */ export type PrivateEndpointConnectionsGetByWorkspaceResponse = @@ -2317,11 +3100,11 @@ export type PrivateEndpointConnectionsGetByWorkspaceResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the updateByWorkspace operation. */ export type PrivateEndpointConnectionsUpdateByWorkspaceResponse = @@ -2344,7 +3127,7 @@ export type PrivateEndpointConnectionsListByHostPoolResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsGetByHostPoolOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the getByHostPool operation. */ export type PrivateEndpointConnectionsGetByHostPoolResponse = @@ -2352,11 +3135,11 @@ export type PrivateEndpointConnectionsGetByHostPoolResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the updateByHostPool operation. */ export type PrivateEndpointConnectionsUpdateByHostPoolResponse = @@ -2364,7 +3147,7 @@ export type PrivateEndpointConnectionsUpdateByHostPoolResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByWorkspaceNext operation. */ export type PrivateEndpointConnectionsListByWorkspaceNextResponse = @@ -2372,7 +3155,7 @@ export type PrivateEndpointConnectionsListByWorkspaceNextResponse = /** Optional parameters. */ export interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByHostPoolNext operation. */ export type PrivateEndpointConnectionsListByHostPoolNextResponse = @@ -2410,7 +3193,7 @@ export type PrivateLinkResourcesListByHostPoolResponse = /** Optional parameters. */ export interface PrivateLinkResourcesListByWorkspaceNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByWorkspaceNext operation. */ export type PrivateLinkResourcesListByWorkspaceNextResponse = @@ -2418,7 +3201,7 @@ export type PrivateLinkResourcesListByWorkspaceNextResponse = /** Optional parameters. */ export interface PrivateLinkResourcesListByHostPoolNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByHostPoolNext operation. */ export type PrivateLinkResourcesListByHostPoolNextResponse = @@ -2426,21 +3209,21 @@ export type PrivateLinkResourcesListByHostPoolNextResponse = /** Optional parameters. */ export interface ScalingPlansGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type ScalingPlansGetResponse = ScalingPlan; /** Optional parameters. */ export interface ScalingPlansCreateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the create operation. */ export type ScalingPlansCreateResponse = ScalingPlan; /** Optional parameters. */ export interface ScalingPlansDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ScalingPlansUpdateOptionalParams @@ -2496,35 +3279,35 @@ export type ScalingPlansListByHostPoolResponse = ScalingPlanList; /** Optional parameters. */ export interface ScalingPlansListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type ScalingPlansListByResourceGroupNextResponse = ScalingPlanList; /** Optional parameters. */ export interface ScalingPlansListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type ScalingPlansListBySubscriptionNextResponse = ScalingPlanList; /** Optional parameters. */ export interface ScalingPlansListByHostPoolNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByHostPoolNext operation. */ export type ScalingPlansListByHostPoolNextResponse = ScalingPlanList; /** Optional parameters. */ export interface ScalingPlanPooledSchedulesGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type ScalingPlanPooledSchedulesGetResponse = ScalingPlanPooledSchedule; /** Optional parameters. */ export interface ScalingPlanPooledSchedulesCreateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the create operation. */ export type ScalingPlanPooledSchedulesCreateResponse = @@ -2532,7 +3315,7 @@ export type ScalingPlanPooledSchedulesCreateResponse = /** Optional parameters. */ export interface ScalingPlanPooledSchedulesDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ScalingPlanPooledSchedulesUpdateOptionalParams @@ -2562,7 +3345,7 @@ export type ScalingPlanPooledSchedulesListResponse = /** Optional parameters. */ export interface ScalingPlanPooledSchedulesListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ScalingPlanPooledSchedulesListNextResponse = @@ -2570,7 +3353,7 @@ export type ScalingPlanPooledSchedulesListNextResponse = /** Optional parameters. */ export interface ScalingPlanPersonalSchedulesGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type ScalingPlanPersonalSchedulesGetResponse = @@ -2578,7 +3361,7 @@ export type ScalingPlanPersonalSchedulesGetResponse = /** Optional parameters. */ export interface ScalingPlanPersonalSchedulesCreateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the create operation. */ export type ScalingPlanPersonalSchedulesCreateResponse = @@ -2586,7 +3369,7 @@ export type ScalingPlanPersonalSchedulesCreateResponse = /** Optional parameters. */ export interface ScalingPlanPersonalSchedulesDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ScalingPlanPersonalSchedulesUpdateOptionalParams @@ -2616,7 +3399,7 @@ export type ScalingPlanPersonalSchedulesListResponse = /** Optional parameters. */ export interface ScalingPlanPersonalSchedulesListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ScalingPlanPersonalSchedulesListNextResponse = @@ -2624,21 +3407,21 @@ export type ScalingPlanPersonalSchedulesListNextResponse = /** Optional parameters. */ export interface ApplicationGroupsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type ApplicationGroupsGetResponse = ApplicationGroup; /** Optional parameters. */ export interface ApplicationGroupsCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type ApplicationGroupsCreateOrUpdateResponse = ApplicationGroup; /** Optional parameters. */ export interface ApplicationGroupsDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ApplicationGroupsUpdateOptionalParams @@ -2678,7 +3461,7 @@ export type ApplicationGroupsListBySubscriptionResponse = ApplicationGroupList; /** Optional parameters. */ export interface ApplicationGroupsListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type ApplicationGroupsListByResourceGroupNextResponse = @@ -2686,7 +3469,7 @@ export type ApplicationGroupsListByResourceGroupNextResponse = /** Optional parameters. */ export interface ApplicationGroupsListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type ApplicationGroupsListBySubscriptionNextResponse = @@ -2708,28 +3491,28 @@ export type StartMenuItemsListResponse = StartMenuItemList; /** Optional parameters. */ export interface StartMenuItemsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type StartMenuItemsListNextResponse = StartMenuItemList; /** Optional parameters. */ export interface ApplicationsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type ApplicationsGetResponse = Application; /** Optional parameters. */ export interface ApplicationsCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type ApplicationsCreateOrUpdateResponse = Application; /** Optional parameters. */ export interface ApplicationsDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface ApplicationsUpdateOptionalParams @@ -2757,14 +3540,14 @@ export type ApplicationsListResponse = ApplicationList; /** Optional parameters. */ export interface ApplicationsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type ApplicationsListNextResponse = ApplicationList; /** Optional parameters. */ export interface DesktopsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type DesktopsGetResponse = Desktop; @@ -2795,21 +3578,21 @@ export type DesktopsListResponse = DesktopList; /** Optional parameters. */ export interface DesktopsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type DesktopsListNextResponse = DesktopList; /** Optional parameters. */ export interface HostPoolsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type HostPoolsGetResponse = HostPool; /** Optional parameters. */ export interface HostPoolsCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type HostPoolsCreateOrUpdateResponse = HostPool; @@ -2861,32 +3644,176 @@ export type HostPoolsListResponse = HostPoolList; /** Optional parameters. */ export interface HostPoolsRetrieveRegistrationTokenOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the retrieveRegistrationToken operation. */ export type HostPoolsRetrieveRegistrationTokenResponse = RegistrationInfo; /** Optional parameters. */ export interface HostPoolsListRegistrationTokensOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listRegistrationTokens operation. */ export type HostPoolsListRegistrationTokensResponse = RegistrationTokenList; /** Optional parameters. */ export interface HostPoolsListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type HostPoolsListByResourceGroupNextResponse = HostPoolList; /** Optional parameters. */ export interface HostPoolsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type HostPoolsListNextResponse = HostPoolList; +/** Optional parameters. */ +export interface SessionHostManagementsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SessionHostManagementsGetResponse = SessionHostManagement; + +/** Optional parameters. */ +export interface SessionHostManagementsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the createOrUpdate operation. */ +export type SessionHostManagementsCreateOrUpdateResponse = + SessionHostManagement; + +/** Optional parameters. */ +export interface SessionHostManagementsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Object containing SessionHostManagement definitions. */ + sessionHostManagement?: SessionHostManagementPatch; +} + +/** Contains response data for the update operation. */ +export type SessionHostManagementsUpdateResponse = SessionHostManagement; + +/** Optional parameters. */ +export interface SessionHostManagementsListByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPool operation. */ +export type SessionHostManagementsListByHostPoolResponse = + SessionHostManagementList; + +/** Optional parameters. */ +export interface SessionHostManagementsListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type SessionHostManagementsListByHostPoolNextResponse = + SessionHostManagementList; + +/** Optional parameters. */ +export interface InitiateSessionHostUpdatePostOptionalParams + extends coreClient.OperationOptions { + /** Object containing the definition for properties to be used in the sessionHostUpdate validation. */ + updateSessionHostsRequestBody?: UpdateSessionHostsRequestBody; +} + +/** Optional parameters. */ +export interface ControlSessionHostUpdatePostOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the post operation. */ +export type ControlSessionHostUpdatePostResponse = + ControlSessionHostUpdatePostHeaders; + +/** Optional parameters. */ +export interface SessionHostManagementsUpdateStatusGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SessionHostManagementsUpdateStatusGetResponse = + SessionHostManagementUpdateStatus; + +/** Optional parameters. */ +export interface SessionHostConfigurationsCreateOrUpdateOptionalParams + extends coreClient.OperationOptions { + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the createOrUpdate operation. */ +export type SessionHostConfigurationsCreateOrUpdateResponse = + SessionHostConfigurationsCreateOrUpdateHeaders & SessionHostConfiguration; + +/** Optional parameters. */ +export interface SessionHostConfigurationsUpdateOptionalParams + extends coreClient.OperationOptions { + /** Object containing SessionHostConfiguration definitions. */ + sessionHostConfiguration?: SessionHostConfigurationPatch; + /** Delay to wait until next poll, in milliseconds. */ + updateIntervalInMs?: number; + /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */ + resumeFrom?: string; +} + +/** Contains response data for the update operation. */ +export type SessionHostConfigurationsUpdateResponse = + SessionHostConfigurationsUpdateHeaders & SessionHostConfiguration; + +/** Optional parameters. */ +export interface SessionHostConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type SessionHostConfigurationsGetResponse = SessionHostConfiguration; + +/** Optional parameters. */ +export interface SessionHostConfigurationsListByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPool operation. */ +export type SessionHostConfigurationsListByHostPoolResponse = + SessionHostConfigurationList; + +/** Optional parameters. */ +export interface SessionHostConfigurationsListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type SessionHostConfigurationsListByHostPoolNextResponse = + SessionHostConfigurationList; + +/** Optional parameters. */ +export interface ActiveSessionHostConfigurationsGetOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the get operation. */ +export type ActiveSessionHostConfigurationsGetResponse = + ActiveSessionHostConfiguration; + +/** Optional parameters. */ +export interface ActiveSessionHostConfigurationsListByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPool operation. */ +export type ActiveSessionHostConfigurationsListByHostPoolResponse = + ActiveSessionHostConfigurationList; + +/** Optional parameters. */ +export interface ActiveSessionHostConfigurationsListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type ActiveSessionHostConfigurationsListByHostPoolNextResponse = + ActiveSessionHostConfigurationList; + /** Optional parameters. */ export interface UserSessionsListByHostPoolOptionalParams extends coreClient.OperationOptions { @@ -2905,7 +3832,7 @@ export type UserSessionsListByHostPoolResponse = UserSessionList; /** Optional parameters. */ export interface UserSessionsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type UserSessionsGetResponse = UserSession; @@ -2933,7 +3860,7 @@ export type UserSessionsListResponse = UserSessionList; /** Optional parameters. */ export interface UserSessionsDisconnectOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface UserSessionsSendMessageOptionalParams @@ -2944,21 +3871,21 @@ export interface UserSessionsSendMessageOptionalParams /** Optional parameters. */ export interface UserSessionsListByHostPoolNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByHostPoolNext operation. */ export type UserSessionsListByHostPoolNextResponse = UserSessionList; /** Optional parameters. */ export interface UserSessionsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type UserSessionsListNextResponse = UserSessionList; /** Optional parameters. */ export interface SessionHostsGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type SessionHostsGetResponse = SessionHost; @@ -2991,6 +3918,8 @@ export interface SessionHostsListOptionalParams isDescending?: boolean; /** Initial number of items to skip. */ initialSkip?: number; + /** The path to the VM. */ + vmPath?: string; } /** Contains response data for the list operation. */ @@ -2998,28 +3927,32 @@ export type SessionHostsListResponse = SessionHostList; /** Optional parameters. */ export interface SessionHostsListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type SessionHostsListNextResponse = SessionHostList; +/** Optional parameters. */ +export interface SessionHostRetryProvisioningOptionalParams + extends coreClient.OperationOptions {} + /** Optional parameters. */ export interface MsixPackagesGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type MsixPackagesGetResponse = MsixPackage; /** Optional parameters. */ export interface MsixPackagesCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type MsixPackagesCreateOrUpdateResponse = MsixPackage; /** Optional parameters. */ export interface MsixPackagesDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Optional parameters. */ export interface MsixPackagesUpdateOptionalParams @@ -3047,56 +3980,59 @@ export type MsixPackagesListResponse = MsixPackageList; /** Optional parameters. */ export interface MsixPackagesListNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listNext operation. */ export type MsixPackagesListNextResponse = MsixPackageList; /** Optional parameters. */ export interface AppAttachPackageInfoImportOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the import operation. */ export type AppAttachPackageInfoImportResponse = AppAttachPackageList; /** Optional parameters. */ export interface AppAttachPackageInfoImportNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the importNext operation. */ export type AppAttachPackageInfoImportNextResponse = AppAttachPackageList; /** Optional parameters. */ export interface MsixImagesExpandOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the expand operation. */ export type MsixImagesExpandResponse = ExpandMsixImageList; /** Optional parameters. */ export interface MsixImagesExpandNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the expandNext operation. */ export type MsixImagesExpandNextResponse = ExpandMsixImageList; /** Optional parameters. */ export interface AppAttachPackageGetOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the get operation. */ export type AppAttachPackageGetResponse = AppAttachPackage; /** Optional parameters. */ export interface AppAttachPackageCreateOrUpdateOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the createOrUpdate operation. */ export type AppAttachPackageCreateOrUpdateResponse = AppAttachPackage; /** Optional parameters. */ export interface AppAttachPackageDeleteOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions { + /** Force flag to delete App Attach package. */ + force?: boolean; +} /** Optional parameters. */ export interface AppAttachPackageUpdateOptionalParams @@ -3111,7 +4047,7 @@ export type AppAttachPackageUpdateResponse = AppAttachPackage; /** Optional parameters. */ export interface AppAttachPackageListByResourceGroupOptionalParams extends coreClient.OperationOptions { - /** OData filter expression. Valid properties for filtering are package name and host pool. */ + /** OData filter expression. Valid properties for filtering are package name, host pool, package owner name, and custom data. */ filter?: string; } @@ -3121,7 +4057,7 @@ export type AppAttachPackageListByResourceGroupResponse = AppAttachPackageList; /** Optional parameters. */ export interface AppAttachPackageListBySubscriptionOptionalParams extends coreClient.OperationOptions { - /** OData filter expression. Valid properties for filtering are package name, host pool, and resource group. */ + /** OData filter expression. Valid properties for filtering are package name, resource group, host pool, package owner name, and custom data. */ filter?: string; } @@ -3130,7 +4066,7 @@ export type AppAttachPackageListBySubscriptionResponse = AppAttachPackageList; /** Optional parameters. */ export interface AppAttachPackageListByResourceGroupNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listByResourceGroupNext operation. */ export type AppAttachPackageListByResourceGroupNextResponse = @@ -3138,7 +4074,7 @@ export type AppAttachPackageListByResourceGroupNextResponse = /** Optional parameters. */ export interface AppAttachPackageListBySubscriptionNextOptionalParams - extends coreClient.OperationOptions { } + extends coreClient.OperationOptions {} /** Contains response data for the listBySubscriptionNext operation. */ export type AppAttachPackageListBySubscriptionNextResponse = diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts index c78b84bd4885..caf53f972d34 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts @@ -330,10 +330,10 @@ export const SystemData: coreClient.CompositeMapper = { }, }; -export const Identity: coreClient.CompositeMapper = { +export const ManagedServiceIdentity: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Identity", + className: "ManagedServiceIdentity", modelProperties: { principalId: { serializedName: "principalId", @@ -350,13 +350,44 @@ export const Identity: coreClient.CompositeMapper = { }, }, type: { - defaultValue: "SystemAssigned", - isConstant: true, serializedName: "type", + required: true, type: { name: "String", }, }, + userAssignedIdentities: { + serializedName: "userAssignedIdentities", + type: { + name: "Dictionary", + value: { + type: { name: "Composite", className: "UserAssignedIdentity" }, + }, + }, + }, + }, + }, +}; + +export const UserAssignedIdentity: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserAssignedIdentity", + modelProperties: { + principalId: { + serializedName: "principalId", + readOnly: true, + type: { + name: "Uuid", + }, + }, + clientId: { + serializedName: "clientId", + readOnly: true, + type: { + name: "Uuid", + }, + }, }, }, }; @@ -594,7 +625,16 @@ export const ScalingSchedule: coreClient.CompositeMapper = { name: "Sequence", element: { type: { - name: "String", + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", + ], }, }, }, @@ -1571,149 +1611,115 @@ export const HostPoolList: coreClient.CompositeMapper = { }, }; -export const RegistrationTokenList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RegistrationTokenList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "RegistrationTokenMinimal", - }, +export const HostPoolUpdateConfigurationProperties: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "HostPoolUpdateConfigurationProperties", + modelProperties: { + deleteOriginalVm: { + serializedName: "deleteOriginalVm", + type: { + name: "Boolean", }, }, - }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const RegistrationTokenMinimal: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "RegistrationTokenMinimal", - modelProperties: { - expirationTime: { - serializedName: "expirationTime", - nullable: true, - type: { - name: "DateTime", - }, - }, - token: { - serializedName: "token", - type: { - name: "String", + maxVmsRemoved: { + constraints: { + InclusiveMinimum: 1, + }, + serializedName: "maxVmsRemoved", + required: true, + type: { + name: "Number", + }, }, - }, - }, - }, -}; - -export const UserSessionList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "UserSessionList", - modelProperties: { - value: { - serializedName: "value", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "UserSession", - }, + logOffDelayMinutes: { + serializedName: "logOffDelayMinutes", + required: true, + type: { + name: "Number", }, }, - }, - nextLink: { - serializedName: "nextLink", - readOnly: true, - type: { - name: "String", + logOffMessage: { + defaultValue: "", + constraints: { + MaxLength: 260, + }, + serializedName: "logOffMessage", + type: { + name: "String", + }, }, }, }, - }, -}; + }; -export const SessionHostHealthCheckReport: coreClient.CompositeMapper = { +export const SessionHostManagementPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostHealthCheckReport", + className: "SessionHostManagementPatch", modelProperties: { - healthCheckName: { - serializedName: "healthCheckName", - readOnly: true, - type: { - name: "String", - }, - }, - healthCheckResult: { - serializedName: "healthCheckResult", - readOnly: true, + scheduledDateTimeZone: { + serializedName: "properties.scheduledDateTimeZone", type: { name: "String", }, }, - additionalFailureDetails: { - serializedName: "additionalFailureDetails", + update: { + serializedName: "properties.update", type: { name: "Composite", - className: "SessionHostHealthCheckFailureDetails", + className: "HostPoolUpdateConfigurationPatchProperties", }, }, }, }, }; -export const SessionHostHealthCheckFailureDetails: coreClient.CompositeMapper = +export const HostPoolUpdateConfigurationPatchProperties: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostHealthCheckFailureDetails", + className: "HostPoolUpdateConfigurationPatchProperties", modelProperties: { - message: { - serializedName: "message", - readOnly: true, + deleteOriginalVm: { + serializedName: "deleteOriginalVm", type: { - name: "String", + name: "Boolean", }, }, - errorCode: { - serializedName: "errorCode", - readOnly: true, + maxVmsRemoved: { + constraints: { + InclusiveMinimum: 1, + }, + serializedName: "maxVmsRemoved", type: { name: "Number", }, }, - lastHealthCheckDateTime: { - serializedName: "lastHealthCheckDateTime", - readOnly: true, + logOffDelayMinutes: { + serializedName: "logOffDelayMinutes", type: { - name: "DateTime", + name: "Number", + }, + }, + logOffMessage: { + constraints: { + MaxLength: 260, + }, + serializedName: "logOffMessage", + type: { + name: "String", }, }, }, }, }; -export const SessionHostList: coreClient.CompositeMapper = { +export const SessionHostManagementList: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostList", + className: "SessionHostManagementList", modelProperties: { value: { serializedName: "value", @@ -1722,7 +1728,7 @@ export const SessionHostList: coreClient.CompositeMapper = { element: { type: { name: "Composite", - className: "SessionHost", + className: "SessionHostManagement", }, }, }, @@ -1738,116 +1744,1214 @@ export const SessionHostList: coreClient.CompositeMapper = { }, }; -export const MsixPackageDependencies: coreClient.CompositeMapper = { +export const UpdateSessionHostsRequestBody: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackageDependencies", + className: "UpdateSessionHostsRequestBody", modelProperties: { - dependencyName: { - serializedName: "dependencyName", + scheduledDateTime: { + serializedName: "scheduledDateTime", type: { - name: "String", + name: "DateTime", }, }, - publisher: { - serializedName: "publisher", + scheduledDateTimeZone: { + serializedName: "scheduledDateTimeZone", type: { name: "String", }, }, - minVersion: { - serializedName: "minVersion", + update: { + serializedName: "update", type: { - name: "String", + name: "Composite", + className: "HostPoolUpdateConfigurationPatchProperties", }, }, }, }, }; -export const MsixPackageApplications: coreClient.CompositeMapper = { +export const ErrorResponse: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackageApplications", + className: "ErrorResponse", modelProperties: { - appId: { - serializedName: "appId", - type: { - name: "String", - }, - }, - description: { - serializedName: "description", + error: { + serializedName: "error", type: { - name: "String", + name: "Composite", + className: "ErrorDetail", }, }, - appUserModelID: { - serializedName: "appUserModelID", + }, + }, +}; + +export const ErrorDetail: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ErrorDetail", + modelProperties: { + code: { + serializedName: "code", + readOnly: true, type: { name: "String", }, }, - friendlyName: { - serializedName: "friendlyName", + message: { + serializedName: "message", + readOnly: true, type: { name: "String", }, }, - iconImageName: { - serializedName: "iconImageName", + target: { + serializedName: "target", + readOnly: true, type: { name: "String", }, }, - rawIcon: { - serializedName: "rawIcon", - type: { - name: "ByteArray", - }, - }, - rawPng: { - serializedName: "rawPng", - type: { - name: "ByteArray", - }, - }, - }, - }, -}; - -export const MsixPackageList: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MsixPackageList", - modelProperties: { - value: { - serializedName: "value", + details: { + serializedName: "details", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MsixPackage", + className: "ErrorDetail", }, }, }, }, - nextLink: { - serializedName: "nextLink", + additionalInfo: { + serializedName: "additionalInfo", readOnly: true, type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ErrorAdditionalInfo", + }, + }, }, }, }, }, }; -export const ImportPackageInfoRequest: coreClient.CompositeMapper = { +export const ErrorAdditionalInfo: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ImportPackageInfoRequest", + className: "ErrorAdditionalInfo", + modelProperties: { + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String", + }, + }, + info: { + serializedName: "info", + readOnly: true, + type: { + name: "Dictionary", + value: { type: { name: "any" } }, + }, + }, + }, + }, +}; + +export const HostPoolUpdateControlParameter: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HostPoolUpdateControlParameter", + modelProperties: { + action: { + serializedName: "action", + required: true, + type: { + name: "String", + }, + }, + cancelMessage: { + constraints: { + MaxLength: 260, + }, + serializedName: "cancelMessage", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SessionHostManagementUpdateStatus: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostManagementUpdateStatus", + modelProperties: { + id: { + serializedName: "id", + type: { + name: "String", + }, + }, + name: { + serializedName: "name", + type: { + name: "String", + }, + }, + status: { + serializedName: "status", + required: true, + type: { + name: "String", + }, + }, + percentComplete: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0, + }, + serializedName: "percentComplete", + type: { + name: "Number", + }, + }, + startTime: { + serializedName: "startTime", + type: { + name: "DateTime", + }, + }, + endTime: { + serializedName: "endTime", + type: { + name: "DateTime", + }, + }, + error: { + serializedName: "error", + type: { + name: "Composite", + className: "ErrorDetail", + }, + }, + correlationId: { + serializedName: "properties.correlationId", + type: { + name: "String", + }, + }, + progress: { + serializedName: "properties.progress", + type: { + name: "Composite", + className: "SessionHostManagementOperationProgress", + }, + }, + scheduledDateTime: { + serializedName: "properties.scheduledDateTime", + type: { + name: "DateTime", + }, + }, + sessionHostManagement: { + serializedName: "properties.sessionHostManagement", + type: { + name: "Composite", + className: "SessionHostManagement", + }, + }, + }, + }, +}; + +export const SessionHostManagementOperationProgress: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SessionHostManagementOperationProgress", + modelProperties: { + executionStartTime: { + serializedName: "executionStartTime", + type: { + name: "DateTime", + }, + }, + totalSessionHosts: { + serializedName: "totalSessionHosts", + type: { + name: "Number", + }, + }, + sessionHostsInProgress: { + serializedName: "sessionHostsInProgress", + type: { + name: "Number", + }, + }, + sessionHostsCompleted: { + serializedName: "sessionHostsCompleted", + type: { + name: "Number", + }, + }, + sessionHostsRollbackFailed: { + serializedName: "sessionHostsRollbackFailed", + type: { + name: "Number", + }, + }, + }, + }, + }; + +export const NetworkInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkInfoProperties", + modelProperties: { + subnetId: { + serializedName: "subnetId", + required: true, + type: { + name: "String", + }, + }, + securityGroupId: { + serializedName: "securityGroupId", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const DiskInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskInfoProperties", + modelProperties: { + type: { + serializedName: "type", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ImageInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImageInfoProperties", + modelProperties: { + imageType: { + serializedName: "type", + required: true, + type: { + name: "String", + }, + }, + marketplaceInfo: { + serializedName: "marketplaceInfo", + type: { + name: "Composite", + className: "MarketplaceInfoProperties", + }, + }, + customInfo: { + serializedName: "customInfo", + type: { + name: "Composite", + className: "CustomInfoProperties", + }, + }, + }, + }, +}; + +export const MarketplaceInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MarketplaceInfoProperties", + modelProperties: { + offer: { + serializedName: "offer", + required: true, + type: { + name: "String", + }, + }, + publisher: { + serializedName: "publisher", + required: true, + type: { + name: "String", + }, + }, + sku: { + serializedName: "sku", + required: true, + type: { + name: "String", + }, + }, + exactVersion: { + serializedName: "exactVersion", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const CustomInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomInfoProperties", + modelProperties: { + resourceId: { + serializedName: "resourceId", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const DomainInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DomainInfoProperties", + modelProperties: { + joinType: { + serializedName: "joinType", + required: true, + type: { + name: "String", + }, + }, + activeDirectoryInfo: { + serializedName: "activeDirectoryInfo", + type: { + name: "Composite", + className: "ActiveDirectoryInfoProperties", + }, + }, + azureActiveDirectoryInfo: { + serializedName: "azureActiveDirectoryInfo", + type: { + name: "Composite", + className: "AzureActiveDirectoryInfoProperties", + }, + }, + }, + }, +}; + +export const ActiveDirectoryInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ActiveDirectoryInfoProperties", + modelProperties: { + domainCredentials: { + serializedName: "domainCredentials", + type: { + name: "Composite", + className: "KeyVaultCredentialsProperties", + }, + }, + ouPath: { + serializedName: "ouPath", + required: true, + type: { + name: "String", + }, + }, + domainName: { + serializedName: "domainName", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const KeyVaultCredentialsProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyVaultCredentialsProperties", + modelProperties: { + usernameKeyVaultSecretUri: { + serializedName: "usernameKeyVaultSecretUri", + required: true, + type: { + name: "String", + }, + }, + passwordKeyVaultSecretUri: { + serializedName: "passwordKeyVaultSecretUri", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const AzureActiveDirectoryInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AzureActiveDirectoryInfoProperties", + modelProperties: { + mdmProviderGuid: { + serializedName: "mdmProviderGuid", + required: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SecurityInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityInfoProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String", + }, + }, + secureBootEnabled: { + serializedName: "secureBootEnabled", + type: { + name: "Boolean", + }, + }, + vTpmEnabled: { + serializedName: "vTpmEnabled", + type: { + name: "Boolean", + }, + }, + }, + }, +}; + +export const BootDiagnosticsInfoProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BootDiagnosticsInfoProperties", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean", + }, + }, + storageUri: { + serializedName: "storageUri", + nullable: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SessionHostConfigurationPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostConfigurationPatch", + modelProperties: { + friendlyName: { + constraints: { + MaxLength: 260, + }, + serializedName: "properties.friendlyName", + type: { + name: "String", + }, + }, + vmTags: { + serializedName: "properties.vmTags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, + }, + }, + vmLocation: { + serializedName: "properties.vmLocation", + type: { + name: "String", + }, + }, + vmResourceGroup: { + serializedName: "properties.vmResourceGroup", + type: { + name: "String", + }, + }, + vmNamePrefix: { + constraints: { + MaxLength: 11, + }, + serializedName: "properties.vmNamePrefix", + type: { + name: "String", + }, + }, + availabilityZones: { + serializedName: "properties.availabilityZones", + type: { + name: "Sequence", + element: { + type: { + name: "Number", + }, + }, + }, + }, + networkInfo: { + serializedName: "properties.networkInfo", + type: { + name: "Composite", + className: "NetworkInfoPatchProperties", + }, + }, + vmSizeId: { + serializedName: "properties.vmSizeId", + type: { + name: "String", + }, + }, + diskInfo: { + serializedName: "properties.diskInfo", + type: { + name: "Composite", + className: "DiskInfoPatchProperties", + }, + }, + customConfigurationScriptUrl: { + constraints: { + MaxLength: 260, + }, + serializedName: "properties.customConfigurationScriptUrl", + type: { + name: "String", + }, + }, + imageInfo: { + serializedName: "properties.imageInfo", + type: { + name: "Composite", + className: "ImageInfoPatchProperties", + }, + }, + domainInfo: { + serializedName: "properties.domainInfo", + type: { + name: "Composite", + className: "DomainInfoPatchProperties", + }, + }, + securityInfo: { + serializedName: "properties.securityInfo", + type: { + name: "Composite", + className: "SecurityInfoPatchProperties", + }, + }, + vmAdminCredentials: { + serializedName: "properties.vmAdminCredentials", + type: { + name: "Composite", + className: "KeyVaultCredentialsPatchProperties", + }, + }, + bootDiagnosticsInfo: { + serializedName: "properties.bootDiagnosticsInfo", + type: { + name: "Composite", + className: "BootDiagnosticsInfoPatchProperties", + }, + }, + }, + }, +}; + +export const NetworkInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "NetworkInfoPatchProperties", + modelProperties: { + subnetId: { + serializedName: "subnetId", + type: { + name: "String", + }, + }, + securityGroupId: { + serializedName: "securityGroupId", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const DiskInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DiskInfoPatchProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ImageInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImageInfoPatchProperties", + modelProperties: { + imageType: { + serializedName: "type", + type: { + name: "String", + }, + }, + marketplaceInfo: { + serializedName: "marketplaceInfo", + type: { + name: "Composite", + className: "MarketplaceInfoPatchProperties", + }, + }, + customInfo: { + serializedName: "customInfo", + type: { + name: "Composite", + className: "CustomInfoPatchProperties", + }, + }, + }, + }, +}; + +export const MarketplaceInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MarketplaceInfoPatchProperties", + modelProperties: { + offer: { + serializedName: "offer", + type: { + name: "String", + }, + }, + publisher: { + serializedName: "publisher", + type: { + name: "String", + }, + }, + sku: { + serializedName: "sku", + type: { + name: "String", + }, + }, + exactVersion: { + serializedName: "exactVersion", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const CustomInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "CustomInfoPatchProperties", + modelProperties: { + resourceId: { + serializedName: "resourceId", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const DomainInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "DomainInfoPatchProperties", + modelProperties: { + activeDirectoryInfo: { + serializedName: "activeDirectoryInfo", + type: { + name: "Composite", + className: "ActiveDirectoryInfoPatchProperties", + }, + }, + }, + }, +}; + +export const ActiveDirectoryInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ActiveDirectoryInfoPatchProperties", + modelProperties: { + domainCredentials: { + serializedName: "domainCredentials", + type: { + name: "Composite", + className: "KeyVaultCredentialsPatchProperties", + }, + }, + }, + }, +}; + +export const KeyVaultCredentialsPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "KeyVaultCredentialsPatchProperties", + modelProperties: { + usernameKeyVaultSecretUri: { + serializedName: "usernameKeyVaultSecretUri", + type: { + name: "String", + }, + }, + passwordKeyVaultSecretUri: { + serializedName: "passwordKeyVaultSecretUri", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SecurityInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SecurityInfoPatchProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String", + }, + }, + secureBootEnabled: { + serializedName: "secureBootEnabled", + type: { + name: "Boolean", + }, + }, + vTpmEnabled: { + serializedName: "vTpmEnabled", + type: { + name: "Boolean", + }, + }, + }, + }, +}; + +export const BootDiagnosticsInfoPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "BootDiagnosticsInfoPatchProperties", + modelProperties: { + enabled: { + serializedName: "enabled", + type: { + name: "Boolean", + }, + }, + storageUri: { + serializedName: "storageUri", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SessionHostConfigurationList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostConfigurationList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SessionHostConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ActiveSessionHostConfigurationList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ActiveSessionHostConfigurationList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ActiveSessionHostConfiguration", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const RegistrationTokenList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RegistrationTokenList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "RegistrationTokenMinimal", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const RegistrationTokenMinimal: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "RegistrationTokenMinimal", + modelProperties: { + expirationTime: { + serializedName: "expirationTime", + nullable: true, + type: { + name: "DateTime", + }, + }, + token: { + serializedName: "token", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const UserSessionList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "UserSessionList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "UserSession", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const SessionHostHealthCheckReport: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostHealthCheckReport", + modelProperties: { + healthCheckName: { + serializedName: "healthCheckName", + readOnly: true, + type: { + name: "String", + }, + }, + healthCheckResult: { + serializedName: "healthCheckResult", + readOnly: true, + type: { + name: "String", + }, + }, + additionalFailureDetails: { + serializedName: "additionalFailureDetails", + type: { + name: "Composite", + className: "SessionHostHealthCheckFailureDetails", + }, + }, + }, + }, +}; + +export const SessionHostHealthCheckFailureDetails: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SessionHostHealthCheckFailureDetails", + modelProperties: { + message: { + serializedName: "message", + readOnly: true, + type: { + name: "String", + }, + }, + errorCode: { + serializedName: "errorCode", + readOnly: true, + type: { + name: "Number", + }, + }, + lastHealthCheckDateTime: { + serializedName: "lastHealthCheckDateTime", + readOnly: true, + type: { + name: "DateTime", + }, + }, + }, + }, + }; + +export const SessionHostList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SessionHost", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const MsixPackageDependencies: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MsixPackageDependencies", + modelProperties: { + dependencyName: { + serializedName: "dependencyName", + type: { + name: "String", + }, + }, + publisher: { + serializedName: "publisher", + type: { + name: "String", + }, + }, + minVersion: { + serializedName: "minVersion", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const MsixPackageApplications: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MsixPackageApplications", + modelProperties: { + appId: { + serializedName: "appId", + type: { + name: "String", + }, + }, + description: { + serializedName: "description", + type: { + name: "String", + }, + }, + appUserModelID: { + serializedName: "appUserModelID", + type: { + name: "String", + }, + }, + friendlyName: { + serializedName: "friendlyName", + type: { + name: "String", + }, + }, + iconImageName: { + serializedName: "iconImageName", + type: { + name: "String", + }, + }, + rawIcon: { + serializedName: "rawIcon", + type: { + name: "ByteArray", + }, + }, + rawPng: { + serializedName: "rawPng", + type: { + name: "ByteArray", + }, + }, + }, + }, +}; + +export const MsixPackageList: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MsixPackageList", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackage", + }, + }, + }, + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ImportPackageInfoRequest: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ImportPackageInfoRequest", modelProperties: { path: { serializedName: "path", @@ -1936,6 +3040,25 @@ export const AppAttachPackageProperties: coreClient.CompositeMapper = { name: "String", }, }, + packageOwnerName: { + serializedName: "packageOwnerName", + type: { + name: "String", + }, + }, + packageLookbackUrl: { + serializedName: "packageLookbackUrl", + nullable: true, + type: { + name: "String", + }, + }, + customData: { + serializedName: "customData", + type: { + name: "String", + }, + }, }, }, }; @@ -1989,169 +3112,73 @@ export const AppAttachPackageInfoProperties: coreClient.CompositeMapper = { }, }, isRegularRegistration: { - serializedName: "isRegularRegistration", - type: { - name: "Boolean", - }, - }, - isActive: { - serializedName: "isActive", - type: { - name: "Boolean", - }, - }, - packageDependencies: { - serializedName: "packageDependencies", - nullable: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies", - }, - }, - }, - }, - version: { - serializedName: "version", - type: { - name: "String", - }, - }, - lastUpdated: { - serializedName: "lastUpdated", - type: { - name: "DateTime", - }, - }, - packageApplications: { - serializedName: "packageApplications", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageApplications", - }, - }, - }, - }, - certificateName: { - serializedName: "certificateName", - nullable: true, - type: { - name: "String", - }, - }, - certificateExpiry: { - serializedName: "certificateExpiry", - nullable: true, - type: { - name: "DateTime", - }, - }, - isPackageTimestamped: { - serializedName: "isPackageTimestamped", - nullable: true, - type: { - name: "String", - }, - }, - }, - }, -}; - -export const ErrorResponse: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorResponse", - modelProperties: { - error: { - serializedName: "error", - type: { - name: "Composite", - className: "ErrorDetail", - }, - }, - }, - }, -}; - -export const ErrorDetail: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorDetail", - modelProperties: { - code: { - serializedName: "code", - readOnly: true, - type: { - name: "String", - }, - }, - message: { - serializedName: "message", - readOnly: true, + serializedName: "isRegularRegistration", type: { - name: "String", + name: "Boolean", }, }, - target: { - serializedName: "target", - readOnly: true, + isActive: { + serializedName: "isActive", type: { - name: "String", + name: "Boolean", }, }, - details: { - serializedName: "details", - readOnly: true, + packageDependencies: { + serializedName: "packageDependencies", + nullable: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "ErrorDetail", + className: "MsixPackageDependencies", }, }, }, }, - additionalInfo: { - serializedName: "additionalInfo", - readOnly: true, + version: { + serializedName: "version", + type: { + name: "String", + }, + }, + lastUpdated: { + serializedName: "lastUpdated", + type: { + name: "DateTime", + }, + }, + packageApplications: { + serializedName: "packageApplications", type: { name: "Sequence", element: { type: { name: "Composite", - className: "ErrorAdditionalInfo", + className: "MsixPackageApplications", }, }, }, }, - }, - }, -}; - -export const ErrorAdditionalInfo: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ErrorAdditionalInfo", - modelProperties: { - type: { - serializedName: "type", - readOnly: true, + certificateName: { + serializedName: "certificateName", + nullable: true, type: { name: "String", }, }, - info: { - serializedName: "info", - readOnly: true, + certificateExpiry: { + serializedName: "certificateExpiry", + nullable: true, type: { - name: "Dictionary", - value: { type: { name: "any" } }, + name: "DateTime", + }, + }, + isPackageTimestamped: { + serializedName: "isPackageTimestamped", + nullable: true, + type: { + name: "String", }, }, }, @@ -2236,6 +3263,18 @@ export const AppAttachPackagePatchProperties: coreClient.CompositeMapper = { name: "String", }, }, + packageLookbackUrl: { + serializedName: "packageLookbackUrl", + type: { + name: "String", + }, + }, + customData: { + serializedName: "customData", + type: { + name: "String", + }, + }, }, }, }; @@ -2261,6 +3300,39 @@ export const SendMessage: coreClient.CompositeMapper = { }, }; +export const HostPoolUpdateFault: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HostPoolUpdateFault", + modelProperties: { + faultType: { + serializedName: "faultType", + type: { + name: "String", + }, + }, + faultCode: { + serializedName: "faultCode", + type: { + name: "String", + }, + }, + faultText: { + serializedName: "faultText", + type: { + name: "String", + }, + }, + faultContext: { + serializedName: "faultContext", + type: { + name: "String", + }, + }, + }, + }, +}; + export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", @@ -2341,39 +3413,202 @@ export const PrivateLinkResource: coreClient.CompositeMapper = { name: "String", }, }, - requiredMembers: { - serializedName: "properties.requiredMembers", - readOnly: true, + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String", + }, + }, + }, + }, + }, + }, +}; + +export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlanPooledSchedule", + modelProperties: { + ...Resource.type.modelProperties, + namePropertiesName: { + serializedName: "properties.name", + readOnly: true, + type: { + name: "String", + }, + }, + daysOfWeek: { + serializedName: "properties.daysOfWeek", + required: true, + type: { + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday", + ], + }, + }, + }, + }, + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", + type: { + name: "Composite", + className: "Time", + }, + }, + rampUpLoadBalancingAlgorithm: { + serializedName: "properties.rampUpLoadBalancingAlgorithm", + type: { + name: "String", + }, + }, + rampUpMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0, + }, + serializedName: "properties.rampUpMinimumHostsPct", + type: { + name: "Number", + }, + }, + rampUpCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1, + }, + serializedName: "properties.rampUpCapacityThresholdPct", + required: true, + type: { + name: "Number", + }, + }, + peakStartTime: { + serializedName: "properties.peakStartTime", + type: { + name: "Composite", + className: "Time", + }, + }, + peakLoadBalancingAlgorithm: { + serializedName: "properties.peakLoadBalancingAlgorithm", + type: { + name: "String", + }, + }, + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", + type: { + name: "Composite", + className: "Time", + }, + }, + rampDownLoadBalancingAlgorithm: { + serializedName: "properties.rampDownLoadBalancingAlgorithm", + type: { + name: "String", + }, + }, + rampDownMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0, + }, + serializedName: "properties.rampDownMinimumHostsPct", + type: { + name: "Number", + }, + }, + rampDownCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1, + }, + serializedName: "properties.rampDownCapacityThresholdPct", + required: true, + 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: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "Composite", + className: "Time", }, }, - requiredZoneNames: { - serializedName: "properties.requiredZoneNames", + offPeakLoadBalancingAlgorithm: { + serializedName: "properties.offPeakLoadBalancingAlgorithm", type: { - name: "Sequence", - element: { - type: { - name: "String", - }, - }, + name: "String", }, }, }, }, }; -export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlanPooledSchedule", + className: "ScalingPlanPooledSchedulePatch", modelProperties: { ...Resource.type.modelProperties, + namePropertiesName: { + serializedName: "properties.name", + readOnly: true, + type: { + name: "String", + }, + }, daysOfWeek: { serializedName: "properties.daysOfWeek", type: { @@ -2514,510 +3749,651 @@ export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { }, }; -export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { +export const ProxyResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlanPooledSchedulePatch", + className: "ProxyResource", modelProperties: { ...Resource.type.modelProperties, - daysOfWeek: { - serializedName: "properties.daysOfWeek", + }, + }, +}; + +export const ApplicationGroupPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroupPatch", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + nullable: true, type: { - name: "Sequence", - element: { - type: { - name: "Enum", - allowedValues: [ - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday", - ], - }, - }, + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - rampUpStartTime: { - serializedName: "properties.rampUpStartTime", + description: { + serializedName: "properties.description", type: { - name: "Composite", - className: "Time", + name: "String", + }, + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String", + }, + }, + showInFeed: { + serializedName: "properties.showInFeed", + type: { + name: "Boolean", + }, + }, + }, + }, +}; + +export const StartMenuItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StartMenuItem", + modelProperties: { + ...Resource.type.modelProperties, + appAlias: { + serializedName: "properties.appAlias", + type: { + name: "String", + }, + }, + filePath: { + serializedName: "properties.filePath", + type: { + name: "String", + }, + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String", + }, + }, + iconPath: { + serializedName: "properties.iconPath", + type: { + name: "String", + }, + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number", + }, + }, + }, + }, +}; + +export const Application: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Application", + modelProperties: { + ...Resource.type.modelProperties, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", + }, + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String", + }, + }, + filePath: { + serializedName: "properties.filePath", + type: { + name: "String", + }, + }, + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", + nullable: true, + type: { + name: "String", + }, + }, + msixPackageApplicationId: { + serializedName: "properties.msixPackageApplicationId", + nullable: true, + type: { + name: "String", + }, + }, + applicationType: { + serializedName: "properties.applicationType", + type: { + name: "String", + }, + }, + commandLineSetting: { + serializedName: "properties.commandLineSetting", + required: true, + type: { + name: "String", + }, + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String", + }, + }, + showInPortal: { + serializedName: "properties.showInPortal", + type: { + name: "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 Desktop: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Desktop", + modelProperties: { + ...Resource.type.modelProperties, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String", + }, + }, + description: { + serializedName: "properties.description", + type: { + name: "String", }, }, - rampUpLoadBalancingAlgorithm: { - serializedName: "properties.rampUpLoadBalancingAlgorithm", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String", }, }, - rampUpMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0, - }, - serializedName: "properties.rampUpMinimumHostsPct", + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, type: { - name: "Number", + name: "String", }, }, - rampUpCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1, - }, - serializedName: "properties.rampUpCapacityThresholdPct", + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, type: { - name: "Number", + name: "ByteArray", }, }, - peakStartTime: { - serializedName: "properties.peakStartTime", + }, + }, +}; + +export const HostPoolPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "HostPoolPatch", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + nullable: true, type: { - name: "Composite", - className: "Time", + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - peakLoadBalancingAlgorithm: { - serializedName: "properties.peakLoadBalancingAlgorithm", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String", }, }, - rampDownStartTime: { - serializedName: "properties.rampDownStartTime", + description: { + serializedName: "properties.description", type: { - name: "Composite", - className: "Time", + name: "String", }, }, - rampDownLoadBalancingAlgorithm: { - serializedName: "properties.rampDownLoadBalancingAlgorithm", + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { name: "String", }, }, - rampDownMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0, - }, - serializedName: "properties.rampDownMinimumHostsPct", + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", + nullable: true, type: { name: "Number", }, }, - rampDownCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1, + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", + nullable: true, + type: { + name: "String", }, - serializedName: "properties.rampDownCapacityThresholdPct", + }, + loadBalancerType: { + serializedName: "properties.loadBalancerType", type: { - name: "Number", + name: "String", }, }, - rampDownForceLogoffUsers: { - serializedName: "properties.rampDownForceLogoffUsers", + ring: { + serializedName: "properties.ring", + nullable: true, type: { - name: "Boolean", + name: "Number", }, }, - rampDownStopHostsWhen: { - serializedName: "properties.rampDownStopHostsWhen", + validationEnvironment: { + serializedName: "properties.validationEnvironment", + nullable: true, type: { - name: "String", + name: "Boolean", }, }, - rampDownWaitTimeMinutes: { - serializedName: "properties.rampDownWaitTimeMinutes", + registrationInfo: { + serializedName: "properties.registrationInfo", type: { - name: "Number", + name: "Composite", + className: "RegistrationInfoPatch", }, }, - rampDownNotificationMessage: { - serializedName: "properties.rampDownNotificationMessage", + vmTemplate: { + serializedName: "properties.vmTemplate", type: { name: "String", }, }, - offPeakStartTime: { - serializedName: "properties.offPeakStartTime", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { - name: "Composite", - className: "Time", + name: "String", }, }, - offPeakLoadBalancingAlgorithm: { - serializedName: "properties.offPeakLoadBalancingAlgorithm", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { name: "String", }, }, - }, - }, -}; - -export const ProxyResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ProxyResource", - modelProperties: { - ...Resource.type.modelProperties, - }, - }, -}; - -export const ApplicationGroupPatch: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ApplicationGroupPatch", - modelProperties: { - ...Resource.type.modelProperties, - tags: { - serializedName: "tags", - nullable: true, + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { - name: "Dictionary", - value: { type: { name: "String" } }, + name: "String", }, }, - description: { - serializedName: "properties.description", + ssoSecretType: { + serializedName: "properties.ssoSecretType", + nullable: true, type: { name: "String", }, }, - friendlyName: { - serializedName: "properties.friendlyName", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", type: { name: "String", }, }, - showInFeed: { - serializedName: "properties.showInFeed", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", + nullable: true, type: { name: "Boolean", }, }, - }, - }, -}; - -export const StartMenuItem: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "StartMenuItem", - modelProperties: { - ...Resource.type.modelProperties, - appAlias: { - serializedName: "properties.appAlias", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + nullable: true, type: { name: "String", }, }, - filePath: { - serializedName: "properties.filePath", + agentUpdate: { + serializedName: "properties.agentUpdate", + type: { + name: "Composite", + className: "AgentUpdatePatchProperties", + }, + }, + managedPrivateUDP: { + serializedName: "properties.managedPrivateUDP", type: { name: "String", }, }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + directUDP: { + serializedName: "properties.directUDP", type: { name: "String", }, }, - iconPath: { - serializedName: "properties.iconPath", + publicUDP: { + serializedName: "properties.publicUDP", type: { name: "String", }, }, - iconIndex: { - serializedName: "properties.iconIndex", + relayUDP: { + serializedName: "properties.relayUDP", type: { - name: "Number", + name: "String", }, }, }, }, }; -export const Application: coreClient.CompositeMapper = { +export const SessionHostConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Application", + className: "SessionHostConfiguration", modelProperties: { ...Resource.type.modelProperties, - objectId: { - serializedName: "properties.objectId", + version: { + serializedName: "properties.version", readOnly: true, type: { - name: "String", - }, - }, - description: { - serializedName: "properties.description", - type: { - name: "String", + name: "DateTime", }, }, friendlyName: { + constraints: { + MaxLength: 260, + }, serializedName: "properties.friendlyName", type: { name: "String", }, }, - filePath: { - serializedName: "properties.filePath", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String", }, }, - msixPackageFamilyName: { - serializedName: "properties.msixPackageFamilyName", - nullable: true, + vmTags: { + serializedName: "properties.vmTags", type: { - name: "String", + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - msixPackageApplicationId: { - serializedName: "properties.msixPackageApplicationId", - nullable: true, + vmLocation: { + serializedName: "properties.vmLocation", type: { name: "String", }, }, - applicationType: { - serializedName: "properties.applicationType", + vmResourceGroup: { + serializedName: "properties.vmResourceGroup", type: { name: "String", }, }, - commandLineSetting: { - serializedName: "properties.commandLineSetting", - required: true, - type: { - name: "String", + vmNamePrefix: { + constraints: { + MaxLength: 11, }, - }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + serializedName: "properties.vmNamePrefix", + required: true, type: { name: "String", }, }, - showInPortal: { - serializedName: "properties.showInPortal", - type: { - name: "Boolean", - }, - }, - iconPath: { - serializedName: "properties.iconPath", + availabilityZones: { + serializedName: "properties.availabilityZones", type: { - name: "String", + name: "Sequence", + element: { + type: { + name: "Number", + }, + }, }, }, - iconIndex: { - serializedName: "properties.iconIndex", + networkInfo: { + serializedName: "properties.networkInfo", type: { - name: "Number", + name: "Composite", + className: "NetworkInfoProperties", }, }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + vmSizeId: { + serializedName: "properties.vmSizeId", + required: true, type: { name: "String", }, }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, + diskInfo: { + serializedName: "properties.diskInfo", type: { - name: "ByteArray", + name: "Composite", + className: "DiskInfoProperties", }, }, - }, - }, -}; - -export const Desktop: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Desktop", - modelProperties: { - ...Resource.type.modelProperties, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + customConfigurationScriptUrl: { + serializedName: "properties.customConfigurationScriptUrl", type: { name: "String", }, }, - description: { - serializedName: "properties.description", + imageInfo: { + serializedName: "properties.imageInfo", type: { - name: "String", + name: "Composite", + className: "ImageInfoProperties", }, }, - friendlyName: { - serializedName: "properties.friendlyName", + domainInfo: { + serializedName: "properties.domainInfo", type: { - name: "String", + name: "Composite", + className: "DomainInfoProperties", }, }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + securityInfo: { + serializedName: "properties.securityInfo", type: { - name: "String", + name: "Composite", + className: "SecurityInfoProperties", }, }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, + vmAdminCredentials: { + serializedName: "properties.vmAdminCredentials", type: { - name: "ByteArray", + name: "Composite", + className: "KeyVaultCredentialsProperties", + }, + }, + bootDiagnosticsInfo: { + serializedName: "properties.bootDiagnosticsInfo", + type: { + name: "Composite", + className: "BootDiagnosticsInfoProperties", }, }, }, }, }; -export const HostPoolPatch: coreClient.CompositeMapper = { +export const ActiveSessionHostConfiguration: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPoolPatch", + className: "ActiveSessionHostConfiguration", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", - nullable: true, + version: { + serializedName: "properties.version", + readOnly: true, type: { - name: "Dictionary", - value: { type: { name: "String" } }, + name: "DateTime", }, }, friendlyName: { + constraints: { + MaxLength: 260, + }, serializedName: "properties.friendlyName", type: { name: "String", }, }, - description: { - serializedName: "properties.description", + vmTags: { + serializedName: "properties.vmTags", type: { - name: "String", + name: "Dictionary", + value: { type: { name: "String" } }, }, }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + vmLocation: { + serializedName: "properties.vmLocation", type: { name: "String", }, }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", - nullable: true, - type: { - name: "Number", - }, - }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", - nullable: true, + vmResourceGroup: { + serializedName: "properties.vmResourceGroup", type: { name: "String", }, }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", - type: { - name: "String", + vmNamePrefix: { + constraints: { + MaxLength: 11, }, - }, - ring: { - serializedName: "properties.ring", - nullable: true, + serializedName: "properties.vmNamePrefix", + required: true, type: { - name: "Number", + name: "String", }, }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", - nullable: true, + availabilityZones: { + serializedName: "properties.availabilityZones", type: { - name: "Boolean", + name: "Sequence", + element: { + type: { + name: "Number", + }, + }, }, }, - registrationInfo: { - serializedName: "properties.registrationInfo", + networkInfo: { + serializedName: "properties.networkInfo", type: { name: "Composite", - className: "RegistrationInfoPatch", - }, - }, - vmTemplate: { - serializedName: "properties.vmTemplate", - type: { - name: "String", + className: "NetworkInfoProperties", }, }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + vmSizeId: { + serializedName: "properties.vmSizeId", + required: true, type: { name: "String", }, }, - ssoClientId: { - serializedName: "properties.ssoClientId", + diskInfo: { + serializedName: "properties.diskInfo", type: { - name: "String", + name: "Composite", + className: "DiskInfoProperties", }, }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + customConfigurationScriptUrl: { + serializedName: "properties.customConfigurationScriptUrl", type: { name: "String", }, }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", - nullable: true, + imageInfo: { + serializedName: "properties.imageInfo", type: { - name: "String", + name: "Composite", + className: "ImageInfoProperties", }, }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", + domainInfo: { + serializedName: "properties.domainInfo", type: { - name: "String", + name: "Composite", + className: "DomainInfoProperties", }, }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", - nullable: true, + securityInfo: { + serializedName: "properties.securityInfo", type: { - name: "Boolean", + name: "Composite", + className: "SecurityInfoProperties", }, }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", - nullable: true, + vmAdminCredentials: { + serializedName: "properties.vmAdminCredentials", type: { - name: "String", + name: "Composite", + className: "KeyVaultCredentialsProperties", }, }, - agentUpdate: { - serializedName: "properties.agentUpdate", + bootDiagnosticsInfo: { + serializedName: "properties.bootDiagnosticsInfo", type: { name: "Composite", - className: "AgentUpdatePatchProperties", + className: "BootDiagnosticsInfoProperties", }, }, }, @@ -3178,6 +4554,20 @@ export const SessionHost: coreClient.CompositeMapper = { name: "String", }, }, + lastSessionHostUpdateTime: { + serializedName: "properties.lastSessionHostUpdateTime", + readOnly: true, + type: { + name: "DateTime", + }, + }, + sessionHostConfiguration: { + serializedName: "properties.sessionHostConfiguration", + readOnly: true, + type: { + name: "String", + }, + }, sessionHostHealthCheckResults: { serializedName: "properties.sessionHostHealthCheckResults", readOnly: true, @@ -3462,6 +4852,13 @@ export const AppAttachPackagePatch: coreClient.CompositeMapper = { className: "AppAttachPackagePatch", modelProperties: { ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } }, + }, + }, properties: { serializedName: "properties", type: { @@ -3473,39 +4870,6 @@ export const AppAttachPackagePatch: coreClient.CompositeMapper = { }, }; -export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", - modelProperties: { - ...Identity.type.modelProperties, - }, - }, - }; - -export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", - modelProperties: { - ...Sku.type.modelProperties, - }, - }, - }; - -export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = - { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", - modelProperties: { - ...Plan.type.modelProperties, - }, - }, - }; - export const PrivateEndpointConnectionWithSystemData: coreClient.CompositeMapper = { type: { @@ -3549,21 +4913,21 @@ export const ResourceModelWithAllowedPropertySet: coreClient.CompositeMapper = { serializedName: "identity", type: { name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", + className: "ManagedServiceIdentity", }, }, sku: { serializedName: "sku", type: { name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", + className: "Sku", }, }, plan: { serializedName: "plan", type: { name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", + className: "Plan", }, }, }, @@ -3595,6 +4959,7 @@ export const ScalingPlanPersonalSchedule: coreClient.CompositeMapper = { ...ProxyResource.type.modelProperties, daysOfWeek: { serializedName: "properties.daysOfWeek", + required: true, type: { name: "Sequence", element: { @@ -3795,6 +5160,30 @@ export const ScalingPlanPersonalSchedule: coreClient.CompositeMapper = { }, }; +export const SessionHostManagement: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "SessionHostManagement", + modelProperties: { + ...ProxyResource.type.modelProperties, + scheduledDateTimeZone: { + serializedName: "properties.scheduledDateTimeZone", + required: true, + type: { + name: "String", + }, + }, + update: { + serializedName: "properties.update", + type: { + name: "Composite", + className: "HostPoolUpdateConfigurationProperties", + }, + }, + }, + }, +}; + export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", @@ -4088,6 +5477,12 @@ export const HostPool: coreClient.CompositeMapper = { name: "String", }, }, + managementType: { + serializedName: "properties.managementType", + type: { + name: "String", + }, + }, applicationGroupReferences: { serializedName: "properties.applicationGroupReferences", readOnly: true, @@ -4177,7 +5572,6 @@ export const HostPool: coreClient.CompositeMapper = { privateEndpointConnections: { serializedName: "properties.privateEndpointConnections", readOnly: true, - nullable: true, type: { name: "Sequence", element: { @@ -4188,6 +5582,83 @@ export const HostPool: coreClient.CompositeMapper = { }, }, }, + managedPrivateUDP: { + serializedName: "properties.managedPrivateUDP", + type: { + name: "String", + }, + }, + directUDP: { + serializedName: "properties.directUDP", + type: { + name: "String", + }, + }, + publicUDP: { + serializedName: "properties.publicUDP", + type: { + name: "String", + }, + }, + relayUDP: { + serializedName: "properties.relayUDP", + type: { + name: "String", + }, + }, + }, + }, +}; + +export const ControlSessionHostUpdatePostHeaders: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ControlSessionHostUpdatePostHeaders", + modelProperties: { + location: { + serializedName: "location", + type: { + name: "String", + }, + }, + retryAfter: { + serializedName: "retry-after", + type: { + name: "Number", + }, + }, }, }, }; + +export const SessionHostConfigurationsCreateOrUpdateHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SessionHostConfigurationsCreateOrUpdateHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String", + }, + }, + }, + }, + }; + +export const SessionHostConfigurationsUpdateHeaders: coreClient.CompositeMapper = + { + type: { + name: "Composite", + className: "SessionHostConfigurationsUpdateHeaders", + modelProperties: { + azureAsyncOperation: { + serializedName: "azure-asyncoperation", + type: { + name: "String", + }, + }, + }, + }, + }; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 1d7f21fb29de..f36d6300d044 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts @@ -28,6 +28,12 @@ import { DesktopPatch as DesktopPatchMapper, HostPool as HostPoolMapper, HostPoolPatch as HostPoolPatchMapper, + SessionHostManagement as SessionHostManagementMapper, + SessionHostManagementPatch as SessionHostManagementPatchMapper, + UpdateSessionHostsRequestBody as UpdateSessionHostsRequestBodyMapper, + HostPoolUpdateControlParameter as HostPoolUpdateControlParameterMapper, + SessionHostConfiguration as SessionHostConfigurationMapper, + SessionHostConfigurationPatch as SessionHostConfigurationPatchMapper, SendMessage as SendMessageMapper, SessionHostPatch as SessionHostPatchMapper, MsixPackage as MsixPackageMapper, @@ -65,7 +71,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2024-04-03", + defaultValue: "2024-08-08-preview", isConstant: true, serializedName: "api-version", type: { @@ -117,8 +123,8 @@ export const workspaceName: OperationURLParameter = { mapper: { constraints: { Pattern: new RegExp("^[A-Za-z0-9@.\\-_ ]*$"), - MaxLength: 64, - MinLength: 3, + MaxLength: 255, + MinLength: 1, }, serializedName: "workspaceName", required: true, @@ -201,8 +207,8 @@ export const hostPoolName: OperationURLParameter = { mapper: { constraints: { Pattern: new RegExp("^[A-Za-z0-9@.\\-_ ]*$"), - MaxLength: 64, - MinLength: 3, + MaxLength: 255, + MinLength: 1, }, serializedName: "hostPoolName", required: true, @@ -217,8 +223,8 @@ export const scalingPlanName: OperationURLParameter = { mapper: { constraints: { Pattern: new RegExp("^[A-Za-z0-9@.\\-_ ]*$"), - MaxLength: 64, - MinLength: 3, + MaxLength: 255, + MinLength: 1, }, serializedName: "scalingPlanName", required: true, @@ -279,8 +285,8 @@ export const applicationGroupName: OperationURLParameter = { mapper: { constraints: { Pattern: new RegExp("^[A-Za-z0-9@.\\-_ ]*$"), - MaxLength: 64, - MinLength: 3, + MaxLength: 255, + MinLength: 1, }, serializedName: "applicationGroupName", required: true, @@ -377,6 +383,36 @@ export const hostPool1: OperationParameter = { mapper: HostPoolPatchMapper, }; +export const sessionHostManagement: OperationParameter = { + parameterPath: "sessionHostManagement", + mapper: SessionHostManagementMapper, +}; + +export const sessionHostManagement1: OperationParameter = { + parameterPath: ["options", "sessionHostManagement"], + mapper: SessionHostManagementPatchMapper, +}; + +export const updateSessionHostsRequestBody: OperationParameter = { + parameterPath: ["options", "updateSessionHostsRequestBody"], + mapper: UpdateSessionHostsRequestBodyMapper, +}; + +export const hostPoolUpdateControlParameter: OperationParameter = { + parameterPath: "hostPoolUpdateControlParameter", + mapper: HostPoolUpdateControlParameterMapper, +}; + +export const sessionHostConfiguration: OperationParameter = { + parameterPath: "sessionHostConfiguration", + mapper: SessionHostConfigurationMapper, +}; + +export const sessionHostConfiguration1: OperationParameter = { + parameterPath: ["options", "sessionHostConfiguration"], + mapper: SessionHostConfigurationPatchMapper, +}; + export const sessionHostName: OperationURLParameter = { parameterPath: "sessionHostName", mapper: { @@ -418,6 +454,21 @@ export const sessionHost: OperationParameter = { mapper: SessionHostPatchMapper, }; +export const vmPath: OperationQueryParameter = { + parameterPath: ["options", "vmPath"], + mapper: { + constraints: { + Pattern: new RegExp("^[A-Z][a-z][0-9][@./-_ ]*$"), + MaxLength: 1092, + MinLength: 3, + }, + serializedName: "vmPath", + type: { + name: "String", + }, + }, +}; + export const msixPackageFullName: OperationURLParameter = { parameterPath: "msixPackageFullName", mapper: { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/activeSessionHostConfigurations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/activeSessionHostConfigurations.ts new file mode 100644 index 000000000000..c6927dc30bd0 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/activeSessionHostConfigurations.ts @@ -0,0 +1,244 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { ActiveSessionHostConfigurations } 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 { + ActiveSessionHostConfiguration, + ActiveSessionHostConfigurationsListByHostPoolNextOptionalParams, + ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ActiveSessionHostConfigurationsListByHostPoolResponse, + ActiveSessionHostConfigurationsGetOptionalParams, + ActiveSessionHostConfigurationsGetResponse, + ActiveSessionHostConfigurationsListByHostPoolNextResponse, +} from "../models"; + +/// +/** Class containing ActiveSessionHostConfigurations operations. */ +export class ActiveSessionHostConfigurationsImpl + implements ActiveSessionHostConfigurations +{ + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class ActiveSessionHostConfigurations class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List activeSessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings, + ); + }, + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: ActiveSessionHostConfigurationsListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + )) { + yield* page; + } + } + + /** + * Get the ActiveSessionHostConfiguration for the hostPool that is currently being used for update + * operations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + getOperationSpec, + ); + } + + /** + * List activeSessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec, + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: ActiveSessionHostConfigurationsListByHostPoolNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/activeSessionHostConfigurations/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ActiveSessionHostConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/activeSessionHostConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ActiveSessionHostConfigurationList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.ActiveSessionHostConfigurationList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts index a4c6fcee4edb..2f3d02be1764 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/appAttachPackageOperations.ts @@ -173,7 +173,7 @@ export class AppAttachPackageOperationsImpl /** * Get an app attach package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ get( @@ -190,7 +190,7 @@ export class AppAttachPackageOperationsImpl /** * Create or update an App Attach package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param appAttachPackage Object containing App Attach Package definitions. * @param options The options parameters. */ @@ -209,7 +209,7 @@ export class AppAttachPackageOperationsImpl /** * Remove an App Attach Package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ delete( @@ -226,7 +226,7 @@ export class AppAttachPackageOperationsImpl /** * Update an App Attach Package * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ update( @@ -360,7 +360,7 @@ const deleteOperationSpec: coreClient.OperationSpec = { bodyMapper: Mappers.ErrorResponse, }, }, - queryParameters: [Parameters.apiVersion], + queryParameters: [Parameters.apiVersion, Parameters.force], urlParameters: [ Parameters.$host, Parameters.subscriptionId, diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/controlSessionHostUpdate.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/controlSessionHostUpdate.ts new file mode 100644 index 000000000000..39b28a1200d8 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/controlSessionHostUpdate.ts @@ -0,0 +1,172 @@ +/* + * 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 { ControlSessionHostUpdate } 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 { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + HostPoolUpdateControlParameter, + ControlSessionHostUpdatePostOptionalParams, + ControlSessionHostUpdatePostResponse, +} from "../models"; + +/** Class containing ControlSessionHostUpdate operations. */ +export class ControlSessionHostUpdateImpl implements ControlSessionHostUpdate { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class ControlSessionHostUpdate class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * Control update of a hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param hostPoolUpdateControlParameter Object containing control action for hostpool update. + * @param options The options parameters. + */ + async beginPost( + resourceGroupName: string, + hostPoolName: string, + hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, + options?: ControlSessionHostUpdatePostOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ControlSessionHostUpdatePostResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ) => { + let currentRawResponse: coreClient.FullOperationResponse | undefined = + undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown, + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback, + }, + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON(), + }, + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + hostPoolName, + hostPoolUpdateControlParameter, + options, + }, + spec: postOperationSpec, + }); + const poller = await createHttpPoller< + ControlSessionHostUpdatePostResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Control update of a hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param hostPoolUpdateControlParameter Object containing control action for hostpool update. + * @param options The options parameters. + */ + async beginPostAndWait( + resourceGroupName: string, + hostPoolName: string, + hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, + options?: ControlSessionHostUpdatePostOptionalParams, + ): Promise { + const poller = await this.beginPost( + resourceGroupName, + hostPoolName, + hostPoolUpdateControlParameter, + options, + ); + return poller.pollUntilDone(); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const postOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/controlSessionHostUpdate", + httpMethod: "POST", + responses: { + 200: { + headersMapper: Mappers.ControlSessionHostUpdatePostHeaders, + }, + 201: { + headersMapper: Mappers.ControlSessionHostUpdatePostHeaders, + }, + 202: { + headersMapper: Mappers.ControlSessionHostUpdatePostHeaders, + }, + 204: { + headersMapper: Mappers.ControlSessionHostUpdatePostHeaders, + }, + default: { + bodyMapper: Mappers.ErrorResponse, + }, + }, + requestBody: Parameters.hostPoolUpdateControlParameter, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/hostPools.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/hostPools.ts index c3029ebfdd06..a610557b8a65 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/hostPools.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/hostPools.ts @@ -285,7 +285,7 @@ export class HostPoolsImpl implements HostPools { } /** - * Operation to list the RegistrationTokens associated with the HostPool + * Operation to list the RegistrationTokens associated with the HostPool. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param hostPoolName The name of the host pool within the specified resource group * @param options The options parameters. diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts index a34bae2d819a..3300719b5037 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts @@ -18,8 +18,15 @@ export * from "./startMenuItems"; export * from "./applications"; export * from "./desktops"; export * from "./hostPools"; +export * from "./sessionHostManagements"; +export * from "./initiateSessionHostUpdate"; +export * from "./controlSessionHostUpdate"; +export * from "./sessionHostManagementsUpdateStatus"; +export * from "./sessionHostConfigurations"; +export * from "./activeSessionHostConfigurations"; export * from "./userSessions"; export * from "./sessionHosts"; +export * from "./sessionHostOperations"; export * from "./msixPackages"; export * from "./appAttachPackageInfo"; export * from "./msixImages"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/initiateSessionHostUpdate.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/initiateSessionHostUpdate.ts new file mode 100644 index 000000000000..1925263571a6 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/initiateSessionHostUpdate.ts @@ -0,0 +1,70 @@ +/* + * 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 { InitiateSessionHostUpdate } 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 { InitiateSessionHostUpdatePostOptionalParams } from "../models"; + +/** Class containing InitiateSessionHostUpdate operations. */ +export class InitiateSessionHostUpdateImpl + implements InitiateSessionHostUpdate +{ + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class InitiateSessionHostUpdate class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * Initiates a hostpool update or schedule an update for the future. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + post( + resourceGroupName: string, + hostPoolName: string, + options?: InitiateSessionHostUpdatePostOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + postOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const postOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/initiateSessionHostUpdate", + httpMethod: "POST", + responses: { + 204: {}, + default: { + bodyMapper: Mappers.ErrorResponse, + }, + }, + requestBody: Parameters.updateSessionHostsRequestBody, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostConfigurations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostConfigurations.ts new file mode 100644 index 000000000000..cff8916cdc15 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostConfigurations.ts @@ -0,0 +1,515 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { SessionHostConfigurations } 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 { + SimplePollerLike, + OperationState, + createHttpPoller, +} from "@azure/core-lro"; +import { createLroSpec } from "../lroImpl"; +import { + SessionHostConfiguration, + SessionHostConfigurationsListByHostPoolNextOptionalParams, + SessionHostConfigurationsListByHostPoolOptionalParams, + SessionHostConfigurationsListByHostPoolResponse, + SessionHostConfigurationsCreateOrUpdateOptionalParams, + SessionHostConfigurationsCreateOrUpdateResponse, + SessionHostConfigurationsUpdateOptionalParams, + SessionHostConfigurationsUpdateResponse, + SessionHostConfigurationsGetOptionalParams, + SessionHostConfigurationsGetResponse, + SessionHostConfigurationsListByHostPoolNextResponse, +} from "../models"; + +/// +/** Class containing SessionHostConfigurations operations. */ +export class SessionHostConfigurationsImpl + implements SessionHostConfigurations +{ + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class SessionHostConfigurations class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List sessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings, + ); + }, + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsListByHostPoolOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: SessionHostConfigurationsListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsListByHostPoolOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + )) { + yield* page; + } + } + + /** + * Create or update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostConfiguration Object containing SessionHostConfiguration definitions. + * @param options The options parameters. + */ + async beginCreateOrUpdate( + resourceGroupName: string, + hostPoolName: string, + sessionHostConfiguration: SessionHostConfiguration, + options?: SessionHostConfigurationsCreateOrUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + SessionHostConfigurationsCreateOrUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ) => { + let currentRawResponse: coreClient.FullOperationResponse | undefined = + undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown, + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback, + }, + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON(), + }, + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { + resourceGroupName, + hostPoolName, + sessionHostConfiguration, + options, + }, + spec: createOrUpdateOperationSpec, + }); + const poller = await createHttpPoller< + SessionHostConfigurationsCreateOrUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "azure-async-operation", + }); + await poller.poll(); + return poller; + } + + /** + * Create or update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostConfiguration Object containing SessionHostConfiguration definitions. + * @param options The options parameters. + */ + async beginCreateOrUpdateAndWait( + resourceGroupName: string, + hostPoolName: string, + sessionHostConfiguration: SessionHostConfiguration, + options?: SessionHostConfigurationsCreateOrUpdateOptionalParams, + ): Promise { + const poller = await this.beginCreateOrUpdate( + resourceGroupName, + hostPoolName, + sessionHostConfiguration, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + async beginUpdate( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + SessionHostConfigurationsUpdateResponse + > + > { + const directSendOperation = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ): Promise => { + return this.client.sendOperationRequest(args, spec); + }; + const sendOperationFn = async ( + args: coreClient.OperationArguments, + spec: coreClient.OperationSpec, + ) => { + let currentRawResponse: coreClient.FullOperationResponse | undefined = + undefined; + const providedCallback = args.options?.onResponse; + const callback: coreClient.RawResponseCallback = ( + rawResponse: coreClient.FullOperationResponse, + flatResponse: unknown, + ) => { + currentRawResponse = rawResponse; + providedCallback?.(rawResponse, flatResponse); + }; + const updatedArgs = { + ...args, + options: { + ...args.options, + onResponse: callback, + }, + }; + const flatResponse = await directSendOperation(updatedArgs, spec); + return { + flatResponse, + rawResponse: { + statusCode: currentRawResponse!.status, + body: currentRawResponse!.parsedBody, + headers: currentRawResponse!.headers.toJSON(), + }, + }; + }; + + const lro = createLroSpec({ + sendOperationFn, + args: { resourceGroupName, hostPoolName, options }, + spec: updateOperationSpec, + }); + const poller = await createHttpPoller< + SessionHostConfigurationsUpdateResponse, + OperationState + >(lro, { + restoreFrom: options?.resumeFrom, + intervalInMs: options?.updateIntervalInMs, + resourceLocationConfig: "location", + }); + await poller.poll(); + return poller; + } + + /** + * Update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + async beginUpdateAndWait( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsUpdateOptionalParams, + ): Promise { + const poller = await this.beginUpdate( + resourceGroupName, + hostPoolName, + options, + ); + return poller.pollUntilDone(); + } + + /** + * Get a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + getOperationSpec, + ); + } + + /** + * List sessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsListByHostPoolOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec, + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: SessionHostConfigurationsListByHostPoolNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsCreateOrUpdateHeaders, + }, + 201: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsCreateOrUpdateHeaders, + }, + 202: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsCreateOrUpdateHeaders, + }, + 204: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsCreateOrUpdateHeaders, + }, + default: { + bodyMapper: Mappers.ErrorResponse, + }, + }, + requestBody: Parameters.sessionHostConfiguration, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsUpdateHeaders, + }, + 201: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsUpdateHeaders, + }, + 202: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsUpdateHeaders, + }, + 204: { + bodyMapper: Mappers.SessionHostConfiguration, + headersMapper: Mappers.SessionHostConfigurationsUpdateHeaders, + }, + default: { + bodyMapper: Mappers.ErrorResponse, + }, + }, + requestBody: Parameters.sessionHostConfiguration1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostConfiguration, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostConfigurationList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostConfigurationList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagements.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagements.ts new file mode 100644 index 000000000000..9a42e246d656 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagements.ts @@ -0,0 +1,330 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { SessionHostManagements } 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 { + SessionHostManagement, + SessionHostManagementsListByHostPoolNextOptionalParams, + SessionHostManagementsListByHostPoolOptionalParams, + SessionHostManagementsListByHostPoolResponse, + SessionHostManagementsGetOptionalParams, + SessionHostManagementsGetResponse, + SessionHostManagementsCreateOrUpdateOptionalParams, + SessionHostManagementsCreateOrUpdateResponse, + SessionHostManagementsUpdateOptionalParams, + SessionHostManagementsUpdateResponse, + SessionHostManagementsListByHostPoolNextResponse, +} from "../models"; + +/// +/** Class containing SessionHostManagements operations. */ +export class SessionHostManagementsImpl implements SessionHostManagements { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class SessionHostManagements class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List SessionHostManagements by hostPool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options, + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings, + ); + }, + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsListByHostPoolOptionalParams, + settings?: PageSettings, + ): AsyncIterableIterator { + let result: SessionHostManagementsListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options, + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options, + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsListByHostPoolOptionalParams, + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + )) { + yield* page; + } + } + + /** + * Get a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + getOperationSpec, + ); + } + + /** + * Create or update a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostManagement Object containing SessionHostManagement definitions. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + hostPoolName: string, + sessionHostManagement: SessionHostManagement, + options?: SessionHostManagementsCreateOrUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, sessionHostManagement, options }, + createOrUpdateOperationSpec, + ); + } + + /** + * Update a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + update( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsUpdateOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + updateOperationSpec, + ); + } + + /** + * List SessionHostManagements by hostPool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsListByHostPoolOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec, + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: SessionHostManagementsListByHostPoolNextOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagement, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const createOrUpdateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagement, + }, + 201: { + bodyMapper: Mappers.SessionHostManagement, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.sessionHostManagement, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const updateOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default", + httpMethod: "PATCH", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagement, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + requestBody: Parameters.sessionHostManagement1, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer, +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagementList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagementList, + }, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagementsUpdateStatus.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagementsUpdateStatus.ts new file mode 100644 index 000000000000..9ee1e1246ddd --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostManagementsUpdateStatus.ts @@ -0,0 +1,73 @@ +/* + * 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 { SessionHostManagementsUpdateStatus } 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 { + SessionHostManagementsUpdateStatusGetOptionalParams, + SessionHostManagementsUpdateStatusGetResponse, +} from "../models"; + +/** Class containing SessionHostManagementsUpdateStatus operations. */ +export class SessionHostManagementsUpdateStatusImpl + implements SessionHostManagementsUpdateStatus +{ + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class SessionHostManagementsUpdateStatus class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * Get the session host update status for a given hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsUpdateStatusGetOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + getOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const getOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/sessionHostUpdateStatuses/default", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.SessionHostManagementUpdateStatus, + }, + default: { + bodyMapper: Mappers.ErrorResponse, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostOperations.ts new file mode 100644 index 000000000000..785138acd72f --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHostOperations.ts @@ -0,0 +1,69 @@ +/* + * 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 { SessionHostOperations } 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 { SessionHostRetryProvisioningOptionalParams } from "../models"; + +/** Class containing SessionHostOperations operations. */ +export class SessionHostOperationsImpl implements SessionHostOperations { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class SessionHostOperations class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * Retry provisioning on a SessionHost. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostName The name of the session host within the specified host pool + * @param options The options parameters. + */ + retryProvisioning( + resourceGroupName: string, + hostPoolName: string, + sessionHostName: string, + options?: SessionHostRetryProvisioningOptionalParams, + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, sessionHostName, options }, + retryProvisioningOperationSpec, + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const retryProvisioningOperationSpec: coreClient.OperationSpec = { + path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/retryProvisioning", + httpMethod: "POST", + responses: { + 200: {}, + default: { + bodyMapper: Mappers.CloudError, + }, + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName, + Parameters.sessionHostName, + ], + headerParameters: [Parameters.accept], + serializer, +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHosts.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHosts.ts index e35a3384f562..a4f8bf53ecb2 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHosts.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/sessionHosts.ts @@ -294,6 +294,7 @@ const listOperationSpec: coreClient.OperationSpec = { Parameters.pageSize, Parameters.isDescending, Parameters.initialSkip, + Parameters.vmPath, ], urlParameters: [ Parameters.$host, diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/activeSessionHostConfigurations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/activeSessionHostConfigurations.ts new file mode 100644 index 000000000000..71c2d1cd8190 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/activeSessionHostConfigurations.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + ActiveSessionHostConfiguration, + ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ActiveSessionHostConfigurationsGetOptionalParams, + ActiveSessionHostConfigurationsGetResponse, +} from "../models"; + +/// +/** Interface representing a ActiveSessionHostConfigurations. */ +export interface ActiveSessionHostConfigurations { + /** + * List activeSessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Get the ActiveSessionHostConfiguration for the hostPool that is currently being used for update + * operations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: ActiveSessionHostConfigurationsGetOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts index 950fa07f225f..a09bfb6de1c5 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/appAttachPackageOperations.ts @@ -42,7 +42,7 @@ export interface AppAttachPackageOperations { /** * Get an app attach package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ get( @@ -53,7 +53,7 @@ export interface AppAttachPackageOperations { /** * Create or update an App Attach package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param appAttachPackage Object containing App Attach Package definitions. * @param options The options parameters. */ @@ -66,7 +66,7 @@ export interface AppAttachPackageOperations { /** * Remove an App Attach Package. * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ delete( @@ -77,7 +77,7 @@ export interface AppAttachPackageOperations { /** * Update an App Attach Package * @param resourceGroupName The name of the resource group. The name is case insensitive. - * @param appAttachPackageName The name of the App Attach package + * @param appAttachPackageName The name of the App Attach package arm object * @param options The options parameters. */ update( diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/controlSessionHostUpdate.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/controlSessionHostUpdate.ts new file mode 100644 index 000000000000..0be9c0454951 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/controlSessionHostUpdate.ts @@ -0,0 +1,49 @@ +/* + * 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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + HostPoolUpdateControlParameter, + ControlSessionHostUpdatePostOptionalParams, + ControlSessionHostUpdatePostResponse, +} from "../models"; + +/** Interface representing a ControlSessionHostUpdate. */ +export interface ControlSessionHostUpdate { + /** + * Control update of a hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param hostPoolUpdateControlParameter Object containing control action for hostpool update. + * @param options The options parameters. + */ + beginPost( + resourceGroupName: string, + hostPoolName: string, + hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, + options?: ControlSessionHostUpdatePostOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + ControlSessionHostUpdatePostResponse + > + >; + /** + * Control update of a hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param hostPoolUpdateControlParameter Object containing control action for hostpool update. + * @param options The options parameters. + */ + beginPostAndWait( + resourceGroupName: string, + hostPoolName: string, + hostPoolUpdateControlParameter: HostPoolUpdateControlParameter, + options?: ControlSessionHostUpdatePostOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/hostPools.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/hostPools.ts index 73890df6781e..47e7546a085f 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/hostPools.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/hostPools.ts @@ -101,7 +101,7 @@ export interface HostPools { options?: HostPoolsRetrieveRegistrationTokenOptionalParams, ): Promise; /** - * Operation to list the RegistrationTokens associated with the HostPool + * Operation to list the RegistrationTokens associated with the HostPool. * @param resourceGroupName The name of the resource group. The name is case insensitive. * @param hostPoolName The name of the host pool within the specified resource group * @param options The options parameters. diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts index a34bae2d819a..3300719b5037 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts @@ -18,8 +18,15 @@ export * from "./startMenuItems"; export * from "./applications"; export * from "./desktops"; export * from "./hostPools"; +export * from "./sessionHostManagements"; +export * from "./initiateSessionHostUpdate"; +export * from "./controlSessionHostUpdate"; +export * from "./sessionHostManagementsUpdateStatus"; +export * from "./sessionHostConfigurations"; +export * from "./activeSessionHostConfigurations"; export * from "./userSessions"; export * from "./sessionHosts"; +export * from "./sessionHostOperations"; export * from "./msixPackages"; export * from "./appAttachPackageInfo"; export * from "./msixImages"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/initiateSessionHostUpdate.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/initiateSessionHostUpdate.ts new file mode 100644 index 000000000000..e292a465c5fa --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/initiateSessionHostUpdate.ts @@ -0,0 +1,24 @@ +/* + * 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 { InitiateSessionHostUpdatePostOptionalParams } from "../models"; + +/** Interface representing a InitiateSessionHostUpdate. */ +export interface InitiateSessionHostUpdate { + /** + * Initiates a hostpool update or schedule an update for the future. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + post( + resourceGroupName: string, + hostPoolName: string, + options?: InitiateSessionHostUpdatePostOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostConfigurations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostConfigurations.ts new file mode 100644 index 000000000000..4adb533f10d5 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostConfigurations.ts @@ -0,0 +1,105 @@ +/* + * 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 { SimplePollerLike, OperationState } from "@azure/core-lro"; +import { + SessionHostConfiguration, + SessionHostConfigurationsListByHostPoolOptionalParams, + SessionHostConfigurationsCreateOrUpdateOptionalParams, + SessionHostConfigurationsCreateOrUpdateResponse, + SessionHostConfigurationsUpdateOptionalParams, + SessionHostConfigurationsUpdateResponse, + SessionHostConfigurationsGetOptionalParams, + SessionHostConfigurationsGetResponse, +} from "../models"; + +/// +/** Interface representing a SessionHostConfigurations. */ +export interface SessionHostConfigurations { + /** + * List sessionHostConfigurations. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Create or update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostConfiguration Object containing SessionHostConfiguration definitions. + * @param options The options parameters. + */ + beginCreateOrUpdate( + resourceGroupName: string, + hostPoolName: string, + sessionHostConfiguration: SessionHostConfiguration, + options?: SessionHostConfigurationsCreateOrUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + SessionHostConfigurationsCreateOrUpdateResponse + > + >; + /** + * Create or update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostConfiguration Object containing SessionHostConfiguration definitions. + * @param options The options parameters. + */ + beginCreateOrUpdateAndWait( + resourceGroupName: string, + hostPoolName: string, + sessionHostConfiguration: SessionHostConfiguration, + options?: SessionHostConfigurationsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + beginUpdate( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsUpdateOptionalParams, + ): Promise< + SimplePollerLike< + OperationState, + SessionHostConfigurationsUpdateResponse + > + >; + /** + * Update a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + beginUpdateAndWait( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsUpdateOptionalParams, + ): Promise; + /** + * Get a SessionHostConfiguration. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostConfigurationsGetOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagements.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagements.ts new file mode 100644 index 000000000000..b6c7bf7ac8cc --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagements.ts @@ -0,0 +1,70 @@ +/* + * 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 { + SessionHostManagement, + SessionHostManagementsListByHostPoolOptionalParams, + SessionHostManagementsGetOptionalParams, + SessionHostManagementsGetResponse, + SessionHostManagementsCreateOrUpdateOptionalParams, + SessionHostManagementsCreateOrUpdateResponse, + SessionHostManagementsUpdateOptionalParams, + SessionHostManagementsUpdateResponse, +} from "../models"; + +/// +/** Interface representing a SessionHostManagements. */ +export interface SessionHostManagements { + /** + * List SessionHostManagements by hostPool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsListByHostPoolOptionalParams, + ): PagedAsyncIterableIterator; + /** + * Get a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsGetOptionalParams, + ): Promise; + /** + * Create or update a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostManagement Object containing SessionHostManagement definitions. + * @param options The options parameters. + */ + createOrUpdate( + resourceGroupName: string, + hostPoolName: string, + sessionHostManagement: SessionHostManagement, + options?: SessionHostManagementsCreateOrUpdateOptionalParams, + ): Promise; + /** + * Update a SessionHostManagement. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + update( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsUpdateOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagementsUpdateStatus.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagementsUpdateStatus.ts new file mode 100644 index 000000000000..7a4a65881f50 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostManagementsUpdateStatus.ts @@ -0,0 +1,27 @@ +/* + * 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 { + SessionHostManagementsUpdateStatusGetOptionalParams, + SessionHostManagementsUpdateStatusGetResponse, +} from "../models"; + +/** Interface representing a SessionHostManagementsUpdateStatus. */ +export interface SessionHostManagementsUpdateStatus { + /** + * Get the session host update status for a given hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + get( + resourceGroupName: string, + hostPoolName: string, + options?: SessionHostManagementsUpdateStatusGetOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostOperations.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostOperations.ts new file mode 100644 index 000000000000..3fff63993414 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/sessionHostOperations.ts @@ -0,0 +1,26 @@ +/* + * 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 { SessionHostRetryProvisioningOptionalParams } from "../models"; + +/** Interface representing a SessionHostOperations. */ +export interface SessionHostOperations { + /** + * Retry provisioning on a SessionHost. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param sessionHostName The name of the session host within the specified host pool + * @param options The options parameters. + */ + retryProvisioning( + resourceGroupName: string, + hostPoolName: string, + sessionHostName: string, + options?: SessionHostRetryProvisioningOptionalParams, + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts new file mode 100644 index 000000000000..d64be981b694 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts @@ -0,0 +1,43 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { + Recorder, + RecorderStartOptions, + env, +} from "@azure-tools/test-recorder"; +import { assert } from "chai"; +import { Context } from "mocha"; + +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id", +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables, +}; + +describe("My test", () => { + let recorder: Recorder; + + beforeEach(async function (this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); + }); + + afterEach(async function () { + await recorder.stop(); + }); + + it("sample test", async function () { + console.log("Hi, I'm a test!"); + }); +}); diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json index 02d427ad910e..b35d05ad6e9d 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-desktopvirtualization": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ - "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "src/**/*.ts", + "test/**/*.ts" ], "exclude": [ "node_modules"