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

# coding=utf-8
# --------------------------------------------------------------------------
# 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.
# --------------------------------------------------------------------------

from msrest.serialization import Model
from msrest.exceptions import HttpOperationError


[docs]class Resource(Model): """An Azure resource. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: super(Resource, self).__init__(**kwargs) self.id = None self.name = None self.type = None self.location = location self.tags = tags
[docs]class ApplicableSchedule(Resource): """Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param lab_vms_shutdown: The auto-shutdown schedule, if one has been set at the lab or lab resource level. :type lab_vms_shutdown: ~azure.mgmt.devtestlabs.models.Schedule :param lab_vms_startup: The auto-startup schedule, if one has been set at the lab or lab resource level. :type lab_vms_startup: ~azure.mgmt.devtestlabs.models.Schedule """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'lab_vms_shutdown': {'key': 'properties.labVmsShutdown', 'type': 'Schedule'}, 'lab_vms_startup': {'key': 'properties.labVmsStartup', 'type': 'Schedule'}, } def __init__(self, *, location: str=None, tags=None, lab_vms_shutdown=None, lab_vms_startup=None, **kwargs) -> None: super(ApplicableSchedule, self).__init__(location=location, tags=tags, **kwargs) self.lab_vms_shutdown = lab_vms_shutdown self.lab_vms_startup = lab_vms_startup
[docs]class UpdateResource(Model): """Represents an update resource. :param tags: The tags of the resource. :type tags: dict[str, str] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, tags=None, **kwargs) -> None: super(UpdateResource, self).__init__(**kwargs) self.tags = tags
[docs]class ApplicableScheduleFragment(UpdateResource): """Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level. :param tags: The tags of the resource. :type tags: dict[str, str] :param lab_vms_shutdown: The auto-shutdown schedule, if one has been set at the lab or lab resource level. :type lab_vms_shutdown: ~azure.mgmt.devtestlabs.models.ScheduleFragment :param lab_vms_startup: The auto-startup schedule, if one has been set at the lab or lab resource level. :type lab_vms_startup: ~azure.mgmt.devtestlabs.models.ScheduleFragment """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'lab_vms_shutdown': {'key': 'properties.labVmsShutdown', 'type': 'ScheduleFragment'}, 'lab_vms_startup': {'key': 'properties.labVmsStartup', 'type': 'ScheduleFragment'}, } def __init__(self, *, tags=None, lab_vms_shutdown=None, lab_vms_startup=None, **kwargs) -> None: super(ApplicableScheduleFragment, self).__init__(tags=tags, **kwargs) self.lab_vms_shutdown = lab_vms_shutdown self.lab_vms_startup = lab_vms_startup
[docs]class ApplyArtifactsRequest(Model): """Request body for applying artifacts to a virtual machine. :param artifacts: The list of artifacts to apply. :type artifacts: list[~azure.mgmt.devtestlabs.models.ArtifactInstallProperties] """ _attribute_map = { 'artifacts': {'key': 'artifacts', 'type': '[ArtifactInstallProperties]'}, } def __init__(self, *, artifacts=None, **kwargs) -> None: super(ApplyArtifactsRequest, self).__init__(**kwargs) self.artifacts = artifacts
[docs]class ArmTemplate(Resource): """An Azure Resource Manager template. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :ivar display_name: The display name of the ARM template. :vartype display_name: str :ivar description: The description of the ARM template. :vartype description: str :ivar publisher: The publisher of the ARM template. :vartype publisher: str :ivar icon: The URI to the icon of the ARM template. :vartype icon: str :ivar contents: The contents of the ARM template. :vartype contents: object :ivar created_date: The creation date of the armTemplate. :vartype created_date: datetime :ivar parameters_value_files_info: File name and parameter values information from all azuredeploy.*.parameters.json for the ARM template. :vartype parameters_value_files_info: list[~azure.mgmt.devtestlabs.models.ParametersValueFileInfo] :ivar enabled: Whether or not ARM template is enabled for use by lab user. :vartype enabled: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'display_name': {'readonly': True}, 'description': {'readonly': True}, 'publisher': {'readonly': True}, 'icon': {'readonly': True}, 'contents': {'readonly': True}, 'created_date': {'readonly': True}, 'parameters_value_files_info': {'readonly': True}, 'enabled': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 'icon': {'key': 'properties.icon', 'type': 'str'}, 'contents': {'key': 'properties.contents', 'type': 'object'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'parameters_value_files_info': {'key': 'properties.parametersValueFilesInfo', 'type': '[ParametersValueFileInfo]'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, } def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: super(ArmTemplate, self).__init__(location=location, tags=tags, **kwargs) self.display_name = None self.description = None self.publisher = None self.icon = None self.contents = None self.created_date = None self.parameters_value_files_info = None self.enabled = None
[docs]class ArmTemplateInfo(Model): """Information about a generated ARM template. :param template: The template's contents. :type template: object :param parameters: The parameters of the ARM template. :type parameters: object """ _attribute_map = { 'template': {'key': 'template', 'type': 'object'}, 'parameters': {'key': 'parameters', 'type': 'object'}, } def __init__(self, *, template=None, parameters=None, **kwargs) -> None: super(ArmTemplateInfo, self).__init__(**kwargs) self.template = template self.parameters = parameters
[docs]class ArmTemplateParameterProperties(Model): """Properties of an Azure Resource Manager template parameter. :param name: The name of the template parameter. :type name: str :param value: The value of the template parameter. :type value: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: super(ArmTemplateParameterProperties, self).__init__(**kwargs) self.name = name self.value = value
[docs]class ArmTemplateParameterPropertiesFragment(Model): """Properties of an Azure Resource Manager template parameter. :param name: The name of the template parameter. :type name: str :param value: The value of the template parameter. :type value: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: super(ArmTemplateParameterPropertiesFragment, self).__init__(**kwargs) self.name = name self.value = value
[docs]class Artifact(Resource): """An artifact. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :ivar title: The artifact's title. :vartype title: str :ivar description: The artifact's description. :vartype description: str :ivar publisher: The artifact's publisher. :vartype publisher: str :ivar file_path: The file path to the artifact. :vartype file_path: str :ivar icon: The URI to the artifact icon. :vartype icon: str :ivar target_os_type: The artifact's target OS. :vartype target_os_type: str :ivar parameters: The artifact's parameters. :vartype parameters: object :ivar created_date: The artifact's creation date. :vartype created_date: datetime """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'title': {'readonly': True}, 'description': {'readonly': True}, 'publisher': {'readonly': True}, 'file_path': {'readonly': True}, 'icon': {'readonly': True}, 'target_os_type': {'readonly': True}, 'parameters': {'readonly': True}, 'created_date': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'title': {'key': 'properties.title', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'publisher': {'key': 'properties.publisher', 'type': 'str'}, 'file_path': {'key': 'properties.filePath', 'type': 'str'}, 'icon': {'key': 'properties.icon', 'type': 'str'}, 'target_os_type': {'key': 'properties.targetOsType', 'type': 'str'}, 'parameters': {'key': 'properties.parameters', 'type': 'object'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, } def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: super(Artifact, self).__init__(location=location, tags=tags, **kwargs) self.title = None self.description = None self.publisher = None self.file_path = None self.icon = None self.target_os_type = None self.parameters = None self.created_date = None
[docs]class ArtifactDeploymentStatusProperties(Model): """Properties of an artifact deployment. :param deployment_status: The deployment status of the artifact. :type deployment_status: str :param artifacts_applied: The total count of the artifacts that were successfully applied. :type artifacts_applied: int :param total_artifacts: The total count of the artifacts that were tentatively applied. :type total_artifacts: int """ _attribute_map = { 'deployment_status': {'key': 'deploymentStatus', 'type': 'str'}, 'artifacts_applied': {'key': 'artifactsApplied', 'type': 'int'}, 'total_artifacts': {'key': 'totalArtifacts', 'type': 'int'}, } def __init__(self, *, deployment_status: str=None, artifacts_applied: int=None, total_artifacts: int=None, **kwargs) -> None: super(ArtifactDeploymentStatusProperties, self).__init__(**kwargs) self.deployment_status = deployment_status self.artifacts_applied = artifacts_applied self.total_artifacts = total_artifacts
[docs]class ArtifactDeploymentStatusPropertiesFragment(Model): """Properties of an artifact deployment. :param deployment_status: The deployment status of the artifact. :type deployment_status: str :param artifacts_applied: The total count of the artifacts that were successfully applied. :type artifacts_applied: int :param total_artifacts: The total count of the artifacts that were tentatively applied. :type total_artifacts: int """ _attribute_map = { 'deployment_status': {'key': 'deploymentStatus', 'type': 'str'}, 'artifacts_applied': {'key': 'artifactsApplied', 'type': 'int'}, 'total_artifacts': {'key': 'totalArtifacts', 'type': 'int'}, } def __init__(self, *, deployment_status: str=None, artifacts_applied: int=None, total_artifacts: int=None, **kwargs) -> None: super(ArtifactDeploymentStatusPropertiesFragment, self).__init__(**kwargs) self.deployment_status = deployment_status self.artifacts_applied = artifacts_applied self.total_artifacts = total_artifacts
[docs]class ArtifactInstallProperties(Model): """Properties of an artifact. :param artifact_id: The artifact's identifier. :type artifact_id: str :param artifact_title: The artifact's title. :type artifact_title: str :param parameters: The parameters of the artifact. :type parameters: list[~azure.mgmt.devtestlabs.models.ArtifactParameterProperties] :param status: The status of the artifact. :type status: str :param deployment_status_message: The status message from the deployment. :type deployment_status_message: str :param vm_extension_status_message: The status message from the virtual machine extension. :type vm_extension_status_message: str :param install_time: The time that the artifact starts to install on the virtual machine. :type install_time: datetime """ _attribute_map = { 'artifact_id': {'key': 'artifactId', 'type': 'str'}, 'artifact_title': {'key': 'artifactTitle', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '[ArtifactParameterProperties]'}, 'status': {'key': 'status', 'type': 'str'}, 'deployment_status_message': {'key': 'deploymentStatusMessage', 'type': 'str'}, 'vm_extension_status_message': {'key': 'vmExtensionStatusMessage', 'type': 'str'}, 'install_time': {'key': 'installTime', 'type': 'iso-8601'}, } def __init__(self, *, artifact_id: str=None, artifact_title: str=None, parameters=None, status: str=None, deployment_status_message: str=None, vm_extension_status_message: str=None, install_time=None, **kwargs) -> None: super(ArtifactInstallProperties, self).__init__(**kwargs) self.artifact_id = artifact_id self.artifact_title = artifact_title self.parameters = parameters self.status = status self.deployment_status_message = deployment_status_message self.vm_extension_status_message = vm_extension_status_message self.install_time = install_time
[docs]class ArtifactInstallPropertiesFragment(Model): """Properties of an artifact. :param artifact_id: The artifact's identifier. :type artifact_id: str :param artifact_title: The artifact's title. :type artifact_title: str :param parameters: The parameters of the artifact. :type parameters: list[~azure.mgmt.devtestlabs.models.ArtifactParameterPropertiesFragment] :param status: The status of the artifact. :type status: str :param deployment_status_message: The status message from the deployment. :type deployment_status_message: str :param vm_extension_status_message: The status message from the virtual machine extension. :type vm_extension_status_message: str :param install_time: The time that the artifact starts to install on the virtual machine. :type install_time: datetime """ _attribute_map = { 'artifact_id': {'key': 'artifactId', 'type': 'str'}, 'artifact_title': {'key': 'artifactTitle', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '[ArtifactParameterPropertiesFragment]'}, 'status': {'key': 'status', 'type': 'str'}, 'deployment_status_message': {'key': 'deploymentStatusMessage', 'type': 'str'}, 'vm_extension_status_message': {'key': 'vmExtensionStatusMessage', 'type': 'str'}, 'install_time': {'key': 'installTime', 'type': 'iso-8601'}, } def __init__(self, *, artifact_id: str=None, artifact_title: str=None, parameters=None, status: str=None, deployment_status_message: str=None, vm_extension_status_message: str=None, install_time=None, **kwargs) -> None: super(ArtifactInstallPropertiesFragment, self).__init__(**kwargs) self.artifact_id = artifact_id self.artifact_title = artifact_title self.parameters = parameters self.status = status self.deployment_status_message = deployment_status_message self.vm_extension_status_message = vm_extension_status_message self.install_time = install_time
[docs]class ArtifactParameterProperties(Model): """Properties of an artifact parameter. :param name: The name of the artifact parameter. :type name: str :param value: The value of the artifact parameter. :type value: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: super(ArtifactParameterProperties, self).__init__(**kwargs) self.name = name self.value = value
[docs]class ArtifactParameterPropertiesFragment(Model): """Properties of an artifact parameter. :param name: The name of the artifact parameter. :type name: str :param value: The value of the artifact parameter. :type value: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: super(ArtifactParameterPropertiesFragment, self).__init__(**kwargs) self.name = name self.value = value
[docs]class ArtifactSource(Resource): """Properties of an artifact source. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param display_name: The artifact source's display name. :type display_name: str :param uri: The artifact source's URI. :type uri: str :param source_type: The artifact source's type. Possible values include: 'VsoGit', 'GitHub' :type source_type: str or ~azure.mgmt.devtestlabs.models.SourceControlType :param folder_path: The folder containing artifacts. :type folder_path: str :param arm_template_folder_path: The folder containing Azure Resource Manager templates. :type arm_template_folder_path: str :param branch_ref: The artifact source's branch reference. :type branch_ref: str :param security_token: The security token to authenticate to the artifact source. :type security_token: str :param status: Indicates if the artifact source is enabled (values: Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :ivar created_date: The artifact source's creation date. :vartype created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'uri': {'key': 'properties.uri', 'type': 'str'}, 'source_type': {'key': 'properties.sourceType', 'type': 'str'}, 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, 'arm_template_folder_path': {'key': 'properties.armTemplateFolderPath', 'type': 'str'}, 'branch_ref': {'key': 'properties.branchRef', 'type': 'str'}, 'security_token': {'key': 'properties.securityToken', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, display_name: str=None, uri: str=None, source_type=None, folder_path: str=None, arm_template_folder_path: str=None, branch_ref: str=None, security_token: str=None, status=None, **kwargs) -> None: super(ArtifactSource, self).__init__(location=location, tags=tags, **kwargs) self.display_name = display_name self.uri = uri self.source_type = source_type self.folder_path = folder_path self.arm_template_folder_path = arm_template_folder_path self.branch_ref = branch_ref self.security_token = security_token self.status = status self.created_date = None self.provisioning_state = None self.unique_identifier = None
[docs]class ArtifactSourceFragment(UpdateResource): """Properties of an artifact source. :param tags: The tags of the resource. :type tags: dict[str, str] :param display_name: The artifact source's display name. :type display_name: str :param uri: The artifact source's URI. :type uri: str :param source_type: The artifact source's type. Possible values include: 'VsoGit', 'GitHub' :type source_type: str or ~azure.mgmt.devtestlabs.models.SourceControlType :param folder_path: The folder containing artifacts. :type folder_path: str :param arm_template_folder_path: The folder containing Azure Resource Manager templates. :type arm_template_folder_path: str :param branch_ref: The artifact source's branch reference. :type branch_ref: str :param security_token: The security token to authenticate to the artifact source. :type security_token: str :param status: Indicates if the artifact source is enabled (values: Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'display_name': {'key': 'properties.displayName', 'type': 'str'}, 'uri': {'key': 'properties.uri', 'type': 'str'}, 'source_type': {'key': 'properties.sourceType', 'type': 'str'}, 'folder_path': {'key': 'properties.folderPath', 'type': 'str'}, 'arm_template_folder_path': {'key': 'properties.armTemplateFolderPath', 'type': 'str'}, 'branch_ref': {'key': 'properties.branchRef', 'type': 'str'}, 'security_token': {'key': 'properties.securityToken', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, } def __init__(self, *, tags=None, display_name: str=None, uri: str=None, source_type=None, folder_path: str=None, arm_template_folder_path: str=None, branch_ref: str=None, security_token: str=None, status=None, **kwargs) -> None: super(ArtifactSourceFragment, self).__init__(tags=tags, **kwargs) self.display_name = display_name self.uri = uri self.source_type = source_type self.folder_path = folder_path self.arm_template_folder_path = arm_template_folder_path self.branch_ref = branch_ref self.security_token = security_token self.status = status
[docs]class AttachDiskProperties(Model): """Properties of the disk to attach. :param leased_by_lab_vm_id: The resource ID of the Lab virtual machine to which the disk is attached. :type leased_by_lab_vm_id: str """ _attribute_map = { 'leased_by_lab_vm_id': {'key': 'leasedByLabVmId', 'type': 'str'}, } def __init__(self, *, leased_by_lab_vm_id: str=None, **kwargs) -> None: super(AttachDiskProperties, self).__init__(**kwargs) self.leased_by_lab_vm_id = leased_by_lab_vm_id
[docs]class AttachNewDataDiskOptions(Model): """Properties to attach new disk to the Virtual Machine. :param disk_size_gi_b: Size of the disk to be attached in GibiBytes. :type disk_size_gi_b: int :param disk_name: The name of the disk to be attached. :type disk_name: str :param disk_type: The storage type for the disk (i.e. Standard, Premium). Possible values include: 'Standard', 'Premium', 'StandardSSD' :type disk_type: str or ~azure.mgmt.devtestlabs.models.StorageType """ _attribute_map = { 'disk_size_gi_b': {'key': 'diskSizeGiB', 'type': 'int'}, 'disk_name': {'key': 'diskName', 'type': 'str'}, 'disk_type': {'key': 'diskType', 'type': 'str'}, } def __init__(self, *, disk_size_gi_b: int=None, disk_name: str=None, disk_type=None, **kwargs) -> None: super(AttachNewDataDiskOptions, self).__init__(**kwargs) self.disk_size_gi_b = disk_size_gi_b self.disk_name = disk_name self.disk_type = disk_type
[docs]class AttachNewDataDiskOptionsFragment(Model): """Properties to attach new disk to the Virtual Machine. :param disk_size_gi_b: Size of the disk to be attached in GibiBytes. :type disk_size_gi_b: int :param disk_name: The name of the disk to be attached. :type disk_name: str :param disk_type: The storage type for the disk (i.e. Standard, Premium). Possible values include: 'Standard', 'Premium', 'StandardSSD' :type disk_type: str or ~azure.mgmt.devtestlabs.models.StorageType """ _attribute_map = { 'disk_size_gi_b': {'key': 'diskSizeGiB', 'type': 'int'}, 'disk_name': {'key': 'diskName', 'type': 'str'}, 'disk_type': {'key': 'diskType', 'type': 'str'}, } def __init__(self, *, disk_size_gi_b: int=None, disk_name: str=None, disk_type=None, **kwargs) -> None: super(AttachNewDataDiskOptionsFragment, self).__init__(**kwargs) self.disk_size_gi_b = disk_size_gi_b self.disk_name = disk_name self.disk_type = disk_type
[docs]class BulkCreationParameters(Model): """Parameters for creating multiple virtual machines as a single action. :param instance_count: The number of virtual machine instances to create. :type instance_count: int """ _attribute_map = { 'instance_count': {'key': 'instanceCount', 'type': 'int'}, } def __init__(self, *, instance_count: int=None, **kwargs) -> None: super(BulkCreationParameters, self).__init__(**kwargs) self.instance_count = instance_count
[docs]class BulkCreationParametersFragment(Model): """Parameters for creating multiple virtual machines as a single action. :param instance_count: The number of virtual machine instances to create. :type instance_count: int """ _attribute_map = { 'instance_count': {'key': 'instanceCount', 'type': 'int'}, } def __init__(self, *, instance_count: int=None, **kwargs) -> None: super(BulkCreationParametersFragment, self).__init__(**kwargs) self.instance_count = instance_count
class CloudError(Model): """Error from a REST request. :param error: The cloud error that occurred :type error: ~azure.mgmt.devtestlabs.models.CloudErrorBody """ _attribute_map = { 'error': {'key': 'error', 'type': 'CloudErrorBody'}, } def __init__(self, *, error=None, **kwargs) -> None: super(CloudError, self).__init__(**kwargs) self.error = error class CloudErrorException(HttpOperationError): """Server responsed with exception of type: 'CloudError'. :param deserialize: A deserializer :param response: Server response to be deserialized. """ def __init__(self, deserialize, response, *args): super(CloudErrorException, self).__init__(deserialize, response, 'CloudError', *args) class CloudErrorBody(Model): """Body of an error from a REST request. :param code: The error code. :type code: str :param message: The error message. :type message: str :param target: The error target. :type target: str :param details: Inner errors. :type details: list[~azure.mgmt.devtestlabs.models.CloudErrorBody] """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, 'target': {'key': 'target', 'type': 'str'}, 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, } def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, **kwargs) -> None: super(CloudErrorBody, self).__init__(**kwargs) self.code = code self.message = message self.target = target self.details = details
[docs]class ComputeDataDisk(Model): """A data disks attached to a virtual machine. :param name: Gets data disk name. :type name: str :param disk_uri: When backed by a blob, the URI of underlying blob. :type disk_uri: str :param managed_disk_id: When backed by managed disk, this is the ID of the compute disk resource. :type managed_disk_id: str :param disk_size_gi_b: Gets data disk size in GiB. :type disk_size_gi_b: int """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'disk_uri': {'key': 'diskUri', 'type': 'str'}, 'managed_disk_id': {'key': 'managedDiskId', 'type': 'str'}, 'disk_size_gi_b': {'key': 'diskSizeGiB', 'type': 'int'}, } def __init__(self, *, name: str=None, disk_uri: str=None, managed_disk_id: str=None, disk_size_gi_b: int=None, **kwargs) -> None: super(ComputeDataDisk, self).__init__(**kwargs) self.name = name self.disk_uri = disk_uri self.managed_disk_id = managed_disk_id self.disk_size_gi_b = disk_size_gi_b
[docs]class ComputeDataDiskFragment(Model): """A data disks attached to a virtual machine. :param name: Gets data disk name. :type name: str :param disk_uri: When backed by a blob, the URI of underlying blob. :type disk_uri: str :param managed_disk_id: When backed by managed disk, this is the ID of the compute disk resource. :type managed_disk_id: str :param disk_size_gi_b: Gets data disk size in GiB. :type disk_size_gi_b: int """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'disk_uri': {'key': 'diskUri', 'type': 'str'}, 'managed_disk_id': {'key': 'managedDiskId', 'type': 'str'}, 'disk_size_gi_b': {'key': 'diskSizeGiB', 'type': 'int'}, } def __init__(self, *, name: str=None, disk_uri: str=None, managed_disk_id: str=None, disk_size_gi_b: int=None, **kwargs) -> None: super(ComputeDataDiskFragment, self).__init__(**kwargs) self.name = name self.disk_uri = disk_uri self.managed_disk_id = managed_disk_id self.disk_size_gi_b = disk_size_gi_b
[docs]class ComputeVmInstanceViewStatus(Model): """Status information about a virtual machine. :param code: Gets the status Code. :type code: str :param display_status: Gets the short localizable label for the status. :type display_status: str :param message: Gets the message associated with the status. :type message: str """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'display_status': {'key': 'displayStatus', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } def __init__(self, *, code: str=None, display_status: str=None, message: str=None, **kwargs) -> None: super(ComputeVmInstanceViewStatus, self).__init__(**kwargs) self.code = code self.display_status = display_status self.message = message
[docs]class ComputeVmInstanceViewStatusFragment(Model): """Status information about a virtual machine. :param code: Gets the status Code. :type code: str :param display_status: Gets the short localizable label for the status. :type display_status: str :param message: Gets the message associated with the status. :type message: str """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'display_status': {'key': 'displayStatus', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } def __init__(self, *, code: str=None, display_status: str=None, message: str=None, **kwargs) -> None: super(ComputeVmInstanceViewStatusFragment, self).__init__(**kwargs) self.code = code self.display_status = display_status self.message = message
[docs]class ComputeVmProperties(Model): """Properties of a virtual machine returned by the Microsoft.Compute API. :param statuses: Gets the statuses of the virtual machine. :type statuses: list[~azure.mgmt.devtestlabs.models.ComputeVmInstanceViewStatus] :param os_type: Gets the OS type of the virtual machine. :type os_type: str :param vm_size: Gets the size of the virtual machine. :type vm_size: str :param network_interface_id: Gets the network interface ID of the virtual machine. :type network_interface_id: str :param os_disk_id: Gets OS disk blob uri for the virtual machine. :type os_disk_id: str :param data_disk_ids: Gets data disks blob uri for the virtual machine. :type data_disk_ids: list[str] :param data_disks: Gets all data disks attached to the virtual machine. :type data_disks: list[~azure.mgmt.devtestlabs.models.ComputeDataDisk] """ _attribute_map = { 'statuses': {'key': 'statuses', 'type': '[ComputeVmInstanceViewStatus]'}, 'os_type': {'key': 'osType', 'type': 'str'}, 'vm_size': {'key': 'vmSize', 'type': 'str'}, 'network_interface_id': {'key': 'networkInterfaceId', 'type': 'str'}, 'os_disk_id': {'key': 'osDiskId', 'type': 'str'}, 'data_disk_ids': {'key': 'dataDiskIds', 'type': '[str]'}, 'data_disks': {'key': 'dataDisks', 'type': '[ComputeDataDisk]'}, } def __init__(self, *, statuses=None, os_type: str=None, vm_size: str=None, network_interface_id: str=None, os_disk_id: str=None, data_disk_ids=None, data_disks=None, **kwargs) -> None: super(ComputeVmProperties, self).__init__(**kwargs) self.statuses = statuses self.os_type = os_type self.vm_size = vm_size self.network_interface_id = network_interface_id self.os_disk_id = os_disk_id self.data_disk_ids = data_disk_ids self.data_disks = data_disks
[docs]class ComputeVmPropertiesFragment(Model): """Properties of a virtual machine returned by the Microsoft.Compute API. :param statuses: Gets the statuses of the virtual machine. :type statuses: list[~azure.mgmt.devtestlabs.models.ComputeVmInstanceViewStatusFragment] :param os_type: Gets the OS type of the virtual machine. :type os_type: str :param vm_size: Gets the size of the virtual machine. :type vm_size: str :param network_interface_id: Gets the network interface ID of the virtual machine. :type network_interface_id: str :param os_disk_id: Gets OS disk blob uri for the virtual machine. :type os_disk_id: str :param data_disk_ids: Gets data disks blob uri for the virtual machine. :type data_disk_ids: list[str] :param data_disks: Gets all data disks attached to the virtual machine. :type data_disks: list[~azure.mgmt.devtestlabs.models.ComputeDataDiskFragment] """ _attribute_map = { 'statuses': {'key': 'statuses', 'type': '[ComputeVmInstanceViewStatusFragment]'}, 'os_type': {'key': 'osType', 'type': 'str'}, 'vm_size': {'key': 'vmSize', 'type': 'str'}, 'network_interface_id': {'key': 'networkInterfaceId', 'type': 'str'}, 'os_disk_id': {'key': 'osDiskId', 'type': 'str'}, 'data_disk_ids': {'key': 'dataDiskIds', 'type': '[str]'}, 'data_disks': {'key': 'dataDisks', 'type': '[ComputeDataDiskFragment]'}, } def __init__(self, *, statuses=None, os_type: str=None, vm_size: str=None, network_interface_id: str=None, os_disk_id: str=None, data_disk_ids=None, data_disks=None, **kwargs) -> None: super(ComputeVmPropertiesFragment, self).__init__(**kwargs) self.statuses = statuses self.os_type = os_type self.vm_size = vm_size self.network_interface_id = network_interface_id self.os_disk_id = os_disk_id self.data_disk_ids = data_disk_ids self.data_disks = data_disks
[docs]class CostThresholdProperties(Model): """Properties of a cost threshold item. :param threshold_id: The ID of the cost threshold item. :type threshold_id: str :param percentage_threshold: The value of the percentage cost threshold. :type percentage_threshold: ~azure.mgmt.devtestlabs.models.PercentageCostThresholdProperties :param display_on_chart: Indicates whether this threshold will be displayed on cost charts. Possible values include: 'Enabled', 'Disabled' :type display_on_chart: str or ~azure.mgmt.devtestlabs.models.CostThresholdStatus :param send_notification_when_exceeded: Indicates whether notifications will be sent when this threshold is exceeded. Possible values include: 'Enabled', 'Disabled' :type send_notification_when_exceeded: str or ~azure.mgmt.devtestlabs.models.CostThresholdStatus :param notification_sent: Indicates the datetime when notifications were last sent for this threshold. :type notification_sent: str """ _attribute_map = { 'threshold_id': {'key': 'thresholdId', 'type': 'str'}, 'percentage_threshold': {'key': 'percentageThreshold', 'type': 'PercentageCostThresholdProperties'}, 'display_on_chart': {'key': 'displayOnChart', 'type': 'str'}, 'send_notification_when_exceeded': {'key': 'sendNotificationWhenExceeded', 'type': 'str'}, 'notification_sent': {'key': 'notificationSent', 'type': 'str'}, } def __init__(self, *, threshold_id: str=None, percentage_threshold=None, display_on_chart=None, send_notification_when_exceeded=None, notification_sent: str=None, **kwargs) -> None: super(CostThresholdProperties, self).__init__(**kwargs) self.threshold_id = threshold_id self.percentage_threshold = percentage_threshold self.display_on_chart = display_on_chart self.send_notification_when_exceeded = send_notification_when_exceeded self.notification_sent = notification_sent
[docs]class CustomImage(Resource): """A custom image. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param vm: The virtual machine from which the image is to be created. :type vm: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesFromVm :param vhd: The VHD from which the image is to be created. :type vhd: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesCustom :param description: The description of the custom image. :type description: str :param author: The author of the custom image. :type author: str :ivar creation_date: The creation date of the custom image. :vartype creation_date: datetime :param managed_image_id: The Managed Image Id backing the custom image. :type managed_image_id: str :param managed_snapshot_id: The Managed Snapshot Id backing the custom image. :type managed_snapshot_id: str :param data_disk_storage_info: Storage information about the data disks present in the custom image :type data_disk_storage_info: list[~azure.mgmt.devtestlabs.models.DataDiskStorageTypeInfo] :param custom_image_plan: Storage information about the plan related to this custom image :type custom_image_plan: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesFromPlan :param is_plan_authorized: Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment :type is_plan_authorized: bool :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'creation_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'vm': {'key': 'properties.vm', 'type': 'CustomImagePropertiesFromVm'}, 'vhd': {'key': 'properties.vhd', 'type': 'CustomImagePropertiesCustom'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'author': {'key': 'properties.author', 'type': 'str'}, 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 'managed_image_id': {'key': 'properties.managedImageId', 'type': 'str'}, 'managed_snapshot_id': {'key': 'properties.managedSnapshotId', 'type': 'str'}, 'data_disk_storage_info': {'key': 'properties.dataDiskStorageInfo', 'type': '[DataDiskStorageTypeInfo]'}, 'custom_image_plan': {'key': 'properties.customImagePlan', 'type': 'CustomImagePropertiesFromPlan'}, 'is_plan_authorized': {'key': 'properties.isPlanAuthorized', 'type': 'bool'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, vm=None, vhd=None, description: str=None, author: str=None, managed_image_id: str=None, managed_snapshot_id: str=None, data_disk_storage_info=None, custom_image_plan=None, is_plan_authorized: bool=None, **kwargs) -> None: super(CustomImage, self).__init__(location=location, tags=tags, **kwargs) self.vm = vm self.vhd = vhd self.description = description self.author = author self.creation_date = None self.managed_image_id = managed_image_id self.managed_snapshot_id = managed_snapshot_id self.data_disk_storage_info = data_disk_storage_info self.custom_image_plan = custom_image_plan self.is_plan_authorized = is_plan_authorized self.provisioning_state = None self.unique_identifier = None
[docs]class CustomImageFragment(UpdateResource): """A custom image. :param tags: The tags of the resource. :type tags: dict[str, str] :param vm: The virtual machine from which the image is to be created. :type vm: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesFromVmFragment :param vhd: The VHD from which the image is to be created. :type vhd: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesCustomFragment :param description: The description of the custom image. :type description: str :param author: The author of the custom image. :type author: str :param managed_image_id: The Managed Image Id backing the custom image. :type managed_image_id: str :param managed_snapshot_id: The Managed Snapshot Id backing the custom image. :type managed_snapshot_id: str :param data_disk_storage_info: Storage information about the data disks present in the custom image :type data_disk_storage_info: list[~azure.mgmt.devtestlabs.models.DataDiskStorageTypeInfoFragment] :param custom_image_plan: Storage information about the plan related to this custom image :type custom_image_plan: ~azure.mgmt.devtestlabs.models.CustomImagePropertiesFromPlanFragment :param is_plan_authorized: Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment :type is_plan_authorized: bool """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'vm': {'key': 'properties.vm', 'type': 'CustomImagePropertiesFromVmFragment'}, 'vhd': {'key': 'properties.vhd', 'type': 'CustomImagePropertiesCustomFragment'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'author': {'key': 'properties.author', 'type': 'str'}, 'managed_image_id': {'key': 'properties.managedImageId', 'type': 'str'}, 'managed_snapshot_id': {'key': 'properties.managedSnapshotId', 'type': 'str'}, 'data_disk_storage_info': {'key': 'properties.dataDiskStorageInfo', 'type': '[DataDiskStorageTypeInfoFragment]'}, 'custom_image_plan': {'key': 'properties.customImagePlan', 'type': 'CustomImagePropertiesFromPlanFragment'}, 'is_plan_authorized': {'key': 'properties.isPlanAuthorized', 'type': 'bool'}, } def __init__(self, *, tags=None, vm=None, vhd=None, description: str=None, author: str=None, managed_image_id: str=None, managed_snapshot_id: str=None, data_disk_storage_info=None, custom_image_plan=None, is_plan_authorized: bool=None, **kwargs) -> None: super(CustomImageFragment, self).__init__(tags=tags, **kwargs) self.vm = vm self.vhd = vhd self.description = description self.author = author self.managed_image_id = managed_image_id self.managed_snapshot_id = managed_snapshot_id self.data_disk_storage_info = data_disk_storage_info self.custom_image_plan = custom_image_plan self.is_plan_authorized = is_plan_authorized
[docs]class CustomImagePropertiesCustom(Model): """Properties for creating a custom image from a VHD. All required parameters must be populated in order to send to Azure. :param image_name: The image name. :type image_name: str :param sys_prep: Indicates whether sysprep has been run on the VHD. :type sys_prep: bool :param os_type: Required. The OS type of the custom image (i.e. Windows, Linux). Possible values include: 'Windows', 'Linux', 'None' :type os_type: str or ~azure.mgmt.devtestlabs.models.CustomImageOsType """ _validation = { 'os_type': {'required': True}, } _attribute_map = { 'image_name': {'key': 'imageName', 'type': 'str'}, 'sys_prep': {'key': 'sysPrep', 'type': 'bool'}, 'os_type': {'key': 'osType', 'type': 'str'}, } def __init__(self, *, os_type, image_name: str=None, sys_prep: bool=None, **kwargs) -> None: super(CustomImagePropertiesCustom, self).__init__(**kwargs) self.image_name = image_name self.sys_prep = sys_prep self.os_type = os_type
[docs]class CustomImagePropertiesCustomFragment(Model): """Properties for creating a custom image from a VHD. :param image_name: The image name. :type image_name: str :param sys_prep: Indicates whether sysprep has been run on the VHD. :type sys_prep: bool :param os_type: The OS type of the custom image (i.e. Windows, Linux). Possible values include: 'Windows', 'Linux', 'None' :type os_type: str or ~azure.mgmt.devtestlabs.models.CustomImageOsType """ _attribute_map = { 'image_name': {'key': 'imageName', 'type': 'str'}, 'sys_prep': {'key': 'sysPrep', 'type': 'bool'}, 'os_type': {'key': 'osType', 'type': 'str'}, } def __init__(self, *, image_name: str=None, sys_prep: bool=None, os_type=None, **kwargs) -> None: super(CustomImagePropertiesCustomFragment, self).__init__(**kwargs) self.image_name = image_name self.sys_prep = sys_prep self.os_type = os_type
[docs]class CustomImagePropertiesFromPlan(Model): """Properties for plan on a custom image. :param id: The id of the plan, equivalent to name of the plan :type id: str :param publisher: The publisher for the plan from the marketplace image the custom image is derived from :type publisher: str :param offer: The offer for the plan from the marketplace image the custom image is derived from :type offer: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'publisher': {'key': 'publisher', 'type': 'str'}, 'offer': {'key': 'offer', 'type': 'str'}, } def __init__(self, *, id: str=None, publisher: str=None, offer: str=None, **kwargs) -> None: super(CustomImagePropertiesFromPlan, self).__init__(**kwargs) self.id = id self.publisher = publisher self.offer = offer
[docs]class CustomImagePropertiesFromPlanFragment(Model): """Properties for plan on a custom image. :param id: The id of the plan, equivalent to name of the plan :type id: str :param publisher: The publisher for the plan from the marketplace image the custom image is derived from :type publisher: str :param offer: The offer for the plan from the marketplace image the custom image is derived from :type offer: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'publisher': {'key': 'publisher', 'type': 'str'}, 'offer': {'key': 'offer', 'type': 'str'}, } def __init__(self, *, id: str=None, publisher: str=None, offer: str=None, **kwargs) -> None: super(CustomImagePropertiesFromPlanFragment, self).__init__(**kwargs) self.id = id self.publisher = publisher self.offer = offer
[docs]class CustomImagePropertiesFromVm(Model): """Properties for creating a custom image from a virtual machine. :param source_vm_id: The source vm identifier. :type source_vm_id: str :param windows_os_info: The Windows OS information of the VM. :type windows_os_info: ~azure.mgmt.devtestlabs.models.WindowsOsInfo :param linux_os_info: The Linux OS information of the VM. :type linux_os_info: ~azure.mgmt.devtestlabs.models.LinuxOsInfo """ _attribute_map = { 'source_vm_id': {'key': 'sourceVmId', 'type': 'str'}, 'windows_os_info': {'key': 'windowsOsInfo', 'type': 'WindowsOsInfo'}, 'linux_os_info': {'key': 'linuxOsInfo', 'type': 'LinuxOsInfo'}, } def __init__(self, *, source_vm_id: str=None, windows_os_info=None, linux_os_info=None, **kwargs) -> None: super(CustomImagePropertiesFromVm, self).__init__(**kwargs) self.source_vm_id = source_vm_id self.windows_os_info = windows_os_info self.linux_os_info = linux_os_info
[docs]class CustomImagePropertiesFromVmFragment(Model): """Properties for creating a custom image from a virtual machine. :param source_vm_id: The source vm identifier. :type source_vm_id: str :param windows_os_info: The Windows OS information of the VM. :type windows_os_info: ~azure.mgmt.devtestlabs.models.WindowsOsInfoFragment :param linux_os_info: The Linux OS information of the VM. :type linux_os_info: ~azure.mgmt.devtestlabs.models.LinuxOsInfoFragment """ _attribute_map = { 'source_vm_id': {'key': 'sourceVmId', 'type': 'str'}, 'windows_os_info': {'key': 'windowsOsInfo', 'type': 'WindowsOsInfoFragment'}, 'linux_os_info': {'key': 'linuxOsInfo', 'type': 'LinuxOsInfoFragment'}, } def __init__(self, *, source_vm_id: str=None, windows_os_info=None, linux_os_info=None, **kwargs) -> None: super(CustomImagePropertiesFromVmFragment, self).__init__(**kwargs) self.source_vm_id = source_vm_id self.windows_os_info = windows_os_info self.linux_os_info = linux_os_info
[docs]class DataDiskProperties(Model): """Request body for adding a new or existing data disk to a virtual machine. :param attach_new_data_disk_options: Specifies options to attach a new disk to the virtual machine. :type attach_new_data_disk_options: ~azure.mgmt.devtestlabs.models.AttachNewDataDiskOptions :param existing_lab_disk_id: Specifies the existing lab disk id to attach to virtual machine. :type existing_lab_disk_id: str :param host_caching: Caching option for a data disk (i.e. None, ReadOnly, ReadWrite). Possible values include: 'None', 'ReadOnly', 'ReadWrite' :type host_caching: str or ~azure.mgmt.devtestlabs.models.HostCachingOptions """ _attribute_map = { 'attach_new_data_disk_options': {'key': 'attachNewDataDiskOptions', 'type': 'AttachNewDataDiskOptions'}, 'existing_lab_disk_id': {'key': 'existingLabDiskId', 'type': 'str'}, 'host_caching': {'key': 'hostCaching', 'type': 'str'}, } def __init__(self, *, attach_new_data_disk_options=None, existing_lab_disk_id: str=None, host_caching=None, **kwargs) -> None: super(DataDiskProperties, self).__init__(**kwargs) self.attach_new_data_disk_options = attach_new_data_disk_options self.existing_lab_disk_id = existing_lab_disk_id self.host_caching = host_caching
[docs]class DataDiskPropertiesFragment(Model): """Request body for adding a new or existing data disk to a virtual machine. :param attach_new_data_disk_options: Specifies options to attach a new disk to the virtual machine. :type attach_new_data_disk_options: ~azure.mgmt.devtestlabs.models.AttachNewDataDiskOptionsFragment :param existing_lab_disk_id: Specifies the existing lab disk id to attach to virtual machine. :type existing_lab_disk_id: str :param host_caching: Caching option for a data disk (i.e. None, ReadOnly, ReadWrite). Possible values include: 'None', 'ReadOnly', 'ReadWrite' :type host_caching: str or ~azure.mgmt.devtestlabs.models.HostCachingOptions """ _attribute_map = { 'attach_new_data_disk_options': {'key': 'attachNewDataDiskOptions', 'type': 'AttachNewDataDiskOptionsFragment'}, 'existing_lab_disk_id': {'key': 'existingLabDiskId', 'type': 'str'}, 'host_caching': {'key': 'hostCaching', 'type': 'str'}, } def __init__(self, *, attach_new_data_disk_options=None, existing_lab_disk_id: str=None, host_caching=None, **kwargs) -> None: super(DataDiskPropertiesFragment, self).__init__(**kwargs) self.attach_new_data_disk_options = attach_new_data_disk_options self.existing_lab_disk_id = existing_lab_disk_id self.host_caching = host_caching
[docs]class DataDiskStorageTypeInfo(Model): """Storage information about the data disks present in the custom image. :param lun: Disk Lun :type lun: str :param storage_type: Disk Storage Type. Possible values include: 'Standard', 'Premium', 'StandardSSD' :type storage_type: str or ~azure.mgmt.devtestlabs.models.StorageType """ _attribute_map = { 'lun': {'key': 'lun', 'type': 'str'}, 'storage_type': {'key': 'storageType', 'type': 'str'}, } def __init__(self, *, lun: str=None, storage_type=None, **kwargs) -> None: super(DataDiskStorageTypeInfo, self).__init__(**kwargs) self.lun = lun self.storage_type = storage_type
[docs]class DataDiskStorageTypeInfoFragment(Model): """Storage information about the data disks present in the custom image. :param lun: Disk Lun :type lun: str :param storage_type: Disk Storage Type. Possible values include: 'Standard', 'Premium', 'StandardSSD' :type storage_type: str or ~azure.mgmt.devtestlabs.models.StorageType """ _attribute_map = { 'lun': {'key': 'lun', 'type': 'str'}, 'storage_type': {'key': 'storageType', 'type': 'str'}, } def __init__(self, *, lun: str=None, storage_type=None, **kwargs) -> None: super(DataDiskStorageTypeInfoFragment, self).__init__(**kwargs) self.lun = lun self.storage_type = storage_type
[docs]class DayDetails(Model): """Properties of a daily schedule. :param time: The time of day the schedule will occur. :type time: str """ _attribute_map = { 'time': {'key': 'time', 'type': 'str'}, } def __init__(self, *, time: str=None, **kwargs) -> None: super(DayDetails, self).__init__(**kwargs) self.time = time
[docs]class DayDetailsFragment(Model): """Properties of a daily schedule. :param time: The time of day the schedule will occur. :type time: str """ _attribute_map = { 'time': {'key': 'time', 'type': 'str'}, } def __init__(self, *, time: str=None, **kwargs) -> None: super(DayDetailsFragment, self).__init__(**kwargs) self.time = time
[docs]class DetachDataDiskProperties(Model): """Request body for detaching data disk from a virtual machine. :param existing_lab_disk_id: Specifies the disk resource ID to detach from virtual machine. :type existing_lab_disk_id: str """ _attribute_map = { 'existing_lab_disk_id': {'key': 'existingLabDiskId', 'type': 'str'}, } def __init__(self, *, existing_lab_disk_id: str=None, **kwargs) -> None: super(DetachDataDiskProperties, self).__init__(**kwargs) self.existing_lab_disk_id = existing_lab_disk_id
[docs]class DetachDiskProperties(Model): """Properties of the disk to detach. :param leased_by_lab_vm_id: The resource ID of the Lab VM to which the disk is attached. :type leased_by_lab_vm_id: str """ _attribute_map = { 'leased_by_lab_vm_id': {'key': 'leasedByLabVmId', 'type': 'str'}, } def __init__(self, *, leased_by_lab_vm_id: str=None, **kwargs) -> None: super(DetachDiskProperties, self).__init__(**kwargs) self.leased_by_lab_vm_id = leased_by_lab_vm_id
[docs]class Disk(Resource): """A Disk. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param disk_type: The storage type for the disk (i.e. Standard, Premium). Possible values include: 'Standard', 'Premium', 'StandardSSD' :type disk_type: str or ~azure.mgmt.devtestlabs.models.StorageType :param disk_size_gi_b: The size of the disk in GibiBytes. :type disk_size_gi_b: int :param leased_by_lab_vm_id: The resource ID of the VM to which this disk is leased. :type leased_by_lab_vm_id: str :param disk_blob_name: When backed by a blob, the name of the VHD blob without extension. :type disk_blob_name: str :param disk_uri: When backed by a blob, the URI of underlying blob. :type disk_uri: str :ivar created_date: The creation date of the disk. :vartype created_date: datetime :param host_caching: The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite). :type host_caching: str :param managed_disk_id: When backed by managed disk, this is the ID of the compute disk resource. :type managed_disk_id: str :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'disk_type': {'key': 'properties.diskType', 'type': 'str'}, 'disk_size_gi_b': {'key': 'properties.diskSizeGiB', 'type': 'int'}, 'leased_by_lab_vm_id': {'key': 'properties.leasedByLabVmId', 'type': 'str'}, 'disk_blob_name': {'key': 'properties.diskBlobName', 'type': 'str'}, 'disk_uri': {'key': 'properties.diskUri', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'host_caching': {'key': 'properties.hostCaching', 'type': 'str'}, 'managed_disk_id': {'key': 'properties.managedDiskId', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, disk_type=None, disk_size_gi_b: int=None, leased_by_lab_vm_id: str=None, disk_blob_name: str=None, disk_uri: str=None, host_caching: str=None, managed_disk_id: str=None, **kwargs) -> None: super(Disk, self).__init__(location=location, tags=tags, **kwargs) self.disk_type = disk_type self.disk_size_gi_b = disk_size_gi_b self.leased_by_lab_vm_id = leased_by_lab_vm_id self.disk_blob_name = disk_blob_name self.disk_uri = disk_uri self.created_date = None self.host_caching = host_caching self.managed_disk_id = managed_disk_id self.provisioning_state = None self.unique_identifier = None
[docs]class DiskFragment(UpdateResource): """A Disk. :param tags: The tags of the resource. :type tags: dict[str, str] :param disk_type: The storage type for the disk (i.e. Standard, Premium). Possible values include: 'Standard', 'Premium', 'StandardSSD' :type disk_type: str or ~azure.mgmt.devtestlabs.models.StorageType :param disk_size_gi_b: The size of the disk in GibiBytes. :type disk_size_gi_b: int :param leased_by_lab_vm_id: The resource ID of the VM to which this disk is leased. :type leased_by_lab_vm_id: str :param disk_blob_name: When backed by a blob, the name of the VHD blob without extension. :type disk_blob_name: str :param disk_uri: When backed by a blob, the URI of underlying blob. :type disk_uri: str :param host_caching: The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite). :type host_caching: str :param managed_disk_id: When backed by managed disk, this is the ID of the compute disk resource. :type managed_disk_id: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'disk_type': {'key': 'properties.diskType', 'type': 'str'}, 'disk_size_gi_b': {'key': 'properties.diskSizeGiB', 'type': 'int'}, 'leased_by_lab_vm_id': {'key': 'properties.leasedByLabVmId', 'type': 'str'}, 'disk_blob_name': {'key': 'properties.diskBlobName', 'type': 'str'}, 'disk_uri': {'key': 'properties.diskUri', 'type': 'str'}, 'host_caching': {'key': 'properties.hostCaching', 'type': 'str'}, 'managed_disk_id': {'key': 'properties.managedDiskId', 'type': 'str'}, } def __init__(self, *, tags=None, disk_type=None, disk_size_gi_b: int=None, leased_by_lab_vm_id: str=None, disk_blob_name: str=None, disk_uri: str=None, host_caching: str=None, managed_disk_id: str=None, **kwargs) -> None: super(DiskFragment, self).__init__(tags=tags, **kwargs) self.disk_type = disk_type self.disk_size_gi_b = disk_size_gi_b self.leased_by_lab_vm_id = leased_by_lab_vm_id self.disk_blob_name = disk_blob_name self.disk_uri = disk_uri self.host_caching = host_caching self.managed_disk_id = managed_disk_id
[docs]class DtlEnvironment(Resource): """An environment, which is essentially an ARM template deployment. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param deployment_properties: The deployment properties of the environment. :type deployment_properties: ~azure.mgmt.devtestlabs.models.EnvironmentDeploymentProperties :param arm_template_display_name: The display name of the Azure Resource Manager template that produced the environment. :type arm_template_display_name: str :ivar resource_group_id: The identifier of the resource group containing the environment's resources. :vartype resource_group_id: str :ivar created_by_user: The creator of the environment. :vartype created_by_user: str :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'resource_group_id': {'readonly': True}, 'created_by_user': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'deployment_properties': {'key': 'properties.deploymentProperties', 'type': 'EnvironmentDeploymentProperties'}, 'arm_template_display_name': {'key': 'properties.armTemplateDisplayName', 'type': 'str'}, 'resource_group_id': {'key': 'properties.resourceGroupId', 'type': 'str'}, 'created_by_user': {'key': 'properties.createdByUser', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, deployment_properties=None, arm_template_display_name: str=None, **kwargs) -> None: super(DtlEnvironment, self).__init__(location=location, tags=tags, **kwargs) self.deployment_properties = deployment_properties self.arm_template_display_name = arm_template_display_name self.resource_group_id = None self.created_by_user = None self.provisioning_state = None self.unique_identifier = None
[docs]class DtlEnvironmentFragment(UpdateResource): """An environment, which is essentially an ARM template deployment. :param tags: The tags of the resource. :type tags: dict[str, str] :param deployment_properties: The deployment properties of the environment. :type deployment_properties: ~azure.mgmt.devtestlabs.models.EnvironmentDeploymentPropertiesFragment :param arm_template_display_name: The display name of the Azure Resource Manager template that produced the environment. :type arm_template_display_name: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'deployment_properties': {'key': 'properties.deploymentProperties', 'type': 'EnvironmentDeploymentPropertiesFragment'}, 'arm_template_display_name': {'key': 'properties.armTemplateDisplayName', 'type': 'str'}, } def __init__(self, *, tags=None, deployment_properties=None, arm_template_display_name: str=None, **kwargs) -> None: super(DtlEnvironmentFragment, self).__init__(tags=tags, **kwargs) self.deployment_properties = deployment_properties self.arm_template_display_name = arm_template_display_name
[docs]class EnvironmentDeploymentProperties(Model): """Properties of an environment deployment. :param arm_template_id: The Azure Resource Manager template's identifier. :type arm_template_id: str :param parameters: The parameters of the Azure Resource Manager template. :type parameters: list[~azure.mgmt.devtestlabs.models.ArmTemplateParameterProperties] """ _attribute_map = { 'arm_template_id': {'key': 'armTemplateId', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '[ArmTemplateParameterProperties]'}, } def __init__(self, *, arm_template_id: str=None, parameters=None, **kwargs) -> None: super(EnvironmentDeploymentProperties, self).__init__(**kwargs) self.arm_template_id = arm_template_id self.parameters = parameters
[docs]class EnvironmentDeploymentPropertiesFragment(Model): """Properties of an environment deployment. :param arm_template_id: The Azure Resource Manager template's identifier. :type arm_template_id: str :param parameters: The parameters of the Azure Resource Manager template. :type parameters: list[~azure.mgmt.devtestlabs.models.ArmTemplateParameterPropertiesFragment] """ _attribute_map = { 'arm_template_id': {'key': 'armTemplateId', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '[ArmTemplateParameterPropertiesFragment]'}, } def __init__(self, *, arm_template_id: str=None, parameters=None, **kwargs) -> None: super(EnvironmentDeploymentPropertiesFragment, self).__init__(**kwargs) self.arm_template_id = arm_template_id self.parameters = parameters
[docs]class EvaluatePoliciesProperties(Model): """Properties for evaluating a policy set. :param fact_name: The fact name. :type fact_name: str :param fact_data: The fact data. :type fact_data: str :param value_offset: The value offset. :type value_offset: str :param user_object_id: The user for which policies will be evaluated :type user_object_id: str """ _attribute_map = { 'fact_name': {'key': 'factName', 'type': 'str'}, 'fact_data': {'key': 'factData', 'type': 'str'}, 'value_offset': {'key': 'valueOffset', 'type': 'str'}, 'user_object_id': {'key': 'userObjectId', 'type': 'str'}, } def __init__(self, *, fact_name: str=None, fact_data: str=None, value_offset: str=None, user_object_id: str=None, **kwargs) -> None: super(EvaluatePoliciesProperties, self).__init__(**kwargs) self.fact_name = fact_name self.fact_data = fact_data self.value_offset = value_offset self.user_object_id = user_object_id
[docs]class EvaluatePoliciesRequest(Model): """Request body for evaluating a policy set. :param policies: Policies to evaluate. :type policies: list[~azure.mgmt.devtestlabs.models.EvaluatePoliciesProperties] """ _attribute_map = { 'policies': {'key': 'policies', 'type': '[EvaluatePoliciesProperties]'}, } def __init__(self, *, policies=None, **kwargs) -> None: super(EvaluatePoliciesRequest, self).__init__(**kwargs) self.policies = policies
[docs]class EvaluatePoliciesResponse(Model): """Response body for evaluating a policy set. :param results: Results of evaluating a policy set. :type results: list[~azure.mgmt.devtestlabs.models.PolicySetResult] """ _attribute_map = { 'results': {'key': 'results', 'type': '[PolicySetResult]'}, } def __init__(self, *, results=None, **kwargs) -> None: super(EvaluatePoliciesResponse, self).__init__(**kwargs) self.results = results
[docs]class Event(Model): """An event to be notified for. :param event_name: The event type for which this notification is enabled (i.e. AutoShutdown, Cost). Possible values include: 'AutoShutdown', 'Cost' :type event_name: str or ~azure.mgmt.devtestlabs.models.NotificationChannelEventType """ _attribute_map = { 'event_name': {'key': 'eventName', 'type': 'str'}, } def __init__(self, *, event_name=None, **kwargs) -> None: super(Event, self).__init__(**kwargs) self.event_name = event_name
[docs]class EventFragment(Model): """An event to be notified for. :param event_name: The event type for which this notification is enabled (i.e. AutoShutdown, Cost). Possible values include: 'AutoShutdown', 'Cost' :type event_name: str or ~azure.mgmt.devtestlabs.models.NotificationChannelEventType """ _attribute_map = { 'event_name': {'key': 'eventName', 'type': 'str'}, } def __init__(self, *, event_name=None, **kwargs) -> None: super(EventFragment, self).__init__(**kwargs) self.event_name = event_name
[docs]class ExportResourceUsageParameters(Model): """The parameters of the export operation. :param blob_storage_absolute_sas_uri: The blob storage absolute sas uri with write permission to the container which the usage data needs to be uploaded to. :type blob_storage_absolute_sas_uri: str :param usage_start_date: The start time of the usage. If not provided, usage will be reported since the beginning of data collection. :type usage_start_date: datetime """ _attribute_map = { 'blob_storage_absolute_sas_uri': {'key': 'blobStorageAbsoluteSasUri', 'type': 'str'}, 'usage_start_date': {'key': 'usageStartDate', 'type': 'iso-8601'}, } def __init__(self, *, blob_storage_absolute_sas_uri: str=None, usage_start_date=None, **kwargs) -> None: super(ExportResourceUsageParameters, self).__init__(**kwargs) self.blob_storage_absolute_sas_uri = blob_storage_absolute_sas_uri self.usage_start_date = usage_start_date
[docs]class ExternalSubnet(Model): """Subnet information as returned by the Microsoft.Network API. :param id: Gets or sets the identifier. :type id: str :param name: Gets or sets the name. :type name: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: super(ExternalSubnet, self).__init__(**kwargs) self.id = id self.name = name
[docs]class ExternalSubnetFragment(Model): """Subnet information as returned by the Microsoft.Network API. :param id: Gets or sets the identifier. :type id: str :param name: Gets or sets the name. :type name: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, } def __init__(self, *, id: str=None, name: str=None, **kwargs) -> None: super(ExternalSubnetFragment, self).__init__(**kwargs) self.id = id self.name = name
[docs]class Formula(Resource): """A formula for creating a VM, specifying an image base and other parameters. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param description: The description of the formula. :type description: str :param author: The author of the formula. :type author: str :param os_type: The OS type of the formula. :type os_type: str :ivar creation_date: The creation date of the formula. :vartype creation_date: datetime :param formula_content: The content of the formula. :type formula_content: ~azure.mgmt.devtestlabs.models.LabVirtualMachineCreationParameter :param vm: Information about a VM from which a formula is to be created. :type vm: ~azure.mgmt.devtestlabs.models.FormulaPropertiesFromVm :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'creation_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'author': {'key': 'properties.author', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'creation_date': {'key': 'properties.creationDate', 'type': 'iso-8601'}, 'formula_content': {'key': 'properties.formulaContent', 'type': 'LabVirtualMachineCreationParameter'}, 'vm': {'key': 'properties.vm', 'type': 'FormulaPropertiesFromVm'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, description: str=None, author: str=None, os_type: str=None, formula_content=None, vm=None, **kwargs) -> None: super(Formula, self).__init__(location=location, tags=tags, **kwargs) self.description = description self.author = author self.os_type = os_type self.creation_date = None self.formula_content = formula_content self.vm = vm self.provisioning_state = None self.unique_identifier = None
[docs]class FormulaFragment(UpdateResource): """A formula for creating a VM, specifying an image base and other parameters. :param tags: The tags of the resource. :type tags: dict[str, str] :param description: The description of the formula. :type description: str :param author: The author of the formula. :type author: str :param os_type: The OS type of the formula. :type os_type: str :param formula_content: The content of the formula. :type formula_content: ~azure.mgmt.devtestlabs.models.LabVirtualMachineCreationParameterFragment :param vm: Information about a VM from which a formula is to be created. :type vm: ~azure.mgmt.devtestlabs.models.FormulaPropertiesFromVmFragment """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'author': {'key': 'properties.author', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'formula_content': {'key': 'properties.formulaContent', 'type': 'LabVirtualMachineCreationParameterFragment'}, 'vm': {'key': 'properties.vm', 'type': 'FormulaPropertiesFromVmFragment'}, } def __init__(self, *, tags=None, description: str=None, author: str=None, os_type: str=None, formula_content=None, vm=None, **kwargs) -> None: super(FormulaFragment, self).__init__(tags=tags, **kwargs) self.description = description self.author = author self.os_type = os_type self.formula_content = formula_content self.vm = vm
[docs]class FormulaPropertiesFromVm(Model): """Information about a VM from which a formula is to be created. :param lab_vm_id: The identifier of the VM from which a formula is to be created. :type lab_vm_id: str """ _attribute_map = { 'lab_vm_id': {'key': 'labVmId', 'type': 'str'}, } def __init__(self, *, lab_vm_id: str=None, **kwargs) -> None: super(FormulaPropertiesFromVm, self).__init__(**kwargs) self.lab_vm_id = lab_vm_id
[docs]class FormulaPropertiesFromVmFragment(Model): """Information about a VM from which a formula is to be created. :param lab_vm_id: The identifier of the VM from which a formula is to be created. :type lab_vm_id: str """ _attribute_map = { 'lab_vm_id': {'key': 'labVmId', 'type': 'str'}, } def __init__(self, *, lab_vm_id: str=None, **kwargs) -> None: super(FormulaPropertiesFromVmFragment, self).__init__(**kwargs) self.lab_vm_id = lab_vm_id
[docs]class GalleryImage(Resource): """A gallery image. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param author: The author of the gallery image. :type author: str :ivar created_date: The creation date of the gallery image. :vartype created_date: datetime :param description: The description of the gallery image. :type description: str :param image_reference: The image reference of the gallery image. :type image_reference: ~azure.mgmt.devtestlabs.models.GalleryImageReference :param icon: The icon of the gallery image. :type icon: str :param enabled: Indicates whether this gallery image is enabled. :type enabled: bool :param plan_id: The third party plan that applies to this image :type plan_id: str :param is_plan_authorized: Indicates if the plan has been authorized for programmatic deployment. :type is_plan_authorized: bool """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'author': {'key': 'properties.author', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'image_reference': {'key': 'properties.imageReference', 'type': 'GalleryImageReference'}, 'icon': {'key': 'properties.icon', 'type': 'str'}, 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 'plan_id': {'key': 'properties.planId', 'type': 'str'}, 'is_plan_authorized': {'key': 'properties.isPlanAuthorized', 'type': 'bool'}, } def __init__(self, *, location: str=None, tags=None, author: str=None, description: str=None, image_reference=None, icon: str=None, enabled: bool=None, plan_id: str=None, is_plan_authorized: bool=None, **kwargs) -> None: super(GalleryImage, self).__init__(location=location, tags=tags, **kwargs) self.author = author self.created_date = None self.description = description self.image_reference = image_reference self.icon = icon self.enabled = enabled self.plan_id = plan_id self.is_plan_authorized = is_plan_authorized
[docs]class GalleryImageReference(Model): """The reference information for an Azure Marketplace image. :param offer: The offer of the gallery image. :type offer: str :param publisher: The publisher of the gallery image. :type publisher: str :param sku: The SKU of the gallery image. :type sku: str :param os_type: The OS type of the gallery image. :type os_type: str :param version: The version of the gallery image. :type version: str """ _attribute_map = { 'offer': {'key': 'offer', 'type': 'str'}, 'publisher': {'key': 'publisher', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'str'}, 'os_type': {'key': 'osType', 'type': 'str'}, 'version': {'key': 'version', 'type': 'str'}, } def __init__(self, *, offer: str=None, publisher: str=None, sku: str=None, os_type: str=None, version: str=None, **kwargs) -> None: super(GalleryImageReference, self).__init__(**kwargs) self.offer = offer self.publisher = publisher self.sku = sku self.os_type = os_type self.version = version
[docs]class GalleryImageReferenceFragment(Model): """The reference information for an Azure Marketplace image. :param offer: The offer of the gallery image. :type offer: str :param publisher: The publisher of the gallery image. :type publisher: str :param sku: The SKU of the gallery image. :type sku: str :param os_type: The OS type of the gallery image. :type os_type: str :param version: The version of the gallery image. :type version: str """ _attribute_map = { 'offer': {'key': 'offer', 'type': 'str'}, 'publisher': {'key': 'publisher', 'type': 'str'}, 'sku': {'key': 'sku', 'type': 'str'}, 'os_type': {'key': 'osType', 'type': 'str'}, 'version': {'key': 'version', 'type': 'str'}, } def __init__(self, *, offer: str=None, publisher: str=None, sku: str=None, os_type: str=None, version: str=None, **kwargs) -> None: super(GalleryImageReferenceFragment, self).__init__(**kwargs) self.offer = offer self.publisher = publisher self.sku = sku self.os_type = os_type self.version = version
[docs]class GenerateArmTemplateRequest(Model): """Parameters for generating an ARM template for deploying artifacts. :param virtual_machine_name: The resource name of the virtual machine. :type virtual_machine_name: str :param parameters: The parameters of the ARM template. :type parameters: list[~azure.mgmt.devtestlabs.models.ParameterInfo] :param location: The location of the virtual machine. :type location: str :param file_upload_options: Options for uploading the files for the artifact. UploadFilesAndGenerateSasTokens is the default value. Possible values include: 'UploadFilesAndGenerateSasTokens', 'None' :type file_upload_options: str or ~azure.mgmt.devtestlabs.models.FileUploadOptions """ _attribute_map = { 'virtual_machine_name': {'key': 'virtualMachineName', 'type': 'str'}, 'parameters': {'key': 'parameters', 'type': '[ParameterInfo]'}, 'location': {'key': 'location', 'type': 'str'}, 'file_upload_options': {'key': 'fileUploadOptions', 'type': 'str'}, } def __init__(self, *, virtual_machine_name: str=None, parameters=None, location: str=None, file_upload_options=None, **kwargs) -> None: super(GenerateArmTemplateRequest, self).__init__(**kwargs) self.virtual_machine_name = virtual_machine_name self.parameters = parameters self.location = location self.file_upload_options = file_upload_options
[docs]class GenerateUploadUriParameter(Model): """Properties for generating an upload URI. :param blob_name: The blob name of the upload URI. :type blob_name: str """ _attribute_map = { 'blob_name': {'key': 'blobName', 'type': 'str'}, } def __init__(self, *, blob_name: str=None, **kwargs) -> None: super(GenerateUploadUriParameter, self).__init__(**kwargs) self.blob_name = blob_name
[docs]class GenerateUploadUriResponse(Model): """Response body for generating an upload URI. :param upload_uri: The upload URI for the VHD. :type upload_uri: str """ _attribute_map = { 'upload_uri': {'key': 'uploadUri', 'type': 'str'}, } def __init__(self, *, upload_uri: str=None, **kwargs) -> None: super(GenerateUploadUriResponse, self).__init__(**kwargs) self.upload_uri = upload_uri
[docs]class HourDetails(Model): """Properties of an hourly schedule. :param minute: Minutes of the hour the schedule will run. :type minute: int """ _attribute_map = { 'minute': {'key': 'minute', 'type': 'int'}, } def __init__(self, *, minute: int=None, **kwargs) -> None: super(HourDetails, self).__init__(**kwargs) self.minute = minute
[docs]class HourDetailsFragment(Model): """Properties of an hourly schedule. :param minute: Minutes of the hour the schedule will run. :type minute: int """ _attribute_map = { 'minute': {'key': 'minute', 'type': 'int'}, } def __init__(self, *, minute: int=None, **kwargs) -> None: super(HourDetailsFragment, self).__init__(**kwargs) self.minute = minute
[docs]class IdentityProperties(Model): """Properties of a managed identity. :param type: Managed identity. :type type: str :param principal_id: The principal id of resource identity. :type principal_id: str :param tenant_id: The tenant identifier of resource. :type tenant_id: str :param client_secret_url: The client secret URL of the identity. :type client_secret_url: str """ _attribute_map = { 'type': {'key': 'type', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'client_secret_url': {'key': 'clientSecretUrl', 'type': 'str'}, } def __init__(self, *, type: str=None, principal_id: str=None, tenant_id: str=None, client_secret_url: str=None, **kwargs) -> None: super(IdentityProperties, self).__init__(**kwargs) self.type = type self.principal_id = principal_id self.tenant_id = tenant_id self.client_secret_url = client_secret_url
[docs]class ImportLabVirtualMachineRequest(Model): """This represents the payload required to import a virtual machine from a different lab into the current one. :param source_virtual_machine_resource_id: The full resource ID of the virtual machine to be imported. :type source_virtual_machine_resource_id: str :param destination_virtual_machine_name: The name of the virtual machine in the destination lab :type destination_virtual_machine_name: str """ _attribute_map = { 'source_virtual_machine_resource_id': {'key': 'sourceVirtualMachineResourceId', 'type': 'str'}, 'destination_virtual_machine_name': {'key': 'destinationVirtualMachineName', 'type': 'str'}, } def __init__(self, *, source_virtual_machine_resource_id: str=None, destination_virtual_machine_name: str=None, **kwargs) -> None: super(ImportLabVirtualMachineRequest, self).__init__(**kwargs) self.source_virtual_machine_resource_id = source_virtual_machine_resource_id self.destination_virtual_machine_name = destination_virtual_machine_name
[docs]class InboundNatRule(Model): """A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer. :param transport_protocol: The transport protocol for the endpoint. Possible values include: 'Tcp', 'Udp' :type transport_protocol: str or ~azure.mgmt.devtestlabs.models.TransportProtocol :param frontend_port: The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. :type frontend_port: int :param backend_port: The port to which the external traffic will be redirected. :type backend_port: int """ _attribute_map = { 'transport_protocol': {'key': 'transportProtocol', 'type': 'str'}, 'frontend_port': {'key': 'frontendPort', 'type': 'int'}, 'backend_port': {'key': 'backendPort', 'type': 'int'}, } def __init__(self, *, transport_protocol=None, frontend_port: int=None, backend_port: int=None, **kwargs) -> None: super(InboundNatRule, self).__init__(**kwargs) self.transport_protocol = transport_protocol self.frontend_port = frontend_port self.backend_port = backend_port
[docs]class InboundNatRuleFragment(Model): """A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer. :param transport_protocol: The transport protocol for the endpoint. Possible values include: 'Tcp', 'Udp' :type transport_protocol: str or ~azure.mgmt.devtestlabs.models.TransportProtocol :param frontend_port: The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically. :type frontend_port: int :param backend_port: The port to which the external traffic will be redirected. :type backend_port: int """ _attribute_map = { 'transport_protocol': {'key': 'transportProtocol', 'type': 'str'}, 'frontend_port': {'key': 'frontendPort', 'type': 'int'}, 'backend_port': {'key': 'backendPort', 'type': 'int'}, } def __init__(self, *, transport_protocol=None, frontend_port: int=None, backend_port: int=None, **kwargs) -> None: super(InboundNatRuleFragment, self).__init__(**kwargs) self.transport_protocol = transport_protocol self.frontend_port = frontend_port self.backend_port = backend_port
[docs]class Lab(Resource): """A lab. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :ivar default_storage_account: The lab's default storage account. :vartype default_storage_account: str :ivar default_premium_storage_account: The lab's default premium storage account. :vartype default_premium_storage_account: str :ivar artifacts_storage_account: The lab's artifact storage account. :vartype artifacts_storage_account: str :ivar premium_data_disk_storage_account: The lab's premium data disk storage account. :vartype premium_data_disk_storage_account: str :ivar vault_name: The lab's Key vault. :vartype vault_name: str :param lab_storage_type: Type of storage used by the lab. It can be either Premium or Standard. Default is Premium. Possible values include: 'Standard', 'Premium', 'StandardSSD' :type lab_storage_type: str or ~azure.mgmt.devtestlabs.models.StorageType :param mandatory_artifacts_resource_ids_linux: The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user. :type mandatory_artifacts_resource_ids_linux: list[str] :param mandatory_artifacts_resource_ids_windows: The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user. :type mandatory_artifacts_resource_ids_windows: list[str] :ivar created_date: The creation date of the lab. :vartype created_date: datetime :param premium_data_disks: The setting to enable usage of premium data disks. When its value is 'Enabled', creation of standard or premium data disks is allowed. When its value is 'Disabled', only creation of standard data disks is allowed. Possible values include: 'Disabled', 'Enabled' :type premium_data_disks: str or ~azure.mgmt.devtestlabs.models.PremiumDataDisk :param environment_permission: The access rights to be granted to the user when provisioning an environment. Possible values include: 'Reader', 'Contributor' :type environment_permission: str or ~azure.mgmt.devtestlabs.models.EnvironmentPermission :param announcement: The properties of any lab announcement associated with this lab :type announcement: ~azure.mgmt.devtestlabs.models.LabAnnouncementProperties :param support: The properties of any lab support message associated with this lab :type support: ~azure.mgmt.devtestlabs.models.LabSupportProperties :ivar vm_creation_resource_group: The resource group in which all new lab virtual machines will be created. To let DevTest Labs manage resource group creation, set this value to null. :vartype vm_creation_resource_group: str :ivar public_ip_id: The public IP address for the lab's load balancer. :vartype public_ip_id: str :ivar load_balancer_id: The load balancer used to for lab VMs that use shared IP address. :vartype load_balancer_id: str :ivar network_security_group_id: The Network Security Group attached to the lab VMs Network interfaces to restrict open ports. :vartype network_security_group_id: str :param extended_properties: Extended properties of the lab used for experimental features :type extended_properties: dict[str, str] :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'default_storage_account': {'readonly': True}, 'default_premium_storage_account': {'readonly': True}, 'artifacts_storage_account': {'readonly': True}, 'premium_data_disk_storage_account': {'readonly': True}, 'vault_name': {'readonly': True}, 'created_date': {'readonly': True}, 'vm_creation_resource_group': {'readonly': True}, 'public_ip_id': {'readonly': True}, 'load_balancer_id': {'readonly': True}, 'network_security_group_id': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'default_storage_account': {'key': 'properties.defaultStorageAccount', 'type': 'str'}, 'default_premium_storage_account': {'key': 'properties.defaultPremiumStorageAccount', 'type': 'str'}, 'artifacts_storage_account': {'key': 'properties.artifactsStorageAccount', 'type': 'str'}, 'premium_data_disk_storage_account': {'key': 'properties.premiumDataDiskStorageAccount', 'type': 'str'}, 'vault_name': {'key': 'properties.vaultName', 'type': 'str'}, 'lab_storage_type': {'key': 'properties.labStorageType', 'type': 'str'}, 'mandatory_artifacts_resource_ids_linux': {'key': 'properties.mandatoryArtifactsResourceIdsLinux', 'type': '[str]'}, 'mandatory_artifacts_resource_ids_windows': {'key': 'properties.mandatoryArtifactsResourceIdsWindows', 'type': '[str]'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'premium_data_disks': {'key': 'properties.premiumDataDisks', 'type': 'str'}, 'environment_permission': {'key': 'properties.environmentPermission', 'type': 'str'}, 'announcement': {'key': 'properties.announcement', 'type': 'LabAnnouncementProperties'}, 'support': {'key': 'properties.support', 'type': 'LabSupportProperties'}, 'vm_creation_resource_group': {'key': 'properties.vmCreationResourceGroup', 'type': 'str'}, 'public_ip_id': {'key': 'properties.publicIpId', 'type': 'str'}, 'load_balancer_id': {'key': 'properties.loadBalancerId', 'type': 'str'}, 'network_security_group_id': {'key': 'properties.networkSecurityGroupId', 'type': 'str'}, 'extended_properties': {'key': 'properties.extendedProperties', 'type': '{str}'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, lab_storage_type=None, mandatory_artifacts_resource_ids_linux=None, mandatory_artifacts_resource_ids_windows=None, premium_data_disks=None, environment_permission=None, announcement=None, support=None, extended_properties=None, **kwargs) -> None: super(Lab, self).__init__(location=location, tags=tags, **kwargs) self.default_storage_account = None self.default_premium_storage_account = None self.artifacts_storage_account = None self.premium_data_disk_storage_account = None self.vault_name = None self.lab_storage_type = lab_storage_type self.mandatory_artifacts_resource_ids_linux = mandatory_artifacts_resource_ids_linux self.mandatory_artifacts_resource_ids_windows = mandatory_artifacts_resource_ids_windows self.created_date = None self.premium_data_disks = premium_data_disks self.environment_permission = environment_permission self.announcement = announcement self.support = support self.vm_creation_resource_group = None self.public_ip_id = None self.load_balancer_id = None self.network_security_group_id = None self.extended_properties = extended_properties self.provisioning_state = None self.unique_identifier = None
[docs]class LabAnnouncementProperties(Model): """Properties of a lab's announcement banner. Variables are only populated by the server, and will be ignored when sending a request. :param title: The plain text title for the lab announcement :type title: str :param markdown: The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. :type markdown: str :param enabled: Is the lab announcement active/enabled at this time?. Possible values include: 'Enabled', 'Disabled' :type enabled: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param expiration_date: The time at which the announcement expires (null for never) :type expiration_date: datetime :param expired: Has this announcement expired? :type expired: bool :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'title': {'key': 'title', 'type': 'str'}, 'markdown': {'key': 'markdown', 'type': 'str'}, 'enabled': {'key': 'enabled', 'type': 'str'}, 'expiration_date': {'key': 'expirationDate', 'type': 'iso-8601'}, 'expired': {'key': 'expired', 'type': 'bool'}, 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, title: str=None, markdown: str=None, enabled=None, expiration_date=None, expired: bool=None, **kwargs) -> None: super(LabAnnouncementProperties, self).__init__(**kwargs) self.title = title self.markdown = markdown self.enabled = enabled self.expiration_date = expiration_date self.expired = expired self.provisioning_state = None self.unique_identifier = None
[docs]class LabAnnouncementPropertiesFragment(Model): """Properties of a lab's announcement banner. :param title: The plain text title for the lab announcement :type title: str :param markdown: The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. :type markdown: str :param enabled: Is the lab announcement active/enabled at this time?. Possible values include: 'Enabled', 'Disabled' :type enabled: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param expiration_date: The time at which the announcement expires (null for never) :type expiration_date: datetime :param expired: Has this announcement expired? :type expired: bool """ _attribute_map = { 'title': {'key': 'title', 'type': 'str'}, 'markdown': {'key': 'markdown', 'type': 'str'}, 'enabled': {'key': 'enabled', 'type': 'str'}, 'expiration_date': {'key': 'expirationDate', 'type': 'iso-8601'}, 'expired': {'key': 'expired', 'type': 'bool'}, } def __init__(self, *, title: str=None, markdown: str=None, enabled=None, expiration_date=None, expired: bool=None, **kwargs) -> None: super(LabAnnouncementPropertiesFragment, self).__init__(**kwargs) self.title = title self.markdown = markdown self.enabled = enabled self.expiration_date = expiration_date self.expired = expired
[docs]class LabCost(Resource): """A cost item. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param target_cost: The target cost properties :type target_cost: ~azure.mgmt.devtestlabs.models.TargetCostProperties :ivar lab_cost_summary: The lab cost summary component of the cost data. :vartype lab_cost_summary: ~azure.mgmt.devtestlabs.models.LabCostSummaryProperties :ivar lab_cost_details: The lab cost details component of the cost data. :vartype lab_cost_details: list[~azure.mgmt.devtestlabs.models.LabCostDetailsProperties] :ivar resource_costs: The resource cost component of the cost data. :vartype resource_costs: list[~azure.mgmt.devtestlabs.models.LabResourceCostProperties] :param currency_code: The currency code of the cost. :type currency_code: str :param start_date_time: The start time of the cost data. :type start_date_time: datetime :param end_date_time: The end time of the cost data. :type end_date_time: datetime :param created_date: The creation date of the cost. :type created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'lab_cost_summary': {'readonly': True}, 'lab_cost_details': {'readonly': True}, 'resource_costs': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'target_cost': {'key': 'properties.targetCost', 'type': 'TargetCostProperties'}, 'lab_cost_summary': {'key': 'properties.labCostSummary', 'type': 'LabCostSummaryProperties'}, 'lab_cost_details': {'key': 'properties.labCostDetails', 'type': '[LabCostDetailsProperties]'}, 'resource_costs': {'key': 'properties.resourceCosts', 'type': '[LabResourceCostProperties]'}, 'currency_code': {'key': 'properties.currencyCode', 'type': 'str'}, 'start_date_time': {'key': 'properties.startDateTime', 'type': 'iso-8601'}, 'end_date_time': {'key': 'properties.endDateTime', 'type': 'iso-8601'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, target_cost=None, currency_code: str=None, start_date_time=None, end_date_time=None, created_date=None, **kwargs) -> None: super(LabCost, self).__init__(location=location, tags=tags, **kwargs) self.target_cost = target_cost self.lab_cost_summary = None self.lab_cost_details = None self.resource_costs = None self.currency_code = currency_code self.start_date_time = start_date_time self.end_date_time = end_date_time self.created_date = created_date self.provisioning_state = None self.unique_identifier = None
[docs]class LabCostDetailsProperties(Model): """The properties of a lab cost item. :param date_property: The date of the cost item. :type date_property: datetime :param cost: The cost component of the cost item. :type cost: float :param cost_type: The type of the cost. Possible values include: 'Unavailable', 'Reported', 'Projected' :type cost_type: str or ~azure.mgmt.devtestlabs.models.CostType """ _attribute_map = { 'date_property': {'key': 'date', 'type': 'iso-8601'}, 'cost': {'key': 'cost', 'type': 'float'}, 'cost_type': {'key': 'costType', 'type': 'str'}, } def __init__(self, *, date_property=None, cost: float=None, cost_type=None, **kwargs) -> None: super(LabCostDetailsProperties, self).__init__(**kwargs) self.date_property = date_property self.cost = cost self.cost_type = cost_type
[docs]class LabCostSummaryProperties(Model): """The properties of the cost summary. :param estimated_lab_cost: The cost component of the cost item. :type estimated_lab_cost: float """ _attribute_map = { 'estimated_lab_cost': {'key': 'estimatedLabCost', 'type': 'float'}, } def __init__(self, *, estimated_lab_cost: float=None, **kwargs) -> None: super(LabCostSummaryProperties, self).__init__(**kwargs) self.estimated_lab_cost = estimated_lab_cost
[docs]class LabFragment(UpdateResource): """A lab. :param tags: The tags of the resource. :type tags: dict[str, str] :param lab_storage_type: Type of storage used by the lab. It can be either Premium or Standard. Default is Premium. Possible values include: 'Standard', 'Premium', 'StandardSSD' :type lab_storage_type: str or ~azure.mgmt.devtestlabs.models.StorageType :param mandatory_artifacts_resource_ids_linux: The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user. :type mandatory_artifacts_resource_ids_linux: list[str] :param mandatory_artifacts_resource_ids_windows: The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user. :type mandatory_artifacts_resource_ids_windows: list[str] :param premium_data_disks: The setting to enable usage of premium data disks. When its value is 'Enabled', creation of standard or premium data disks is allowed. When its value is 'Disabled', only creation of standard data disks is allowed. Possible values include: 'Disabled', 'Enabled' :type premium_data_disks: str or ~azure.mgmt.devtestlabs.models.PremiumDataDisk :param environment_permission: The access rights to be granted to the user when provisioning an environment. Possible values include: 'Reader', 'Contributor' :type environment_permission: str or ~azure.mgmt.devtestlabs.models.EnvironmentPermission :param announcement: The properties of any lab announcement associated with this lab :type announcement: ~azure.mgmt.devtestlabs.models.LabAnnouncementPropertiesFragment :param support: The properties of any lab support message associated with this lab :type support: ~azure.mgmt.devtestlabs.models.LabSupportPropertiesFragment :param extended_properties: Extended properties of the lab used for experimental features :type extended_properties: dict[str, str] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'lab_storage_type': {'key': 'properties.labStorageType', 'type': 'str'}, 'mandatory_artifacts_resource_ids_linux': {'key': 'properties.mandatoryArtifactsResourceIdsLinux', 'type': '[str]'}, 'mandatory_artifacts_resource_ids_windows': {'key': 'properties.mandatoryArtifactsResourceIdsWindows', 'type': '[str]'}, 'premium_data_disks': {'key': 'properties.premiumDataDisks', 'type': 'str'}, 'environment_permission': {'key': 'properties.environmentPermission', 'type': 'str'}, 'announcement': {'key': 'properties.announcement', 'type': 'LabAnnouncementPropertiesFragment'}, 'support': {'key': 'properties.support', 'type': 'LabSupportPropertiesFragment'}, 'extended_properties': {'key': 'properties.extendedProperties', 'type': '{str}'}, } def __init__(self, *, tags=None, lab_storage_type=None, mandatory_artifacts_resource_ids_linux=None, mandatory_artifacts_resource_ids_windows=None, premium_data_disks=None, environment_permission=None, announcement=None, support=None, extended_properties=None, **kwargs) -> None: super(LabFragment, self).__init__(tags=tags, **kwargs) self.lab_storage_type = lab_storage_type self.mandatory_artifacts_resource_ids_linux = mandatory_artifacts_resource_ids_linux self.mandatory_artifacts_resource_ids_windows = mandatory_artifacts_resource_ids_windows self.premium_data_disks = premium_data_disks self.environment_permission = environment_permission self.announcement = announcement self.support = support self.extended_properties = extended_properties
[docs]class LabResourceCostProperties(Model): """The properties of a resource cost item. :param resourcename: The name of the resource. :type resourcename: str :param resource_uid: The unique identifier of the resource. :type resource_uid: str :param resource_cost: The cost component of the resource cost item. :type resource_cost: float :param resource_type: The logical resource type (ex. virtualmachine, storageaccount) :type resource_type: str :param resource_owner: The owner of the resource (ex. janedoe@microsoft.com) :type resource_owner: str :param resource_pricing_tier: The category of the resource (ex. Premium_LRS, Standard_DS1) :type resource_pricing_tier: str :param resource_status: The status of the resource (ex. Active) :type resource_status: str :param resource_id: The ID of the resource :type resource_id: str :param external_resource_id: The ID of the external resource :type external_resource_id: str """ _attribute_map = { 'resourcename': {'key': 'resourcename', 'type': 'str'}, 'resource_uid': {'key': 'resourceUId', 'type': 'str'}, 'resource_cost': {'key': 'resourceCost', 'type': 'float'}, 'resource_type': {'key': 'resourceType', 'type': 'str'}, 'resource_owner': {'key': 'resourceOwner', 'type': 'str'}, 'resource_pricing_tier': {'key': 'resourcePricingTier', 'type': 'str'}, 'resource_status': {'key': 'resourceStatus', 'type': 'str'}, 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'external_resource_id': {'key': 'externalResourceId', 'type': 'str'}, } def __init__(self, *, resourcename: str=None, resource_uid: str=None, resource_cost: float=None, resource_type: str=None, resource_owner: str=None, resource_pricing_tier: str=None, resource_status: str=None, resource_id: str=None, external_resource_id: str=None, **kwargs) -> None: super(LabResourceCostProperties, self).__init__(**kwargs) self.resourcename = resourcename self.resource_uid = resource_uid self.resource_cost = resource_cost self.resource_type = resource_type self.resource_owner = resource_owner self.resource_pricing_tier = resource_pricing_tier self.resource_status = resource_status self.resource_id = resource_id self.external_resource_id = external_resource_id
[docs]class LabSupportProperties(Model): """Properties of a lab's support banner. :param enabled: Is the lab support banner active/enabled at this time?. Possible values include: 'Enabled', 'Disabled' :type enabled: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param markdown: The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. :type markdown: str """ _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'str'}, 'markdown': {'key': 'markdown', 'type': 'str'}, } def __init__(self, *, enabled=None, markdown: str=None, **kwargs) -> None: super(LabSupportProperties, self).__init__(**kwargs) self.enabled = enabled self.markdown = markdown
[docs]class LabSupportPropertiesFragment(Model): """Properties of a lab's support banner. :param enabled: Is the lab support banner active/enabled at this time?. Possible values include: 'Enabled', 'Disabled' :type enabled: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param markdown: The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown. :type markdown: str """ _attribute_map = { 'enabled': {'key': 'enabled', 'type': 'str'}, 'markdown': {'key': 'markdown', 'type': 'str'}, } def __init__(self, *, enabled=None, markdown: str=None, **kwargs) -> None: super(LabSupportPropertiesFragment, self).__init__(**kwargs) self.enabled = enabled self.markdown = markdown
[docs]class LabVhd(Model): """Properties of a VHD in the lab. :param id: The URI to the VHD. :type id: str """ _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, } def __init__(self, *, id: str=None, **kwargs) -> None: super(LabVhd, self).__init__(**kwargs) self.id = id
[docs]class LabVirtualMachine(Resource): """A virtual machine. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param notes: The notes of the virtual machine. :type notes: str :param owner_object_id: The object identifier of the owner of the virtual machine. :type owner_object_id: str :param owner_user_principal_name: The user principal name of the virtual machine owner. :type owner_user_principal_name: str :param created_by_user_id: The object identifier of the creator of the virtual machine. :type created_by_user_id: str :param created_by_user: The email address of creator of the virtual machine. :type created_by_user: str :param created_date: The creation date of the virtual machine. :type created_date: datetime :param compute_id: The resource identifier (Microsoft.Compute) of the virtual machine. :type compute_id: str :param custom_image_id: The custom image identifier of the virtual machine. :type custom_image_id: str :param os_type: The OS type of the virtual machine. :type os_type: str :param size: The size of the virtual machine. :type size: str :param user_name: The user name of the virtual machine. :type user_name: str :param password: The password of the virtual machine administrator. :type password: str :param ssh_key: The SSH key of the virtual machine administrator. :type ssh_key: str :param is_authentication_with_ssh_key: Indicates whether this virtual machine uses an SSH key for authentication. :type is_authentication_with_ssh_key: bool :param fqdn: The fully-qualified domain name of the virtual machine. :type fqdn: str :param lab_subnet_name: The lab subnet name of the virtual machine. :type lab_subnet_name: str :param lab_virtual_network_id: The lab virtual network identifier of the virtual machine. :type lab_virtual_network_id: str :param disallow_public_ip_address: Indicates whether the virtual machine is to be created without a public IP address. :type disallow_public_ip_address: bool :param artifacts: The artifacts to be installed on the virtual machine. :type artifacts: list[~azure.mgmt.devtestlabs.models.ArtifactInstallProperties] :param artifact_deployment_status: The artifact deployment status for the virtual machine. :type artifact_deployment_status: ~azure.mgmt.devtestlabs.models.ArtifactDeploymentStatusProperties :param gallery_image_reference: The Microsoft Azure Marketplace image reference of the virtual machine. :type gallery_image_reference: ~azure.mgmt.devtestlabs.models.GalleryImageReference :param plan_id: The id of the plan associated with the virtual machine image :type plan_id: str :ivar compute_vm: The compute virtual machine properties. :vartype compute_vm: ~azure.mgmt.devtestlabs.models.ComputeVmProperties :param network_interface: The network interface properties. :type network_interface: ~azure.mgmt.devtestlabs.models.NetworkInterfaceProperties :ivar applicable_schedule: The applicable schedule for the virtual machine. :vartype applicable_schedule: ~azure.mgmt.devtestlabs.models.ApplicableSchedule :param expiration_date: The expiration date for VM. :type expiration_date: datetime :param allow_claim: Indicates whether another user can take ownership of the virtual machine :type allow_claim: bool :param storage_type: Storage type to use for virtual machine (i.e. Standard, Premium). :type storage_type: str :param virtual_machine_creation_source: Tells source of creation of lab virtual machine. Output property only. Possible values include: 'FromCustomImage', 'FromGalleryImage', 'FromSharedGalleryImage' :type virtual_machine_creation_source: str or ~azure.mgmt.devtestlabs.models.VirtualMachineCreationSource :param environment_id: The resource ID of the environment that contains this virtual machine, if any. :type environment_id: str :param data_disk_parameters: New or existing data disks to attach to the virtual machine after creation :type data_disk_parameters: list[~azure.mgmt.devtestlabs.models.DataDiskProperties] :param schedule_parameters: Virtual Machine schedules to be created :type schedule_parameters: list[~azure.mgmt.devtestlabs.models.ScheduleCreationParameter] :param last_known_power_state: Last known compute power state captured in DTL :type last_known_power_state: str :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'compute_vm': {'readonly': True}, 'applicable_schedule': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'notes': {'key': 'properties.notes', 'type': 'str'}, 'owner_object_id': {'key': 'properties.ownerObjectId', 'type': 'str'}, 'owner_user_principal_name': {'key': 'properties.ownerUserPrincipalName', 'type': 'str'}, 'created_by_user_id': {'key': 'properties.createdByUserId', 'type': 'str'}, 'created_by_user': {'key': 'properties.createdByUser', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'compute_id': {'key': 'properties.computeId', 'type': 'str'}, 'custom_image_id': {'key': 'properties.customImageId', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'size': {'key': 'properties.size', 'type': 'str'}, 'user_name': {'key': 'properties.userName', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'ssh_key': {'key': 'properties.sshKey', 'type': 'str'}, 'is_authentication_with_ssh_key': {'key': 'properties.isAuthenticationWithSshKey', 'type': 'bool'}, 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 'lab_subnet_name': {'key': 'properties.labSubnetName', 'type': 'str'}, 'lab_virtual_network_id': {'key': 'properties.labVirtualNetworkId', 'type': 'str'}, 'disallow_public_ip_address': {'key': 'properties.disallowPublicIpAddress', 'type': 'bool'}, 'artifacts': {'key': 'properties.artifacts', 'type': '[ArtifactInstallProperties]'}, 'artifact_deployment_status': {'key': 'properties.artifactDeploymentStatus', 'type': 'ArtifactDeploymentStatusProperties'}, 'gallery_image_reference': {'key': 'properties.galleryImageReference', 'type': 'GalleryImageReference'}, 'plan_id': {'key': 'properties.planId', 'type': 'str'}, 'compute_vm': {'key': 'properties.computeVm', 'type': 'ComputeVmProperties'}, 'network_interface': {'key': 'properties.networkInterface', 'type': 'NetworkInterfaceProperties'}, 'applicable_schedule': {'key': 'properties.applicableSchedule', 'type': 'ApplicableSchedule'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'allow_claim': {'key': 'properties.allowClaim', 'type': 'bool'}, 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, 'virtual_machine_creation_source': {'key': 'properties.virtualMachineCreationSource', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, 'data_disk_parameters': {'key': 'properties.dataDiskParameters', 'type': '[DataDiskProperties]'}, 'schedule_parameters': {'key': 'properties.scheduleParameters', 'type': '[ScheduleCreationParameter]'}, 'last_known_power_state': {'key': 'properties.lastKnownPowerState', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, notes: str=None, owner_object_id: str=None, owner_user_principal_name: str=None, created_by_user_id: str=None, created_by_user: str=None, created_date=None, compute_id: str=None, custom_image_id: str=None, os_type: str=None, size: str=None, user_name: str=None, password: str=None, ssh_key: str=None, is_authentication_with_ssh_key: bool=None, fqdn: str=None, lab_subnet_name: str=None, lab_virtual_network_id: str=None, disallow_public_ip_address: bool=None, artifacts=None, artifact_deployment_status=None, gallery_image_reference=None, plan_id: str=None, network_interface=None, expiration_date=None, allow_claim: bool=None, storage_type: str=None, virtual_machine_creation_source=None, environment_id: str=None, data_disk_parameters=None, schedule_parameters=None, last_known_power_state: str=None, **kwargs) -> None: super(LabVirtualMachine, self).__init__(location=location, tags=tags, **kwargs) self.notes = notes self.owner_object_id = owner_object_id self.owner_user_principal_name = owner_user_principal_name self.created_by_user_id = created_by_user_id self.created_by_user = created_by_user self.created_date = created_date self.compute_id = compute_id self.custom_image_id = custom_image_id self.os_type = os_type self.size = size self.user_name = user_name self.password = password self.ssh_key = ssh_key self.is_authentication_with_ssh_key = is_authentication_with_ssh_key self.fqdn = fqdn self.lab_subnet_name = lab_subnet_name self.lab_virtual_network_id = lab_virtual_network_id self.disallow_public_ip_address = disallow_public_ip_address self.artifacts = artifacts self.artifact_deployment_status = artifact_deployment_status self.gallery_image_reference = gallery_image_reference self.plan_id = plan_id self.compute_vm = None self.network_interface = network_interface self.applicable_schedule = None self.expiration_date = expiration_date self.allow_claim = allow_claim self.storage_type = storage_type self.virtual_machine_creation_source = virtual_machine_creation_source self.environment_id = environment_id self.data_disk_parameters = data_disk_parameters self.schedule_parameters = schedule_parameters self.last_known_power_state = last_known_power_state self.provisioning_state = None self.unique_identifier = None
[docs]class LabVirtualMachineCreationParameter(Model): """Properties for creating a virtual machine. :param bulk_creation_parameters: The number of virtual machine instances to create. :type bulk_creation_parameters: ~azure.mgmt.devtestlabs.models.BulkCreationParameters :param notes: The notes of the virtual machine. :type notes: str :param owner_object_id: The object identifier of the owner of the virtual machine. :type owner_object_id: str :param owner_user_principal_name: The user principal name of the virtual machine owner. :type owner_user_principal_name: str :param created_by_user_id: The object identifier of the creator of the virtual machine. :type created_by_user_id: str :param created_by_user: The email address of creator of the virtual machine. :type created_by_user: str :param created_date: The creation date of the virtual machine. :type created_date: datetime :param compute_id: The resource identifier (Microsoft.Compute) of the virtual machine. :type compute_id: str :param custom_image_id: The custom image identifier of the virtual machine. :type custom_image_id: str :param os_type: The OS type of the virtual machine. :type os_type: str :param size: The size of the virtual machine. :type size: str :param user_name: The user name of the virtual machine. :type user_name: str :param password: The password of the virtual machine administrator. :type password: str :param ssh_key: The SSH key of the virtual machine administrator. :type ssh_key: str :param is_authentication_with_ssh_key: Indicates whether this virtual machine uses an SSH key for authentication. :type is_authentication_with_ssh_key: bool :param fqdn: The fully-qualified domain name of the virtual machine. :type fqdn: str :param lab_subnet_name: The lab subnet name of the virtual machine. :type lab_subnet_name: str :param lab_virtual_network_id: The lab virtual network identifier of the virtual machine. :type lab_virtual_network_id: str :param disallow_public_ip_address: Indicates whether the virtual machine is to be created without a public IP address. :type disallow_public_ip_address: bool :param artifacts: The artifacts to be installed on the virtual machine. :type artifacts: list[~azure.mgmt.devtestlabs.models.ArtifactInstallProperties] :param artifact_deployment_status: The artifact deployment status for the virtual machine. :type artifact_deployment_status: ~azure.mgmt.devtestlabs.models.ArtifactDeploymentStatusProperties :param gallery_image_reference: The Microsoft Azure Marketplace image reference of the virtual machine. :type gallery_image_reference: ~azure.mgmt.devtestlabs.models.GalleryImageReference :param plan_id: The id of the plan associated with the virtual machine image :type plan_id: str :param network_interface: The network interface properties. :type network_interface: ~azure.mgmt.devtestlabs.models.NetworkInterfaceProperties :param expiration_date: The expiration date for VM. :type expiration_date: datetime :param allow_claim: Indicates whether another user can take ownership of the virtual machine :type allow_claim: bool :param storage_type: Storage type to use for virtual machine (i.e. Standard, Premium). :type storage_type: str :param virtual_machine_creation_source: Tells source of creation of lab virtual machine. Output property only. Possible values include: 'FromCustomImage', 'FromGalleryImage', 'FromSharedGalleryImage' :type virtual_machine_creation_source: str or ~azure.mgmt.devtestlabs.models.VirtualMachineCreationSource :param environment_id: The resource ID of the environment that contains this virtual machine, if any. :type environment_id: str :param data_disk_parameters: New or existing data disks to attach to the virtual machine after creation :type data_disk_parameters: list[~azure.mgmt.devtestlabs.models.DataDiskProperties] :param schedule_parameters: Virtual Machine schedules to be created :type schedule_parameters: list[~azure.mgmt.devtestlabs.models.ScheduleCreationParameter] :param last_known_power_state: Last known compute power state captured in DTL :type last_known_power_state: str :param name: The name of the virtual machine or environment :type name: str :param location: The location of the new virtual machine or environment :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] """ _attribute_map = { 'bulk_creation_parameters': {'key': 'properties.bulkCreationParameters', 'type': 'BulkCreationParameters'}, 'notes': {'key': 'properties.notes', 'type': 'str'}, 'owner_object_id': {'key': 'properties.ownerObjectId', 'type': 'str'}, 'owner_user_principal_name': {'key': 'properties.ownerUserPrincipalName', 'type': 'str'}, 'created_by_user_id': {'key': 'properties.createdByUserId', 'type': 'str'}, 'created_by_user': {'key': 'properties.createdByUser', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'compute_id': {'key': 'properties.computeId', 'type': 'str'}, 'custom_image_id': {'key': 'properties.customImageId', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'size': {'key': 'properties.size', 'type': 'str'}, 'user_name': {'key': 'properties.userName', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'ssh_key': {'key': 'properties.sshKey', 'type': 'str'}, 'is_authentication_with_ssh_key': {'key': 'properties.isAuthenticationWithSshKey', 'type': 'bool'}, 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 'lab_subnet_name': {'key': 'properties.labSubnetName', 'type': 'str'}, 'lab_virtual_network_id': {'key': 'properties.labVirtualNetworkId', 'type': 'str'}, 'disallow_public_ip_address': {'key': 'properties.disallowPublicIpAddress', 'type': 'bool'}, 'artifacts': {'key': 'properties.artifacts', 'type': '[ArtifactInstallProperties]'}, 'artifact_deployment_status': {'key': 'properties.artifactDeploymentStatus', 'type': 'ArtifactDeploymentStatusProperties'}, 'gallery_image_reference': {'key': 'properties.galleryImageReference', 'type': 'GalleryImageReference'}, 'plan_id': {'key': 'properties.planId', 'type': 'str'}, 'network_interface': {'key': 'properties.networkInterface', 'type': 'NetworkInterfaceProperties'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'allow_claim': {'key': 'properties.allowClaim', 'type': 'bool'}, 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, 'virtual_machine_creation_source': {'key': 'properties.virtualMachineCreationSource', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, 'data_disk_parameters': {'key': 'properties.dataDiskParameters', 'type': '[DataDiskProperties]'}, 'schedule_parameters': {'key': 'properties.scheduleParameters', 'type': '[ScheduleCreationParameter]'}, 'last_known_power_state': {'key': 'properties.lastKnownPowerState', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, bulk_creation_parameters=None, notes: str=None, owner_object_id: str=None, owner_user_principal_name: str=None, created_by_user_id: str=None, created_by_user: str=None, created_date=None, compute_id: str=None, custom_image_id: str=None, os_type: str=None, size: str=None, user_name: str=None, password: str=None, ssh_key: str=None, is_authentication_with_ssh_key: bool=None, fqdn: str=None, lab_subnet_name: str=None, lab_virtual_network_id: str=None, disallow_public_ip_address: bool=None, artifacts=None, artifact_deployment_status=None, gallery_image_reference=None, plan_id: str=None, network_interface=None, expiration_date=None, allow_claim: bool=None, storage_type: str=None, virtual_machine_creation_source=None, environment_id: str=None, data_disk_parameters=None, schedule_parameters=None, last_known_power_state: str=None, name: str=None, location: str=None, tags=None, **kwargs) -> None: super(LabVirtualMachineCreationParameter, self).__init__(**kwargs) self.bulk_creation_parameters = bulk_creation_parameters self.notes = notes self.owner_object_id = owner_object_id self.owner_user_principal_name = owner_user_principal_name self.created_by_user_id = created_by_user_id self.created_by_user = created_by_user self.created_date = created_date self.compute_id = compute_id self.custom_image_id = custom_image_id self.os_type = os_type self.size = size self.user_name = user_name self.password = password self.ssh_key = ssh_key self.is_authentication_with_ssh_key = is_authentication_with_ssh_key self.fqdn = fqdn self.lab_subnet_name = lab_subnet_name self.lab_virtual_network_id = lab_virtual_network_id self.disallow_public_ip_address = disallow_public_ip_address self.artifacts = artifacts self.artifact_deployment_status = artifact_deployment_status self.gallery_image_reference = gallery_image_reference self.plan_id = plan_id self.network_interface = network_interface self.expiration_date = expiration_date self.allow_claim = allow_claim self.storage_type = storage_type self.virtual_machine_creation_source = virtual_machine_creation_source self.environment_id = environment_id self.data_disk_parameters = data_disk_parameters self.schedule_parameters = schedule_parameters self.last_known_power_state = last_known_power_state self.name = name self.location = location self.tags = tags
[docs]class LabVirtualMachineCreationParameterFragment(Model): """Properties for creating a virtual machine. :param bulk_creation_parameters: The number of virtual machine instances to create. :type bulk_creation_parameters: ~azure.mgmt.devtestlabs.models.BulkCreationParametersFragment :param notes: The notes of the virtual machine. :type notes: str :param owner_object_id: The object identifier of the owner of the virtual machine. :type owner_object_id: str :param owner_user_principal_name: The user principal name of the virtual machine owner. :type owner_user_principal_name: str :param created_by_user_id: The object identifier of the creator of the virtual machine. :type created_by_user_id: str :param created_by_user: The email address of creator of the virtual machine. :type created_by_user: str :param created_date: The creation date of the virtual machine. :type created_date: datetime :param compute_id: The resource identifier (Microsoft.Compute) of the virtual machine. :type compute_id: str :param custom_image_id: The custom image identifier of the virtual machine. :type custom_image_id: str :param os_type: The OS type of the virtual machine. :type os_type: str :param size: The size of the virtual machine. :type size: str :param user_name: The user name of the virtual machine. :type user_name: str :param password: The password of the virtual machine administrator. :type password: str :param ssh_key: The SSH key of the virtual machine administrator. :type ssh_key: str :param is_authentication_with_ssh_key: Indicates whether this virtual machine uses an SSH key for authentication. :type is_authentication_with_ssh_key: bool :param fqdn: The fully-qualified domain name of the virtual machine. :type fqdn: str :param lab_subnet_name: The lab subnet name of the virtual machine. :type lab_subnet_name: str :param lab_virtual_network_id: The lab virtual network identifier of the virtual machine. :type lab_virtual_network_id: str :param disallow_public_ip_address: Indicates whether the virtual machine is to be created without a public IP address. :type disallow_public_ip_address: bool :param artifacts: The artifacts to be installed on the virtual machine. :type artifacts: list[~azure.mgmt.devtestlabs.models.ArtifactInstallPropertiesFragment] :param artifact_deployment_status: The artifact deployment status for the virtual machine. :type artifact_deployment_status: ~azure.mgmt.devtestlabs.models.ArtifactDeploymentStatusPropertiesFragment :param gallery_image_reference: The Microsoft Azure Marketplace image reference of the virtual machine. :type gallery_image_reference: ~azure.mgmt.devtestlabs.models.GalleryImageReferenceFragment :param plan_id: The id of the plan associated with the virtual machine image :type plan_id: str :param network_interface: The network interface properties. :type network_interface: ~azure.mgmt.devtestlabs.models.NetworkInterfacePropertiesFragment :param expiration_date: The expiration date for VM. :type expiration_date: datetime :param allow_claim: Indicates whether another user can take ownership of the virtual machine :type allow_claim: bool :param storage_type: Storage type to use for virtual machine (i.e. Standard, Premium). :type storage_type: str :param virtual_machine_creation_source: Tells source of creation of lab virtual machine. Output property only. Possible values include: 'FromCustomImage', 'FromGalleryImage', 'FromSharedGalleryImage' :type virtual_machine_creation_source: str or ~azure.mgmt.devtestlabs.models.VirtualMachineCreationSource :param environment_id: The resource ID of the environment that contains this virtual machine, if any. :type environment_id: str :param data_disk_parameters: New or existing data disks to attach to the virtual machine after creation :type data_disk_parameters: list[~azure.mgmt.devtestlabs.models.DataDiskPropertiesFragment] :param schedule_parameters: Virtual Machine schedules to be created :type schedule_parameters: list[~azure.mgmt.devtestlabs.models.ScheduleCreationParameterFragment] :param last_known_power_state: Last known compute power state captured in DTL :type last_known_power_state: str :param name: The name of the virtual machine or environment :type name: str :param location: The location of the new virtual machine or environment :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] """ _attribute_map = { 'bulk_creation_parameters': {'key': 'properties.bulkCreationParameters', 'type': 'BulkCreationParametersFragment'}, 'notes': {'key': 'properties.notes', 'type': 'str'}, 'owner_object_id': {'key': 'properties.ownerObjectId', 'type': 'str'}, 'owner_user_principal_name': {'key': 'properties.ownerUserPrincipalName', 'type': 'str'}, 'created_by_user_id': {'key': 'properties.createdByUserId', 'type': 'str'}, 'created_by_user': {'key': 'properties.createdByUser', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'compute_id': {'key': 'properties.computeId', 'type': 'str'}, 'custom_image_id': {'key': 'properties.customImageId', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'size': {'key': 'properties.size', 'type': 'str'}, 'user_name': {'key': 'properties.userName', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'ssh_key': {'key': 'properties.sshKey', 'type': 'str'}, 'is_authentication_with_ssh_key': {'key': 'properties.isAuthenticationWithSshKey', 'type': 'bool'}, 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 'lab_subnet_name': {'key': 'properties.labSubnetName', 'type': 'str'}, 'lab_virtual_network_id': {'key': 'properties.labVirtualNetworkId', 'type': 'str'}, 'disallow_public_ip_address': {'key': 'properties.disallowPublicIpAddress', 'type': 'bool'}, 'artifacts': {'key': 'properties.artifacts', 'type': '[ArtifactInstallPropertiesFragment]'}, 'artifact_deployment_status': {'key': 'properties.artifactDeploymentStatus', 'type': 'ArtifactDeploymentStatusPropertiesFragment'}, 'gallery_image_reference': {'key': 'properties.galleryImageReference', 'type': 'GalleryImageReferenceFragment'}, 'plan_id': {'key': 'properties.planId', 'type': 'str'}, 'network_interface': {'key': 'properties.networkInterface', 'type': 'NetworkInterfacePropertiesFragment'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'allow_claim': {'key': 'properties.allowClaim', 'type': 'bool'}, 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, 'virtual_machine_creation_source': {'key': 'properties.virtualMachineCreationSource', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, 'data_disk_parameters': {'key': 'properties.dataDiskParameters', 'type': '[DataDiskPropertiesFragment]'}, 'schedule_parameters': {'key': 'properties.scheduleParameters', 'type': '[ScheduleCreationParameterFragment]'}, 'last_known_power_state': {'key': 'properties.lastKnownPowerState', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, bulk_creation_parameters=None, notes: str=None, owner_object_id: str=None, owner_user_principal_name: str=None, created_by_user_id: str=None, created_by_user: str=None, created_date=None, compute_id: str=None, custom_image_id: str=None, os_type: str=None, size: str=None, user_name: str=None, password: str=None, ssh_key: str=None, is_authentication_with_ssh_key: bool=None, fqdn: str=None, lab_subnet_name: str=None, lab_virtual_network_id: str=None, disallow_public_ip_address: bool=None, artifacts=None, artifact_deployment_status=None, gallery_image_reference=None, plan_id: str=None, network_interface=None, expiration_date=None, allow_claim: bool=None, storage_type: str=None, virtual_machine_creation_source=None, environment_id: str=None, data_disk_parameters=None, schedule_parameters=None, last_known_power_state: str=None, name: str=None, location: str=None, tags=None, **kwargs) -> None: super(LabVirtualMachineCreationParameterFragment, self).__init__(**kwargs) self.bulk_creation_parameters = bulk_creation_parameters self.notes = notes self.owner_object_id = owner_object_id self.owner_user_principal_name = owner_user_principal_name self.created_by_user_id = created_by_user_id self.created_by_user = created_by_user self.created_date = created_date self.compute_id = compute_id self.custom_image_id = custom_image_id self.os_type = os_type self.size = size self.user_name = user_name self.password = password self.ssh_key = ssh_key self.is_authentication_with_ssh_key = is_authentication_with_ssh_key self.fqdn = fqdn self.lab_subnet_name = lab_subnet_name self.lab_virtual_network_id = lab_virtual_network_id self.disallow_public_ip_address = disallow_public_ip_address self.artifacts = artifacts self.artifact_deployment_status = artifact_deployment_status self.gallery_image_reference = gallery_image_reference self.plan_id = plan_id self.network_interface = network_interface self.expiration_date = expiration_date self.allow_claim = allow_claim self.storage_type = storage_type self.virtual_machine_creation_source = virtual_machine_creation_source self.environment_id = environment_id self.data_disk_parameters = data_disk_parameters self.schedule_parameters = schedule_parameters self.last_known_power_state = last_known_power_state self.name = name self.location = location self.tags = tags
[docs]class LabVirtualMachineFragment(UpdateResource): """A virtual machine. :param tags: The tags of the resource. :type tags: dict[str, str] :param notes: The notes of the virtual machine. :type notes: str :param owner_object_id: The object identifier of the owner of the virtual machine. :type owner_object_id: str :param owner_user_principal_name: The user principal name of the virtual machine owner. :type owner_user_principal_name: str :param created_by_user_id: The object identifier of the creator of the virtual machine. :type created_by_user_id: str :param created_by_user: The email address of creator of the virtual machine. :type created_by_user: str :param created_date: The creation date of the virtual machine. :type created_date: datetime :param compute_id: The resource identifier (Microsoft.Compute) of the virtual machine. :type compute_id: str :param custom_image_id: The custom image identifier of the virtual machine. :type custom_image_id: str :param os_type: The OS type of the virtual machine. :type os_type: str :param size: The size of the virtual machine. :type size: str :param user_name: The user name of the virtual machine. :type user_name: str :param password: The password of the virtual machine administrator. :type password: str :param ssh_key: The SSH key of the virtual machine administrator. :type ssh_key: str :param is_authentication_with_ssh_key: Indicates whether this virtual machine uses an SSH key for authentication. :type is_authentication_with_ssh_key: bool :param fqdn: The fully-qualified domain name of the virtual machine. :type fqdn: str :param lab_subnet_name: The lab subnet name of the virtual machine. :type lab_subnet_name: str :param lab_virtual_network_id: The lab virtual network identifier of the virtual machine. :type lab_virtual_network_id: str :param disallow_public_ip_address: Indicates whether the virtual machine is to be created without a public IP address. :type disallow_public_ip_address: bool :param artifacts: The artifacts to be installed on the virtual machine. :type artifacts: list[~azure.mgmt.devtestlabs.models.ArtifactInstallPropertiesFragment] :param artifact_deployment_status: The artifact deployment status for the virtual machine. :type artifact_deployment_status: ~azure.mgmt.devtestlabs.models.ArtifactDeploymentStatusPropertiesFragment :param gallery_image_reference: The Microsoft Azure Marketplace image reference of the virtual machine. :type gallery_image_reference: ~azure.mgmt.devtestlabs.models.GalleryImageReferenceFragment :param plan_id: The id of the plan associated with the virtual machine image :type plan_id: str :param network_interface: The network interface properties. :type network_interface: ~azure.mgmt.devtestlabs.models.NetworkInterfacePropertiesFragment :param expiration_date: The expiration date for VM. :type expiration_date: datetime :param allow_claim: Indicates whether another user can take ownership of the virtual machine :type allow_claim: bool :param storage_type: Storage type to use for virtual machine (i.e. Standard, Premium). :type storage_type: str :param virtual_machine_creation_source: Tells source of creation of lab virtual machine. Output property only. Possible values include: 'FromCustomImage', 'FromGalleryImage', 'FromSharedGalleryImage' :type virtual_machine_creation_source: str or ~azure.mgmt.devtestlabs.models.VirtualMachineCreationSource :param environment_id: The resource ID of the environment that contains this virtual machine, if any. :type environment_id: str :param data_disk_parameters: New or existing data disks to attach to the virtual machine after creation :type data_disk_parameters: list[~azure.mgmt.devtestlabs.models.DataDiskPropertiesFragment] :param schedule_parameters: Virtual Machine schedules to be created :type schedule_parameters: list[~azure.mgmt.devtestlabs.models.ScheduleCreationParameterFragment] :param last_known_power_state: Last known compute power state captured in DTL :type last_known_power_state: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'notes': {'key': 'properties.notes', 'type': 'str'}, 'owner_object_id': {'key': 'properties.ownerObjectId', 'type': 'str'}, 'owner_user_principal_name': {'key': 'properties.ownerUserPrincipalName', 'type': 'str'}, 'created_by_user_id': {'key': 'properties.createdByUserId', 'type': 'str'}, 'created_by_user': {'key': 'properties.createdByUser', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'compute_id': {'key': 'properties.computeId', 'type': 'str'}, 'custom_image_id': {'key': 'properties.customImageId', 'type': 'str'}, 'os_type': {'key': 'properties.osType', 'type': 'str'}, 'size': {'key': 'properties.size', 'type': 'str'}, 'user_name': {'key': 'properties.userName', 'type': 'str'}, 'password': {'key': 'properties.password', 'type': 'str'}, 'ssh_key': {'key': 'properties.sshKey', 'type': 'str'}, 'is_authentication_with_ssh_key': {'key': 'properties.isAuthenticationWithSshKey', 'type': 'bool'}, 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 'lab_subnet_name': {'key': 'properties.labSubnetName', 'type': 'str'}, 'lab_virtual_network_id': {'key': 'properties.labVirtualNetworkId', 'type': 'str'}, 'disallow_public_ip_address': {'key': 'properties.disallowPublicIpAddress', 'type': 'bool'}, 'artifacts': {'key': 'properties.artifacts', 'type': '[ArtifactInstallPropertiesFragment]'}, 'artifact_deployment_status': {'key': 'properties.artifactDeploymentStatus', 'type': 'ArtifactDeploymentStatusPropertiesFragment'}, 'gallery_image_reference': {'key': 'properties.galleryImageReference', 'type': 'GalleryImageReferenceFragment'}, 'plan_id': {'key': 'properties.planId', 'type': 'str'}, 'network_interface': {'key': 'properties.networkInterface', 'type': 'NetworkInterfacePropertiesFragment'}, 'expiration_date': {'key': 'properties.expirationDate', 'type': 'iso-8601'}, 'allow_claim': {'key': 'properties.allowClaim', 'type': 'bool'}, 'storage_type': {'key': 'properties.storageType', 'type': 'str'}, 'virtual_machine_creation_source': {'key': 'properties.virtualMachineCreationSource', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, 'data_disk_parameters': {'key': 'properties.dataDiskParameters', 'type': '[DataDiskPropertiesFragment]'}, 'schedule_parameters': {'key': 'properties.scheduleParameters', 'type': '[ScheduleCreationParameterFragment]'}, 'last_known_power_state': {'key': 'properties.lastKnownPowerState', 'type': 'str'}, } def __init__(self, *, tags=None, notes: str=None, owner_object_id: str=None, owner_user_principal_name: str=None, created_by_user_id: str=None, created_by_user: str=None, created_date=None, compute_id: str=None, custom_image_id: str=None, os_type: str=None, size: str=None, user_name: str=None, password: str=None, ssh_key: str=None, is_authentication_with_ssh_key: bool=None, fqdn: str=None, lab_subnet_name: str=None, lab_virtual_network_id: str=None, disallow_public_ip_address: bool=None, artifacts=None, artifact_deployment_status=None, gallery_image_reference=None, plan_id: str=None, network_interface=None, expiration_date=None, allow_claim: bool=None, storage_type: str=None, virtual_machine_creation_source=None, environment_id: str=None, data_disk_parameters=None, schedule_parameters=None, last_known_power_state: str=None, **kwargs) -> None: super(LabVirtualMachineFragment, self).__init__(tags=tags, **kwargs) self.notes = notes self.owner_object_id = owner_object_id self.owner_user_principal_name = owner_user_principal_name self.created_by_user_id = created_by_user_id self.created_by_user = created_by_user self.created_date = created_date self.compute_id = compute_id self.custom_image_id = custom_image_id self.os_type = os_type self.size = size self.user_name = user_name self.password = password self.ssh_key = ssh_key self.is_authentication_with_ssh_key = is_authentication_with_ssh_key self.fqdn = fqdn self.lab_subnet_name = lab_subnet_name self.lab_virtual_network_id = lab_virtual_network_id self.disallow_public_ip_address = disallow_public_ip_address self.artifacts = artifacts self.artifact_deployment_status = artifact_deployment_status self.gallery_image_reference = gallery_image_reference self.plan_id = plan_id self.network_interface = network_interface self.expiration_date = expiration_date self.allow_claim = allow_claim self.storage_type = storage_type self.virtual_machine_creation_source = virtual_machine_creation_source self.environment_id = environment_id self.data_disk_parameters = data_disk_parameters self.schedule_parameters = schedule_parameters self.last_known_power_state = last_known_power_state
[docs]class LinuxOsInfo(Model): """Information about a Linux OS. :param linux_os_state: The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied). Possible values include: 'NonDeprovisioned', 'DeprovisionRequested', 'DeprovisionApplied' :type linux_os_state: str or ~azure.mgmt.devtestlabs.models.LinuxOsState """ _attribute_map = { 'linux_os_state': {'key': 'linuxOsState', 'type': 'str'}, } def __init__(self, *, linux_os_state=None, **kwargs) -> None: super(LinuxOsInfo, self).__init__(**kwargs) self.linux_os_state = linux_os_state
[docs]class LinuxOsInfoFragment(Model): """Information about a Linux OS. :param linux_os_state: The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied). Possible values include: 'NonDeprovisioned', 'DeprovisionRequested', 'DeprovisionApplied' :type linux_os_state: str or ~azure.mgmt.devtestlabs.models.LinuxOsState """ _attribute_map = { 'linux_os_state': {'key': 'linuxOsState', 'type': 'str'}, } def __init__(self, *, linux_os_state=None, **kwargs) -> None: super(LinuxOsInfoFragment, self).__init__(**kwargs) self.linux_os_state = linux_os_state
[docs]class NetworkInterfaceProperties(Model): """Properties of a network interface. :param virtual_network_id: The resource ID of the virtual network. :type virtual_network_id: str :param subnet_id: The resource ID of the sub net. :type subnet_id: str :param public_ip_address_id: The resource ID of the public IP address. :type public_ip_address_id: str :param public_ip_address: The public IP address. :type public_ip_address: str :param private_ip_address: The private IP address. :type private_ip_address: str :param dns_name: The DNS name. :type dns_name: str :param rdp_authority: The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). :type rdp_authority: str :param ssh_authority: The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. :type ssh_authority: str :param shared_public_ip_address_configuration: The configuration for sharing a public IP address across multiple virtual machines. :type shared_public_ip_address_configuration: ~azure.mgmt.devtestlabs.models.SharedPublicIpAddressConfiguration """ _attribute_map = { 'virtual_network_id': {'key': 'virtualNetworkId', 'type': 'str'}, 'subnet_id': {'key': 'subnetId', 'type': 'str'}, 'public_ip_address_id': {'key': 'publicIpAddressId', 'type': 'str'}, 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 'dns_name': {'key': 'dnsName', 'type': 'str'}, 'rdp_authority': {'key': 'rdpAuthority', 'type': 'str'}, 'ssh_authority': {'key': 'sshAuthority', 'type': 'str'}, 'shared_public_ip_address_configuration': {'key': 'sharedPublicIpAddressConfiguration', 'type': 'SharedPublicIpAddressConfiguration'}, } def __init__(self, *, virtual_network_id: str=None, subnet_id: str=None, public_ip_address_id: str=None, public_ip_address: str=None, private_ip_address: str=None, dns_name: str=None, rdp_authority: str=None, ssh_authority: str=None, shared_public_ip_address_configuration=None, **kwargs) -> None: super(NetworkInterfaceProperties, self).__init__(**kwargs) self.virtual_network_id = virtual_network_id self.subnet_id = subnet_id self.public_ip_address_id = public_ip_address_id self.public_ip_address = public_ip_address self.private_ip_address = private_ip_address self.dns_name = dns_name self.rdp_authority = rdp_authority self.ssh_authority = ssh_authority self.shared_public_ip_address_configuration = shared_public_ip_address_configuration
[docs]class NetworkInterfacePropertiesFragment(Model): """Properties of a network interface. :param virtual_network_id: The resource ID of the virtual network. :type virtual_network_id: str :param subnet_id: The resource ID of the sub net. :type subnet_id: str :param public_ip_address_id: The resource ID of the public IP address. :type public_ip_address_id: str :param public_ip_address: The public IP address. :type public_ip_address: str :param private_ip_address: The private IP address. :type private_ip_address: str :param dns_name: The DNS name. :type dns_name: str :param rdp_authority: The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol). :type rdp_authority: str :param ssh_authority: The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH. :type ssh_authority: str :param shared_public_ip_address_configuration: The configuration for sharing a public IP address across multiple virtual machines. :type shared_public_ip_address_configuration: ~azure.mgmt.devtestlabs.models.SharedPublicIpAddressConfigurationFragment """ _attribute_map = { 'virtual_network_id': {'key': 'virtualNetworkId', 'type': 'str'}, 'subnet_id': {'key': 'subnetId', 'type': 'str'}, 'public_ip_address_id': {'key': 'publicIpAddressId', 'type': 'str'}, 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 'dns_name': {'key': 'dnsName', 'type': 'str'}, 'rdp_authority': {'key': 'rdpAuthority', 'type': 'str'}, 'ssh_authority': {'key': 'sshAuthority', 'type': 'str'}, 'shared_public_ip_address_configuration': {'key': 'sharedPublicIpAddressConfiguration', 'type': 'SharedPublicIpAddressConfigurationFragment'}, } def __init__(self, *, virtual_network_id: str=None, subnet_id: str=None, public_ip_address_id: str=None, public_ip_address: str=None, private_ip_address: str=None, dns_name: str=None, rdp_authority: str=None, ssh_authority: str=None, shared_public_ip_address_configuration=None, **kwargs) -> None: super(NetworkInterfacePropertiesFragment, self).__init__(**kwargs) self.virtual_network_id = virtual_network_id self.subnet_id = subnet_id self.public_ip_address_id = public_ip_address_id self.public_ip_address = public_ip_address self.private_ip_address = private_ip_address self.dns_name = dns_name self.rdp_authority = rdp_authority self.ssh_authority = ssh_authority self.shared_public_ip_address_configuration = shared_public_ip_address_configuration
[docs]class NotificationChannel(Resource): """A notification. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param web_hook_url: The webhook URL to send notifications to. :type web_hook_url: str :param email_recipient: The email recipient to send notifications to (can be a list of semi-colon separated email addresses). :type email_recipient: str :param notification_locale: The locale to use when sending a notification (fallback for unsupported languages is EN). :type notification_locale: str :param description: Description of notification. :type description: str :param events: The list of event for which this notification is enabled. :type events: list[~azure.mgmt.devtestlabs.models.Event] :ivar created_date: The creation date of the notification channel. :vartype created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'web_hook_url': {'key': 'properties.webHookUrl', 'type': 'str'}, 'email_recipient': {'key': 'properties.emailRecipient', 'type': 'str'}, 'notification_locale': {'key': 'properties.notificationLocale', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'events': {'key': 'properties.events', 'type': '[Event]'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, web_hook_url: str=None, email_recipient: str=None, notification_locale: str=None, description: str=None, events=None, **kwargs) -> None: super(NotificationChannel, self).__init__(location=location, tags=tags, **kwargs) self.web_hook_url = web_hook_url self.email_recipient = email_recipient self.notification_locale = notification_locale self.description = description self.events = events self.created_date = None self.provisioning_state = None self.unique_identifier = None
[docs]class NotificationChannelFragment(UpdateResource): """A notification. :param tags: The tags of the resource. :type tags: dict[str, str] :param web_hook_url: The webhook URL to send notifications to. :type web_hook_url: str :param email_recipient: The email recipient to send notifications to (can be a list of semi-colon separated email addresses). :type email_recipient: str :param notification_locale: The locale to use when sending a notification (fallback for unsupported languages is EN). :type notification_locale: str :param description: Description of notification. :type description: str :param events: The list of event for which this notification is enabled. :type events: list[~azure.mgmt.devtestlabs.models.EventFragment] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'web_hook_url': {'key': 'properties.webHookUrl', 'type': 'str'}, 'email_recipient': {'key': 'properties.emailRecipient', 'type': 'str'}, 'notification_locale': {'key': 'properties.notificationLocale', 'type': 'str'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'events': {'key': 'properties.events', 'type': '[EventFragment]'}, } def __init__(self, *, tags=None, web_hook_url: str=None, email_recipient: str=None, notification_locale: str=None, description: str=None, events=None, **kwargs) -> None: super(NotificationChannelFragment, self).__init__(tags=tags, **kwargs) self.web_hook_url = web_hook_url self.email_recipient = email_recipient self.notification_locale = notification_locale self.description = description self.events = events
[docs]class NotificationSettings(Model): """Notification settings for a schedule. :param status: If notifications are enabled for this schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param time_in_minutes: Time in minutes before event at which notification will be sent. :type time_in_minutes: int :param webhook_url: The webhook URL to which the notification will be sent. :type webhook_url: str :param email_recipient: The email recipient to send notifications to (can be a list of semi-colon separated email addresses). :type email_recipient: str :param notification_locale: The locale to use when sending a notification (fallback for unsupported languages is EN). :type notification_locale: str """ _attribute_map = { 'status': {'key': 'status', 'type': 'str'}, 'time_in_minutes': {'key': 'timeInMinutes', 'type': 'int'}, 'webhook_url': {'key': 'webhookUrl', 'type': 'str'}, 'email_recipient': {'key': 'emailRecipient', 'type': 'str'}, 'notification_locale': {'key': 'notificationLocale', 'type': 'str'}, } def __init__(self, *, status=None, time_in_minutes: int=None, webhook_url: str=None, email_recipient: str=None, notification_locale: str=None, **kwargs) -> None: super(NotificationSettings, self).__init__(**kwargs) self.status = status self.time_in_minutes = time_in_minutes self.webhook_url = webhook_url self.email_recipient = email_recipient self.notification_locale = notification_locale
[docs]class NotificationSettingsFragment(Model): """Notification settings for a schedule. :param status: If notifications are enabled for this schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param time_in_minutes: Time in minutes before event at which notification will be sent. :type time_in_minutes: int :param webhook_url: The webhook URL to which the notification will be sent. :type webhook_url: str :param email_recipient: The email recipient to send notifications to (can be a list of semi-colon separated email addresses). :type email_recipient: str :param notification_locale: The locale to use when sending a notification (fallback for unsupported languages is EN). :type notification_locale: str """ _attribute_map = { 'status': {'key': 'status', 'type': 'str'}, 'time_in_minutes': {'key': 'timeInMinutes', 'type': 'int'}, 'webhook_url': {'key': 'webhookUrl', 'type': 'str'}, 'email_recipient': {'key': 'emailRecipient', 'type': 'str'}, 'notification_locale': {'key': 'notificationLocale', 'type': 'str'}, } def __init__(self, *, status=None, time_in_minutes: int=None, webhook_url: str=None, email_recipient: str=None, notification_locale: str=None, **kwargs) -> None: super(NotificationSettingsFragment, self).__init__(**kwargs) self.status = status self.time_in_minutes = time_in_minutes self.webhook_url = webhook_url self.email_recipient = email_recipient self.notification_locale = notification_locale
[docs]class NotifyParameters(Model): """Properties for generating a Notification. :param event_name: The type of event (i.e. AutoShutdown, Cost). Possible values include: 'AutoShutdown', 'Cost' :type event_name: str or ~azure.mgmt.devtestlabs.models.NotificationChannelEventType :param json_payload: Properties for the notification in json format. :type json_payload: str """ _attribute_map = { 'event_name': {'key': 'eventName', 'type': 'str'}, 'json_payload': {'key': 'jsonPayload', 'type': 'str'}, } def __init__(self, *, event_name=None, json_payload: str=None, **kwargs) -> None: super(NotifyParameters, self).__init__(**kwargs) self.event_name = event_name self.json_payload = json_payload
[docs]class OperationError(Model): """Error details for the operation in case of a failure. :param code: The error code of the operation error. :type code: str :param message: The error message of the operation error. :type message: str """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: super(OperationError, self).__init__(**kwargs) self.code = code self.message = message
[docs]class OperationMetadata(Model): """The REST API operation supported by DevTestLab ResourceProvider. :param name: Operation name: {provider}/{resource}/{operation} :type name: str :param display: The object that describes the operations :type display: ~azure.mgmt.devtestlabs.models.OperationMetadataDisplay """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'display': {'key': 'display', 'type': 'OperationMetadataDisplay'}, } def __init__(self, *, name: str=None, display=None, **kwargs) -> None: super(OperationMetadata, self).__init__(**kwargs) self.name = name self.display = display
[docs]class OperationMetadataDisplay(Model): """The object that describes the operations. :param provider: Friendly name of the resource provider :type provider: str :param resource: Resource type on which the operation is performed. :type resource: str :param operation: Operation type: read, write, delete, listKeys/action, etc. :type operation: str :param description: Friendly name of the operation :type 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: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: super(OperationMetadataDisplay, self).__init__(**kwargs) self.provider = provider self.resource = resource self.operation = operation self.description = description
[docs]class OperationResult(Model): """An Operation Result. :param status: The operation status. :type status: str :param status_code: The status code for the operation. Possible values include: 'Continue', 'SwitchingProtocols', 'OK', 'Created', 'Accepted', 'NonAuthoritativeInformation', 'NoContent', 'ResetContent', 'PartialContent', 'MultipleChoices', 'MovedPermanently', 'Redirect', 'SeeOther', 'NotModified', 'UseProxy', 'Unused', 'TemporaryRedirect', 'BadRequest', 'Unauthorized', 'PaymentRequired', 'Forbidden', 'NotFound', 'MethodNotAllowed', 'NotAcceptable', 'ProxyAuthenticationRequired', 'RequestTimeout', 'Conflict', 'Gone', 'LengthRequired', 'PreconditionFailed', 'RequestEntityTooLarge', 'RequestUriTooLong', 'UnsupportedMediaType', 'RequestedRangeNotSatisfiable', 'ExpectationFailed', 'UpgradeRequired', 'InternalServerError', 'NotImplemented', 'BadGateway', 'ServiceUnavailable', 'GatewayTimeout', 'HttpVersionNotSupported' :type status_code: str or ~azure.mgmt.devtestlabs.models.HttpStatusCode :param error: Error details for the operation in case of a failure. :type error: ~azure.mgmt.devtestlabs.models.OperationError """ _attribute_map = { 'status': {'key': 'status', 'type': 'str'}, 'status_code': {'key': 'statusCode', 'type': 'str'}, 'error': {'key': 'error', 'type': 'OperationError'}, } def __init__(self, *, status: str=None, status_code=None, error=None, **kwargs) -> None: super(OperationResult, self).__init__(**kwargs) self.status = status self.status_code = status_code self.error = error
[docs]class ParameterInfo(Model): """Information about an artifact's parameter. :param name: The name of the artifact parameter. :type name: str :param value: The value of the artifact parameter. :type value: str """ _attribute_map = { 'name': {'key': 'name', 'type': 'str'}, 'value': {'key': 'value', 'type': 'str'}, } def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: super(ParameterInfo, self).__init__(**kwargs) self.name = name self.value = value
[docs]class ParametersValueFileInfo(Model): """A file containing a set of parameter values for an ARM template. :param file_name: File name. :type file_name: str :param parameters_value_info: Contents of the file. :type parameters_value_info: object """ _attribute_map = { 'file_name': {'key': 'fileName', 'type': 'str'}, 'parameters_value_info': {'key': 'parametersValueInfo', 'type': 'object'}, } def __init__(self, *, file_name: str=None, parameters_value_info=None, **kwargs) -> None: super(ParametersValueFileInfo, self).__init__(**kwargs) self.file_name = file_name self.parameters_value_info = parameters_value_info
[docs]class PercentageCostThresholdProperties(Model): """Properties of a percentage cost threshold. :param threshold_value: The cost threshold value. :type threshold_value: float """ _attribute_map = { 'threshold_value': {'key': 'thresholdValue', 'type': 'float'}, } def __init__(self, *, threshold_value: float=None, **kwargs) -> None: super(PercentageCostThresholdProperties, self).__init__(**kwargs) self.threshold_value = threshold_value
[docs]class Policy(Resource): """A Policy. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param description: The description of the policy. :type description: str :param status: The status of the policy. Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.PolicyStatus :param fact_name: The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc. Possible values include: 'UserOwnedLabVmCount', 'UserOwnedLabPremiumVmCount', 'LabVmCount', 'LabPremiumVmCount', 'LabVmSize', 'GalleryImage', 'UserOwnedLabVmCountInSubnet', 'LabTargetCost', 'EnvironmentTemplate', 'ScheduleEditPermission' :type fact_name: str or ~azure.mgmt.devtestlabs.models.PolicyFactName :param fact_data: The fact data of the policy. :type fact_data: str :param threshold: The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). :type threshold: str :param evaluator_type: The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy' :type evaluator_type: str or ~azure.mgmt.devtestlabs.models.PolicyEvaluatorType :ivar created_date: The creation date of the policy. :vartype created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'fact_name': {'key': 'properties.factName', 'type': 'str'}, 'fact_data': {'key': 'properties.factData', 'type': 'str'}, 'threshold': {'key': 'properties.threshold', 'type': 'str'}, 'evaluator_type': {'key': 'properties.evaluatorType', 'type': 'str'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, description: str=None, status=None, fact_name=None, fact_data: str=None, threshold: str=None, evaluator_type=None, **kwargs) -> None: super(Policy, self).__init__(location=location, tags=tags, **kwargs) self.description = description self.status = status self.fact_name = fact_name self.fact_data = fact_data self.threshold = threshold self.evaluator_type = evaluator_type self.created_date = None self.provisioning_state = None self.unique_identifier = None
[docs]class PolicyFragment(UpdateResource): """A Policy. :param tags: The tags of the resource. :type tags: dict[str, str] :param description: The description of the policy. :type description: str :param status: The status of the policy. Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.PolicyStatus :param fact_name: The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc. Possible values include: 'UserOwnedLabVmCount', 'UserOwnedLabPremiumVmCount', 'LabVmCount', 'LabPremiumVmCount', 'LabVmSize', 'GalleryImage', 'UserOwnedLabVmCountInSubnet', 'LabTargetCost', 'EnvironmentTemplate', 'ScheduleEditPermission' :type fact_name: str or ~azure.mgmt.devtestlabs.models.PolicyFactName :param fact_data: The fact data of the policy. :type fact_data: str :param threshold: The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy). :type threshold: str :param evaluator_type: The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy). Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy' :type evaluator_type: str or ~azure.mgmt.devtestlabs.models.PolicyEvaluatorType """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'fact_name': {'key': 'properties.factName', 'type': 'str'}, 'fact_data': {'key': 'properties.factData', 'type': 'str'}, 'threshold': {'key': 'properties.threshold', 'type': 'str'}, 'evaluator_type': {'key': 'properties.evaluatorType', 'type': 'str'}, } def __init__(self, *, tags=None, description: str=None, status=None, fact_name=None, fact_data: str=None, threshold: str=None, evaluator_type=None, **kwargs) -> None: super(PolicyFragment, self).__init__(tags=tags, **kwargs) self.description = description self.status = status self.fact_name = fact_name self.fact_data = fact_data self.threshold = threshold self.evaluator_type = evaluator_type
[docs]class PolicySetResult(Model): """Result of a policy set evaluation. :param has_error: A value indicating whether this policy set evaluation has discovered violations. :type has_error: bool :param policy_violations: The list of policy violations. :type policy_violations: list[~azure.mgmt.devtestlabs.models.PolicyViolation] """ _attribute_map = { 'has_error': {'key': 'hasError', 'type': 'bool'}, 'policy_violations': {'key': 'policyViolations', 'type': '[PolicyViolation]'}, } def __init__(self, *, has_error: bool=None, policy_violations=None, **kwargs) -> None: super(PolicySetResult, self).__init__(**kwargs) self.has_error = has_error self.policy_violations = policy_violations
[docs]class PolicyViolation(Model): """Policy violation. :param code: The code of the policy violation. :type code: str :param message: The message of the policy violation. :type message: str """ _attribute_map = { 'code': {'key': 'code', 'type': 'str'}, 'message': {'key': 'message', 'type': 'str'}, } def __init__(self, *, code: str=None, message: str=None, **kwargs) -> None: super(PolicyViolation, self).__init__(**kwargs) self.code = code self.message = message
[docs]class Port(Model): """Properties of a network port. :param transport_protocol: Protocol type of the port. Possible values include: 'Tcp', 'Udp' :type transport_protocol: str or ~azure.mgmt.devtestlabs.models.TransportProtocol :param backend_port: Backend port of the target virtual machine. :type backend_port: int """ _attribute_map = { 'transport_protocol': {'key': 'transportProtocol', 'type': 'str'}, 'backend_port': {'key': 'backendPort', 'type': 'int'}, } def __init__(self, *, transport_protocol=None, backend_port: int=None, **kwargs) -> None: super(Port, self).__init__(**kwargs) self.transport_protocol = transport_protocol self.backend_port = backend_port
[docs]class PortFragment(Model): """Properties of a network port. :param transport_protocol: Protocol type of the port. Possible values include: 'Tcp', 'Udp' :type transport_protocol: str or ~azure.mgmt.devtestlabs.models.TransportProtocol :param backend_port: Backend port of the target virtual machine. :type backend_port: int """ _attribute_map = { 'transport_protocol': {'key': 'transportProtocol', 'type': 'str'}, 'backend_port': {'key': 'backendPort', 'type': 'int'}, } def __init__(self, *, transport_protocol=None, backend_port: int=None, **kwargs) -> None: super(PortFragment, self).__init__(**kwargs) self.transport_protocol = transport_protocol self.backend_port = backend_port
[docs]class RdpConnection(Model): """Represents a .rdp file. :param contents: The contents of the .rdp file :type contents: str """ _attribute_map = { 'contents': {'key': 'contents', 'type': 'str'}, } def __init__(self, *, contents: str=None, **kwargs) -> None: super(RdpConnection, self).__init__(**kwargs) self.contents = contents
[docs]class ResizeLabVirtualMachineProperties(Model): """Request body for resizing a virtual machine. :param size: Specifies the size of the virtual machine. :type size: str """ _attribute_map = { 'size': {'key': 'size', 'type': 'str'}, } def __init__(self, *, size: str=None, **kwargs) -> None: super(ResizeLabVirtualMachineProperties, self).__init__(**kwargs) self.size = size
[docs]class RetargetScheduleProperties(Model): """Properties for retargeting a virtual machine schedule. :param current_resource_id: The resource Id of the virtual machine on which the schedule operates :type current_resource_id: str :param target_resource_id: The resource Id of the virtual machine that the schedule should be retargeted to :type target_resource_id: str """ _attribute_map = { 'current_resource_id': {'key': 'currentResourceId', 'type': 'str'}, 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, } def __init__(self, *, current_resource_id: str=None, target_resource_id: str=None, **kwargs) -> None: super(RetargetScheduleProperties, self).__init__(**kwargs) self.current_resource_id = current_resource_id self.target_resource_id = target_resource_id
[docs]class Schedule(Resource): """A schedule. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param status: The status of the schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). :type task_type: str :param weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence. :type weekly_recurrence: ~azure.mgmt.devtestlabs.models.WeekDetails :param daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence. :type daily_recurrence: ~azure.mgmt.devtestlabs.models.DayDetails :param hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence. :type hourly_recurrence: ~azure.mgmt.devtestlabs.models.HourDetails :param time_zone_id: The time zone ID (e.g. Pacific Standard time). :type time_zone_id: str :param notification_settings: Notification settings. :type notification_settings: ~azure.mgmt.devtestlabs.models.NotificationSettings :ivar created_date: The creation date of the schedule. :vartype created_date: datetime :param target_resource_id: The resource ID to which the schedule belongs :type target_resource_id: str :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'task_type': {'key': 'properties.taskType', 'type': 'str'}, 'weekly_recurrence': {'key': 'properties.weeklyRecurrence', 'type': 'WeekDetails'}, 'daily_recurrence': {'key': 'properties.dailyRecurrence', 'type': 'DayDetails'}, 'hourly_recurrence': {'key': 'properties.hourlyRecurrence', 'type': 'HourDetails'}, 'time_zone_id': {'key': 'properties.timeZoneId', 'type': 'str'}, 'notification_settings': {'key': 'properties.notificationSettings', 'type': 'NotificationSettings'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, status=None, task_type: str=None, weekly_recurrence=None, daily_recurrence=None, hourly_recurrence=None, time_zone_id: str=None, notification_settings=None, target_resource_id: str=None, **kwargs) -> None: super(Schedule, self).__init__(location=location, tags=tags, **kwargs) self.status = status self.task_type = task_type self.weekly_recurrence = weekly_recurrence self.daily_recurrence = daily_recurrence self.hourly_recurrence = hourly_recurrence self.time_zone_id = time_zone_id self.notification_settings = notification_settings self.created_date = None self.target_resource_id = target_resource_id self.provisioning_state = None self.unique_identifier = None
[docs]class ScheduleCreationParameter(Model): """Properties for creating a schedule. :param status: The status of the schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). :type task_type: str :param weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence. :type weekly_recurrence: ~azure.mgmt.devtestlabs.models.WeekDetails :param daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence. :type daily_recurrence: ~azure.mgmt.devtestlabs.models.DayDetails :param hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence. :type hourly_recurrence: ~azure.mgmt.devtestlabs.models.HourDetails :param time_zone_id: The time zone ID (e.g. Pacific Standard time). :type time_zone_id: str :param notification_settings: Notification settings. :type notification_settings: ~azure.mgmt.devtestlabs.models.NotificationSettings :param target_resource_id: The resource ID to which the schedule belongs :type target_resource_id: str :param name: The name of the virtual machine or environment :type name: str :param location: The location of the new virtual machine or environment :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] """ _attribute_map = { 'status': {'key': 'properties.status', 'type': 'str'}, 'task_type': {'key': 'properties.taskType', 'type': 'str'}, 'weekly_recurrence': {'key': 'properties.weeklyRecurrence', 'type': 'WeekDetails'}, 'daily_recurrence': {'key': 'properties.dailyRecurrence', 'type': 'DayDetails'}, 'hourly_recurrence': {'key': 'properties.hourlyRecurrence', 'type': 'HourDetails'}, 'time_zone_id': {'key': 'properties.timeZoneId', 'type': 'str'}, 'notification_settings': {'key': 'properties.notificationSettings', 'type': 'NotificationSettings'}, 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, status=None, task_type: str=None, weekly_recurrence=None, daily_recurrence=None, hourly_recurrence=None, time_zone_id: str=None, notification_settings=None, target_resource_id: str=None, name: str=None, location: str=None, tags=None, **kwargs) -> None: super(ScheduleCreationParameter, self).__init__(**kwargs) self.status = status self.task_type = task_type self.weekly_recurrence = weekly_recurrence self.daily_recurrence = daily_recurrence self.hourly_recurrence = hourly_recurrence self.time_zone_id = time_zone_id self.notification_settings = notification_settings self.target_resource_id = target_resource_id self.name = name self.location = location self.tags = tags
[docs]class ScheduleCreationParameterFragment(Model): """Properties for creating a schedule. :param status: The status of the schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). :type task_type: str :param weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence. :type weekly_recurrence: ~azure.mgmt.devtestlabs.models.WeekDetailsFragment :param daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence. :type daily_recurrence: ~azure.mgmt.devtestlabs.models.DayDetailsFragment :param hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence. :type hourly_recurrence: ~azure.mgmt.devtestlabs.models.HourDetailsFragment :param time_zone_id: The time zone ID (e.g. Pacific Standard time). :type time_zone_id: str :param notification_settings: Notification settings. :type notification_settings: ~azure.mgmt.devtestlabs.models.NotificationSettingsFragment :param target_resource_id: The resource ID to which the schedule belongs :type target_resource_id: str :param name: The name of the virtual machine or environment :type name: str :param location: The location of the new virtual machine or environment :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] """ _attribute_map = { 'status': {'key': 'properties.status', 'type': 'str'}, 'task_type': {'key': 'properties.taskType', 'type': 'str'}, 'weekly_recurrence': {'key': 'properties.weeklyRecurrence', 'type': 'WeekDetailsFragment'}, 'daily_recurrence': {'key': 'properties.dailyRecurrence', 'type': 'DayDetailsFragment'}, 'hourly_recurrence': {'key': 'properties.hourlyRecurrence', 'type': 'HourDetailsFragment'}, 'time_zone_id': {'key': 'properties.timeZoneId', 'type': 'str'}, 'notification_settings': {'key': 'properties.notificationSettings', 'type': 'NotificationSettingsFragment'}, 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, } def __init__(self, *, status=None, task_type: str=None, weekly_recurrence=None, daily_recurrence=None, hourly_recurrence=None, time_zone_id: str=None, notification_settings=None, target_resource_id: str=None, name: str=None, location: str=None, tags=None, **kwargs) -> None: super(ScheduleCreationParameterFragment, self).__init__(**kwargs) self.status = status self.task_type = task_type self.weekly_recurrence = weekly_recurrence self.daily_recurrence = daily_recurrence self.hourly_recurrence = hourly_recurrence self.time_zone_id = time_zone_id self.notification_settings = notification_settings self.target_resource_id = target_resource_id self.name = name self.location = location self.tags = tags
[docs]class ScheduleFragment(UpdateResource): """A schedule. :param tags: The tags of the resource. :type tags: dict[str, str] :param status: The status of the schedule (i.e. Enabled, Disabled). Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.EnableStatus :param task_type: The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart). :type task_type: str :param weekly_recurrence: If the schedule will occur only some days of the week, specify the weekly recurrence. :type weekly_recurrence: ~azure.mgmt.devtestlabs.models.WeekDetailsFragment :param daily_recurrence: If the schedule will occur once each day of the week, specify the daily recurrence. :type daily_recurrence: ~azure.mgmt.devtestlabs.models.DayDetailsFragment :param hourly_recurrence: If the schedule will occur multiple times a day, specify the hourly recurrence. :type hourly_recurrence: ~azure.mgmt.devtestlabs.models.HourDetailsFragment :param time_zone_id: The time zone ID (e.g. Pacific Standard time). :type time_zone_id: str :param notification_settings: Notification settings. :type notification_settings: ~azure.mgmt.devtestlabs.models.NotificationSettingsFragment :param target_resource_id: The resource ID to which the schedule belongs :type target_resource_id: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'status': {'key': 'properties.status', 'type': 'str'}, 'task_type': {'key': 'properties.taskType', 'type': 'str'}, 'weekly_recurrence': {'key': 'properties.weeklyRecurrence', 'type': 'WeekDetailsFragment'}, 'daily_recurrence': {'key': 'properties.dailyRecurrence', 'type': 'DayDetailsFragment'}, 'hourly_recurrence': {'key': 'properties.hourlyRecurrence', 'type': 'HourDetailsFragment'}, 'time_zone_id': {'key': 'properties.timeZoneId', 'type': 'str'}, 'notification_settings': {'key': 'properties.notificationSettings', 'type': 'NotificationSettingsFragment'}, 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, } def __init__(self, *, tags=None, status=None, task_type: str=None, weekly_recurrence=None, daily_recurrence=None, hourly_recurrence=None, time_zone_id: str=None, notification_settings=None, target_resource_id: str=None, **kwargs) -> None: super(ScheduleFragment, self).__init__(tags=tags, **kwargs) self.status = status self.task_type = task_type self.weekly_recurrence = weekly_recurrence self.daily_recurrence = daily_recurrence self.hourly_recurrence = hourly_recurrence self.time_zone_id = time_zone_id self.notification_settings = notification_settings self.target_resource_id = target_resource_id
[docs]class Secret(Resource): """A secret. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param value: The value of the secret for secret creation. :type value: str :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'value': {'key': 'properties.value', 'type': 'str'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, value: str=None, **kwargs) -> None: super(Secret, self).__init__(location=location, tags=tags, **kwargs) self.value = value self.provisioning_state = None self.unique_identifier = None
[docs]class SecretFragment(UpdateResource): """A secret. :param tags: The tags of the resource. :type tags: dict[str, str] :param value: The value of the secret for secret creation. :type value: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'value': {'key': 'properties.value', 'type': 'str'}, } def __init__(self, *, tags=None, value: str=None, **kwargs) -> None: super(SecretFragment, self).__init__(tags=tags, **kwargs) self.value = value
[docs]class ServiceFabric(Resource): """A Service Fabric. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param external_service_fabric_id: The backing service fabric resource's id :type external_service_fabric_id: str :param environment_id: The resource id of the environment under which the service fabric resource is present :type environment_id: str :ivar applicable_schedule: The applicable schedule for the virtual machine. :vartype applicable_schedule: ~azure.mgmt.devtestlabs.models.ApplicableSchedule :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'applicable_schedule': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'external_service_fabric_id': {'key': 'properties.externalServiceFabricId', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, 'applicable_schedule': {'key': 'properties.applicableSchedule', 'type': 'ApplicableSchedule'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, external_service_fabric_id: str=None, environment_id: str=None, **kwargs) -> None: super(ServiceFabric, self).__init__(location=location, tags=tags, **kwargs) self.external_service_fabric_id = external_service_fabric_id self.environment_id = environment_id self.applicable_schedule = None self.provisioning_state = None self.unique_identifier = None
[docs]class ServiceFabricFragment(UpdateResource): """A Service Fabric. :param tags: The tags of the resource. :type tags: dict[str, str] :param external_service_fabric_id: The backing service fabric resource's id :type external_service_fabric_id: str :param environment_id: The resource id of the environment under which the service fabric resource is present :type environment_id: str """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'external_service_fabric_id': {'key': 'properties.externalServiceFabricId', 'type': 'str'}, 'environment_id': {'key': 'properties.environmentId', 'type': 'str'}, } def __init__(self, *, tags=None, external_service_fabric_id: str=None, environment_id: str=None, **kwargs) -> None: super(ServiceFabricFragment, self).__init__(tags=tags, **kwargs) self.external_service_fabric_id = external_service_fabric_id self.environment_id = environment_id
[docs]class ServiceRunner(Resource): """A container for a managed identity to execute DevTest lab services. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param identity: The identity of the resource. :type identity: ~azure.mgmt.devtestlabs.models.IdentityProperties """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'identity', 'type': 'IdentityProperties'}, } def __init__(self, *, location: str=None, tags=None, identity=None, **kwargs) -> None: super(ServiceRunner, self).__init__(location=location, tags=tags, **kwargs) self.identity = identity
[docs]class SharedPublicIpAddressConfiguration(Model): """Properties of a virtual machine that determine how it is connected to a load balancer. :param inbound_nat_rules: The incoming NAT rules :type inbound_nat_rules: list[~azure.mgmt.devtestlabs.models.InboundNatRule] """ _attribute_map = { 'inbound_nat_rules': {'key': 'inboundNatRules', 'type': '[InboundNatRule]'}, } def __init__(self, *, inbound_nat_rules=None, **kwargs) -> None: super(SharedPublicIpAddressConfiguration, self).__init__(**kwargs) self.inbound_nat_rules = inbound_nat_rules
[docs]class SharedPublicIpAddressConfigurationFragment(Model): """Properties of a virtual machine that determine how it is connected to a load balancer. :param inbound_nat_rules: The incoming NAT rules :type inbound_nat_rules: list[~azure.mgmt.devtestlabs.models.InboundNatRuleFragment] """ _attribute_map = { 'inbound_nat_rules': {'key': 'inboundNatRules', 'type': '[InboundNatRuleFragment]'}, } def __init__(self, *, inbound_nat_rules=None, **kwargs) -> None: super(SharedPublicIpAddressConfigurationFragment, self).__init__(**kwargs) self.inbound_nat_rules = inbound_nat_rules
[docs]class ShutdownNotificationContent(Model): """The contents of a shutdown notification. Webhooks can use this type to deserialize the request body when they get notified of an imminent shutdown. :param skip_url: The URL to skip auto-shutdown. :type skip_url: str :param delay_url60: The URL to delay shutdown by 60 minutes. :type delay_url60: str :param delay_url120: The URL to delay shutdown by 2 hours. :type delay_url120: str :param vm_name: The virtual machine to be shut down. :type vm_name: str :param guid: The GUID for the virtual machine to be shut down. :type guid: str :param owner: The owner of the virtual machine. :type owner: str :param vm_url: The URL of the virtual machine. :type vm_url: str :param minutes_until_shutdown: Minutes remaining until shutdown :type minutes_until_shutdown: str :param event_type: The event for which a notification will be sent. :type event_type: str :param text: The text for the notification. :type text: str :param subscription_id: The subscription ID for the schedule. :type subscription_id: str :param resource_group_name: The resource group name for the schedule. :type resource_group_name: str :param lab_name: The lab for the schedule. :type lab_name: str """ _attribute_map = { 'skip_url': {'key': 'skipUrl', 'type': 'str'}, 'delay_url60': {'key': 'delayUrl60', 'type': 'str'}, 'delay_url120': {'key': 'delayUrl120', 'type': 'str'}, 'vm_name': {'key': 'vmName', 'type': 'str'}, 'guid': {'key': 'guid', 'type': 'str'}, 'owner': {'key': 'owner', 'type': 'str'}, 'vm_url': {'key': 'vmUrl', 'type': 'str'}, 'minutes_until_shutdown': {'key': 'minutesUntilShutdown', 'type': 'str'}, 'event_type': {'key': 'eventType', 'type': 'str'}, 'text': {'key': 'text', 'type': 'str'}, 'subscription_id': {'key': 'subscriptionId', 'type': 'str'}, 'resource_group_name': {'key': 'resourceGroupName', 'type': 'str'}, 'lab_name': {'key': 'labName', 'type': 'str'}, } def __init__(self, *, skip_url: str=None, delay_url60: str=None, delay_url120: str=None, vm_name: str=None, guid: str=None, owner: str=None, vm_url: str=None, minutes_until_shutdown: str=None, event_type: str=None, text: str=None, subscription_id: str=None, resource_group_name: str=None, lab_name: str=None, **kwargs) -> None: super(ShutdownNotificationContent, self).__init__(**kwargs) self.skip_url = skip_url self.delay_url60 = delay_url60 self.delay_url120 = delay_url120 self.vm_name = vm_name self.guid = guid self.owner = owner self.vm_url = vm_url self.minutes_until_shutdown = minutes_until_shutdown self.event_type = event_type self.text = text self.subscription_id = subscription_id self.resource_group_name = resource_group_name self.lab_name = lab_name
[docs]class Subnet(Model): """Subnet information. :param resource_id: The resource ID of the subnet. :type resource_id: str :param lab_subnet_name: The name of the subnet as seen in the lab. :type lab_subnet_name: str :param allow_public_ip: The permission policy of the subnet for allowing public IP addresses (i.e. Allow, Deny)). Possible values include: 'Default', 'Deny', 'Allow' :type allow_public_ip: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType """ _attribute_map = { 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'lab_subnet_name': {'key': 'labSubnetName', 'type': 'str'}, 'allow_public_ip': {'key': 'allowPublicIp', 'type': 'str'}, } def __init__(self, *, resource_id: str=None, lab_subnet_name: str=None, allow_public_ip=None, **kwargs) -> None: super(Subnet, self).__init__(**kwargs) self.resource_id = resource_id self.lab_subnet_name = lab_subnet_name self.allow_public_ip = allow_public_ip
[docs]class SubnetFragment(Model): """Subnet information. :param resource_id: The resource ID of the subnet. :type resource_id: str :param lab_subnet_name: The name of the subnet as seen in the lab. :type lab_subnet_name: str :param allow_public_ip: The permission policy of the subnet for allowing public IP addresses (i.e. Allow, Deny)). Possible values include: 'Default', 'Deny', 'Allow' :type allow_public_ip: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType """ _attribute_map = { 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'lab_subnet_name': {'key': 'labSubnetName', 'type': 'str'}, 'allow_public_ip': {'key': 'allowPublicIp', 'type': 'str'}, } def __init__(self, *, resource_id: str=None, lab_subnet_name: str=None, allow_public_ip=None, **kwargs) -> None: super(SubnetFragment, self).__init__(**kwargs) self.resource_id = resource_id self.lab_subnet_name = lab_subnet_name self.allow_public_ip = allow_public_ip
[docs]class SubnetOverride(Model): """Property overrides on a subnet of a virtual network. :param resource_id: The resource ID of the subnet. :type resource_id: str :param lab_subnet_name: The name given to the subnet within the lab. :type lab_subnet_name: str :param use_in_vm_creation_permission: Indicates whether this subnet can be used during virtual machine creation (i.e. Allow, Deny). Possible values include: 'Default', 'Deny', 'Allow' :type use_in_vm_creation_permission: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType :param use_public_ip_address_permission: Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny). Possible values include: 'Default', 'Deny', 'Allow' :type use_public_ip_address_permission: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType :param shared_public_ip_address_configuration: Properties that virtual machines on this subnet will share. :type shared_public_ip_address_configuration: ~azure.mgmt.devtestlabs.models.SubnetSharedPublicIpAddressConfiguration :param virtual_network_pool_name: The virtual network pool associated with this subnet. :type virtual_network_pool_name: str """ _attribute_map = { 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'lab_subnet_name': {'key': 'labSubnetName', 'type': 'str'}, 'use_in_vm_creation_permission': {'key': 'useInVmCreationPermission', 'type': 'str'}, 'use_public_ip_address_permission': {'key': 'usePublicIpAddressPermission', 'type': 'str'}, 'shared_public_ip_address_configuration': {'key': 'sharedPublicIpAddressConfiguration', 'type': 'SubnetSharedPublicIpAddressConfiguration'}, 'virtual_network_pool_name': {'key': 'virtualNetworkPoolName', 'type': 'str'}, } def __init__(self, *, resource_id: str=None, lab_subnet_name: str=None, use_in_vm_creation_permission=None, use_public_ip_address_permission=None, shared_public_ip_address_configuration=None, virtual_network_pool_name: str=None, **kwargs) -> None: super(SubnetOverride, self).__init__(**kwargs) self.resource_id = resource_id self.lab_subnet_name = lab_subnet_name self.use_in_vm_creation_permission = use_in_vm_creation_permission self.use_public_ip_address_permission = use_public_ip_address_permission self.shared_public_ip_address_configuration = shared_public_ip_address_configuration self.virtual_network_pool_name = virtual_network_pool_name
[docs]class SubnetOverrideFragment(Model): """Property overrides on a subnet of a virtual network. :param resource_id: The resource ID of the subnet. :type resource_id: str :param lab_subnet_name: The name given to the subnet within the lab. :type lab_subnet_name: str :param use_in_vm_creation_permission: Indicates whether this subnet can be used during virtual machine creation (i.e. Allow, Deny). Possible values include: 'Default', 'Deny', 'Allow' :type use_in_vm_creation_permission: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType :param use_public_ip_address_permission: Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny). Possible values include: 'Default', 'Deny', 'Allow' :type use_public_ip_address_permission: str or ~azure.mgmt.devtestlabs.models.UsagePermissionType :param shared_public_ip_address_configuration: Properties that virtual machines on this subnet will share. :type shared_public_ip_address_configuration: ~azure.mgmt.devtestlabs.models.SubnetSharedPublicIpAddressConfigurationFragment :param virtual_network_pool_name: The virtual network pool associated with this subnet. :type virtual_network_pool_name: str """ _attribute_map = { 'resource_id': {'key': 'resourceId', 'type': 'str'}, 'lab_subnet_name': {'key': 'labSubnetName', 'type': 'str'}, 'use_in_vm_creation_permission': {'key': 'useInVmCreationPermission', 'type': 'str'}, 'use_public_ip_address_permission': {'key': 'usePublicIpAddressPermission', 'type': 'str'}, 'shared_public_ip_address_configuration': {'key': 'sharedPublicIpAddressConfiguration', 'type': 'SubnetSharedPublicIpAddressConfigurationFragment'}, 'virtual_network_pool_name': {'key': 'virtualNetworkPoolName', 'type': 'str'}, } def __init__(self, *, resource_id: str=None, lab_subnet_name: str=None, use_in_vm_creation_permission=None, use_public_ip_address_permission=None, shared_public_ip_address_configuration=None, virtual_network_pool_name: str=None, **kwargs) -> None: super(SubnetOverrideFragment, self).__init__(**kwargs) self.resource_id = resource_id self.lab_subnet_name = lab_subnet_name self.use_in_vm_creation_permission = use_in_vm_creation_permission self.use_public_ip_address_permission = use_public_ip_address_permission self.shared_public_ip_address_configuration = shared_public_ip_address_configuration self.virtual_network_pool_name = virtual_network_pool_name
[docs]class SubnetSharedPublicIpAddressConfiguration(Model): """Configuration for public IP address sharing. :param allowed_ports: Backend ports that virtual machines on this subnet are allowed to expose :type allowed_ports: list[~azure.mgmt.devtestlabs.models.Port] """ _attribute_map = { 'allowed_ports': {'key': 'allowedPorts', 'type': '[Port]'}, } def __init__(self, *, allowed_ports=None, **kwargs) -> None: super(SubnetSharedPublicIpAddressConfiguration, self).__init__(**kwargs) self.allowed_ports = allowed_ports
[docs]class SubnetSharedPublicIpAddressConfigurationFragment(Model): """Configuration for public IP address sharing. :param allowed_ports: Backend ports that virtual machines on this subnet are allowed to expose :type allowed_ports: list[~azure.mgmt.devtestlabs.models.PortFragment] """ _attribute_map = { 'allowed_ports': {'key': 'allowedPorts', 'type': '[PortFragment]'}, } def __init__(self, *, allowed_ports=None, **kwargs) -> None: super(SubnetSharedPublicIpAddressConfigurationFragment, self).__init__(**kwargs) self.allowed_ports = allowed_ports
[docs]class TargetCostProperties(Model): """Properties of a cost target. :param status: Target cost status. Possible values include: 'Enabled', 'Disabled' :type status: str or ~azure.mgmt.devtestlabs.models.TargetCostStatus :param target: Lab target cost :type target: int :param cost_thresholds: Cost thresholds. :type cost_thresholds: list[~azure.mgmt.devtestlabs.models.CostThresholdProperties] :param cycle_start_date_time: Reporting cycle start date. :type cycle_start_date_time: datetime :param cycle_end_date_time: Reporting cycle end date. :type cycle_end_date_time: datetime :param cycle_type: Reporting cycle type. Possible values include: 'CalendarMonth', 'Custom' :type cycle_type: str or ~azure.mgmt.devtestlabs.models.ReportingCycleType """ _attribute_map = { 'status': {'key': 'status', 'type': 'str'}, 'target': {'key': 'target', 'type': 'int'}, 'cost_thresholds': {'key': 'costThresholds', 'type': '[CostThresholdProperties]'}, 'cycle_start_date_time': {'key': 'cycleStartDateTime', 'type': 'iso-8601'}, 'cycle_end_date_time': {'key': 'cycleEndDateTime', 'type': 'iso-8601'}, 'cycle_type': {'key': 'cycleType', 'type': 'str'}, } def __init__(self, *, status=None, target: int=None, cost_thresholds=None, cycle_start_date_time=None, cycle_end_date_time=None, cycle_type=None, **kwargs) -> None: super(TargetCostProperties, self).__init__(**kwargs) self.status = status self.target = target self.cost_thresholds = cost_thresholds self.cycle_start_date_time = cycle_start_date_time self.cycle_end_date_time = cycle_end_date_time self.cycle_type = cycle_type
[docs]class User(Resource): """Profile of a lab user. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param identity: The identity of the user. :type identity: ~azure.mgmt.devtestlabs.models.UserIdentity :param secret_store: The secret store of the user. :type secret_store: ~azure.mgmt.devtestlabs.models.UserSecretStore :ivar created_date: The creation date of the user profile. :vartype created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'properties.identity', 'type': 'UserIdentity'}, 'secret_store': {'key': 'properties.secretStore', 'type': 'UserSecretStore'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, identity=None, secret_store=None, **kwargs) -> None: super(User, self).__init__(location=location, tags=tags, **kwargs) self.identity = identity self.secret_store = secret_store self.created_date = None self.provisioning_state = None self.unique_identifier = None
[docs]class UserFragment(UpdateResource): """Profile of a lab user. :param tags: The tags of the resource. :type tags: dict[str, str] :param identity: The identity of the user. :type identity: ~azure.mgmt.devtestlabs.models.UserIdentityFragment :param secret_store: The secret store of the user. :type secret_store: ~azure.mgmt.devtestlabs.models.UserSecretStoreFragment """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'identity': {'key': 'properties.identity', 'type': 'UserIdentityFragment'}, 'secret_store': {'key': 'properties.secretStore', 'type': 'UserSecretStoreFragment'}, } def __init__(self, *, tags=None, identity=None, secret_store=None, **kwargs) -> None: super(UserFragment, self).__init__(tags=tags, **kwargs) self.identity = identity self.secret_store = secret_store
[docs]class UserIdentity(Model): """Identity attributes of a lab user. :param principal_name: Set to the principal name / UPN of the client JWT making the request. :type principal_name: str :param principal_id: Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id. :type principal_id: str :param tenant_id: Set to the tenant ID of the client JWT making the request. :type tenant_id: str :param object_id: Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available. :type object_id: str :param app_id: Set to the app Id of the client JWT making the request. :type app_id: str """ _attribute_map = { 'principal_name': {'key': 'principalName', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'object_id': {'key': 'objectId', 'type': 'str'}, 'app_id': {'key': 'appId', 'type': 'str'}, } def __init__(self, *, principal_name: str=None, principal_id: str=None, tenant_id: str=None, object_id: str=None, app_id: str=None, **kwargs) -> None: super(UserIdentity, self).__init__(**kwargs) self.principal_name = principal_name self.principal_id = principal_id self.tenant_id = tenant_id self.object_id = object_id self.app_id = app_id
[docs]class UserIdentityFragment(Model): """Identity attributes of a lab user. :param principal_name: Set to the principal name / UPN of the client JWT making the request. :type principal_name: str :param principal_id: Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id. :type principal_id: str :param tenant_id: Set to the tenant ID of the client JWT making the request. :type tenant_id: str :param object_id: Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available. :type object_id: str :param app_id: Set to the app Id of the client JWT making the request. :type app_id: str """ _attribute_map = { 'principal_name': {'key': 'principalName', 'type': 'str'}, 'principal_id': {'key': 'principalId', 'type': 'str'}, 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 'object_id': {'key': 'objectId', 'type': 'str'}, 'app_id': {'key': 'appId', 'type': 'str'}, } def __init__(self, *, principal_name: str=None, principal_id: str=None, tenant_id: str=None, object_id: str=None, app_id: str=None, **kwargs) -> None: super(UserIdentityFragment, self).__init__(**kwargs) self.principal_name = principal_name self.principal_id = principal_id self.tenant_id = tenant_id self.object_id = object_id self.app_id = app_id
[docs]class UserSecretStore(Model): """Properties of a user's secret store. :param key_vault_uri: The URI of the user's Key vault. :type key_vault_uri: str :param key_vault_id: The ID of the user's Key vault. :type key_vault_id: str """ _attribute_map = { 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, } def __init__(self, *, key_vault_uri: str=None, key_vault_id: str=None, **kwargs) -> None: super(UserSecretStore, self).__init__(**kwargs) self.key_vault_uri = key_vault_uri self.key_vault_id = key_vault_id
[docs]class UserSecretStoreFragment(Model): """Properties of a user's secret store. :param key_vault_uri: The URI of the user's Key vault. :type key_vault_uri: str :param key_vault_id: The ID of the user's Key vault. :type key_vault_id: str """ _attribute_map = { 'key_vault_uri': {'key': 'keyVaultUri', 'type': 'str'}, 'key_vault_id': {'key': 'keyVaultId', 'type': 'str'}, } def __init__(self, *, key_vault_uri: str=None, key_vault_id: str=None, **kwargs) -> None: super(UserSecretStoreFragment, self).__init__(**kwargs) self.key_vault_uri = key_vault_uri self.key_vault_id = key_vault_id
[docs]class VirtualNetwork(Resource): """A virtual network. Variables are only populated by the server, and will be ignored when sending a request. :ivar id: The identifier of the resource. :vartype id: str :ivar name: The name of the resource. :vartype name: str :ivar type: The type of the resource. :vartype type: str :param location: The location of the resource. :type location: str :param tags: The tags of the resource. :type tags: dict[str, str] :param allowed_subnets: The allowed subnets of the virtual network. :type allowed_subnets: list[~azure.mgmt.devtestlabs.models.Subnet] :param description: The description of the virtual network. :type description: str :param external_provider_resource_id: The Microsoft.Network resource identifier of the virtual network. :type external_provider_resource_id: str :ivar external_subnets: The external subnet properties. :vartype external_subnets: list[~azure.mgmt.devtestlabs.models.ExternalSubnet] :param subnet_overrides: The subnet overrides of the virtual network. :type subnet_overrides: list[~azure.mgmt.devtestlabs.models.SubnetOverride] :ivar created_date: The creation date of the virtual network. :vartype created_date: datetime :ivar provisioning_state: The provisioning status of the resource. :vartype provisioning_state: str :ivar unique_identifier: The unique immutable identifier of a resource (Guid). :vartype unique_identifier: str """ _validation = { 'id': {'readonly': True}, 'name': {'readonly': True}, 'type': {'readonly': True}, 'external_subnets': {'readonly': True}, 'created_date': {'readonly': True}, 'provisioning_state': {'readonly': True}, 'unique_identifier': {'readonly': True}, } _attribute_map = { 'id': {'key': 'id', 'type': 'str'}, 'name': {'key': 'name', 'type': 'str'}, 'type': {'key': 'type', 'type': 'str'}, 'location': {'key': 'location', 'type': 'str'}, 'tags': {'key': 'tags', 'type': '{str}'}, 'allowed_subnets': {'key': 'properties.allowedSubnets', 'type': '[Subnet]'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'external_provider_resource_id': {'key': 'properties.externalProviderResourceId', 'type': 'str'}, 'external_subnets': {'key': 'properties.externalSubnets', 'type': '[ExternalSubnet]'}, 'subnet_overrides': {'key': 'properties.subnetOverrides', 'type': '[SubnetOverride]'}, 'created_date': {'key': 'properties.createdDate', 'type': 'iso-8601'}, 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'unique_identifier': {'key': 'properties.uniqueIdentifier', 'type': 'str'}, } def __init__(self, *, location: str=None, tags=None, allowed_subnets=None, description: str=None, external_provider_resource_id: str=None, subnet_overrides=None, **kwargs) -> None: super(VirtualNetwork, self).__init__(location=location, tags=tags, **kwargs) self.allowed_subnets = allowed_subnets self.description = description self.external_provider_resource_id = external_provider_resource_id self.external_subnets = None self.subnet_overrides = subnet_overrides self.created_date = None self.provisioning_state = None self.unique_identifier = None
[docs]class VirtualNetworkFragment(UpdateResource): """A virtual network. :param tags: The tags of the resource. :type tags: dict[str, str] :param allowed_subnets: The allowed subnets of the virtual network. :type allowed_subnets: list[~azure.mgmt.devtestlabs.models.SubnetFragment] :param description: The description of the virtual network. :type description: str :param external_provider_resource_id: The Microsoft.Network resource identifier of the virtual network. :type external_provider_resource_id: str :param subnet_overrides: The subnet overrides of the virtual network. :type subnet_overrides: list[~azure.mgmt.devtestlabs.models.SubnetOverrideFragment] """ _attribute_map = { 'tags': {'key': 'tags', 'type': '{str}'}, 'allowed_subnets': {'key': 'properties.allowedSubnets', 'type': '[SubnetFragment]'}, 'description': {'key': 'properties.description', 'type': 'str'}, 'external_provider_resource_id': {'key': 'properties.externalProviderResourceId', 'type': 'str'}, 'subnet_overrides': {'key': 'properties.subnetOverrides', 'type': '[SubnetOverrideFragment]'}, } def __init__(self, *, tags=None, allowed_subnets=None, description: str=None, external_provider_resource_id: str=None, subnet_overrides=None, **kwargs) -> None: super(VirtualNetworkFragment, self).__init__(tags=tags, **kwargs) self.allowed_subnets = allowed_subnets self.description = description self.external_provider_resource_id = external_provider_resource_id self.subnet_overrides = subnet_overrides
[docs]class WeekDetails(Model): """Properties of a weekly schedule. :param weekdays: The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). :type weekdays: list[str] :param time: The time of the day the schedule will occur. :type time: str """ _attribute_map = { 'weekdays': {'key': 'weekdays', 'type': '[str]'}, 'time': {'key': 'time', 'type': 'str'}, } def __init__(self, *, weekdays=None, time: str=None, **kwargs) -> None: super(WeekDetails, self).__init__(**kwargs) self.weekdays = weekdays self.time = time
[docs]class WeekDetailsFragment(Model): """Properties of a weekly schedule. :param weekdays: The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.). :type weekdays: list[str] :param time: The time of the day the schedule will occur. :type time: str """ _attribute_map = { 'weekdays': {'key': 'weekdays', 'type': '[str]'}, 'time': {'key': 'time', 'type': 'str'}, } def __init__(self, *, weekdays=None, time: str=None, **kwargs) -> None: super(WeekDetailsFragment, self).__init__(**kwargs) self.weekdays = weekdays self.time = time
[docs]class WindowsOsInfo(Model): """Information about a Windows OS. :param windows_os_state: The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied). Possible values include: 'NonSysprepped', 'SysprepRequested', 'SysprepApplied' :type windows_os_state: str or ~azure.mgmt.devtestlabs.models.WindowsOsState """ _attribute_map = { 'windows_os_state': {'key': 'windowsOsState', 'type': 'str'}, } def __init__(self, *, windows_os_state=None, **kwargs) -> None: super(WindowsOsInfo, self).__init__(**kwargs) self.windows_os_state = windows_os_state
[docs]class WindowsOsInfoFragment(Model): """Information about a Windows OS. :param windows_os_state: The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied). Possible values include: 'NonSysprepped', 'SysprepRequested', 'SysprepApplied' :type windows_os_state: str or ~azure.mgmt.devtestlabs.models.WindowsOsState """ _attribute_map = { 'windows_os_state': {'key': 'windowsOsState', 'type': 'str'}, } def __init__(self, *, windows_os_state=None, **kwargs) -> None: super(WindowsOsInfoFragment, self).__init__(**kwargs) self.windows_os_state = windows_os_state