diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index d74d40462449..26b0fed9be7a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,25 @@ # Release History - -## 1.0.0-beta.4 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + +## 1.0.0-beta.4 (2022-05-11) + +**Features** + + - Added Interface AgentUpdatePatchProperties + - Added Interface AgentUpdateProperties + - Added Interface MaintenanceWindowPatchProperties + - Added Interface MaintenanceWindowProperties + - Added Type Alias DayOfWeek + - Added Type Alias HostpoolPublicNetworkAccess + - Added Type Alias SessionHostComponentUpdateType + - Type Alias HostPool has a new parameter agentUpdate + - Type Alias HostPool has a new parameter privateEndpointConnections + - Type Alias HostPoolPatch has a new parameter agentUpdate + - Type Alias SessionHost has a new parameter friendlyName + - Type Alias SessionHostPatch has a new parameter friendlyName + - Type Alias Workspace has a new parameter privateEndpointConnections + - Added Enum KnownHostpoolPublicNetworkAccess + - Added Enum KnownSessionHostComponentUpdateType + ## 1.0.0-beta.3 (2022-04-18) **features** diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index fc2e2269a42f..416907ece876 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "c77c6c634dc3644d65d3e35df5d73a9c34d3c956", - "readme": "specification\\desktopvirtualization\\resource-manager\\readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\desktopvirtualization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220408.1 --generate-sample=true", + "commit": "e1f482ee1873ca7c545c7ddf0fd7a7beeb4a597c", + "readme": "specification/desktopvirtualization/resource-manager/readme.md", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220425.1", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.2.6", - "use": "@autorest/typescript@6.0.0-alpha.19.20220408.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.3.0", + "use": "@autorest/typescript@6.0.0-alpha.19.20220425.1" } \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json index 2cd7fbcce2d9..5d2e5ced830c 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -38,9 +38,11 @@ "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization", "repository": { @@ -91,7 +93,7 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", "integration-test:browser": "echo skipped", "docs": "echo skipped" }, @@ -104,13 +106,5 @@ } ] }, - "autoPublish": true, - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview" - } -} + "autoPublish": true +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md index 942ed98c0af9..eb84db72490a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -8,6 +8,22 @@ import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; +// @public +export interface AgentUpdatePatchProperties { + maintenanceWindows?: MaintenanceWindowPatchProperties[]; + maintenanceWindowTimeZone?: string; + type?: SessionHostComponentUpdateType; + useSessionHostLocalTime?: boolean; +} + +// @public +export interface AgentUpdateProperties { + maintenanceWindows?: MaintenanceWindowProperties[]; + maintenanceWindowTimeZone?: string; + type?: SessionHostComponentUpdateType; + useSessionHostLocalTime?: boolean; +} + // @public export type Application = Resource & { readonly systemData?: SystemData; @@ -219,6 +235,9 @@ export type CommandLineSetting = string; // @public export type CreatedByType = string; +// @public +export type DayOfWeek = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday"; + // @public export type Desktop = Resource & { readonly systemData?: SystemData; @@ -379,7 +398,9 @@ export type HostPool = ResourceModelWithAllowedPropertySet & { startVMOnConnect?: boolean; migrationRequest?: MigrationRequestProperties; readonly cloudPcResource?: boolean; - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + agentUpdate?: AgentUpdateProperties; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; }; // @public @@ -409,9 +430,13 @@ export type HostPoolPatch = Resource & { ssoSecretType?: SSOSecretType; preferredAppGroupType?: PreferredAppGroupType; startVMOnConnect?: boolean; - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + agentUpdate?: AgentUpdatePatchProperties; }; +// @public +export type HostpoolPublicNetworkAccess = string; + // @public export interface HostPools { createOrUpdate(resourceGroupName: string, hostPoolName: string, hostPool: HostPool, options?: HostPoolsCreateOrUpdateOptionalParams): Promise; @@ -556,6 +581,18 @@ export enum KnownHealthCheckResult { Unknown = "Unknown" } +// @public +export enum KnownHostpoolPublicNetworkAccess { + // (undocumented) + Disabled = "Disabled", + // (undocumented) + Enabled = "Enabled", + // (undocumented) + EnabledForClientsOnly = "EnabledForClientsOnly", + // (undocumented) + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly" +} + // @public export enum KnownHostPoolType { BYODesktop = "BYODesktop", @@ -671,6 +708,12 @@ export enum KnownScalingScheduleDaysOfWeekItem { Wednesday = "Wednesday" } +// @public +export enum KnownSessionHostComponentUpdateType { + Default = "Default", + Scheduled = "Scheduled" +} + // @public export enum KnownSessionHostLoadBalancingAlgorithm { // (undocumented) @@ -755,6 +798,18 @@ export interface LogSpecification { name?: string; } +// @public +export interface MaintenanceWindowPatchProperties { + dayOfWeek?: DayOfWeek; + hour?: number; +} + +// @public +export interface MaintenanceWindowProperties { + dayOfWeek?: DayOfWeek; + hour?: number; +} + // @public export interface MigrationRequestProperties { migrationPath?: string; @@ -1329,6 +1384,7 @@ export type SessionHost = Resource & { readonly virtualMachineId?: string; readonly resourceId?: string; assignedUser?: string; + friendlyName?: string; status?: Status; readonly statusTimestamp?: Date; osVersion?: string; @@ -1339,6 +1395,9 @@ export type SessionHost = Resource & { readonly sessionHostHealthCheckResults?: SessionHostHealthCheckReport[]; }; +// @public +export type SessionHostComponentUpdateType = string; + // @public export interface SessionHostHealthCheckFailureDetails { readonly errorCode?: number; @@ -1366,6 +1425,7 @@ export type SessionHostLoadBalancingAlgorithm = string; export type SessionHostPatch = Resource & { allowNewSession?: boolean; assignedUser?: string; + friendlyName?: string; }; // @public @@ -1575,6 +1635,7 @@ export type Workspace = ResourceModelWithAllowedPropertySet & { applicationGroupReferences?: string[]; readonly cloudPcResource?: boolean; publicNetworkAccess?: PublicNetworkAccess; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; }; // @public diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts index efc1786e843d..72347c707343 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts @@ -8,6 +8,11 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { OperationsImpl, @@ -122,7 +127,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2021-09-03-preview"; + this.apiVersion = options.apiVersion || "2022-02-10-preview"; this.operations = new OperationsImpl(this); this.workspaces = new WorkspacesImpl(this); this.scalingPlans = new ScalingPlansImpl(this); @@ -137,6 +142,35 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { this.msixImages = new MsixImagesImpl(this); this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); this.privateLinkResources = new PrivateLinkResourcesImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ + private addCustomApiVersionPolicy(apiVersion?: string) { + if (!apiVersion) { + return; + } + const apiVersionPolicy = { + name: "CustomApiVersionPolicy", + async sendRequest( + request: PipelineRequest, + next: SendRequest + ): Promise { + const param = request.url.split("?"); + if (param.length > 1) { + const newParams = param[1].split("&").map((item) => { + if (item.indexOf("api-version") > -1) { + return item.replace(/(?<==).*$/, apiVersion); + } else { + return item; + } + }); + request.url = param[0] + "?" + newParams.join("&"); + } + return next(request); + } + }; + this.pipeline.addPolicy(apiVersionPolicy); } operations: Operations; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts index ebfab3443ef2..980c6ccfb630 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts @@ -95,6 +95,44 @@ export interface SystemData { lastModifiedAt?: Date; } +/** The Private Endpoint resource. */ +export interface PrivateEndpoint { + /** + * The ARM identifier for Private Endpoint + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; +} + +/** A collection of information about the state of the connection between service consumer and provider. */ +export interface PrivateLinkServiceConnectionState { + /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */ + status?: PrivateEndpointServiceConnectionStatus; + /** The reason for approval/rejection of the connection. */ + description?: string; + /** A message indicating if changes on the service provider require any updates on the consumer. */ + actionsRequired?: string; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + /** The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set. */ export interface ResourceModelWithAllowedPropertySet { /** @@ -292,25 +330,6 @@ export interface MigrationRequestProperties { migrationPath?: string; } -/** Common fields that are returned in the response for all Azure Resource Manager resources */ -export interface Resource { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; - /** - * The name of the resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly name?: string; - /** - * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly type?: string; -} - /** List of ApplicationGroup definitions. */ export interface ApplicationGroupList { /** List of ApplicationGroup definitions. */ @@ -403,6 +422,26 @@ export interface RegistrationInfo { registrationTokenOperation?: RegistrationTokenOperation; } +/** The preferred settings for updating the agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. */ +export interface AgentUpdateProperties { + /** The preferred mechanism for updating the agent components. This is either Scheduled or Default. */ + type?: SessionHostComponentUpdateType; + /** Boolean indicating whether to update the agent components in the local time zone of each session host in the host pool. By default, this is false. */ + useSessionHostLocalTime?: boolean; + /** The time zone for updating the agent components. Valid time zones can be found here: https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. A time zone must be specified if useSessionHostLocalTime is false. */ + maintenanceWindowTimeZone?: string; + /** The maintenance windows (day and time) for updating the agent components. At least 1 window must be specified. Optionally, a 2nd window can be specified. */ + maintenanceWindows?: MaintenanceWindowProperties[]; +} + +/** Maintenance window starting hour and day of week. */ +export interface MaintenanceWindowProperties { + /** The starting hour of the maintenance window (0-23). Note that maintenance windows are 2 hours long. This means that updates can be applied anytime from the specified start hour to 2 hours after. */ + hour?: number; + /** The day of the week (Monday-Sunday). */ + dayOfWeek?: DayOfWeek; +} + /** Represents a RegistrationInfo definition. */ export interface RegistrationInfoPatch { /** Expiration time of registration token. */ @@ -411,6 +450,26 @@ export interface RegistrationInfoPatch { registrationTokenOperation?: RegistrationTokenOperation; } +/** The preferred settings for updating the agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. */ +export interface AgentUpdatePatchProperties { + /** The preferred mechanism for updating the agent components. This is either Scheduled or Default. */ + type?: SessionHostComponentUpdateType; + /** Boolean indicating whether to update the agent components in the local time zone of each session host in the host pool. By default, this is false. */ + useSessionHostLocalTime?: boolean; + /** The time zone for updating the agent components. Valid time zones can be found here: https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. A time zone must be specified if useSessionHostLocalTime is false. */ + maintenanceWindowTimeZone?: string; + /** The maintenance windows (day and time) for updating the agent components. At least 1 window must be specified. Optionally, a 2nd window can be specified. */ + maintenanceWindows?: MaintenanceWindowPatchProperties[]; +} + +/** Maintenance window starting hour and day of week. */ +export interface MaintenanceWindowPatchProperties { + /** The starting hour of the maintenance window (0-23). Note that maintenance windows are 2 hours long. This means that updates can be applied anytime from the specified start hour to 2 hours after. */ + hour?: number; + /** The day of the week (Monday-Sunday). */ + dayOfWeek?: DayOfWeek; +} + /** List of HostPool definitions. */ export interface HostPoolList { /** List of HostPool definitions. */ @@ -557,25 +616,6 @@ export interface PrivateEndpointConnectionListResultWithSystemData { readonly nextLink?: string; } -/** The Private Endpoint resource. */ -export interface PrivateEndpoint { - /** - * The ARM identifier for Private Endpoint - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; -} - -/** A collection of information about the state of the connection between service consumer and provider. */ -export interface PrivateLinkServiceConnectionState { - /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */ - status?: PrivateEndpointServiceConnectionStatus; - /** The reason for approval/rejection of the connection. */ - description?: string; - /** A message indicating if changes on the service provider require any updates on the consumer. */ - actionsRequired?: string; -} - /** A list of private link resources */ export interface PrivateLinkResourceListResult { /** Array of private link resources */ @@ -587,163 +627,16 @@ export interface PrivateLinkResourceListResult { readonly nextLink?: string; } -/** Represents a Workspace definition. */ -export type Workspace = ResourceModelWithAllowedPropertySet & { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of Workspace. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of Workspace. */ - description?: string; - /** Friendly name of Workspace. */ - friendlyName?: string; - /** List of applicationGroup resource Ids. */ - applicationGroupReferences?: string[]; - /** - * Is cloud pc resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly cloudPcResource?: boolean; - /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ - publicNetworkAccess?: PublicNetworkAccess; -}; - -/** Represents a scaling plan definition. */ -export type ScalingPlan = ResourceModelWithAllowedPropertySet & { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of scaling plan. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of scaling plan. */ - description?: string; - /** User friendly name of scaling plan. */ - friendlyName?: string; - /** Timezone of the scaling plan. */ - timeZone?: string; - /** HostPool type for desktop. */ - hostPoolType?: ScalingHostPoolType; - /** Exclusion tag for scaling plan. */ - exclusionTag?: string; - /** List of ScalingSchedule definitions. */ - schedules?: ScalingSchedule[]; - /** List of ScalingHostPoolReference definitions. */ - hostPoolReferences?: ScalingHostPoolReference[]; -}; - -/** Represents a ApplicationGroup definition. */ -export type ApplicationGroup = ResourceModelWithAllowedPropertySet & { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of ApplicationGroup. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of ApplicationGroup. */ - description?: string; - /** Friendly name of ApplicationGroup. */ - friendlyName?: string; - /** HostPool arm path of ApplicationGroup. */ - hostPoolArmPath: string; - /** - * Workspace arm path of ApplicationGroup. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly workspaceArmPath?: string; - /** Resource Type of ApplicationGroup. */ - applicationGroupType: ApplicationGroupType; - /** The registration info of HostPool. */ - migrationRequest?: MigrationRequestProperties; - /** - * Is cloud pc resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly cloudPcResource?: boolean; -}; - -/** Represents a HostPool definition. */ -export type HostPool = ResourceModelWithAllowedPropertySet & { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of HostPool. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Friendly name of HostPool. */ - friendlyName?: string; - /** Description of HostPool. */ - description?: string; - /** HostPool type for desktop. */ - hostPoolType: HostPoolType; - /** PersonalDesktopAssignment type for HostPool. */ - personalDesktopAssignmentType?: PersonalDesktopAssignmentType; - /** Custom rdp property of HostPool. */ - customRdpProperty?: string; - /** The max session limit of HostPool. */ - maxSessionLimit?: number; - /** The type of the load balancer. */ - loadBalancerType: LoadBalancerType; - /** The ring number of HostPool. */ - ring?: number; - /** Is validation environment. */ - validationEnvironment?: boolean; - /** The registration info of HostPool. */ - registrationInfo?: RegistrationInfo; - /** VM template for sessionhosts configuration within hostpool. */ - vmTemplate?: string; - /** - * List of applicationGroup links. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly applicationGroupReferences?: string[]; - /** URL to customer ADFS server for signing WVD SSO certificates. */ - ssoadfsAuthority?: string; - /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ - ssoClientId?: string; - /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ - ssoClientSecretKeyVaultPath?: string; - /** The type of single sign on Secret Type. */ - ssoSecretType?: SSOSecretType; - /** The type of preferred application group type, default to Desktop Application Group */ - preferredAppGroupType: PreferredAppGroupType; - /** The flag to turn on/off StartVMOnConnect feature. */ - startVMOnConnect?: boolean; - /** The registration info of HostPool. */ - migrationRequest?: MigrationRequestProperties; - /** - * Is cloud pc resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly cloudPcResource?: boolean; - /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ - publicNetworkAccess?: PublicNetworkAccess; +/** The Private Endpoint Connection resource. */ +export type PrivateEndpointConnection = Resource & { + /** The resource of private end point. */ + privateEndpoint?: PrivateEndpoint; + /** A collection of information about the state of the connection between service consumer and provider. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + /** The provisioning state of the private endpoint connection resource. */ + provisioningState?: PrivateEndpointConnectionProvisioningState; }; -export type ResourceModelWithAllowedPropertySetIdentity = Identity & {}; - -export type ResourceModelWithAllowedPropertySetSku = Sku & {}; - -export type ResourceModelWithAllowedPropertySetPlan = Plan & {}; - /** ApplicationGroup properties that can be patched. */ export type ApplicationGroupPatch = Resource & { /** tags to be updated */ @@ -879,7 +772,9 @@ export type HostPoolPatch = Resource & { /** The flag to turn on/off StartVMOnConnect feature. */ startVMOnConnect?: boolean; /** Enabled to allow this resource to be access from the public network */ - publicNetworkAccess?: PublicNetworkAccess; + publicNetworkAccess?: HostpoolPublicNetworkAccess; + /** The preferred settings for updating the agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. */ + agentUpdate?: AgentUpdatePatchProperties; }; /** Represents a UserSession definition. */ @@ -938,6 +833,8 @@ export type SessionHost = Resource & { readonly resourceId?: string; /** User assigned to SessionHost. */ assignedUser?: string; + /** Friendly name of SessionHost */ + friendlyName?: string; /** Status for a SessionHost. */ status?: Status; /** @@ -971,6 +868,8 @@ export type SessionHostPatch = Resource & { allowNewSession?: boolean; /** User assigned to SessionHost. */ assignedUser?: string; + /** Friendly name of SessionHost */ + friendlyName?: string; }; /** Schema for MSIX Package properties. */ @@ -1044,16 +943,6 @@ export type ExpandMsixImage = Resource & { packageApplications?: MsixPackageApplications[]; }; -/** The Private Endpoint Connection resource. */ -export type PrivateEndpointConnection = Resource & { - /** The resource of private end point. */ - privateEndpoint?: PrivateEndpoint; - /** A collection of information about the state of the connection between service consumer and provider. */ - privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; - /** The provisioning state of the private endpoint connection resource. */ - provisioningState?: PrivateEndpointConnectionProvisioningState; -}; - /** A private link resource */ export type PrivateLinkResource = Resource & { /** @@ -1070,6 +959,175 @@ export type PrivateLinkResource = Resource & { requiredZoneNames?: string[]; }; +/** Represents a Workspace definition. */ +export type Workspace = ResourceModelWithAllowedPropertySet & { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of Workspace. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of Workspace. */ + description?: string; + /** Friendly name of Workspace. */ + friendlyName?: string; + /** List of applicationGroup resource Ids. */ + applicationGroupReferences?: string[]; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +}; + +/** Represents a scaling plan definition. */ +export type ScalingPlan = ResourceModelWithAllowedPropertySet & { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of scaling plan. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of scaling plan. */ + description?: string; + /** User friendly name of scaling plan. */ + friendlyName?: string; + /** Timezone of the scaling plan. */ + timeZone?: string; + /** HostPool type for desktop. */ + hostPoolType?: ScalingHostPoolType; + /** Exclusion tag for scaling plan. */ + exclusionTag?: string; + /** List of ScalingSchedule definitions. */ + schedules?: ScalingSchedule[]; + /** List of ScalingHostPoolReference definitions. */ + hostPoolReferences?: ScalingHostPoolReference[]; +}; + +/** Represents a ApplicationGroup definition. */ +export type ApplicationGroup = ResourceModelWithAllowedPropertySet & { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of ApplicationGroup. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of ApplicationGroup. */ + description?: string; + /** Friendly name of ApplicationGroup. */ + friendlyName?: string; + /** HostPool arm path of ApplicationGroup. */ + hostPoolArmPath: string; + /** + * Workspace arm path of ApplicationGroup. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workspaceArmPath?: string; + /** Resource Type of ApplicationGroup. */ + applicationGroupType: ApplicationGroupType; + /** The registration info of HostPool. */ + migrationRequest?: MigrationRequestProperties; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; +}; + +/** Represents a HostPool definition. */ +export type HostPool = ResourceModelWithAllowedPropertySet & { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of HostPool. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Friendly name of HostPool. */ + friendlyName?: string; + /** Description of HostPool. */ + description?: string; + /** HostPool type for desktop. */ + hostPoolType: HostPoolType; + /** PersonalDesktopAssignment type for HostPool. */ + personalDesktopAssignmentType?: PersonalDesktopAssignmentType; + /** Custom rdp property of HostPool. */ + customRdpProperty?: string; + /** The max session limit of HostPool. */ + maxSessionLimit?: number; + /** The type of the load balancer. */ + loadBalancerType: LoadBalancerType; + /** The ring number of HostPool. */ + ring?: number; + /** Is validation environment. */ + validationEnvironment?: boolean; + /** The registration info of HostPool. */ + registrationInfo?: RegistrationInfo; + /** VM template for sessionhosts configuration within hostpool. */ + vmTemplate?: string; + /** + * List of applicationGroup links. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applicationGroupReferences?: string[]; + /** URL to customer ADFS server for signing WVD SSO certificates. */ + ssoadfsAuthority?: string; + /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ + ssoClientId?: string; + /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ + ssoClientSecretKeyVaultPath?: string; + /** The type of single sign on Secret Type. */ + ssoSecretType?: SSOSecretType; + /** The type of preferred application group type, default to Desktop Application Group */ + preferredAppGroupType: PreferredAppGroupType; + /** The flag to turn on/off StartVMOnConnect feature. */ + startVMOnConnect?: boolean; + /** The registration info of HostPool. */ + migrationRequest?: MigrationRequestProperties; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: HostpoolPublicNetworkAccess; + /** The preferred settings for updating the agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. */ + agentUpdate?: AgentUpdateProperties; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +}; + +export type ResourceModelWithAllowedPropertySetIdentity = Identity & {}; + +export type ResourceModelWithAllowedPropertySetSku = Sku & {}; + +export type ResourceModelWithAllowedPropertySetPlan = Plan & {}; + /** The Private Endpoint Connection resource. */ export type PrivateEndpointConnectionWithSystemData = PrivateEndpointConnection & { /** @@ -1115,6 +1173,44 @@ export enum KnownPublicNetworkAccess { */ export type PublicNetworkAccess = string; +/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ +export enum KnownPrivateEndpointServiceConnectionStatus { + Pending = "Pending", + Approved = "Approved", + Rejected = "Rejected" +} + +/** + * Defines values for PrivateEndpointServiceConnectionStatus. \ + * {@link KnownPrivateEndpointServiceConnectionStatus} can be used interchangeably with PrivateEndpointServiceConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** + */ +export type PrivateEndpointServiceConnectionStatus = string; + +/** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointConnectionProvisioningState { + Succeeded = "Succeeded", + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed" +} + +/** + * Defines values for PrivateEndpointConnectionProvisioningState. \ + * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Creating** \ + * **Deleting** \ + * **Failed** + */ +export type PrivateEndpointConnectionProvisioningState = string; + /** Known values of {@link ScalingHostPoolType} that the service accepts. */ export enum KnownScalingHostPoolType { /** Users get a new (random) SessionHost every time it connects to the HostPool. */ @@ -1376,6 +1472,44 @@ export enum KnownPreferredAppGroupType { */ export type PreferredAppGroupType = string; +/** Known values of {@link HostpoolPublicNetworkAccess} that the service accepts. */ +export enum KnownHostpoolPublicNetworkAccess { + Enabled = "Enabled", + Disabled = "Disabled", + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly", + EnabledForClientsOnly = "EnabledForClientsOnly" +} + +/** + * Defines values for HostpoolPublicNetworkAccess. \ + * {@link KnownHostpoolPublicNetworkAccess} can be used interchangeably with HostpoolPublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** \ + * **EnabledForSessionHostsOnly** \ + * **EnabledForClientsOnly** + */ +export type HostpoolPublicNetworkAccess = string; + +/** Known values of {@link SessionHostComponentUpdateType} that the service accepts. */ +export enum KnownSessionHostComponentUpdateType { + /** The agent components are updated according to the AVD infrastructure flighting. For more information, see https://aka.ms/avdagent. */ + Default = "Default", + /** This enables the Scheduled Agent Updates feature which allows the agent components to get updated according to the schedule that the admin define. For more information, see https://aka.ms/avdsau. */ + Scheduled = "Scheduled" +} + +/** + * Defines values for SessionHostComponentUpdateType. \ + * {@link KnownSessionHostComponentUpdateType} can be used interchangeably with SessionHostComponentUpdateType, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Default**: The agent components are updated according to the AVD infrastructure flighting. For more information, see https:\/\/aka.ms\/avdagent. \ + * **Scheduled**: This enables the Scheduled Agent Updates feature which allows the agent components to get updated according to the schedule that the admin define. For more information, see https:\/\/aka.ms\/avdsau. + */ +export type SessionHostComponentUpdateType = string; + /** Known values of {@link ApplicationType} that the service accepts. */ export enum KnownApplicationType { RemoteApp = "RemoteApp", @@ -1554,46 +1688,17 @@ export enum KnownHealthCheckResult { * **SessionHostShutdown**: We received a Shutdown notification. */ export type HealthCheckResult = string; - -/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ -export enum KnownPrivateEndpointServiceConnectionStatus { - Pending = "Pending", - Approved = "Approved", - Rejected = "Rejected" -} - -/** - * Defines values for PrivateEndpointServiceConnectionStatus. \ - * {@link KnownPrivateEndpointServiceConnectionStatus} can be used interchangeably with PrivateEndpointServiceConnectionStatus, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Pending** \ - * **Approved** \ - * **Rejected** - */ -export type PrivateEndpointServiceConnectionStatus = string; - -/** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ -export enum KnownPrivateEndpointConnectionProvisioningState { - Succeeded = "Succeeded", - Creating = "Creating", - Deleting = "Deleting", - Failed = "Failed" -} - -/** - * Defines values for PrivateEndpointConnectionProvisioningState. \ - * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, - * this enum contains the known values that the service supports. - * ### Known values supported by the service - * **Succeeded** \ - * **Creating** \ - * **Deleting** \ - * **Failed** - */ -export type PrivateEndpointConnectionProvisioningState = string; /** Defines values for SkuTier. */ export type SkuTier = "Free" | "Basic" | "Standard" | "Premium"; +/** Defines values for DayOfWeek. */ +export type DayOfWeek = + | "Monday" + | "Tuesday" + | "Wednesday" + | "Thursday" + | "Friday" + | "Saturday" + | "Sunday"; /** Optional parameters. */ export interface OperationsListOptionalParams diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts index 38097807e3ca..21dad8b511ed 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts @@ -250,6 +250,79 @@ export const SystemData: coreClient.CompositeMapper = { } }; +export const PrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const ResourceModelWithAllowedPropertySet: coreClient.CompositeMapper = { type: { name: "Composite", @@ -830,36 +903,6 @@ export const MigrationRequestProperties: coreClient.CompositeMapper = { } }; -export const Resource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Resource", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String" - } - }, - name: { - serializedName: "name", - readOnly: true, - type: { - name: "String" - } - }, - type: { - serializedName: "type", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - export const ApplicationGroupList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1111,6 +1154,75 @@ export const RegistrationInfo: coreClient.CompositeMapper = { } }; +export const AgentUpdateProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentUpdateProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + useSessionHostLocalTime: { + serializedName: "useSessionHostLocalTime", + type: { + name: "Boolean" + } + }, + maintenanceWindowTimeZone: { + serializedName: "maintenanceWindowTimeZone", + type: { + name: "String" + } + }, + maintenanceWindows: { + serializedName: "maintenanceWindows", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaintenanceWindowProperties" + } + } + } + } + } + } +}; + +export const MaintenanceWindowProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MaintenanceWindowProperties", + modelProperties: { + hour: { + serializedName: "hour", + type: { + name: "Number" + } + }, + dayOfWeek: { + serializedName: "dayOfWeek", + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } + } + } +}; + export const RegistrationInfoPatch: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1132,6 +1244,75 @@ export const RegistrationInfoPatch: coreClient.CompositeMapper = { } }; +export const AgentUpdatePatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "AgentUpdatePatchProperties", + modelProperties: { + type: { + serializedName: "type", + type: { + name: "String" + } + }, + useSessionHostLocalTime: { + serializedName: "useSessionHostLocalTime", + type: { + name: "Boolean" + } + }, + maintenanceWindowTimeZone: { + serializedName: "maintenanceWindowTimeZone", + type: { + name: "String" + } + }, + maintenanceWindows: { + serializedName: "maintenanceWindows", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MaintenanceWindowPatchProperties" + } + } + } + } + } + } +}; + +export const MaintenanceWindowPatchProperties: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MaintenanceWindowPatchProperties", + modelProperties: { + hour: { + serializedName: "hour", + type: { + name: "Number" + } + }, + dayOfWeek: { + serializedName: "dayOfWeek", + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } + } + } +}; + export const HostPoolList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1474,49 +1655,6 @@ export const PrivateEndpointConnectionListResultWithSystemData: coreClient.Compo } }; -export const PrivateEndpoint: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateEndpoint", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - -export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateLinkServiceConnectionState", - modelProperties: { - status: { - serializedName: "status", - type: { - name: "String" - } - }, - description: { - serializedName: "description", - type: { - name: "String" - } - }, - actionsRequired: { - serializedName: "actionsRequired", - type: { - name: "String" - } - } - } - } -}; - export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1545,25 +1683,48 @@ export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { } }; -export const Workspace: coreClient.CompositeMapper = { +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Workspace", + className: "PrivateEndpointConnection", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { name: "Composite", - className: "SystemData" + className: "PrivateEndpoint" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, - type: { + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState" + } + }, + provisioningState: { + serializedName: "properties.provisioningState", + type: { name: "String" } + } + } + } +}; + +export const ApplicationGroupPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroupPatch", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } }, description: { serializedName: "properties.description", @@ -1576,41 +1737,57 @@ export const Workspace: coreClient.CompositeMapper = { type: { name: "String" } + } + } + } +}; + +export const StartMenuItem: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "StartMenuItem", + modelProperties: { + ...Resource.type.modelProperties, + appAlias: { + serializedName: "properties.appAlias", + type: { + name: "String" + } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", + filePath: { + serializedName: "properties.filePath", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + commandLineArguments: { + serializedName: "properties.commandLineArguments", type: { - name: "Boolean" + name: "String" } }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + iconPath: { + serializedName: "properties.iconPath", type: { name: "String" } + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number" + } } } } }; -export const ScalingPlan: coreClient.CompositeMapper = { +export const Application: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlan", + className: "Application", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1637,58 +1814,87 @@ export const ScalingPlan: coreClient.CompositeMapper = { name: "String" } }, - timeZone: { - serializedName: "properties.timeZone", + filePath: { + serializedName: "properties.filePath", type: { name: "String" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", + nullable: true, type: { name: "String" } }, - exclusionTag: { - serializedName: "properties.exclusionTag", + msixPackageApplicationId: { + serializedName: "properties.msixPackageApplicationId", + nullable: true, type: { name: "String" } }, - schedules: { - serializedName: "properties.schedules", + applicationType: { + serializedName: "properties.applicationType", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingSchedule" - } - } + name: "String" } }, - hostPoolReferences: { - serializedName: "properties.hostPoolReferences", + commandLineSetting: { + serializedName: "properties.commandLineSetting", + required: true, type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingHostPoolReference" - } - } + name: "String" + } + }, + commandLineArguments: { + serializedName: "properties.commandLineArguments", + type: { + name: "String" + } + }, + showInPortal: { + serializedName: "properties.showInPortal", + type: { + name: "Boolean" + } + }, + iconPath: { + serializedName: "properties.iconPath", + type: { + name: "String" + } + }, + iconIndex: { + serializedName: "properties.iconIndex", + type: { + name: "Number" + } + }, + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, + type: { + name: "String" + } + }, + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, + type: { + name: "ByteArray" } } } } }; -export const ApplicationGroup: coreClient.CompositeMapper = { +export const Desktop: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroup", + className: "Desktop", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1715,63 +1921,35 @@ export const ApplicationGroup: coreClient.CompositeMapper = { name: "String" } }, - hostPoolArmPath: { - serializedName: "properties.hostPoolArmPath", - required: true, - type: { - name: "String" - } - }, - workspaceArmPath: { - serializedName: "properties.workspaceArmPath", + iconHash: { + serializedName: "properties.iconHash", readOnly: true, type: { name: "String" } }, - applicationGroupType: { - serializedName: "properties.applicationGroupType", - required: true, - type: { - name: "String" - } - }, - migrationRequest: { - serializedName: "properties.migrationRequest", - type: { - name: "Composite", - className: "MigrationRequestProperties" - } - }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", + iconContent: { + serializedName: "properties.iconContent", readOnly: true, type: { - name: "Boolean" + name: "ByteArray" } } } } }; -export const HostPool: coreClient.CompositeMapper = { +export const HostPoolPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPool", + className: "HostPoolPatch", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", type: { - name: "String" + name: "Dictionary", + value: { type: { name: "String" } } } }, friendlyName: { @@ -1786,19 +1964,6 @@ export const HostPool: coreClient.CompositeMapper = { name: "String" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", - required: true, - type: { - name: "String" - } - }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", - type: { - name: "String" - } - }, customRdpProperty: { serializedName: "properties.customRdpProperty", type: { @@ -1811,9 +1976,14 @@ export const HostPool: coreClient.CompositeMapper = { name: "Number" } }, + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", + type: { + name: "String" + } + }, loadBalancerType: { serializedName: "properties.loadBalancerType", - required: true, type: { name: "String" } @@ -1834,7 +2004,7 @@ export const HostPool: coreClient.CompositeMapper = { serializedName: "properties.registrationInfo", type: { name: "Composite", - className: "RegistrationInfo" + className: "RegistrationInfoPatch" } }, vmTemplate: { @@ -1843,18 +2013,6 @@ export const HostPool: coreClient.CompositeMapper = { name: "String" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", - readOnly: true, - type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } - } - }, ssoadfsAuthority: { serializedName: "properties.ssoadfsAuthority", type: { @@ -1881,7 +2039,6 @@ export const HostPool: coreClient.CompositeMapper = { }, preferredAppGroupType: { serializedName: "properties.preferredAppGroupType", - required: true, type: { name: "String" } @@ -1892,133 +2049,81 @@ export const HostPool: coreClient.CompositeMapper = { name: "Boolean" } }, - migrationRequest: { - serializedName: "properties.migrationRequest", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { - name: "Composite", - className: "MigrationRequestProperties" + name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, - type: { - name: "Boolean" - } - }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + agentUpdate: { + serializedName: "properties.agentUpdate", type: { - name: "String" + name: "Composite", + className: "AgentUpdatePatchProperties" } } } } }; -export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", - modelProperties: { - ...Identity.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", - modelProperties: { - ...Sku.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", - modelProperties: { - ...Plan.type.modelProperties - } - } -}; - -export const ApplicationGroupPatch: coreClient.CompositeMapper = { +export const UserSession: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ApplicationGroupPatch", + className: "UserSession", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + systemData: { + serializedName: "systemData", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Composite", + className: "SystemData" } }, - description: { - serializedName: "properties.description", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", - type: { - name: "String" - } - } - } - } -}; - -export const StartMenuItem: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "StartMenuItem", - modelProperties: { - ...Resource.type.modelProperties, - appAlias: { - serializedName: "properties.appAlias", + userPrincipalName: { + serializedName: "properties.userPrincipalName", type: { name: "String" } }, - filePath: { - serializedName: "properties.filePath", + applicationType: { + serializedName: "properties.applicationType", type: { name: "String" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + sessionState: { + serializedName: "properties.sessionState", type: { name: "String" } }, - iconPath: { - serializedName: "properties.iconPath", + activeDirectoryUserName: { + serializedName: "properties.activeDirectoryUserName", type: { name: "String" } }, - iconIndex: { - serializedName: "properties.iconIndex", + createTime: { + serializedName: "properties.createTime", type: { - name: "Number" + name: "DateTime" } } } } }; -export const Application: coreClient.CompositeMapper = { +export const SessionHost: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Application", + className: "SessionHost", modelProperties: { ...Resource.type.modelProperties, systemData: { @@ -2035,115 +2140,131 @@ export const Application: coreClient.CompositeMapper = { name: "String" } }, - description: { - serializedName: "properties.description", + lastHeartBeat: { + serializedName: "properties.lastHeartBeat", type: { - name: "String" + name: "DateTime" } }, - friendlyName: { - serializedName: "properties.friendlyName", + sessions: { + serializedName: "properties.sessions", type: { - name: "String" + name: "Number" } }, - filePath: { - serializedName: "properties.filePath", + agentVersion: { + serializedName: "properties.agentVersion", type: { name: "String" } }, - msixPackageFamilyName: { - serializedName: "properties.msixPackageFamilyName", - nullable: true, + allowNewSession: { + serializedName: "properties.allowNewSession", + type: { + name: "Boolean" + } + }, + virtualMachineId: { + serializedName: "properties.virtualMachineId", + readOnly: true, type: { name: "String" } }, - msixPackageApplicationId: { - serializedName: "properties.msixPackageApplicationId", - nullable: true, + resourceId: { + serializedName: "properties.resourceId", + readOnly: true, type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } }, - commandLineSetting: { - serializedName: "properties.commandLineSetting", - required: true, + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - commandLineArguments: { - serializedName: "properties.commandLineArguments", + status: { + serializedName: "properties.status", type: { name: "String" } }, - showInPortal: { - serializedName: "properties.showInPortal", + statusTimestamp: { + serializedName: "properties.statusTimestamp", + readOnly: true, type: { - name: "Boolean" + name: "DateTime" } }, - iconPath: { - serializedName: "properties.iconPath", + osVersion: { + serializedName: "properties.osVersion", type: { name: "String" } }, - iconIndex: { - serializedName: "properties.iconIndex", + sxSStackVersion: { + serializedName: "properties.sxSStackVersion", type: { - name: "Number" + name: "String" } }, - iconHash: { - serializedName: "properties.iconHash", + updateState: { + serializedName: "properties.updateState", + type: { + name: "String" + } + }, + lastUpdateTime: { + serializedName: "properties.lastUpdateTime", readOnly: true, + type: { + name: "DateTime" + } + }, + updateErrorMessage: { + serializedName: "properties.updateErrorMessage", type: { name: "String" } }, - iconContent: { - serializedName: "properties.iconContent", + sessionHostHealthCheckResults: { + serializedName: "properties.sessionHostHealthCheckResults", readOnly: true, type: { - name: "ByteArray" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "SessionHostHealthCheckReport" + } + } } } } } }; -export const Desktop: coreClient.CompositeMapper = { +export const SessionHostPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Desktop", + className: "SessionHostPatch", modelProperties: { ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + allowNewSession: { + serializedName: "properties.allowNewSession", type: { - name: "String" + name: "Boolean" } }, - description: { - serializedName: "properties.description", + assignedUser: { + serializedName: "properties.assignedUser", type: { name: "String" } @@ -2153,316 +2274,229 @@ export const Desktop: coreClient.CompositeMapper = { type: { name: "String" } - }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, - type: { - name: "String" - } - }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, - type: { - name: "ByteArray" - } } } } }; -export const HostPoolPatch: coreClient.CompositeMapper = { +export const MsixPackage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPoolPatch", + className: "MsixPackage", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", + systemData: { + serializedName: "systemData", type: { - name: "Dictionary", - value: { type: { name: "String" } } + name: "Composite", + className: "SystemData" } }, - friendlyName: { - serializedName: "properties.friendlyName", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - description: { - serializedName: "properties.description", + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", - type: { - name: "Number" - } - }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { name: "String" } }, - ring: { - serializedName: "properties.ring", - type: { - name: "Number" - } - }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { name: "Boolean" } }, - registrationInfo: { - serializedName: "properties.registrationInfo", - type: { - name: "Composite", - className: "RegistrationInfoPatch" - } - }, - vmTemplate: { - serializedName: "properties.vmTemplate", - type: { - name: "String" - } - }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", - type: { - name: "String" - } - }, - ssoClientId: { - serializedName: "properties.ssoClientId", - type: { - name: "String" - } - }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + packageDependencies: { + serializedName: "properties.packageDependencies", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } } }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", + version: { + serializedName: "properties.version", type: { name: "String" } }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", + lastUpdated: { + serializedName: "properties.lastUpdated", type: { - name: "Boolean" + name: "DateTime" } }, - publicNetworkAccess: { - serializedName: "properties.publicNetworkAccess", + packageApplications: { + serializedName: "properties.packageApplications", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const UserSession: coreClient.CompositeMapper = { +export const MsixPackagePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserSession", + className: "MsixPackagePatch", modelProperties: { ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, - type: { - name: "String" - } - }, - userPrincipalName: { - serializedName: "properties.userPrincipalName", - type: { - name: "String" - } - }, - applicationType: { - serializedName: "properties.applicationType", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - sessionState: { - serializedName: "properties.sessionState", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - activeDirectoryUserName: { - serializedName: "properties.activeDirectoryUserName", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } - }, - createTime: { - serializedName: "properties.createTime", - type: { - name: "DateTime" - } } } } }; -export const SessionHost: coreClient.CompositeMapper = { +export const ExpandMsixImage: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHost", + className: "ExpandMsixImage", modelProperties: { ...Resource.type.modelProperties, - systemData: { - serializedName: "systemData", - type: { - name: "Composite", - className: "SystemData" - } - }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + packageAlias: { + serializedName: "properties.packageAlias", type: { name: "String" } }, - lastHeartBeat: { - serializedName: "properties.lastHeartBeat", - type: { - name: "DateTime" - } - }, - sessions: { - serializedName: "properties.sessions", - type: { - name: "Number" - } - }, - agentVersion: { - serializedName: "properties.agentVersion", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - allowNewSession: { - serializedName: "properties.allowNewSession", + packageName: { + serializedName: "properties.packageName", type: { - name: "Boolean" + name: "String" } }, - virtualMachineId: { - serializedName: "properties.virtualMachineId", - readOnly: true, + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - resourceId: { - serializedName: "properties.resourceId", - readOnly: true, + packageFullName: { + serializedName: "properties.packageFullName", type: { name: "String" } }, - assignedUser: { - serializedName: "properties.assignedUser", + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - status: { - serializedName: "properties.status", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { name: "String" } }, - statusTimestamp: { - serializedName: "properties.statusTimestamp", - readOnly: true, + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "DateTime" + name: "Boolean" } }, - osVersion: { - serializedName: "properties.osVersion", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - sxSStackVersion: { - serializedName: "properties.sxSStackVersion", + packageDependencies: { + serializedName: "properties.packageDependencies", + nullable: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } } }, - updateState: { - serializedName: "properties.updateState", + version: { + serializedName: "properties.version", type: { name: "String" } }, - lastUpdateTime: { - serializedName: "properties.lastUpdateTime", - readOnly: true, + lastUpdated: { + serializedName: "properties.lastUpdated", type: { name: "DateTime" } }, - updateErrorMessage: { - serializedName: "properties.updateErrorMessage", - type: { - name: "String" - } - }, - sessionHostHealthCheckResults: { - serializedName: "properties.sessionHostHealthCheckResults", - readOnly: true, + packageApplications: { + serializedName: "properties.packageApplications", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SessionHostHealthCheckReport" + className: "MsixPackageApplications" } } } @@ -2471,34 +2505,52 @@ export const SessionHost: coreClient.CompositeMapper = { } }; -export const SessionHostPatch: coreClient.CompositeMapper = { +export const PrivateLinkResource: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostPatch", + className: "PrivateLinkResource", modelProperties: { ...Resource.type.modelProperties, - allowNewSession: { - serializedName: "properties.allowNewSession", + groupId: { + serializedName: "properties.groupId", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - assignedUser: { - serializedName: "properties.assignedUser", + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { - name: "String" - } - } - } - } + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + }, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", + type: { + name: "Sequence", + element: { + type: { + name: "String" + } + } + } + } + } + } }; -export const MsixPackage: coreClient.CompositeMapper = { +export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackage", + className: "Workspace", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2506,81 +2558,136 @@ export const MsixPackage: coreClient.CompositeMapper = { className: "SystemData" } }, - imagePath: { - serializedName: "properties.imagePath", - type: { - name: "String" - } - }, - packageName: { - serializedName: "properties.packageName", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, type: { name: "Boolean" } }, - isActive: { - serializedName: "properties.isActive", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { - name: "Boolean" + name: "String" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MsixPackageDependencies" + className: "PrivateEndpointConnection" } } } + } + } + } +}; + +export const ScalingPlan: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ScalingPlan", + modelProperties: { + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } }, - version: { - serializedName: "properties.version", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + description: { + serializedName: "properties.description", type: { - name: "DateTime" + name: "String" } }, - packageApplications: { - serializedName: "properties.packageApplications", + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + timeZone: { + serializedName: "properties.timeZone", + type: { + name: "String" + } + }, + hostPoolType: { + serializedName: "properties.hostPoolType", + type: { + name: "String" + } + }, + exclusionTag: { + serializedName: "properties.exclusionTag", + type: { + name: "String" + } + }, + schedules: { + serializedName: "properties.schedules", type: { name: "Sequence", element: { type: { name: "Composite", - className: "MsixPackageApplications" + className: "ScalingSchedule" + } + } + } + }, + hostPoolReferences: { + serializedName: "properties.hostPoolReferences", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingHostPoolReference" } } } @@ -2589,198 +2696,251 @@ export const MsixPackage: coreClient.CompositeMapper = { } }; -export const MsixPackagePatch: coreClient.CompositeMapper = { +export const ApplicationGroup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackagePatch", + className: "ApplicationGroup", modelProperties: { - ...Resource.type.modelProperties, - isActive: { - serializedName: "properties.isActive", + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", type: { - name: "Boolean" + name: "Composite", + className: "SystemData" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { - name: "Boolean" + name: "String" } }, - displayName: { - serializedName: "properties.displayName", + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + }, + hostPoolArmPath: { + serializedName: "properties.hostPoolArmPath", + required: true, + type: { + name: "String" + } + }, + workspaceArmPath: { + serializedName: "properties.workspaceArmPath", + readOnly: true, type: { name: "String" } + }, + applicationGroupType: { + serializedName: "properties.applicationGroupType", + required: true, + type: { + name: "String" + } + }, + migrationRequest: { + serializedName: "properties.migrationRequest", + type: { + name: "Composite", + className: "MigrationRequestProperties" + } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } } } } }; -export const ExpandMsixImage: coreClient.CompositeMapper = { +export const HostPool: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ExpandMsixImage", + className: "HostPool", modelProperties: { - ...Resource.type.modelProperties, - packageAlias: { - serializedName: "properties.packageAlias", + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - imagePath: { - serializedName: "properties.imagePath", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - packageName: { - serializedName: "properties.packageName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + hostPoolType: { + serializedName: "properties.hostPoolType", + required: true, type: { name: "String" } }, - packageFullName: { - serializedName: "properties.packageFullName", + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", + type: { + name: "Number" + } + }, + loadBalancerType: { + serializedName: "properties.loadBalancerType", + required: true, type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + ring: { + serializedName: "properties.ring", type: { - name: "Boolean" + name: "Number" } }, - isActive: { - serializedName: "properties.isActive", + validationEnvironment: { + serializedName: "properties.validationEnvironment", type: { name: "Boolean" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", - nullable: true, + registrationInfo: { + serializedName: "properties.registrationInfo", + type: { + name: "Composite", + className: "RegistrationInfo" + } + }, + vmTemplate: { + serializedName: "properties.vmTemplate", + type: { + name: "String" + } + }, + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "Composite", - className: "MsixPackageDependencies" + name: "String" } } } }, - version: { - serializedName: "properties.version", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { - name: "DateTime" + name: "String" } }, - packageApplications: { - serializedName: "properties.packageApplications", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageApplications" - } - } + name: "String" } - } - } - } -}; - -export const PrivateEndpointConnection: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateEndpointConnection", - modelProperties: { - ...Resource.type.modelProperties, - privateEndpoint: { - serializedName: "properties.privateEndpoint", + }, + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { - name: "Composite", - className: "PrivateEndpoint" + name: "String" } }, - privateLinkServiceConnectionState: { - serializedName: "properties.privateLinkServiceConnectionState", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", + required: true, type: { - name: "Composite", - className: "PrivateLinkServiceConnectionState" + name: "String" } }, - provisioningState: { - serializedName: "properties.provisioningState", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", type: { - name: "String" + name: "Boolean" } - } - } - } -}; - -export const PrivateLinkResource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "PrivateLinkResource", - modelProperties: { - ...Resource.type.modelProperties, - groupId: { - serializedName: "properties.groupId", + }, + migrationRequest: { + serializedName: "properties.migrationRequest", + type: { + name: "Composite", + className: "MigrationRequestProperties" + } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", readOnly: true, + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - requiredMembers: { - serializedName: "properties.requiredMembers", - readOnly: true, + agentUpdate: { + serializedName: "properties.agentUpdate", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Composite", + className: "AgentUpdateProperties" } }, - requiredZoneNames: { - serializedName: "properties.requiredZoneNames", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { - name: "String" + name: "Composite", + className: "PrivateEndpointConnection" } } } @@ -2789,6 +2949,36 @@ export const PrivateLinkResource: 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: { name: "Composite", diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 6c8618a4d9ea..e00fae00ad96 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts @@ -58,7 +58,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2021-09-03-preview", + defaultValue: "2022-02-10-preview", isConstant: true, serializedName: "api-version", type: { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - 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" - }, - customizationsOnRecordings: [ - (recording: any): any => - recording.replace( - /"access_token":"[^"]*"/g, - `"access_token":"access_token"` - ) - ], - queryParametersToSkip: [] +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() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json index 02d427ad910e..3e6ae96443f3 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/tsconfig.json @@ -15,17 +15,11 @@ ], "declaration": true, "outDir": "./dist-esm", - "importHelpers": true, - "paths": { - "@azure/arm-desktopvirtualization": [ - "./src/index" - ] - } + "importHelpers": true }, "include": [ "./src/**/*.ts", - "./test/**/*.ts", - "samples-dev/**/*.ts" + "./test/**/*.ts" ], "exclude": [ "node_modules"