Definisi sumber daya Bicep
Jenis sumber daya labs/virtualmachines dapat disebarkan dengan operasi yang menargetkan:
- Grup sumber daya - Lihat perintah penyebaran grup sumber daya
Untuk daftar properti yang diubah di setiap versi API, lihat mengubah log.
Contoh Penggunaan
Sampel Bicep
Contoh dasar penyebaran Mesin Virtual dalam Lab Pengujian Pengembang.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
@secure()
@description('The password for the DevTest Lab virtual machine')
param vmPassword string
resource lab 'Microsoft.DevTestLab/labs@2018-09-15' = {
name: resourceName
location: location
properties: {
labStorageType: 'Premium'
}
}
resource virtualNetwork 'Microsoft.DevTestLab/labs/virtualNetworks@2018-09-15' = {
name: resourceName
parent: lab
properties: {
description: ''
subnetOverrides: [
{
labSubnetName: '${resourceName}Subnet'
resourceId: resourceId(
'Microsoft.Network/virtualNetworks/subnets',
resourceGroup().name,
resourceName,
'${resourceName}Subnet'
)
useInVmCreationPermission: 'Allow'
usePublicIpAddressPermission: 'Allow'
}
]
}
}
resource virtualMachine 'Microsoft.DevTestLab/labs/virtualMachines@2018-09-15' = {
name: resourceName
location: location
parent: lab
properties: {
allowClaim: true
disallowPublicIpAddress: false
galleryImageReference: {
offer: 'WindowsServer'
osType: 'Windows'
publisher: 'MicrosoftWindowsServer'
sku: '2012-Datacenter'
version: 'latest'
}
isAuthenticationWithSshKey: false
labSubnetName: '${resourceName}Subnet'
labVirtualNetworkId: virtualNetwork.id
networkInterface: {}
notes: ''
osType: 'Windows'
password: vmPassword
size: 'Standard_F2'
storageType: 'Standard'
userName: 'acct5stU5er'
}
}
Sampel Mulai Cepat Azure
Templat Mulai Cepat Azure berikut ini berisi sampel Bicep untuk menyebarkan jenis sumber daya ini.
Untuk membuat sumber daya Microsoft.DevTestLab/labs/virtualmachines, tambahkan Bicep berikut ke templat Anda.
resource symbolicname 'Microsoft.DevTestLab/labs/virtualmachines@2018-09-15' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
allowClaim: bool
artifacts: [
{
artifactId: 'string'
artifactTitle: 'string'
deploymentStatusMessage: 'string'
installTime: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
status: 'string'
vmExtensionStatusMessage: 'string'
}
]
createdDate: 'string'
customImageId: 'string'
dataDiskParameters: [
{
attachNewDataDiskOptions: {
diskName: 'string'
diskSizeGiB: int
diskType: 'string'
}
existingLabDiskId: 'string'
hostCaching: 'string'
}
]
disallowPublicIpAddress: bool
environmentId: 'string'
expirationDate: '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'
ownerObjectId: 'string'
ownerUserPrincipalName: 'string'
password: 'string'
planId: 'string'
scheduleParameters: [
{
name: 'string'
properties: {
dailyRecurrence: {
time: 'string'
}
hourlyRecurrence: {
minute: int
}
notificationSettings: {
emailRecipient: 'string'
notificationLocale: 'string'
status: 'string'
timeInMinutes: int
webhookUrl: 'string'
}
status: 'string'
targetResourceId: 'string'
taskType: 'string'
timeZoneId: 'string'
weeklyRecurrence: {
time: 'string'
weekdays: [
'string'
]
}
}
tags: {
{customized property}: 'string'
}
}
]
size: 'string'
sshKey: 'string'
storageType: 'string'
userName: 'string'
}
tags: {
{customized property}: 'string'
}
}
Nilai Properti
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| lokasi |
Lokasi geografis tempat sumber daya berada |
string |
| name |
Nama sumber daya |
string (diperlukan) |
| induk |
Di Bicep, Anda dapat menentukan sumber daya induk untuk sumber daya anak. Anda hanya perlu menambahkan properti ini ketika sumber daya anak dideklarasikan di luar sumber daya induk.
Untuk informasi selengkapnya, lihat sumber daya Turunan di luar sumber daya induk. |
Nama simbolis untuk sumber daya jenis: lab |
| properties |
Properti sumber daya. |
LabVirtualMachineProperties (wajib) |
| tags |
Tag sumber daya |
Kamus nama dan nilai tag. Lihat Tag dalam templat |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Pengidentifikasi artefak. |
string |
| artifactTitle |
Judul artefak. |
string |
| deploymentStatusMessage |
Pesan status dari penyebaran. |
string |
| installTime |
Waktu artefak mulai diinstal pada komputer virtual. |
string |
| parameters |
Parameter artefak. |
ArtifactParameterProperties[] |
| status |
Status artefak. |
string |
| vmExtensionStatusMessage |
Pesan status dari ekstensi komputer virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nama parameter artefak. |
string |
| value |
Nilai parameter artefak. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nama disk yang akan dilampirkan. |
string |
| diskSizeGiB |
Ukuran disk yang akan dilampirkan dalam Gibibyte. |
int |
| diskType |
Jenis penyimpanan untuk disk (yaitu Standar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Menentukan opsi untuk melampirkan disk baru ke komputer virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Menentukan id disk lab yang ada untuk dilampirkan ke komputer virtual. |
string |
| hostCaching |
Opsi penembolokan untuk disk data (yaitu None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Waktu hari jadwal akan terjadi. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Penawaran gambar galeri. |
string |
| osType |
Jenis OS gambar galeri. |
string |
| penerbit |
Penerbit gambar galeri. |
string |
| sku |
SKU gambar galeri. |
string |
| versi |
Versi gambar galeri. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Menit dalam satu jam jadwal akan berjalan. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Port tempat lalu lintas eksternal akan dialihkan. |
int |
| frontendPort |
Port titik akhir eksternal dari koneksi masuk. Kemungkinan rentang nilai antara 1 dan 65535, inklusif. Jika tidak ditentukan, nilai akan dialokasikan secara otomatis. |
int |
| transportProtocol |
Protokol transportasi untuk titik akhir. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Menunjukkan apakah pengguna lain dapat mengambil kepemilikan komputer virtual |
bool |
| artifacts |
Artefak yang akan diinstal pada komputer virtual. |
ArtifactInstallProperties[] |
| createdDate |
Tanggal pembuatan komputer virtual. |
string |
| customImageId |
Pengidentifikasi gambar kustom komputer virtual. |
string |
| dataDiskParameters |
Disk data baru atau yang sudah ada untuk dilampirkan ke komputer virtual setelah pembuatan |
DataDiskProperties[] |
| disallowPublicIpAddress |
Menunjukkan apakah komputer virtual akan dibuat tanpa alamat IP publik. |
bool |
| environmentId |
ID sumber daya lingkungan yang berisi komputer virtual ini, jika ada. |
string |
| expirationDate |
Tanggal kedaluwarsa untuk VM. |
string |
| galleryImageReference |
Referensi gambar Microsoft Marketplace Azure dari komputer virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Menunjukkan apakah komputer virtual ini menggunakan kunci SSH untuk autentikasi. |
bool |
| labSubnetName |
Nama subnet lab komputer virtual. |
string |
| labVirtualNetworkId |
Pengidentifikasi jaringan virtual lab komputer virtual. |
string |
| networkInterface |
Properti antarmuka jaringan. |
NetworkInterfaceProperties |
| notes |
Catatan komputer virtual. |
string |
| ownerObjectId |
Pengidentifikasi objek pemilik komputer virtual. |
string |
| ownerUserPrincipalName |
Nama utama pengguna pemilik komputer virtual. |
string |
| kata sandi |
Kata sandi administrator komputer virtual. |
string |
| planId |
Id paket yang terkait dengan gambar komputer virtual |
string |
| scheduleParameters |
Virtual Machine menjadwalkan untuk dibuat |
ScheduleCreationParameter[] |
| size |
Ukuran komputer virtual. |
string |
| sshKey |
Kunci SSH administrator komputer virtual. |
string |
| storageType |
Jenis penyimpanan yang digunakan untuk komputer virtual (yaitu Standar, Premium). |
string |
| userName |
Nama pengguna komputer virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nama DNS. |
string |
| privateIpAddress |
Alamat IP privat. |
string |
| publicIpAddress |
Alamat IP publik. |
string |
| publicIpAddressId |
ID sumber daya alamat IP publik. |
string |
| rdpAuthority |
Properti RdpAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk RDP (Protokol Desktop Jarak Jauh). |
string |
| sharedPublicIpAddressConfiguration |
Konfigurasi untuk berbagi alamat IP publik di beberapa komputer virtual. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
Properti SshAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk SSH. |
string |
| subnetId |
ID sumber daya sub net. |
string |
| virtualNetworkId |
ID sumber daya jaringan virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
Penerima email untuk mengirim pemberitahuan ke (dapat menjadi daftar alamat email yang dipisahkan titik koma). |
string |
| notificationLocale |
Lokal yang digunakan saat mengirim pemberitahuan (fallback untuk bahasa yang tidak didukung adalah EN). |
string |
| status |
Jika pemberitahuan diaktifkan untuk jadwal ini (yaitu Diaktifkan, Dinonaktifkan). |
'Disabled' 'Enabled' |
| timeInMinutes |
Waktu dalam menit sebelum peristiwa di mana pemberitahuan akan dikirim. |
int |
| webhookUrl |
URL webhook tempat pemberitahuan akan dikirim. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Jika jadwal akan terjadi sekali setiap hari dalam seminggu, tentukan pengulangan harian. |
DayDetails |
| hourlyRecurrence |
Jika jadwal akan terjadi beberapa kali sehari, tentukan pengulangan per jam. |
HourDetails |
| notificationSettings |
Setelan notifikasi. |
NotificationSettings |
| status |
Status jadwal (yaitu Diaktifkan, Dinonaktifkan) |
'Disabled' 'Enabled' |
| targetResourceId |
ID sumber daya tempat jadwal berada |
string |
| taskType |
Jenis tugas jadwal (misalnya LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
ID zona waktu (misalnya Waktu Standar Tiongkok, Waktu Standar Greenland, waktu Standar Pasifik, dll.). Nilai yang mungkin untuk properti ini dapat ditemukan di IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Jika jadwal hanya akan terjadi beberapa hari dalam seminggu, tentukan pengulangan mingguan. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Aturan NAT masuk |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Waktu pada hari jadwal akan terjadi. |
string |
| weekdays |
Hari-hari dalam seminggu di mana jadwal ditetapkan (misalnya Minggu, Senin, Selasa, dll.). |
string[] |
Definisi sumber daya templat ARM
Jenis sumber daya labs/virtualmachines dapat disebarkan dengan operasi yang menargetkan:
Contoh Penggunaan
Templat Quickstart Azure
Templat Mulai Cepat Azure berikut ini menyebarkan jenis sumber daya ini.
Untuk membuat sumber daya Microsoft.DevTestLab/labs/virtualmachines, tambahkan JSON berikut ke templat Anda.
{
"type": "Microsoft.DevTestLab/labs/virtualmachines",
"apiVersion": "2018-09-15",
"name": "string",
"location": "string",
"properties": {
"allowClaim": "bool",
"artifacts": [
{
"artifactId": "string",
"artifactTitle": "string",
"deploymentStatusMessage": "string",
"installTime": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
],
"status": "string",
"vmExtensionStatusMessage": "string"
}
],
"createdDate": "string",
"customImageId": "string",
"dataDiskParameters": [
{
"attachNewDataDiskOptions": {
"diskName": "string",
"diskSizeGiB": "int",
"diskType": "string"
},
"existingLabDiskId": "string",
"hostCaching": "string"
}
],
"disallowPublicIpAddress": "bool",
"environmentId": "string",
"expirationDate": "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",
"ownerObjectId": "string",
"ownerUserPrincipalName": "string",
"password": "string",
"planId": "string",
"scheduleParameters": [
{
"name": "string",
"properties": {
"dailyRecurrence": {
"time": "string"
},
"hourlyRecurrence": {
"minute": "int"
},
"notificationSettings": {
"emailRecipient": "string",
"notificationLocale": "string",
"status": "string",
"timeInMinutes": "int",
"webhookUrl": "string"
},
"status": "string",
"targetResourceId": "string",
"taskType": "string",
"timeZoneId": "string",
"weeklyRecurrence": {
"time": "string",
"weekdays": [ "string" ]
}
},
"tags": {
"{customized property}": "string"
}
}
],
"size": "string",
"sshKey": "string",
"storageType": "string",
"userName": "string"
},
"tags": {
"{customized property}": "string"
}
}
Nilai Properti
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| apiVersion |
Versi api |
'2018-09-15' |
| lokasi |
Lokasi geografis tempat sumber daya berada |
string |
| name |
Nama sumber daya |
string (diperlukan) |
| properties |
Properti sumber daya. |
LabVirtualMachineProperties (wajib) |
| tags |
Tag sumber daya |
Kamus nama dan nilai tag. Lihat Tag dalam templat |
| jenis |
Jenis sumber daya |
'Microsoft.DevTestLab/labs/virtualmachines' |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Pengidentifikasi artefak. |
string |
| artifactTitle |
Judul artefak. |
string |
| deploymentStatusMessage |
Pesan status dari penyebaran. |
string |
| installTime |
Waktu artefak mulai diinstal pada komputer virtual. |
string |
| parameters |
Parameter artefak. |
ArtifactParameterProperties[] |
| status |
Status artefak. |
string |
| vmExtensionStatusMessage |
Pesan status dari ekstensi komputer virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nama parameter artefak. |
string |
| value |
Nilai parameter artefak. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nama disk yang akan dilampirkan. |
string |
| diskSizeGiB |
Ukuran disk yang akan dilampirkan dalam Gibibyte. |
int |
| diskType |
Jenis penyimpanan untuk disk (yaitu Standar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Menentukan opsi untuk melampirkan disk baru ke komputer virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Menentukan id disk lab yang ada untuk dilampirkan ke komputer virtual. |
string |
| hostCaching |
Opsi penembolokan untuk disk data (yaitu None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Waktu hari jadwal akan terjadi. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Penawaran gambar galeri. |
string |
| osType |
Jenis OS gambar galeri. |
string |
| penerbit |
Penerbit gambar galeri. |
string |
| sku |
SKU gambar galeri. |
string |
| versi |
Versi gambar galeri. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Menit dalam satu jam jadwal akan berjalan. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Port tempat lalu lintas eksternal akan dialihkan. |
int |
| frontendPort |
Port titik akhir eksternal dari koneksi masuk. Kemungkinan rentang nilai antara 1 dan 65535, inklusif. Jika tidak ditentukan, nilai akan dialokasikan secara otomatis. |
int |
| transportProtocol |
Protokol transportasi untuk titik akhir. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Menunjukkan apakah pengguna lain dapat mengambil kepemilikan komputer virtual |
bool |
| artifacts |
Artefak yang akan diinstal pada komputer virtual. |
ArtifactInstallProperties[] |
| createdDate |
Tanggal pembuatan komputer virtual. |
string |
| customImageId |
Pengidentifikasi gambar kustom komputer virtual. |
string |
| dataDiskParameters |
Disk data baru atau yang sudah ada untuk dilampirkan ke komputer virtual setelah pembuatan |
DataDiskProperties[] |
| disallowPublicIpAddress |
Menunjukkan apakah komputer virtual akan dibuat tanpa alamat IP publik. |
bool |
| environmentId |
ID sumber daya lingkungan yang berisi komputer virtual ini, jika ada. |
string |
| expirationDate |
Tanggal kedaluwarsa untuk VM. |
string |
| galleryImageReference |
Referensi gambar Microsoft Marketplace Azure dari komputer virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Menunjukkan apakah komputer virtual ini menggunakan kunci SSH untuk autentikasi. |
bool |
| labSubnetName |
Nama subnet lab komputer virtual. |
string |
| labVirtualNetworkId |
Pengidentifikasi jaringan virtual lab komputer virtual. |
string |
| networkInterface |
Properti antarmuka jaringan. |
NetworkInterfaceProperties |
| notes |
Catatan komputer virtual. |
string |
| ownerObjectId |
Pengidentifikasi objek pemilik komputer virtual. |
string |
| ownerUserPrincipalName |
Nama utama pengguna pemilik komputer virtual. |
string |
| kata sandi |
Kata sandi administrator komputer virtual. |
string |
| planId |
Id paket yang terkait dengan gambar komputer virtual |
string |
| scheduleParameters |
Virtual Machine menjadwalkan untuk dibuat |
ScheduleCreationParameter[] |
| size |
Ukuran komputer virtual. |
string |
| sshKey |
Kunci SSH administrator komputer virtual. |
string |
| storageType |
Jenis penyimpanan yang digunakan untuk komputer virtual (yaitu Standar, Premium). |
string |
| userName |
Nama pengguna komputer virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nama DNS. |
string |
| privateIpAddress |
Alamat IP privat. |
string |
| publicIpAddress |
Alamat IP publik. |
string |
| publicIpAddressId |
ID sumber daya alamat IP publik. |
string |
| rdpAuthority |
Properti RdpAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk RDP (Protokol Desktop Jarak Jauh). |
string |
| sharedPublicIpAddressConfiguration |
Konfigurasi untuk berbagi alamat IP publik di beberapa komputer virtual. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
Properti SshAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk SSH. |
string |
| subnetId |
ID sumber daya sub net. |
string |
| virtualNetworkId |
ID sumber daya jaringan virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
Penerima email untuk mengirim pemberitahuan ke (dapat menjadi daftar alamat email yang dipisahkan titik koma). |
string |
| notificationLocale |
Lokal yang digunakan saat mengirim pemberitahuan (fallback untuk bahasa yang tidak didukung adalah EN). |
string |
| status |
Jika pemberitahuan diaktifkan untuk jadwal ini (yaitu Diaktifkan, Dinonaktifkan). |
'Disabled' 'Enabled' |
| timeInMinutes |
Waktu dalam menit sebelum peristiwa di mana pemberitahuan akan dikirim. |
int |
| webhookUrl |
URL webhook tempat pemberitahuan akan dikirim. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Jika jadwal akan terjadi sekali setiap hari dalam seminggu, tentukan pengulangan harian. |
DayDetails |
| hourlyRecurrence |
Jika jadwal akan terjadi beberapa kali sehari, tentukan pengulangan per jam. |
HourDetails |
| notificationSettings |
Setelan notifikasi. |
NotificationSettings |
| status |
Status jadwal (yaitu Diaktifkan, Dinonaktifkan) |
'Disabled' 'Enabled' |
| targetResourceId |
ID sumber daya tempat jadwal berada |
string |
| taskType |
Jenis tugas jadwal (misalnya LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
ID zona waktu (misalnya Waktu Standar Tiongkok, Waktu Standar Greenland, waktu Standar Pasifik, dll.). Nilai yang mungkin untuk properti ini dapat ditemukan di IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Jika jadwal hanya akan terjadi beberapa hari dalam seminggu, tentukan pengulangan mingguan. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Aturan NAT masuk |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Waktu pada hari jadwal akan terjadi. |
string |
| weekdays |
Hari-hari dalam seminggu di mana jadwal ditetapkan (misalnya Minggu, Senin, Selasa, dll.). |
string[] |
Jenis sumber daya labs/virtualmachines dapat disebarkan dengan operasi yang menargetkan:
-
Grup sumber daya Untuk daftar properti yang diubah di setiap versi API, lihat log perubahan.
Contoh Penggunaan
Contoh dasar penyebaran Mesin Virtual dalam Lab Pengujian Pengembang.
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 = ["*"]
}
Untuk membuat sumber daya Microsoft.DevTestLab/labs/virtualmachines, tambahkan Terraform berikut ke templat Anda.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DevTestLab/labs/virtualmachines@2018-09-15"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
allowClaim = bool
artifacts = [
{
artifactId = "string"
artifactTitle = "string"
deploymentStatusMessage = "string"
installTime = "string"
parameters = [
{
name = "string"
value = "string"
}
]
status = "string"
vmExtensionStatusMessage = "string"
}
]
createdDate = "string"
customImageId = "string"
dataDiskParameters = [
{
attachNewDataDiskOptions = {
diskName = "string"
diskSizeGiB = int
diskType = "string"
}
existingLabDiskId = "string"
hostCaching = "string"
}
]
disallowPublicIpAddress = bool
environmentId = "string"
expirationDate = "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"
ownerObjectId = "string"
ownerUserPrincipalName = "string"
password = "string"
planId = "string"
scheduleParameters = [
{
name = "string"
properties = {
dailyRecurrence = {
time = "string"
}
hourlyRecurrence = {
minute = int
}
notificationSettings = {
emailRecipient = "string"
notificationLocale = "string"
status = "string"
timeInMinutes = int
webhookUrl = "string"
}
status = "string"
targetResourceId = "string"
taskType = "string"
timeZoneId = "string"
weeklyRecurrence = {
time = "string"
weekdays = [
"string"
]
}
}
tags = {
{customized property} = "string"
}
}
]
size = "string"
sshKey = "string"
storageType = "string"
userName = "string"
}
}
}
Nilai Properti
Microsoft.DevTestLab/labs/virtualmachines
| Name |
Description |
Value |
| lokasi |
Lokasi geografis tempat sumber daya berada |
string |
| name |
Nama sumber daya |
string (diperlukan) |
| parent_id |
ID sumber daya yang merupakan induk untuk sumber daya ini. |
ID untuk sumber daya jenis: lab |
| properties |
Properti sumber daya. |
LabVirtualMachineProperties (wajib) |
| tags |
Tag sumber daya |
Kamus nama dan nilai tag. |
| jenis |
Jenis sumber daya |
"Microsoft.DevTestLab/labs/virtualmachines@2018-09-15" |
ArtifactInstallProperties
| Name |
Description |
Value |
| artifactId |
Pengidentifikasi artefak. |
string |
| artifactTitle |
Judul artefak. |
string |
| deploymentStatusMessage |
Pesan status dari penyebaran. |
string |
| installTime |
Waktu artefak mulai diinstal pada komputer virtual. |
string |
| parameters |
Parameter artefak. |
ArtifactParameterProperties[] |
| status |
Status artefak. |
string |
| vmExtensionStatusMessage |
Pesan status dari ekstensi komputer virtual. |
string |
ArtifactParameterProperties
| Name |
Description |
Value |
| name |
Nama parameter artefak. |
string |
| value |
Nilai parameter artefak. |
string |
AttachNewDataDiskOptions
| Name |
Description |
Value |
| diskName |
Nama disk yang akan dilampirkan. |
string |
| diskSizeGiB |
Ukuran disk yang akan dilampirkan dalam Gibibyte. |
int |
| diskType |
Jenis penyimpanan untuk disk (yaitu Standar, Premium). |
'Premium' 'Standard' 'StandardSSD' |
DataDiskProperties
| Name |
Description |
Value |
| attachNewDataDiskOptions |
Menentukan opsi untuk melampirkan disk baru ke komputer virtual. |
AttachNewDataDiskOptions |
| existingLabDiskId |
Menentukan id disk lab yang ada untuk dilampirkan ke komputer virtual. |
string |
| hostCaching |
Opsi penembolokan untuk disk data (yaitu None, ReadOnly, ReadWrite). |
'None' 'ReadOnly' 'ReadWrite' |
DayDetails
| Name |
Description |
Value |
| time |
Waktu hari jadwal akan terjadi. |
string |
GalleryImageReference
| Name |
Description |
Value |
| offer |
Penawaran gambar galeri. |
string |
| osType |
Jenis OS gambar galeri. |
string |
| penerbit |
Penerbit gambar galeri. |
string |
| sku |
SKU gambar galeri. |
string |
| versi |
Versi gambar galeri. |
string |
HourDetails
| Name |
Description |
Value |
| minute |
Menit dalam satu jam jadwal akan berjalan. |
int |
InboundNatRule
| Name |
Description |
Value |
| backendPort |
Port tempat lalu lintas eksternal akan dialihkan. |
int |
| frontendPort |
Port titik akhir eksternal dari koneksi masuk. Kemungkinan rentang nilai antara 1 dan 65535, inklusif. Jika tidak ditentukan, nilai akan dialokasikan secara otomatis. |
int |
| transportProtocol |
Protokol transportasi untuk titik akhir. |
'Tcp' 'Udp' |
LabVirtualMachineProperties
| Name |
Description |
Value |
| allowClaim |
Menunjukkan apakah pengguna lain dapat mengambil kepemilikan komputer virtual |
bool |
| artifacts |
Artefak yang akan diinstal pada komputer virtual. |
ArtifactInstallProperties[] |
| createdDate |
Tanggal pembuatan komputer virtual. |
string |
| customImageId |
Pengidentifikasi gambar kustom komputer virtual. |
string |
| dataDiskParameters |
Disk data baru atau yang sudah ada untuk dilampirkan ke komputer virtual setelah pembuatan |
DataDiskProperties[] |
| disallowPublicIpAddress |
Menunjukkan apakah komputer virtual akan dibuat tanpa alamat IP publik. |
bool |
| environmentId |
ID sumber daya lingkungan yang berisi komputer virtual ini, jika ada. |
string |
| expirationDate |
Tanggal kedaluwarsa untuk VM. |
string |
| galleryImageReference |
Referensi gambar Microsoft Marketplace Azure dari komputer virtual. |
GalleryImageReference |
| isAuthenticationWithSshKey |
Menunjukkan apakah komputer virtual ini menggunakan kunci SSH untuk autentikasi. |
bool |
| labSubnetName |
Nama subnet lab komputer virtual. |
string |
| labVirtualNetworkId |
Pengidentifikasi jaringan virtual lab komputer virtual. |
string |
| networkInterface |
Properti antarmuka jaringan. |
NetworkInterfaceProperties |
| notes |
Catatan komputer virtual. |
string |
| ownerObjectId |
Pengidentifikasi objek pemilik komputer virtual. |
string |
| ownerUserPrincipalName |
Nama utama pengguna pemilik komputer virtual. |
string |
| kata sandi |
Kata sandi administrator komputer virtual. |
string |
| planId |
Id paket yang terkait dengan gambar komputer virtual |
string |
| scheduleParameters |
Virtual Machine menjadwalkan untuk dibuat |
ScheduleCreationParameter[] |
| size |
Ukuran komputer virtual. |
string |
| sshKey |
Kunci SSH administrator komputer virtual. |
string |
| storageType |
Jenis penyimpanan yang digunakan untuk komputer virtual (yaitu Standar, Premium). |
string |
| userName |
Nama pengguna komputer virtual. |
string |
NetworkInterfaceProperties
| Name |
Description |
Value |
| dnsName |
Nama DNS. |
string |
| privateIpAddress |
Alamat IP privat. |
string |
| publicIpAddress |
Alamat IP publik. |
string |
| publicIpAddressId |
ID sumber daya alamat IP publik. |
string |
| rdpAuthority |
Properti RdpAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk RDP (Protokol Desktop Jarak Jauh). |
string |
| sharedPublicIpAddressConfiguration |
Konfigurasi untuk berbagi alamat IP publik di beberapa komputer virtual. |
SharedPublicIpAddressConfiguration |
| sshAuthority |
Properti SshAuthority adalah nama host DNS server atau alamat IP diikuti dengan nomor port layanan untuk SSH. |
string |
| subnetId |
ID sumber daya sub net. |
string |
| virtualNetworkId |
ID sumber daya jaringan virtual. |
string |
NotificationSettings
| Name |
Description |
Value |
| emailRecipient |
Penerima email untuk mengirim pemberitahuan ke (dapat menjadi daftar alamat email yang dipisahkan titik koma). |
string |
| notificationLocale |
Lokal yang digunakan saat mengirim pemberitahuan (fallback untuk bahasa yang tidak didukung adalah EN). |
string |
| status |
Jika pemberitahuan diaktifkan untuk jadwal ini (yaitu Diaktifkan, Dinonaktifkan). |
'Disabled' 'Enabled' |
| timeInMinutes |
Waktu dalam menit sebelum peristiwa di mana pemberitahuan akan dikirim. |
int |
| webhookUrl |
URL webhook tempat pemberitahuan akan dikirim. |
string |
ScheduleCreationParameter
ScheduleCreationParameterProperties
| Name |
Description |
Value |
| dailyRecurrence |
Jika jadwal akan terjadi sekali setiap hari dalam seminggu, tentukan pengulangan harian. |
DayDetails |
| hourlyRecurrence |
Jika jadwal akan terjadi beberapa kali sehari, tentukan pengulangan per jam. |
HourDetails |
| notificationSettings |
Setelan notifikasi. |
NotificationSettings |
| status |
Status jadwal (yaitu Diaktifkan, Dinonaktifkan) |
'Disabled' 'Enabled' |
| targetResourceId |
ID sumber daya tempat jadwal berada |
string |
| taskType |
Jenis tugas jadwal (misalnya LabVmsShutdownTask, LabVmAutoStart). |
string |
| timeZoneId |
ID zona waktu (misalnya Waktu Standar Tiongkok, Waktu Standar Greenland, waktu Standar Pasifik, dll.). Nilai yang mungkin untuk properti ini dapat ditemukan di IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md) |
string |
| weeklyRecurrence |
Jika jadwal hanya akan terjadi beberapa hari dalam seminggu, tentukan pengulangan mingguan. |
WeekDetails |
SharedPublicIpAddressConfiguration
| Name |
Description |
Value |
| inboundNatRules |
Aturan NAT masuk |
InboundNatRule[] |
WeekDetails
| Name |
Description |
Value |
| time |
Waktu pada hari jadwal akan terjadi. |
string |
| weekdays |
Hari-hari dalam seminggu di mana jadwal ditetapkan (misalnya Minggu, Senin, Selasa, dll.). |
string[] |