你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Compute virtualMachines 2021-03-01
Bicep 资源定义
可以使用目标操作部署 virtualMachines 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachines 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Compute/virtualMachines@2021-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
extendedLocation: {
name: 'string'
type: 'EdgeZone'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
plan: {
name: 'string'
product: 'string'
promotionCode: 'string'
publisher: 'string'
}
properties: {
additionalCapabilities: {
ultraSSDEnabled: bool
}
availabilitySet: {
id: 'string'
}
billingProfile: {
maxPrice: json('decimal-as-string')
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: bool
storageUri: 'string'
}
}
evictionPolicy: 'string'
extensionsTimeBudget: 'string'
hardwareProfile: {
vmSize: 'string'
}
host: {
id: 'string'
}
hostGroup: {
id: 'string'
}
licenseType: 'string'
networkProfile: {
networkApiVersion: '2020-11-01'
networkInterfaceConfigurations: [
{
name: 'string'
properties: {
deleteOption: 'string'
dnsSettings: {
dnsServers: [
'string'
]
}
dscpConfiguration: {
id: 'string'
}
enableAcceleratedNetworking: bool
enableFpga: bool
enableIPForwarding: bool
ipConfigurations: [
{
name: 'string'
properties: {
applicationGatewayBackendAddressPools: [
{
id: 'string'
}
]
applicationSecurityGroups: [
{
id: 'string'
}
]
loadBalancerBackendAddressPools: [
{
id: 'string'
}
]
primary: bool
privateIPAddressVersion: 'string'
publicIPAddressConfiguration: {
name: 'string'
properties: {
deleteOption: 'string'
dnsSettings: {
domainNameLabel: 'string'
}
idleTimeoutInMinutes: int
ipTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
publicIPAddressVersion: 'string'
publicIPAllocationMethod: 'string'
publicIPPrefix: {
id: 'string'
}
}
sku: {
name: 'string'
tier: 'string'
}
}
subnet: {
id: 'string'
}
}
}
]
networkSecurityGroup: {
id: 'string'
}
primary: bool
}
}
]
networkInterfaces: [
{
id: 'string'
properties: {
deleteOption: 'string'
primary: bool
}
}
]
}
osProfile: {
adminPassword: 'string'
adminUsername: 'string'
allowExtensionOperations: bool
computerName: 'string'
customData: 'string'
linuxConfiguration: {
disablePasswordAuthentication: bool
patchSettings: {
assessmentMode: 'string'
patchMode: 'string'
}
provisionVMAgent: bool
ssh: {
publicKeys: [
{
keyData: 'string'
path: 'string'
}
]
}
}
requireGuestProvisionSignal: bool
secrets: [
{
sourceVault: {
id: 'string'
}
vaultCertificates: [
{
certificateStore: 'string'
certificateUrl: 'string'
}
]
}
]
windowsConfiguration: {
additionalUnattendContent: [
{
componentName: 'Microsoft-Windows-Shell-Setup'
content: 'string'
passName: 'OobeSystem'
settingName: 'string'
}
]
enableAutomaticUpdates: bool
patchSettings: {
assessmentMode: 'string'
enableHotpatching: bool
patchMode: 'string'
}
provisionVMAgent: bool
timeZone: 'string'
winRM: {
listeners: [
{
certificateUrl: 'string'
protocol: 'string'
}
]
}
}
}
platformFaultDomain: int
priority: 'string'
proximityPlacementGroup: {
id: 'string'
}
scheduledEventsProfile: {
terminateNotificationProfile: {
enable: bool
notBeforeTimeout: 'string'
}
}
securityProfile: {
encryptionAtHost: bool
securityType: 'TrustedLaunch'
uefiSettings: {
secureBootEnabled: bool
vTpmEnabled: bool
}
}
storageProfile: {
dataDisks: [
{
caching: 'string'
createOption: 'string'
deleteOption: 'string'
detachOption: 'ForceDetach'
diskSizeGB: int
image: {
uri: 'string'
}
lun: int
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
id: 'string'
storageAccountType: 'string'
}
name: 'string'
toBeDetached: bool
vhd: {
uri: 'string'
}
writeAcceleratorEnabled: bool
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
osDisk: {
caching: 'string'
createOption: 'string'
deleteOption: 'string'
diffDiskSettings: {
option: 'Local'
placement: 'string'
}
diskSizeGB: int
encryptionSettings: {
diskEncryptionKey: {
secretUrl: 'string'
sourceVault: {
id: 'string'
}
}
enabled: bool
keyEncryptionKey: {
keyUrl: 'string'
sourceVault: {
id: 'string'
}
}
}
image: {
uri: 'string'
}
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
id: 'string'
storageAccountType: 'string'
}
name: 'string'
osType: 'string'
vhd: {
uri: 'string'
}
writeAcceleratorEnabled: bool
}
}
userData: 'string'
virtualMachineScaleSet: {
id: 'string'
}
}
zones: [
'string' or int
]
}
属性值
virtualMachines
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? Windows VM 不能包含句点或以连字符结尾。 Linux VM 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 虚拟机的标识(如果已配置)。 | VirtualMachineIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机的属性。 | VirtualMachineProperties |
区 | 虚拟机区域。 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned” |
userAssignedIdentities | 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | VirtualMachineIdentityUserAssignedIdentities |
VirtualMachineIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机上启用或禁用的其他功能。 | AdditionalCapabilities |
availabilitySet | 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure 中虚拟机的 目前,只能在创建时将 VM 添加到可用性集。 要向其添加 VM 的可用性集应与可用性集资源位于同一资源组下。 无法将现有 VM 添加到可用性集。 此属性不能与非 null properties.virtualMachineScaleSet 引用一起存在。 |
SubResource |
billingProfile | 指定 Azure 现成虚拟机的计费相关详细信息。 最低 API 版本:2019-03-01。 |
BillingProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 |
DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 |
“Deallocate” “Delete” |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01 |
字符串 |
hardwareProfile | 指定虚拟机的硬件设置。 | HardwareProfile |
主机 | 指定虚拟机所在的专用主机的相关信息。 最低 API 版本:2018-10-01。 |
SubResource |
hostGroup | 指定有关虚拟机所在的专用主机组的信息。 最低 API 版本:2020-06-01。 注意:用户不能同时指定主机和 hostGroup 属性。 |
SubResource |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定虚拟机的网络接口。 | NetworkProfile |
osProfile | 指定创建虚拟机时使用的操作系统设置。 预配 VM 后,无法更改某些设置。 | OSProfile |
platformFaultDomain | 指定要在其中创建虚拟机的规模集逻辑容错域。 默认情况下,虚拟机将自动分配给容错域,该容错域最适合跨可用容错域保持平衡。 {li}仅当设置了此虚拟机的“virtualMachineScaleSet”属性时,这才适用。{li}引用的虚拟机规模集必须具有“platformFaultDomainCount”> 1。{li}创建虚拟机后,无法更新此属性。{li}可以在虚拟机实例视图中查看容错域分配。 最低 api 版本:2020-12?01 |
int |
优先权 | 指定虚拟机的优先级。 最低 API 版本:2019-03-01 |
“Low” “Regular” “Spot” |
proximityPlacementGroup | 指定应将虚拟机分配到的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 |
SubResource |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityProfile | 指定虚拟机的安全相关配置文件设置。 | SecurityProfile |
storageProfile | 指定虚拟机磁盘的存储设置。 | StorageProfile |
userData | VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 |
字符串 |
virtualMachineScaleSet | 指定应向其分配虚拟机规模集的信息。 在同一虚拟机规模集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 目前,只能在创建时将 VM 添加到虚拟机规模集。 无法将现有 VM 添加到虚拟机规模集。 此属性不能与非 null properties.availabilitySet 引用一起存在。 最低 api-version: 2019-03?01 |
SubResource |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果默认的最大价格不是由你提供,则为 -1。 最低 API 版本:2019-03-01。 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
HardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSize | 指定虚拟机的大小。 枚举数据类型当前已弃用,将于 2023 年 12 月 23 日删除。 获取可用大小列表的建议方法是使用以下 API: 列出可用性集中的所有可用虚拟机大小 列出区域中所有可用的虚拟机大小 列出用于调整大小的所有可用虚拟机大小。 有关虚拟机大小的详细信息,请参阅虚拟机 可用的 VM 大小取决于区域和可用性集。 |
“Basic_A0” “Basic_A1” “Basic_A2” “Basic_A3” “Basic_A4” “Standard_A0” “Standard_A1” “Standard_A10” “Standard_A11” “Standard_A1_v2” “Standard_A2” “Standard_A2_v2” “Standard_A2m_v2” “Standard_A3” “Standard_A4” “Standard_A4_v2” “Standard_A4m_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8_v2” “Standard_A8m_v2” “Standard_A9” “Standard_B1ms” “Standard_B1s” “Standard_B2ms” “Standard_B2s” “Standard_B4ms” “Standard_B8ms” “Standard_D1” “Standard_D11” “Standard_D11_v2” “Standard_D12” “Standard_D12_v2” “Standard_D13” “Standard_D13_v2” “Standard_D14” “Standard_D14_v2” “Standard_D15_v2” “Standard_D16_v3” “Standard_D16s_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2_v2” “Standard_D2_v3” “Standard_D2s_v3” “Standard_D3” “Standard_D32_v3” “Standard_D32s_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4_v2” “Standard_D4_v3” “Standard_D4s_v3” “Standard_D5_v2” “Standard_D64_v3” “Standard_D64s_v3” “Standard_D8_v3” “Standard_D8s_v3” “Standard_DS1” “Standard_DS11” “Standard_DS11_v2” “Standard_DS12” “Standard_DS12_v2” “Standard_DS13” “Standard_DS13-2_v2” “Standard_DS13-4_v2” “Standard_DS13_v2” “Standard_DS14” “Standard_DS14-4_v2” “Standard_DS14-8_v2” “Standard_DS14_v2” “Standard_DS15_v2” “Standard_DS1_v2” “Standard_DS2” “Standard_DS2_v2” “Standard_DS3” “Standard_DS3_v2” “Standard_DS4” “Standard_DS4_v2” “Standard_DS5_v2” “Standard_E16_v3” “Standard_E16s_v3” “Standard_E2_v3” “Standard_E2s_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32_v3” “Standard_E32s_v3” “Standard_E4_v3” “Standard_E4s_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64_v3” “Standard_E64s_v3” “Standard_E8_v3” “Standard_E8s_v3” “Standard_F1” “Standard_F16” “Standard_F16s” “Standard_F16s_v2” “Standard_F1s” “Standard_F2” “Standard_F2s” “Standard_F2s_v2” “Standard_F32s_v2” “Standard_F4” “Standard_F4s” “Standard_F4s_v2” “Standard_F64s_v2” “Standard_F72s_v2” “Standard_F8” “Standard_F8s” “Standard_F8s_v2” “Standard_G1” “Standard_G2” “Standard_G3” “Standard_G4” “Standard_G5” “Standard_GS1” “Standard_GS2” “Standard_GS3” “Standard_GS4” “Standard_GS4-4” “Standard_GS4-8” “Standard_GS5” “Standard_GS5-16” “Standard_GS5-8” “Standard_H16” “Standard_H16m” “Standard_H16mr” “Standard_H16r” “Standard_H8” “Standard_H8m” “Standard_L16s” “Standard_L32s” “Standard_L4s” “Standard_L8s” “Standard_M128-32ms” “Standard_M128-64ms” “Standard_M128ms” “Standard_M128s” “Standard_M64-16ms” “Standard_M64-32ms” “Standard_M64ms” “Standard_M64s” “Standard_NC12” “Standard_NC12s_v2” “Standard_NC12s_v3” “Standard_NC24” “Standard_NC24r” “Standard_NC24rs_v2” “Standard_NC24rs_v3” “Standard_NC24s_v2” “Standard_NC24s_v3” “Standard_NC6” “Standard_NC6s_v2” “Standard_NC6s_v3” “Standard_ND12s” “Standard_ND24rs” “Standard_ND24s” “Standard_ND6s” “Standard_NV12” “Standard_NV24” “Standard_NV6” |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkApiVersion | 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | '2020-11-01' |
networkInterfaceConfigurations | 指定将用于创建虚拟机网络资源的网络配置。 | VirtualMachineNetworkInterfaceConfiguration[] |
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
VirtualMachineNetworkInterfaceConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络接口配置名称。 | string (必需) |
性能 | 描述虚拟机网络配置文件的 IP 配置。 | VirtualMachineNetworkInterfaceConfigurationPropertie... |
VirtualMachineNetworkInterfaceConfigurationPropertie...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineNetworkInterfaceDnsSettingsConfigurati... |
dscpConfiguration | SubResource | |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineNetworkInterfaceIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineNetworkInterfaceDnsSettingsConfigurati...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineNetworkInterfaceIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机网络接口 IP 配置属性。 | VirtualMachineNetworkInterfaceIPConfigurationPropert... |
VirtualMachineNetworkInterfaceIPConfigurationPropert...
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 虚拟机可以引用多个应用程序网关的后端地址池。 多个虚拟机不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 虚拟机可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 [多个虚拟机不能使用相同的基本 SKU 负载均衡器]。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachinePublicIPAddressConfiguration |
子 | 指定子网的标识符。 | SubResource |
VirtualMachinePublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机 IP 配置的公共 IPAddress 配置 | VirtualMachinePublicIPAddressConfigurationProperties |
sku | 描述公共 IP Sku | PublicIPAddressSku |
VirtualMachinePublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 地址发生的情况 | “Delete” “Detach” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachinePublicIPAddressDnsSettingsConfiguratio... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAllocationMethod | 指定公共 IP 分配类型 | “Dynamic” “Static” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachinePublicIPAddressDnsSettingsConfiguratio...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 将创建的 PublicIPAddress 资源的域名标签前缀。 生成的名称标签是域名标签和 vm 网络配置文件唯一 ID 的串联。 | string (必需) |
VirtualMachineIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
OSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 创建 VM 后,无法更新此属性。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值: “administrator”、“admin”、“user1”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符。 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 |
字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 |
bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 |
字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到unattend.xml文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值: 删除 如果使用此值,则删除 VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 分离 |
“Delete” “Detach” |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值: 删除 如果使用此值,则会在删除 VM 时删除 OS 磁盘。 分离 如果使用此值,则在删除 VM 后将保留 os 磁盘。 默认值设置为 分离。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “Detach” |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
部署简单的 Linux VM 并将专用 IP 更新为静态 |
通过此模板,可以从市场使用 Ubuntu 部署简单的 Linux VM。 这会在资源组位置部署 VNET、子网和 A1 大小的 VM,该 VM 具有动态分配的 IP 地址,然后将其转换为静态 IP。 |
使用资源循环在可用性集中创建 VM |
使用资源循环在可用性集中创建 2-5 个 VM。 VM 可以是 Unbuntu 或 Windows,最多包含 5 个 VM,因为此示例使用单个 storageAccount |
使用托管磁盘 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在单个可用性集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
在 Windows VM 上安装文件 |
使用此模板可以部署 Windows VM 并运行自定义 PowerShell 脚本,以在该 VM 上安装文件。 |
使用自定义数据部署虚拟机 |
此模板允许创建一个虚拟机,其中包含传递到 VM 的自定义数据。 此模板还部署存储帐户、虚拟网络、公共 IP 地址和网络接口。 |
使用诊断 部署高级 Windows VM |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署高级 Windows VM。 |
在不同资源组的 VNET 中创建 VM |
此模板在 VNET 中创建位于不同资源组中的 VM |
将 VM 加入现有域 |
此模板演示在云中加入专用 AD 域。 |
创建具有动态选择的数据磁盘的 VM |
此模板允许用户选择要添加到 VM 的数据磁盘数。 |
从 EfficientIP VHD 创建 VM |
此模板从 EfficientIP VHD 创建 VM,并允许将其连接到可以驻留在另一个资源组中的现有 VNET,然后连接到虚拟机 |
从用户映像 创建 VM |
使用此模板,可以从用户映像创建虚拟机。 此模板还部署虚拟网络、公共 IP 地址和网络接口。 |
从通用 VHD 在新的或现有 vnet 中创建 VM |
此模板从通用 VHD 创建一个 VM,并使你能够将其连接到可以驻留在另一个资源组中的新 VNET 或现有 VNET,而不是虚拟机 |
CentOS/UbuntuServer 自动动态磁盘 & Docker 1.12(cs) |
这是用于创建单个实例 CentOS 7.2/7.1/6.5 或 Ubuntu Server 16.04.0-LTS 的常见模板,其中包含可配置的数据磁盘数(可配置大小)。 门户参数中可以提及最多 16 个磁盘,每个磁盘的最大大小应小于 1023 GB。 MDADM RAID0 阵列是自动装载的,在重启后幸存下来。 最新的 Docker 1.12(cs3) (Swarm), docker-compose 1.9.0 & docker-machine 0.8.2 可用于从用户 azure-cli 自动作为 docker 容器运行。 此单实例模板是 HPC/GPU 群集模板 @ https://github.com/azurebigcompute/BigComputeBench |
GitLab Omnibus |
此模板简化了使用公共 DNS 在虚拟机上部署 GitLab Omnibus,并利用公共 IP 的 DNS。 它利用Standard_F8s_v2实例大小,该大小与参考体系结构保持一致,支持多达 1000 个用户(20 RPS)。 该实例已预先配置为将 HTTPS 与 Let's Encrypt 证书配合使用,以便进行安全连接。 |
使用串行输出 |
此模板创建一个简单的 Linux VM,其中包含最少的参数和配置为输出到存储的串行/控制台 |
部署具有监视和诊断 的简单 Windows VM |
使用此模板可以部署简单的 Windows VM 以及诊断扩展,以便为 VM 启用监视和诊断 |
使用 MSI 部署 Linux 或 Windows VM |
使用此模板,可以使用托管服务标识部署 Linux 或 Windows VM。 |
在 Azure 上 |
此模板允许将 Terraform 工作站部署为具有 MSI 的 Linux VM。 |
使用 MSI 访问存储 |
此模板部署具有系统分配的托管标识的 Linux VM,该标识有权访问其他资源组中的存储帐户。 |
使用 4 个空数据磁盘的 Windows 映像创建 VM |
使用此模板,可以从指定的映像创建 Windows 虚拟机。 它还附加 4 个空数据磁盘。 请注意,可以指定空数据磁盘的大小。 |
部署具有多个 IP 的 VM |
此模板允许部署具有 3 个 IP 配置的 VM。 此模板将部署名为 myVM1 的 Linux/Windows VM,其中包含 3 个 IP 配置:IPConfig-1、IPConfig-2 和 IPConfig-3。 |
部署具有多个 NIC 的 Linux VM (Ubuntu), |
此模板创建包含多个子网的 VNet,并部署具有多个 NIC 的 Ubuntu VM |
使用条件资源 |
此模板允许使用虚拟网络、存储和公共 IP 地址的新资源或现有资源部署 Linux VM。 它还允许在 SSH 和密码身份验证之间进行选择。 模板使用条件和逻辑函数来消除对嵌套部署的需求。 |
从现有 VHD 创建 VM 并将其连接到现有 VNET |
此模板从 VHD(OS + 数据磁盘)创建 VM,并让你将其连接到可以驻留在另一个资源组中的现有 VNET,然后虚拟机 |
将证书推送到 Windows VM |
将证书推送到 Windows VM。 使用模板在 https://azure.microsoft.com/documentation/templates/101-create-key-vault 创建 Key Vault |
使用 Key Vault |
此模板允许通过检索存储在 Key Vault 中的密码来部署简单的 Windows VM。 因此,密码永远不会在模板参数文件中以纯文本形式输入 |
在资源组位置部署简单的 FreeBSD VM |
通过此模板,可以使用几个不同选项(使用最新修补的版本)部署简单的 FreeBSD VM。 这将部署在 D1 VM 大小的资源组位置。 |
部署简单的 Ubuntu Linux VM 20.04-LTS |
此模板部署一个 Ubuntu Server,其中包含一些 VM 选项。 可以提供 VM 名称、OS 版本、VM 大小以及管理员用户名和密码。 默认情况下,VM 大小为Standard_D2s_v3,OS 版本为 20.04-LTS。 |
使用加速网络 部署简单的 Linux VM |
使用此模板,可以使用具有最新修补版本的 Ubuntu 版本 18.04-LTS 部署具有加速网络的简单 Linux VM。 这会在资源组位置部署D3_v2大小的 VM,并返回 VM 的 FQDN。 |
Red Hat Enterprise Linux VM (RHEL 7.8) |
此模板将使用标准 D1 VM 上所选版本的You-Go Red Hat Enterprise Linux VM(RHEL 7.8)部署 Red Hat Enterprise Linux VM(RHEL 7.8),并在所选资源组的位置附加附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
Red Hat Enterprise Linux VM (RHEL 7.8 非托管) |
此模板将使用“即用即付”RHEL VM 映像(RHEL 7.8)为所选版本的标准You-Go A1_v2 VM 部署 Red Hat Enterprise Linux VM(RHEL 7.8),该映像位于所选资源组的位置,并附加了附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
SUSE Linux Enterprise Server VM (SLES 12) |
通过此模板,可以使用标准 D1 VM 上所选版本的 SLES VM 映像在所选资源组的位置部署 SUSE Linux Enterprise Server VM(SLES 1You-Go 2),并附加附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
部署简单的 Windows VM |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署简单的 Windows VM。 这会在资源组位置部署 A2 大小的 VM,并返回 VM 的 FQDN。 |
使用 Visual Studio 部署 Windows Server VM |
此模板使用 Visual Code Studio Community 2019 部署 Windows Server VM,并提供了一些 VM 选项。 可以提供 VM 的名称、管理员用户名和密码。 |
将 VM 部署到可用性区域 |
使用此模板,可以使用最新的修补版本部署简单的 VM(Windows 或 Ubuntu)。 这将在指定的位置部署A2_v2大小的 VM,并返回 VM 的 FQDN。 |
从自定义 VHD 在新的或现有 vnet 中创建 VM |
此模板从专用 VHD 创建一个 VM,并使你能够将其连接到一个新的或现有的 VNET,该 VNET 可以驻留在另一个资源组中,而不是虚拟机 |
使用自动备份 |
此模板将创建启用了自动备份功能的 SQL Server 2014 SP2 Enterprise 版本 |
使用自动修补 |
此模板将创建启用了自动修补功能的 SQL Server 2014 SP1 Enterprise 版本。 |
使用 Azure Key Vault |
此模板将创建启用了 Azure Key Vault 集成功能的 SQL Server 2014 SP1 Enterprise 版本。 |
使用 SSH rsa 公钥部署虚拟机 |
使用此模板,可以使用 SSH rsa 公钥创建虚拟机 |
部署带有标记的简单 Windows VM |
此模板将部署D2_v3 Windows VM、NIC、存储帐户、虚拟网络、公共 IP 地址和网络安全组。 标记对象在变量中创建,并将应用于所有资源(如果适用)。 |
部署支持受信任的启动的 Linux 虚拟机 |
使用此模板,可以使用 Linux 版本的几个不同选项(使用最新的修补版本)部署支持受信任的启动的 Linux 虚拟机。 如果启用 Secureboot 和 vTPM,则会在 VM 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 默认情况下,这将在资源组位置部署Standard_D2_v3大小的虚拟机,并返回虚拟机的 FQDN。 |
部署支持受信任启动的 Windows 虚拟机 |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署支持受信任的启动的 Windows 虚拟机。 如果启用 Secureboot 和 vTPM,则会在 VM 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 默认情况下,这将在资源组位置部署Standard_D2_v3大小的虚拟机,并返回虚拟机的 FQDN。 |
使用用户数据 部署虚拟机 |
使用此模板可以创建一个虚拟机,其中用户数据传递到 VM。 此模板还部署虚拟网络、公共 IP 地址和网络接口。 |
使用 Windows Admin Center 扩展部署 Windows VM |
使用此模板,可以使用 Windows Admin Center 扩展部署 Windows VM,以便直接从 Azure 门户管理 VM。 |
使用 Azure 安全基线 |
该模板使用公共 IP 地址在新虚拟网络中创建运行 Windows Server 的虚拟机。 部署计算机后,将安装来宾配置扩展,并应用 Windows Server 的 Azure 安全基线。 如果计算机配置偏移,可以通过再次部署模板来重新应用设置。 |
部署具有可变数据磁盘数的 Windows VM |
使用此模板可以部署简单的 VM,并使用参数在部署时指定数据磁盘数。 请注意,数据磁盘的数量和大小受 VM 大小的约束。 此示例的 VM 大小Standard_DS4_v2默认为 16 个数据磁盘。 |
使用 SSH |
部署启用了开放 SSH 的单个 Windows VM,以便可以使用基于密钥的身份验证通过 SSH 进行连接。 |
创建数据管理网关并在 Azure VM 上安装 |
此模板部署虚拟机并创建可行的数据管理网关 |
使用 RDP 端口 |
创建虚拟机,并为负载均衡器中的 VM 创建 RDP 的 NAT 规则 |
创建具有多个空StandardSSD_LRS数据磁盘的 VM |
使用此模板,可以从指定的映像创建 Windows 虚拟机。 默认情况下,它还附加多个空的 StandardSSD 数据磁盘。 请注意,可以指定空数据磁盘的大小和存储类型(Standard_LRS、StandardSSD_LRS和Premium_LRS)。 |
Azure VM 上的自承载集成运行时 |
此模板创建自承载集成运行时并在 Azure 虚拟机上注册它 |
将多个 VM 添加到虚拟机规模集 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在灵活业务流程模式下在虚拟机规模集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
在 ILB 后面部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.10 或 14.04.4-LTS 部署 VM 规模集。 这些 VM 位于内部负载均衡器后面,其中包含 SSH 连接的 NAT 规则。 |
ARM 模板资源定义
可以使用目标操作部署 virtualMachines 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachines 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2021-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"extendedLocation": {
"name": "string",
"type": "EdgeZone"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"plan": {
"name": "string",
"product": "string",
"promotionCode": "string",
"publisher": "string"
},
"properties": {
"additionalCapabilities": {
"ultraSSDEnabled": "bool"
},
"availabilitySet": {
"id": "string"
},
"billingProfile": {
"maxPrice": "[json('decimal-as-string')]"
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "bool",
"storageUri": "string"
}
},
"evictionPolicy": "string",
"extensionsTimeBudget": "string",
"hardwareProfile": {
"vmSize": "string"
},
"host": {
"id": "string"
},
"hostGroup": {
"id": "string"
},
"licenseType": "string",
"networkProfile": {
"networkApiVersion": "2020-11-01",
"networkInterfaceConfigurations": [
{
"name": "string",
"properties": {
"deleteOption": "string",
"dnsSettings": {
"dnsServers": [ "string" ]
},
"dscpConfiguration": {
"id": "string"
},
"enableAcceleratedNetworking": "bool",
"enableFpga": "bool",
"enableIPForwarding": "bool",
"ipConfigurations": [
{
"name": "string",
"properties": {
"applicationGatewayBackendAddressPools": [
{
"id": "string"
}
],
"applicationSecurityGroups": [
{
"id": "string"
}
],
"loadBalancerBackendAddressPools": [
{
"id": "string"
}
],
"primary": "bool",
"privateIPAddressVersion": "string",
"publicIPAddressConfiguration": {
"name": "string",
"properties": {
"deleteOption": "string",
"dnsSettings": {
"domainNameLabel": "string"
},
"idleTimeoutInMinutes": "int",
"ipTags": [
{
"ipTagType": "string",
"tag": "string"
}
],
"publicIPAddressVersion": "string",
"publicIPAllocationMethod": "string",
"publicIPPrefix": {
"id": "string"
}
},
"sku": {
"name": "string",
"tier": "string"
}
},
"subnet": {
"id": "string"
}
}
}
],
"networkSecurityGroup": {
"id": "string"
},
"primary": "bool"
}
}
],
"networkInterfaces": [
{
"id": "string",
"properties": {
"deleteOption": "string",
"primary": "bool"
}
}
]
},
"osProfile": {
"adminPassword": "string",
"adminUsername": "string",
"allowExtensionOperations": "bool",
"computerName": "string",
"customData": "string",
"linuxConfiguration": {
"disablePasswordAuthentication": "bool",
"patchSettings": {
"assessmentMode": "string",
"patchMode": "string"
},
"provisionVMAgent": "bool",
"ssh": {
"publicKeys": [
{
"keyData": "string",
"path": "string"
}
]
}
},
"requireGuestProvisionSignal": "bool",
"secrets": [
{
"sourceVault": {
"id": "string"
},
"vaultCertificates": [
{
"certificateStore": "string",
"certificateUrl": "string"
}
]
}
],
"windowsConfiguration": {
"additionalUnattendContent": [
{
"componentName": "Microsoft-Windows-Shell-Setup",
"content": "string",
"passName": "OobeSystem",
"settingName": "string"
}
],
"enableAutomaticUpdates": "bool",
"patchSettings": {
"assessmentMode": "string",
"enableHotpatching": "bool",
"patchMode": "string"
},
"provisionVMAgent": "bool",
"timeZone": "string",
"winRM": {
"listeners": [
{
"certificateUrl": "string",
"protocol": "string"
}
]
}
}
},
"platformFaultDomain": "int",
"priority": "string",
"proximityPlacementGroup": {
"id": "string"
},
"scheduledEventsProfile": {
"terminateNotificationProfile": {
"enable": "bool",
"notBeforeTimeout": "string"
}
},
"securityProfile": {
"encryptionAtHost": "bool",
"securityType": "TrustedLaunch",
"uefiSettings": {
"secureBootEnabled": "bool",
"vTpmEnabled": "bool"
}
},
"storageProfile": {
"dataDisks": [
{
"caching": "string",
"createOption": "string",
"deleteOption": "string",
"detachOption": "ForceDetach",
"diskSizeGB": "int",
"image": {
"uri": "string"
},
"lun": "int",
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"id": "string",
"storageAccountType": "string"
},
"name": "string",
"toBeDetached": "bool",
"vhd": {
"uri": "string"
},
"writeAcceleratorEnabled": "bool"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"osDisk": {
"caching": "string",
"createOption": "string",
"deleteOption": "string",
"diffDiskSettings": {
"option": "Local",
"placement": "string"
},
"diskSizeGB": "int",
"encryptionSettings": {
"diskEncryptionKey": {
"secretUrl": "string",
"sourceVault": {
"id": "string"
}
},
"enabled": "bool",
"keyEncryptionKey": {
"keyUrl": "string",
"sourceVault": {
"id": "string"
}
}
},
"image": {
"uri": "string"
},
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"id": "string",
"storageAccountType": "string"
},
"name": "string",
"osType": "string",
"vhd": {
"uri": "string"
},
"writeAcceleratorEnabled": "bool"
}
},
"userData": "string",
"virtualMachineScaleSet": {
"id": "string"
}
},
"zones": [ "string" or int ]
}
属性值
virtualMachines
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Compute/virtualMachines” |
apiVersion | 资源 API 版本 | '2021-03-01' |
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? Windows VM 不能包含句点或以连字符结尾。 Linux VM 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 虚拟机的标识(如果已配置)。 | VirtualMachineIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机的属性。 | VirtualMachineProperties |
区 | 虚拟机区域。 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned” |
userAssignedIdentities | 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | VirtualMachineIdentityUserAssignedIdentities |
VirtualMachineIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机上启用或禁用的其他功能。 | AdditionalCapabilities |
availabilitySet | 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure 中虚拟机的 目前,只能在创建时将 VM 添加到可用性集。 要向其添加 VM 的可用性集应与可用性集资源位于同一资源组下。 无法将现有 VM 添加到可用性集。 此属性不能与非 null properties.virtualMachineScaleSet 引用一起存在。 |
SubResource |
billingProfile | 指定 Azure 现成虚拟机的计费相关详细信息。 最低 API 版本:2019-03-01。 |
BillingProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 |
DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 |
“Deallocate” “Delete” |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01 |
字符串 |
hardwareProfile | 指定虚拟机的硬件设置。 | HardwareProfile |
主机 | 指定虚拟机所在的专用主机的相关信息。 最低 API 版本:2018-10-01。 |
SubResource |
hostGroup | 指定有关虚拟机所在的专用主机组的信息。 最低 API 版本:2020-06-01。 注意:用户不能同时指定主机和 hostGroup 属性。 |
SubResource |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定虚拟机的网络接口。 | NetworkProfile |
osProfile | 指定创建虚拟机时使用的操作系统设置。 预配 VM 后,无法更改某些设置。 | OSProfile |
platformFaultDomain | 指定要在其中创建虚拟机的规模集逻辑容错域。 默认情况下,虚拟机将自动分配给容错域,该容错域最适合跨可用容错域保持平衡。 {li}仅当设置了此虚拟机的“virtualMachineScaleSet”属性时,这才适用。{li}引用的虚拟机规模集必须具有“platformFaultDomainCount”> 1。{li}创建虚拟机后,无法更新此属性。{li}可以在虚拟机实例视图中查看容错域分配。 最低 api 版本:2020-12?01 |
int |
优先权 | 指定虚拟机的优先级。 最低 API 版本:2019-03-01 |
“Low” “Regular” “Spot” |
proximityPlacementGroup | 指定应将虚拟机分配到的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 |
SubResource |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityProfile | 指定虚拟机的安全相关配置文件设置。 | SecurityProfile |
storageProfile | 指定虚拟机磁盘的存储设置。 | StorageProfile |
userData | VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 |
字符串 |
virtualMachineScaleSet | 指定应向其分配虚拟机规模集的信息。 在同一虚拟机规模集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 目前,只能在创建时将 VM 添加到虚拟机规模集。 无法将现有 VM 添加到虚拟机规模集。 此属性不能与非 null properties.availabilitySet 引用一起存在。 最低 api-version: 2019-03?01 |
SubResource |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果默认的最大价格不是由你提供,则为 -1。 最低 API 版本:2019-03-01。 若要指定十进制值,请使用 json() 函数。 |
int 或 json decimal |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
HardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSize | 指定虚拟机的大小。 枚举数据类型当前已弃用,将于 2023 年 12 月 23 日删除。 获取可用大小列表的建议方法是使用以下 API: 列出可用性集中的所有可用虚拟机大小 列出区域中所有可用的虚拟机大小 列出用于调整大小的所有可用虚拟机大小。 有关虚拟机大小的详细信息,请参阅虚拟机 可用的 VM 大小取决于区域和可用性集。 |
“Basic_A0” “Basic_A1” “Basic_A2” “Basic_A3” “Basic_A4” “Standard_A0” “Standard_A1” “Standard_A10” “Standard_A11” “Standard_A1_v2” “Standard_A2” “Standard_A2_v2” “Standard_A2m_v2” “Standard_A3” “Standard_A4” “Standard_A4_v2” “Standard_A4m_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8_v2” “Standard_A8m_v2” “Standard_A9” “Standard_B1ms” “Standard_B1s” “Standard_B2ms” “Standard_B2s” “Standard_B4ms” “Standard_B8ms” “Standard_D1” “Standard_D11” “Standard_D11_v2” “Standard_D12” “Standard_D12_v2” “Standard_D13” “Standard_D13_v2” “Standard_D14” “Standard_D14_v2” “Standard_D15_v2” “Standard_D16_v3” “Standard_D16s_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2_v2” “Standard_D2_v3” “Standard_D2s_v3” “Standard_D3” “Standard_D32_v3” “Standard_D32s_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4_v2” “Standard_D4_v3” “Standard_D4s_v3” “Standard_D5_v2” “Standard_D64_v3” “Standard_D64s_v3” “Standard_D8_v3” “Standard_D8s_v3” “Standard_DS1” “Standard_DS11” “Standard_DS11_v2” “Standard_DS12” “Standard_DS12_v2” “Standard_DS13” “Standard_DS13-2_v2” “Standard_DS13-4_v2” “Standard_DS13_v2” “Standard_DS14” “Standard_DS14-4_v2” “Standard_DS14-8_v2” “Standard_DS14_v2” “Standard_DS15_v2” “Standard_DS1_v2” “Standard_DS2” “Standard_DS2_v2” “Standard_DS3” “Standard_DS3_v2” “Standard_DS4” “Standard_DS4_v2” “Standard_DS5_v2” “Standard_E16_v3” “Standard_E16s_v3” “Standard_E2_v3” “Standard_E2s_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32_v3” “Standard_E32s_v3” “Standard_E4_v3” “Standard_E4s_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64_v3” “Standard_E64s_v3” “Standard_E8_v3” “Standard_E8s_v3” “Standard_F1” “Standard_F16” “Standard_F16s” “Standard_F16s_v2” “Standard_F1s” “Standard_F2” “Standard_F2s” “Standard_F2s_v2” “Standard_F32s_v2” “Standard_F4” “Standard_F4s” “Standard_F4s_v2” “Standard_F64s_v2” “Standard_F72s_v2” “Standard_F8” “Standard_F8s” “Standard_F8s_v2” “Standard_G1” “Standard_G2” “Standard_G3” “Standard_G4” “Standard_G5” “Standard_GS1” “Standard_GS2” “Standard_GS3” “Standard_GS4” “Standard_GS4-4” “Standard_GS4-8” “Standard_GS5” “Standard_GS5-16” “Standard_GS5-8” “Standard_H16” “Standard_H16m” “Standard_H16mr” “Standard_H16r” “Standard_H8” “Standard_H8m” “Standard_L16s” “Standard_L32s” “Standard_L4s” “Standard_L8s” “Standard_M128-32ms” “Standard_M128-64ms” “Standard_M128ms” “Standard_M128s” “Standard_M64-16ms” “Standard_M64-32ms” “Standard_M64ms” “Standard_M64s” “Standard_NC12” “Standard_NC12s_v2” “Standard_NC12s_v3” “Standard_NC24” “Standard_NC24r” “Standard_NC24rs_v2” “Standard_NC24rs_v3” “Standard_NC24s_v2” “Standard_NC24s_v3” “Standard_NC6” “Standard_NC6s_v2” “Standard_NC6s_v3” “Standard_ND12s” “Standard_ND24rs” “Standard_ND24s” “Standard_ND6s” “Standard_NV12” “Standard_NV24” “Standard_NV6” |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkApiVersion | 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | '2020-11-01' |
networkInterfaceConfigurations | 指定将用于创建虚拟机网络资源的网络配置。 | VirtualMachineNetworkInterfaceConfiguration[] |
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
VirtualMachineNetworkInterfaceConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络接口配置名称。 | string (必需) |
性能 | 描述虚拟机网络配置文件的 IP 配置。 | VirtualMachineNetworkInterfaceConfigurationPropertie... |
VirtualMachineNetworkInterfaceConfigurationPropertie...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineNetworkInterfaceDnsSettingsConfigurati... |
dscpConfiguration | SubResource | |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineNetworkInterfaceIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineNetworkInterfaceDnsSettingsConfigurati...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineNetworkInterfaceIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机网络接口 IP 配置属性。 | VirtualMachineNetworkInterfaceIPConfigurationPropert... |
VirtualMachineNetworkInterfaceIPConfigurationPropert...
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 虚拟机可以引用多个应用程序网关的后端地址池。 多个虚拟机不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 虚拟机可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 [多个虚拟机不能使用相同的基本 SKU 负载均衡器]。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachinePublicIPAddressConfiguration |
子 | 指定子网的标识符。 | SubResource |
VirtualMachinePublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机 IP 配置的公共 IPAddress 配置 | VirtualMachinePublicIPAddressConfigurationProperties |
sku | 描述公共 IP Sku | PublicIPAddressSku |
VirtualMachinePublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 地址发生的情况 | “Delete” “Detach” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachinePublicIPAddressDnsSettingsConfiguratio... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAllocationMethod | 指定公共 IP 分配类型 | “Dynamic” “Static” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachinePublicIPAddressDnsSettingsConfiguratio...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 将创建的 PublicIPAddress 资源的域名标签前缀。 生成的名称标签是域名标签和 vm 网络配置文件唯一 ID 的串联。 | string (必需) |
VirtualMachineIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “Detach” |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
OSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 创建 VM 后,无法更新此属性。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值: “administrator”、“admin”、“user1”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符。 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 |
字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 |
bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 |
字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到unattend.xml文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值: 删除 如果使用此值,则删除 VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 分离 |
“Delete” “Detach” |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值: 删除 如果使用此值,则会在删除 VM 时删除 OS 磁盘。 分离 如果使用此值,则在删除 VM 后将保留 os 磁盘。 默认值设置为 分离。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “Detach” |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
部署简单的 Linux VM 并将专用 IP 更新为静态 |
通过此模板,可以从市场使用 Ubuntu 部署简单的 Linux VM。 这会在资源组位置部署 VNET、子网和 A1 大小的 VM,该 VM 具有动态分配的 IP 地址,然后将其转换为静态 IP。 |
使用资源循环在可用性集中创建 VM |
使用资源循环在可用性集中创建 2-5 个 VM。 VM 可以是 Unbuntu 或 Windows,最多包含 5 个 VM,因为此示例使用单个 storageAccount |
使用托管磁盘 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在单个可用性集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
在 Windows VM 上安装文件 |
使用此模板可以部署 Windows VM 并运行自定义 PowerShell 脚本,以在该 VM 上安装文件。 |
使用自定义数据部署虚拟机 |
此模板允许创建一个虚拟机,其中包含传递到 VM 的自定义数据。 此模板还部署存储帐户、虚拟网络、公共 IP 地址和网络接口。 |
使用诊断 部署高级 Windows VM |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署高级 Windows VM。 |
在不同资源组的 VNET 中创建 VM |
此模板在 VNET 中创建位于不同资源组中的 VM |
将 VM 加入现有域 |
此模板演示在云中加入专用 AD 域。 |
创建具有动态选择的数据磁盘的 VM |
此模板允许用户选择要添加到 VM 的数据磁盘数。 |
从 EfficientIP VHD 创建 VM |
此模板从 EfficientIP VHD 创建 VM,并允许将其连接到可以驻留在另一个资源组中的现有 VNET,然后连接到虚拟机 |
从用户映像 创建 VM |
使用此模板,可以从用户映像创建虚拟机。 此模板还部署虚拟网络、公共 IP 地址和网络接口。 |
从通用 VHD 在新的或现有 vnet 中创建 VM |
此模板从通用 VHD 创建一个 VM,并使你能够将其连接到可以驻留在另一个资源组中的新 VNET 或现有 VNET,而不是虚拟机 |
CentOS/UbuntuServer 自动动态磁盘 & Docker 1.12(cs) |
这是用于创建单个实例 CentOS 7.2/7.1/6.5 或 Ubuntu Server 16.04.0-LTS 的常见模板,其中包含可配置的数据磁盘数(可配置大小)。 门户参数中可以提及最多 16 个磁盘,每个磁盘的最大大小应小于 1023 GB。 MDADM RAID0 阵列是自动装载的,在重启后幸存下来。 最新的 Docker 1.12(cs3) (Swarm), docker-compose 1.9.0 & docker-machine 0.8.2 可用于从用户 azure-cli 自动作为 docker 容器运行。 此单实例模板是 HPC/GPU 群集模板 @ https://github.com/azurebigcompute/BigComputeBench |
GitLab Omnibus |
此模板简化了使用公共 DNS 在虚拟机上部署 GitLab Omnibus,并利用公共 IP 的 DNS。 它利用Standard_F8s_v2实例大小,该大小与参考体系结构保持一致,支持多达 1000 个用户(20 RPS)。 该实例已预先配置为将 HTTPS 与 Let's Encrypt 证书配合使用,以便进行安全连接。 |
使用串行输出 |
此模板创建一个简单的 Linux VM,其中包含最少的参数和配置为输出到存储的串行/控制台 |
部署具有监视和诊断 的简单 Windows VM |
使用此模板可以部署简单的 Windows VM 以及诊断扩展,以便为 VM 启用监视和诊断 |
使用 MSI 部署 Linux 或 Windows VM |
使用此模板,可以使用托管服务标识部署 Linux 或 Windows VM。 |
在 Azure 上 |
此模板允许将 Terraform 工作站部署为具有 MSI 的 Linux VM。 |
使用 MSI 访问存储 |
此模板部署具有系统分配的托管标识的 Linux VM,该标识有权访问其他资源组中的存储帐户。 |
使用 4 个空数据磁盘的 Windows 映像创建 VM |
使用此模板,可以从指定的映像创建 Windows 虚拟机。 它还附加 4 个空数据磁盘。 请注意,可以指定空数据磁盘的大小。 |
部署具有多个 IP 的 VM |
此模板允许部署具有 3 个 IP 配置的 VM。 此模板将部署名为 myVM1 的 Linux/Windows VM,其中包含 3 个 IP 配置:IPConfig-1、IPConfig-2 和 IPConfig-3。 |
部署具有多个 NIC 的 Linux VM (Ubuntu), |
此模板创建包含多个子网的 VNet,并部署具有多个 NIC 的 Ubuntu VM |
使用条件资源 |
此模板允许使用虚拟网络、存储和公共 IP 地址的新资源或现有资源部署 Linux VM。 它还允许在 SSH 和密码身份验证之间进行选择。 模板使用条件和逻辑函数来消除对嵌套部署的需求。 |
从现有 VHD 创建 VM 并将其连接到现有 VNET |
此模板从 VHD(OS + 数据磁盘)创建 VM,并让你将其连接到可以驻留在另一个资源组中的现有 VNET,然后虚拟机 |
将证书推送到 Windows VM |
将证书推送到 Windows VM。 使用模板在 https://azure.microsoft.com/documentation/templates/101-create-key-vault 创建 Key Vault |
使用 Key Vault |
此模板允许通过检索存储在 Key Vault 中的密码来部署简单的 Windows VM。 因此,密码永远不会在模板参数文件中以纯文本形式输入 |
在资源组位置部署简单的 FreeBSD VM |
通过此模板,可以使用几个不同选项(使用最新修补的版本)部署简单的 FreeBSD VM。 这将部署在 D1 VM 大小的资源组位置。 |
部署简单的 Ubuntu Linux VM 20.04-LTS |
此模板部署一个 Ubuntu Server,其中包含一些 VM 选项。 可以提供 VM 名称、OS 版本、VM 大小以及管理员用户名和密码。 默认情况下,VM 大小为Standard_D2s_v3,OS 版本为 20.04-LTS。 |
使用加速网络 部署简单的 Linux VM |
使用此模板,可以使用具有最新修补版本的 Ubuntu 版本 18.04-LTS 部署具有加速网络的简单 Linux VM。 这会在资源组位置部署D3_v2大小的 VM,并返回 VM 的 FQDN。 |
Red Hat Enterprise Linux VM (RHEL 7.8) |
此模板将使用标准 D1 VM 上所选版本的You-Go Red Hat Enterprise Linux VM(RHEL 7.8)部署 Red Hat Enterprise Linux VM(RHEL 7.8),并在所选资源组的位置附加附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
Red Hat Enterprise Linux VM (RHEL 7.8 非托管) |
此模板将使用“即用即付”RHEL VM 映像(RHEL 7.8)为所选版本的标准You-Go A1_v2 VM 部署 Red Hat Enterprise Linux VM(RHEL 7.8),该映像位于所选资源组的位置,并附加了附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
SUSE Linux Enterprise Server VM (SLES 12) |
通过此模板,可以使用标准 D1 VM 上所选版本的 SLES VM 映像在所选资源组的位置部署 SUSE Linux Enterprise Server VM(SLES 1You-Go 2),并附加附加了 100 GiB 数据磁盘。 此映像收取额外费用 - 有关详细信息,请参阅 Azure VM 定价页。 |
部署简单的 Windows VM |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署简单的 Windows VM。 这会在资源组位置部署 A2 大小的 VM,并返回 VM 的 FQDN。 |
使用 Visual Studio 部署 Windows Server VM |
此模板使用 Visual Code Studio Community 2019 部署 Windows Server VM,并提供了一些 VM 选项。 可以提供 VM 的名称、管理员用户名和密码。 |
将 VM 部署到可用性区域 |
使用此模板,可以使用最新的修补版本部署简单的 VM(Windows 或 Ubuntu)。 这将在指定的位置部署A2_v2大小的 VM,并返回 VM 的 FQDN。 |
从自定义 VHD 在新的或现有 vnet 中创建 VM |
此模板从专用 VHD 创建一个 VM,并使你能够将其连接到一个新的或现有的 VNET,该 VNET 可以驻留在另一个资源组中,而不是虚拟机 |
使用自动备份 |
此模板将创建启用了自动备份功能的 SQL Server 2014 SP2 Enterprise 版本 |
使用自动修补 |
此模板将创建启用了自动修补功能的 SQL Server 2014 SP1 Enterprise 版本。 |
使用 Azure Key Vault |
此模板将创建启用了 Azure Key Vault 集成功能的 SQL Server 2014 SP1 Enterprise 版本。 |
使用 SSH rsa 公钥部署虚拟机 |
使用此模板,可以使用 SSH rsa 公钥创建虚拟机 |
部署带有标记的简单 Windows VM |
此模板将部署D2_v3 Windows VM、NIC、存储帐户、虚拟网络、公共 IP 地址和网络安全组。 标记对象在变量中创建,并将应用于所有资源(如果适用)。 |
部署支持受信任的启动的 Linux 虚拟机 |
使用此模板,可以使用 Linux 版本的几个不同选项(使用最新的修补版本)部署支持受信任的启动的 Linux 虚拟机。 如果启用 Secureboot 和 vTPM,则会在 VM 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 默认情况下,这将在资源组位置部署Standard_D2_v3大小的虚拟机,并返回虚拟机的 FQDN。 |
部署支持受信任启动的 Windows 虚拟机 |
使用此模板,可以使用 Windows 版本的几个不同选项(使用最新修补的版本)部署支持受信任的启动的 Windows 虚拟机。 如果启用 Secureboot 和 vTPM,则会在 VM 上安装来宾证明扩展。 此扩展将通过云执行远程 证明。 默认情况下,这将在资源组位置部署Standard_D2_v3大小的虚拟机,并返回虚拟机的 FQDN。 |
使用用户数据 部署虚拟机 |
使用此模板可以创建一个虚拟机,其中用户数据传递到 VM。 此模板还部署虚拟网络、公共 IP 地址和网络接口。 |
使用 Windows Admin Center 扩展部署 Windows VM |
使用此模板,可以使用 Windows Admin Center 扩展部署 Windows VM,以便直接从 Azure 门户管理 VM。 |
使用 Azure 安全基线 |
该模板使用公共 IP 地址在新虚拟网络中创建运行 Windows Server 的虚拟机。 部署计算机后,将安装来宾配置扩展,并应用 Windows Server 的 Azure 安全基线。 如果计算机配置偏移,可以通过再次部署模板来重新应用设置。 |
部署具有可变数据磁盘数的 Windows VM |
使用此模板可以部署简单的 VM,并使用参数在部署时指定数据磁盘数。 请注意,数据磁盘的数量和大小受 VM 大小的约束。 此示例的 VM 大小Standard_DS4_v2默认为 16 个数据磁盘。 |
使用 SSH |
部署启用了开放 SSH 的单个 Windows VM,以便可以使用基于密钥的身份验证通过 SSH 进行连接。 |
创建数据管理网关并在 Azure VM 上安装 |
此模板部署虚拟机并创建可行的数据管理网关 |
使用 RDP 端口 |
创建虚拟机,并为负载均衡器中的 VM 创建 RDP 的 NAT 规则 |
创建具有多个空StandardSSD_LRS数据磁盘的 VM |
使用此模板,可以从指定的映像创建 Windows 虚拟机。 默认情况下,它还附加多个空的 StandardSSD 数据磁盘。 请注意,可以指定空数据磁盘的大小和存储类型(Standard_LRS、StandardSSD_LRS和Premium_LRS)。 |
Azure VM 上的自承载集成运行时 |
此模板创建自承载集成运行时并在 Azure 虚拟机上注册它 |
将多个 VM 添加到虚拟机规模集 |
此模板将使用托管磁盘、公共 IP 和网络接口创建 N 个 VM 数量。 它将在灵活业务流程模式下在虚拟机规模集中创建 VM。 它们将在虚拟网络中预配,该虚拟网络也将作为部署的一部分创建 |
在 ILB 后面部署具有 Linux VM 的 VM 规模集 |
使用此模板,可以使用最新修补版本的 Ubuntu Linux 15.10 或 14.04.4-LTS 部署 VM 规模集。 这些 VM 位于内部负载均衡器后面,其中包含 SSH 连接的 NAT 规则。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 virtualMachines 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachines 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Compute/virtualMachines@2021-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
additionalCapabilities = {
ultraSSDEnabled = bool
}
availabilitySet = {
id = "string"
}
billingProfile = {
maxPrice = "decimal-as-string"
}
diagnosticsProfile = {
bootDiagnostics = {
enabled = bool
storageUri = "string"
}
}
evictionPolicy = "string"
extensionsTimeBudget = "string"
hardwareProfile = {
vmSize = "string"
}
host = {
id = "string"
}
hostGroup = {
id = "string"
}
licenseType = "string"
networkProfile = {
networkApiVersion = "2020-11-01"
networkInterfaceConfigurations = [
{
name = "string"
properties = {
deleteOption = "string"
dnsSettings = {
dnsServers = [
"string"
]
}
dscpConfiguration = {
id = "string"
}
enableAcceleratedNetworking = bool
enableFpga = bool
enableIPForwarding = bool
ipConfigurations = [
{
name = "string"
properties = {
applicationGatewayBackendAddressPools = [
{
id = "string"
}
]
applicationSecurityGroups = [
{
id = "string"
}
]
loadBalancerBackendAddressPools = [
{
id = "string"
}
]
primary = bool
privateIPAddressVersion = "string"
publicIPAddressConfiguration = {
name = "string"
properties = {
deleteOption = "string"
dnsSettings = {
domainNameLabel = "string"
}
idleTimeoutInMinutes = int
ipTags = [
{
ipTagType = "string"
tag = "string"
}
]
publicIPAddressVersion = "string"
publicIPAllocationMethod = "string"
publicIPPrefix = {
id = "string"
}
}
sku = {
name = "string"
tier = "string"
}
}
subnet = {
id = "string"
}
}
}
]
networkSecurityGroup = {
id = "string"
}
primary = bool
}
}
]
networkInterfaces = [
{
id = "string"
properties = {
deleteOption = "string"
primary = bool
}
}
]
}
osProfile = {
adminPassword = "string"
adminUsername = "string"
allowExtensionOperations = bool
computerName = "string"
customData = "string"
linuxConfiguration = {
disablePasswordAuthentication = bool
patchSettings = {
assessmentMode = "string"
patchMode = "string"
}
provisionVMAgent = bool
ssh = {
publicKeys = [
{
keyData = "string"
path = "string"
}
]
}
}
requireGuestProvisionSignal = bool
secrets = [
{
sourceVault = {
id = "string"
}
vaultCertificates = [
{
certificateStore = "string"
certificateUrl = "string"
}
]
}
]
windowsConfiguration = {
additionalUnattendContent = [
{
componentName = "Microsoft-Windows-Shell-Setup"
content = "string"
passName = "OobeSystem"
settingName = "string"
}
]
enableAutomaticUpdates = bool
patchSettings = {
assessmentMode = "string"
enableHotpatching = bool
patchMode = "string"
}
provisionVMAgent = bool
timeZone = "string"
winRM = {
listeners = [
{
certificateUrl = "string"
protocol = "string"
}
]
}
}
}
platformFaultDomain = int
priority = "string"
proximityPlacementGroup = {
id = "string"
}
scheduledEventsProfile = {
terminateNotificationProfile = {
enable = bool
notBeforeTimeout = "string"
}
}
securityProfile = {
encryptionAtHost = bool
securityType = "TrustedLaunch"
uefiSettings = {
secureBootEnabled = bool
vTpmEnabled = bool
}
}
storageProfile = {
dataDisks = [
{
caching = "string"
createOption = "string"
deleteOption = "string"
detachOption = "ForceDetach"
diskSizeGB = int
image = {
uri = "string"
}
lun = int
managedDisk = {
diskEncryptionSet = {
id = "string"
}
id = "string"
storageAccountType = "string"
}
name = "string"
toBeDetached = bool
vhd = {
uri = "string"
}
writeAcceleratorEnabled = bool
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
osDisk = {
caching = "string"
createOption = "string"
deleteOption = "string"
diffDiskSettings = {
option = "Local"
placement = "string"
}
diskSizeGB = int
encryptionSettings = {
diskEncryptionKey = {
secretUrl = "string"
sourceVault = {
id = "string"
}
}
enabled = bool
keyEncryptionKey = {
keyUrl = "string"
sourceVault = {
id = "string"
}
}
}
image = {
uri = "string"
}
managedDisk = {
diskEncryptionSet = {
id = "string"
}
id = "string"
storageAccountType = "string"
}
name = "string"
osType = "string"
vhd = {
uri = "string"
}
writeAcceleratorEnabled = bool
}
}
userData = "string"
virtualMachineScaleSet = {
id = "string"
}
}
zones = [
"string" or int
]
extendedLocation = {
name = "string"
type = "EdgeZone"
}
plan = {
name = "string"
product = "string"
promotionCode = "string"
publisher = "string"
}
})
}
属性值
virtualMachines
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.Compute/virtualMachines@2021-03-01” |
名字 | 资源名称 | string (必需) 字符限制:1-15 (Windows) 1-64 (Linux) 有效字符: 不能使用空格、控制字符或以下字符: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ? Windows VM 不能包含句点或以连字符结尾。 Linux VM 不能以句点或连字符结尾。 |
位置 | 资源位置 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 资源标记 | 标记名称和值的字典。 |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 虚拟机的标识(如果已配置)。 | VirtualMachineIdentity |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机的属性。 | VirtualMachineProperties |
区 | 虚拟机区域。 | 作为字符串或 int 的可用性区域数组。 |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
VirtualMachineIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 | “SystemAssigned” “SystemAssigned, UserAssigned” “UserAssigned” |
identity_ids | 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 用户标识 ID 的数组。 |
VirtualMachineIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentitiesValue |
UserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
VirtualMachineProperties
名字 | 描述 | 价值 |
---|---|---|
additionalCapabilities | 指定在虚拟机上启用或禁用的其他功能。 | AdditionalCapabilities |
availabilitySet | 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure 中虚拟机的 目前,只能在创建时将 VM 添加到可用性集。 要向其添加 VM 的可用性集应与可用性集资源位于同一资源组下。 无法将现有 VM 添加到可用性集。 此属性不能与非 null properties.virtualMachineScaleSet 引用一起存在。 |
SubResource |
billingProfile | 指定 Azure 现成虚拟机的计费相关详细信息。 最低 API 版本:2019-03-01。 |
BillingProfile |
diagnosticsProfile | 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 |
DiagnosticsProfile |
evictionPolicy | 指定 Azure 现成虚拟机和 Azure Spot 规模集的逐出策略。 对于 Azure 现成虚拟机,支持“解除分配”和“删除”,最低 API 版本为 2019-03-01。 对于 Azure Spot 规模集,支持“Deallocate”和“Delete”,最低 API 版本为 2017-10-30-preview。 |
“解除分配” “Delete” |
extensionsTimeBudget | 指定分配所有扩展开始的时间。 持续时间应介于 15 分钟到 120 分钟(含)之间,应采用 ISO 8601 格式指定。 默认值为 90 分钟(PT1H30M)。 最低 API 版本:2020-06-01 |
字符串 |
hardwareProfile | 指定虚拟机的硬件设置。 | HardwareProfile |
主机 | 指定虚拟机所在的专用主机的相关信息。 最低 API 版本:2018-10-01。 |
SubResource |
hostGroup | 指定有关虚拟机所在的专用主机组的信息。 最低 API 版本:2020-06-01。 注意:用户不能同时指定主机和 hostGroup 属性。 |
SubResource |
licenseType | 指定正在使用的映像或磁盘在本地获得许可。 Windows Server 操作系统的可能值为: Windows_Client Windows_Server Linux Server 操作系统的可能值为: RHEL_BYOS(适用于 RHEL) SLES_BYOS(对于 SUSE) 有关详细信息,请参阅 Windows Server 的 Azure 混合使用权益 Linux Server 的 Azure 混合使用权益 最低 API 版本:2015-06-15 |
字符串 |
networkProfile | 指定虚拟机的网络接口。 | NetworkProfile |
osProfile | 指定创建虚拟机时使用的操作系统设置。 预配 VM 后,无法更改某些设置。 | OSProfile |
platformFaultDomain | 指定要在其中创建虚拟机的规模集逻辑容错域。 默认情况下,虚拟机将自动分配给容错域,该容错域最适合跨可用容错域保持平衡。 {li}仅当设置了此虚拟机的“virtualMachineScaleSet”属性时,这才适用。{li}引用的虚拟机规模集必须具有“platformFaultDomainCount”> 1。{li}创建虚拟机后,无法更新此属性。{li}可以在虚拟机实例视图中查看容错域分配。 最低 api 版本:2020-12?01 |
int |
优先权 | 指定虚拟机的优先级。 最低 API 版本:2019-03-01 |
“Low” “Regular” “现成” |
proximityPlacementGroup | 指定应将虚拟机分配到的邻近放置组的相关信息。 最低 api 版本:2018-04-01。 |
SubResource |
scheduledEventsProfile | 指定与计划事件相关的配置。 | ScheduledEventsProfile |
securityProfile | 指定虚拟机的安全相关配置文件设置。 | SecurityProfile |
storageProfile | 指定虚拟机磁盘的存储设置。 | StorageProfile |
userData | VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 |
字符串 |
virtualMachineScaleSet | 指定应向其分配虚拟机规模集的信息。 在同一虚拟机规模集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 目前,只能在创建时将 VM 添加到虚拟机规模集。 无法将现有 VM 添加到虚拟机规模集。 此属性不能与非 null properties.availabilitySet 引用一起存在。 最低 api-version: 2019-03?01 |
SubResource |
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
BillingProfile
名字 | 描述 | 价值 |
---|---|---|
maxPrice | 指定愿意为 Azure 现成 VM/VMSS 付费的最高价格。 这个价格是美元。 此价格将与 VM 大小的当前 Azure 现成价格进行比较。 此外,价格是在创建/更新 Azure 现成 VM/VMSS 时进行比较的,并且仅当 maxPrice 大于当前 Azure 现成价格时,该操作才会成功。 如果当前 Azure 现成价格超出创建 VM/VMSS 后的最大价格,maxPrice 还将用于逐出 Azure 现成 VM/VMSS。 可能的值包括: - 大于零的任何十进制值。 示例:0.01538 -1 – 指示按需 up-to 的默认价格。 可以将 maxPrice 设置为 -1,以指示出于价格原因不应逐出 Azure Spot VM/VMSS。 此外,如果默认的最大价格不是由你提供,则为 -1。 最低 API 版本:2019-03-01。 将十进制值指定为字符串。 |
int 或 json decimal |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
HardwareProfile
名字 | 描述 | 价值 |
---|---|---|
vmSize | 指定虚拟机的大小。 枚举数据类型当前已弃用,将于 2023 年 12 月 23 日删除。 获取可用大小列表的建议方法是使用以下 API: 列出可用性集中的所有可用虚拟机大小 列出区域中所有可用的虚拟机大小 列出用于调整大小的所有可用虚拟机大小。 有关虚拟机大小的详细信息,请参阅虚拟机 可用的 VM 大小取决于区域和可用性集。 |
“Basic_A0” “Basic_A1” “Basic_A2” “Basic_A3” “Basic_A4” “Standard_A0” “Standard_A1” “Standard_A10” “Standard_A11” “Standard_A1_v2” “Standard_A2” “Standard_A2_v2” “Standard_A2m_v2” “Standard_A3” “Standard_A4” “Standard_A4_v2” “Standard_A4m_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8_v2” “Standard_A8m_v2” “Standard_A9” “Standard_B1ms” “Standard_B1s” “Standard_B2ms” “Standard_B2s” “Standard_B4ms” “Standard_B8ms” “Standard_D1” “Standard_D11” “Standard_D11_v2” “Standard_D12” “Standard_D12_v2” “Standard_D13” “Standard_D13_v2” “Standard_D14” “Standard_D14_v2” “Standard_D15_v2” “Standard_D16_v3” “Standard_D16s_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2_v2” “Standard_D2_v3” “Standard_D2s_v3” “Standard_D3” “Standard_D32_v3” “Standard_D32s_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4_v2” “Standard_D4_v3” “Standard_D4s_v3” “Standard_D5_v2” “Standard_D64_v3” “Standard_D64s_v3” “Standard_D8_v3” “Standard_D8s_v3” “Standard_DS1” “Standard_DS11” “Standard_DS11_v2” “Standard_DS12” “Standard_DS12_v2” “Standard_DS13” “Standard_DS13-2_v2” “Standard_DS13-4_v2” “Standard_DS13_v2” “Standard_DS14” “Standard_DS14-4_v2” “Standard_DS14-8_v2” “Standard_DS14_v2” “Standard_DS15_v2” “Standard_DS1_v2” “Standard_DS2” “Standard_DS2_v2” “Standard_DS3” “Standard_DS3_v2” “Standard_DS4” “Standard_DS4_v2” “Standard_DS5_v2” “Standard_E16_v3” “Standard_E16s_v3” “Standard_E2_v3” “Standard_E2s_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32_v3” “Standard_E32s_v3” “Standard_E4_v3” “Standard_E4s_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64_v3” “Standard_E64s_v3” “Standard_E8_v3” “Standard_E8s_v3” “Standard_F1” “Standard_F16” “Standard_F16s” “Standard_F16s_v2” “Standard_F1s” “Standard_F2” “Standard_F2s” “Standard_F2s_v2” “Standard_F32s_v2” “Standard_F4” “Standard_F4s” “Standard_F4s_v2” “Standard_F64s_v2” “Standard_F72s_v2” “Standard_F8” “Standard_F8s” “Standard_F8s_v2” “Standard_G1” “Standard_G2” “Standard_G3” “Standard_G4” “Standard_G5” “Standard_GS1” “Standard_GS2” “Standard_GS3” “Standard_GS4” “Standard_GS4-4” “Standard_GS4-8” “Standard_GS5” “Standard_GS5-16” “Standard_GS5-8” “Standard_H16” “Standard_H16m” “Standard_H16mr” “Standard_H16r” “Standard_H8” “Standard_H8m” “Standard_L16s” “Standard_L32s” “Standard_L4s” “Standard_L8s” “Standard_M128-32ms” “Standard_M128-64ms” “Standard_M128ms” “Standard_M128s” “Standard_M64-16ms” “Standard_M64-32ms” “Standard_M64ms” “Standard_M64s” “Standard_NC12” “Standard_NC12s_v2” “Standard_NC12s_v3” “Standard_NC24” “Standard_NC24r” “Standard_NC24rs_v2” “Standard_NC24rs_v3” “Standard_NC24s_v2” “Standard_NC24s_v3” “Standard_NC6” “Standard_NC6s_v2” “Standard_NC6s_v3” “Standard_ND12s” “Standard_ND24rs” “Standard_ND24s” “Standard_ND6s” “Standard_NV12” “Standard_NV24” “Standard_NV6” |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkApiVersion | 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 | "2020-11-01" |
networkInterfaceConfigurations | 指定将用于创建虚拟机网络资源的网络配置。 | VirtualMachineNetworkInterfaceConfiguration[] |
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
VirtualMachineNetworkInterfaceConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | 网络接口配置名称。 | string (必需) |
性能 | 描述虚拟机网络配置文件的 IP 配置。 | VirtualMachineNetworkInterfaceConfigurationPropertie... |
VirtualMachineNetworkInterfaceConfigurationPropertie...
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “分离” |
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineNetworkInterfaceDnsSettingsConfigurati... |
dscpConfiguration | SubResource | |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineNetworkInterfaceIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineNetworkInterfaceDnsSettingsConfigurati...
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineNetworkInterfaceIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | IP 配置名称。 | string (必需) |
性能 | 描述虚拟机网络接口 IP 配置属性。 | VirtualMachineNetworkInterfaceIPConfigurationPropert... |
VirtualMachineNetworkInterfaceIPConfigurationPropert...
名字 | 描述 | 价值 |
---|---|---|
applicationGatewayBackendAddressPools | 指定对应用程序网关后端地址池的引用数组。 虚拟机可以引用多个应用程序网关的后端地址池。 多个虚拟机不能使用相同的应用程序网关。 | SubResource[] |
applicationSecurityGroups | 指定对应用程序安全组的引用数组。 | SubResource[] |
loadBalancerBackendAddressPools | 指定对负载均衡器后端地址池的引用数组。 虚拟机可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 [多个虚拟机不能使用相同的基本 SKU 负载均衡器]。 | SubResource[] |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
privateIPAddressVersion | 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAddressConfiguration | publicIPAddressConfiguration。 | VirtualMachinePublicIPAddressConfiguration |
子 | 指定子网的标识符。 | SubResource |
VirtualMachinePublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机 IP 配置的公共 IPAddress 配置 | VirtualMachinePublicIPAddressConfigurationProperties |
sku | 描述公共 IP Sku | PublicIPAddressSku |
VirtualMachinePublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时公共 IP 地址发生的情况 | “Delete” “分离” |
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachinePublicIPAddressDnsSettingsConfiguratio... |
idleTimeoutInMinutes | 公共 IP 地址的空闲超时。 | int |
ipTags | 与公共 IP 地址关联的 IP 标记列表。 | VirtualMachineIpTag[] |
publicIPAddressVersion | 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 | “IPv4” “IPv6” |
publicIPAllocationMethod | 指定公共 IP 分配类型 | “Dynamic” “Static” |
publicIPPrefix | 要从中分配 publicIP 地址的 PublicIPPrefix。 | SubResource |
VirtualMachinePublicIPAddressDnsSettingsConfiguratio...
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 将创建的 PublicIPAddress 资源的域名标签前缀。 生成的名称标签是域名标签和 vm 网络配置文件唯一 ID 的串联。 | string (必需) |
VirtualMachineIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
PublicIPAddressSku
名字 | 描述 | 价值 |
---|---|---|
名字 | 指定公共 IP SKU 名称 | “Basic” “Standard” |
层 | 指定公共 IP SKU 层 | “Global” “区域” |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
deleteOption | 指定删除 VM 时网络接口发生的情况 | “Delete” “分离” |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
OSProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度(Windows): 8 个字符 最小长度(Linux): 6 个字符 最大长度(Windows): 123 个字符 最大长度(Linux): 72 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” 若要重置密码,请参阅 如何在 Windows VM 中重置远程桌面服务或其登录密码 有关重置根密码,请参阅 使用 VMAccess 扩展 管理用户、SSH 并检查或修复 Azure Linux VM 上的磁盘 |
字符串 约束: 敏感值。 以安全参数的形式传入。 |
adminUsername | 指定管理员帐户的名称。 创建 VM 后,无法更新此属性。 仅限 Windows 的限制: 不能以“.” 结尾。 不允许的值: “administrator”、“admin”、“user1”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度(Linux): 1 个字符 最大长度(Linux): 64 个字符 最大长度(Windows): 20 个字符。 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 [在 Azure 中为 Linux VM 在 Linux 和 Mac 上创建 SSH 密钥]/azure/virtual-machines/linux/create-ssh-keys-detailed。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VaultCertificate
名字 | 描述 | 价值 |
---|---|---|
certificateStore | 对于 Windows VM,指定应向其添加证书的虚拟机上的证书存储。 指定的证书存储隐式位于 LocalMachine 帐户中。 对于 Linux VM,证书文件位于 /var/lib/waagent 目录下,文件名为 X509 证书文件 <大写Thumbprint>.crt,<用于私钥的 uppercaseThumbprint>.prv。 这两个文件都是 .pem 格式的。 |
字符串 |
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
WindowsConfiguration
名字 | 描述 | 价值 |
---|---|---|
additionalUnattendContent | 指定其他 base-64 编码的 XML 格式信息,这些信息可以包含在 Windows 安装程序使用的 Unattend.xml 文件中。 | AdditionalUnattendContent[] |
enableAutomaticUpdates | 指示是否为 Windows 虚拟机启用自动更新。 默认值为 true。 对于虚拟机规模集,可以更新此属性,更新将对 OS 重新预配生效。 |
bool |
patchSettings | [预览功能]指定与 Windows 上的 VM 来宾修补相关的设置。 | PatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
timeZone | 指定虚拟机的时区。 例如“太平洋标准时间”。 可能的值可以从 TimeZoneInfo.GetSystemTimeZones返回的时区 TimeZoneInfo.Id 值。 |
字符串 |
winRM | 指定 Windows 远程管理侦听器。 这将启用远程 Windows PowerShell。 | WinRMConfiguration |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到unattend.xml文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
assessmentMode | 指定 IaaS 虚拟机的 VM 来宾修补程序评估模式。 可能的值包括: ImageDefault - 控制虚拟机上的修补程序评估的时间。 AutomaticByPlatform - 平台将触发定期修补评估。 属性 provisionVMAgent 必须为 true。 |
“AutomaticByPlatform” “ImageDefault” |
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “手动” |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“{Base64-encoded-certificate}”, “dataType”:“pfx”, “password”:“{pfx-file-password}” } 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。 |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |
ScheduledEventsProfile
名字 | 描述 | 价值 |
---|---|---|
terminateNotificationProfile | 指定终止计划事件相关配置。 | TerminateNotificationProfile |
TerminateNotificationProfile
名字 | 描述 | 价值 |
---|---|---|
使 | 指定是启用或禁用终止计划事件。 | bool |
notBeforeTimeout | 删除虚拟机的可配置时间长度可能需要在事件自动批准(超时)之前批准终止计划事件。 必须以 ISO 8601 格式指定配置,默认值为 5 分钟(PT5M) | 字符串 |
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“附加” “空” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值: 删除 如果使用此值,则删除 VM 时删除数据磁盘。 分离 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 分离 |
“Delete” “分离” |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“附加” “空” “FromImage”(必需) |
deleteOption | 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值: 删除 如果使用此值,则会在删除 VM 时删除 OS 磁盘。 分离 如果使用此值,则在删除 VM 后将保留 os 磁盘。 默认值设置为 分离。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 |
“Delete” “分离” |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |