diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md index 62b08ac3bc65..051cd710d844 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/CHANGELOG.md @@ -1,15 +1,60 @@ # Release History + +## 1.1.0-beta.1 (2023-08-09) + +**Features** -## 1.0.1 (Unreleased) - -### Features Added - -### Breaking Changes - -### Bugs Fixed - -### Other Changes - + - Added operation group PrivateEndpointConnections + - Added operation group PrivateLinkResources + - Added Interface PrivateEndpoint + - Added Interface PrivateEndpointConnection + - Added Interface PrivateEndpointConnectionListResultWithSystemData + - Added Interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsGetByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams + - Added Interface PrivateEndpointConnectionsListByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + - Added Interface PrivateEndpointConnectionsListByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + - Added Interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + - Added Interface PrivateEndpointConnectionWithSystemData + - Added Interface PrivateLinkResource + - Added Interface PrivateLinkResourceListResult + - Added Interface PrivateLinkResourcesListByHostPoolNextOptionalParams + - Added Interface PrivateLinkResourcesListByHostPoolOptionalParams + - Added Interface PrivateLinkResourcesListByWorkspaceNextOptionalParams + - Added Interface PrivateLinkResourcesListByWorkspaceOptionalParams + - Added Interface PrivateLinkServiceConnectionState + - Added Type Alias HostpoolPublicNetworkAccess + - Added Type Alias PrivateEndpointConnectionProvisioningState + - Added Type Alias PrivateEndpointConnectionsGetByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsGetByWorkspaceResponse + - Added Type Alias PrivateEndpointConnectionsListByHostPoolNextResponse + - Added Type Alias PrivateEndpointConnectionsListByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsListByWorkspaceNextResponse + - Added Type Alias PrivateEndpointConnectionsListByWorkspaceResponse + - Added Type Alias PrivateEndpointConnectionsUpdateByHostPoolResponse + - Added Type Alias PrivateEndpointConnectionsUpdateByWorkspaceResponse + - Added Type Alias PrivateEndpointServiceConnectionStatus + - Added Type Alias PrivateLinkResourcesListByHostPoolNextResponse + - Added Type Alias PrivateLinkResourcesListByHostPoolResponse + - Added Type Alias PrivateLinkResourcesListByWorkspaceNextResponse + - Added Type Alias PrivateLinkResourcesListByWorkspaceResponse + - Added Type Alias PublicNetworkAccess + - Interface HostPool has a new optional parameter privateEndpointConnections + - Interface HostPool has a new optional parameter publicNetworkAccess + - Interface HostPoolPatch has a new optional parameter publicNetworkAccess + - Interface Workspace has a new optional parameter privateEndpointConnections + - Interface Workspace has a new optional parameter publicNetworkAccess + - Interface WorkspacePatch has a new optional parameter publicNetworkAccess + - Added Enum KnownHostpoolPublicNetworkAccess + - Added Enum KnownPrivateEndpointConnectionProvisioningState + - Added Enum KnownPrivateEndpointServiceConnectionStatus + - Added Enum KnownPublicNetworkAccess + + ## 1.0.0 (2023-03-09) The package of @azure/arm-desktopvirtualization is using our next generation design principles. To learn more, please refer to our documentation [Quick Start](https://aka.ms/js-track2-quickstart). diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md index 387cf846b7df..2a041a8ec1d5 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/README.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/README.md @@ -6,7 +6,7 @@ This package contains an isomorphic SDK (runs both in Node.js and in browsers) f [Source code](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization) | [Package (NPM)](https://www.npmjs.com/package/@azure/arm-desktopvirtualization) | -[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization) | +[API reference documentation](https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview) | [Samples](https://github.com/Azure-Samples/azure-samples-js-management) ## Getting started diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json index 96a0a2ff2627..1d8259124599 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/_meta.json @@ -1,8 +1,8 @@ { - "commit": "4f4044394791773e6e7e82a9bd90d3935caaca1b", + "commit": "4d0de992bd7359a53502aff4fddf297e26f86916", "readme": "specification/desktopvirtualization/resource-manager/readme.md", - "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\desktopvirtualization\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.9 --generate-sample=true", + "autorest_command": "autorest --version=3.9.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/desktopvirtualization/resource-manager/readme.md --use=@autorest/typescript@^6.0.4", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.6.2", - "use": "@autorest/typescript@6.0.0-rc.9" + "release_tool": "@azure-tools/js-sdk-release-tools@2.7.1", + "use": "@autorest/typescript@^6.0.4" } \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json index 98932db250e7..33f462479b4a 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/package.json +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for DesktopVirtualizationAPIClient.", - "version": "1.0.1", + "version": "1.1.0-beta.1", "engines": { "node": ">=14.0.0" }, @@ -109,13 +109,5 @@ ] }, "autoPublish": true, - "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization", - "//sampleConfiguration": { - "productName": "", - "productSlugs": [ - "azure" - ], - "disableDocsMs": true, - "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-desktopvirtualization?view=azure-node-preview" - } -} + "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/desktopvirtualization/arm-desktopvirtualization" +} \ No newline at end of file diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md index 76c83f87ac66..d2c8fcee33b1 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/review/arm-desktopvirtualization.api.md @@ -327,6 +327,10 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // (undocumented) operations: Operations; // (undocumented) + privateEndpointConnections: PrivateEndpointConnections; + // (undocumented) + privateLinkResources: PrivateLinkResources; + // (undocumented) scalingPlanPooledSchedules: ScalingPlanPooledSchedules; // (undocumented) scalingPlans: ScalingPlans; @@ -395,6 +399,8 @@ export interface HostPool extends ResourceModelWithAllowedPropertySet { readonly objectId?: string; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType: PreferredAppGroupType; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + publicNetworkAccess?: HostpoolPublicNetworkAccess; registrationInfo?: RegistrationInfo; ring?: number; ssoadfsAuthority?: string; @@ -423,6 +429,7 @@ export interface HostPoolPatch extends Resource { maxSessionLimit?: number; personalDesktopAssignmentType?: PersonalDesktopAssignmentType; preferredAppGroupType?: PreferredAppGroupType; + publicNetworkAccess?: HostpoolPublicNetworkAccess; registrationInfo?: RegistrationInfoPatch; ring?: number; ssoadfsAuthority?: string; @@ -437,6 +444,9 @@ export interface HostPoolPatch extends Resource { vmTemplate?: string; } +// @public +export type HostpoolPublicNetworkAccess = string; + // @public export interface HostPools { createOrUpdate(resourceGroupName: string, hostPoolName: string, hostPool: HostPool, options?: HostPoolsCreateOrUpdateOptionalParams): Promise; @@ -576,6 +586,14 @@ export enum KnownHealthCheckResult { Unknown = "Unknown" } +// @public +export enum KnownHostpoolPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled", + EnabledForClientsOnly = "EnabledForClientsOnly", + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly" +} + // @public export enum KnownHostPoolType { BYODesktop = "BYODesktop", @@ -603,6 +621,27 @@ export enum KnownPreferredAppGroupType { RailApplications = "RailApplications" } +// @public +export enum KnownPrivateEndpointConnectionProvisioningState { + Creating = "Creating", + Deleting = "Deleting", + Failed = "Failed", + Succeeded = "Succeeded" +} + +// @public +export enum KnownPrivateEndpointServiceConnectionStatus { + Approved = "Approved", + Pending = "Pending", + Rejected = "Rejected" +} + +// @public +export enum KnownPublicNetworkAccess { + Disabled = "Disabled", + Enabled = "Enabled" +} + // @public export enum KnownRegistrationTokenOperation { Delete = "Delete", @@ -877,6 +916,177 @@ export interface Plan { // @public export type PreferredAppGroupType = string; +// @public +export interface PrivateEndpoint { + readonly id?: string; +} + +// @public +export interface PrivateEndpointConnection extends Resource { + privateEndpoint?: PrivateEndpoint; + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; +} + +// @public +export interface PrivateEndpointConnectionListResultWithSystemData { + readonly nextLink?: string; + value?: PrivateEndpointConnectionWithSystemData[]; +} + +// @public +export type PrivateEndpointConnectionProvisioningState = string; + +// @public +export interface PrivateEndpointConnections { + deleteByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams): Promise; + deleteByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams): Promise; + getByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams): Promise; + getByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams): Promise; + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: PrivateEndpointConnectionsListByHostPoolOptionalParams): PagedAsyncIterableIterator; + listByWorkspace(resourceGroupName: string, workspaceName: string, options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams): PagedAsyncIterableIterator; + updateByHostPool(resourceGroupName: string, hostPoolName: string, privateEndpointConnectionName: string, connection: PrivateEndpointConnection, options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams): Promise; + updateByWorkspace(resourceGroupName: string, workspaceName: string, privateEndpointConnectionName: string, connection: PrivateEndpointConnection, options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams): Promise; +} + +// @public +export interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export interface PrivateEndpointConnectionsGetByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsGetByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByHostPoolNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByHostPoolOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateEndpointConnectionsListByHostPoolResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByWorkspaceNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsListByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsListByWorkspaceResponse = PrivateEndpointConnectionListResultWithSystemData; + +// @public +export interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsUpdateByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateEndpointConnectionsUpdateByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +// @public +export interface PrivateEndpointConnectionWithSystemData extends PrivateEndpointConnection { + readonly systemData?: SystemData; +} + +// @public +export type PrivateEndpointServiceConnectionStatus = string; + +// @public +export interface PrivateLinkResource extends Resource { + readonly groupId?: string; + readonly requiredMembers?: string[]; + requiredZoneNames?: string[]; +} + +// @public +export interface PrivateLinkResourceListResult { + readonly nextLink?: string; + value?: PrivateLinkResource[]; +} + +// @public +export interface PrivateLinkResources { + listByHostPool(resourceGroupName: string, hostPoolName: string, options?: PrivateLinkResourcesListByHostPoolOptionalParams): PagedAsyncIterableIterator; + listByWorkspace(resourceGroupName: string, workspaceName: string, options?: PrivateLinkResourcesListByWorkspaceOptionalParams): PagedAsyncIterableIterator; +} + +// @public +export interface PrivateLinkResourcesListByHostPoolNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByHostPoolNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByHostPoolOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateLinkResourcesListByHostPoolResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByWorkspaceNextOptionalParams extends coreClient.OperationOptions { +} + +// @public +export type PrivateLinkResourcesListByWorkspaceNextResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkResourcesListByWorkspaceOptionalParams extends coreClient.OperationOptions { + initialSkip?: number; + isDescending?: boolean; + pageSize?: number; +} + +// @public +export type PrivateLinkResourcesListByWorkspaceResponse = PrivateLinkResourceListResult; + +// @public +export interface PrivateLinkServiceConnectionState { + actionsRequired?: string; + description?: string; + status?: PrivateEndpointServiceConnectionStatus; +} + +// @public +export type PublicNetworkAccess = string; + // @public export interface RegistrationInfo { expirationTime?: Date; @@ -1494,6 +1704,8 @@ export interface Workspace extends ResourceModelWithAllowedPropertySet { description?: string; friendlyName?: string; readonly objectId?: string; + readonly privateEndpointConnections?: PrivateEndpointConnection[]; + publicNetworkAccess?: PublicNetworkAccess; readonly systemData?: SystemData; } @@ -1508,6 +1720,7 @@ export interface WorkspacePatch { applicationGroupReferences?: string[]; description?: string; friendlyName?: string; + publicNetworkAccess?: PublicNetworkAccess; tags?: { [propertyName: string]: string; }; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts index 8dc7297e140c..4db898c09328 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/desktopVirtualizationAPIClient.ts @@ -17,6 +17,8 @@ import * as coreAuth from "@azure/core-auth"; import { OperationsImpl, WorkspacesImpl, + PrivateEndpointConnectionsImpl, + PrivateLinkResourcesImpl, ScalingPlansImpl, ScalingPlanPooledSchedulesImpl, ApplicationGroupsImpl, @@ -32,6 +34,8 @@ import { import { Operations, Workspaces, + PrivateEndpointConnections, + PrivateLinkResources, ScalingPlans, ScalingPlanPooledSchedules, ApplicationGroups, @@ -78,7 +82,7 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-desktopvirtualization/1.0.1`; + const packageDetails = `azsdk-js-arm-desktopvirtualization/1.1.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -131,9 +135,11 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { // Assigning values to Constant parameters this.$host = options.$host || "https://management.azure.com"; - this.apiVersion = options.apiVersion || "2022-09-09"; + this.apiVersion = options.apiVersion || "2022-10-14-preview"; this.operations = new OperationsImpl(this); this.workspaces = new WorkspacesImpl(this); + this.privateEndpointConnections = new PrivateEndpointConnectionsImpl(this); + this.privateLinkResources = new PrivateLinkResourcesImpl(this); this.scalingPlans = new ScalingPlansImpl(this); this.scalingPlanPooledSchedules = new ScalingPlanPooledSchedulesImpl(this); this.applicationGroups = new ApplicationGroupsImpl(this); @@ -178,6 +184,8 @@ export class DesktopVirtualizationAPIClient extends coreClient.ServiceClient { operations: Operations; workspaces: Workspaces; + privateEndpointConnections: PrivateEndpointConnections; + privateLinkResources: PrivateLinkResources; scalingPlans: ScalingPlans; scalingPlanPooledSchedules: ScalingPlanPooledSchedules; applicationGroups: ApplicationGroups; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts index 33b1598d1327..46b30c8d9d51 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/index.ts @@ -95,6 +95,44 @@ export interface SystemData { lastModifiedAt?: Date; } +/** The Private Endpoint resource. */ +export interface PrivateEndpoint { + /** + * The ARM identifier for Private Endpoint + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; +} + +/** A collection of information about the state of the connection between service consumer and provider. */ +export interface PrivateLinkServiceConnectionState { + /** Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. */ + status?: PrivateEndpointServiceConnectionStatus; + /** The reason for approval/rejection of the connection. */ + description?: string; + /** A message indicating if changes on the service provider require any updates on the consumer. */ + actionsRequired?: string; +} + +/** Common fields that are returned in the response for all Azure Resource Manager resources */ +export interface Resource { + /** + * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly id?: string; + /** + * The name of the resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly name?: string; + /** + * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly type?: string; +} + /** The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set. */ export interface ResourceModelWithAllowedPropertySet { /** @@ -184,6 +222,30 @@ export interface WorkspacePatch { friendlyName?: string; /** List of applicationGroup links. */ applicationGroupReferences?: string[]; + /** Enabled to allow this resource to be access from the public network */ + publicNetworkAccess?: PublicNetworkAccess; +} + +/** List of private endpoint connection associated with the specified storage account */ +export interface PrivateEndpointConnectionListResultWithSystemData { + /** Array of private endpoint connections */ + value?: PrivateEndpointConnectionWithSystemData[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; +} + +/** A list of private link resources */ +export interface PrivateLinkResourceListResult { + /** Array of private link resources */ + value?: PrivateLinkResource[]; + /** + * Link to the next page of results. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly nextLink?: string; } /** List of Workspace definitions. */ @@ -282,25 +344,6 @@ export interface ScalingPlanList { readonly nextLink?: string; } -/** Common fields that are returned in the response for all Azure Resource Manager resources */ -export interface Resource { - /** - * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly id?: string; - /** - * The name of the resource - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly name?: string; - /** - * 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 ScalingPlanPooledSchedule definitions. */ export interface ScalingPlanPooledScheduleList { /** List of ScalingPlanPooledSchedule definitions. */ @@ -587,157 +630,35 @@ export interface SendMessage { messageBody?: string; } -/** Represents a Workspace definition. */ -export interface Workspace extends ResourceModelWithAllowedPropertySet { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of Workspace. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of Workspace. */ - description?: string; - /** Friendly name of Workspace. */ - friendlyName?: string; - /** List of applicationGroup resource Ids. */ - applicationGroupReferences?: string[]; - /** - * Is cloud pc resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly cloudPcResource?: boolean; -} - -/** Represents a scaling plan definition. */ -export interface ScalingPlan extends ResourceModelWithAllowedPropertySet { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of scaling plan. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of scaling plan. */ - description?: string; - /** User friendly name of scaling plan. */ - friendlyName?: string; - /** Timezone of the scaling plan. */ - timeZone: string; - /** HostPool type for desktop. */ - hostPoolType?: ScalingHostPoolType; - /** Exclusion tag for scaling plan. */ - exclusionTag?: string; - /** List of ScalingPlanPooledSchedule definitions. */ - schedules?: ScalingSchedule[]; - /** List of ScalingHostPoolReference definitions. */ - hostPoolReferences?: ScalingHostPoolReference[]; -} - -/** Represents a ApplicationGroup definition. */ -export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of ApplicationGroup. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Description of ApplicationGroup. */ - description?: string; - /** Friendly name of ApplicationGroup. */ - friendlyName?: string; - /** HostPool arm path of ApplicationGroup. */ - hostPoolArmPath: string; - /** - * Workspace arm path of ApplicationGroup. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly workspaceArmPath?: string; - /** Resource Type of ApplicationGroup. */ - applicationGroupType: ApplicationGroupType; +/** The Private Endpoint Connection resource. */ +export interface PrivateEndpointConnection extends Resource { + /** The resource of private end point. */ + privateEndpoint?: PrivateEndpoint; + /** A collection of information about the state of the connection between service consumer and provider. */ + privateLinkServiceConnectionState?: PrivateLinkServiceConnectionState; /** - * Is cloud pc resource. + * The provisioning state of the private endpoint connection resource. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cloudPcResource?: boolean; + readonly provisioningState?: PrivateEndpointConnectionProvisioningState; } -/** Represents a HostPool definition. */ -export interface HostPool extends ResourceModelWithAllowedPropertySet { - /** - * Metadata pertaining to creation and last modification of the resource. - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly systemData?: SystemData; - /** - * ObjectId of HostPool. (internal use) - * NOTE: This property will not be serialized. It can only be populated by the server. - */ - readonly objectId?: string; - /** Friendly name of HostPool. */ - friendlyName?: string; - /** Description of HostPool. */ - description?: string; - /** HostPool type for desktop. */ - hostPoolType: HostPoolType; - /** PersonalDesktopAssignment type for HostPool. */ - personalDesktopAssignmentType?: PersonalDesktopAssignmentType; - /** Custom rdp property of HostPool. */ - customRdpProperty?: string; - /** The max session limit of HostPool. */ - maxSessionLimit?: number; - /** The type of the load balancer. */ - loadBalancerType: LoadBalancerType; - /** The ring number of HostPool. */ - ring?: number; - /** Is validation environment. */ - validationEnvironment?: boolean; - /** The registration info of HostPool. */ - registrationInfo?: RegistrationInfo; - /** VM template for sessionhosts configuration within hostpool. */ - vmTemplate?: string; +/** A private link resource */ +export interface PrivateLinkResource extends Resource { /** - * List of applicationGroup links. + * The private link resource group id. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly applicationGroupReferences?: string[]; - /** URL to customer ADFS server for signing WVD SSO certificates. */ - ssoadfsAuthority?: string; - /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ - ssoClientId?: string; - /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ - ssoClientSecretKeyVaultPath?: string; - /** The type of single sign on Secret Type. */ - ssoSecretType?: SSOSecretType; - /** The type of preferred application group type, default to Desktop Application Group */ - preferredAppGroupType: PreferredAppGroupType; - /** The flag to turn on/off StartVMOnConnect feature. */ - startVMOnConnect?: boolean; + readonly groupId?: string; /** - * Is cloud pc resource. + * The private link resource required member names. * NOTE: This property will not be serialized. It can only be populated by the server. */ - readonly cloudPcResource?: boolean; - /** The session host configuration for updating agent, monitoring agent, and stack component. */ - agentUpdate?: AgentUpdateProperties; + readonly requiredMembers?: string[]; + /** The private link resource Private link DNS zone name. */ + requiredZoneNames?: string[]; } -export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} - -export interface ResourceModelWithAllowedPropertySetSku extends Sku {} - -export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} - /** Represents a ScalingPlanPooledSchedule definition. */ export interface ScalingPlanPooledSchedule extends Resource { /** @@ -953,6 +874,8 @@ export interface HostPoolPatch extends Resource { preferredAppGroupType?: PreferredAppGroupType; /** The flag to turn on/off StartVMOnConnect feature. */ startVMOnConnect?: boolean; + /** Enabled to allow this resource to be access from the public network */ + publicNetworkAccess?: HostpoolPublicNetworkAccess; /** The session host configuration for updating agent, monitoring agent, and stack component. */ agentUpdate?: AgentUpdatePatchProperties; } @@ -1123,6 +1046,181 @@ export interface ExpandMsixImage extends Resource { packageApplications?: MsixPackageApplications[]; } +/** Represents a Workspace definition. */ +export interface Workspace extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of Workspace. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of Workspace. */ + description?: string; + /** Friendly name of Workspace. */ + friendlyName?: string; + /** List of applicationGroup resource Ids. */ + applicationGroupReferences?: string[]; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: PublicNetworkAccess; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +} + +/** Represents a scaling plan definition. */ +export interface ScalingPlan extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of scaling plan. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of scaling plan. */ + description?: string; + /** User friendly name of scaling plan. */ + friendlyName?: string; + /** Timezone of the scaling plan. */ + timeZone: string; + /** HostPool type for desktop. */ + hostPoolType?: ScalingHostPoolType; + /** Exclusion tag for scaling plan. */ + exclusionTag?: string; + /** List of ScalingPlanPooledSchedule definitions. */ + schedules?: ScalingSchedule[]; + /** List of ScalingHostPoolReference definitions. */ + hostPoolReferences?: ScalingHostPoolReference[]; +} + +/** Represents a ApplicationGroup definition. */ +export interface ApplicationGroup extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of ApplicationGroup. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Description of ApplicationGroup. */ + description?: string; + /** Friendly name of ApplicationGroup. */ + friendlyName?: string; + /** HostPool arm path of ApplicationGroup. */ + hostPoolArmPath: string; + /** + * Workspace arm path of ApplicationGroup. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly workspaceArmPath?: string; + /** Resource Type of ApplicationGroup. */ + applicationGroupType: ApplicationGroupType; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; +} + +/** Represents a HostPool definition. */ +export interface HostPool extends ResourceModelWithAllowedPropertySet { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; + /** + * ObjectId of HostPool. (internal use) + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly objectId?: string; + /** Friendly name of HostPool. */ + friendlyName?: string; + /** Description of HostPool. */ + description?: string; + /** HostPool type for desktop. */ + hostPoolType: HostPoolType; + /** PersonalDesktopAssignment type for HostPool. */ + personalDesktopAssignmentType?: PersonalDesktopAssignmentType; + /** Custom rdp property of HostPool. */ + customRdpProperty?: string; + /** The max session limit of HostPool. */ + maxSessionLimit?: number; + /** The type of the load balancer. */ + loadBalancerType: LoadBalancerType; + /** The ring number of HostPool. */ + ring?: number; + /** Is validation environment. */ + validationEnvironment?: boolean; + /** The registration info of HostPool. */ + registrationInfo?: RegistrationInfo; + /** VM template for sessionhosts configuration within hostpool. */ + vmTemplate?: string; + /** + * List of applicationGroup links. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly applicationGroupReferences?: string[]; + /** URL to customer ADFS server for signing WVD SSO certificates. */ + ssoadfsAuthority?: string; + /** ClientId for the registered Relying Party used to issue WVD SSO certificates. */ + ssoClientId?: string; + /** Path to Azure KeyVault storing the secret used for communication to ADFS. */ + ssoClientSecretKeyVaultPath?: string; + /** The type of single sign on Secret Type. */ + ssoSecretType?: SSOSecretType; + /** The type of preferred application group type, default to Desktop Application Group */ + preferredAppGroupType: PreferredAppGroupType; + /** The flag to turn on/off StartVMOnConnect feature. */ + startVMOnConnect?: boolean; + /** + * Is cloud pc resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly cloudPcResource?: boolean; + /** Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints */ + publicNetworkAccess?: HostpoolPublicNetworkAccess; + /** The session host configuration for updating agent, monitoring agent, and stack component. */ + agentUpdate?: AgentUpdateProperties; + /** + * List of private endpoint connection associated with the specified resource + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly privateEndpointConnections?: PrivateEndpointConnection[]; +} + +export interface ResourceModelWithAllowedPropertySetIdentity extends Identity {} + +export interface ResourceModelWithAllowedPropertySetSku extends Sku {} + +export interface ResourceModelWithAllowedPropertySetPlan extends Plan {} + +/** The Private Endpoint Connection resource. */ +export interface PrivateEndpointConnectionWithSystemData + extends PrivateEndpointConnection { + /** + * Metadata pertaining to creation and last modification of the resource. + * NOTE: This property will not be serialized. It can only be populated by the server. + */ + readonly systemData?: SystemData; +} + /** Known values of {@link CreatedByType} that the service accepts. */ export enum KnownCreatedByType { /** User */ @@ -1147,6 +1245,69 @@ export enum KnownCreatedByType { */ export type CreatedByType = string; +/** Known values of {@link PublicNetworkAccess} that the service accepts. */ +export enum KnownPublicNetworkAccess { + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled" +} + +/** + * Defines values for PublicNetworkAccess. \ + * {@link KnownPublicNetworkAccess} can be used interchangeably with PublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** + */ +export type PublicNetworkAccess = string; + +/** Known values of {@link PrivateEndpointServiceConnectionStatus} that the service accepts. */ +export enum KnownPrivateEndpointServiceConnectionStatus { + /** Pending */ + Pending = "Pending", + /** Approved */ + Approved = "Approved", + /** Rejected */ + Rejected = "Rejected" +} + +/** + * Defines values for PrivateEndpointServiceConnectionStatus. \ + * {@link KnownPrivateEndpointServiceConnectionStatus} can be used interchangeably with PrivateEndpointServiceConnectionStatus, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Pending** \ + * **Approved** \ + * **Rejected** + */ +export type PrivateEndpointServiceConnectionStatus = string; + +/** Known values of {@link PrivateEndpointConnectionProvisioningState} that the service accepts. */ +export enum KnownPrivateEndpointConnectionProvisioningState { + /** Succeeded */ + Succeeded = "Succeeded", + /** Creating */ + Creating = "Creating", + /** Deleting */ + Deleting = "Deleting", + /** Failed */ + Failed = "Failed" +} + +/** + * Defines values for PrivateEndpointConnectionProvisioningState. \ + * {@link KnownPrivateEndpointConnectionProvisioningState} can be used interchangeably with PrivateEndpointConnectionProvisioningState, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Succeeded** \ + * **Creating** \ + * **Deleting** \ + * **Failed** + */ +export type PrivateEndpointConnectionProvisioningState = string; + /** Known values of {@link ScalingHostPoolType} that the service accepts. */ export enum KnownScalingHostPoolType { /** Users get a new (random) SessionHost every time it connects to the HostPool. */ @@ -1414,6 +1575,30 @@ export enum KnownPreferredAppGroupType { */ export type PreferredAppGroupType = string; +/** Known values of {@link HostpoolPublicNetworkAccess} that the service accepts. */ +export enum KnownHostpoolPublicNetworkAccess { + /** Enabled */ + Enabled = "Enabled", + /** Disabled */ + Disabled = "Disabled", + /** EnabledForSessionHostsOnly */ + EnabledForSessionHostsOnly = "EnabledForSessionHostsOnly", + /** EnabledForClientsOnly */ + EnabledForClientsOnly = "EnabledForClientsOnly" +} + +/** + * Defines values for HostpoolPublicNetworkAccess. \ + * {@link KnownHostpoolPublicNetworkAccess} can be used interchangeably with HostpoolPublicNetworkAccess, + * this enum contains the known values that the service supports. + * ### Known values supported by the service + * **Enabled** \ + * **Disabled** \ + * **EnabledForSessionHostsOnly** \ + * **EnabledForClientsOnly** + */ +export type HostpoolPublicNetworkAccess = string; + /** Known values of {@link SessionHostComponentUpdateType} that the service accepts. */ export enum KnownSessionHostComponentUpdateType { /** Agent and other agent side components are delivery schedule is controlled by WVD Infra. */ @@ -1557,27 +1742,27 @@ export type UpdateState = string; /** Known values of {@link HealthCheckName} that the service accepts. */ export enum KnownHealthCheckName { - /** Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. */ + /** Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled) */ DomainJoinedCheck = "DomainJoinedCheck", - /** Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. */ + /** Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled) */ DomainTrustCheck = "DomainTrustCheck", - /** Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. */ + /** Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled) */ FSLogixHealthCheck = "FSLogixHealthCheck", - /** Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. */ + /** Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled) */ SxSStackListenerCheck = "SxSStackListenerCheck", - /** Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). */ + /** Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled) */ UrlsAccessibleCheck = "UrlsAccessibleCheck", - /** Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. */ + /** Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled) */ MonitoringAgentCheck = "MonitoringAgentCheck", - /** Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. */ + /** Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled) */ DomainReachable = "DomainReachable", - /** Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. */ + /** Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled) */ WebRTCRedirectorCheck = "WebRTCRedirectorCheck", - /** Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. */ + /** Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled) */ SupportedEncryptionCheck = "SupportedEncryptionCheck", - /** Verifies the metadata service is accessible and return compute properties. */ + /** Verifies the metadata service is accessible and return compute properties. (Currently Enabled) */ MetaDataServiceCheck = "MetaDataServiceCheck", - /** Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. */ + /** Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled) */ AppAttachHealthCheck = "AppAttachHealthCheck" } @@ -1586,17 +1771,17 @@ export enum KnownHealthCheckName { * {@link KnownHealthCheckName} can be used interchangeably with HealthCheckName, * this enum contains the known values that the service supports. * ### Known values supported by the service - * **DomainJoinedCheck**: Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. \ - * **DomainTrustCheck**: Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. \ - * **FSLogixHealthCheck**: Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. \ - * **SxSStackListenerCheck**: Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. \ - * **UrlsAccessibleCheck**: Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). \ - * **MonitoringAgentCheck**: Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. \ - * **DomainReachable**: Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. \ - * **WebRTCRedirectorCheck**: Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. \ - * **SupportedEncryptionCheck**: Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. \ - * **MetaDataServiceCheck**: Verifies the metadata service is accessible and return compute properties. \ - * **AppAttachHealthCheck**: Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. + * **DomainJoinedCheck**: Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled) \ + * **DomainTrustCheck**: Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled) \ + * **FSLogixHealthCheck**: Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled) \ + * **SxSStackListenerCheck**: Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled) \ + * **UrlsAccessibleCheck**: Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled) \ + * **MonitoringAgentCheck**: Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled) \ + * **DomainReachable**: Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled) \ + * **WebRTCRedirectorCheck**: Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled) \ + * **SupportedEncryptionCheck**: Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled) \ + * **MetaDataServiceCheck**: Verifies the metadata service is accessible and return compute properties. (Currently Enabled) \ + * **AppAttachHealthCheck**: Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging\/registration (and eventual deregistration\/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled) */ export type HealthCheckName = string; @@ -1712,6 +1897,119 @@ export interface WorkspacesListBySubscriptionNextOptionalParams /** Contains response data for the listBySubscriptionNext operation. */ export type WorkspacesListBySubscriptionNextResponse = WorkspaceList; +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspace operation. */ +export type PrivateEndpointConnectionsListByWorkspaceResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByWorkspace operation. */ +export type PrivateEndpointConnectionsGetByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateByWorkspace operation. */ +export type PrivateEndpointConnectionsUpdateByWorkspaceResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByHostPoolOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByHostPool operation. */ +export type PrivateEndpointConnectionsListByHostPoolResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsGetByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the getByHostPool operation. */ +export type PrivateEndpointConnectionsGetByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the updateByHostPool operation. */ +export type PrivateEndpointConnectionsUpdateByHostPoolResponse = PrivateEndpointConnectionWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspaceNext operation. */ +export type PrivateEndpointConnectionsListByWorkspaceNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateEndpointConnectionsListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type PrivateEndpointConnectionsListByHostPoolNextResponse = PrivateEndpointConnectionListResultWithSystemData; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByWorkspaceOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByWorkspace operation. */ +export type PrivateLinkResourcesListByWorkspaceResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByHostPoolOptionalParams + extends coreClient.OperationOptions { + /** Number of items per page. */ + pageSize?: number; + /** Indicates whether the collection is descending. */ + isDescending?: boolean; + /** Initial number of items to skip. */ + initialSkip?: number; +} + +/** Contains response data for the listByHostPool operation. */ +export type PrivateLinkResourcesListByHostPoolResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByWorkspaceNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByWorkspaceNext operation. */ +export type PrivateLinkResourcesListByWorkspaceNextResponse = PrivateLinkResourceListResult; + +/** Optional parameters. */ +export interface PrivateLinkResourcesListByHostPoolNextOptionalParams + extends coreClient.OperationOptions {} + +/** Contains response data for the listByHostPoolNext operation. */ +export type PrivateLinkResourcesListByHostPoolNextResponse = PrivateLinkResourceListResult; + /** Optional parameters. */ export interface ScalingPlansGetOptionalParams extends coreClient.OperationOptions {} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts index 29c1798f190e..f897b8518688 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/mappers.ts @@ -250,6 +250,79 @@ export const SystemData: coreClient.CompositeMapper = { } }; +export const PrivateEndpoint: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpoint", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkServiceConnectionState: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkServiceConnectionState", + modelProperties: { + status: { + serializedName: "status", + type: { + name: "String" + } + }, + description: { + serializedName: "description", + type: { + name: "String" + } + }, + actionsRequired: { + serializedName: "actionsRequired", + type: { + name: "String" + } + } + } + } +}; + +export const Resource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Resource", + modelProperties: { + id: { + serializedName: "id", + readOnly: true, + type: { + name: "String" + } + }, + name: { + serializedName: "name", + readOnly: true, + type: { + name: "String" + } + }, + type: { + serializedName: "type", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + export const ResourceModelWithAllowedPropertySet: coreClient.CompositeMapper = { type: { name: "Composite", @@ -484,6 +557,68 @@ export const WorkspacePatch: coreClient.CompositeMapper = { } } } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", + type: { + name: "String" + } + } + } + } +}; + +export const PrivateEndpointConnectionListResultWithSystemData: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateEndpointConnectionListResultWithSystemData", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnectionWithSystemData" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } + } + } + } +}; + +export const PrivateLinkResourceListResult: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResourceListResult", + modelProperties: { + value: { + serializedName: "value", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateLinkResource" + } + } + } + }, + nextLink: { + serializedName: "nextLink", + readOnly: true, + type: { + name: "String" + } } } } @@ -803,36 +938,6 @@ export const ScalingPlanList: coreClient.CompositeMapper = { } }; -export const Resource: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "Resource", - modelProperties: { - id: { - serializedName: "id", - readOnly: true, - type: { - name: "String" - } - }, - name: { - serializedName: "name", - readOnly: true, - type: { - name: "String" - } - }, - type: { - serializedName: "type", - readOnly: true, - type: { - name: "String" - } - } - } - } -}; - export const ScalingPlanPooledScheduleList: coreClient.CompositeMapper = { type: { name: "Composite", @@ -1585,40 +1690,53 @@ export const SendMessage: coreClient.CompositeMapper = { } }; -export const Workspace: coreClient.CompositeMapper = { +export const PrivateEndpointConnection: coreClient.CompositeMapper = { type: { name: "Composite", - className: "Workspace", + className: "PrivateEndpointConnection", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + ...Resource.type.modelProperties, + privateEndpoint: { + serializedName: "properties.privateEndpoint", type: { name: "Composite", - className: "SystemData" + className: "PrivateEndpoint" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + privateLinkServiceConnectionState: { + serializedName: "properties.privateLinkServiceConnectionState", type: { - name: "String" + name: "Composite", + className: "PrivateLinkServiceConnectionState" } }, - description: { - serializedName: "properties.description", + provisioningState: { + serializedName: "properties.provisioningState", + readOnly: true, type: { name: "String" } - }, - friendlyName: { - serializedName: "properties.friendlyName", + } + } + } +}; + +export const PrivateLinkResource: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "PrivateLinkResource", + modelProperties: { + ...Resource.type.modelProperties, + groupId: { + serializedName: "properties.groupId", + readOnly: true, type: { name: "String" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", + requiredMembers: { + serializedName: "properties.requiredMembers", + readOnly: true, type: { name: "Sequence", element: { @@ -1628,23 +1746,27 @@ export const Workspace: coreClient.CompositeMapper = { } } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + requiredZoneNames: { + serializedName: "properties.requiredZoneNames", type: { - name: "Boolean" + name: "Sequence", + element: { + type: { + name: "String" + } + } } } } } }; -export const ScalingPlan: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlan", + className: "ScalingPlanPooledSchedule", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, + ...Resource.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -1652,327 +1774,365 @@ export const ScalingPlan: coreClient.CompositeMapper = { className: "SystemData" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + daysOfWeek: { + serializedName: "properties.daysOfWeek", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } } }, - description: { - serializedName: "properties.description", + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - friendlyName: { - serializedName: "properties.friendlyName", + rampUpLoadBalancingAlgorithm: { + serializedName: "properties.rampUpLoadBalancingAlgorithm", type: { name: "String" } }, - timeZone: { - serializedName: "properties.timeZone", - required: true, + rampUpMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinimumHostsPct", type: { - name: "String" + name: "Number" } }, - hostPoolType: { - defaultValue: "Pooled", - serializedName: "properties.hostPoolType", + rampUpCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampUpCapacityThresholdPct", type: { - name: "String" + name: "Number" } }, - exclusionTag: { - serializedName: "properties.exclusionTag", + peakStartTime: { + serializedName: "properties.peakStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - schedules: { - serializedName: "properties.schedules", + peakLoadBalancingAlgorithm: { + serializedName: "properties.peakLoadBalancingAlgorithm", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingSchedule" - } - } + name: "String" } }, - hostPoolReferences: { - serializedName: "properties.hostPoolReferences", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "ScalingHostPoolReference" - } - } - } - } - } - } -}; - -export const ApplicationGroup: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ApplicationGroup", - modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", type: { name: "Composite", - className: "SystemData" + className: "Time" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + rampDownLoadBalancingAlgorithm: { + serializedName: "properties.rampDownLoadBalancingAlgorithm", type: { name: "String" } }, - description: { - serializedName: "properties.description", + rampDownMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinimumHostsPct", type: { - name: "String" + name: "Number" } }, - friendlyName: { - serializedName: "properties.friendlyName", + rampDownCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownCapacityThresholdPct", type: { - name: "String" + name: "Number" } }, - hostPoolArmPath: { - serializedName: "properties.hostPoolArmPath", - required: true, + rampDownForceLogoffUsers: { + serializedName: "properties.rampDownForceLogoffUsers", type: { - name: "String" + name: "Boolean" } }, - workspaceArmPath: { - serializedName: "properties.workspaceArmPath", - readOnly: true, + rampDownStopHostsWhen: { + serializedName: "properties.rampDownStopHostsWhen", type: { name: "String" } }, - applicationGroupType: { - serializedName: "properties.applicationGroupType", - required: true, + rampDownWaitTimeMinutes: { + serializedName: "properties.rampDownWaitTimeMinutes", + type: { + name: "Number" + } + }, + rampDownNotificationMessage: { + serializedName: "properties.rampDownNotificationMessage", type: { name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", type: { - name: "Boolean" + name: "Composite", + className: "Time" + } + }, + offPeakLoadBalancingAlgorithm: { + serializedName: "properties.offPeakLoadBalancingAlgorithm", + type: { + name: "String" } } } } }; -export const HostPool: coreClient.CompositeMapper = { +export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPool", + className: "ScalingPlanPooledSchedulePatch", modelProperties: { - ...ResourceModelWithAllowedPropertySet.type.modelProperties, - systemData: { - serializedName: "systemData", + ...Resource.type.modelProperties, + daysOfWeek: { + serializedName: "properties.daysOfWeek", type: { - name: "Composite", - className: "SystemData" + name: "Sequence", + element: { + type: { + name: "Enum", + allowedValues: [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ] + } + } } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + rampUpStartTime: { + serializedName: "properties.rampUpStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - friendlyName: { - serializedName: "properties.friendlyName", + rampUpLoadBalancingAlgorithm: { + serializedName: "properties.rampUpLoadBalancingAlgorithm", type: { name: "String" } }, - description: { - serializedName: "properties.description", + rampUpMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampUpMinimumHostsPct", type: { - name: "String" + name: "Number" } }, - hostPoolType: { - serializedName: "properties.hostPoolType", - required: true, + rampUpCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 1 + }, + serializedName: "properties.rampUpCapacityThresholdPct", type: { - name: "String" + name: "Number" } }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + peakStartTime: { + serializedName: "properties.peakStartTime", type: { - name: "String" + name: "Composite", + className: "Time" } }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + peakLoadBalancingAlgorithm: { + serializedName: "properties.peakLoadBalancingAlgorithm", type: { name: "String" } }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", + rampDownStartTime: { + serializedName: "properties.rampDownStartTime", type: { - name: "Number" + name: "Composite", + className: "Time" } }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", - required: true, + rampDownLoadBalancingAlgorithm: { + serializedName: "properties.rampDownLoadBalancingAlgorithm", type: { name: "String" } }, - ring: { - serializedName: "properties.ring", + rampDownMinimumHostsPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownMinimumHostsPct", type: { name: "Number" } }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", + rampDownCapacityThresholdPct: { + constraints: { + InclusiveMaximum: 100, + InclusiveMinimum: 0 + }, + serializedName: "properties.rampDownCapacityThresholdPct", type: { - name: "Boolean" + name: "Number" } }, - registrationInfo: { - serializedName: "properties.registrationInfo", + rampDownForceLogoffUsers: { + serializedName: "properties.rampDownForceLogoffUsers", type: { - name: "Composite", - className: "RegistrationInfo" + name: "Boolean" } }, - vmTemplate: { - serializedName: "properties.vmTemplate", + rampDownStopHostsWhen: { + serializedName: "properties.rampDownStopHostsWhen", type: { name: "String" } }, - applicationGroupReferences: { - serializedName: "properties.applicationGroupReferences", - readOnly: true, + rampDownWaitTimeMinutes: { + serializedName: "properties.rampDownWaitTimeMinutes", type: { - name: "Sequence", - element: { - type: { - name: "String" - } - } + name: "Number" } }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + rampDownNotificationMessage: { + serializedName: "properties.rampDownNotificationMessage", type: { name: "String" } }, - ssoClientId: { - serializedName: "properties.ssoClientId", + offPeakStartTime: { + serializedName: "properties.offPeakStartTime", + type: { + name: "Composite", + className: "Time" + } + }, + offPeakLoadBalancingAlgorithm: { + serializedName: "properties.offPeakLoadBalancingAlgorithm", type: { name: "String" } + } + } + } +}; + +export const ApplicationGroupPatch: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ApplicationGroupPatch", + modelProperties: { + ...Resource.type.modelProperties, + tags: { + serializedName: "tags", + type: { + name: "Dictionary", + value: { type: { name: "String" } } + } }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + description: { + serializedName: "properties.description", type: { name: "String" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + 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", type: { name: "String" } }, - preferredAppGroupType: { - serializedName: "properties.preferredAppGroupType", - required: true, + filePath: { + serializedName: "properties.filePath", type: { name: "String" } }, - startVMOnConnect: { - serializedName: "properties.startVMOnConnect", + commandLineArguments: { + serializedName: "properties.commandLineArguments", type: { - name: "Boolean" + name: "String" } }, - cloudPcResource: { - serializedName: "properties.cloudPcResource", - readOnly: true, + iconPath: { + serializedName: "properties.iconPath", type: { - name: "Boolean" + name: "String" } }, - agentUpdate: { - serializedName: "properties.agentUpdate", + iconIndex: { + serializedName: "properties.iconIndex", type: { - name: "Composite", - className: "AgentUpdateProperties" + name: "Number" } } } } }; -export const ResourceModelWithAllowedPropertySetIdentity: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetIdentity", - modelProperties: { - ...Identity.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetSku: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetSku", - modelProperties: { - ...Sku.type.modelProperties - } - } -}; - -export const ResourceModelWithAllowedPropertySetPlan: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ResourceModelWithAllowedPropertySetPlan", - modelProperties: { - ...Plan.type.modelProperties - } - } -}; - -export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { +export const Application: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlanPooledSchedule", + className: "Application", modelProperties: { ...Resource.type.modelProperties, systemData: { @@ -1982,365 +2142,335 @@ export const ScalingPlanPooledSchedule: coreClient.CompositeMapper = { className: "SystemData" } }, - daysOfWeek: { - serializedName: "properties.daysOfWeek", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { - name: "Sequence", - element: { - type: { - name: "Enum", - allowedValues: [ - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ] - } - } + name: "String" } }, - rampUpStartTime: { - serializedName: "properties.rampUpStartTime", + description: { + serializedName: "properties.description", type: { - name: "Composite", - className: "Time" + name: "String" } }, - rampUpLoadBalancingAlgorithm: { - serializedName: "properties.rampUpLoadBalancingAlgorithm", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - rampUpMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampUpMinimumHostsPct", + filePath: { + serializedName: "properties.filePath", type: { - name: "Number" + name: "String" } }, - rampUpCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1 - }, - serializedName: "properties.rampUpCapacityThresholdPct", + msixPackageFamilyName: { + serializedName: "properties.msixPackageFamilyName", + nullable: true, type: { - name: "Number" + name: "String" } }, - peakStartTime: { - serializedName: "properties.peakStartTime", + msixPackageApplicationId: { + serializedName: "properties.msixPackageApplicationId", + nullable: true, type: { - name: "Composite", - className: "Time" + name: "String" } }, - peakLoadBalancingAlgorithm: { - serializedName: "properties.peakLoadBalancingAlgorithm", + applicationType: { + serializedName: "properties.applicationType", type: { name: "String" } }, - rampDownStartTime: { - serializedName: "properties.rampDownStartTime", + commandLineSetting: { + serializedName: "properties.commandLineSetting", + required: true, type: { - name: "Composite", - className: "Time" + name: "String" } }, - rampDownLoadBalancingAlgorithm: { - serializedName: "properties.rampDownLoadBalancingAlgorithm", + commandLineArguments: { + serializedName: "properties.commandLineArguments", type: { name: "String" } }, - rampDownMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownMinimumHostsPct", + showInPortal: { + serializedName: "properties.showInPortal", + type: { + name: "Boolean" + } + }, + iconPath: { + serializedName: "properties.iconPath", + type: { + name: "String" + } + }, + iconIndex: { + serializedName: "properties.iconIndex", type: { name: "Number" } }, - rampDownCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownCapacityThresholdPct", + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, type: { - name: "Number" + name: "String" } }, - rampDownForceLogoffUsers: { - serializedName: "properties.rampDownForceLogoffUsers", + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, type: { - name: "Boolean" + name: "ByteArray" + } + } + } + } +}; + +export const Desktop: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "Desktop", + modelProperties: { + ...Resource.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" } }, - rampDownStopHostsWhen: { - serializedName: "properties.rampDownStopHostsWhen", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - rampDownWaitTimeMinutes: { - serializedName: "properties.rampDownWaitTimeMinutes", + description: { + serializedName: "properties.description", type: { - name: "Number" + name: "String" } }, - rampDownNotificationMessage: { - serializedName: "properties.rampDownNotificationMessage", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - offPeakStartTime: { - serializedName: "properties.offPeakStartTime", + iconHash: { + serializedName: "properties.iconHash", + readOnly: true, type: { - name: "Composite", - className: "Time" + name: "String" } }, - offPeakLoadBalancingAlgorithm: { - serializedName: "properties.offPeakLoadBalancingAlgorithm", + iconContent: { + serializedName: "properties.iconContent", + readOnly: true, type: { - name: "String" + name: "ByteArray" } } } } }; -export const ScalingPlanPooledSchedulePatch: coreClient.CompositeMapper = { +export const HostPoolPatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "ScalingPlanPooledSchedulePatch", + className: "HostPoolPatch", modelProperties: { ...Resource.type.modelProperties, - daysOfWeek: { - serializedName: "properties.daysOfWeek", + tags: { + serializedName: "tags", 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", + friendlyName: { + serializedName: "properties.friendlyName", type: { - name: "Composite", - className: "Time" + name: "String" } }, - rampUpLoadBalancingAlgorithm: { - serializedName: "properties.rampUpLoadBalancingAlgorithm", + description: { + serializedName: "properties.description", type: { name: "String" } }, - rampUpMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampUpMinimumHostsPct", + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { - name: "Number" + name: "String" } }, - rampUpCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 1 - }, - serializedName: "properties.rampUpCapacityThresholdPct", + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", type: { name: "Number" } }, - peakStartTime: { - serializedName: "properties.peakStartTime", + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", type: { - name: "Composite", - className: "Time" + name: "String" } }, - peakLoadBalancingAlgorithm: { - serializedName: "properties.peakLoadBalancingAlgorithm", + loadBalancerType: { + serializedName: "properties.loadBalancerType", type: { name: "String" } }, - rampDownStartTime: { - serializedName: "properties.rampDownStartTime", + ring: { + serializedName: "properties.ring", type: { - name: "Composite", - className: "Time" + name: "Number" } }, - rampDownLoadBalancingAlgorithm: { - serializedName: "properties.rampDownLoadBalancingAlgorithm", + validationEnvironment: { + serializedName: "properties.validationEnvironment", type: { - name: "String" + name: "Boolean" } }, - rampDownMinimumHostsPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownMinimumHostsPct", + registrationInfo: { + serializedName: "properties.registrationInfo", type: { - name: "Number" + name: "Composite", + className: "RegistrationInfoPatch" } }, - rampDownCapacityThresholdPct: { - constraints: { - InclusiveMaximum: 100, - InclusiveMinimum: 0 - }, - serializedName: "properties.rampDownCapacityThresholdPct", + vmTemplate: { + serializedName: "properties.vmTemplate", type: { - name: "Number" + name: "String" } }, - rampDownForceLogoffUsers: { - serializedName: "properties.rampDownForceLogoffUsers", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { - name: "Boolean" + name: "String" } }, - rampDownStopHostsWhen: { - serializedName: "properties.rampDownStopHostsWhen", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { name: "String" } }, - rampDownWaitTimeMinutes: { - serializedName: "properties.rampDownWaitTimeMinutes", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { - name: "Number" + name: "String" } }, - rampDownNotificationMessage: { - serializedName: "properties.rampDownNotificationMessage", + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { name: "String" } }, - offPeakStartTime: { - serializedName: "properties.offPeakStartTime", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", type: { - name: "Composite", - className: "Time" + name: "String" } }, - offPeakLoadBalancingAlgorithm: { - serializedName: "properties.offPeakLoadBalancingAlgorithm", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } + }, + agentUpdate: { + serializedName: "properties.agentUpdate", + type: { + name: "Composite", + className: "AgentUpdatePatchProperties" + } } } } }; -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: { @@ -2357,97 +2487,149 @@ 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, + allowNewSession: { + serializedName: "properties.allowNewSession", + type: { + name: "Boolean" + } + }, + assignedUser: { + serializedName: "properties.assignedUser", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", + type: { + name: "String" + } + } + } + } +}; + +export const MsixPackage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "MsixPackage", modelProperties: { ...Resource.type.modelProperties, systemData: { @@ -2457,170 +2639,225 @@ export const Desktop: coreClient.CompositeMapper = { className: "SystemData" } }, - objectId: { - serializedName: "properties.objectId", - readOnly: true, + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - description: { - serializedName: "properties.description", + packageName: { + serializedName: "properties.packageName", type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { name: "String" } }, - iconHash: { - serializedName: "properties.iconHash", - readOnly: true, + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - iconContent: { - serializedName: "properties.iconContent", - readOnly: true, + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { - name: "ByteArray" + name: "String" + } + }, + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", + type: { + name: "Boolean" + } + }, + isActive: { + serializedName: "properties.isActive", + type: { + name: "Boolean" + } + }, + packageDependencies: { + serializedName: "properties.packageDependencies", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageDependencies" + } + } + } + }, + version: { + serializedName: "properties.version", + type: { + name: "String" + } + }, + lastUpdated: { + serializedName: "properties.lastUpdated", + type: { + name: "DateTime" + } + }, + packageApplications: { + serializedName: "properties.packageApplications", + type: { + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const HostPoolPatch: coreClient.CompositeMapper = { +export const MsixPackagePatch: coreClient.CompositeMapper = { type: { name: "Composite", - className: "HostPoolPatch", + className: "MsixPackagePatch", modelProperties: { ...Resource.type.modelProperties, - tags: { - serializedName: "tags", - type: { - name: "Dictionary", - value: { type: { name: "String" } } - } - }, - friendlyName: { - serializedName: "properties.friendlyName", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - description: { - serializedName: "properties.description", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - customRdpProperty: { - serializedName: "properties.customRdpProperty", + displayName: { + serializedName: "properties.displayName", type: { name: "String" } - }, - maxSessionLimit: { - serializedName: "properties.maxSessionLimit", - type: { - name: "Number" - } - }, - personalDesktopAssignmentType: { - serializedName: "properties.personalDesktopAssignmentType", + } + } + } +}; + +export const ExpandMsixImage: coreClient.CompositeMapper = { + type: { + name: "Composite", + className: "ExpandMsixImage", + modelProperties: { + ...Resource.type.modelProperties, + packageAlias: { + serializedName: "properties.packageAlias", type: { name: "String" } }, - loadBalancerType: { - serializedName: "properties.loadBalancerType", + imagePath: { + serializedName: "properties.imagePath", type: { name: "String" } }, - ring: { - serializedName: "properties.ring", + packageName: { + serializedName: "properties.packageName", type: { - name: "Number" + name: "String" } }, - validationEnvironment: { - serializedName: "properties.validationEnvironment", + packageFamilyName: { + serializedName: "properties.packageFamilyName", type: { - name: "Boolean" + name: "String" } }, - registrationInfo: { - serializedName: "properties.registrationInfo", + packageFullName: { + serializedName: "properties.packageFullName", type: { - name: "Composite", - className: "RegistrationInfoPatch" + name: "String" } }, - vmTemplate: { - serializedName: "properties.vmTemplate", + displayName: { + serializedName: "properties.displayName", + nullable: true, type: { name: "String" } }, - ssoadfsAuthority: { - serializedName: "properties.ssoadfsAuthority", + packageRelativePath: { + serializedName: "properties.packageRelativePath", type: { name: "String" } }, - ssoClientId: { - serializedName: "properties.ssoClientId", + isRegularRegistration: { + serializedName: "properties.isRegularRegistration", type: { - name: "String" + name: "Boolean" } }, - ssoClientSecretKeyVaultPath: { - serializedName: "properties.ssoClientSecretKeyVaultPath", + isActive: { + serializedName: "properties.isActive", type: { - name: "String" + name: "Boolean" } }, - ssoSecretType: { - serializedName: "properties.ssoSecretType", + packageDependencies: { + serializedName: "properties.packageDependencies", + nullable: true, 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" } }, - agentUpdate: { - serializedName: "properties.agentUpdate", + packageApplications: { + serializedName: "properties.packageApplications", type: { - name: "Composite", - className: "AgentUpdatePatchProperties" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "MsixPackageApplications" + } + } } } } } }; -export const UserSession: coreClient.CompositeMapper = { +export const Workspace: coreClient.CompositeMapper = { type: { name: "Composite", - className: "UserSession", + className: "Workspace", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2635,46 +2872,65 @@ export const UserSession: coreClient.CompositeMapper = { name: "String" } }, - userPrincipalName: { - serializedName: "properties.userPrincipalName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - applicationType: { - serializedName: "properties.applicationType", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - sessionState: { - serializedName: "properties.sessionState", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - activeDirectoryUserName: { - serializedName: "properties.activeDirectoryUserName", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } + }, + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - createTime: { - serializedName: "properties.createTime", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { - name: "DateTime" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "PrivateEndpointConnection" + } + } } } } } }; -export const SessionHost: coreClient.CompositeMapper = { +export const ScalingPlan: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHost", + className: "ScalingPlan", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2689,46 +2945,8 @@ export const SessionHost: coreClient.CompositeMapper = { name: "String" } }, - lastHeartBeat: { - serializedName: "properties.lastHeartBeat", - type: { - name: "DateTime" - } - }, - sessions: { - serializedName: "properties.sessions", - type: { - name: "Number" - } - }, - agentVersion: { - serializedName: "properties.agentVersion", - type: { - name: "String" - } - }, - allowNewSession: { - serializedName: "properties.allowNewSession", - type: { - name: "Boolean" - } - }, - virtualMachineId: { - serializedName: "properties.virtualMachineId", - readOnly: true, - type: { - name: "String" - } - }, - resourceId: { - serializedName: "properties.resourceId", - readOnly: true, - type: { - name: "String" - } - }, - assignedUser: { - serializedName: "properties.assignedUser", + description: { + serializedName: "properties.description", type: { name: "String" } @@ -2739,59 +2957,46 @@ export const SessionHost: coreClient.CompositeMapper = { name: "String" } }, - status: { - serializedName: "properties.status", - type: { - name: "String" - } - }, - statusTimestamp: { - serializedName: "properties.statusTimestamp", - readOnly: true, - type: { - name: "DateTime" - } - }, - osVersion: { - serializedName: "properties.osVersion", + timeZone: { + serializedName: "properties.timeZone", + required: true, type: { name: "String" } }, - sxSStackVersion: { - serializedName: "properties.sxSStackVersion", + hostPoolType: { + defaultValue: "Pooled", + serializedName: "properties.hostPoolType", type: { name: "String" } }, - updateState: { - serializedName: "properties.updateState", + exclusionTag: { + serializedName: "properties.exclusionTag", type: { name: "String" } }, - lastUpdateTime: { - serializedName: "properties.lastUpdateTime", - readOnly: true, - type: { - name: "DateTime" - } - }, - updateErrorMessage: { - serializedName: "properties.updateErrorMessage", + schedules: { + serializedName: "properties.schedules", type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "Composite", + className: "ScalingSchedule" + } + } } }, - sessionHostHealthCheckResults: { - serializedName: "properties.sessionHostHealthCheckResults", - readOnly: true, + hostPoolReferences: { + serializedName: "properties.hostPoolReferences", type: { name: "Sequence", element: { type: { name: "Composite", - className: "SessionHostHealthCheckReport" + className: "ScalingHostPoolReference" } } } @@ -2800,40 +3005,76 @@ export const SessionHost: coreClient.CompositeMapper = { } }; -export const SessionHostPatch: coreClient.CompositeMapper = { +export const ApplicationGroup: coreClient.CompositeMapper = { type: { name: "Composite", - className: "SessionHostPatch", + className: "ApplicationGroup", modelProperties: { - ...Resource.type.modelProperties, - allowNewSession: { - serializedName: "properties.allowNewSession", + ...ResourceModelWithAllowedPropertySet.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + }, + objectId: { + serializedName: "properties.objectId", + readOnly: true, + type: { + name: "String" + } + }, + description: { + serializedName: "properties.description", + type: { + name: "String" + } + }, + friendlyName: { + serializedName: "properties.friendlyName", type: { - name: "Boolean" + name: "String" } }, - assignedUser: { - serializedName: "properties.assignedUser", + hostPoolArmPath: { + serializedName: "properties.hostPoolArmPath", + required: true, type: { name: "String" } }, - friendlyName: { - serializedName: "properties.friendlyName", + workspaceArmPath: { + serializedName: "properties.workspaceArmPath", + readOnly: true, + type: { + name: "String" + } + }, + applicationGroupType: { + serializedName: "properties.applicationGroupType", + required: true, type: { name: "String" } + }, + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, + type: { + name: "Boolean" + } } } } }; -export const MsixPackage: coreClient.CompositeMapper = { +export const HostPool: coreClient.CompositeMapper = { type: { name: "Composite", - className: "MsixPackage", + className: "HostPool", modelProperties: { - ...Resource.type.modelProperties, + ...ResourceModelWithAllowedPropertySet.type.modelProperties, systemData: { serializedName: "systemData", type: { @@ -2841,211 +3082,160 @@ export const MsixPackage: coreClient.CompositeMapper = { className: "SystemData" } }, - imagePath: { - serializedName: "properties.imagePath", + objectId: { + serializedName: "properties.objectId", + readOnly: true, type: { name: "String" } }, - packageName: { - serializedName: "properties.packageName", + friendlyName: { + serializedName: "properties.friendlyName", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + description: { + serializedName: "properties.description", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + hostPoolType: { + serializedName: "properties.hostPoolType", + required: true, type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + personalDesktopAssignmentType: { + serializedName: "properties.personalDesktopAssignmentType", type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", - type: { - name: "Boolean" - } - }, - isActive: { - serializedName: "properties.isActive", + customRdpProperty: { + serializedName: "properties.customRdpProperty", type: { - name: "Boolean" + name: "String" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", + maxSessionLimit: { + serializedName: "properties.maxSessionLimit", type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } + name: "Number" } }, - version: { - serializedName: "properties.version", + loadBalancerType: { + serializedName: "properties.loadBalancerType", + required: true, type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + ring: { + serializedName: "properties.ring", type: { - name: "DateTime" + name: "Number" } }, - packageApplications: { - serializedName: "properties.packageApplications", - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageApplications" - } - } - } - } - } - } -}; - -export const MsixPackagePatch: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "MsixPackagePatch", - modelProperties: { - ...Resource.type.modelProperties, - isActive: { - serializedName: "properties.isActive", + validationEnvironment: { + serializedName: "properties.validationEnvironment", type: { name: "Boolean" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + registrationInfo: { + serializedName: "properties.registrationInfo", type: { - name: "Boolean" + name: "Composite", + className: "RegistrationInfo" } }, - displayName: { - serializedName: "properties.displayName", - type: { - name: "String" - } - } - } - } -}; - -export const ExpandMsixImage: coreClient.CompositeMapper = { - type: { - name: "Composite", - className: "ExpandMsixImage", - modelProperties: { - ...Resource.type.modelProperties, - packageAlias: { - serializedName: "properties.packageAlias", + vmTemplate: { + serializedName: "properties.vmTemplate", type: { name: "String" } }, - imagePath: { - serializedName: "properties.imagePath", + applicationGroupReferences: { + serializedName: "properties.applicationGroupReferences", + readOnly: true, type: { - name: "String" + name: "Sequence", + element: { + type: { + name: "String" + } + } } }, - packageName: { - serializedName: "properties.packageName", + ssoadfsAuthority: { + serializedName: "properties.ssoadfsAuthority", type: { name: "String" } }, - packageFamilyName: { - serializedName: "properties.packageFamilyName", + ssoClientId: { + serializedName: "properties.ssoClientId", type: { name: "String" } }, - packageFullName: { - serializedName: "properties.packageFullName", + ssoClientSecretKeyVaultPath: { + serializedName: "properties.ssoClientSecretKeyVaultPath", type: { name: "String" } }, - displayName: { - serializedName: "properties.displayName", - nullable: true, + ssoSecretType: { + serializedName: "properties.ssoSecretType", type: { name: "String" } }, - packageRelativePath: { - serializedName: "properties.packageRelativePath", + preferredAppGroupType: { + serializedName: "properties.preferredAppGroupType", + required: true, type: { name: "String" } }, - isRegularRegistration: { - serializedName: "properties.isRegularRegistration", + startVMOnConnect: { + serializedName: "properties.startVMOnConnect", type: { name: "Boolean" } }, - isActive: { - serializedName: "properties.isActive", + cloudPcResource: { + serializedName: "properties.cloudPcResource", + readOnly: true, type: { name: "Boolean" } }, - packageDependencies: { - serializedName: "properties.packageDependencies", - nullable: true, - type: { - name: "Sequence", - element: { - type: { - name: "Composite", - className: "MsixPackageDependencies" - } - } - } - }, - version: { - serializedName: "properties.version", + publicNetworkAccess: { + serializedName: "properties.publicNetworkAccess", type: { name: "String" } }, - lastUpdated: { - serializedName: "properties.lastUpdated", + agentUpdate: { + serializedName: "properties.agentUpdate", type: { - name: "DateTime" + name: "Composite", + className: "AgentUpdateProperties" } }, - packageApplications: { - serializedName: "properties.packageApplications", + privateEndpointConnections: { + serializedName: "properties.privateEndpointConnections", + readOnly: true, type: { name: "Sequence", element: { type: { name: "Composite", - className: "MsixPackageApplications" + className: "PrivateEndpointConnection" } } } @@ -3053,3 +3243,50 @@ export const ExpandMsixImage: 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", + className: "PrivateEndpointConnectionWithSystemData", + modelProperties: { + ...PrivateEndpointConnection.type.modelProperties, + systemData: { + serializedName: "systemData", + type: { + name: "Composite", + className: "SystemData" + } + } + } + } +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts index 7cc22c45f4b9..5de5c4a04348 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/models/parameters.ts @@ -14,6 +14,7 @@ import { import { Workspace as WorkspaceMapper, WorkspacePatch as WorkspacePatchMapper, + PrivateEndpointConnection as PrivateEndpointConnectionMapper, ScalingPlan as ScalingPlanMapper, ScalingPlanPatch as ScalingPlanPatchMapper, ScalingPlanPooledSchedule as ScalingPlanPooledScheduleMapper, @@ -59,7 +60,7 @@ export const $host: OperationURLParameter = { export const apiVersion: OperationQueryParameter = { parameterPath: "apiVersion", mapper: { - defaultValue: "2022-09-09", + defaultValue: "2022-10-14-preview", isConstant: true, serializedName: "api-version", type: { @@ -176,14 +177,10 @@ export const initialSkip: OperationQueryParameter = { } }; -export const scalingPlanName: OperationURLParameter = { - parameterPath: "scalingPlanName", +export const privateEndpointConnectionName: OperationURLParameter = { + parameterPath: "privateEndpointConnectionName", mapper: { - constraints: { - MaxLength: 64, - MinLength: 3 - }, - serializedName: "scalingPlanName", + serializedName: "privateEndpointConnectionName", required: true, type: { name: "String" @@ -191,14 +188,9 @@ export const scalingPlanName: OperationURLParameter = { } }; -export const scalingPlan: OperationParameter = { - parameterPath: "scalingPlan", - mapper: ScalingPlanMapper -}; - -export const scalingPlan1: OperationParameter = { - parameterPath: ["options", "scalingPlan"], - mapper: ScalingPlanPatchMapper +export const connection: OperationParameter = { + parameterPath: "connection", + mapper: PrivateEndpointConnectionMapper }; export const hostPoolName: OperationURLParameter = { @@ -216,6 +208,31 @@ export const hostPoolName: OperationURLParameter = { } }; +export const scalingPlanName: OperationURLParameter = { + parameterPath: "scalingPlanName", + mapper: { + constraints: { + MaxLength: 64, + MinLength: 3 + }, + serializedName: "scalingPlanName", + required: true, + type: { + name: "String" + } + } +}; + +export const scalingPlan: OperationParameter = { + parameterPath: "scalingPlan", + mapper: ScalingPlanMapper +}; + +export const scalingPlan1: OperationParameter = { + parameterPath: ["options", "scalingPlan"], + mapper: ScalingPlanPatchMapper +}; + export const scalingPlanScheduleName: OperationURLParameter = { parameterPath: "scalingPlanScheduleName", mapper: { diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts index 0c7bb50adcdd..aadb0f8c625b 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/index.ts @@ -8,6 +8,8 @@ export * from "./operations"; export * from "./workspaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; export * from "./scalingPlans"; export * from "./scalingPlanPooledSchedules"; export * from "./applicationGroups"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts new file mode 100644 index 000000000000..f501e282c80c --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateEndpointConnections.ts @@ -0,0 +1,682 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { PrivateEndpointConnections } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + PrivateEndpointConnectionWithSystemData, + PrivateEndpointConnectionsListByWorkspaceNextOptionalParams, + PrivateEndpointConnectionsListByWorkspaceOptionalParams, + PrivateEndpointConnectionsListByWorkspaceResponse, + PrivateEndpointConnectionsListByHostPoolNextOptionalParams, + PrivateEndpointConnectionsListByHostPoolOptionalParams, + PrivateEndpointConnectionsListByHostPoolResponse, + PrivateEndpointConnectionsGetByWorkspaceOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceResponse, + PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams, + PrivateEndpointConnection, + PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams, + PrivateEndpointConnectionsUpdateByWorkspaceResponse, + PrivateEndpointConnectionsGetByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByHostPoolResponse, + PrivateEndpointConnectionsDeleteByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolResponse, + PrivateEndpointConnectionsListByWorkspaceNextResponse, + PrivateEndpointConnectionsListByHostPoolNextResponse +} from "../models"; + +/// +/** Class containing PrivateEndpointConnections operations. */ +export class PrivateEndpointConnectionsImpl + implements PrivateEndpointConnections { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class PrivateEndpointConnections class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + public listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByWorkspacePagingAll( + resourceGroupName, + workspaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options, + settings + ); + } + }; + } + + private async *listByWorkspacePagingPage( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateEndpointConnectionsListByWorkspaceResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByWorkspace( + resourceGroupName, + workspaceName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByWorkspaceNext( + resourceGroupName, + workspaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByWorkspacePagingAll( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options + )) { + yield* page; + } + } + + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings + ); + } + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateEndpointConnectionsListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options + )) { + yield* page; + } + } + + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + private _listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, options }, + listByWorkspaceOperationSpec + ); + } + + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + options + }, + getByWorkspaceOperationSpec + ); + } + + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + options + }, + deleteByWorkspaceOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + workspaceName, + privateEndpointConnectionName, + connection, + options + }, + updateByWorkspaceOperationSpec + ); + } + + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec + ); + } + + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + options + }, + getByHostPoolOperationSpec + ); + } + + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + options + }, + deleteByHostPoolOperationSpec + ); + } + + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { + resourceGroupName, + hostPoolName, + privateEndpointConnectionName, + connection, + options + }, + updateByHostPoolOperationSpec + ); + } + + /** + * ListByWorkspaceNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param nextLink The nextLink from the previous successful call to the ListByWorkspace method. + * @param options The options parameters. + */ + private _listByWorkspaceNext( + resourceGroupName: string, + workspaceName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByWorkspaceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, nextLink, options }, + listByWorkspaceNextOperationSpec + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: PrivateEndpointConnectionsListByHostPoolNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.connection, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName, + Parameters.privateEndpointConnectionName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const getByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const deleteByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "DELETE", + responses: { + 200: {}, + 204: {}, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const updateByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}", + httpMethod: "PUT", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + requestBody: Parameters.connection, + queryParameters: [Parameters.apiVersion], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.privateEndpointConnectionName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept, Parameters.contentType], + mediaType: "json", + serializer +}; +const listByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateEndpointConnectionListResultWithSystemData + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts new file mode 100644 index 000000000000..8ffc104d6c7f --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operations/privateLinkResources.ts @@ -0,0 +1,379 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; +import { setContinuationToken } from "../pagingHelper"; +import { PrivateLinkResources } from "../operationsInterfaces"; +import * as coreClient from "@azure/core-client"; +import * as Mappers from "../models/mappers"; +import * as Parameters from "../models/parameters"; +import { DesktopVirtualizationAPIClient } from "../desktopVirtualizationAPIClient"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByWorkspaceNextOptionalParams, + PrivateLinkResourcesListByWorkspaceOptionalParams, + PrivateLinkResourcesListByWorkspaceResponse, + PrivateLinkResourcesListByHostPoolNextOptionalParams, + PrivateLinkResourcesListByHostPoolOptionalParams, + PrivateLinkResourcesListByHostPoolResponse, + PrivateLinkResourcesListByWorkspaceNextResponse, + PrivateLinkResourcesListByHostPoolNextResponse +} from "../models"; + +/// +/** Class containing PrivateLinkResources operations. */ +export class PrivateLinkResourcesImpl implements PrivateLinkResources { + private readonly client: DesktopVirtualizationAPIClient; + + /** + * Initialize a new instance of the class PrivateLinkResources class. + * @param client Reference to the service client + */ + constructor(client: DesktopVirtualizationAPIClient) { + this.client = client; + } + + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + public listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByWorkspacePagingAll( + resourceGroupName, + workspaceName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options, + settings + ); + } + }; + } + + private async *listByWorkspacePagingPage( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateLinkResourcesListByWorkspaceResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByWorkspace( + resourceGroupName, + workspaceName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByWorkspaceNext( + resourceGroupName, + workspaceName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByWorkspacePagingAll( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByWorkspacePagingPage( + resourceGroupName, + workspaceName, + options + )) { + yield* page; + } + } + + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + public listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): PagedAsyncIterableIterator { + const iter = this.listByHostPoolPagingAll( + resourceGroupName, + hostPoolName, + options + ); + return { + next() { + return iter.next(); + }, + [Symbol.asyncIterator]() { + return this; + }, + byPage: (settings?: PageSettings) => { + if (settings?.maxPageSize) { + throw new Error("maxPageSize is not supported by this operation."); + } + return this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options, + settings + ); + } + }; + } + + private async *listByHostPoolPagingPage( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams, + settings?: PageSettings + ): AsyncIterableIterator { + let result: PrivateLinkResourcesListByHostPoolResponse; + let continuationToken = settings?.continuationToken; + if (!continuationToken) { + result = await this._listByHostPool( + resourceGroupName, + hostPoolName, + options + ); + let page = result.value || []; + continuationToken = result.nextLink; + setContinuationToken(page, continuationToken); + yield page; + } + while (continuationToken) { + result = await this._listByHostPoolNext( + resourceGroupName, + hostPoolName, + continuationToken, + options + ); + continuationToken = result.nextLink; + let page = result.value || []; + setContinuationToken(page, continuationToken); + yield page; + } + } + + private async *listByHostPoolPagingAll( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): AsyncIterableIterator { + for await (const page of this.listByHostPoolPagingPage( + resourceGroupName, + hostPoolName, + options + )) { + yield* page; + } + } + + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + private _listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, options }, + listByWorkspaceOperationSpec + ); + } + + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + private _listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, options }, + listByHostPoolOperationSpec + ); + } + + /** + * ListByWorkspaceNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param nextLink The nextLink from the previous successful call to the ListByWorkspace method. + * @param options The options parameters. + */ + private _listByWorkspaceNext( + resourceGroupName: string, + workspaceName: string, + nextLink: string, + options?: PrivateLinkResourcesListByWorkspaceNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, workspaceName, nextLink, options }, + listByWorkspaceNextOperationSpec + ); + } + + /** + * ListByHostPoolNext + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param nextLink The nextLink from the previous successful call to the ListByHostPool method. + * @param options The options parameters. + */ + private _listByHostPoolNext( + resourceGroupName: string, + hostPoolName: string, + nextLink: string, + options?: PrivateLinkResourcesListByHostPoolNextOptionalParams + ): Promise { + return this.client.sendOperationRequest( + { resourceGroupName, hostPoolName, nextLink, options }, + listByHostPoolNextOperationSpec + ); + } +} +// Operation Specifications +const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); + +const listByWorkspaceOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolOperationSpec: coreClient.OperationSpec = { + path: + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + queryParameters: [ + Parameters.apiVersion, + Parameters.pageSize, + Parameters.isDescending, + Parameters.initialSkip + ], + urlParameters: [ + Parameters.$host, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByWorkspaceNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.workspaceName + ], + headerParameters: [Parameters.accept], + serializer +}; +const listByHostPoolNextOperationSpec: coreClient.OperationSpec = { + path: "{nextLink}", + httpMethod: "GET", + responses: { + 200: { + bodyMapper: Mappers.PrivateLinkResourceListResult + }, + default: { + bodyMapper: Mappers.CloudError + } + }, + urlParameters: [ + Parameters.$host, + Parameters.nextLink, + Parameters.subscriptionId, + Parameters.resourceGroupName, + Parameters.hostPoolName + ], + headerParameters: [Parameters.accept], + serializer +}; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts index 0c7bb50adcdd..aadb0f8c625b 100644 --- a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/index.ts @@ -8,6 +8,8 @@ export * from "./operations"; export * from "./workspaces"; +export * from "./privateEndpointConnections"; +export * from "./privateLinkResources"; export * from "./scalingPlans"; export * from "./scalingPlanPooledSchedules"; export * from "./applicationGroups"; diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts new file mode 100644 index 000000000000..b450c877a7c2 --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateEndpointConnections.ts @@ -0,0 +1,140 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateEndpointConnectionWithSystemData, + PrivateEndpointConnectionsListByWorkspaceOptionalParams, + PrivateEndpointConnectionsListByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceOptionalParams, + PrivateEndpointConnectionsGetByWorkspaceResponse, + PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams, + PrivateEndpointConnection, + PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams, + PrivateEndpointConnectionsUpdateByWorkspaceResponse, + PrivateEndpointConnectionsGetByHostPoolOptionalParams, + PrivateEndpointConnectionsGetByHostPoolResponse, + PrivateEndpointConnectionsDeleteByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolOptionalParams, + PrivateEndpointConnectionsUpdateByHostPoolResponse +} from "../models"; + +/// +/** Interface representing a PrivateEndpointConnections. */ +export interface PrivateEndpointConnections { + /** + * List private endpoint connections. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateEndpointConnectionsListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * List private endpoint connections associated with hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateEndpointConnectionsListByHostPoolOptionalParams + ): PagedAsyncIterableIterator; + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByWorkspaceOptionalParams + ): Promise; + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByWorkspaceOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByWorkspace( + resourceGroupName: string, + workspaceName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByWorkspaceOptionalParams + ): Promise; + /** + * Get a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + getByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsGetByHostPoolOptionalParams + ): Promise; + /** + * Remove a connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param options The options parameters. + */ + deleteByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + options?: PrivateEndpointConnectionsDeleteByHostPoolOptionalParams + ): Promise; + /** + * Approve or reject a private endpoint connection. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param privateEndpointConnectionName The name of the private endpoint connection associated with the + * Azure resource + * @param connection Object containing the updated connection. + * @param options The options parameters. + */ + updateByHostPool( + resourceGroupName: string, + hostPoolName: string, + privateEndpointConnectionName: string, + connection: PrivateEndpointConnection, + options?: PrivateEndpointConnectionsUpdateByHostPoolOptionalParams + ): Promise; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts new file mode 100644 index 000000000000..655405c596ee --- /dev/null +++ b/sdk/desktopvirtualization/arm-desktopvirtualization/src/operationsInterfaces/privateLinkResources.ts @@ -0,0 +1,41 @@ +/* + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * + * Code generated by Microsoft (R) AutoRest Code Generator. + * Changes may cause incorrect behavior and will be lost if the code is regenerated. + */ + +import { PagedAsyncIterableIterator } from "@azure/core-paging"; +import { + PrivateLinkResource, + PrivateLinkResourcesListByWorkspaceOptionalParams, + PrivateLinkResourcesListByHostPoolOptionalParams +} from "../models"; + +/// +/** Interface representing a PrivateLinkResources. */ +export interface PrivateLinkResources { + /** + * List the private link resources available for this workspace. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param workspaceName The name of the workspace + * @param options The options parameters. + */ + listByWorkspace( + resourceGroupName: string, + workspaceName: string, + options?: PrivateLinkResourcesListByWorkspaceOptionalParams + ): PagedAsyncIterableIterator; + /** + * List the private link resources available for this hostpool. + * @param resourceGroupName The name of the resource group. The name is case insensitive. + * @param hostPoolName The name of the host pool within the specified resource group + * @param options The options parameters. + */ + listByHostPool( + resourceGroupName: string, + hostPoolName: string, + options?: PrivateLinkResourcesListByHostPoolOptionalParams + ): PagedAsyncIterableIterator; +} diff --git a/sdk/desktopvirtualization/arm-desktopvirtualization/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"