# 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 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