你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.DevTestLab labs/virtualmachines 2016-05-15

Bicep 资源定义

可以使用目标操作部署 labs/virtualmachines 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.DevTestLab/labs/virtualmachines 资源,请将以下 Bicep 添加到模板。

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'
  }
}

属性值

ApplicableSchedule

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ApplicableScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ApplicableScheduleProperties

名字 描述 价值
labVmsShutdown 如果已在实验室或实验室资源级别设置自动关闭计划。 计划
labVmsStartup 如果已在实验室或实验室资源级别设置自动启动计划。 计划

ArtifactDeploymentStatusProperties

名字 描述 价值
artifactsApplied 已成功应用的项目的总计数。 int
deploymentStatus 项目的部署状态。 字符串
totalArtifacts 暂时应用的项目总数。 int

ArtifactInstallProperties

名字 描述 价值
artifactId 项目的标识符。 字符串
deploymentStatusMessage 部署中的状态消息。 字符串
installTime 项目开始在虚拟机上安装的时间。 字符串
参数 项目的参数。 ArtifactParameterProperties[]
地位 项目的状态。 字符串
vmExtensionStatusMessage 虚拟机扩展的状态消息。 字符串

ArtifactParameterProperties

名字 描述 价值
名字 项目参数的名称。 字符串
价值 项目参数的值。 字符串

ComputeDataDisk

名字 描述 价值
diskSizeGiB 获取 GiB 中的数据磁盘大小。 int
diskUri 由 Blob 提供支持时,基础 Blob 的 URI。 字符串
managedDiskId 受托管磁盘支持时,这是计算磁盘资源的 ID。 字符串
名字 获取数据磁盘名称。 字符串

ComputeVmInstanceViewStatus

名字 描述 价值
法典 获取状态代码。 字符串
displayStatus 获取状态的简短可本地化标签。 字符串
消息 获取与状态关联的消息。 字符串

ComputeVmProperties

名字 描述 价值
dataDiskIds 获取虚拟机的数据磁盘 blob URI。 string[]
dataDisks 获取附加到虚拟机的所有数据磁盘。 ComputeDataDisk[]
networkInterfaceId 获取虚拟机的网络接口 ID。 字符串
osDiskId 获取虚拟机的 OS 磁盘 Blob URI。 字符串
osType 获取虚拟机的 OS 类型。 字符串
状态 获取虚拟机的状态。 ComputeVmInstanceViewStatus[]
vmSize 获取虚拟机的大小。 字符串

DayDetails

名字 描述 价值
时间 计划将发生当天的时间。 字符串

GalleryImageReference

名字 描述 价值
提供 库映像的产品/服务。 字符串
osType 库映像的 OS 类型。 字符串
发行人 库映像的发布者。 字符串
sku 库映像的 SKU。 字符串
版本 库映像的版本。 字符串

HourDetails

名字 描述 价值
分钟 计划将运行的小时分钟数。 int

InboundNatRule

名字 描述 价值
backendPort 外部流量将重定向到的端口。 int
frontendPort 入站连接的外部终结点端口。 可能的值介于 1 和 65535 之间,包括 1 和 65535。 如果未指定,将自动分配值。 int
transportProtocol 终结点的传输协议。 “Tcp”
“Udp”

LabVirtualMachineProperties

名字 描述 价值
allowClaim 指示其他用户是否可以获取虚拟机的所有权 bool
applicableSchedule 虚拟机的适用计划。 ApplicableSchedule
artifactDeploymentStatus 虚拟机的项目部署状态。 ArtifactDeploymentStatusProperties
工件 要安装在虚拟机上的项目。 ArtifactInstallProperties[]
computeVm 计算虚拟机属性。 ComputeVmProperties
createdByUser 虚拟机创建者的电子邮件地址。 字符串
createdByUserId 虚拟机创建者的对象标识符。 字符串
createdDate 虚拟机的创建日期。 字符串
customImageId 虚拟机的自定义映像标识符。 字符串
disallowPublicIpAddress 指示是否在不使用公共 IP 地址的情况下创建虚拟机。 bool
environmentId 包含此虚拟机的环境的资源 ID(如果有)。 字符串
expirationDate VM 的到期日期。 字符串
fqdn 虚拟机的完全限定域名。 字符串
galleryImageReference 虚拟机Microsoft Azure 市场映像参考。 GalleryImageReference
isAuthenticationWithSshKey 指示此虚拟机是否使用 SSH 密钥进行身份验证。 bool
labSubnetName 虚拟机的实验室子网名称。 字符串
labVirtualNetworkId 虚拟机的实验室虚拟网络标识符。 字符串
networkInterface 网络接口属性。 NetworkInterfaceProperties
笔记 虚拟机的说明。 字符串
osType 虚拟机的 OS 类型。 字符串
ownerObjectId 虚拟机所有者的对象标识符。 字符串
ownerUserPrincipalName 虚拟机所有者的用户主体名称。 字符串
密码 虚拟机管理员的密码。 字符串
provisioningState 资源的预配状态。 字符串
大小 虚拟机的大小。 字符串
sshKey 虚拟机管理员的 SSH 密钥。 字符串
storageType 要用于虚拟机的存储类型(即标准、高级)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
userName 虚拟机的用户名。 字符串
virtualMachineCreationSource 告知创建实验室虚拟机的来源。 仅输出属性。 “FromCustomImage”
“FromGalleryImage”

Microsoft.DevTestLab/labs/virtualmachines

名字 描述 价值
位置 资源的位置。 字符串
名字 资源名称 string (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:实验室
性能 资源的属性。 LabVirtualMachineProperties (必需)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记

NetworkInterfaceProperties

名字 描述 价值
dnsName DNS 名称。 字符串
privateIpAddress 专用 IP 地址。 字符串
publicIpAddress 公共 IP 地址。 字符串
publicIpAddressId 公共 IP 地址的资源 ID。 字符串
rdpAuthority RdpAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 RDP(远程桌面协议)的服务端口号。 字符串
sharedPublicIpAddressConfiguration 用于跨多个虚拟机共享公共 IP 地址的配置。 SharedPublicIpAddressConfiguration
sshAuthority SshAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 SSH 的服务端口号。 字符串
subnetId 子网络的资源 ID。 字符串
virtualNetworkId 虚拟网络的资源 ID。 字符串

NotificationSettings

名字 描述 价值
地位 如果为此计划启用了通知(即已启用,已禁用)。 “Disabled”
“Enabled”
timeInMinutes 发送通知的事件之前的时间(以分钟为单位)。 int
webhookUrl 通知将发送到的 Webhook URL。 字符串

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

附表

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ScheduleProperties

名字 描述 价值
dailyRecurrence 如果计划将在每周的每一天发生一次,请指定每日重复周期。 DayDetails
hourlyRecurrence 如果计划每天多次发生,请指定每小时重复周期。 HourDetails
notificationSettings 通知设置。 NotificationSettings
provisioningState 资源的预配状态。 字符串
地位 计划的状态(即已启用、已禁用) “Disabled”
“Enabled”
targetResourceId 计划所属的资源 ID 字符串
taskType 计划的任务类型(例如 LabVmsShutdownTask、LabVmAutoStart)。 字符串
timeZoneId 时区 ID(例如太平洋标准时间)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
weeklyRecurrence 如果计划仅在一周中的某一天发生,请指定每周重复周期。 WeekDetails

SharedPublicIpAddressConfiguration

名字 描述 价值
inboundNatRules 传入 NAT 规则 InboundNatRule[]

WeekDetails

名字 描述 价值
时间 计划将发生的一天的时间。 字符串
平日 计划设置的星期几(例如星期天、星期一、星期二等)。 string[]

快速入门示例

以下快速入门示例部署此资源类型。

Bicep 文件 描述
使用声明的 VM 在 Azure 开发测试实验室中创建实验室 此模板使用声明的 Windows Server 2019 Datacenter VM 创建一个新的开发测试实验室/DTL 实例。 https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates 提供了适用于 Azure 开发测试实验室的更多 Azure 资源管理器快速入门模板

ARM 模板资源定义

可以使用目标操作部署 labs/virtualmachines 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.DevTestLab/labs/virtualmachines 资源,请将以下 JSON 添加到模板。

{
  "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"
  }
}

属性值

ApplicableSchedule

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ApplicableScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ApplicableScheduleProperties

名字 描述 价值
labVmsShutdown 如果已在实验室或实验室资源级别设置自动关闭计划。 计划
labVmsStartup 如果已在实验室或实验室资源级别设置自动启动计划。 计划

ArtifactDeploymentStatusProperties

名字 描述 价值
artifactsApplied 已成功应用的项目的总计数。 int
deploymentStatus 项目的部署状态。 字符串
totalArtifacts 暂时应用的项目总数。 int

ArtifactInstallProperties

名字 描述 价值
artifactId 项目的标识符。 字符串
deploymentStatusMessage 部署中的状态消息。 字符串
installTime 项目开始在虚拟机上安装的时间。 字符串
参数 项目的参数。 ArtifactParameterProperties[]
地位 项目的状态。 字符串
vmExtensionStatusMessage 虚拟机扩展的状态消息。 字符串

ArtifactParameterProperties

名字 描述 价值
名字 项目参数的名称。 字符串
价值 项目参数的值。 字符串

ComputeDataDisk

名字 描述 价值
diskSizeGiB 获取 GiB 中的数据磁盘大小。 int
diskUri 由 Blob 提供支持时,基础 Blob 的 URI。 字符串
managedDiskId 受托管磁盘支持时,这是计算磁盘资源的 ID。 字符串
名字 获取数据磁盘名称。 字符串

ComputeVmInstanceViewStatus

名字 描述 价值
法典 获取状态代码。 字符串
displayStatus 获取状态的简短可本地化标签。 字符串
消息 获取与状态关联的消息。 字符串

ComputeVmProperties

名字 描述 价值
dataDiskIds 获取虚拟机的数据磁盘 blob URI。 string[]
dataDisks 获取附加到虚拟机的所有数据磁盘。 ComputeDataDisk[]
networkInterfaceId 获取虚拟机的网络接口 ID。 字符串
osDiskId 获取虚拟机的 OS 磁盘 Blob URI。 字符串
osType 获取虚拟机的 OS 类型。 字符串
状态 获取虚拟机的状态。 ComputeVmInstanceViewStatus[]
vmSize 获取虚拟机的大小。 字符串

DayDetails

名字 描述 价值
时间 计划将发生当天的时间。 字符串

GalleryImageReference

名字 描述 价值
提供 库映像的产品/服务。 字符串
osType 库映像的 OS 类型。 字符串
发行人 库映像的发布者。 字符串
sku 库映像的 SKU。 字符串
版本 库映像的版本。 字符串

HourDetails

名字 描述 价值
分钟 计划将运行的小时分钟数。 int

InboundNatRule

名字 描述 价值
backendPort 外部流量将重定向到的端口。 int
frontendPort 入站连接的外部终结点端口。 可能的值介于 1 和 65535 之间,包括 1 和 65535。 如果未指定,将自动分配值。 int
transportProtocol 终结点的传输协议。 “Tcp”
“Udp”

LabVirtualMachineProperties

名字 描述 价值
allowClaim 指示其他用户是否可以获取虚拟机的所有权 bool
applicableSchedule 虚拟机的适用计划。 ApplicableSchedule
artifactDeploymentStatus 虚拟机的项目部署状态。 ArtifactDeploymentStatusProperties
工件 要安装在虚拟机上的项目。 ArtifactInstallProperties[]
computeVm 计算虚拟机属性。 ComputeVmProperties
createdByUser 虚拟机创建者的电子邮件地址。 字符串
createdByUserId 虚拟机创建者的对象标识符。 字符串
createdDate 虚拟机的创建日期。 字符串
customImageId 虚拟机的自定义映像标识符。 字符串
disallowPublicIpAddress 指示是否在不使用公共 IP 地址的情况下创建虚拟机。 bool
environmentId 包含此虚拟机的环境的资源 ID(如果有)。 字符串
expirationDate VM 的到期日期。 字符串
fqdn 虚拟机的完全限定域名。 字符串
galleryImageReference 虚拟机Microsoft Azure 市场映像参考。 GalleryImageReference
isAuthenticationWithSshKey 指示此虚拟机是否使用 SSH 密钥进行身份验证。 bool
labSubnetName 虚拟机的实验室子网名称。 字符串
labVirtualNetworkId 虚拟机的实验室虚拟网络标识符。 字符串
networkInterface 网络接口属性。 NetworkInterfaceProperties
笔记 虚拟机的说明。 字符串
osType 虚拟机的 OS 类型。 字符串
ownerObjectId 虚拟机所有者的对象标识符。 字符串
ownerUserPrincipalName 虚拟机所有者的用户主体名称。 字符串
密码 虚拟机管理员的密码。 字符串
provisioningState 资源的预配状态。 字符串
大小 虚拟机的大小。 字符串
sshKey 虚拟机管理员的 SSH 密钥。 字符串
storageType 要用于虚拟机的存储类型(即标准、高级)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
userName 虚拟机的用户名。 字符串
virtualMachineCreationSource 告知创建实验室虚拟机的来源。 仅输出属性。 “FromCustomImage”
“FromGalleryImage”

Microsoft.DevTestLab/labs/virtualmachines

名字 描述 价值
apiVersion API 版本 '2016-05-15'
位置 资源的位置。 字符串
名字 资源名称 string (必需)
性能 资源的属性。 LabVirtualMachineProperties (必需)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
类型 资源类型 “Microsoft.DevTestLab/labs/virtualmachines”

NetworkInterfaceProperties

名字 描述 价值
dnsName DNS 名称。 字符串
privateIpAddress 专用 IP 地址。 字符串
publicIpAddress 公共 IP 地址。 字符串
publicIpAddressId 公共 IP 地址的资源 ID。 字符串
rdpAuthority RdpAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 RDP(远程桌面协议)的服务端口号。 字符串
sharedPublicIpAddressConfiguration 用于跨多个虚拟机共享公共 IP 地址的配置。 SharedPublicIpAddressConfiguration
sshAuthority SshAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 SSH 的服务端口号。 字符串
subnetId 子网络的资源 ID。 字符串
virtualNetworkId 虚拟网络的资源 ID。 字符串

NotificationSettings

名字 描述 价值
地位 如果为此计划启用了通知(即已启用,已禁用)。 “Disabled”
“Enabled”
timeInMinutes 发送通知的事件之前的时间(以分钟为单位)。 int
webhookUrl 通知将发送到的 Webhook URL。 字符串

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

附表

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ScheduleProperties

名字 描述 价值
dailyRecurrence 如果计划将在每周的每一天发生一次,请指定每日重复周期。 DayDetails
hourlyRecurrence 如果计划每天多次发生,请指定每小时重复周期。 HourDetails
notificationSettings 通知设置。 NotificationSettings
provisioningState 资源的预配状态。 字符串
地位 计划的状态(即已启用、已禁用) “Disabled”
“Enabled”
targetResourceId 计划所属的资源 ID 字符串
taskType 计划的任务类型(例如 LabVmsShutdownTask、LabVmAutoStart)。 字符串
timeZoneId 时区 ID(例如太平洋标准时间)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
weeklyRecurrence 如果计划仅在一周中的某一天发生,请指定每周重复周期。 WeekDetails

SharedPublicIpAddressConfiguration

名字 描述 价值
inboundNatRules 传入 NAT 规则 InboundNatRule[]

WeekDetails

名字 描述 价值
时间 计划将发生的一天的时间。 字符串
平日 计划设置的星期几(例如星期天、星期一、星期二等)。 string[]

快速入门模板

以下快速入门模板部署此资源类型。

模板 描述
使用声明的 VM 在 Azure 开发测试实验室中创建实验室

部署到 Azure
此模板使用声明的 Windows Server 2019 Datacenter VM 创建一个新的开发测试实验室/DTL 实例。 https://github.com/Azure/azure-devtestlab/tree/master/ARMTemplates 提供了适用于 Azure 开发测试实验室的更多 Azure 资源管理器快速入门模板

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署 labs/virtualmachines 资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.DevTestLab/labs/virtualmachines 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DevTestLab/labs/virtualmachines@2016-05-15"
  name = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    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"
    }
  })
}

属性值

ApplicableSchedule

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ApplicableScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ApplicableScheduleProperties

名字 描述 价值
labVmsShutdown 如果已在实验室或实验室资源级别设置自动关闭计划。 计划
labVmsStartup 如果已在实验室或实验室资源级别设置自动启动计划。 计划

ArtifactDeploymentStatusProperties

名字 描述 价值
artifactsApplied 已成功应用的项目的总计数。 int
deploymentStatus 项目的部署状态。 字符串
totalArtifacts 暂时应用的项目总数。 int

ArtifactInstallProperties

名字 描述 价值
artifactId 项目的标识符。 字符串
deploymentStatusMessage 部署中的状态消息。 字符串
installTime 项目开始在虚拟机上安装的时间。 字符串
参数 项目的参数。 ArtifactParameterProperties[]
地位 项目的状态。 字符串
vmExtensionStatusMessage 虚拟机扩展的状态消息。 字符串

ArtifactParameterProperties

名字 描述 价值
名字 项目参数的名称。 字符串
价值 项目参数的值。 字符串

ComputeDataDisk

名字 描述 价值
diskSizeGiB 获取 GiB 中的数据磁盘大小。 int
diskUri 由 Blob 提供支持时,基础 Blob 的 URI。 字符串
managedDiskId 受托管磁盘支持时,这是计算磁盘资源的 ID。 字符串
名字 获取数据磁盘名称。 字符串

ComputeVmInstanceViewStatus

名字 描述 价值
法典 获取状态代码。 字符串
displayStatus 获取状态的简短可本地化标签。 字符串
消息 获取与状态关联的消息。 字符串

ComputeVmProperties

名字 描述 价值
dataDiskIds 获取虚拟机的数据磁盘 blob URI。 string[]
dataDisks 获取附加到虚拟机的所有数据磁盘。 ComputeDataDisk[]
networkInterfaceId 获取虚拟机的网络接口 ID。 字符串
osDiskId 获取虚拟机的 OS 磁盘 Blob URI。 字符串
osType 获取虚拟机的 OS 类型。 字符串
状态 获取虚拟机的状态。 ComputeVmInstanceViewStatus[]
vmSize 获取虚拟机的大小。 字符串

DayDetails

名字 描述 价值
时间 计划将发生当天的时间。 字符串

GalleryImageReference

名字 描述 价值
提供 库映像的产品/服务。 字符串
osType 库映像的 OS 类型。 字符串
发行人 库映像的发布者。 字符串
sku 库映像的 SKU。 字符串
版本 库映像的版本。 字符串

HourDetails

名字 描述 价值
分钟 计划将运行的小时分钟数。 int

InboundNatRule

名字 描述 价值
backendPort 外部流量将重定向到的端口。 int
frontendPort 入站连接的外部终结点端口。 可能的值介于 1 和 65535 之间,包括 1 和 65535。 如果未指定,将自动分配值。 int
transportProtocol 终结点的传输协议。 “Tcp”
“Udp”

LabVirtualMachineProperties

名字 描述 价值
allowClaim 指示其他用户是否可以获取虚拟机的所有权 bool
applicableSchedule 虚拟机的适用计划。 ApplicableSchedule
artifactDeploymentStatus 虚拟机的项目部署状态。 ArtifactDeploymentStatusProperties
工件 要安装在虚拟机上的项目。 ArtifactInstallProperties[]
computeVm 计算虚拟机属性。 ComputeVmProperties
createdByUser 虚拟机创建者的电子邮件地址。 字符串
createdByUserId 虚拟机创建者的对象标识符。 字符串
createdDate 虚拟机的创建日期。 字符串
customImageId 虚拟机的自定义映像标识符。 字符串
disallowPublicIpAddress 指示是否在不使用公共 IP 地址的情况下创建虚拟机。 bool
environmentId 包含此虚拟机的环境的资源 ID(如果有)。 字符串
expirationDate VM 的到期日期。 字符串
fqdn 虚拟机的完全限定域名。 字符串
galleryImageReference 虚拟机Microsoft Azure 市场映像参考。 GalleryImageReference
isAuthenticationWithSshKey 指示此虚拟机是否使用 SSH 密钥进行身份验证。 bool
labSubnetName 虚拟机的实验室子网名称。 字符串
labVirtualNetworkId 虚拟机的实验室虚拟网络标识符。 字符串
networkInterface 网络接口属性。 NetworkInterfaceProperties
笔记 虚拟机的说明。 字符串
osType 虚拟机的 OS 类型。 字符串
ownerObjectId 虚拟机所有者的对象标识符。 字符串
ownerUserPrincipalName 虚拟机所有者的用户主体名称。 字符串
密码 虚拟机管理员的密码。 字符串
provisioningState 资源的预配状态。 字符串
大小 虚拟机的大小。 字符串
sshKey 虚拟机管理员的 SSH 密钥。 字符串
storageType 要用于虚拟机的存储类型(即标准、高级)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
userName 虚拟机的用户名。 字符串
virtualMachineCreationSource 告知创建实验室虚拟机的来源。 仅输出属性。 “FromCustomImage”
“FromGalleryImage”

Microsoft.DevTestLab/labs/virtualmachines

名字 描述 价值
位置 资源的位置。 字符串
名字 资源名称 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:实验室
性能 资源的属性。 LabVirtualMachineProperties (必需)
标签 资源标记 标记名称和值的字典。
类型 资源类型 “Microsoft.DevTestLab/labs/virtualmachines@2016-05-15”

NetworkInterfaceProperties

名字 描述 价值
dnsName DNS 名称。 字符串
privateIpAddress 专用 IP 地址。 字符串
publicIpAddress 公共 IP 地址。 字符串
publicIpAddressId 公共 IP 地址的资源 ID。 字符串
rdpAuthority RdpAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 RDP(远程桌面协议)的服务端口号。 字符串
sharedPublicIpAddressConfiguration 用于跨多个虚拟机共享公共 IP 地址的配置。 SharedPublicIpAddressConfiguration
sshAuthority SshAuthority 属性是服务器 DNS 主机名或 IP 地址,后跟 SSH 的服务端口号。 字符串
subnetId 子网络的资源 ID。 字符串
virtualNetworkId 虚拟网络的资源 ID。 字符串

NotificationSettings

名字 描述 价值
地位 如果为此计划启用了通知(即已启用,已禁用)。 “Disabled”
“Enabled”
timeInMinutes 发送通知的事件之前的时间(以分钟为单位)。 int
webhookUrl 通知将发送到的 Webhook URL。 字符串

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

ResourceTags

名字 描述 价值

附表

名字 描述 价值
位置 资源的位置。 字符串
性能 资源的属性。 ScheduleProperties (必需)
标签 资源的标记。 ResourceTags

ScheduleProperties

名字 描述 价值
dailyRecurrence 如果计划将在每周的每一天发生一次,请指定每日重复周期。 DayDetails
hourlyRecurrence 如果计划每天多次发生,请指定每小时重复周期。 HourDetails
notificationSettings 通知设置。 NotificationSettings
provisioningState 资源的预配状态。 字符串
地位 计划的状态(即已启用、已禁用) “Disabled”
“Enabled”
targetResourceId 计划所属的资源 ID 字符串
taskType 计划的任务类型(例如 LabVmsShutdownTask、LabVmAutoStart)。 字符串
timeZoneId 时区 ID(例如太平洋标准时间)。 字符串
uniqueIdentifier 资源的唯一不可变标识符(Guid)。 字符串
weeklyRecurrence 如果计划仅在一周中的某一天发生,请指定每周重复周期。 WeekDetails

SharedPublicIpAddressConfiguration

名字 描述 价值
inboundNatRules 传入 NAT 规则 InboundNatRule[]

WeekDetails

名字 描述 价值
时间 计划将发生的一天的时间。 字符串
平日 计划设置的星期几(例如星期天、星期一、星期二等)。 string[]