Partilhar via


Laboratórios/máquinas virtuais Microsoft.DevTestLab 2016-05-15

Definição de recursos do bíceps

O tipo de recurso labs/virtualmachines pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DevTestLab/labs/virtualmachines, adicione o seguinte Bicep ao seu modelo.

resource symbolicname 'Microsoft.DevTestLab/labs/virtualmachines@2016-05-15' = {
  parent: resourceSymbolicName
  location: 'string'
  name: 'string'
  properties: {
    allowClaim: bool
    applicableSchedule: {
      location: 'string'
      properties: {
        labVmsShutdown: {
          location: 'string'
          properties: {
            dailyRecurrence: {
              time: 'string'
            }
            hourlyRecurrence: {
              minute: int
            }
            notificationSettings: {
              status: 'string'
              timeInMinutes: int
              webhookUrl: 'string'
            }
            provisioningState: 'string'
            status: 'string'
            targetResourceId: 'string'
            taskType: 'string'
            timeZoneId: 'string'
            uniqueIdentifier: 'string'
            weeklyRecurrence: {
              time: 'string'
              weekdays: [
                'string'
              ]
            }
          }
          tags: {
            {customized property}: 'string'
          }
        }
        labVmsStartup: {
          location: 'string'
          properties: {
            dailyRecurrence: {
              time: 'string'
            }
            hourlyRecurrence: {
              minute: int
            }
            notificationSettings: {
              status: 'string'
              timeInMinutes: int
              webhookUrl: 'string'
            }
            provisioningState: 'string'
            status: 'string'
            targetResourceId: 'string'
            taskType: 'string'
            timeZoneId: 'string'
            uniqueIdentifier: 'string'
            weeklyRecurrence: {
              time: 'string'
              weekdays: [
                'string'
              ]
            }
          }
          tags: {
            {customized property}: 'string'
          }
        }
      }
      tags: {
        {customized property}: 'string'
      }
    }
    artifactDeploymentStatus: {
      artifactsApplied: int
      deploymentStatus: 'string'
      totalArtifacts: int
    }
    artifacts: [
      {
        artifactId: 'string'
        deploymentStatusMessage: 'string'
        installTime: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
          }
        ]
        status: 'string'
        vmExtensionStatusMessage: 'string'
      }
    ]
    computeVm: {
      dataDiskIds: [
        'string'
      ]
      dataDisks: [
        {
          diskSizeGiB: int
          diskUri: 'string'
          managedDiskId: 'string'
          name: 'string'
        }
      ]
      networkInterfaceId: 'string'
      osDiskId: 'string'
      osType: 'string'
      statuses: [
        {
          code: 'string'
          displayStatus: 'string'
          message: 'string'
        }
      ]
      vmSize: 'string'
    }
    createdByUser: 'string'
    createdByUserId: 'string'
    createdDate: 'string'
    customImageId: 'string'
    disallowPublicIpAddress: bool
    environmentId: 'string'
    expirationDate: 'string'
    fqdn: 'string'
    galleryImageReference: {
      offer: 'string'
      osType: 'string'
      publisher: 'string'
      sku: 'string'
      version: 'string'
    }
    isAuthenticationWithSshKey: bool
    labSubnetName: 'string'
    labVirtualNetworkId: 'string'
    networkInterface: {
      dnsName: 'string'
      privateIpAddress: 'string'
      publicIpAddress: 'string'
      publicIpAddressId: 'string'
      rdpAuthority: 'string'
      sharedPublicIpAddressConfiguration: {
        inboundNatRules: [
          {
            backendPort: int
            frontendPort: int
            transportProtocol: 'string'
          }
        ]
      }
      sshAuthority: 'string'
      subnetId: 'string'
      virtualNetworkId: 'string'
    }
    notes: 'string'
    osType: 'string'
    ownerObjectId: 'string'
    ownerUserPrincipalName: 'string'
    password: 'string'
    provisioningState: 'string'
    size: 'string'
    sshKey: 'string'
    storageType: 'string'
    uniqueIdentifier: 'string'
    userName: 'string'
    virtualMachineCreationSource: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propriedade

Microsoft.DevTestLab/labs/virtualmachines

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
Designação O nome do recurso string (obrigatório)
elemento principal No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para recurso do tipo: labs
propriedades As propriedades do recurso. LabVirtualMachineProperties (obrigatório)
Etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos

ApplicableSchedule

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ApplicableScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ApplicableScheduleProperties

Designação Descrição Valor
labVmsShutdown A agenda de desligamento automático, se tiver sido definida no nível de recursos de laboratório ou laboratório. Horário
labVmsStartup O agendamento de inicialização automática, se tiver sido definido no nível de recurso de laboratório ou laboratório. Horário

ArtifactDeploymentStatusProperties

Designação Descrição Valor
artefactosAplicado A contagem total dos artefatos que foram aplicados com sucesso. Int
status de implantação O status de implantação do artefato. cadeia (de caracteres)
totalArtefatos A contagem total dos artefatos que foram aplicados provisoriamente. Int

ArtifactInstallProperties

Designação Descrição Valor
ID do artefato O identificador do artefato. cadeia (de caracteres)
deploymentStatusMessage A mensagem de status da implantação. cadeia (de caracteres)
installTime A hora em que o artefato começa a ser instalado na máquina virtual. cadeia (de caracteres)
Parâmetros Os parâmetros do artefato. ArtifactParameterProperties[]
estado O status do artefato. cadeia (de caracteres)
vmExtensionStatusMessage A mensagem de status da extensão da máquina virtual. cadeia (de caracteres)

ArtifactParameterProperties

Designação Descrição Valor
Designação O nome do parâmetro de artefato. cadeia (de caracteres)
valor O valor do parâmetro artifact. cadeia (de caracteres)

ComputeDataDisk

Designação Descrição Valor
diskSizeGiB Obtém o tamanho do disco de dados no GiB. Int
diskUri Quando apoiado por um blob, o URI do blob subjacente. cadeia (de caracteres)
managedDiskId Quando o backup é feito pelo disco gerenciado, esse é o ID do recurso de disco de computação. cadeia (de caracteres)
Designação Obtém o nome do disco de dados. cadeia (de caracteres)

ComputeVmInstanceViewStatus

Designação Descrição Valor
código Obtém o código de status. cadeia (de caracteres)
displayStatus Obtém o rótulo curto localizável para o status. cadeia (de caracteres)
mensagem Obtém a mensagem associada ao status. cadeia (de caracteres)

ComputeVmProperties

Designação Descrição Valor
dataDiskIds Obtém discos de dados blob uri para a máquina virtual. string[]
dataDisks Obtém todos os discos de dados anexados à máquina virtual. ComputeDataDisk []
networkInterfaceId Obtém a ID da interface de rede da máquina virtual. cadeia (de caracteres)
osDiskId Obtém o uri do blob de disco do sistema operacional para a máquina virtual. cadeia (de caracteres)
tipo de sistema operativo Obtém o tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
estados Obtém os status da máquina virtual. ComputeVmInstanceViewStatus []
vmTamanho Obtém o tamanho da máquina virtual. cadeia (de caracteres)

Detalhes do dia

Designação Descrição Valor
Hora A hora do dia o horário ocorrerá. cadeia (de caracteres)

GalleryImageReference

Designação Descrição Valor
oferta A oferta da imagem da galeria. cadeia (de caracteres)
tipo de sistema operativo O tipo de SO da imagem da galeria. cadeia (de caracteres)
editor O editor da imagem da galeria. cadeia (de caracteres)
SKU O SKU da imagem da galeria. cadeia (de caracteres)
versão A versão da imagem da galeria. cadeia (de caracteres)

HoraDetalhes

Designação Descrição Valor
minuto Minutos da hora em que o horário será executado. Int

InboundNatRule

Designação Descrição Valor
backendPort A porta para a qual o tráfego externo será redirecionado. Int
frontendPort A porta do ponto de extremidade externo da conexão de entrada. Os valores possíveis variam entre 1 e 65535, inclusive. Se não for especificado, um valor será alocado automaticamente. Int
transportesProtocolo O protocolo de transporte para o ponto de extremidade. «Tcp»
'Udp'

LabVirtualMachineProperties

Designação Descrição Valor
allowClaim Indica se outro usuário pode assumir a propriedade da máquina virtual Bool
applicableCronograma O agendamento aplicável para a máquina virtual. ApplicableSchedule
artifactDeploymentStatus O status de implantação do artefato para a máquina virtual. ArtifactDeploymentStatusProperties
artefatos Os artefatos a serem instalados na máquina virtual. ArtifactInstallProperties[]
computeVm As propriedades da máquina virtual de computação. ComputeVmProperties
createdByUser O endereço de e-mail do criador da máquina virtual. cadeia (de caracteres)
criadoByUserId O identificador de objeto do criador da máquina virtual. cadeia (de caracteres)
createdDate (Data de criação) A data de criação da máquina virtual. cadeia (de caracteres)
customImageId O identificador de imagem personalizado da máquina virtual. cadeia (de caracteres)
disallowPublicIpAddress Indica se a máquina virtual deve ser criada sem um endereço IP público. Bool
environmentId A ID do recurso do ambiente que contém essa máquina virtual, se houver. cadeia (de caracteres)
Data de expiração A data de expiração da VM. cadeia (de caracteres)
FQDN O nome de domínio totalmente qualificado da máquina virtual. cadeia (de caracteres)
galeriaImagemReferência A referência de imagem do Microsoft Azure Marketplace da máquina virtual. GalleryImageReference
isAuthenticationWithSshKey Indica se essa máquina virtual usa uma chave SSH para autenticação. Bool
labSubnetName O nome da sub-rede de laboratório da máquina virtual. cadeia (de caracteres)
labVirtualNetworkId O identificador de rede virtual de laboratório da máquina virtual. cadeia (de caracteres)
networkInterface As propriedades da interface de rede. NetworkInterfaceProperties
Observações As notas da máquina virtual. cadeia (de caracteres)
tipo de sistema operativo O tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
ownerObjectId O identificador de objeto do proprietário da máquina virtual. cadeia (de caracteres)
ownerUserPrincipalName O nome principal do usuário do proprietário da máquina virtual. cadeia (de caracteres)
palavra-passe A senha do administrador da máquina virtual. cadeia (de caracteres)
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
tamanho O tamanho da máquina virtual. cadeia (de caracteres)
sshKey A chave SSH do administrador da máquina virtual. cadeia (de caracteres)
tipo de armazenamento Tipo de armazenamento a ser usado para máquina virtual (ou seja, Standard, Premium). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
nome de utilizador O nome de usuário da máquina virtual. cadeia (de caracteres)
virtualMachineCreationSource Informa a fonte de criação da máquina virtual de laboratório. Somente propriedade de saída. 'FromCustomImage'
'FromGalleryImage'

NetworkInterfaceProperties

Designação Descrição Valor
dnsNome O nome DNS. cadeia (de caracteres)
privateIpAddress O endereço IP privado. cadeia (de caracteres)
publicIpAddress O endereço IP público. cadeia (de caracteres)
publicIpAddressId O ID do recurso do endereço IP público. cadeia (de caracteres)
rdpAutoridade A propriedade RdpAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para RDP (Protocolo de Área de Trabalho Remota). cadeia (de caracteres)
sharedPublicIpAddressConfiguration A configuração para compartilhar um endereço IP público em várias máquinas virtuais. SharedPublicIpAddressConfiguration
sshAutoridade A propriedade SshAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para SSH. cadeia (de caracteres)
subnetId O ID do recurso da sub-rede. cadeia (de caracteres)
virtualNetworkId O ID do recurso da rede virtual. cadeia (de caracteres)

NotificationSettings

Designação Descrição Valor
estado Se as notificações estiverem habilitadas para esse agendamento (ou seja, Habilitado, Desativado). 'Desativado'
'Habilitado'
timeInMinutes Tempo em minutos antes do evento em que a notificação será enviada. Int
webhookUrl O URL do webhook para o qual a notificação será enviada. cadeia (de caracteres)

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Horário

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ScheduleProperties

Designação Descrição Valor
recorrência diária Se o horário ocorrer uma vez em cada dia da semana, especifique a recorrência diária. DayDetalhes
recorrência horária Se o agendamento ocorrer várias vezes ao dia, especifique a recorrência horária. HoraDetalhes
configurações de notificações Configurações de notificação. NotificationSettings
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
estado O status da agenda (ou seja, Habilitado, Desativado) 'Desativado'
'Habilitado'
ID de Recurso Alvo O ID do recurso ao qual a agenda pertence cadeia (de caracteres)
Tipo de tarefa O tipo de tarefa do cronograma (por exemplo, LabVmsShutdownTask, LabVmAutoStart). cadeia (de caracteres)
timeZoneId O ID do fuso horário (por exemplo, hora padrão do Pacífico). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
semanalRecorrência Se o horário ocorrer apenas alguns dias da semana, especifique a recorrência semanal. SemanaDetalhes

SharedPublicIpAddressConfiguration

Designação Descrição Valor
inboundNatRules As novas regras NAT InboundNatRule[]

SemanaDetalhes

Designação Descrição Valor
Hora A hora do dia em que ocorrerá o agendamento. cadeia (de caracteres)
dias úteis Os dias da semana para os quais o horário está definido (por exemplo, domingo, segunda-feira, terça-feira, etc.). string[]

Exemplos de uso

Exemplos de início rápido do Azure

Os seguintes modelos início rápido do Azure contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
Cria um laboratório no Azure DevTest Labs com uma VM declarada Este modelo cria uma nova instância do DevTest Lab/DTL com uma VM de Datacenter do Windows Server 2019 declarada. Mais modelos de início rápido do Azure Resource Manager para o Azure DevTest Labs disponíveis em https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates

Definição de recurso de modelo ARM

O tipo de recurso labs/virtualmachines pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DevTestLab/labs/virtualmachines, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.DevTestLab/labs/virtualmachines",
  "apiVersion": "2016-05-15",
  "name": "string",
  "location": "string",
  "properties": {
    "allowClaim": "bool",
    "applicableSchedule": {
      "location": "string",
      "properties": {
        "labVmsShutdown": {
          "location": "string",
          "properties": {
            "dailyRecurrence": {
              "time": "string"
            },
            "hourlyRecurrence": {
              "minute": "int"
            },
            "notificationSettings": {
              "status": "string",
              "timeInMinutes": "int",
              "webhookUrl": "string"
            },
            "provisioningState": "string",
            "status": "string",
            "targetResourceId": "string",
            "taskType": "string",
            "timeZoneId": "string",
            "uniqueIdentifier": "string",
            "weeklyRecurrence": {
              "time": "string",
              "weekdays": [ "string" ]
            }
          },
          "tags": {
            "{customized property}": "string"
          }
        },
        "labVmsStartup": {
          "location": "string",
          "properties": {
            "dailyRecurrence": {
              "time": "string"
            },
            "hourlyRecurrence": {
              "minute": "int"
            },
            "notificationSettings": {
              "status": "string",
              "timeInMinutes": "int",
              "webhookUrl": "string"
            },
            "provisioningState": "string",
            "status": "string",
            "targetResourceId": "string",
            "taskType": "string",
            "timeZoneId": "string",
            "uniqueIdentifier": "string",
            "weeklyRecurrence": {
              "time": "string",
              "weekdays": [ "string" ]
            }
          },
          "tags": {
            "{customized property}": "string"
          }
        }
      },
      "tags": {
        "{customized property}": "string"
      }
    },
    "artifactDeploymentStatus": {
      "artifactsApplied": "int",
      "deploymentStatus": "string",
      "totalArtifacts": "int"
    },
    "artifacts": [
      {
        "artifactId": "string",
        "deploymentStatusMessage": "string",
        "installTime": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string"
          }
        ],
        "status": "string",
        "vmExtensionStatusMessage": "string"
      }
    ],
    "computeVm": {
      "dataDiskIds": [ "string" ],
      "dataDisks": [
        {
          "diskSizeGiB": "int",
          "diskUri": "string",
          "managedDiskId": "string",
          "name": "string"
        }
      ],
      "networkInterfaceId": "string",
      "osDiskId": "string",
      "osType": "string",
      "statuses": [
        {
          "code": "string",
          "displayStatus": "string",
          "message": "string"
        }
      ],
      "vmSize": "string"
    },
    "createdByUser": "string",
    "createdByUserId": "string",
    "createdDate": "string",
    "customImageId": "string",
    "disallowPublicIpAddress": "bool",
    "environmentId": "string",
    "expirationDate": "string",
    "fqdn": "string",
    "galleryImageReference": {
      "offer": "string",
      "osType": "string",
      "publisher": "string",
      "sku": "string",
      "version": "string"
    },
    "isAuthenticationWithSshKey": "bool",
    "labSubnetName": "string",
    "labVirtualNetworkId": "string",
    "networkInterface": {
      "dnsName": "string",
      "privateIpAddress": "string",
      "publicIpAddress": "string",
      "publicIpAddressId": "string",
      "rdpAuthority": "string",
      "sharedPublicIpAddressConfiguration": {
        "inboundNatRules": [
          {
            "backendPort": "int",
            "frontendPort": "int",
            "transportProtocol": "string"
          }
        ]
      },
      "sshAuthority": "string",
      "subnetId": "string",
      "virtualNetworkId": "string"
    },
    "notes": "string",
    "osType": "string",
    "ownerObjectId": "string",
    "ownerUserPrincipalName": "string",
    "password": "string",
    "provisioningState": "string",
    "size": "string",
    "sshKey": "string",
    "storageType": "string",
    "uniqueIdentifier": "string",
    "userName": "string",
    "virtualMachineCreationSource": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propriedade

Microsoft.DevTestLab/labs/virtualmachines

Designação Descrição Valor
Versão da API A versão api '2016-05-15'
localização A localização do recurso. cadeia (de caracteres)
Designação O nome do recurso string (obrigatório)
propriedades As propriedades do recurso. LabVirtualMachineProperties (obrigatório)
Etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos
tipo O tipo de recurso 'Microsoft.DevTestLab/labs/virtualmachines'

ApplicableSchedule

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ApplicableScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ApplicableScheduleProperties

Designação Descrição Valor
labVmsShutdown A agenda de desligamento automático, se tiver sido definida no nível de recursos de laboratório ou laboratório. Horário
labVmsStartup O agendamento de inicialização automática, se tiver sido definido no nível de recurso de laboratório ou laboratório. Horário

ArtifactDeploymentStatusProperties

Designação Descrição Valor
artefactosAplicado A contagem total dos artefatos que foram aplicados com sucesso. Int
status de implantação O status de implantação do artefato. cadeia (de caracteres)
totalArtefatos A contagem total dos artefatos que foram aplicados provisoriamente. Int

ArtifactInstallProperties

Designação Descrição Valor
ID do artefato O identificador do artefato. cadeia (de caracteres)
deploymentStatusMessage A mensagem de status da implantação. cadeia (de caracteres)
installTime A hora em que o artefato começa a ser instalado na máquina virtual. cadeia (de caracteres)
Parâmetros Os parâmetros do artefato. ArtifactParameterProperties[]
estado O status do artefato. cadeia (de caracteres)
vmExtensionStatusMessage A mensagem de status da extensão da máquina virtual. cadeia (de caracteres)

ArtifactParameterProperties

Designação Descrição Valor
Designação O nome do parâmetro de artefato. cadeia (de caracteres)
valor O valor do parâmetro artifact. cadeia (de caracteres)

ComputeDataDisk

Designação Descrição Valor
diskSizeGiB Obtém o tamanho do disco de dados no GiB. Int
diskUri Quando apoiado por um blob, o URI do blob subjacente. cadeia (de caracteres)
managedDiskId Quando o backup é feito pelo disco gerenciado, esse é o ID do recurso de disco de computação. cadeia (de caracteres)
Designação Obtém o nome do disco de dados. cadeia (de caracteres)

ComputeVmInstanceViewStatus

Designação Descrição Valor
código Obtém o código de status. cadeia (de caracteres)
displayStatus Obtém o rótulo curto localizável para o status. cadeia (de caracteres)
mensagem Obtém a mensagem associada ao status. cadeia (de caracteres)

ComputeVmProperties

Designação Descrição Valor
dataDiskIds Obtém discos de dados blob uri para a máquina virtual. string[]
dataDisks Obtém todos os discos de dados anexados à máquina virtual. ComputeDataDisk []
networkInterfaceId Obtém a ID da interface de rede da máquina virtual. cadeia (de caracteres)
osDiskId Obtém o uri do blob de disco do sistema operacional para a máquina virtual. cadeia (de caracteres)
tipo de sistema operativo Obtém o tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
estados Obtém os status da máquina virtual. ComputeVmInstanceViewStatus []
vmTamanho Obtém o tamanho da máquina virtual. cadeia (de caracteres)

Detalhes do dia

Designação Descrição Valor
Hora A hora do dia o horário ocorrerá. cadeia (de caracteres)

GalleryImageReference

Designação Descrição Valor
oferta A oferta da imagem da galeria. cadeia (de caracteres)
tipo de sistema operativo O tipo de SO da imagem da galeria. cadeia (de caracteres)
editor O editor da imagem da galeria. cadeia (de caracteres)
SKU O SKU da imagem da galeria. cadeia (de caracteres)
versão A versão da imagem da galeria. cadeia (de caracteres)

HoraDetalhes

Designação Descrição Valor
minuto Minutos da hora em que o horário será executado. Int

InboundNatRule

Designação Descrição Valor
backendPort A porta para a qual o tráfego externo será redirecionado. Int
frontendPort A porta do ponto de extremidade externo da conexão de entrada. Os valores possíveis variam entre 1 e 65535, inclusive. Se não for especificado, um valor será alocado automaticamente. Int
transportesProtocolo O protocolo de transporte para o ponto de extremidade. «Tcp»
'Udp'

LabVirtualMachineProperties

Designação Descrição Valor
allowClaim Indica se outro usuário pode assumir a propriedade da máquina virtual Bool
applicableCronograma O agendamento aplicável para a máquina virtual. ApplicableSchedule
artifactDeploymentStatus O status de implantação do artefato para a máquina virtual. ArtifactDeploymentStatusProperties
artefatos Os artefatos a serem instalados na máquina virtual. ArtifactInstallProperties[]
computeVm As propriedades da máquina virtual de computação. ComputeVmProperties
createdByUser O endereço de e-mail do criador da máquina virtual. cadeia (de caracteres)
criadoByUserId O identificador de objeto do criador da máquina virtual. cadeia (de caracteres)
createdDate (Data de criação) A data de criação da máquina virtual. cadeia (de caracteres)
customImageId O identificador de imagem personalizado da máquina virtual. cadeia (de caracteres)
disallowPublicIpAddress Indica se a máquina virtual deve ser criada sem um endereço IP público. Bool
environmentId A ID do recurso do ambiente que contém essa máquina virtual, se houver. cadeia (de caracteres)
Data de expiração A data de expiração da VM. cadeia (de caracteres)
FQDN O nome de domínio totalmente qualificado da máquina virtual. cadeia (de caracteres)
galeriaImagemReferência A referência de imagem do Microsoft Azure Marketplace da máquina virtual. GalleryImageReference
isAuthenticationWithSshKey Indica se essa máquina virtual usa uma chave SSH para autenticação. Bool
labSubnetName O nome da sub-rede de laboratório da máquina virtual. cadeia (de caracteres)
labVirtualNetworkId O identificador de rede virtual de laboratório da máquina virtual. cadeia (de caracteres)
networkInterface As propriedades da interface de rede. NetworkInterfaceProperties
Observações As notas da máquina virtual. cadeia (de caracteres)
tipo de sistema operativo O tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
ownerObjectId O identificador de objeto do proprietário da máquina virtual. cadeia (de caracteres)
ownerUserPrincipalName O nome principal do usuário do proprietário da máquina virtual. cadeia (de caracteres)
palavra-passe A senha do administrador da máquina virtual. cadeia (de caracteres)
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
tamanho O tamanho da máquina virtual. cadeia (de caracteres)
sshKey A chave SSH do administrador da máquina virtual. cadeia (de caracteres)
tipo de armazenamento Tipo de armazenamento a ser usado para máquina virtual (ou seja, Standard, Premium). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
nome de utilizador O nome de usuário da máquina virtual. cadeia (de caracteres)
virtualMachineCreationSource Informa a fonte de criação da máquina virtual de laboratório. Somente propriedade de saída. 'FromCustomImage'
'FromGalleryImage'

NetworkInterfaceProperties

Designação Descrição Valor
dnsNome O nome DNS. cadeia (de caracteres)
privateIpAddress O endereço IP privado. cadeia (de caracteres)
publicIpAddress O endereço IP público. cadeia (de caracteres)
publicIpAddressId O ID do recurso do endereço IP público. cadeia (de caracteres)
rdpAutoridade A propriedade RdpAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para RDP (Protocolo de Área de Trabalho Remota). cadeia (de caracteres)
sharedPublicIpAddressConfiguration A configuração para compartilhar um endereço IP público em várias máquinas virtuais. SharedPublicIpAddressConfiguration
sshAutoridade A propriedade SshAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para SSH. cadeia (de caracteres)
subnetId O ID do recurso da sub-rede. cadeia (de caracteres)
virtualNetworkId O ID do recurso da rede virtual. cadeia (de caracteres)

NotificationSettings

Designação Descrição Valor
estado Se as notificações estiverem habilitadas para esse agendamento (ou seja, Habilitado, Desativado). 'Desativado'
'Habilitado'
timeInMinutes Tempo em minutos antes do evento em que a notificação será enviada. Int
webhookUrl O URL do webhook para o qual a notificação será enviada. cadeia (de caracteres)

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Horário

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ScheduleProperties

Designação Descrição Valor
recorrência diária Se o horário ocorrer uma vez em cada dia da semana, especifique a recorrência diária. DayDetalhes
recorrência horária Se o agendamento ocorrer várias vezes ao dia, especifique a recorrência horária. HoraDetalhes
configurações de notificações Configurações de notificação. NotificationSettings
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
estado O status da agenda (ou seja, Habilitado, Desativado) 'Desativado'
'Habilitado'
ID de Recurso Alvo O ID do recurso ao qual a agenda pertence cadeia (de caracteres)
Tipo de tarefa O tipo de tarefa do cronograma (por exemplo, LabVmsShutdownTask, LabVmAutoStart). cadeia (de caracteres)
timeZoneId O ID do fuso horário (por exemplo, hora padrão do Pacífico). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
semanalRecorrência Se o horário ocorrer apenas alguns dias da semana, especifique a recorrência semanal. SemanaDetalhes

SharedPublicIpAddressConfiguration

Designação Descrição Valor
inboundNatRules As novas regras NAT InboundNatRule[]

SemanaDetalhes

Designação Descrição Valor
Hora A hora do dia em que ocorrerá o agendamento. cadeia (de caracteres)
dias úteis Os dias da semana para os quais o horário está definido (por exemplo, domingo, segunda-feira, terça-feira, etc.). string[]

Exemplos de uso

Modelos de início rápido do Azure

Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.

Modelo Descrição
Cria um laboratório no Azure DevTest Labs com uma VM declarada

Implantar no Azure
Este modelo cria uma nova instância do DevTest Lab/DTL com uma VM de Datacenter do Windows Server 2019 declarada. Mais modelos de início rápido do Azure Resource Manager para o Azure DevTest Labs disponíveis em https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso labs/virtualmachines pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.DevTestLab/labs/virtualmachines, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevTestLab/labs/virtualmachines@2016-05-15"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      allowClaim = bool
      applicableSchedule = {
        location = "string"
        properties = {
          labVmsShutdown = {
            location = "string"
            properties = {
              dailyRecurrence = {
                time = "string"
              }
              hourlyRecurrence = {
                minute = int
              }
              notificationSettings = {
                status = "string"
                timeInMinutes = int
                webhookUrl = "string"
              }
              provisioningState = "string"
              status = "string"
              targetResourceId = "string"
              taskType = "string"
              timeZoneId = "string"
              uniqueIdentifier = "string"
              weeklyRecurrence = {
                time = "string"
                weekdays = [
                  "string"
                ]
              }
            }
            tags = {
              {customized property} = "string"
            }
          }
          labVmsStartup = {
            location = "string"
            properties = {
              dailyRecurrence = {
                time = "string"
              }
              hourlyRecurrence = {
                minute = int
              }
              notificationSettings = {
                status = "string"
                timeInMinutes = int
                webhookUrl = "string"
              }
              provisioningState = "string"
              status = "string"
              targetResourceId = "string"
              taskType = "string"
              timeZoneId = "string"
              uniqueIdentifier = "string"
              weeklyRecurrence = {
                time = "string"
                weekdays = [
                  "string"
                ]
              }
            }
            tags = {
              {customized property} = "string"
            }
          }
        }
        tags = {
          {customized property} = "string"
        }
      }
      artifactDeploymentStatus = {
        artifactsApplied = int
        deploymentStatus = "string"
        totalArtifacts = int
      }
      artifacts = [
        {
          artifactId = "string"
          deploymentStatusMessage = "string"
          installTime = "string"
          parameters = [
            {
              name = "string"
              value = "string"
            }
          ]
          status = "string"
          vmExtensionStatusMessage = "string"
        }
      ]
      computeVm = {
        dataDiskIds = [
          "string"
        ]
        dataDisks = [
          {
            diskSizeGiB = int
            diskUri = "string"
            managedDiskId = "string"
            name = "string"
          }
        ]
        networkInterfaceId = "string"
        osDiskId = "string"
        osType = "string"
        statuses = [
          {
            code = "string"
            displayStatus = "string"
            message = "string"
          }
        ]
        vmSize = "string"
      }
      createdByUser = "string"
      createdByUserId = "string"
      createdDate = "string"
      customImageId = "string"
      disallowPublicIpAddress = bool
      environmentId = "string"
      expirationDate = "string"
      fqdn = "string"
      galleryImageReference = {
        offer = "string"
        osType = "string"
        publisher = "string"
        sku = "string"
        version = "string"
      }
      isAuthenticationWithSshKey = bool
      labSubnetName = "string"
      labVirtualNetworkId = "string"
      networkInterface = {
        dnsName = "string"
        privateIpAddress = "string"
        publicIpAddress = "string"
        publicIpAddressId = "string"
        rdpAuthority = "string"
        sharedPublicIpAddressConfiguration = {
          inboundNatRules = [
            {
              backendPort = int
              frontendPort = int
              transportProtocol = "string"
            }
          ]
        }
        sshAuthority = "string"
        subnetId = "string"
        virtualNetworkId = "string"
      }
      notes = "string"
      osType = "string"
      ownerObjectId = "string"
      ownerUserPrincipalName = "string"
      password = "string"
      provisioningState = "string"
      size = "string"
      sshKey = "string"
      storageType = "string"
      uniqueIdentifier = "string"
      userName = "string"
      virtualMachineCreationSource = "string"
    }
  }
}

Valores de propriedade

Microsoft.DevTestLab/labs/virtualmachines

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
Designação O nome do recurso string (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID do recurso do tipo: laboratórios
propriedades As propriedades do recurso. LabVirtualMachineProperties (obrigatório)
Etiquetas Tags de recursos Dicionário de nomes e valores de tags.
tipo O tipo de recurso "Microsoft.DevTestLab/labs/virtualmachines@2016-05-15"

ApplicableSchedule

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ApplicableScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ApplicableScheduleProperties

Designação Descrição Valor
labVmsShutdown A agenda de desligamento automático, se tiver sido definida no nível de recursos de laboratório ou laboratório. Horário
labVmsStartup O agendamento de inicialização automática, se tiver sido definido no nível de recurso de laboratório ou laboratório. Horário

ArtifactDeploymentStatusProperties

Designação Descrição Valor
artefactosAplicado A contagem total dos artefatos que foram aplicados com sucesso. Int
status de implantação O status de implantação do artefato. cadeia (de caracteres)
totalArtefatos A contagem total dos artefatos que foram aplicados provisoriamente. Int

ArtifactInstallProperties

Designação Descrição Valor
ID do artefato O identificador do artefato. cadeia (de caracteres)
deploymentStatusMessage A mensagem de status da implantação. cadeia (de caracteres)
installTime A hora em que o artefato começa a ser instalado na máquina virtual. cadeia (de caracteres)
Parâmetros Os parâmetros do artefato. ArtifactParameterProperties[]
estado O status do artefato. cadeia (de caracteres)
vmExtensionStatusMessage A mensagem de status da extensão da máquina virtual. cadeia (de caracteres)

ArtifactParameterProperties

Designação Descrição Valor
Designação O nome do parâmetro de artefato. cadeia (de caracteres)
valor O valor do parâmetro artifact. cadeia (de caracteres)

ComputeDataDisk

Designação Descrição Valor
diskSizeGiB Obtém o tamanho do disco de dados no GiB. Int
diskUri Quando apoiado por um blob, o URI do blob subjacente. cadeia (de caracteres)
managedDiskId Quando o backup é feito pelo disco gerenciado, esse é o ID do recurso de disco de computação. cadeia (de caracteres)
Designação Obtém o nome do disco de dados. cadeia (de caracteres)

ComputeVmInstanceViewStatus

Designação Descrição Valor
código Obtém o código de status. cadeia (de caracteres)
displayStatus Obtém o rótulo curto localizável para o status. cadeia (de caracteres)
mensagem Obtém a mensagem associada ao status. cadeia (de caracteres)

ComputeVmProperties

Designação Descrição Valor
dataDiskIds Obtém discos de dados blob uri para a máquina virtual. string[]
dataDisks Obtém todos os discos de dados anexados à máquina virtual. ComputeDataDisk []
networkInterfaceId Obtém a ID da interface de rede da máquina virtual. cadeia (de caracteres)
osDiskId Obtém o uri do blob de disco do sistema operacional para a máquina virtual. cadeia (de caracteres)
tipo de sistema operativo Obtém o tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
estados Obtém os status da máquina virtual. ComputeVmInstanceViewStatus []
vmTamanho Obtém o tamanho da máquina virtual. cadeia (de caracteres)

Detalhes do dia

Designação Descrição Valor
Hora A hora do dia o horário ocorrerá. cadeia (de caracteres)

GalleryImageReference

Designação Descrição Valor
oferta A oferta da imagem da galeria. cadeia (de caracteres)
tipo de sistema operativo O tipo de SO da imagem da galeria. cadeia (de caracteres)
editor O editor da imagem da galeria. cadeia (de caracteres)
SKU O SKU da imagem da galeria. cadeia (de caracteres)
versão A versão da imagem da galeria. cadeia (de caracteres)

HoraDetalhes

Designação Descrição Valor
minuto Minutos da hora em que o horário será executado. Int

InboundNatRule

Designação Descrição Valor
backendPort A porta para a qual o tráfego externo será redirecionado. Int
frontendPort A porta do ponto de extremidade externo da conexão de entrada. Os valores possíveis variam entre 1 e 65535, inclusive. Se não for especificado, um valor será alocado automaticamente. Int
transportesProtocolo O protocolo de transporte para o ponto de extremidade. «Tcp»
'Udp'

LabVirtualMachineProperties

Designação Descrição Valor
allowClaim Indica se outro usuário pode assumir a propriedade da máquina virtual Bool
applicableCronograma O agendamento aplicável para a máquina virtual. ApplicableSchedule
artifactDeploymentStatus O status de implantação do artefato para a máquina virtual. ArtifactDeploymentStatusProperties
artefatos Os artefatos a serem instalados na máquina virtual. ArtifactInstallProperties[]
computeVm As propriedades da máquina virtual de computação. ComputeVmProperties
createdByUser O endereço de e-mail do criador da máquina virtual. cadeia (de caracteres)
criadoByUserId O identificador de objeto do criador da máquina virtual. cadeia (de caracteres)
createdDate (Data de criação) A data de criação da máquina virtual. cadeia (de caracteres)
customImageId O identificador de imagem personalizado da máquina virtual. cadeia (de caracteres)
disallowPublicIpAddress Indica se a máquina virtual deve ser criada sem um endereço IP público. Bool
environmentId A ID do recurso do ambiente que contém essa máquina virtual, se houver. cadeia (de caracteres)
Data de expiração A data de expiração da VM. cadeia (de caracteres)
FQDN O nome de domínio totalmente qualificado da máquina virtual. cadeia (de caracteres)
galeriaImagemReferência A referência de imagem do Microsoft Azure Marketplace da máquina virtual. GalleryImageReference
isAuthenticationWithSshKey Indica se essa máquina virtual usa uma chave SSH para autenticação. Bool
labSubnetName O nome da sub-rede de laboratório da máquina virtual. cadeia (de caracteres)
labVirtualNetworkId O identificador de rede virtual de laboratório da máquina virtual. cadeia (de caracteres)
networkInterface As propriedades da interface de rede. NetworkInterfaceProperties
Observações As notas da máquina virtual. cadeia (de caracteres)
tipo de sistema operativo O tipo de sistema operacional da máquina virtual. cadeia (de caracteres)
ownerObjectId O identificador de objeto do proprietário da máquina virtual. cadeia (de caracteres)
ownerUserPrincipalName O nome principal do usuário do proprietário da máquina virtual. cadeia (de caracteres)
palavra-passe A senha do administrador da máquina virtual. cadeia (de caracteres)
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
tamanho O tamanho da máquina virtual. cadeia (de caracteres)
sshKey A chave SSH do administrador da máquina virtual. cadeia (de caracteres)
tipo de armazenamento Tipo de armazenamento a ser usado para máquina virtual (ou seja, Standard, Premium). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
nome de utilizador O nome de usuário da máquina virtual. cadeia (de caracteres)
virtualMachineCreationSource Informa a fonte de criação da máquina virtual de laboratório. Somente propriedade de saída. 'FromCustomImage'
'FromGalleryImage'

NetworkInterfaceProperties

Designação Descrição Valor
dnsNome O nome DNS. cadeia (de caracteres)
privateIpAddress O endereço IP privado. cadeia (de caracteres)
publicIpAddress O endereço IP público. cadeia (de caracteres)
publicIpAddressId O ID do recurso do endereço IP público. cadeia (de caracteres)
rdpAutoridade A propriedade RdpAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para RDP (Protocolo de Área de Trabalho Remota). cadeia (de caracteres)
sharedPublicIpAddressConfiguration A configuração para compartilhar um endereço IP público em várias máquinas virtuais. SharedPublicIpAddressConfiguration
sshAutoridade A propriedade SshAuthority é um nome de host DNS do servidor ou endereço IP seguido pelo número da porta de serviço para SSH. cadeia (de caracteres)
subnetId O ID do recurso da sub-rede. cadeia (de caracteres)
virtualNetworkId O ID do recurso da rede virtual. cadeia (de caracteres)

NotificationSettings

Designação Descrição Valor
estado Se as notificações estiverem habilitadas para esse agendamento (ou seja, Habilitado, Desativado). 'Desativado'
'Habilitado'
timeInMinutes Tempo em minutos antes do evento em que a notificação será enviada. Int
webhookUrl O URL do webhook para o qual a notificação será enviada. cadeia (de caracteres)

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Tags de Recursos

Designação Descrição Valor

Horário

Designação Descrição Valor
localização A localização do recurso. cadeia (de caracteres)
propriedades As propriedades do recurso. ScheduleProperties (obrigatório)
Etiquetas As tags do recurso. Tags de Recursos

ScheduleProperties

Designação Descrição Valor
recorrência diária Se o horário ocorrer uma vez em cada dia da semana, especifique a recorrência diária. DayDetalhes
recorrência horária Se o agendamento ocorrer várias vezes ao dia, especifique a recorrência horária. HoraDetalhes
configurações de notificações Configurações de notificação. NotificationSettings
provisionamentoEstado O status de provisionamento do recurso. cadeia (de caracteres)
estado O status da agenda (ou seja, Habilitado, Desativado) 'Desativado'
'Habilitado'
ID de Recurso Alvo O ID do recurso ao qual a agenda pertence cadeia (de caracteres)
Tipo de tarefa O tipo de tarefa do cronograma (por exemplo, LabVmsShutdownTask, LabVmAutoStart). cadeia (de caracteres)
timeZoneId O ID do fuso horário (por exemplo, hora padrão do Pacífico). cadeia (de caracteres)
uniqueIdentifier O identificador único imutável de um recurso (Guid). cadeia (de caracteres)
semanalRecorrência Se o horário ocorrer apenas alguns dias da semana, especifique a recorrência semanal. SemanaDetalhes

SharedPublicIpAddressConfiguration

Designação Descrição Valor
inboundNatRules As novas regras NAT InboundNatRule[]

SemanaDetalhes

Designação Descrição Valor
Hora A hora do dia em que ocorrerá o agendamento. cadeia (de caracteres)
dias úteis Os dias da semana para os quais o horário está definido (por exemplo, domingo, segunda-feira, terça-feira, etc.). string[]

Exemplos de uso

Amostras Terraform

Um exemplo básico de implantação de máquina virtual em um laboratório de teste de desenvolvimento.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

variable "vm_password" {
  type        = string
  description = "The password for the DevTest Lab virtual machine"
  sensitive   = true
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "lab" {
  type      = "Microsoft.DevTestLab/labs@2018-09-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      labStorageType = "Premium"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_id" "virtualNetwork" {
  type      = "Microsoft.Network/virtualNetworks@2023-04-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
}

data "azapi_resource_id" "subnet" {
  type      = "Microsoft.Network/virtualNetworks/subnets@2023-04-01"
  parent_id = data.azapi_resource_id.virtualNetwork.id
  name      = "${var.resource_name}Subnet"
}

resource "azapi_resource" "virtualNetwork" {
  type      = "Microsoft.DevTestLab/labs/virtualNetworks@2018-09-15"
  parent_id = azapi_resource.lab.id
  name      = var.resource_name
  body = {
    properties = {
      description = ""
      subnetOverrides = [
        {
          labSubnetName                = data.azapi_resource_id.subnet.name
          resourceId                   = data.azapi_resource_id.subnet.id
          useInVmCreationPermission    = "Allow"
          usePublicIpAddressPermission = "Allow"
        },
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "virtualMachine" {
  type      = "Microsoft.DevTestLab/labs/virtualMachines@2018-09-15"
  parent_id = azapi_resource.lab.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      allowClaim              = true
      disallowPublicIpAddress = false
      galleryImageReference = {
        offer     = "WindowsServer"
        osType    = "Windows"
        publisher = "MicrosoftWindowsServer"
        sku       = "2012-Datacenter"
        version   = "latest"
      }
      isAuthenticationWithSshKey = false
      labSubnetName              = data.azapi_resource_id.subnet.name
      labVirtualNetworkId        = azapi_resource.virtualNetwork.id
      networkInterface = {
      }
      notes       = ""
      osType      = "Windows"
      password    = var.vm_password
      size        = "Standard_F2"
      storageType = "Standard"
      userName    = "acct5stU5er"
    }
  }
  ignore_casing             = true
  schema_validation_enabled = false
  response_export_values    = ["*"]
}