Source code for azure.mgmt.desktopvirtualization.models._models_py3

# coding=utf-8
# pylint: disable=too-many-lines
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
# --------------------------------------------------------------------------

import datetime
from typing import Any, Dict, List, Literal, Optional, TYPE_CHECKING, Union

from .. import _serialization

if TYPE_CHECKING:
    # pylint: disable=unused-import,ungrouped-imports
    from .. import models as _models


[docs] class AgentUpdatePatchProperties(_serialization.Model): """The session host configuration for updating agent, monitoring agent, and stack component. :ivar type: The type of maintenance for session host components. Known values are: "Default" and "Scheduled". :vartype type: str or ~azure.mgmt.desktopvirtualization.models.SessionHostComponentUpdateType :ivar use_session_host_local_time: Whether to use localTime of the virtual machine. :vartype use_session_host_local_time: bool :ivar maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. :vartype maintenance_window_time_zone: str :ivar maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. :vartype maintenance_windows: list[~azure.mgmt.desktopvirtualization.models.MaintenanceWindowPatchProperties] """ _attribute_map = { "type": {"key": "type", "type": "str"}, "use_session_host_local_time": {"key": "useSessionHostLocalTime", "type": "bool"}, "maintenance_window_time_zone": {"key": "maintenanceWindowTimeZone", "type": "str"}, "maintenance_windows": {"key": "maintenanceWindows", "type": "[MaintenanceWindowPatchProperties]"}, } def __init__( self, *, type: Optional[Union[str, "_models.SessionHostComponentUpdateType"]] = None, use_session_host_local_time: Optional[bool] = None, maintenance_window_time_zone: Optional[str] = None, maintenance_windows: Optional[List["_models.MaintenanceWindowPatchProperties"]] = None, **kwargs: Any ) -> None: """ :keyword type: The type of maintenance for session host components. Known values are: "Default" and "Scheduled". :paramtype type: str or ~azure.mgmt.desktopvirtualization.models.SessionHostComponentUpdateType :keyword use_session_host_local_time: Whether to use localTime of the virtual machine. :paramtype use_session_host_local_time: bool :keyword maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. :paramtype maintenance_window_time_zone: str :keyword maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. :paramtype maintenance_windows: list[~azure.mgmt.desktopvirtualization.models.MaintenanceWindowPatchProperties] """ super().__init__(**kwargs) self.type = type self.use_session_host_local_time = use_session_host_local_time self.maintenance_window_time_zone = maintenance_window_time_zone self.maintenance_windows = maintenance_windows
[docs] class AgentUpdateProperties(_serialization.Model): """The session host configuration for updating agent, monitoring agent, and stack component. :ivar type: The type of maintenance for session host components. Known values are: "Default" and "Scheduled". :vartype type: str or ~azure.mgmt.desktopvirtualization.models.SessionHostComponentUpdateType :ivar use_session_host_local_time: Whether to use localTime of the virtual machine. :vartype use_session_host_local_time: bool :ivar maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. :vartype maintenance_window_time_zone: str :ivar maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. :vartype maintenance_windows: list[~azure.mgmt.desktopvirtualization.models.MaintenanceWindowProperties] """ _attribute_map = { "type": {"key": "type", "type": "str"}, "use_session_host_local_time": {"key": "useSessionHostLocalTime", "type": "bool"}, "maintenance_window_time_zone": {"key": "maintenanceWindowTimeZone", "type": "str"}, "maintenance_windows": {"key": "maintenanceWindows", "type": "[MaintenanceWindowProperties]"}, } def __init__( self, *, type: Optional[Union[str, "_models.SessionHostComponentUpdateType"]] = None, use_session_host_local_time: Optional[bool] = None, maintenance_window_time_zone: Optional[str] = None, maintenance_windows: Optional[List["_models.MaintenanceWindowProperties"]] = None, **kwargs: Any ) -> None: """ :keyword type: The type of maintenance for session host components. Known values are: "Default" and "Scheduled". :paramtype type: str or ~azure.mgmt.desktopvirtualization.models.SessionHostComponentUpdateType :keyword use_session_host_local_time: Whether to use localTime of the virtual machine. :paramtype use_session_host_local_time: bool :keyword maintenance_window_time_zone: Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true. :paramtype maintenance_window_time_zone: str :keyword maintenance_windows: List of maintenance windows. Maintenance windows are 2 hours long. :paramtype maintenance_windows: list[~azure.mgmt.desktopvirtualization.models.MaintenanceWindowProperties] """ super().__init__(**kwargs) self.type = type self.use_session_host_local_time = use_session_host_local_time self.maintenance_window_time_zone = maintenance_window_time_zone self.maintenance_windows = maintenance_windows
[docs] class Resource(_serialization.Model): """Common fields that are returned in the response for all Azure Resource Manager resources. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.id = None self.name = None self.type = None self.system_data = None
[docs] class TrackedResource(Resource): """The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, } def __init__(self, *, location: str, tags: Optional[Dict[str, str]] = None, **kwargs: Any) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str """ super().__init__(**kwargs) self.tags = tags self.location = location
[docs] class AppAttachPackage(TrackedResource): """Schema for App Attach Package properties. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar properties: Detailed properties for App Attach Package. Required. :vartype properties: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageProperties """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "properties": {"required": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "properties": {"key": "properties", "type": "AppAttachPackageProperties"}, } def __init__( self, *, location: str, properties: "_models.AppAttachPackageProperties", tags: Optional[Dict[str, str]] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword properties: Detailed properties for App Attach Package. Required. :paramtype properties: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageProperties """ super().__init__(tags=tags, location=location, **kwargs) self.properties = properties
[docs] class AppAttachPackageInfoProperties(_serialization.Model): # pylint: disable=too-many-instance-attributes """Schema for Import Package Information properties. :ivar package_alias: Alias of App Attach Package. Assigned at import time. :vartype package_alias: str :ivar image_path: VHD/CIM image path on Network Share. :vartype image_path: str :ivar package_name: Package Name from appxmanifest.xml. :vartype package_name: str :ivar package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :vartype package_family_name: str :ivar package_full_name: Package Full Name from appxmanifest.xml. :vartype package_full_name: str :ivar display_name: User friendly Name to be displayed in the portal. :vartype display_name: str :ivar package_relative_path: Relative Path to the package inside the image. :vartype package_relative_path: str :ivar is_regular_registration: Specifies how to register Package in feed. :vartype is_regular_registration: bool :ivar is_active: Make this version of the package the active one across the hostpool. :vartype is_active: bool :ivar package_dependencies: List of package dependencies. :vartype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :ivar version: Package version found in the appxmanifest.xml. :vartype version: str :ivar last_updated: Date Package was last updated, found in the appxmanifest.xml. :vartype last_updated: ~datetime.datetime :ivar package_applications: List of package applications. :vartype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] :ivar certificate_name: Certificate name found in the appxmanifest.xml. :vartype certificate_name: str :ivar certificate_expiry: Date certificate expires, found in the appxmanifest.xml. :vartype certificate_expiry: ~datetime.datetime :ivar is_package_timestamped: Is package timestamped so it can ignore the certificate expiry date. Known values are: "Timestamped" and "NotTimestamped". :vartype is_package_timestamped: str or ~azure.mgmt.desktopvirtualization.models.PackageTimestamped """ _attribute_map = { "package_alias": {"key": "packageAlias", "type": "str"}, "image_path": {"key": "imagePath", "type": "str"}, "package_name": {"key": "packageName", "type": "str"}, "package_family_name": {"key": "packageFamilyName", "type": "str"}, "package_full_name": {"key": "packageFullName", "type": "str"}, "display_name": {"key": "displayName", "type": "str"}, "package_relative_path": {"key": "packageRelativePath", "type": "str"}, "is_regular_registration": {"key": "isRegularRegistration", "type": "bool"}, "is_active": {"key": "isActive", "type": "bool"}, "package_dependencies": {"key": "packageDependencies", "type": "[MsixPackageDependencies]"}, "version": {"key": "version", "type": "str"}, "last_updated": {"key": "lastUpdated", "type": "iso-8601"}, "package_applications": {"key": "packageApplications", "type": "[MsixPackageApplications]"}, "certificate_name": {"key": "certificateName", "type": "str"}, "certificate_expiry": {"key": "certificateExpiry", "type": "iso-8601"}, "is_package_timestamped": {"key": "isPackageTimestamped", "type": "str"}, } def __init__( self, *, package_alias: Optional[str] = None, image_path: Optional[str] = None, package_name: Optional[str] = None, package_family_name: Optional[str] = None, package_full_name: Optional[str] = None, display_name: Optional[str] = None, package_relative_path: Optional[str] = None, is_regular_registration: Optional[bool] = None, is_active: Optional[bool] = None, package_dependencies: Optional[List["_models.MsixPackageDependencies"]] = None, version: Optional[str] = None, last_updated: Optional[datetime.datetime] = None, package_applications: Optional[List["_models.MsixPackageApplications"]] = None, certificate_name: Optional[str] = None, certificate_expiry: Optional[datetime.datetime] = None, is_package_timestamped: Optional[Union[str, "_models.PackageTimestamped"]] = None, **kwargs: Any ) -> None: """ :keyword package_alias: Alias of App Attach Package. Assigned at import time. :paramtype package_alias: str :keyword image_path: VHD/CIM image path on Network Share. :paramtype image_path: str :keyword package_name: Package Name from appxmanifest.xml. :paramtype package_name: str :keyword package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :paramtype package_family_name: str :keyword package_full_name: Package Full Name from appxmanifest.xml. :paramtype package_full_name: str :keyword display_name: User friendly Name to be displayed in the portal. :paramtype display_name: str :keyword package_relative_path: Relative Path to the package inside the image. :paramtype package_relative_path: str :keyword is_regular_registration: Specifies how to register Package in feed. :paramtype is_regular_registration: bool :keyword is_active: Make this version of the package the active one across the hostpool. :paramtype is_active: bool :keyword package_dependencies: List of package dependencies. :paramtype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :keyword version: Package version found in the appxmanifest.xml. :paramtype version: str :keyword last_updated: Date Package was last updated, found in the appxmanifest.xml. :paramtype last_updated: ~datetime.datetime :keyword package_applications: List of package applications. :paramtype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] :keyword certificate_name: Certificate name found in the appxmanifest.xml. :paramtype certificate_name: str :keyword certificate_expiry: Date certificate expires, found in the appxmanifest.xml. :paramtype certificate_expiry: ~datetime.datetime :keyword is_package_timestamped: Is package timestamped so it can ignore the certificate expiry date. Known values are: "Timestamped" and "NotTimestamped". :paramtype is_package_timestamped: str or ~azure.mgmt.desktopvirtualization.models.PackageTimestamped """ super().__init__(**kwargs) self.package_alias = package_alias self.image_path = image_path self.package_name = package_name self.package_family_name = package_family_name self.package_full_name = package_full_name self.display_name = display_name self.package_relative_path = package_relative_path self.is_regular_registration = is_regular_registration self.is_active = is_active self.package_dependencies = package_dependencies self.version = version self.last_updated = last_updated self.package_applications = package_applications self.certificate_name = certificate_name self.certificate_expiry = certificate_expiry self.is_package_timestamped = is_package_timestamped
[docs] class AppAttachPackageList(_serialization.Model): """List of App Attach Package definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of App Attach Package definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.AppAttachPackage] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[AppAttachPackage]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.AppAttachPackage"]] = None, **kwargs: Any) -> None: """ :keyword value: List of App Attach Package definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.AppAttachPackage] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class AppAttachPackagePatch(Resource): """Schema for updatable App Attach Package properties. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar properties: Detailed properties for App Attach Package. :vartype properties: ~azure.mgmt.desktopvirtualization.models.AppAttachPackagePatchProperties """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "properties": {"key": "properties", "type": "AppAttachPackagePatchProperties"}, } def __init__( self, *, properties: Optional["_models.AppAttachPackagePatchProperties"] = None, **kwargs: Any ) -> None: """ :keyword properties: Detailed properties for App Attach Package. :paramtype properties: ~azure.mgmt.desktopvirtualization.models.AppAttachPackagePatchProperties """ super().__init__(**kwargs) self.properties = properties
[docs] class AppAttachPackagePatchProperties(_serialization.Model): """Schema for patchable fields on an App Attach Package. :ivar image: Detailed properties for App Attach Package. :vartype image: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageInfoProperties :ivar host_pool_references: List of Hostpool resource Ids. :vartype host_pool_references: list[str] :ivar key_vault_url: URL path to certificate name located in keyVault. :vartype key_vault_url: str :ivar fail_health_check_on_staging_failure: Parameter indicating how the health check should behave if this package fails staging. Known values are: "Unhealthy", "NeedsAssistance", and "DoNotFail". :vartype fail_health_check_on_staging_failure: str or ~azure.mgmt.desktopvirtualization.models.FailHealthCheckOnStagingFailure """ _attribute_map = { "image": {"key": "image", "type": "AppAttachPackageInfoProperties"}, "host_pool_references": {"key": "hostPoolReferences", "type": "[str]"}, "key_vault_url": {"key": "keyVaultURL", "type": "str"}, "fail_health_check_on_staging_failure": {"key": "failHealthCheckOnStagingFailure", "type": "str"}, } def __init__( self, *, image: Optional["_models.AppAttachPackageInfoProperties"] = None, host_pool_references: Optional[List[str]] = None, key_vault_url: Optional[str] = None, fail_health_check_on_staging_failure: Optional[Union[str, "_models.FailHealthCheckOnStagingFailure"]] = None, **kwargs: Any ) -> None: """ :keyword image: Detailed properties for App Attach Package. :paramtype image: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageInfoProperties :keyword host_pool_references: List of Hostpool resource Ids. :paramtype host_pool_references: list[str] :keyword key_vault_url: URL path to certificate name located in keyVault. :paramtype key_vault_url: str :keyword fail_health_check_on_staging_failure: Parameter indicating how the health check should behave if this package fails staging. Known values are: "Unhealthy", "NeedsAssistance", and "DoNotFail". :paramtype fail_health_check_on_staging_failure: str or ~azure.mgmt.desktopvirtualization.models.FailHealthCheckOnStagingFailure """ super().__init__(**kwargs) self.image = image self.host_pool_references = host_pool_references self.key_vault_url = key_vault_url self.fail_health_check_on_staging_failure = fail_health_check_on_staging_failure
[docs] class AppAttachPackageProperties(_serialization.Model): """Schema for App Attach Package properties. Variables are only populated by the server, and will be ignored when sending a request. :ivar provisioning_state: The provisioning state of the App Attach Package. Known values are: "Succeeded", "Provisioning", "Failed", and "Canceled". :vartype provisioning_state: str or ~azure.mgmt.desktopvirtualization.models.ProvisioningState :ivar image: Detailed properties for App Attach Package. :vartype image: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageInfoProperties :ivar host_pool_references: List of Hostpool resource Ids. :vartype host_pool_references: list[str] :ivar key_vault_url: URL path to certificate name located in keyVault. :vartype key_vault_url: str :ivar fail_health_check_on_staging_failure: Parameter indicating how the health check should behave if this package fails staging. Known values are: "Unhealthy", "NeedsAssistance", and "DoNotFail". :vartype fail_health_check_on_staging_failure: str or ~azure.mgmt.desktopvirtualization.models.FailHealthCheckOnStagingFailure """ _validation = { "provisioning_state": {"readonly": True}, } _attribute_map = { "provisioning_state": {"key": "provisioningState", "type": "str"}, "image": {"key": "image", "type": "AppAttachPackageInfoProperties"}, "host_pool_references": {"key": "hostPoolReferences", "type": "[str]"}, "key_vault_url": {"key": "keyVaultURL", "type": "str"}, "fail_health_check_on_staging_failure": {"key": "failHealthCheckOnStagingFailure", "type": "str"}, } def __init__( self, *, image: Optional["_models.AppAttachPackageInfoProperties"] = None, host_pool_references: Optional[List[str]] = None, key_vault_url: Optional[str] = None, fail_health_check_on_staging_failure: Optional[Union[str, "_models.FailHealthCheckOnStagingFailure"]] = None, **kwargs: Any ) -> None: """ :keyword image: Detailed properties for App Attach Package. :paramtype image: ~azure.mgmt.desktopvirtualization.models.AppAttachPackageInfoProperties :keyword host_pool_references: List of Hostpool resource Ids. :paramtype host_pool_references: list[str] :keyword key_vault_url: URL path to certificate name located in keyVault. :paramtype key_vault_url: str :keyword fail_health_check_on_staging_failure: Parameter indicating how the health check should behave if this package fails staging. Known values are: "Unhealthy", "NeedsAssistance", and "DoNotFail". :paramtype fail_health_check_on_staging_failure: str or ~azure.mgmt.desktopvirtualization.models.FailHealthCheckOnStagingFailure """ super().__init__(**kwargs) self.provisioning_state = None self.image = image self.host_pool_references = host_pool_references self.key_vault_url = key_vault_url self.fail_health_check_on_staging_failure = fail_health_check_on_staging_failure
[docs] class Application(Resource): # pylint: disable=too-many-instance-attributes """Schema for Application properties. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar object_id: ObjectId of Application. (internal use). :vartype object_id: str :ivar description: Description of Application. :vartype description: str :ivar friendly_name: Friendly name of Application. :vartype friendly_name: str :ivar file_path: Specifies a path for the executable file for the application. :vartype file_path: str :ivar msix_package_family_name: Specifies the package family name for MSIX applications. :vartype msix_package_family_name: str :ivar msix_package_application_id: Specifies the package application Id for MSIX applications. :vartype msix_package_application_id: str :ivar application_type: Resource Type of Application. Known values are: "InBuilt" and "MsixApplication". :vartype application_type: str or ~azure.mgmt.desktopvirtualization.models.RemoteApplicationType :ivar command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Required. Known values are: "DoNotAllow", "Allow", and "Require". :vartype command_line_setting: str or ~azure.mgmt.desktopvirtualization.models.CommandLineSetting :ivar command_line_arguments: Command Line Arguments for Application. :vartype command_line_arguments: str :ivar show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. :vartype show_in_portal: bool :ivar icon_path: Path to icon. :vartype icon_path: str :ivar icon_index: Index of the icon. :vartype icon_index: int :ivar icon_hash: Hash of the icon. :vartype icon_hash: str :ivar icon_content: the icon a 64 bit string as a byte array. :vartype icon_content: bytes """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "object_id": {"readonly": True}, "command_line_setting": {"required": True}, "icon_hash": {"readonly": True}, "icon_content": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "object_id": {"key": "properties.objectId", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "file_path": {"key": "properties.filePath", "type": "str"}, "msix_package_family_name": {"key": "properties.msixPackageFamilyName", "type": "str"}, "msix_package_application_id": {"key": "properties.msixPackageApplicationId", "type": "str"}, "application_type": {"key": "properties.applicationType", "type": "str"}, "command_line_setting": {"key": "properties.commandLineSetting", "type": "str"}, "command_line_arguments": {"key": "properties.commandLineArguments", "type": "str"}, "show_in_portal": {"key": "properties.showInPortal", "type": "bool"}, "icon_path": {"key": "properties.iconPath", "type": "str"}, "icon_index": {"key": "properties.iconIndex", "type": "int"}, "icon_hash": {"key": "properties.iconHash", "type": "str"}, "icon_content": {"key": "properties.iconContent", "type": "bytearray"}, } def __init__( self, *, command_line_setting: Union[str, "_models.CommandLineSetting"], description: Optional[str] = None, friendly_name: Optional[str] = None, file_path: Optional[str] = None, msix_package_family_name: Optional[str] = None, msix_package_application_id: Optional[str] = None, application_type: Optional[Union[str, "_models.RemoteApplicationType"]] = None, command_line_arguments: Optional[str] = None, show_in_portal: Optional[bool] = None, icon_path: Optional[str] = None, icon_index: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword description: Description of Application. :paramtype description: str :keyword friendly_name: Friendly name of Application. :paramtype friendly_name: str :keyword file_path: Specifies a path for the executable file for the application. :paramtype file_path: str :keyword msix_package_family_name: Specifies the package family name for MSIX applications. :paramtype msix_package_family_name: str :keyword msix_package_application_id: Specifies the package application Id for MSIX applications. :paramtype msix_package_application_id: str :keyword application_type: Resource Type of Application. Known values are: "InBuilt" and "MsixApplication". :paramtype application_type: str or ~azure.mgmt.desktopvirtualization.models.RemoteApplicationType :keyword command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Required. Known values are: "DoNotAllow", "Allow", and "Require". :paramtype command_line_setting: str or ~azure.mgmt.desktopvirtualization.models.CommandLineSetting :keyword command_line_arguments: Command Line Arguments for Application. :paramtype command_line_arguments: str :keyword show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. :paramtype show_in_portal: bool :keyword icon_path: Path to icon. :paramtype icon_path: str :keyword icon_index: Index of the icon. :paramtype icon_index: int """ super().__init__(**kwargs) self.object_id = None self.description = description self.friendly_name = friendly_name self.file_path = file_path self.msix_package_family_name = msix_package_family_name self.msix_package_application_id = msix_package_application_id self.application_type = application_type self.command_line_setting = command_line_setting self.command_line_arguments = command_line_arguments self.show_in_portal = show_in_portal self.icon_path = icon_path self.icon_index = icon_index self.icon_hash = None self.icon_content = None
[docs] class ResourceModelWithAllowedPropertySet(TrackedResource): # pylint: disable=too-many-instance-attributes """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. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :vartype managed_by: str :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :vartype kind: str :ivar etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. :vartype etag: str :ivar identity: :vartype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :ivar sku: :vartype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :ivar plan: :vartype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "kind": {"pattern": r"^[-\w\._,\(\)]+$"}, "etag": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "managed_by": {"key": "managedBy", "type": "str"}, "kind": {"key": "kind", "type": "str"}, "etag": {"key": "etag", "type": "str"}, "identity": {"key": "identity", "type": "ResourceModelWithAllowedPropertySetIdentity"}, "sku": {"key": "sku", "type": "ResourceModelWithAllowedPropertySetSku"}, "plan": {"key": "plan", "type": "ResourceModelWithAllowedPropertySetPlan"}, } def __init__( self, *, location: str, tags: Optional[Dict[str, str]] = None, managed_by: Optional[str] = None, kind: Optional[str] = None, identity: Optional["_models.ResourceModelWithAllowedPropertySetIdentity"] = None, sku: Optional["_models.ResourceModelWithAllowedPropertySetSku"] = None, plan: Optional["_models.ResourceModelWithAllowedPropertySetPlan"] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :paramtype managed_by: str :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :paramtype kind: str :keyword identity: :paramtype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :keyword sku: :paramtype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :keyword plan: :paramtype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan """ super().__init__(tags=tags, location=location, **kwargs) self.managed_by = managed_by self.kind = kind self.etag = None self.identity = identity self.sku = sku self.plan = plan
[docs] class ApplicationGroup(ResourceModelWithAllowedPropertySet): # pylint: disable=too-many-instance-attributes """Represents a ApplicationGroup definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :vartype managed_by: str :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :vartype kind: str :ivar etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. :vartype etag: str :ivar identity: :vartype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :ivar sku: :vartype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :ivar plan: :vartype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :ivar object_id: ObjectId of ApplicationGroup. (internal use). :vartype object_id: str :ivar description: Description of ApplicationGroup. :vartype description: str :ivar friendly_name: Friendly name of ApplicationGroup. :vartype friendly_name: str :ivar host_pool_arm_path: HostPool arm path of ApplicationGroup. Required. :vartype host_pool_arm_path: str :ivar workspace_arm_path: Workspace arm path of ApplicationGroup. :vartype workspace_arm_path: str :ivar application_group_type: Resource Type of ApplicationGroup. Required. Known values are: "RemoteApp" and "Desktop". :vartype application_group_type: str or ~azure.mgmt.desktopvirtualization.models.ApplicationGroupType :ivar cloud_pc_resource: Is cloud pc resource. :vartype cloud_pc_resource: bool :ivar show_in_feed: Boolean representing whether the applicationGroup is show in the feed. :vartype show_in_feed: bool """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "kind": {"pattern": r"^[-\w\._,\(\)]+$"}, "etag": {"readonly": True}, "object_id": {"readonly": True}, "host_pool_arm_path": {"required": True}, "workspace_arm_path": {"readonly": True}, "application_group_type": {"required": True}, "cloud_pc_resource": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "managed_by": {"key": "managedBy", "type": "str"}, "kind": {"key": "kind", "type": "str"}, "etag": {"key": "etag", "type": "str"}, "identity": {"key": "identity", "type": "ResourceModelWithAllowedPropertySetIdentity"}, "sku": {"key": "sku", "type": "ResourceModelWithAllowedPropertySetSku"}, "plan": {"key": "plan", "type": "ResourceModelWithAllowedPropertySetPlan"}, "object_id": {"key": "properties.objectId", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "host_pool_arm_path": {"key": "properties.hostPoolArmPath", "type": "str"}, "workspace_arm_path": {"key": "properties.workspaceArmPath", "type": "str"}, "application_group_type": {"key": "properties.applicationGroupType", "type": "str"}, "cloud_pc_resource": {"key": "properties.cloudPcResource", "type": "bool"}, "show_in_feed": {"key": "properties.showInFeed", "type": "bool"}, } def __init__( self, *, location: str, host_pool_arm_path: str, application_group_type: Union[str, "_models.ApplicationGroupType"], tags: Optional[Dict[str, str]] = None, managed_by: Optional[str] = None, kind: Optional[str] = None, identity: Optional["_models.ResourceModelWithAllowedPropertySetIdentity"] = None, sku: Optional["_models.ResourceModelWithAllowedPropertySetSku"] = None, plan: Optional["_models.ResourceModelWithAllowedPropertySetPlan"] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, show_in_feed: Optional[bool] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :paramtype managed_by: str :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :paramtype kind: str :keyword identity: :paramtype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :keyword sku: :paramtype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :keyword plan: :paramtype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :keyword description: Description of ApplicationGroup. :paramtype description: str :keyword friendly_name: Friendly name of ApplicationGroup. :paramtype friendly_name: str :keyword host_pool_arm_path: HostPool arm path of ApplicationGroup. Required. :paramtype host_pool_arm_path: str :keyword application_group_type: Resource Type of ApplicationGroup. Required. Known values are: "RemoteApp" and "Desktop". :paramtype application_group_type: str or ~azure.mgmt.desktopvirtualization.models.ApplicationGroupType :keyword show_in_feed: Boolean representing whether the applicationGroup is show in the feed. :paramtype show_in_feed: bool """ super().__init__( tags=tags, location=location, managed_by=managed_by, kind=kind, identity=identity, sku=sku, plan=plan, **kwargs ) self.object_id = None self.description = description self.friendly_name = friendly_name self.host_pool_arm_path = host_pool_arm_path self.workspace_arm_path = None self.application_group_type = application_group_type self.cloud_pc_resource = None self.show_in_feed = show_in_feed
[docs] class ApplicationGroupList(_serialization.Model): """List of ApplicationGroup definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of ApplicationGroup definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ApplicationGroup] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ApplicationGroup]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ApplicationGroup"]] = None, **kwargs: Any) -> None: """ :keyword value: List of ApplicationGroup definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ApplicationGroup] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ApplicationGroupPatch(Resource): """ApplicationGroup properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar description: Description of ApplicationGroup. :vartype description: str :ivar friendly_name: Friendly name of ApplicationGroup. :vartype friendly_name: str :ivar show_in_feed: Boolean representing whether the applicationGroup is show in the feed. :vartype show_in_feed: bool """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "show_in_feed": {"key": "properties.showInFeed", "type": "bool"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, show_in_feed: Optional[bool] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword description: Description of ApplicationGroup. :paramtype description: str :keyword friendly_name: Friendly name of ApplicationGroup. :paramtype friendly_name: str :keyword show_in_feed: Boolean representing whether the applicationGroup is show in the feed. :paramtype show_in_feed: bool """ super().__init__(**kwargs) self.tags = tags self.description = description self.friendly_name = friendly_name self.show_in_feed = show_in_feed
[docs] class ApplicationList(_serialization.Model): """List of Application definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of Application definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.Application] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[Application]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.Application"]] = None, **kwargs: Any) -> None: """ :keyword value: List of Application definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.Application] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ApplicationPatch(_serialization.Model): # pylint: disable=too-many-instance-attributes """Application properties that can be patched. :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar description: Description of Application. :vartype description: str :ivar friendly_name: Friendly name of Application. :vartype friendly_name: str :ivar file_path: Specifies a path for the executable file for the application. :vartype file_path: str :ivar command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Known values are: "DoNotAllow", "Allow", and "Require". :vartype command_line_setting: str or ~azure.mgmt.desktopvirtualization.models.CommandLineSetting :ivar command_line_arguments: Command Line Arguments for Application. :vartype command_line_arguments: str :ivar show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. :vartype show_in_portal: bool :ivar icon_path: Path to icon. :vartype icon_path: str :ivar icon_index: Index of the icon. :vartype icon_index: int :ivar msix_package_family_name: Specifies the package family name for MSIX applications. :vartype msix_package_family_name: str :ivar msix_package_application_id: Specifies the package application Id for MSIX applications. :vartype msix_package_application_id: str :ivar application_type: Resource Type of Application. Known values are: "InBuilt" and "MsixApplication". :vartype application_type: str or ~azure.mgmt.desktopvirtualization.models.RemoteApplicationType """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "file_path": {"key": "properties.filePath", "type": "str"}, "command_line_setting": {"key": "properties.commandLineSetting", "type": "str"}, "command_line_arguments": {"key": "properties.commandLineArguments", "type": "str"}, "show_in_portal": {"key": "properties.showInPortal", "type": "bool"}, "icon_path": {"key": "properties.iconPath", "type": "str"}, "icon_index": {"key": "properties.iconIndex", "type": "int"}, "msix_package_family_name": {"key": "properties.msixPackageFamilyName", "type": "str"}, "msix_package_application_id": {"key": "properties.msixPackageApplicationId", "type": "str"}, "application_type": {"key": "properties.applicationType", "type": "str"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, file_path: Optional[str] = None, command_line_setting: Optional[Union[str, "_models.CommandLineSetting"]] = None, command_line_arguments: Optional[str] = None, show_in_portal: Optional[bool] = None, icon_path: Optional[str] = None, icon_index: Optional[int] = None, msix_package_family_name: Optional[str] = None, msix_package_application_id: Optional[str] = None, application_type: Optional[Union[str, "_models.RemoteApplicationType"]] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword description: Description of Application. :paramtype description: str :keyword friendly_name: Friendly name of Application. :paramtype friendly_name: str :keyword file_path: Specifies a path for the executable file for the application. :paramtype file_path: str :keyword command_line_setting: Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Known values are: "DoNotAllow", "Allow", and "Require". :paramtype command_line_setting: str or ~azure.mgmt.desktopvirtualization.models.CommandLineSetting :keyword command_line_arguments: Command Line Arguments for Application. :paramtype command_line_arguments: str :keyword show_in_portal: Specifies whether to show the RemoteApp program in the RD Web Access server. :paramtype show_in_portal: bool :keyword icon_path: Path to icon. :paramtype icon_path: str :keyword icon_index: Index of the icon. :paramtype icon_index: int :keyword msix_package_family_name: Specifies the package family name for MSIX applications. :paramtype msix_package_family_name: str :keyword msix_package_application_id: Specifies the package application Id for MSIX applications. :paramtype msix_package_application_id: str :keyword application_type: Resource Type of Application. Known values are: "InBuilt" and "MsixApplication". :paramtype application_type: str or ~azure.mgmt.desktopvirtualization.models.RemoteApplicationType """ super().__init__(**kwargs) self.tags = tags self.description = description self.friendly_name = friendly_name self.file_path = file_path self.command_line_setting = command_line_setting self.command_line_arguments = command_line_arguments self.show_in_portal = show_in_portal self.icon_path = icon_path self.icon_index = icon_index self.msix_package_family_name = msix_package_family_name self.msix_package_application_id = msix_package_application_id self.application_type = application_type
[docs] class CloudErrorProperties(_serialization.Model): """Cloud error object properties. :ivar code: Error code. :vartype code: str :ivar message: Error message indicating why the operation failed. :vartype message: str """ _attribute_map = { "code": {"key": "code", "type": "str"}, "message": {"key": "message", "type": "str"}, } def __init__(self, *, code: Optional[str] = None, message: Optional[str] = None, **kwargs: Any) -> None: """ :keyword code: Error code. :paramtype code: str :keyword message: Error message indicating why the operation failed. :paramtype message: str """ super().__init__(**kwargs) self.code = code self.message = message
[docs] class Desktop(Resource): """Schema for Desktop properties. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar object_id: ObjectId of Desktop. (internal use). :vartype object_id: str :ivar description: Description of Desktop. :vartype description: str :ivar friendly_name: Friendly name of Desktop. :vartype friendly_name: str :ivar icon_hash: Hash of the icon. :vartype icon_hash: str :ivar icon_content: The icon a 64 bit string as a byte array. :vartype icon_content: bytes """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "object_id": {"readonly": True}, "icon_hash": {"readonly": True}, "icon_content": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "object_id": {"key": "properties.objectId", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "icon_hash": {"key": "properties.iconHash", "type": "str"}, "icon_content": {"key": "properties.iconContent", "type": "bytearray"}, } def __init__( self, *, description: Optional[str] = None, friendly_name: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword description: Description of Desktop. :paramtype description: str :keyword friendly_name: Friendly name of Desktop. :paramtype friendly_name: str """ super().__init__(**kwargs) self.object_id = None self.description = description self.friendly_name = friendly_name self.icon_hash = None self.icon_content = None
[docs] class DesktopList(_serialization.Model): """List of Desktop definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of Desktop definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.Desktop] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[Desktop]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.Desktop"]] = None, **kwargs: Any) -> None: """ :keyword value: List of Desktop definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.Desktop] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class DesktopPatch(_serialization.Model): """Desktop properties that can be patched. :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar description: Description of Desktop. :vartype description: str :ivar friendly_name: Friendly name of Desktop. :vartype friendly_name: str """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword description: Description of Desktop. :paramtype description: str :keyword friendly_name: Friendly name of Desktop. :paramtype friendly_name: str """ super().__init__(**kwargs) self.tags = tags self.description = description self.friendly_name = friendly_name
[docs] class ErrorAdditionalInfo(_serialization.Model): """The resource management error additional info. Variables are only populated by the server, and will be ignored when sending a request. :ivar type: The additional info type. :vartype type: str :ivar info: The additional info. :vartype info: JSON """ _validation = { "type": {"readonly": True}, "info": {"readonly": True}, } _attribute_map = { "type": {"key": "type", "type": "str"}, "info": {"key": "info", "type": "object"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.type = None self.info = None
[docs] class ErrorDetail(_serialization.Model): """The error detail. Variables are only populated by the server, and will be ignored when sending a request. :ivar code: The error code. :vartype code: str :ivar message: The error message. :vartype message: str :ivar target: The error target. :vartype target: str :ivar details: The error details. :vartype details: list[~azure.mgmt.desktopvirtualization.models.ErrorDetail] :ivar additional_info: The error additional info. :vartype additional_info: list[~azure.mgmt.desktopvirtualization.models.ErrorAdditionalInfo] """ _validation = { "code": {"readonly": True}, "message": {"readonly": True}, "target": {"readonly": True}, "details": {"readonly": True}, "additional_info": {"readonly": True}, } _attribute_map = { "code": {"key": "code", "type": "str"}, "message": {"key": "message", "type": "str"}, "target": {"key": "target", "type": "str"}, "details": {"key": "details", "type": "[ErrorDetail]"}, "additional_info": {"key": "additionalInfo", "type": "[ErrorAdditionalInfo]"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.code = None self.message = None self.target = None self.details = None self.additional_info = None
[docs] class ErrorResponse(_serialization.Model): """Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). :ivar error: The error object. :vartype error: ~azure.mgmt.desktopvirtualization.models.ErrorDetail """ _attribute_map = { "error": {"key": "error", "type": "ErrorDetail"}, } def __init__(self, *, error: Optional["_models.ErrorDetail"] = None, **kwargs: Any) -> None: """ :keyword error: The error object. :paramtype error: ~azure.mgmt.desktopvirtualization.models.ErrorDetail """ super().__init__(**kwargs) self.error = error
[docs] class ExpandMsixImage(Resource): # pylint: disable=too-many-instance-attributes """Represents the definition of contents retrieved after expanding the MSIX Image. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar package_alias: Alias of MSIX Package. :vartype package_alias: str :ivar image_path: VHD/CIM image path on Network Share. :vartype image_path: str :ivar package_name: Package Name from appxmanifest.xml. :vartype package_name: str :ivar package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :vartype package_family_name: str :ivar package_full_name: Package Full Name from appxmanifest.xml. :vartype package_full_name: str :ivar display_name: User friendly Name to be displayed in the portal. :vartype display_name: str :ivar package_relative_path: Relative Path to the package inside the image. :vartype package_relative_path: str :ivar is_regular_registration: Specifies how to register Package in feed. :vartype is_regular_registration: bool :ivar is_active: Make this version of the package the active one across the hostpool. :vartype is_active: bool :ivar package_dependencies: List of package dependencies. :vartype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :ivar version: Package version found in the appxmanifest.xml. :vartype version: str :ivar last_updated: Date Package was last updated, found in the appxmanifest.xml. :vartype last_updated: ~datetime.datetime :ivar package_applications: List of package applications. :vartype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] :ivar certificate_name: Certificate name found in the appxmanifest.xml. :vartype certificate_name: str :ivar certificate_expiry: Date certificate expires, found in the appxmanifest.xml. :vartype certificate_expiry: ~datetime.datetime """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "package_alias": {"key": "properties.packageAlias", "type": "str"}, "image_path": {"key": "properties.imagePath", "type": "str"}, "package_name": {"key": "properties.packageName", "type": "str"}, "package_family_name": {"key": "properties.packageFamilyName", "type": "str"}, "package_full_name": {"key": "properties.packageFullName", "type": "str"}, "display_name": {"key": "properties.displayName", "type": "str"}, "package_relative_path": {"key": "properties.packageRelativePath", "type": "str"}, "is_regular_registration": {"key": "properties.isRegularRegistration", "type": "bool"}, "is_active": {"key": "properties.isActive", "type": "bool"}, "package_dependencies": {"key": "properties.packageDependencies", "type": "[MsixPackageDependencies]"}, "version": {"key": "properties.version", "type": "str"}, "last_updated": {"key": "properties.lastUpdated", "type": "iso-8601"}, "package_applications": {"key": "properties.packageApplications", "type": "[MsixPackageApplications]"}, "certificate_name": {"key": "properties.certificateName", "type": "str"}, "certificate_expiry": {"key": "properties.certificateExpiry", "type": "iso-8601"}, } def __init__( self, *, package_alias: Optional[str] = None, image_path: Optional[str] = None, package_name: Optional[str] = None, package_family_name: Optional[str] = None, package_full_name: Optional[str] = None, display_name: Optional[str] = None, package_relative_path: Optional[str] = None, is_regular_registration: Optional[bool] = None, is_active: Optional[bool] = None, package_dependencies: Optional[List["_models.MsixPackageDependencies"]] = None, version: Optional[str] = None, last_updated: Optional[datetime.datetime] = None, package_applications: Optional[List["_models.MsixPackageApplications"]] = None, certificate_name: Optional[str] = None, certificate_expiry: Optional[datetime.datetime] = None, **kwargs: Any ) -> None: """ :keyword package_alias: Alias of MSIX Package. :paramtype package_alias: str :keyword image_path: VHD/CIM image path on Network Share. :paramtype image_path: str :keyword package_name: Package Name from appxmanifest.xml. :paramtype package_name: str :keyword package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :paramtype package_family_name: str :keyword package_full_name: Package Full Name from appxmanifest.xml. :paramtype package_full_name: str :keyword display_name: User friendly Name to be displayed in the portal. :paramtype display_name: str :keyword package_relative_path: Relative Path to the package inside the image. :paramtype package_relative_path: str :keyword is_regular_registration: Specifies how to register Package in feed. :paramtype is_regular_registration: bool :keyword is_active: Make this version of the package the active one across the hostpool. :paramtype is_active: bool :keyword package_dependencies: List of package dependencies. :paramtype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :keyword version: Package version found in the appxmanifest.xml. :paramtype version: str :keyword last_updated: Date Package was last updated, found in the appxmanifest.xml. :paramtype last_updated: ~datetime.datetime :keyword package_applications: List of package applications. :paramtype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] :keyword certificate_name: Certificate name found in the appxmanifest.xml. :paramtype certificate_name: str :keyword certificate_expiry: Date certificate expires, found in the appxmanifest.xml. :paramtype certificate_expiry: ~datetime.datetime """ super().__init__(**kwargs) self.package_alias = package_alias self.image_path = image_path self.package_name = package_name self.package_family_name = package_family_name self.package_full_name = package_full_name self.display_name = display_name self.package_relative_path = package_relative_path self.is_regular_registration = is_regular_registration self.is_active = is_active self.package_dependencies = package_dependencies self.version = version self.last_updated = last_updated self.package_applications = package_applications self.certificate_name = certificate_name self.certificate_expiry = certificate_expiry
[docs] class ExpandMsixImageList(_serialization.Model): """List of MSIX package properties retrieved from MSIX Image expansion. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of MSIX package properties from give MSIX Image. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ExpandMsixImage] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ExpandMsixImage]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ExpandMsixImage"]] = None, **kwargs: Any) -> None: """ :keyword value: List of MSIX package properties from give MSIX Image. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ExpandMsixImage] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class HostPool(ResourceModelWithAllowedPropertySet): # pylint: disable=too-many-instance-attributes """Represents a HostPool definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :vartype managed_by: str :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :vartype kind: str :ivar etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. :vartype etag: str :ivar identity: :vartype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :ivar sku: :vartype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :ivar plan: :vartype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :ivar object_id: ObjectId of HostPool. (internal use). :vartype object_id: str :ivar friendly_name: Friendly name of HostPool. :vartype friendly_name: str :ivar description: Description of HostPool. :vartype description: str :ivar host_pool_type: HostPool type for desktop. Required. Known values are: "Personal", "Pooled", and "BYODesktop". :vartype host_pool_type: str or ~azure.mgmt.desktopvirtualization.models.HostPoolType :ivar personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Known values are: "Automatic" and "Direct". :vartype personal_desktop_assignment_type: str or ~azure.mgmt.desktopvirtualization.models.PersonalDesktopAssignmentType :ivar custom_rdp_property: Custom rdp property of HostPool. :vartype custom_rdp_property: str :ivar max_session_limit: The max session limit of HostPool. :vartype max_session_limit: int :ivar load_balancer_type: The type of the load balancer. Required. Known values are: "BreadthFirst", "DepthFirst", and "Persistent". :vartype load_balancer_type: str or ~azure.mgmt.desktopvirtualization.models.LoadBalancerType :ivar ring: The ring number of HostPool. :vartype ring: int :ivar validation_environment: Is validation environment. :vartype validation_environment: bool :ivar registration_info: The registration info of HostPool. :vartype registration_info: ~azure.mgmt.desktopvirtualization.models.RegistrationInfo :ivar vm_template: VM template for sessionhosts configuration within hostpool. :vartype vm_template: str :ivar application_group_references: List of applicationGroup links. :vartype application_group_references: list[str] :ivar app_attach_package_references: List of App Attach Package links. :vartype app_attach_package_references: list[str] :ivar ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. :vartype ssoadfs_authority: str :ivar sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. :vartype sso_client_id: str :ivar sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. :vartype sso_client_secret_key_vault_path: str :ivar sso_secret_type: The type of single sign on Secret Type. Known values are: "SharedKey", "Certificate", "SharedKeyInKeyVault", and "CertificateInKeyVault". :vartype sso_secret_type: str or ~azure.mgmt.desktopvirtualization.models.SSOSecretType :ivar preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group. Required. Known values are: "None", "Desktop", and "RailApplications". :vartype preferred_app_group_type: str or ~azure.mgmt.desktopvirtualization.models.PreferredAppGroupType :ivar start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. :vartype start_vm_on_connect: bool :ivar cloud_pc_resource: Is cloud pc resource. :vartype cloud_pc_resource: bool :ivar public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints. Known values are: "Enabled", "Disabled", "EnabledForSessionHostsOnly", and "EnabledForClientsOnly". :vartype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.HostpoolPublicNetworkAccess :ivar agent_update: The session host configuration for updating agent, monitoring agent, and stack component. :vartype agent_update: ~azure.mgmt.desktopvirtualization.models.AgentUpdateProperties :ivar private_endpoint_connections: List of private endpoint connection associated with the specified resource. :vartype private_endpoint_connections: list[~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnection] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "kind": {"pattern": r"^[-\w\._,\(\)]+$"}, "etag": {"readonly": True}, "object_id": {"readonly": True}, "host_pool_type": {"required": True}, "load_balancer_type": {"required": True}, "application_group_references": {"readonly": True}, "app_attach_package_references": {"readonly": True}, "preferred_app_group_type": {"required": True}, "cloud_pc_resource": {"readonly": True}, "private_endpoint_connections": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "managed_by": {"key": "managedBy", "type": "str"}, "kind": {"key": "kind", "type": "str"}, "etag": {"key": "etag", "type": "str"}, "identity": {"key": "identity", "type": "ResourceModelWithAllowedPropertySetIdentity"}, "sku": {"key": "sku", "type": "ResourceModelWithAllowedPropertySetSku"}, "plan": {"key": "plan", "type": "ResourceModelWithAllowedPropertySetPlan"}, "object_id": {"key": "properties.objectId", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "host_pool_type": {"key": "properties.hostPoolType", "type": "str"}, "personal_desktop_assignment_type": {"key": "properties.personalDesktopAssignmentType", "type": "str"}, "custom_rdp_property": {"key": "properties.customRdpProperty", "type": "str"}, "max_session_limit": {"key": "properties.maxSessionLimit", "type": "int"}, "load_balancer_type": {"key": "properties.loadBalancerType", "type": "str"}, "ring": {"key": "properties.ring", "type": "int"}, "validation_environment": {"key": "properties.validationEnvironment", "type": "bool"}, "registration_info": {"key": "properties.registrationInfo", "type": "RegistrationInfo"}, "vm_template": {"key": "properties.vmTemplate", "type": "str"}, "application_group_references": {"key": "properties.applicationGroupReferences", "type": "[str]"}, "app_attach_package_references": {"key": "properties.appAttachPackageReferences", "type": "[str]"}, "ssoadfs_authority": {"key": "properties.ssoadfsAuthority", "type": "str"}, "sso_client_id": {"key": "properties.ssoClientId", "type": "str"}, "sso_client_secret_key_vault_path": {"key": "properties.ssoClientSecretKeyVaultPath", "type": "str"}, "sso_secret_type": {"key": "properties.ssoSecretType", "type": "str"}, "preferred_app_group_type": {"key": "properties.preferredAppGroupType", "type": "str"}, "start_vm_on_connect": {"key": "properties.startVMOnConnect", "type": "bool"}, "cloud_pc_resource": {"key": "properties.cloudPcResource", "type": "bool"}, "public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"}, "agent_update": {"key": "properties.agentUpdate", "type": "AgentUpdateProperties"}, "private_endpoint_connections": { "key": "properties.privateEndpointConnections", "type": "[PrivateEndpointConnection]", }, } def __init__( # pylint: disable=too-many-locals self, *, location: str, host_pool_type: Union[str, "_models.HostPoolType"], load_balancer_type: Union[str, "_models.LoadBalancerType"], preferred_app_group_type: Union[str, "_models.PreferredAppGroupType"], tags: Optional[Dict[str, str]] = None, managed_by: Optional[str] = None, kind: Optional[str] = None, identity: Optional["_models.ResourceModelWithAllowedPropertySetIdentity"] = None, sku: Optional["_models.ResourceModelWithAllowedPropertySetSku"] = None, plan: Optional["_models.ResourceModelWithAllowedPropertySetPlan"] = None, friendly_name: Optional[str] = None, description: Optional[str] = None, personal_desktop_assignment_type: Optional[Union[str, "_models.PersonalDesktopAssignmentType"]] = None, custom_rdp_property: Optional[str] = None, max_session_limit: Optional[int] = None, ring: Optional[int] = None, validation_environment: Optional[bool] = None, registration_info: Optional["_models.RegistrationInfo"] = None, vm_template: Optional[str] = None, ssoadfs_authority: Optional[str] = None, sso_client_id: Optional[str] = None, sso_client_secret_key_vault_path: Optional[str] = None, sso_secret_type: Optional[Union[str, "_models.SSOSecretType"]] = None, start_vm_on_connect: Optional[bool] = None, public_network_access: Optional[Union[str, "_models.HostpoolPublicNetworkAccess"]] = None, agent_update: Optional["_models.AgentUpdateProperties"] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :paramtype managed_by: str :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :paramtype kind: str :keyword identity: :paramtype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :keyword sku: :paramtype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :keyword plan: :paramtype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :keyword friendly_name: Friendly name of HostPool. :paramtype friendly_name: str :keyword description: Description of HostPool. :paramtype description: str :keyword host_pool_type: HostPool type for desktop. Required. Known values are: "Personal", "Pooled", and "BYODesktop". :paramtype host_pool_type: str or ~azure.mgmt.desktopvirtualization.models.HostPoolType :keyword personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Known values are: "Automatic" and "Direct". :paramtype personal_desktop_assignment_type: str or ~azure.mgmt.desktopvirtualization.models.PersonalDesktopAssignmentType :keyword custom_rdp_property: Custom rdp property of HostPool. :paramtype custom_rdp_property: str :keyword max_session_limit: The max session limit of HostPool. :paramtype max_session_limit: int :keyword load_balancer_type: The type of the load balancer. Required. Known values are: "BreadthFirst", "DepthFirst", and "Persistent". :paramtype load_balancer_type: str or ~azure.mgmt.desktopvirtualization.models.LoadBalancerType :keyword ring: The ring number of HostPool. :paramtype ring: int :keyword validation_environment: Is validation environment. :paramtype validation_environment: bool :keyword registration_info: The registration info of HostPool. :paramtype registration_info: ~azure.mgmt.desktopvirtualization.models.RegistrationInfo :keyword vm_template: VM template for sessionhosts configuration within hostpool. :paramtype vm_template: str :keyword ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. :paramtype ssoadfs_authority: str :keyword sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. :paramtype sso_client_id: str :keyword sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. :paramtype sso_client_secret_key_vault_path: str :keyword sso_secret_type: The type of single sign on Secret Type. Known values are: "SharedKey", "Certificate", "SharedKeyInKeyVault", and "CertificateInKeyVault". :paramtype sso_secret_type: str or ~azure.mgmt.desktopvirtualization.models.SSOSecretType :keyword preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group. Required. Known values are: "None", "Desktop", and "RailApplications". :paramtype preferred_app_group_type: str or ~azure.mgmt.desktopvirtualization.models.PreferredAppGroupType :keyword start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. :paramtype start_vm_on_connect: bool :keyword public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints. Known values are: "Enabled", "Disabled", "EnabledForSessionHostsOnly", and "EnabledForClientsOnly". :paramtype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.HostpoolPublicNetworkAccess :keyword agent_update: The session host configuration for updating agent, monitoring agent, and stack component. :paramtype agent_update: ~azure.mgmt.desktopvirtualization.models.AgentUpdateProperties """ super().__init__( tags=tags, location=location, managed_by=managed_by, kind=kind, identity=identity, sku=sku, plan=plan, **kwargs ) self.object_id = None self.friendly_name = friendly_name self.description = description self.host_pool_type = host_pool_type self.personal_desktop_assignment_type = personal_desktop_assignment_type self.custom_rdp_property = custom_rdp_property self.max_session_limit = max_session_limit self.load_balancer_type = load_balancer_type self.ring = ring self.validation_environment = validation_environment self.registration_info = registration_info self.vm_template = vm_template self.application_group_references = None self.app_attach_package_references = None self.ssoadfs_authority = ssoadfs_authority self.sso_client_id = sso_client_id self.sso_client_secret_key_vault_path = sso_client_secret_key_vault_path self.sso_secret_type = sso_secret_type self.preferred_app_group_type = preferred_app_group_type self.start_vm_on_connect = start_vm_on_connect self.cloud_pc_resource = None self.public_network_access = public_network_access self.agent_update = agent_update self.private_endpoint_connections = None
[docs] class HostPoolList(_serialization.Model): """List of HostPool definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of HostPool definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.HostPool] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[HostPool]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.HostPool"]] = None, **kwargs: Any) -> None: """ :keyword value: List of HostPool definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.HostPool] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class HostPoolPatch(Resource): # pylint: disable=too-many-instance-attributes """HostPool properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar friendly_name: Friendly name of HostPool. :vartype friendly_name: str :ivar description: Description of HostPool. :vartype description: str :ivar custom_rdp_property: Custom rdp property of HostPool. :vartype custom_rdp_property: str :ivar max_session_limit: The max session limit of HostPool. :vartype max_session_limit: int :ivar personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Known values are: "Automatic" and "Direct". :vartype personal_desktop_assignment_type: str or ~azure.mgmt.desktopvirtualization.models.PersonalDesktopAssignmentType :ivar load_balancer_type: The type of the load balancer. Known values are: "BreadthFirst", "DepthFirst", and "Persistent". :vartype load_balancer_type: str or ~azure.mgmt.desktopvirtualization.models.LoadBalancerType :ivar ring: The ring number of HostPool. :vartype ring: int :ivar validation_environment: Is validation environment. :vartype validation_environment: bool :ivar registration_info: The registration info of HostPool. :vartype registration_info: ~azure.mgmt.desktopvirtualization.models.RegistrationInfoPatch :ivar vm_template: VM template for sessionhosts configuration within hostpool. :vartype vm_template: str :ivar ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. :vartype ssoadfs_authority: str :ivar sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. :vartype sso_client_id: str :ivar sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. :vartype sso_client_secret_key_vault_path: str :ivar sso_secret_type: The type of single sign on Secret Type. Known values are: "SharedKey", "Certificate", "SharedKeyInKeyVault", and "CertificateInKeyVault". :vartype sso_secret_type: str or ~azure.mgmt.desktopvirtualization.models.SSOSecretType :ivar preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group. Known values are: "None", "Desktop", and "RailApplications". :vartype preferred_app_group_type: str or ~azure.mgmt.desktopvirtualization.models.PreferredAppGroupType :ivar start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. :vartype start_vm_on_connect: bool :ivar public_network_access: Enabled to allow this resource to be access from the public network. Known values are: "Enabled", "Disabled", "EnabledForSessionHostsOnly", and "EnabledForClientsOnly". :vartype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.HostpoolPublicNetworkAccess :ivar agent_update: The session host configuration for updating agent, monitoring agent, and stack component. :vartype agent_update: ~azure.mgmt.desktopvirtualization.models.AgentUpdatePatchProperties """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "custom_rdp_property": {"key": "properties.customRdpProperty", "type": "str"}, "max_session_limit": {"key": "properties.maxSessionLimit", "type": "int"}, "personal_desktop_assignment_type": {"key": "properties.personalDesktopAssignmentType", "type": "str"}, "load_balancer_type": {"key": "properties.loadBalancerType", "type": "str"}, "ring": {"key": "properties.ring", "type": "int"}, "validation_environment": {"key": "properties.validationEnvironment", "type": "bool"}, "registration_info": {"key": "properties.registrationInfo", "type": "RegistrationInfoPatch"}, "vm_template": {"key": "properties.vmTemplate", "type": "str"}, "ssoadfs_authority": {"key": "properties.ssoadfsAuthority", "type": "str"}, "sso_client_id": {"key": "properties.ssoClientId", "type": "str"}, "sso_client_secret_key_vault_path": {"key": "properties.ssoClientSecretKeyVaultPath", "type": "str"}, "sso_secret_type": {"key": "properties.ssoSecretType", "type": "str"}, "preferred_app_group_type": {"key": "properties.preferredAppGroupType", "type": "str"}, "start_vm_on_connect": {"key": "properties.startVMOnConnect", "type": "bool"}, "public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"}, "agent_update": {"key": "properties.agentUpdate", "type": "AgentUpdatePatchProperties"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, friendly_name: Optional[str] = None, description: Optional[str] = None, custom_rdp_property: Optional[str] = None, max_session_limit: Optional[int] = None, personal_desktop_assignment_type: Optional[Union[str, "_models.PersonalDesktopAssignmentType"]] = None, load_balancer_type: Optional[Union[str, "_models.LoadBalancerType"]] = None, ring: Optional[int] = None, validation_environment: Optional[bool] = None, registration_info: Optional["_models.RegistrationInfoPatch"] = None, vm_template: Optional[str] = None, ssoadfs_authority: Optional[str] = None, sso_client_id: Optional[str] = None, sso_client_secret_key_vault_path: Optional[str] = None, sso_secret_type: Optional[Union[str, "_models.SSOSecretType"]] = None, preferred_app_group_type: Optional[Union[str, "_models.PreferredAppGroupType"]] = None, start_vm_on_connect: Optional[bool] = None, public_network_access: Optional[Union[str, "_models.HostpoolPublicNetworkAccess"]] = None, agent_update: Optional["_models.AgentUpdatePatchProperties"] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword friendly_name: Friendly name of HostPool. :paramtype friendly_name: str :keyword description: Description of HostPool. :paramtype description: str :keyword custom_rdp_property: Custom rdp property of HostPool. :paramtype custom_rdp_property: str :keyword max_session_limit: The max session limit of HostPool. :paramtype max_session_limit: int :keyword personal_desktop_assignment_type: PersonalDesktopAssignment type for HostPool. Known values are: "Automatic" and "Direct". :paramtype personal_desktop_assignment_type: str or ~azure.mgmt.desktopvirtualization.models.PersonalDesktopAssignmentType :keyword load_balancer_type: The type of the load balancer. Known values are: "BreadthFirst", "DepthFirst", and "Persistent". :paramtype load_balancer_type: str or ~azure.mgmt.desktopvirtualization.models.LoadBalancerType :keyword ring: The ring number of HostPool. :paramtype ring: int :keyword validation_environment: Is validation environment. :paramtype validation_environment: bool :keyword registration_info: The registration info of HostPool. :paramtype registration_info: ~azure.mgmt.desktopvirtualization.models.RegistrationInfoPatch :keyword vm_template: VM template for sessionhosts configuration within hostpool. :paramtype vm_template: str :keyword ssoadfs_authority: URL to customer ADFS server for signing WVD SSO certificates. :paramtype ssoadfs_authority: str :keyword sso_client_id: ClientId for the registered Relying Party used to issue WVD SSO certificates. :paramtype sso_client_id: str :keyword sso_client_secret_key_vault_path: Path to Azure KeyVault storing the secret used for communication to ADFS. :paramtype sso_client_secret_key_vault_path: str :keyword sso_secret_type: The type of single sign on Secret Type. Known values are: "SharedKey", "Certificate", "SharedKeyInKeyVault", and "CertificateInKeyVault". :paramtype sso_secret_type: str or ~azure.mgmt.desktopvirtualization.models.SSOSecretType :keyword preferred_app_group_type: The type of preferred application group type, default to Desktop Application Group. Known values are: "None", "Desktop", and "RailApplications". :paramtype preferred_app_group_type: str or ~azure.mgmt.desktopvirtualization.models.PreferredAppGroupType :keyword start_vm_on_connect: The flag to turn on/off StartVMOnConnect feature. :paramtype start_vm_on_connect: bool :keyword public_network_access: Enabled to allow this resource to be access from the public network. Known values are: "Enabled", "Disabled", "EnabledForSessionHostsOnly", and "EnabledForClientsOnly". :paramtype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.HostpoolPublicNetworkAccess :keyword agent_update: The session host configuration for updating agent, monitoring agent, and stack component. :paramtype agent_update: ~azure.mgmt.desktopvirtualization.models.AgentUpdatePatchProperties """ super().__init__(**kwargs) self.tags = tags self.friendly_name = friendly_name self.description = description self.custom_rdp_property = custom_rdp_property self.max_session_limit = max_session_limit self.personal_desktop_assignment_type = personal_desktop_assignment_type self.load_balancer_type = load_balancer_type self.ring = ring self.validation_environment = validation_environment self.registration_info = registration_info self.vm_template = vm_template self.ssoadfs_authority = ssoadfs_authority self.sso_client_id = sso_client_id self.sso_client_secret_key_vault_path = sso_client_secret_key_vault_path self.sso_secret_type = sso_secret_type self.preferred_app_group_type = preferred_app_group_type self.start_vm_on_connect = start_vm_on_connect self.public_network_access = public_network_access self.agent_update = agent_update
[docs] class Identity(_serialization.Model): """Identity for the resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar principal_id: The principal ID of resource identity. The value must be an UUID. :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. The value must be an UUID. :vartype tenant_id: str :ivar type: The identity type. Default value is "SystemAssigned". :vartype type: str """ _validation = { "principal_id": {"readonly": True}, "tenant_id": {"readonly": True}, } _attribute_map = { "principal_id": {"key": "principalId", "type": "str"}, "tenant_id": {"key": "tenantId", "type": "str"}, "type": {"key": "type", "type": "str"}, } def __init__(self, *, type: Optional[Literal["SystemAssigned"]] = None, **kwargs: Any) -> None: """ :keyword type: The identity type. Default value is "SystemAssigned". :paramtype type: str """ super().__init__(**kwargs) self.principal_id = None self.tenant_id = None self.type = type
[docs] class ImportPackageInfoRequest(_serialization.Model): """Information to import app attach package. :ivar path: URI to Image. :vartype path: str :ivar package_architecture: Possible device architectures that an app attach package can be configured for. Known values are: "ARM", "ARM64", "x86", "x64", "Neutral", "x86a64", and "ALL". :vartype package_architecture: str or ~azure.mgmt.desktopvirtualization.models.AppAttachPackageArchitectures """ _attribute_map = { "path": {"key": "path", "type": "str"}, "package_architecture": {"key": "packageArchitecture", "type": "str"}, } def __init__( self, *, path: Optional[str] = None, package_architecture: Optional[Union[str, "_models.AppAttachPackageArchitectures"]] = None, **kwargs: Any ) -> None: """ :keyword path: URI to Image. :paramtype path: str :keyword package_architecture: Possible device architectures that an app attach package can be configured for. Known values are: "ARM", "ARM64", "x86", "x64", "Neutral", "x86a64", and "ALL". :paramtype package_architecture: str or ~azure.mgmt.desktopvirtualization.models.AppAttachPackageArchitectures """ super().__init__(**kwargs) self.path = path self.package_architecture = package_architecture
[docs] class LogSpecification(_serialization.Model): """Specifications of the Log for Azure Monitoring. :ivar name: Name of the log. :vartype name: str :ivar display_name: Localized friendly display name of the log. :vartype display_name: str :ivar blob_duration: Blob duration of the log. :vartype blob_duration: str """ _attribute_map = { "name": {"key": "name", "type": "str"}, "display_name": {"key": "displayName", "type": "str"}, "blob_duration": {"key": "blobDuration", "type": "str"}, } def __init__( self, *, name: Optional[str] = None, display_name: Optional[str] = None, blob_duration: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword name: Name of the log. :paramtype name: str :keyword display_name: Localized friendly display name of the log. :paramtype display_name: str :keyword blob_duration: Blob duration of the log. :paramtype blob_duration: str """ super().__init__(**kwargs) self.name = name self.display_name = display_name self.blob_duration = blob_duration
[docs] class MaintenanceWindowPatchProperties(_serialization.Model): """Maintenance window starting hour and day of week. :ivar hour: The update start hour of the day. (0 - 23). :vartype hour: int :ivar day_of_week: Day of the week. Known values are: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", and "Sunday". :vartype day_of_week: str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek """ _attribute_map = { "hour": {"key": "hour", "type": "int"}, "day_of_week": {"key": "dayOfWeek", "type": "str"}, } def __init__( self, *, hour: Optional[int] = None, day_of_week: Optional[Union[str, "_models.DayOfWeek"]] = None, **kwargs: Any ) -> None: """ :keyword hour: The update start hour of the day. (0 - 23). :paramtype hour: int :keyword day_of_week: Day of the week. Known values are: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", and "Sunday". :paramtype day_of_week: str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek """ super().__init__(**kwargs) self.hour = hour self.day_of_week = day_of_week
[docs] class MaintenanceWindowProperties(_serialization.Model): """Maintenance window starting hour and day of week. :ivar hour: The update start hour of the day. (0 - 23). :vartype hour: int :ivar day_of_week: Day of the week. Known values are: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", and "Sunday". :vartype day_of_week: str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek """ _attribute_map = { "hour": {"key": "hour", "type": "int"}, "day_of_week": {"key": "dayOfWeek", "type": "str"}, } def __init__( self, *, hour: Optional[int] = None, day_of_week: Optional[Union[str, "_models.DayOfWeek"]] = None, **kwargs: Any ) -> None: """ :keyword hour: The update start hour of the day. (0 - 23). :paramtype hour: int :keyword day_of_week: Day of the week. Known values are: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", and "Sunday". :paramtype day_of_week: str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek """ super().__init__(**kwargs) self.hour = hour self.day_of_week = day_of_week
[docs] class MSIXImageURI(_serialization.Model): """Represents URI referring to MSIX Image. :ivar uri: URI to Image. :vartype uri: str """ _attribute_map = { "uri": {"key": "uri", "type": "str"}, } def __init__(self, *, uri: Optional[str] = None, **kwargs: Any) -> None: """ :keyword uri: URI to Image. :paramtype uri: str """ super().__init__(**kwargs) self.uri = uri
[docs] class MSIXPackage(Resource): # pylint: disable=too-many-instance-attributes """Schema for MSIX Package properties. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar image_path: VHD/CIM image path on Network Share. :vartype image_path: str :ivar package_name: Package Name from appxmanifest.xml. :vartype package_name: str :ivar package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :vartype package_family_name: str :ivar display_name: User friendly Name to be displayed in the portal. :vartype display_name: str :ivar package_relative_path: Relative Path to the package inside the image. :vartype package_relative_path: str :ivar is_regular_registration: Specifies how to register Package in feed. :vartype is_regular_registration: bool :ivar is_active: Make this version of the package the active one across the hostpool. :vartype is_active: bool :ivar package_dependencies: List of package dependencies. :vartype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :ivar version: Package version found in the appxmanifest.xml. :vartype version: str :ivar last_updated: Date Package was last updated, found in the appxmanifest.xml. :vartype last_updated: ~datetime.datetime :ivar package_applications: List of package applications. :vartype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "image_path": {"key": "properties.imagePath", "type": "str"}, "package_name": {"key": "properties.packageName", "type": "str"}, "package_family_name": {"key": "properties.packageFamilyName", "type": "str"}, "display_name": {"key": "properties.displayName", "type": "str"}, "package_relative_path": {"key": "properties.packageRelativePath", "type": "str"}, "is_regular_registration": {"key": "properties.isRegularRegistration", "type": "bool"}, "is_active": {"key": "properties.isActive", "type": "bool"}, "package_dependencies": {"key": "properties.packageDependencies", "type": "[MsixPackageDependencies]"}, "version": {"key": "properties.version", "type": "str"}, "last_updated": {"key": "properties.lastUpdated", "type": "iso-8601"}, "package_applications": {"key": "properties.packageApplications", "type": "[MsixPackageApplications]"}, } def __init__( self, *, image_path: Optional[str] = None, package_name: Optional[str] = None, package_family_name: Optional[str] = None, display_name: Optional[str] = None, package_relative_path: Optional[str] = None, is_regular_registration: Optional[bool] = None, is_active: Optional[bool] = None, package_dependencies: Optional[List["_models.MsixPackageDependencies"]] = None, version: Optional[str] = None, last_updated: Optional[datetime.datetime] = None, package_applications: Optional[List["_models.MsixPackageApplications"]] = None, **kwargs: Any ) -> None: """ :keyword image_path: VHD/CIM image path on Network Share. :paramtype image_path: str :keyword package_name: Package Name from appxmanifest.xml. :paramtype package_name: str :keyword package_family_name: Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. :paramtype package_family_name: str :keyword display_name: User friendly Name to be displayed in the portal. :paramtype display_name: str :keyword package_relative_path: Relative Path to the package inside the image. :paramtype package_relative_path: str :keyword is_regular_registration: Specifies how to register Package in feed. :paramtype is_regular_registration: bool :keyword is_active: Make this version of the package the active one across the hostpool. :paramtype is_active: bool :keyword package_dependencies: List of package dependencies. :paramtype package_dependencies: list[~azure.mgmt.desktopvirtualization.models.MsixPackageDependencies] :keyword version: Package version found in the appxmanifest.xml. :paramtype version: str :keyword last_updated: Date Package was last updated, found in the appxmanifest.xml. :paramtype last_updated: ~datetime.datetime :keyword package_applications: List of package applications. :paramtype package_applications: list[~azure.mgmt.desktopvirtualization.models.MsixPackageApplications] """ super().__init__(**kwargs) self.image_path = image_path self.package_name = package_name self.package_family_name = package_family_name self.display_name = display_name self.package_relative_path = package_relative_path self.is_regular_registration = is_regular_registration self.is_active = is_active self.package_dependencies = package_dependencies self.version = version self.last_updated = last_updated self.package_applications = package_applications
[docs] class MsixPackageApplications(_serialization.Model): """Schema for MSIX Package Application properties. :ivar app_id: Package Application Id, found in appxmanifest.xml. :vartype app_id: str :ivar description: Description of Package Application. :vartype description: str :ivar app_user_model_id: Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. :vartype app_user_model_id: str :ivar friendly_name: User friendly name. :vartype friendly_name: str :ivar icon_image_name: User friendly name. :vartype icon_image_name: str :ivar raw_icon: the icon a 64 bit string as a byte array. :vartype raw_icon: bytes :ivar raw_png: the icon a 64 bit string as a byte array. :vartype raw_png: bytes """ _attribute_map = { "app_id": {"key": "appId", "type": "str"}, "description": {"key": "description", "type": "str"}, "app_user_model_id": {"key": "appUserModelID", "type": "str"}, "friendly_name": {"key": "friendlyName", "type": "str"}, "icon_image_name": {"key": "iconImageName", "type": "str"}, "raw_icon": {"key": "rawIcon", "type": "bytearray"}, "raw_png": {"key": "rawPng", "type": "bytearray"}, } def __init__( self, *, app_id: Optional[str] = None, description: Optional[str] = None, app_user_model_id: Optional[str] = None, friendly_name: Optional[str] = None, icon_image_name: Optional[str] = None, raw_icon: Optional[bytes] = None, raw_png: Optional[bytes] = None, **kwargs: Any ) -> None: """ :keyword app_id: Package Application Id, found in appxmanifest.xml. :paramtype app_id: str :keyword description: Description of Package Application. :paramtype description: str :keyword app_user_model_id: Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml. :paramtype app_user_model_id: str :keyword friendly_name: User friendly name. :paramtype friendly_name: str :keyword icon_image_name: User friendly name. :paramtype icon_image_name: str :keyword raw_icon: the icon a 64 bit string as a byte array. :paramtype raw_icon: bytes :keyword raw_png: the icon a 64 bit string as a byte array. :paramtype raw_png: bytes """ super().__init__(**kwargs) self.app_id = app_id self.description = description self.app_user_model_id = app_user_model_id self.friendly_name = friendly_name self.icon_image_name = icon_image_name self.raw_icon = raw_icon self.raw_png = raw_png
[docs] class MsixPackageDependencies(_serialization.Model): """Schema for MSIX Package Dependencies properties. :ivar dependency_name: Name of package dependency. :vartype dependency_name: str :ivar publisher: Name of dependency publisher. :vartype publisher: str :ivar min_version: Dependency version required. :vartype min_version: str """ _attribute_map = { "dependency_name": {"key": "dependencyName", "type": "str"}, "publisher": {"key": "publisher", "type": "str"}, "min_version": {"key": "minVersion", "type": "str"}, } def __init__( self, *, dependency_name: Optional[str] = None, publisher: Optional[str] = None, min_version: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword dependency_name: Name of package dependency. :paramtype dependency_name: str :keyword publisher: Name of dependency publisher. :paramtype publisher: str :keyword min_version: Dependency version required. :paramtype min_version: str """ super().__init__(**kwargs) self.dependency_name = dependency_name self.publisher = publisher self.min_version = min_version
[docs] class MSIXPackageList(_serialization.Model): """List of MSIX Package definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of MSIX Package definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.MSIXPackage] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[MSIXPackage]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.MSIXPackage"]] = None, **kwargs: Any) -> None: """ :keyword value: List of MSIX Package definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.MSIXPackage] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class MSIXPackagePatch(Resource): """MSIX Package properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar is_active: Set a version of the package to be active across hostpool. :vartype is_active: bool :ivar is_regular_registration: Set Registration mode. Regular or Delayed. :vartype is_regular_registration: bool :ivar display_name: Display name for MSIX Package. :vartype display_name: str """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "is_active": {"key": "properties.isActive", "type": "bool"}, "is_regular_registration": {"key": "properties.isRegularRegistration", "type": "bool"}, "display_name": {"key": "properties.displayName", "type": "str"}, } def __init__( self, *, is_active: Optional[bool] = None, is_regular_registration: Optional[bool] = None, display_name: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword is_active: Set a version of the package to be active across hostpool. :paramtype is_active: bool :keyword is_regular_registration: Set Registration mode. Regular or Delayed. :paramtype is_regular_registration: bool :keyword display_name: Display name for MSIX Package. :paramtype display_name: str """ super().__init__(**kwargs) self.is_active = is_active self.is_regular_registration = is_regular_registration self.display_name = display_name
[docs] class OperationProperties(_serialization.Model): """Properties of the operation. :ivar service_specification: Service specification payload. :vartype service_specification: ~azure.mgmt.desktopvirtualization.models.ServiceSpecification """ _attribute_map = { "service_specification": {"key": "serviceSpecification", "type": "ServiceSpecification"}, } def __init__( self, *, service_specification: Optional["_models.ServiceSpecification"] = None, **kwargs: Any ) -> None: """ :keyword service_specification: Service specification payload. :paramtype service_specification: ~azure.mgmt.desktopvirtualization.models.ServiceSpecification """ super().__init__(**kwargs) self.service_specification = service_specification
[docs] class Plan(_serialization.Model): """Plan for the resource. All required parameters must be populated in order to send to server. :ivar name: A user defined name of the 3rd Party Artifact that is being procured. Required. :vartype name: str :ivar publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. Required. :vartype publisher: str :ivar product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. Required. :vartype product: str :ivar promotion_code: A publisher provided promotion code as provisioned in Data Market for the said product/artifact. :vartype promotion_code: str :ivar version: The version of the desired product/artifact. :vartype version: str """ _validation = { "name": {"required": True}, "publisher": {"required": True}, "product": {"required": True}, } _attribute_map = { "name": {"key": "name", "type": "str"}, "publisher": {"key": "publisher", "type": "str"}, "product": {"key": "product", "type": "str"}, "promotion_code": {"key": "promotionCode", "type": "str"}, "version": {"key": "version", "type": "str"}, } def __init__( self, *, name: str, publisher: str, product: str, promotion_code: Optional[str] = None, version: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword name: A user defined name of the 3rd Party Artifact that is being procured. Required. :paramtype name: str :keyword publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. Required. :paramtype publisher: str :keyword product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. Required. :paramtype product: str :keyword promotion_code: A publisher provided promotion code as provisioned in Data Market for the said product/artifact. :paramtype promotion_code: str :keyword version: The version of the desired product/artifact. :paramtype version: str """ super().__init__(**kwargs) self.name = name self.publisher = publisher self.product = product self.promotion_code = promotion_code self.version = version
[docs] class PrivateEndpoint(_serialization.Model): """The private endpoint resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The ARM identifier for private endpoint. :vartype id: str """ _validation = { "id": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.id = None
[docs] class PrivateEndpointConnection(Resource): """The private endpoint connection resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar group_ids: The group ids for the private endpoint resource. :vartype group_ids: list[str] :ivar private_endpoint: The private endpoint resource. :vartype private_endpoint: ~azure.mgmt.desktopvirtualization.models.PrivateEndpoint :ivar private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. :vartype private_link_service_connection_state: ~azure.mgmt.desktopvirtualization.models.PrivateLinkServiceConnectionState :ivar provisioning_state: The provisioning state of the private endpoint connection resource. Known values are: "Succeeded", "Creating", "Deleting", and "Failed". :vartype provisioning_state: str or ~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnectionProvisioningState """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "group_ids": {"readonly": True}, "provisioning_state": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "group_ids": {"key": "properties.groupIds", "type": "[str]"}, "private_endpoint": {"key": "properties.privateEndpoint", "type": "PrivateEndpoint"}, "private_link_service_connection_state": { "key": "properties.privateLinkServiceConnectionState", "type": "PrivateLinkServiceConnectionState", }, "provisioning_state": {"key": "properties.provisioningState", "type": "str"}, } def __init__( self, *, private_endpoint: Optional["_models.PrivateEndpoint"] = None, private_link_service_connection_state: Optional["_models.PrivateLinkServiceConnectionState"] = None, **kwargs: Any ) -> None: """ :keyword private_endpoint: The private endpoint resource. :paramtype private_endpoint: ~azure.mgmt.desktopvirtualization.models.PrivateEndpoint :keyword private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. :paramtype private_link_service_connection_state: ~azure.mgmt.desktopvirtualization.models.PrivateLinkServiceConnectionState """ super().__init__(**kwargs) self.group_ids = None self.private_endpoint = private_endpoint self.private_link_service_connection_state = private_link_service_connection_state self.provisioning_state = None
[docs] class PrivateEndpointConnectionListResultWithSystemData(_serialization.Model): # pylint: disable=name-too-long """List of private endpoint connection associated with the specified storage account. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: Array of private endpoint connections. :vartype value: list[~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnectionWithSystemData] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[PrivateEndpointConnectionWithSystemData]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__( self, *, value: Optional[List["_models.PrivateEndpointConnectionWithSystemData"]] = None, **kwargs: Any ) -> None: """ :keyword value: Array of private endpoint connections. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnectionWithSystemData] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class PrivateEndpointConnectionWithSystemData(PrivateEndpointConnection): """The Private Endpoint Connection resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar group_ids: The group ids for the private endpoint resource. :vartype group_ids: list[str] :ivar private_endpoint: The private endpoint resource. :vartype private_endpoint: ~azure.mgmt.desktopvirtualization.models.PrivateEndpoint :ivar private_link_service_connection_state: A collection of information about the state of the connection between service consumer and provider. :vartype private_link_service_connection_state: ~azure.mgmt.desktopvirtualization.models.PrivateLinkServiceConnectionState :ivar provisioning_state: The provisioning state of the private endpoint connection resource. Known values are: "Succeeded", "Creating", "Deleting", and "Failed". :vartype provisioning_state: str or ~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnectionProvisioningState """
[docs] class PrivateLinkResource(Resource): """A private link resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar group_id: The private link resource group id. :vartype group_id: str :ivar required_members: The private link resource required member names. :vartype required_members: list[str] :ivar required_zone_names: The private link resource Private link DNS zone name. :vartype required_zone_names: list[str] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "group_id": {"readonly": True}, "required_members": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "group_id": {"key": "properties.groupId", "type": "str"}, "required_members": {"key": "properties.requiredMembers", "type": "[str]"}, "required_zone_names": {"key": "properties.requiredZoneNames", "type": "[str]"}, } def __init__(self, *, required_zone_names: Optional[List[str]] = None, **kwargs: Any) -> None: """ :keyword required_zone_names: The private link resource Private link DNS zone name. :paramtype required_zone_names: list[str] """ super().__init__(**kwargs) self.group_id = None self.required_members = None self.required_zone_names = required_zone_names
[docs] class PrivateLinkResourceListResult(_serialization.Model): """A list of private link resources. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: Array of private link resources. :vartype value: list[~azure.mgmt.desktopvirtualization.models.PrivateLinkResource] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[PrivateLinkResource]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.PrivateLinkResource"]] = None, **kwargs: Any) -> None: """ :keyword value: Array of private link resources. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.PrivateLinkResource] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class PrivateLinkServiceConnectionState(_serialization.Model): """A collection of information about the state of the connection between service consumer and provider. :ivar status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Known values are: "Pending", "Approved", and "Rejected". :vartype status: str or ~azure.mgmt.desktopvirtualization.models.PrivateEndpointServiceConnectionStatus :ivar description: The reason for approval/rejection of the connection. :vartype description: str :ivar actions_required: A message indicating if changes on the service provider require any updates on the consumer. :vartype actions_required: str """ _attribute_map = { "status": {"key": "status", "type": "str"}, "description": {"key": "description", "type": "str"}, "actions_required": {"key": "actionsRequired", "type": "str"}, } def __init__( self, *, status: Optional[Union[str, "_models.PrivateEndpointServiceConnectionStatus"]] = None, description: Optional[str] = None, actions_required: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword status: Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. Known values are: "Pending", "Approved", and "Rejected". :paramtype status: str or ~azure.mgmt.desktopvirtualization.models.PrivateEndpointServiceConnectionStatus :keyword description: The reason for approval/rejection of the connection. :paramtype description: str :keyword actions_required: A message indicating if changes on the service provider require any updates on the consumer. :paramtype actions_required: str """ super().__init__(**kwargs) self.status = status self.description = description self.actions_required = actions_required
[docs] class ProxyResource(Resource): """The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData """
[docs] class RegistrationInfo(_serialization.Model): """Represents a RegistrationInfo definition. :ivar expiration_time: Expiration time of registration token. :vartype expiration_time: ~datetime.datetime :ivar token: The registration token base64 encoded string. :vartype token: str :ivar registration_token_operation: The type of resetting the token. Known values are: "Delete", "None", and "Update". :vartype registration_token_operation: str or ~azure.mgmt.desktopvirtualization.models.RegistrationTokenOperation """ _attribute_map = { "expiration_time": {"key": "expirationTime", "type": "iso-8601"}, "token": {"key": "token", "type": "str"}, "registration_token_operation": {"key": "registrationTokenOperation", "type": "str"}, } def __init__( self, *, expiration_time: Optional[datetime.datetime] = None, token: Optional[str] = None, registration_token_operation: Optional[Union[str, "_models.RegistrationTokenOperation"]] = None, **kwargs: Any ) -> None: """ :keyword expiration_time: Expiration time of registration token. :paramtype expiration_time: ~datetime.datetime :keyword token: The registration token base64 encoded string. :paramtype token: str :keyword registration_token_operation: The type of resetting the token. Known values are: "Delete", "None", and "Update". :paramtype registration_token_operation: str or ~azure.mgmt.desktopvirtualization.models.RegistrationTokenOperation """ super().__init__(**kwargs) self.expiration_time = expiration_time self.token = token self.registration_token_operation = registration_token_operation
[docs] class RegistrationInfoPatch(_serialization.Model): """Represents a RegistrationInfo definition. :ivar expiration_time: Expiration time of registration token. :vartype expiration_time: ~datetime.datetime :ivar registration_token_operation: The type of resetting the token. Known values are: "Delete", "None", and "Update". :vartype registration_token_operation: str or ~azure.mgmt.desktopvirtualization.models.RegistrationTokenOperation """ _attribute_map = { "expiration_time": {"key": "expirationTime", "type": "iso-8601"}, "registration_token_operation": {"key": "registrationTokenOperation", "type": "str"}, } def __init__( self, *, expiration_time: Optional[datetime.datetime] = None, registration_token_operation: Optional[Union[str, "_models.RegistrationTokenOperation"]] = None, **kwargs: Any ) -> None: """ :keyword expiration_time: Expiration time of registration token. :paramtype expiration_time: ~datetime.datetime :keyword registration_token_operation: The type of resetting the token. Known values are: "Delete", "None", and "Update". :paramtype registration_token_operation: str or ~azure.mgmt.desktopvirtualization.models.RegistrationTokenOperation """ super().__init__(**kwargs) self.expiration_time = expiration_time self.registration_token_operation = registration_token_operation
[docs] class RegistrationTokenList(_serialization.Model): """List of RegistrationToken definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of RegistrationToken definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.RegistrationTokenMinimal] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[RegistrationTokenMinimal]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.RegistrationTokenMinimal"]] = None, **kwargs: Any) -> None: """ :keyword value: List of RegistrationToken definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.RegistrationTokenMinimal] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class RegistrationTokenMinimal(_serialization.Model): """Represents a Minimal set of properties for RegistrationToken definition. :ivar expiration_time: Expiration time of registration token. :vartype expiration_time: ~datetime.datetime :ivar token: The registration token base64 encoded string. :vartype token: str """ _attribute_map = { "expiration_time": {"key": "expirationTime", "type": "iso-8601"}, "token": {"key": "token", "type": "str"}, } def __init__( self, *, expiration_time: Optional[datetime.datetime] = None, token: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword expiration_time: Expiration time of registration token. :paramtype expiration_time: ~datetime.datetime :keyword token: The registration token base64 encoded string. :paramtype token: str """ super().__init__(**kwargs) self.expiration_time = expiration_time self.token = token
[docs] class ResourceModelWithAllowedPropertySetIdentity(Identity): # pylint: disable=name-too-long """ResourceModelWithAllowedPropertySetIdentity. Variables are only populated by the server, and will be ignored when sending a request. :ivar principal_id: The principal ID of resource identity. The value must be an UUID. :vartype principal_id: str :ivar tenant_id: The tenant ID of resource. The value must be an UUID. :vartype tenant_id: str :ivar type: The identity type. Default value is "SystemAssigned". :vartype type: str """
[docs] class ResourceModelWithAllowedPropertySetPlan(Plan): """ResourceModelWithAllowedPropertySetPlan. All required parameters must be populated in order to send to server. :ivar name: A user defined name of the 3rd Party Artifact that is being procured. Required. :vartype name: str :ivar publisher: The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic. Required. :vartype publisher: str :ivar product: The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. Required. :vartype product: str :ivar promotion_code: A publisher provided promotion code as provisioned in Data Market for the said product/artifact. :vartype promotion_code: str :ivar version: The version of the desired product/artifact. :vartype version: str """
[docs] class Sku(_serialization.Model): """The resource model definition representing SKU. All required parameters must be populated in order to send to server. :ivar name: The name of the SKU. E.g. P3. It is typically a letter+number code. Required. :vartype name: str :ivar tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. Known values are: "Free", "Basic", "Standard", and "Premium". :vartype tier: str or ~azure.mgmt.desktopvirtualization.models.SkuTier :ivar size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. :vartype size: str :ivar family: If the service has different generations of hardware, for the same SKU, then that can be captured here. :vartype family: str :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. :vartype capacity: int """ _validation = { "name": {"required": True}, } _attribute_map = { "name": {"key": "name", "type": "str"}, "tier": {"key": "tier", "type": "str"}, "size": {"key": "size", "type": "str"}, "family": {"key": "family", "type": "str"}, "capacity": {"key": "capacity", "type": "int"}, } def __init__( self, *, name: str, tier: Optional[Union[str, "_models.SkuTier"]] = None, size: Optional[str] = None, family: Optional[str] = None, capacity: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword name: The name of the SKU. E.g. P3. It is typically a letter+number code. Required. :paramtype name: str :keyword tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. Known values are: "Free", "Basic", "Standard", and "Premium". :paramtype tier: str or ~azure.mgmt.desktopvirtualization.models.SkuTier :keyword size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. :paramtype size: str :keyword family: If the service has different generations of hardware, for the same SKU, then that can be captured here. :paramtype family: str :keyword capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. :paramtype capacity: int """ super().__init__(**kwargs) self.name = name self.tier = tier self.size = size self.family = family self.capacity = capacity
[docs] class ResourceModelWithAllowedPropertySetSku(Sku): """ResourceModelWithAllowedPropertySetSku. All required parameters must be populated in order to send to server. :ivar name: The name of the SKU. E.g. P3. It is typically a letter+number code. Required. :vartype name: str :ivar tier: This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. Known values are: "Free", "Basic", "Standard", and "Premium". :vartype tier: str or ~azure.mgmt.desktopvirtualization.models.SkuTier :ivar size: The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. :vartype size: str :ivar family: If the service has different generations of hardware, for the same SKU, then that can be captured here. :vartype family: str :ivar capacity: If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. :vartype capacity: int """
[docs] class ResourceProviderOperation(_serialization.Model): """Supported operation of this resource provider. :ivar name: Operation name, in format of {provider}/{resource}/{operation}. :vartype name: str :ivar display: Display metadata associated with the operation. :vartype display: ~azure.mgmt.desktopvirtualization.models.ResourceProviderOperationDisplay :ivar is_data_action: Is a data action. :vartype is_data_action: bool :ivar properties: Properties of the operation. :vartype properties: ~azure.mgmt.desktopvirtualization.models.OperationProperties """ _attribute_map = { "name": {"key": "name", "type": "str"}, "display": {"key": "display", "type": "ResourceProviderOperationDisplay"}, "is_data_action": {"key": "isDataAction", "type": "bool"}, "properties": {"key": "properties", "type": "OperationProperties"}, } def __init__( self, *, name: Optional[str] = None, display: Optional["_models.ResourceProviderOperationDisplay"] = None, is_data_action: Optional[bool] = None, properties: Optional["_models.OperationProperties"] = None, **kwargs: Any ) -> None: """ :keyword name: Operation name, in format of {provider}/{resource}/{operation}. :paramtype name: str :keyword display: Display metadata associated with the operation. :paramtype display: ~azure.mgmt.desktopvirtualization.models.ResourceProviderOperationDisplay :keyword is_data_action: Is a data action. :paramtype is_data_action: bool :keyword properties: Properties of the operation. :paramtype properties: ~azure.mgmt.desktopvirtualization.models.OperationProperties """ super().__init__(**kwargs) self.name = name self.display = display self.is_data_action = is_data_action self.properties = properties
[docs] class ResourceProviderOperationDisplay(_serialization.Model): """Display metadata associated with the operation. :ivar provider: Resource provider: Microsoft Desktop Virtualization. :vartype provider: str :ivar resource: Resource on which the operation is performed. :vartype resource: str :ivar operation: Type of operation: get, read, delete, etc. :vartype operation: str :ivar description: Description of this operation. :vartype description: str """ _attribute_map = { "provider": {"key": "provider", "type": "str"}, "resource": {"key": "resource", "type": "str"}, "operation": {"key": "operation", "type": "str"}, "description": {"key": "description", "type": "str"}, } def __init__( self, *, provider: Optional[str] = None, resource: Optional[str] = None, operation: Optional[str] = None, description: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword provider: Resource provider: Microsoft Desktop Virtualization. :paramtype provider: str :keyword resource: Resource on which the operation is performed. :paramtype resource: str :keyword operation: Type of operation: get, read, delete, etc. :paramtype operation: str :keyword description: Description of this operation. :paramtype description: str """ super().__init__(**kwargs) self.provider = provider self.resource = resource self.operation = operation self.description = description
[docs] class ResourceProviderOperationList(_serialization.Model): """Result of the request to list operations. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of operations supported by this resource provider. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ResourceProviderOperation] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ResourceProviderOperation]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ResourceProviderOperation"]] = None, **kwargs: Any) -> None: """ :keyword value: List of operations supported by this resource provider. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ResourceProviderOperation] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ScalingHostPoolReference(_serialization.Model): """Scaling plan reference to hostpool. :ivar host_pool_arm_path: Arm path of referenced hostpool. :vartype host_pool_arm_path: str :ivar scaling_plan_enabled: Is the scaling plan enabled for this hostpool. :vartype scaling_plan_enabled: bool """ _attribute_map = { "host_pool_arm_path": {"key": "hostPoolArmPath", "type": "str"}, "scaling_plan_enabled": {"key": "scalingPlanEnabled", "type": "bool"}, } def __init__( self, *, host_pool_arm_path: Optional[str] = None, scaling_plan_enabled: Optional[bool] = None, **kwargs: Any ) -> None: """ :keyword host_pool_arm_path: Arm path of referenced hostpool. :paramtype host_pool_arm_path: str :keyword scaling_plan_enabled: Is the scaling plan enabled for this hostpool. :paramtype scaling_plan_enabled: bool """ super().__init__(**kwargs) self.host_pool_arm_path = host_pool_arm_path self.scaling_plan_enabled = scaling_plan_enabled
[docs] class ScalingPlan(ResourceModelWithAllowedPropertySet): # pylint: disable=too-many-instance-attributes """Represents a scaling plan definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :vartype managed_by: str :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :vartype kind: str :ivar etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. :vartype etag: str :ivar identity: :vartype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :ivar sku: :vartype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :ivar plan: :vartype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :ivar object_id: ObjectId of scaling plan. (internal use). :vartype object_id: str :ivar description: Description of scaling plan. :vartype description: str :ivar friendly_name: User friendly name of scaling plan. :vartype friendly_name: str :ivar time_zone: Timezone of the scaling plan. Required. :vartype time_zone: str :ivar host_pool_type: HostPool type for desktop. "Pooled" :vartype host_pool_type: str or ~azure.mgmt.desktopvirtualization.models.ScalingHostPoolType :ivar exclusion_tag: Exclusion tag for scaling plan. :vartype exclusion_tag: str :ivar schedules: List of ScalingPlanPooledSchedule definitions. :vartype schedules: list[~azure.mgmt.desktopvirtualization.models.ScalingSchedule] :ivar host_pool_references: List of ScalingHostPoolReference definitions. :vartype host_pool_references: list[~azure.mgmt.desktopvirtualization.models.ScalingHostPoolReference] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "kind": {"pattern": r"^[-\w\._,\(\)]+$"}, "etag": {"readonly": True}, "object_id": {"readonly": True}, "time_zone": {"required": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "managed_by": {"key": "managedBy", "type": "str"}, "kind": {"key": "kind", "type": "str"}, "etag": {"key": "etag", "type": "str"}, "identity": {"key": "identity", "type": "ResourceModelWithAllowedPropertySetIdentity"}, "sku": {"key": "sku", "type": "ResourceModelWithAllowedPropertySetSku"}, "plan": {"key": "plan", "type": "ResourceModelWithAllowedPropertySetPlan"}, "object_id": {"key": "properties.objectId", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "time_zone": {"key": "properties.timeZone", "type": "str"}, "host_pool_type": {"key": "properties.hostPoolType", "type": "str"}, "exclusion_tag": {"key": "properties.exclusionTag", "type": "str"}, "schedules": {"key": "properties.schedules", "type": "[ScalingSchedule]"}, "host_pool_references": {"key": "properties.hostPoolReferences", "type": "[ScalingHostPoolReference]"}, } def __init__( self, *, location: str, time_zone: str, tags: Optional[Dict[str, str]] = None, managed_by: Optional[str] = None, kind: Optional[str] = None, identity: Optional["_models.ResourceModelWithAllowedPropertySetIdentity"] = None, sku: Optional["_models.ResourceModelWithAllowedPropertySetSku"] = None, plan: Optional["_models.ResourceModelWithAllowedPropertySetPlan"] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, host_pool_type: Union[str, "_models.ScalingHostPoolType"] = "Pooled", exclusion_tag: Optional[str] = None, schedules: Optional[List["_models.ScalingSchedule"]] = None, host_pool_references: Optional[List["_models.ScalingHostPoolReference"]] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :paramtype managed_by: str :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :paramtype kind: str :keyword identity: :paramtype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :keyword sku: :paramtype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :keyword plan: :paramtype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :keyword description: Description of scaling plan. :paramtype description: str :keyword friendly_name: User friendly name of scaling plan. :paramtype friendly_name: str :keyword time_zone: Timezone of the scaling plan. Required. :paramtype time_zone: str :keyword host_pool_type: HostPool type for desktop. "Pooled" :paramtype host_pool_type: str or ~azure.mgmt.desktopvirtualization.models.ScalingHostPoolType :keyword exclusion_tag: Exclusion tag for scaling plan. :paramtype exclusion_tag: str :keyword schedules: List of ScalingPlanPooledSchedule definitions. :paramtype schedules: list[~azure.mgmt.desktopvirtualization.models.ScalingSchedule] :keyword host_pool_references: List of ScalingHostPoolReference definitions. :paramtype host_pool_references: list[~azure.mgmt.desktopvirtualization.models.ScalingHostPoolReference] """ super().__init__( tags=tags, location=location, managed_by=managed_by, kind=kind, identity=identity, sku=sku, plan=plan, **kwargs ) self.object_id = None self.description = description self.friendly_name = friendly_name self.time_zone = time_zone self.host_pool_type = host_pool_type self.exclusion_tag = exclusion_tag self.schedules = schedules self.host_pool_references = host_pool_references
[docs] class ScalingPlanList(_serialization.Model): """List of scaling plan definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of scaling plan definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlan] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ScalingPlan]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ScalingPlan"]] = None, **kwargs: Any) -> None: """ :keyword value: List of scaling plan definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlan] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ScalingPlanPatch(_serialization.Model): """Scaling plan properties that can be patched. :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar description: Description of scaling plan. :vartype description: str :ivar friendly_name: User friendly name of scaling plan. :vartype friendly_name: str :ivar time_zone: Timezone of the scaling plan. :vartype time_zone: str :ivar exclusion_tag: Exclusion tag for scaling plan. :vartype exclusion_tag: str :ivar schedules: List of ScalingSchedule definitions. :vartype schedules: list[~azure.mgmt.desktopvirtualization.models.ScalingSchedule] :ivar host_pool_references: List of ScalingHostPoolReference definitions. :vartype host_pool_references: list[~azure.mgmt.desktopvirtualization.models.ScalingHostPoolReference] """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "time_zone": {"key": "properties.timeZone", "type": "str"}, "exclusion_tag": {"key": "properties.exclusionTag", "type": "str"}, "schedules": {"key": "properties.schedules", "type": "[ScalingSchedule]"}, "host_pool_references": {"key": "properties.hostPoolReferences", "type": "[ScalingHostPoolReference]"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, time_zone: Optional[str] = None, exclusion_tag: Optional[str] = None, schedules: Optional[List["_models.ScalingSchedule"]] = None, host_pool_references: Optional[List["_models.ScalingHostPoolReference"]] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword description: Description of scaling plan. :paramtype description: str :keyword friendly_name: User friendly name of scaling plan. :paramtype friendly_name: str :keyword time_zone: Timezone of the scaling plan. :paramtype time_zone: str :keyword exclusion_tag: Exclusion tag for scaling plan. :paramtype exclusion_tag: str :keyword schedules: List of ScalingSchedule definitions. :paramtype schedules: list[~azure.mgmt.desktopvirtualization.models.ScalingSchedule] :keyword host_pool_references: List of ScalingHostPoolReference definitions. :paramtype host_pool_references: list[~azure.mgmt.desktopvirtualization.models.ScalingHostPoolReference] """ super().__init__(**kwargs) self.tags = tags self.description = description self.friendly_name = friendly_name self.time_zone = time_zone self.exclusion_tag = exclusion_tag self.schedules = schedules self.host_pool_references = host_pool_references
[docs] class ScalingPlanPersonalSchedule(ProxyResource): # pylint: disable=too-many-instance-attributes """Represents a ScalingPlanPersonalSchedule definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar days_of_week: Set of days of the week on which this schedule is active. :vartype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :ivar ramp_up_start_time: Starting time for ramp up period. :vartype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. Known values are: "None", "WithAssignedUser", and "All". :vartype ramp_up_auto_start_hosts: str or ~azure.mgmt.desktopvirtualization.models.StartupBehavior :ivar ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. Known values are: "Enable" and "Disable". :vartype ramp_up_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_up_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. :vartype ramp_up_minutes_to_wait_on_disconnect: int :ivar ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_up_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. :vartype ramp_up_minutes_to_wait_on_logoff: int :ivar peak_start_time: Starting time for peak period. :vartype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. Known values are: "Enable" and "Disable". :vartype peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. :vartype peak_minutes_to_wait_on_disconnect: int :ivar peak_action_on_logoff: Action to be taken after a logoff during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. :vartype peak_minutes_to_wait_on_logoff: int :ivar ramp_down_start_time: Starting time for ramp down period. :vartype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. Known values are: "Enable" and "Disable". :vartype ramp_down_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_down_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. :vartype ramp_down_minutes_to_wait_on_disconnect: int :ivar ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_down_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. :vartype ramp_down_minutes_to_wait_on_logoff: int :ivar off_peak_start_time: Starting time for off-peak period. :vartype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. Known values are: "Enable" and "Disable". :vartype off_peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype off_peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. :vartype off_peak_minutes_to_wait_on_disconnect: int :ivar off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype off_peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. :vartype off_peak_minutes_to_wait_on_logoff: int """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "ramp_up_minutes_to_wait_on_disconnect": {"minimum": 0}, "ramp_up_minutes_to_wait_on_logoff": {"minimum": 0}, "peak_minutes_to_wait_on_disconnect": {"minimum": 0}, "peak_minutes_to_wait_on_logoff": {"minimum": 0}, "ramp_down_minutes_to_wait_on_disconnect": {"minimum": 0}, "ramp_down_minutes_to_wait_on_logoff": {"minimum": 0}, "off_peak_minutes_to_wait_on_disconnect": {"minimum": 0}, "off_peak_minutes_to_wait_on_logoff": {"minimum": 0}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "days_of_week": {"key": "properties.daysOfWeek", "type": "[str]"}, "ramp_up_start_time": {"key": "properties.rampUpStartTime", "type": "Time"}, "ramp_up_auto_start_hosts": {"key": "properties.rampUpAutoStartHosts", "type": "str"}, "ramp_up_start_vm_on_connect": {"key": "properties.rampUpStartVMOnConnect", "type": "str"}, "ramp_up_action_on_disconnect": {"key": "properties.rampUpActionOnDisconnect", "type": "str"}, "ramp_up_minutes_to_wait_on_disconnect": {"key": "properties.rampUpMinutesToWaitOnDisconnect", "type": "int"}, "ramp_up_action_on_logoff": {"key": "properties.rampUpActionOnLogoff", "type": "str"}, "ramp_up_minutes_to_wait_on_logoff": {"key": "properties.rampUpMinutesToWaitOnLogoff", "type": "int"}, "peak_start_time": {"key": "properties.peakStartTime", "type": "Time"}, "peak_start_vm_on_connect": {"key": "properties.peakStartVMOnConnect", "type": "str"}, "peak_action_on_disconnect": {"key": "properties.peakActionOnDisconnect", "type": "str"}, "peak_minutes_to_wait_on_disconnect": {"key": "properties.peakMinutesToWaitOnDisconnect", "type": "int"}, "peak_action_on_logoff": {"key": "properties.peakActionOnLogoff", "type": "str"}, "peak_minutes_to_wait_on_logoff": {"key": "properties.peakMinutesToWaitOnLogoff", "type": "int"}, "ramp_down_start_time": {"key": "properties.rampDownStartTime", "type": "Time"}, "ramp_down_start_vm_on_connect": {"key": "properties.rampDownStartVMOnConnect", "type": "str"}, "ramp_down_action_on_disconnect": {"key": "properties.rampDownActionOnDisconnect", "type": "str"}, "ramp_down_minutes_to_wait_on_disconnect": { "key": "properties.rampDownMinutesToWaitOnDisconnect", "type": "int", }, "ramp_down_action_on_logoff": {"key": "properties.rampDownActionOnLogoff", "type": "str"}, "ramp_down_minutes_to_wait_on_logoff": {"key": "properties.rampDownMinutesToWaitOnLogoff", "type": "int"}, "off_peak_start_time": {"key": "properties.offPeakStartTime", "type": "Time"}, "off_peak_start_vm_on_connect": {"key": "properties.offPeakStartVMOnConnect", "type": "str"}, "off_peak_action_on_disconnect": {"key": "properties.offPeakActionOnDisconnect", "type": "str"}, "off_peak_minutes_to_wait_on_disconnect": {"key": "properties.offPeakMinutesToWaitOnDisconnect", "type": "int"}, "off_peak_action_on_logoff": {"key": "properties.offPeakActionOnLogoff", "type": "str"}, "off_peak_minutes_to_wait_on_logoff": {"key": "properties.offPeakMinutesToWaitOnLogoff", "type": "int"}, } def __init__( # pylint: disable=too-many-locals self, *, days_of_week: Optional[List[Union[str, "_models.DayOfWeek"]]] = None, ramp_up_start_time: Optional["_models.Time"] = None, ramp_up_auto_start_hosts: Optional[Union[str, "_models.StartupBehavior"]] = None, ramp_up_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, ramp_up_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_up_minutes_to_wait_on_disconnect: Optional[int] = None, ramp_up_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_up_minutes_to_wait_on_logoff: Optional[int] = None, peak_start_time: Optional["_models.Time"] = None, peak_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, peak_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, peak_minutes_to_wait_on_disconnect: Optional[int] = None, peak_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, peak_minutes_to_wait_on_logoff: Optional[int] = None, ramp_down_start_time: Optional["_models.Time"] = None, ramp_down_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, ramp_down_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_down_minutes_to_wait_on_disconnect: Optional[int] = None, ramp_down_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_down_minutes_to_wait_on_logoff: Optional[int] = None, off_peak_start_time: Optional["_models.Time"] = None, off_peak_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, off_peak_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, off_peak_minutes_to_wait_on_disconnect: Optional[int] = None, off_peak_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, off_peak_minutes_to_wait_on_logoff: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword days_of_week: Set of days of the week on which this schedule is active. :paramtype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :keyword ramp_up_start_time: Starting time for ramp up period. :paramtype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. Known values are: "None", "WithAssignedUser", and "All". :paramtype ramp_up_auto_start_hosts: str or ~azure.mgmt.desktopvirtualization.models.StartupBehavior :keyword ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. Known values are: "Enable" and "Disable". :paramtype ramp_up_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_up_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. :paramtype ramp_up_minutes_to_wait_on_disconnect: int :keyword ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_up_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. :paramtype ramp_up_minutes_to_wait_on_logoff: int :keyword peak_start_time: Starting time for peak period. :paramtype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. Known values are: "Enable" and "Disable". :paramtype peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. :paramtype peak_minutes_to_wait_on_disconnect: int :keyword peak_action_on_logoff: Action to be taken after a logoff during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. :paramtype peak_minutes_to_wait_on_logoff: int :keyword ramp_down_start_time: Starting time for ramp down period. :paramtype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. Known values are: "Enable" and "Disable". :paramtype ramp_down_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_down_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. :paramtype ramp_down_minutes_to_wait_on_disconnect: int :keyword ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_down_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. :paramtype ramp_down_minutes_to_wait_on_logoff: int :keyword off_peak_start_time: Starting time for off-peak period. :paramtype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. Known values are: "Enable" and "Disable". :paramtype off_peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype off_peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. :paramtype off_peak_minutes_to_wait_on_disconnect: int :keyword off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype off_peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. :paramtype off_peak_minutes_to_wait_on_logoff: int """ super().__init__(**kwargs) self.days_of_week = days_of_week self.ramp_up_start_time = ramp_up_start_time self.ramp_up_auto_start_hosts = ramp_up_auto_start_hosts self.ramp_up_start_vm_on_connect = ramp_up_start_vm_on_connect self.ramp_up_action_on_disconnect = ramp_up_action_on_disconnect self.ramp_up_minutes_to_wait_on_disconnect = ramp_up_minutes_to_wait_on_disconnect self.ramp_up_action_on_logoff = ramp_up_action_on_logoff self.ramp_up_minutes_to_wait_on_logoff = ramp_up_minutes_to_wait_on_logoff self.peak_start_time = peak_start_time self.peak_start_vm_on_connect = peak_start_vm_on_connect self.peak_action_on_disconnect = peak_action_on_disconnect self.peak_minutes_to_wait_on_disconnect = peak_minutes_to_wait_on_disconnect self.peak_action_on_logoff = peak_action_on_logoff self.peak_minutes_to_wait_on_logoff = peak_minutes_to_wait_on_logoff self.ramp_down_start_time = ramp_down_start_time self.ramp_down_start_vm_on_connect = ramp_down_start_vm_on_connect self.ramp_down_action_on_disconnect = ramp_down_action_on_disconnect self.ramp_down_minutes_to_wait_on_disconnect = ramp_down_minutes_to_wait_on_disconnect self.ramp_down_action_on_logoff = ramp_down_action_on_logoff self.ramp_down_minutes_to_wait_on_logoff = ramp_down_minutes_to_wait_on_logoff self.off_peak_start_time = off_peak_start_time self.off_peak_start_vm_on_connect = off_peak_start_vm_on_connect self.off_peak_action_on_disconnect = off_peak_action_on_disconnect self.off_peak_minutes_to_wait_on_disconnect = off_peak_minutes_to_wait_on_disconnect self.off_peak_action_on_logoff = off_peak_action_on_logoff self.off_peak_minutes_to_wait_on_logoff = off_peak_minutes_to_wait_on_logoff
[docs] class ScalingPlanPersonalScheduleList(_serialization.Model): """List of ScalingPlanPersonalSchedule definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of ScalingPlanPersonalSchedule definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlanPersonalSchedule] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ScalingPlanPersonalSchedule]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ScalingPlanPersonalSchedule"]] = None, **kwargs: Any) -> None: """ :keyword value: List of ScalingPlanPersonalSchedule definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlanPersonalSchedule] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ScalingPlanPersonalSchedulePatch(_serialization.Model): # pylint: disable=too-many-instance-attributes """ScalingPlanPersonalSchedule properties that can be patched. :ivar days_of_week: Set of days of the week on which this schedule is active. :vartype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :ivar ramp_up_start_time: Starting time for ramp up period. :vartype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. Known values are: "None", "WithAssignedUser", and "All". :vartype ramp_up_auto_start_hosts: str or ~azure.mgmt.desktopvirtualization.models.StartupBehavior :ivar ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. Known values are: "Enable" and "Disable". :vartype ramp_up_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_up_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. :vartype ramp_up_minutes_to_wait_on_disconnect: int :ivar ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_up_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. :vartype ramp_up_minutes_to_wait_on_logoff: int :ivar peak_start_time: Starting time for peak period. :vartype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. Known values are: "Enable" and "Disable". :vartype peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. :vartype peak_minutes_to_wait_on_disconnect: int :ivar peak_action_on_logoff: Action to be taken after a logoff during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. :vartype peak_minutes_to_wait_on_logoff: int :ivar ramp_down_start_time: Starting time for ramp down period. :vartype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. Known values are: "Enable" and "Disable". :vartype ramp_down_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_down_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. :vartype ramp_down_minutes_to_wait_on_disconnect: int :ivar ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :vartype ramp_down_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. :vartype ramp_down_minutes_to_wait_on_logoff: int :ivar off_peak_start_time: Starting time for off-peak period. :vartype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. Known values are: "Enable" and "Disable". :vartype off_peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :ivar off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype off_peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. :vartype off_peak_minutes_to_wait_on_disconnect: int :ivar off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :vartype off_peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :ivar off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. :vartype off_peak_minutes_to_wait_on_logoff: int """ _validation = { "ramp_up_minutes_to_wait_on_disconnect": {"minimum": 0}, "ramp_up_minutes_to_wait_on_logoff": {"minimum": 0}, "peak_minutes_to_wait_on_disconnect": {"minimum": 0}, "peak_minutes_to_wait_on_logoff": {"minimum": 0}, "ramp_down_minutes_to_wait_on_disconnect": {"minimum": 0}, "ramp_down_minutes_to_wait_on_logoff": {"minimum": 0}, "off_peak_minutes_to_wait_on_disconnect": {"minimum": 0}, "off_peak_minutes_to_wait_on_logoff": {"minimum": 0}, } _attribute_map = { "days_of_week": {"key": "properties.daysOfWeek", "type": "[str]"}, "ramp_up_start_time": {"key": "properties.rampUpStartTime", "type": "Time"}, "ramp_up_auto_start_hosts": {"key": "properties.rampUpAutoStartHosts", "type": "str"}, "ramp_up_start_vm_on_connect": {"key": "properties.rampUpStartVMOnConnect", "type": "str"}, "ramp_up_action_on_disconnect": {"key": "properties.rampUpActionOnDisconnect", "type": "str"}, "ramp_up_minutes_to_wait_on_disconnect": {"key": "properties.rampUpMinutesToWaitOnDisconnect", "type": "int"}, "ramp_up_action_on_logoff": {"key": "properties.rampUpActionOnLogoff", "type": "str"}, "ramp_up_minutes_to_wait_on_logoff": {"key": "properties.rampUpMinutesToWaitOnLogoff", "type": "int"}, "peak_start_time": {"key": "properties.peakStartTime", "type": "Time"}, "peak_start_vm_on_connect": {"key": "properties.peakStartVMOnConnect", "type": "str"}, "peak_action_on_disconnect": {"key": "properties.peakActionOnDisconnect", "type": "str"}, "peak_minutes_to_wait_on_disconnect": {"key": "properties.peakMinutesToWaitOnDisconnect", "type": "int"}, "peak_action_on_logoff": {"key": "properties.peakActionOnLogoff", "type": "str"}, "peak_minutes_to_wait_on_logoff": {"key": "properties.peakMinutesToWaitOnLogoff", "type": "int"}, "ramp_down_start_time": {"key": "properties.rampDownStartTime", "type": "Time"}, "ramp_down_start_vm_on_connect": {"key": "properties.rampDownStartVMOnConnect", "type": "str"}, "ramp_down_action_on_disconnect": {"key": "properties.rampDownActionOnDisconnect", "type": "str"}, "ramp_down_minutes_to_wait_on_disconnect": { "key": "properties.rampDownMinutesToWaitOnDisconnect", "type": "int", }, "ramp_down_action_on_logoff": {"key": "properties.rampDownActionOnLogoff", "type": "str"}, "ramp_down_minutes_to_wait_on_logoff": {"key": "properties.rampDownMinutesToWaitOnLogoff", "type": "int"}, "off_peak_start_time": {"key": "properties.offPeakStartTime", "type": "Time"}, "off_peak_start_vm_on_connect": {"key": "properties.offPeakStartVMOnConnect", "type": "str"}, "off_peak_action_on_disconnect": {"key": "properties.offPeakActionOnDisconnect", "type": "str"}, "off_peak_minutes_to_wait_on_disconnect": {"key": "properties.offPeakMinutesToWaitOnDisconnect", "type": "int"}, "off_peak_action_on_logoff": {"key": "properties.offPeakActionOnLogoff", "type": "str"}, "off_peak_minutes_to_wait_on_logoff": {"key": "properties.offPeakMinutesToWaitOnLogoff", "type": "int"}, } def __init__( # pylint: disable=too-many-locals self, *, days_of_week: Optional[List[Union[str, "_models.DayOfWeek"]]] = None, ramp_up_start_time: Optional["_models.Time"] = None, ramp_up_auto_start_hosts: Optional[Union[str, "_models.StartupBehavior"]] = None, ramp_up_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, ramp_up_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_up_minutes_to_wait_on_disconnect: Optional[int] = None, ramp_up_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_up_minutes_to_wait_on_logoff: Optional[int] = None, peak_start_time: Optional["_models.Time"] = None, peak_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, peak_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, peak_minutes_to_wait_on_disconnect: Optional[int] = None, peak_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, peak_minutes_to_wait_on_logoff: Optional[int] = None, ramp_down_start_time: Optional["_models.Time"] = None, ramp_down_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, ramp_down_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_down_minutes_to_wait_on_disconnect: Optional[int] = None, ramp_down_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, ramp_down_minutes_to_wait_on_logoff: Optional[int] = None, off_peak_start_time: Optional["_models.Time"] = None, off_peak_start_vm_on_connect: Optional[Union[str, "_models.SetStartVMOnConnect"]] = None, off_peak_action_on_disconnect: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, off_peak_minutes_to_wait_on_disconnect: Optional[int] = None, off_peak_action_on_logoff: Optional[Union[str, "_models.SessionHandlingOperation"]] = None, off_peak_minutes_to_wait_on_logoff: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword days_of_week: Set of days of the week on which this schedule is active. :paramtype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :keyword ramp_up_start_time: Starting time for ramp up period. :paramtype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_up_auto_start_hosts: The desired startup behavior during the ramp up period for personal vms in the hostpool. Known values are: "None", "WithAssignedUser", and "All". :paramtype ramp_up_auto_start_hosts: str or ~azure.mgmt.desktopvirtualization.models.StartupBehavior :keyword ramp_up_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually. Known values are: "Enable" and "Disable". :paramtype ramp_up_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword ramp_up_action_on_disconnect: Action to be taken after a user disconnect during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_up_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_up_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period. :paramtype ramp_up_minutes_to_wait_on_disconnect: int :keyword ramp_up_action_on_logoff: Action to be taken after a logoff during the ramp up period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_up_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_up_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period. :paramtype ramp_up_minutes_to_wait_on_logoff: int :keyword peak_start_time: Starting time for peak period. :paramtype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the peak phase. Known values are: "Enable" and "Disable". :paramtype peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword peak_action_on_disconnect: Action to be taken after a user disconnect during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period. :paramtype peak_minutes_to_wait_on_disconnect: int :keyword peak_action_on_logoff: Action to be taken after a logoff during the peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period. :paramtype peak_minutes_to_wait_on_logoff: int :keyword ramp_down_start_time: Starting time for ramp down period. :paramtype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_down_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the ramp down phase. Known values are: "Enable" and "Disable". :paramtype ramp_down_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword ramp_down_action_on_disconnect: Action to be taken after a user disconnect during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_down_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_down_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period. :paramtype ramp_down_minutes_to_wait_on_disconnect: int :keyword ramp_down_action_on_logoff: Action to be taken after a logoff during the ramp down period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype ramp_down_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword ramp_down_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period. :paramtype ramp_down_minutes_to_wait_on_logoff: int :keyword off_peak_start_time: Starting time for off-peak period. :paramtype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword off_peak_start_vm_on_connect: The desired configuration of Start VM On Connect for the hostpool during the off-peak phase. Known values are: "Enable" and "Disable". :paramtype off_peak_start_vm_on_connect: str or ~azure.mgmt.desktopvirtualization.models.SetStartVMOnConnect :keyword off_peak_action_on_disconnect: Action to be taken after a user disconnect during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype off_peak_action_on_disconnect: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword off_peak_minutes_to_wait_on_disconnect: The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period. :paramtype off_peak_minutes_to_wait_on_disconnect: int :keyword off_peak_action_on_logoff: Action to be taken after a logoff during the off-peak period. Known values are: "None", "Deallocate", and "Hibernate". :paramtype off_peak_action_on_logoff: str or ~azure.mgmt.desktopvirtualization.models.SessionHandlingOperation :keyword off_peak_minutes_to_wait_on_logoff: The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period. :paramtype off_peak_minutes_to_wait_on_logoff: int """ super().__init__(**kwargs) self.days_of_week = days_of_week self.ramp_up_start_time = ramp_up_start_time self.ramp_up_auto_start_hosts = ramp_up_auto_start_hosts self.ramp_up_start_vm_on_connect = ramp_up_start_vm_on_connect self.ramp_up_action_on_disconnect = ramp_up_action_on_disconnect self.ramp_up_minutes_to_wait_on_disconnect = ramp_up_minutes_to_wait_on_disconnect self.ramp_up_action_on_logoff = ramp_up_action_on_logoff self.ramp_up_minutes_to_wait_on_logoff = ramp_up_minutes_to_wait_on_logoff self.peak_start_time = peak_start_time self.peak_start_vm_on_connect = peak_start_vm_on_connect self.peak_action_on_disconnect = peak_action_on_disconnect self.peak_minutes_to_wait_on_disconnect = peak_minutes_to_wait_on_disconnect self.peak_action_on_logoff = peak_action_on_logoff self.peak_minutes_to_wait_on_logoff = peak_minutes_to_wait_on_logoff self.ramp_down_start_time = ramp_down_start_time self.ramp_down_start_vm_on_connect = ramp_down_start_vm_on_connect self.ramp_down_action_on_disconnect = ramp_down_action_on_disconnect self.ramp_down_minutes_to_wait_on_disconnect = ramp_down_minutes_to_wait_on_disconnect self.ramp_down_action_on_logoff = ramp_down_action_on_logoff self.ramp_down_minutes_to_wait_on_logoff = ramp_down_minutes_to_wait_on_logoff self.off_peak_start_time = off_peak_start_time self.off_peak_start_vm_on_connect = off_peak_start_vm_on_connect self.off_peak_action_on_disconnect = off_peak_action_on_disconnect self.off_peak_minutes_to_wait_on_disconnect = off_peak_minutes_to_wait_on_disconnect self.off_peak_action_on_logoff = off_peak_action_on_logoff self.off_peak_minutes_to_wait_on_logoff = off_peak_minutes_to_wait_on_logoff
[docs] class ScalingPlanPooledSchedule(Resource): # pylint: disable=too-many-instance-attributes """Represents a ScalingPlanPooledSchedule definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar days_of_week: Set of days of the week on which this schedule is active. :vartype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :ivar ramp_up_start_time: Starting time for ramp up period. :vartype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :vartype ramp_up_minimum_hosts_pct: int :ivar ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :vartype ramp_up_capacity_threshold_pct: int :ivar peak_start_time: Starting time for peak period. :vartype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_start_time: Starting time for ramp down period. :vartype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :vartype ramp_down_minimum_hosts_pct: int :ivar ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :vartype ramp_down_capacity_threshold_pct: int :ivar ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :vartype ramp_down_force_logoff_users: bool :ivar ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :vartype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :ivar ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :vartype ramp_down_wait_time_minutes: int :ivar ramp_down_notification_message: Notification message for users during ramp down period. :vartype ramp_down_notification_message: str :ivar off_peak_start_time: Starting time for off-peak period. :vartype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "ramp_up_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_up_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, "ramp_down_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_down_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "days_of_week": {"key": "properties.daysOfWeek", "type": "[str]"}, "ramp_up_start_time": {"key": "properties.rampUpStartTime", "type": "Time"}, "ramp_up_load_balancing_algorithm": {"key": "properties.rampUpLoadBalancingAlgorithm", "type": "str"}, "ramp_up_minimum_hosts_pct": {"key": "properties.rampUpMinimumHostsPct", "type": "int"}, "ramp_up_capacity_threshold_pct": {"key": "properties.rampUpCapacityThresholdPct", "type": "int"}, "peak_start_time": {"key": "properties.peakStartTime", "type": "Time"}, "peak_load_balancing_algorithm": {"key": "properties.peakLoadBalancingAlgorithm", "type": "str"}, "ramp_down_start_time": {"key": "properties.rampDownStartTime", "type": "Time"}, "ramp_down_load_balancing_algorithm": {"key": "properties.rampDownLoadBalancingAlgorithm", "type": "str"}, "ramp_down_minimum_hosts_pct": {"key": "properties.rampDownMinimumHostsPct", "type": "int"}, "ramp_down_capacity_threshold_pct": {"key": "properties.rampDownCapacityThresholdPct", "type": "int"}, "ramp_down_force_logoff_users": {"key": "properties.rampDownForceLogoffUsers", "type": "bool"}, "ramp_down_stop_hosts_when": {"key": "properties.rampDownStopHostsWhen", "type": "str"}, "ramp_down_wait_time_minutes": {"key": "properties.rampDownWaitTimeMinutes", "type": "int"}, "ramp_down_notification_message": {"key": "properties.rampDownNotificationMessage", "type": "str"}, "off_peak_start_time": {"key": "properties.offPeakStartTime", "type": "Time"}, "off_peak_load_balancing_algorithm": {"key": "properties.offPeakLoadBalancingAlgorithm", "type": "str"}, } def __init__( self, *, days_of_week: Optional[List[Union[str, "_models.DayOfWeek"]]] = None, ramp_up_start_time: Optional["_models.Time"] = None, ramp_up_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_up_minimum_hosts_pct: Optional[int] = None, ramp_up_capacity_threshold_pct: Optional[int] = None, peak_start_time: Optional["_models.Time"] = None, peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_start_time: Optional["_models.Time"] = None, ramp_down_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_minimum_hosts_pct: Optional[int] = None, ramp_down_capacity_threshold_pct: Optional[int] = None, ramp_down_force_logoff_users: Optional[bool] = None, ramp_down_stop_hosts_when: Optional[Union[str, "_models.StopHostsWhen"]] = None, ramp_down_wait_time_minutes: Optional[int] = None, ramp_down_notification_message: Optional[str] = None, off_peak_start_time: Optional["_models.Time"] = None, off_peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, **kwargs: Any ) -> None: """ :keyword days_of_week: Set of days of the week on which this schedule is active. :paramtype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :keyword ramp_up_start_time: Starting time for ramp up period. :paramtype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :paramtype ramp_up_minimum_hosts_pct: int :keyword ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :paramtype ramp_up_capacity_threshold_pct: int :keyword peak_start_time: Starting time for peak period. :paramtype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_start_time: Starting time for ramp down period. :paramtype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :paramtype ramp_down_minimum_hosts_pct: int :keyword ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :paramtype ramp_down_capacity_threshold_pct: int :keyword ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :paramtype ramp_down_force_logoff_users: bool :keyword ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :paramtype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :keyword ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :paramtype ramp_down_wait_time_minutes: int :keyword ramp_down_notification_message: Notification message for users during ramp down period. :paramtype ramp_down_notification_message: str :keyword off_peak_start_time: Starting time for off-peak period. :paramtype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ super().__init__(**kwargs) self.days_of_week = days_of_week self.ramp_up_start_time = ramp_up_start_time self.ramp_up_load_balancing_algorithm = ramp_up_load_balancing_algorithm self.ramp_up_minimum_hosts_pct = ramp_up_minimum_hosts_pct self.ramp_up_capacity_threshold_pct = ramp_up_capacity_threshold_pct self.peak_start_time = peak_start_time self.peak_load_balancing_algorithm = peak_load_balancing_algorithm self.ramp_down_start_time = ramp_down_start_time self.ramp_down_load_balancing_algorithm = ramp_down_load_balancing_algorithm self.ramp_down_minimum_hosts_pct = ramp_down_minimum_hosts_pct self.ramp_down_capacity_threshold_pct = ramp_down_capacity_threshold_pct self.ramp_down_force_logoff_users = ramp_down_force_logoff_users self.ramp_down_stop_hosts_when = ramp_down_stop_hosts_when self.ramp_down_wait_time_minutes = ramp_down_wait_time_minutes self.ramp_down_notification_message = ramp_down_notification_message self.off_peak_start_time = off_peak_start_time self.off_peak_load_balancing_algorithm = off_peak_load_balancing_algorithm
[docs] class ScalingPlanPooledScheduleList(_serialization.Model): """List of ScalingPlanPooledSchedule definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of ScalingPlanPooledSchedule definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlanPooledSchedule] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[ScalingPlanPooledSchedule]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.ScalingPlanPooledSchedule"]] = None, **kwargs: Any) -> None: """ :keyword value: List of ScalingPlanPooledSchedule definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.ScalingPlanPooledSchedule] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class ScalingPlanPooledSchedulePatch(Resource): # pylint: disable=too-many-instance-attributes """ScalingPlanPooledSchedule properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar days_of_week: Set of days of the week on which this schedule is active. :vartype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :ivar ramp_up_start_time: Starting time for ramp up period. :vartype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :vartype ramp_up_minimum_hosts_pct: int :ivar ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :vartype ramp_up_capacity_threshold_pct: int :ivar peak_start_time: Starting time for peak period. :vartype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_start_time: Starting time for ramp down period. :vartype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :vartype ramp_down_minimum_hosts_pct: int :ivar ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :vartype ramp_down_capacity_threshold_pct: int :ivar ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :vartype ramp_down_force_logoff_users: bool :ivar ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :vartype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :ivar ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :vartype ramp_down_wait_time_minutes: int :ivar ramp_down_notification_message: Notification message for users during ramp down period. :vartype ramp_down_notification_message: str :ivar off_peak_start_time: Starting time for off-peak period. :vartype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "ramp_up_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_up_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, "ramp_down_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_down_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "days_of_week": {"key": "properties.daysOfWeek", "type": "[str]"}, "ramp_up_start_time": {"key": "properties.rampUpStartTime", "type": "Time"}, "ramp_up_load_balancing_algorithm": {"key": "properties.rampUpLoadBalancingAlgorithm", "type": "str"}, "ramp_up_minimum_hosts_pct": {"key": "properties.rampUpMinimumHostsPct", "type": "int"}, "ramp_up_capacity_threshold_pct": {"key": "properties.rampUpCapacityThresholdPct", "type": "int"}, "peak_start_time": {"key": "properties.peakStartTime", "type": "Time"}, "peak_load_balancing_algorithm": {"key": "properties.peakLoadBalancingAlgorithm", "type": "str"}, "ramp_down_start_time": {"key": "properties.rampDownStartTime", "type": "Time"}, "ramp_down_load_balancing_algorithm": {"key": "properties.rampDownLoadBalancingAlgorithm", "type": "str"}, "ramp_down_minimum_hosts_pct": {"key": "properties.rampDownMinimumHostsPct", "type": "int"}, "ramp_down_capacity_threshold_pct": {"key": "properties.rampDownCapacityThresholdPct", "type": "int"}, "ramp_down_force_logoff_users": {"key": "properties.rampDownForceLogoffUsers", "type": "bool"}, "ramp_down_stop_hosts_when": {"key": "properties.rampDownStopHostsWhen", "type": "str"}, "ramp_down_wait_time_minutes": {"key": "properties.rampDownWaitTimeMinutes", "type": "int"}, "ramp_down_notification_message": {"key": "properties.rampDownNotificationMessage", "type": "str"}, "off_peak_start_time": {"key": "properties.offPeakStartTime", "type": "Time"}, "off_peak_load_balancing_algorithm": {"key": "properties.offPeakLoadBalancingAlgorithm", "type": "str"}, } def __init__( self, *, days_of_week: Optional[List[Union[str, "_models.DayOfWeek"]]] = None, ramp_up_start_time: Optional["_models.Time"] = None, ramp_up_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_up_minimum_hosts_pct: Optional[int] = None, ramp_up_capacity_threshold_pct: Optional[int] = None, peak_start_time: Optional["_models.Time"] = None, peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_start_time: Optional["_models.Time"] = None, ramp_down_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_minimum_hosts_pct: Optional[int] = None, ramp_down_capacity_threshold_pct: Optional[int] = None, ramp_down_force_logoff_users: Optional[bool] = None, ramp_down_stop_hosts_when: Optional[Union[str, "_models.StopHostsWhen"]] = None, ramp_down_wait_time_minutes: Optional[int] = None, ramp_down_notification_message: Optional[str] = None, off_peak_start_time: Optional["_models.Time"] = None, off_peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, **kwargs: Any ) -> None: """ :keyword days_of_week: Set of days of the week on which this schedule is active. :paramtype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.DayOfWeek] :keyword ramp_up_start_time: Starting time for ramp up period. :paramtype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :paramtype ramp_up_minimum_hosts_pct: int :keyword ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :paramtype ramp_up_capacity_threshold_pct: int :keyword peak_start_time: Starting time for peak period. :paramtype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_start_time: Starting time for ramp down period. :paramtype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :paramtype ramp_down_minimum_hosts_pct: int :keyword ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :paramtype ramp_down_capacity_threshold_pct: int :keyword ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :paramtype ramp_down_force_logoff_users: bool :keyword ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :paramtype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :keyword ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :paramtype ramp_down_wait_time_minutes: int :keyword ramp_down_notification_message: Notification message for users during ramp down period. :paramtype ramp_down_notification_message: str :keyword off_peak_start_time: Starting time for off-peak period. :paramtype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ super().__init__(**kwargs) self.days_of_week = days_of_week self.ramp_up_start_time = ramp_up_start_time self.ramp_up_load_balancing_algorithm = ramp_up_load_balancing_algorithm self.ramp_up_minimum_hosts_pct = ramp_up_minimum_hosts_pct self.ramp_up_capacity_threshold_pct = ramp_up_capacity_threshold_pct self.peak_start_time = peak_start_time self.peak_load_balancing_algorithm = peak_load_balancing_algorithm self.ramp_down_start_time = ramp_down_start_time self.ramp_down_load_balancing_algorithm = ramp_down_load_balancing_algorithm self.ramp_down_minimum_hosts_pct = ramp_down_minimum_hosts_pct self.ramp_down_capacity_threshold_pct = ramp_down_capacity_threshold_pct self.ramp_down_force_logoff_users = ramp_down_force_logoff_users self.ramp_down_stop_hosts_when = ramp_down_stop_hosts_when self.ramp_down_wait_time_minutes = ramp_down_wait_time_minutes self.ramp_down_notification_message = ramp_down_notification_message self.off_peak_start_time = off_peak_start_time self.off_peak_load_balancing_algorithm = off_peak_load_balancing_algorithm
[docs] class ScalingSchedule(_serialization.Model): # pylint: disable=too-many-instance-attributes """A ScalingPlanPooledSchedule. :ivar name: Name of the ScalingPlanPooledSchedule. :vartype name: str :ivar days_of_week: Set of days of the week on which this schedule is active. :vartype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.ScalingScheduleDaysOfWeekItem] :ivar ramp_up_start_time: Starting time for ramp up period. :vartype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :vartype ramp_up_minimum_hosts_pct: int :ivar ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :vartype ramp_up_capacity_threshold_pct: int :ivar peak_start_time: Starting time for peak period. :vartype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_start_time: Starting time for ramp down period. :vartype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :vartype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :ivar ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :vartype ramp_down_minimum_hosts_pct: int :ivar ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :vartype ramp_down_capacity_threshold_pct: int :ivar ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :vartype ramp_down_force_logoff_users: bool :ivar ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :vartype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :ivar ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :vartype ramp_down_wait_time_minutes: int :ivar ramp_down_notification_message: Notification message for users during ramp down period. :vartype ramp_down_notification_message: str :ivar off_peak_start_time: Starting time for off-peak period. :vartype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :ivar off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :vartype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ _validation = { "ramp_up_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_up_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, "ramp_down_minimum_hosts_pct": {"maximum": 100, "minimum": 0}, "ramp_down_capacity_threshold_pct": {"maximum": 100, "minimum": 1}, } _attribute_map = { "name": {"key": "name", "type": "str"}, "days_of_week": {"key": "daysOfWeek", "type": "[str]"}, "ramp_up_start_time": {"key": "rampUpStartTime", "type": "Time"}, "ramp_up_load_balancing_algorithm": {"key": "rampUpLoadBalancingAlgorithm", "type": "str"}, "ramp_up_minimum_hosts_pct": {"key": "rampUpMinimumHostsPct", "type": "int"}, "ramp_up_capacity_threshold_pct": {"key": "rampUpCapacityThresholdPct", "type": "int"}, "peak_start_time": {"key": "peakStartTime", "type": "Time"}, "peak_load_balancing_algorithm": {"key": "peakLoadBalancingAlgorithm", "type": "str"}, "ramp_down_start_time": {"key": "rampDownStartTime", "type": "Time"}, "ramp_down_load_balancing_algorithm": {"key": "rampDownLoadBalancingAlgorithm", "type": "str"}, "ramp_down_minimum_hosts_pct": {"key": "rampDownMinimumHostsPct", "type": "int"}, "ramp_down_capacity_threshold_pct": {"key": "rampDownCapacityThresholdPct", "type": "int"}, "ramp_down_force_logoff_users": {"key": "rampDownForceLogoffUsers", "type": "bool"}, "ramp_down_stop_hosts_when": {"key": "rampDownStopHostsWhen", "type": "str"}, "ramp_down_wait_time_minutes": {"key": "rampDownWaitTimeMinutes", "type": "int"}, "ramp_down_notification_message": {"key": "rampDownNotificationMessage", "type": "str"}, "off_peak_start_time": {"key": "offPeakStartTime", "type": "Time"}, "off_peak_load_balancing_algorithm": {"key": "offPeakLoadBalancingAlgorithm", "type": "str"}, } def __init__( self, *, name: Optional[str] = None, days_of_week: Optional[List[Union[str, "_models.ScalingScheduleDaysOfWeekItem"]]] = None, ramp_up_start_time: Optional["_models.Time"] = None, ramp_up_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_up_minimum_hosts_pct: Optional[int] = None, ramp_up_capacity_threshold_pct: Optional[int] = None, peak_start_time: Optional["_models.Time"] = None, peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_start_time: Optional["_models.Time"] = None, ramp_down_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, ramp_down_minimum_hosts_pct: Optional[int] = None, ramp_down_capacity_threshold_pct: Optional[int] = None, ramp_down_force_logoff_users: Optional[bool] = None, ramp_down_stop_hosts_when: Optional[Union[str, "_models.StopHostsWhen"]] = None, ramp_down_wait_time_minutes: Optional[int] = None, ramp_down_notification_message: Optional[str] = None, off_peak_start_time: Optional["_models.Time"] = None, off_peak_load_balancing_algorithm: Optional[Union[str, "_models.SessionHostLoadBalancingAlgorithm"]] = None, **kwargs: Any ) -> None: """ :keyword name: Name of the ScalingPlanPooledSchedule. :paramtype name: str :keyword days_of_week: Set of days of the week on which this schedule is active. :paramtype days_of_week: list[str or ~azure.mgmt.desktopvirtualization.models.ScalingScheduleDaysOfWeekItem] :keyword ramp_up_start_time: Starting time for ramp up period. :paramtype ramp_up_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_up_load_balancing_algorithm: Load balancing algorithm for ramp up period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_up_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_up_minimum_hosts_pct: Minimum host percentage for ramp up period. :paramtype ramp_up_minimum_hosts_pct: int :keyword ramp_up_capacity_threshold_pct: Capacity threshold for ramp up period. :paramtype ramp_up_capacity_threshold_pct: int :keyword peak_start_time: Starting time for peak period. :paramtype peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword peak_load_balancing_algorithm: Load balancing algorithm for peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_start_time: Starting time for ramp down period. :paramtype ramp_down_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword ramp_down_load_balancing_algorithm: Load balancing algorithm for ramp down period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype ramp_down_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm :keyword ramp_down_minimum_hosts_pct: Minimum host percentage for ramp down period. :paramtype ramp_down_minimum_hosts_pct: int :keyword ramp_down_capacity_threshold_pct: Capacity threshold for ramp down period. :paramtype ramp_down_capacity_threshold_pct: int :keyword ramp_down_force_logoff_users: Should users be logged off forcefully from hosts. :paramtype ramp_down_force_logoff_users: bool :keyword ramp_down_stop_hosts_when: Specifies when to stop hosts during ramp down period. Known values are: "ZeroSessions" and "ZeroActiveSessions". :paramtype ramp_down_stop_hosts_when: str or ~azure.mgmt.desktopvirtualization.models.StopHostsWhen :keyword ramp_down_wait_time_minutes: Number of minutes to wait to stop hosts during ramp down period. :paramtype ramp_down_wait_time_minutes: int :keyword ramp_down_notification_message: Notification message for users during ramp down period. :paramtype ramp_down_notification_message: str :keyword off_peak_start_time: Starting time for off-peak period. :paramtype off_peak_start_time: ~azure.mgmt.desktopvirtualization.models.Time :keyword off_peak_load_balancing_algorithm: Load balancing algorithm for off-peak period. Known values are: "BreadthFirst" and "DepthFirst". :paramtype off_peak_load_balancing_algorithm: str or ~azure.mgmt.desktopvirtualization.models.SessionHostLoadBalancingAlgorithm """ super().__init__(**kwargs) self.name = name self.days_of_week = days_of_week self.ramp_up_start_time = ramp_up_start_time self.ramp_up_load_balancing_algorithm = ramp_up_load_balancing_algorithm self.ramp_up_minimum_hosts_pct = ramp_up_minimum_hosts_pct self.ramp_up_capacity_threshold_pct = ramp_up_capacity_threshold_pct self.peak_start_time = peak_start_time self.peak_load_balancing_algorithm = peak_load_balancing_algorithm self.ramp_down_start_time = ramp_down_start_time self.ramp_down_load_balancing_algorithm = ramp_down_load_balancing_algorithm self.ramp_down_minimum_hosts_pct = ramp_down_minimum_hosts_pct self.ramp_down_capacity_threshold_pct = ramp_down_capacity_threshold_pct self.ramp_down_force_logoff_users = ramp_down_force_logoff_users self.ramp_down_stop_hosts_when = ramp_down_stop_hosts_when self.ramp_down_wait_time_minutes = ramp_down_wait_time_minutes self.ramp_down_notification_message = ramp_down_notification_message self.off_peak_start_time = off_peak_start_time self.off_peak_load_balancing_algorithm = off_peak_load_balancing_algorithm
[docs] class SendMessage(_serialization.Model): """Represents message sent to a UserSession. :ivar message_title: Title of message. :vartype message_title: str :ivar message_body: Body of message. :vartype message_body: str """ _attribute_map = { "message_title": {"key": "messageTitle", "type": "str"}, "message_body": {"key": "messageBody", "type": "str"}, } def __init__( self, *, message_title: Optional[str] = None, message_body: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword message_title: Title of message. :paramtype message_title: str :keyword message_body: Body of message. :paramtype message_body: str """ super().__init__(**kwargs) self.message_title = message_title self.message_body = message_body
[docs] class ServiceSpecification(_serialization.Model): """Service specification payload. :ivar log_specifications: Specifications of the Log for Azure Monitoring. :vartype log_specifications: list[~azure.mgmt.desktopvirtualization.models.LogSpecification] """ _attribute_map = { "log_specifications": {"key": "logSpecifications", "type": "[LogSpecification]"}, } def __init__(self, *, log_specifications: Optional[List["_models.LogSpecification"]] = None, **kwargs: Any) -> None: """ :keyword log_specifications: Specifications of the Log for Azure Monitoring. :paramtype log_specifications: list[~azure.mgmt.desktopvirtualization.models.LogSpecification] """ super().__init__(**kwargs) self.log_specifications = log_specifications
[docs] class SessionHost(Resource): # pylint: disable=too-many-instance-attributes """Represents a SessionHost definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar object_id: ObjectId of SessionHost. (internal use). :vartype object_id: str :ivar last_heart_beat: Last heart beat from SessionHost. :vartype last_heart_beat: ~datetime.datetime :ivar sessions: Number of sessions on SessionHost. :vartype sessions: int :ivar agent_version: Version of agent on SessionHost. :vartype agent_version: str :ivar allow_new_session: Allow a new session. :vartype allow_new_session: bool :ivar virtual_machine_id: Virtual Machine Id of SessionHost's underlying virtual machine. :vartype virtual_machine_id: str :ivar resource_id: Resource Id of SessionHost's underlying virtual machine. :vartype resource_id: str :ivar assigned_user: User assigned to SessionHost. :vartype assigned_user: str :ivar friendly_name: Friendly name of SessionHost. :vartype friendly_name: str :ivar status: Status for a SessionHost. Known values are: "Available", "Unavailable", "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed", "NoHeartbeat", "NotJoinedToDomain", "DomainTrustRelationshipLost", "SxSStackListenerNotReady", "FSLogixNotHealthy", and "NeedsAssistance". :vartype status: str or ~azure.mgmt.desktopvirtualization.models.Status :ivar status_timestamp: The timestamp of the status. :vartype status_timestamp: ~datetime.datetime :ivar os_version: The version of the OS on the session host. :vartype os_version: str :ivar sx_s_stack_version: The version of the side by side stack on the session host. :vartype sx_s_stack_version: str :ivar update_state: Update state of a SessionHost. Known values are: "Initial", "Pending", "Started", "Succeeded", and "Failed". :vartype update_state: str or ~azure.mgmt.desktopvirtualization.models.UpdateState :ivar last_update_time: The timestamp of the last update. :vartype last_update_time: ~datetime.datetime :ivar update_error_message: The error message. :vartype update_error_message: str :ivar session_host_health_check_results: List of SessionHostHealthCheckReports. :vartype session_host_health_check_results: list[~azure.mgmt.desktopvirtualization.models.SessionHostHealthCheckReport] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "object_id": {"readonly": True}, "virtual_machine_id": {"readonly": True}, "resource_id": {"readonly": True}, "status_timestamp": {"readonly": True}, "last_update_time": {"readonly": True}, "session_host_health_check_results": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "object_id": {"key": "properties.objectId", "type": "str"}, "last_heart_beat": {"key": "properties.lastHeartBeat", "type": "iso-8601"}, "sessions": {"key": "properties.sessions", "type": "int"}, "agent_version": {"key": "properties.agentVersion", "type": "str"}, "allow_new_session": {"key": "properties.allowNewSession", "type": "bool"}, "virtual_machine_id": {"key": "properties.virtualMachineId", "type": "str"}, "resource_id": {"key": "properties.resourceId", "type": "str"}, "assigned_user": {"key": "properties.assignedUser", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "status": {"key": "properties.status", "type": "str"}, "status_timestamp": {"key": "properties.statusTimestamp", "type": "iso-8601"}, "os_version": {"key": "properties.osVersion", "type": "str"}, "sx_s_stack_version": {"key": "properties.sxSStackVersion", "type": "str"}, "update_state": {"key": "properties.updateState", "type": "str"}, "last_update_time": {"key": "properties.lastUpdateTime", "type": "iso-8601"}, "update_error_message": {"key": "properties.updateErrorMessage", "type": "str"}, "session_host_health_check_results": { "key": "properties.sessionHostHealthCheckResults", "type": "[SessionHostHealthCheckReport]", }, } def __init__( self, *, last_heart_beat: Optional[datetime.datetime] = None, sessions: Optional[int] = None, agent_version: Optional[str] = None, allow_new_session: Optional[bool] = None, assigned_user: Optional[str] = None, friendly_name: Optional[str] = None, status: Optional[Union[str, "_models.Status"]] = None, os_version: Optional[str] = None, sx_s_stack_version: Optional[str] = None, update_state: Optional[Union[str, "_models.UpdateState"]] = None, update_error_message: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword last_heart_beat: Last heart beat from SessionHost. :paramtype last_heart_beat: ~datetime.datetime :keyword sessions: Number of sessions on SessionHost. :paramtype sessions: int :keyword agent_version: Version of agent on SessionHost. :paramtype agent_version: str :keyword allow_new_session: Allow a new session. :paramtype allow_new_session: bool :keyword assigned_user: User assigned to SessionHost. :paramtype assigned_user: str :keyword friendly_name: Friendly name of SessionHost. :paramtype friendly_name: str :keyword status: Status for a SessionHost. Known values are: "Available", "Unavailable", "Shutdown", "Disconnected", "Upgrading", "UpgradeFailed", "NoHeartbeat", "NotJoinedToDomain", "DomainTrustRelationshipLost", "SxSStackListenerNotReady", "FSLogixNotHealthy", and "NeedsAssistance". :paramtype status: str or ~azure.mgmt.desktopvirtualization.models.Status :keyword os_version: The version of the OS on the session host. :paramtype os_version: str :keyword sx_s_stack_version: The version of the side by side stack on the session host. :paramtype sx_s_stack_version: str :keyword update_state: Update state of a SessionHost. Known values are: "Initial", "Pending", "Started", "Succeeded", and "Failed". :paramtype update_state: str or ~azure.mgmt.desktopvirtualization.models.UpdateState :keyword update_error_message: The error message. :paramtype update_error_message: str """ super().__init__(**kwargs) self.object_id = None self.last_heart_beat = last_heart_beat self.sessions = sessions self.agent_version = agent_version self.allow_new_session = allow_new_session self.virtual_machine_id = None self.resource_id = None self.assigned_user = assigned_user self.friendly_name = friendly_name self.status = status self.status_timestamp = None self.os_version = os_version self.sx_s_stack_version = sx_s_stack_version self.update_state = update_state self.last_update_time = None self.update_error_message = update_error_message self.session_host_health_check_results = None
[docs] class SessionHostHealthCheckFailureDetails(_serialization.Model): """Contains details on the failure. Variables are only populated by the server, and will be ignored when sending a request. :ivar message: Failure message: hints on what is wrong and how to recover. :vartype message: str :ivar error_code: Error code corresponding for the failure. :vartype error_code: int :ivar last_health_check_date_time: The timestamp of the last update. :vartype last_health_check_date_time: ~datetime.datetime """ _validation = { "message": {"readonly": True}, "error_code": {"readonly": True}, "last_health_check_date_time": {"readonly": True}, } _attribute_map = { "message": {"key": "message", "type": "str"}, "error_code": {"key": "errorCode", "type": "int"}, "last_health_check_date_time": {"key": "lastHealthCheckDateTime", "type": "iso-8601"}, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.message = None self.error_code = None self.last_health_check_date_time = None
[docs] class SessionHostHealthCheckReport(_serialization.Model): """The report for session host information. Variables are only populated by the server, and will be ignored when sending a request. :ivar health_check_name: Represents the name of the health check operation performed. Known values are: "DomainJoinedCheck", "DomainTrustCheck", "FSLogixHealthCheck", "SxSStackListenerCheck", "UrlsAccessibleCheck", "MonitoringAgentCheck", "DomainReachable", "WebRTCRedirectorCheck", "SupportedEncryptionCheck", "MetaDataServiceCheck", and "AppAttachHealthCheck". :vartype health_check_name: str or ~azure.mgmt.desktopvirtualization.models.HealthCheckName :ivar health_check_result: Represents the Health state of the health check we performed. Known values are: "Unknown", "HealthCheckSucceeded", "HealthCheckFailed", and "SessionHostShutdown". :vartype health_check_result: str or ~azure.mgmt.desktopvirtualization.models.HealthCheckResult :ivar additional_failure_details: Additional detailed information on the failure. :vartype additional_failure_details: ~azure.mgmt.desktopvirtualization.models.SessionHostHealthCheckFailureDetails """ _validation = { "health_check_name": {"readonly": True}, "health_check_result": {"readonly": True}, "additional_failure_details": {"readonly": True}, } _attribute_map = { "health_check_name": {"key": "healthCheckName", "type": "str"}, "health_check_result": {"key": "healthCheckResult", "type": "str"}, "additional_failure_details": { "key": "additionalFailureDetails", "type": "SessionHostHealthCheckFailureDetails", }, } def __init__(self, **kwargs: Any) -> None: """ """ super().__init__(**kwargs) self.health_check_name = None self.health_check_result = None self.additional_failure_details = None
[docs] class SessionHostList(_serialization.Model): """List of SessionHost definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of SessionHost definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.SessionHost] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[SessionHost]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.SessionHost"]] = None, **kwargs: Any) -> None: """ :keyword value: List of SessionHost definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.SessionHost] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class SessionHostPatch(Resource): """SessionHost properties that can be patched. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar allow_new_session: Allow a new session. :vartype allow_new_session: bool :ivar assigned_user: User assigned to SessionHost. :vartype assigned_user: str :ivar friendly_name: Friendly name of SessionHost. :vartype friendly_name: str """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "allow_new_session": {"key": "properties.allowNewSession", "type": "bool"}, "assigned_user": {"key": "properties.assignedUser", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, } def __init__( self, *, allow_new_session: Optional[bool] = None, assigned_user: Optional[str] = None, friendly_name: Optional[str] = None, **kwargs: Any ) -> None: """ :keyword allow_new_session: Allow a new session. :paramtype allow_new_session: bool :keyword assigned_user: User assigned to SessionHost. :paramtype assigned_user: str :keyword friendly_name: Friendly name of SessionHost. :paramtype friendly_name: str """ super().__init__(**kwargs) self.allow_new_session = allow_new_session self.assigned_user = assigned_user self.friendly_name = friendly_name
[docs] class StartMenuItem(Resource): """Represents a StartMenuItem definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar app_alias: Alias of StartMenuItem. :vartype app_alias: str :ivar file_path: Path to the file of StartMenuItem. :vartype file_path: str :ivar command_line_arguments: Command line arguments for StartMenuItem. :vartype command_line_arguments: str :ivar icon_path: Path to the icon. :vartype icon_path: str :ivar icon_index: Index of the icon. :vartype icon_index: int """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "app_alias": {"key": "properties.appAlias", "type": "str"}, "file_path": {"key": "properties.filePath", "type": "str"}, "command_line_arguments": {"key": "properties.commandLineArguments", "type": "str"}, "icon_path": {"key": "properties.iconPath", "type": "str"}, "icon_index": {"key": "properties.iconIndex", "type": "int"}, } def __init__( self, *, app_alias: Optional[str] = None, file_path: Optional[str] = None, command_line_arguments: Optional[str] = None, icon_path: Optional[str] = None, icon_index: Optional[int] = None, **kwargs: Any ) -> None: """ :keyword app_alias: Alias of StartMenuItem. :paramtype app_alias: str :keyword file_path: Path to the file of StartMenuItem. :paramtype file_path: str :keyword command_line_arguments: Command line arguments for StartMenuItem. :paramtype command_line_arguments: str :keyword icon_path: Path to the icon. :paramtype icon_path: str :keyword icon_index: Index of the icon. :paramtype icon_index: int """ super().__init__(**kwargs) self.app_alias = app_alias self.file_path = file_path self.command_line_arguments = command_line_arguments self.icon_path = icon_path self.icon_index = icon_index
[docs] class StartMenuItemList(_serialization.Model): """List of StartMenuItem definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of StartMenuItem definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.StartMenuItem] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[StartMenuItem]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.StartMenuItem"]] = None, **kwargs: Any) -> None: """ :keyword value: List of StartMenuItem definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.StartMenuItem] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class SystemData(_serialization.Model): """Metadata pertaining to creation and last modification of the resource. :ivar created_by: The identity that created the resource. :vartype created_by: str :ivar created_by_type: The type of identity that created the resource. Known values are: "User", "Application", "ManagedIdentity", and "Key". :vartype created_by_type: str or ~azure.mgmt.desktopvirtualization.models.CreatedByType :ivar created_at: The timestamp of resource creation (UTC). :vartype created_at: ~datetime.datetime :ivar last_modified_by: The identity that last modified the resource. :vartype last_modified_by: str :ivar last_modified_by_type: The type of identity that last modified the resource. Known values are: "User", "Application", "ManagedIdentity", and "Key". :vartype last_modified_by_type: str or ~azure.mgmt.desktopvirtualization.models.CreatedByType :ivar last_modified_at: The timestamp of resource last modification (UTC). :vartype last_modified_at: ~datetime.datetime """ _attribute_map = { "created_by": {"key": "createdBy", "type": "str"}, "created_by_type": {"key": "createdByType", "type": "str"}, "created_at": {"key": "createdAt", "type": "iso-8601"}, "last_modified_by": {"key": "lastModifiedBy", "type": "str"}, "last_modified_by_type": {"key": "lastModifiedByType", "type": "str"}, "last_modified_at": {"key": "lastModifiedAt", "type": "iso-8601"}, } def __init__( self, *, created_by: Optional[str] = None, created_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, created_at: Optional[datetime.datetime] = None, last_modified_by: Optional[str] = None, last_modified_by_type: Optional[Union[str, "_models.CreatedByType"]] = None, last_modified_at: Optional[datetime.datetime] = None, **kwargs: Any ) -> None: """ :keyword created_by: The identity that created the resource. :paramtype created_by: str :keyword created_by_type: The type of identity that created the resource. Known values are: "User", "Application", "ManagedIdentity", and "Key". :paramtype created_by_type: str or ~azure.mgmt.desktopvirtualization.models.CreatedByType :keyword created_at: The timestamp of resource creation (UTC). :paramtype created_at: ~datetime.datetime :keyword last_modified_by: The identity that last modified the resource. :paramtype last_modified_by: str :keyword last_modified_by_type: The type of identity that last modified the resource. Known values are: "User", "Application", "ManagedIdentity", and "Key". :paramtype last_modified_by_type: str or ~azure.mgmt.desktopvirtualization.models.CreatedByType :keyword last_modified_at: The timestamp of resource last modification (UTC). :paramtype last_modified_at: ~datetime.datetime """ super().__init__(**kwargs) self.created_by = created_by self.created_by_type = created_by_type self.created_at = created_at self.last_modified_by = last_modified_by self.last_modified_by_type = last_modified_by_type self.last_modified_at = last_modified_at
[docs] class Time(_serialization.Model): """The time for a scaling action to occur. All required parameters must be populated in order to send to server. :ivar hour: The hour. Required. :vartype hour: int :ivar minute: The minute. Required. :vartype minute: int """ _validation = { "hour": {"required": True, "maximum": 23, "minimum": 0}, "minute": {"required": True, "maximum": 59, "minimum": 0}, } _attribute_map = { "hour": {"key": "hour", "type": "int"}, "minute": {"key": "minute", "type": "int"}, } def __init__(self, *, hour: int, minute: int, **kwargs: Any) -> None: """ :keyword hour: The hour. Required. :paramtype hour: int :keyword minute: The minute. Required. :paramtype minute: int """ super().__init__(**kwargs) self.hour = hour self.minute = minute
[docs] class UserSession(Resource): """Represents a UserSession definition. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar object_id: ObjectId of user session. (internal use). :vartype object_id: str :ivar user_principal_name: The user principal name. :vartype user_principal_name: str :ivar application_type: Application type of application. Known values are: "RemoteApp" and "Desktop". :vartype application_type: str or ~azure.mgmt.desktopvirtualization.models.ApplicationType :ivar session_state: State of user session. Known values are: "Unknown", "Active", "Disconnected", "Pending", "LogOff", and "UserProfileDiskMounted". :vartype session_state: str or ~azure.mgmt.desktopvirtualization.models.SessionState :ivar active_directory_user_name: The active directory user name. :vartype active_directory_user_name: str :ivar create_time: The timestamp of the user session create. :vartype create_time: ~datetime.datetime """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "object_id": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "object_id": {"key": "properties.objectId", "type": "str"}, "user_principal_name": {"key": "properties.userPrincipalName", "type": "str"}, "application_type": {"key": "properties.applicationType", "type": "str"}, "session_state": {"key": "properties.sessionState", "type": "str"}, "active_directory_user_name": {"key": "properties.activeDirectoryUserName", "type": "str"}, "create_time": {"key": "properties.createTime", "type": "iso-8601"}, } def __init__( self, *, user_principal_name: Optional[str] = None, application_type: Optional[Union[str, "_models.ApplicationType"]] = None, session_state: Optional[Union[str, "_models.SessionState"]] = None, active_directory_user_name: Optional[str] = None, create_time: Optional[datetime.datetime] = None, **kwargs: Any ) -> None: """ :keyword user_principal_name: The user principal name. :paramtype user_principal_name: str :keyword application_type: Application type of application. Known values are: "RemoteApp" and "Desktop". :paramtype application_type: str or ~azure.mgmt.desktopvirtualization.models.ApplicationType :keyword session_state: State of user session. Known values are: "Unknown", "Active", "Disconnected", "Pending", "LogOff", and "UserProfileDiskMounted". :paramtype session_state: str or ~azure.mgmt.desktopvirtualization.models.SessionState :keyword active_directory_user_name: The active directory user name. :paramtype active_directory_user_name: str :keyword create_time: The timestamp of the user session create. :paramtype create_time: ~datetime.datetime """ super().__init__(**kwargs) self.object_id = None self.user_principal_name = user_principal_name self.application_type = application_type self.session_state = session_state self.active_directory_user_name = active_directory_user_name self.create_time = create_time
[docs] class UserSessionList(_serialization.Model): """List of UserSession definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of UserSession definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.UserSession] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[UserSession]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.UserSession"]] = None, **kwargs: Any) -> None: """ :keyword value: List of UserSession definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.UserSession] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class Workspace(ResourceModelWithAllowedPropertySet): # pylint: disable=too-many-instance-attributes """Represents a Workspace definition. Variables are only populated by the server, and will be ignored when sending a request. All required parameters must be populated in order to send to server. :ivar id: Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}". # pylint: disable=line-too-long :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". :vartype type: str :ivar system_data: Azure Resource Manager metadata containing createdBy and modifiedBy information. :vartype system_data: ~azure.mgmt.desktopvirtualization.models.SystemData :ivar tags: Resource tags. :vartype tags: dict[str, str] :ivar location: The geo-location where the resource lives. Required. :vartype location: str :ivar managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :vartype managed_by: str :ivar kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :vartype kind: str :ivar etag: The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. :vartype etag: str :ivar identity: :vartype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :ivar sku: :vartype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :ivar plan: :vartype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :ivar object_id: ObjectId of Workspace. (internal use). :vartype object_id: str :ivar description: Description of Workspace. :vartype description: str :ivar friendly_name: Friendly name of Workspace. :vartype friendly_name: str :ivar application_group_references: List of applicationGroup resource Ids. :vartype application_group_references: list[str] :ivar cloud_pc_resource: Is cloud pc resource. :vartype cloud_pc_resource: bool :ivar public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints. Known values are: "Enabled" and "Disabled". :vartype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.PublicNetworkAccess :ivar private_endpoint_connections: List of private endpoint connection associated with the specified resource. :vartype private_endpoint_connections: list[~azure.mgmt.desktopvirtualization.models.PrivateEndpointConnection] """ _validation = { "id": {"readonly": True}, "name": {"readonly": True}, "type": {"readonly": True}, "system_data": {"readonly": True}, "location": {"required": True}, "kind": {"pattern": r"^[-\w\._,\(\)]+$"}, "etag": {"readonly": True}, "object_id": {"readonly": True}, "cloud_pc_resource": {"readonly": True}, "private_endpoint_connections": {"readonly": True}, } _attribute_map = { "id": {"key": "id", "type": "str"}, "name": {"key": "name", "type": "str"}, "type": {"key": "type", "type": "str"}, "system_data": {"key": "systemData", "type": "SystemData"}, "tags": {"key": "tags", "type": "{str}"}, "location": {"key": "location", "type": "str"}, "managed_by": {"key": "managedBy", "type": "str"}, "kind": {"key": "kind", "type": "str"}, "etag": {"key": "etag", "type": "str"}, "identity": {"key": "identity", "type": "ResourceModelWithAllowedPropertySetIdentity"}, "sku": {"key": "sku", "type": "ResourceModelWithAllowedPropertySetSku"}, "plan": {"key": "plan", "type": "ResourceModelWithAllowedPropertySetPlan"}, "object_id": {"key": "properties.objectId", "type": "str"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "application_group_references": {"key": "properties.applicationGroupReferences", "type": "[str]"}, "cloud_pc_resource": {"key": "properties.cloudPcResource", "type": "bool"}, "public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"}, "private_endpoint_connections": { "key": "properties.privateEndpointConnections", "type": "[PrivateEndpointConnection]", }, } def __init__( self, *, location: str, tags: Optional[Dict[str, str]] = None, managed_by: Optional[str] = None, kind: Optional[str] = None, identity: Optional["_models.ResourceModelWithAllowedPropertySetIdentity"] = None, sku: Optional["_models.ResourceModelWithAllowedPropertySetSku"] = None, plan: Optional["_models.ResourceModelWithAllowedPropertySetPlan"] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, application_group_references: Optional[List[str]] = None, public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None, **kwargs: Any ) -> None: """ :keyword tags: Resource tags. :paramtype tags: dict[str, str] :keyword location: The geo-location where the resource lives. Required. :paramtype location: str :keyword managed_by: The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. :paramtype managed_by: str :keyword kind: Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type. E.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value. :paramtype kind: str :keyword identity: :paramtype identity: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetIdentity :keyword sku: :paramtype sku: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetSku :keyword plan: :paramtype plan: ~azure.mgmt.desktopvirtualization.models.ResourceModelWithAllowedPropertySetPlan :keyword description: Description of Workspace. :paramtype description: str :keyword friendly_name: Friendly name of Workspace. :paramtype friendly_name: str :keyword application_group_references: List of applicationGroup resource Ids. :paramtype application_group_references: list[str] :keyword public_network_access: Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints. Known values are: "Enabled" and "Disabled". :paramtype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.PublicNetworkAccess """ super().__init__( tags=tags, location=location, managed_by=managed_by, kind=kind, identity=identity, sku=sku, plan=plan, **kwargs ) self.object_id = None self.description = description self.friendly_name = friendly_name self.application_group_references = application_group_references self.cloud_pc_resource = None self.public_network_access = public_network_access self.private_endpoint_connections = None
[docs] class WorkspaceList(_serialization.Model): """List of Workspace definitions. Variables are only populated by the server, and will be ignored when sending a request. :ivar value: List of Workspace definitions. :vartype value: list[~azure.mgmt.desktopvirtualization.models.Workspace] :ivar next_link: Link to the next page of results. :vartype next_link: str """ _validation = { "next_link": {"readonly": True}, } _attribute_map = { "value": {"key": "value", "type": "[Workspace]"}, "next_link": {"key": "nextLink", "type": "str"}, } def __init__(self, *, value: Optional[List["_models.Workspace"]] = None, **kwargs: Any) -> None: """ :keyword value: List of Workspace definitions. :paramtype value: list[~azure.mgmt.desktopvirtualization.models.Workspace] """ super().__init__(**kwargs) self.value = value self.next_link = None
[docs] class WorkspacePatch(_serialization.Model): """Workspace properties that can be patched. :ivar tags: tags to be updated. :vartype tags: dict[str, str] :ivar description: Description of Workspace. :vartype description: str :ivar friendly_name: Friendly name of Workspace. :vartype friendly_name: str :ivar application_group_references: List of applicationGroup links. :vartype application_group_references: list[str] :ivar public_network_access: Enabled to allow this resource to be access from the public network. Known values are: "Enabled" and "Disabled". :vartype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.PublicNetworkAccess """ _attribute_map = { "tags": {"key": "tags", "type": "{str}"}, "description": {"key": "properties.description", "type": "str"}, "friendly_name": {"key": "properties.friendlyName", "type": "str"}, "application_group_references": {"key": "properties.applicationGroupReferences", "type": "[str]"}, "public_network_access": {"key": "properties.publicNetworkAccess", "type": "str"}, } def __init__( self, *, tags: Optional[Dict[str, str]] = None, description: Optional[str] = None, friendly_name: Optional[str] = None, application_group_references: Optional[List[str]] = None, public_network_access: Optional[Union[str, "_models.PublicNetworkAccess"]] = None, **kwargs: Any ) -> None: """ :keyword tags: tags to be updated. :paramtype tags: dict[str, str] :keyword description: Description of Workspace. :paramtype description: str :keyword friendly_name: Friendly name of Workspace. :paramtype friendly_name: str :keyword application_group_references: List of applicationGroup links. :paramtype application_group_references: list[str] :keyword public_network_access: Enabled to allow this resource to be access from the public network. Known values are: "Enabled" and "Disabled". :paramtype public_network_access: str or ~azure.mgmt.desktopvirtualization.models.PublicNetworkAccess """ super().__init__(**kwargs) self.tags = tags self.description = description self.friendly_name = friendly_name self.application_group_references = application_group_references self.public_network_access = public_network_access