swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector SessionHostConfiguration API schemes: - https tags: - name: SessionHostConfiguration paths: ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default : put: tags: - SessionHostConfiguration operationId: microsoftAzureSessionhostconfigurationsCreateorupdate description: Create or update a SessionHostConfiguration. x-ms-examples: SessionHostConfigurations_Create: $ref: ./examples/SessionHostConfigurations_Create.json parameters: - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/HostPoolNameParameter' - name: sessionHostConfiguration description: Object containing SessionHostConfiguration definitions. in: body required: true schema: $ref: '#/definitions/SessionHostConfiguration' responses: '200': description: Successfully initiated SessionHostConfiguration Update validation. headers: Azure-AsyncOperation: description: The URL of the resource used to check the status of the asynchronous operation. type: string schema: $ref: '#/definitions/SessionHostConfiguration' '201': description: Successfully created Session Host Configuration. headers: Azure-AsyncOperation: description: The URL of the resource used to check the status of the asynchronous operation. type: string schema: $ref: '#/definitions/SessionHostConfiguration' default: description: Automation error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: azure-async-operation summary: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhostconfigurations Default patch: tags: - SessionHostConfiguration operationId: microsoftAzureSessionhostconfigurationsUpdate description: Update a SessionHostConfiguration. x-ms-examples: SessionHostConfigurations_Update: $ref: ./examples/SessionHostConfigurations_Update.json parameters: - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/HostPoolNameParameter' - name: sessionHostConfiguration description: Object containing SessionHostConfiguration definitions. in: body required: false schema: $ref: '#/definitions/SessionHostConfigurationPatch' responses: '200': description: Successfully created SessionHostConfiguration. headers: Azure-AsyncOperation: description: The URL of the resource used to check the status of the asynchronous operation. type: string schema: $ref: '#/definitions/SessionHostConfiguration' '202': description: Successfully created SessionHostConfiguration. headers: Location: description: The URL of the resource used to check the status of the asynchronous operation. type: string Azure-AsyncOperation: description: The URL of the resource used to check the status of the asynchronous operation. type: string Retry-After: description: Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds. type: integer format: int32 default: description: Automation error response describing why the operation failed. schema: $ref: ../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse x-ms-long-running-operation: true x-ms-long-running-operation-options: final-state-via: location summary: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhostconfigurations Default get: tags: - SessionHostConfiguration operationId: microsoftAzureSessionhostconfigurationsGet description: Get a SessionHostConfiguration. x-ms-examples: SessionHostConfigurations_Get: $ref: ./examples/SessionHostConfigurations_Get.json parameters: - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/HostPoolNameParameter' responses: '200': description: Successfully retrieved sessionHostConfiguration. schema: $ref: '#/definitions/SessionHostConfiguration' default: description: Automation error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhostconfigurations Default ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations : get: tags: - SessionHostConfiguration operationId: microsoftAzureSessionhostconfigurationsListbyhostpool description: List sessionHostConfigurations. x-ms-examples: SessionHostConfigurations_ListByHostPool: $ref: ./examples/SessionHostConfigurations_ListByHostPool.json parameters: - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter - $ref: ../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter - $ref: '#/parameters/HostPoolNameParameter' responses: '200': description: Successfully retrieved sessionHostConfigurations in HostPool. schema: $ref: '#/definitions/SessionHostConfigurationList' default: description: Automation error response describing why the operation failed. schema: $ref: '#/definitions/CloudError' x-ms-pageable: nextLinkName: nextLink summary: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhostconfigurations definitions: SessionHostConfiguration: type: object description: Represents a SessionHostConfiguration definition. allOf: - $ref: ../../../../../common-types/resource-management/v1/types.json#/definitions/Resource required: - properties properties: systemData: $ref: ../../../../../common-types/resource-management/v2/types.json#/definitions/systemData description: Metadata pertaining to creation and last modification of the resource. properties: description: Detailed properties for SessionHostConfiguration x-ms-client-flatten: true $ref: '#/definitions/SessionHostConfigurationProperties' DiskInfoProperties: description: Disk information. type: object required: - type properties: type: type: string enum: - Standard_LRS - Premium_LRS - StandardSSD_LRS x-ms-enum: name: VirtualMachineDiskType modelAsString: true values: - value: Standard_LRS description: Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. - value: Premium_LRS description: Premium SSD locally redundant storage. Best for production and performance sensitive workloads. - value: StandardSSD_LRS description: Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test. description: The disk type used by virtual machine in hostpool session host. CloudErrorProperties: description: Cloud error object properties. type: object properties: code: description: Error code type: string message: description: Error message indicating why the operation failed. type: string BootDiagnosticsInfoPatchProperties: type: object properties: enabled: type: boolean description: Whether boot diagnostics should be enabled on the Virtual Machine. storageUri: type: string description: Uri of the storage account to use for placing the console output and screenshot.

If storageUri is not specified while enabling boot diagnostics, managed storage will be used. description: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor. DomainInfoPatchProperties: description: Domain configurations of session hosts. type: object properties: activeDirectoryInfo: $ref: '#/definitions/ActiveDirectoryInfoPatchProperties' description: Active directory info. Only one should be populated based on the join type. SecurityInfoProperties: description: Security information. type: object properties: type: type: string enum: - Standard - TrustedLaunch - ConfidentialVM x-ms-enum: name: VirtualMachineSecurityType modelAsString: true values: - value: Standard description: Standard security protocol. No additional parameters - value: TrustedLaunch description: TrustedLaunch allows for secure boot adn vTPM - value: ConfidentialVM description: Confidential Virtual Machine security protocol default: Standard description: The security type used by virtual machine in hostpool session host. Default is Standard. secureBootEnabled: type: boolean description: Whether to use secureBoot on the virtual machine. vTpmEnabled: type: boolean description: Whether to use vTPM on the virtual machine. SecurityInfoPatchProperties: description: Security information. type: object properties: type: type: string enum: - Standard - TrustedLaunch - ConfidentialVM x-ms-enum: name: VirtualMachineSecurityType modelAsString: true values: - value: Standard description: Standard security protocol. No additional parameters - value: TrustedLaunch description: TrustedLaunch allows for secure boot adn vTPM - value: ConfidentialVM description: Confidential Virtual Machine security protocol description: The security type used by virtual machine in hostpool session host. secureBootEnabled: type: boolean description: Whether to use secureBoot on the virtual machine. vTpmEnabled: type: boolean description: Whether to use vTPM on the virtual machine. ActiveDirectoryInfoProperties: description: Active directory info. Only one should be populated based on the join type. type: object required: - domainCredentials - ouPath properties: domainCredentials: $ref: '#/definitions/KeyVaultCredentialsProperties' description: Credentials needed to create the virtual machine. ouPath: type: string description: The ou path. domainName: type: string description: The domain a virtual machine connected to a hostpool will join. KeyVaultCredentialsPatchProperties: description: Credentials kept in the keyvault. type: object properties: usernameKeyVaultSecretUri: type: string description: The uri to access the secret that the username is stored in. passwordKeyVaultSecretUri: type: string description: The uri to access the secret that the password is stored in. ImageInfoPatchProperties: description: Image configurations of session host in a HostPool. type: object properties: type: enum: - Marketplace - Custom x-ms-enum: name: type modelAsString: true values: - value: Marketplace description: Using default marketplace images offered by Azure Marketplace. - value: Custom description: Using a custom image. type: string description: The type of image session hosts use in the hostpool. x-nullable: false marketplaceInfo: $ref: '#/definitions/MarketplaceInfoPatchProperties' description: The values to uniquely identify a marketplace image. Only one should be populated based on the image type. customInfo: $ref: '#/definitions/CustomInfoPatchProperties' description: The values to uniquely identify a custom image. Only one should be populated based on the image type. DiskInfoPatchProperties: description: Disk information. type: object properties: type: type: string enum: - Standard_LRS - Premium_LRS - StandardSSD_LRS x-ms-enum: name: VirtualMachineDiskType modelAsString: true values: - value: Standard_LRS description: Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access. - value: Premium_LRS description: Premium SSD locally redundant storage. Best for production and performance sensitive workloads. - value: StandardSSD_LRS description: Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test. description: The disk type used by virtual machine in hostpool session host. CustomInfoProperties: description: Custom image information. type: object required: - resourceId properties: resourceId: type: string format: arm-id description: The resource id of the custom image. SessionHostConfigurationPatchProperties: description: Session host configurations of HostPool. type: object properties: friendlyName: type: string description: Friendly name to describe this version of the SessionHostConfiguration. maxLength: 260 vmTags: type: object additionalProperties: type: string description: Hashtable that lists key/value pair tags to apply to the VMs vmLocation: type: string description: The Location for the session host to be created in vmResourceGroup: type: string description: The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided. vmNamePrefix: type: string description: The prefix that should be associated with session host names maxLength: 11 availabilityZones: type: array items: type: integer format: int32 description: Value for availability zones to be used by the session host. Should be from [1,2,3]. networkInfo: $ref: '#/definitions/NetworkInfoProperties' description: Network information. vmSizeId: type: string description: The id of the size of a virtual machine connected to a hostpool. diskInfo: $ref: '#/definitions/DiskInfoPatchProperties' description: Disk information. customConfigurationScriptUrl: type: string description: The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning. maxLength: 260 imageInfo: $ref: '#/definitions/ImageInfoPatchProperties' description: Image configurations of HostPool. domainInfo: $ref: '#/definitions/DomainInfoPatchProperties' description: Domain configurations of session hosts. securityInfo: $ref: '#/definitions/SecurityInfoPatchProperties' description: Security information. vmAdminCredentials: $ref: '#/definitions/KeyVaultCredentialsPatchProperties' description: Local Admin credentials for session hosts. bootDiagnosticsInfo: $ref: '#/definitions/BootDiagnosticsInfoPatchProperties' description: Boot Diagnostics information. KeyVaultCredentialsProperties: description: Credentials kept in the keyvault. type: object required: - usernameKeyVaultSecretUri - passwordKeyVaultSecretUri properties: usernameKeyVaultSecretUri: type: string description: The uri to access the secret that the username is stored in. passwordKeyVaultSecretUri: type: string description: The uri to access the secret that the password is stored in. SessionHostConfigurationProperties: description: Session host configurations of HostPool. type: object required: - vmNamePrefix - networkInfo - vmSizeId - diskInfo - imageInfo - domainInfo - vmAdminCredentials properties: version: format: date-time type: string description: The timestamp of the last update. readOnly: true friendlyName: type: string description: Friendly name to describe this version of the SessionHostConfiguration. maxLength: 260 provisioningState: description: Provisioning state of the Session Host Configuration. enum: - Succeeded - Failed - Canceled - Provisioning type: string readOnly: true x-ms-enum: name: ProvisioningStateSHC modelAsString: true vmTags: type: object additionalProperties: type: string description: Hashtable that lists key/value pair tags to apply to the VMs vmLocation: type: string description: The Location for the session host to be created in. It will default to the location of the hostpool if not provided. vmResourceGroup: type: string description: The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided. vmNamePrefix: type: string description: The prefix that should be associated with session host names maxLength: 11 availabilityZones: type: array items: type: integer format: int32 description: Value for availability zones to be used by the session host. Should be from [1,2,3]. networkInfo: $ref: '#/definitions/NetworkInfoProperties' description: Network information. vmSizeId: type: string description: The id of the size of a virtual machine connected to a hostpool. diskInfo: $ref: '#/definitions/DiskInfoProperties' description: Disk information. customConfigurationScriptUrl: type: string description: The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning. imageInfo: $ref: '#/definitions/ImageInfoProperties' description: Image configurations of HostPool. domainInfo: $ref: '#/definitions/DomainInfoProperties' description: Domain configurations of session hosts. securityInfo: $ref: '#/definitions/SecurityInfoProperties' description: Security information. vmAdminCredentials: $ref: '#/definitions/KeyVaultCredentialsProperties' description: Local Admin credentials for session hosts. bootDiagnosticsInfo: $ref: '#/definitions/BootDiagnosticsInfoProperties' description: Boot Diagnostics information. MarketplaceInfoPatchProperties: description: Marketplace image information. type: object properties: offer: type: string description: The offer of the image. publisher: type: string description: The publisher of the image. sku: type: string description: The sku of the image. exactVersion: type: string description: The exact version of the image. MarketplaceInfoProperties: description: Marketplace image information. type: object required: - offer - publisher - sku - exactVersion properties: offer: type: string description: The offer of the image. publisher: type: string description: The publisher of the image. sku: type: string description: The sku of the image. exactVersion: type: string description: The exact version of the image. ImageInfoProperties: description: Image configurations of session host in a HostPool. type: object required: - type properties: type: enum: - Marketplace - Custom x-ms-enum: name: type modelAsString: true values: - value: Marketplace description: Using default marketplace images offered by Azure Marketplace. - value: Custom description: Using a custom image. type: string description: The type of image session hosts use in the hostpool. x-nullable: false marketplaceInfo: $ref: '#/definitions/MarketplaceInfoProperties' description: The values to uniquely identify a marketplace image. Only one should be populated based on the image type. customInfo: $ref: '#/definitions/CustomInfoProperties' description: The values to uniquely identify a custom image. Only one should be populated based on the image type. SessionHostConfigurationList: type: object title: SessionHostConfigurationList description: List of SessionHostConfiguration definitions. properties: value: type: array description: List of SessionHostConfiguration definitions. items: $ref: '#/definitions/SessionHostConfiguration' nextLink: type: string readOnly: true description: Link to the next page of results. DomainInfoProperties: description: Domain configurations of session hosts. type: object required: - joinType properties: joinType: enum: - ActiveDirectory - AzureActiveDirectory x-ms-enum: name: DomainJoinType modelAsString: true values: - value: ActiveDirectory description: Using microsoft active directory. - value: AzureActiveDirectory description: Using microsoft azure active directory. type: string description: The type of domain join done by the virtual machine. x-nullable: false activeDirectoryInfo: $ref: '#/definitions/ActiveDirectoryInfoProperties' description: Active directory info. Only one should be populated based on the join type. azureActiveDirectoryInfo: $ref: '#/definitions/AzureActiveDirectoryInfoProperties' description: Azure active directory info. Only one should be populated based on the join type. SessionHostConfigurationPatch: type: object description: Represents a SessionHostConfigurationPatch definition. properties: properties: description: Detailed properties for SessionHostConfigurationPatch x-ms-client-flatten: true $ref: '#/definitions/SessionHostConfigurationPatchProperties' NetworkInfoProperties: description: Network information. type: object required: - subnetId properties: subnetId: type: string description: The resource ID of the subnet. securityGroupId: type: string description: The resource ID of the security group. Any allowable/open ports should be specified in the NSG. ActiveDirectoryInfoPatchProperties: description: Active directory info. Only one should be populated based on the join type. type: object properties: domainCredentials: $ref: '#/definitions/KeyVaultCredentialsPatchProperties' description: Credentials needed to create the virtual machine. BootDiagnosticsInfoProperties: type: object properties: enabled: type: boolean description: Whether boot diagnostics should be enabled on the Virtual Machine. storageUri: type: string description: Uri of the storage account to use for placing the console output and screenshot.

If storageUri is not specified while enabling boot diagnostics, managed storage will be used. description: Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

You can easily view the output of your console log.

Azure also enables you to see a screenshot of the VM from the hypervisor. AzureActiveDirectoryInfoProperties: description: Azure Active directory info. Only one should be populated based on the join type. type: object required: - mdmProviderGuid properties: mdmProviderGuid: type: string description: The mdm guid. CloudError: description: Cloud error object. type: object x-ms-external: true properties: error: $ref: '#/definitions/CloudErrorProperties' CustomInfoPatchProperties: description: Custom image information. type: object properties: resourceId: type: string format: arm-id description: The resource id of the custom image. parameters: HostPoolNameParameter: name: hostPoolName in: path required: true type: string description: The name of the host pool within the specified resource group maxLength: 64 minLength: 3 x-ms-parameter-location: method x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'