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

Microsoft.Compute virtualMachineScaleSets/virtualMachines

Bicep 资源定义

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

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

资源格式

若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualMachines 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.Compute/virtualMachineScaleSets/virtualMachines@2024-07-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  plan: {
    name: 'string'
    product: 'string'
    promotionCode: 'string'
    publisher: 'string'
  }
  properties: {
    additionalCapabilities: {
      hibernationEnabled: bool
      ultraSSDEnabled: bool
    }
    availabilitySet: {
      id: 'string'
    }
    diagnosticsProfile: {
      bootDiagnostics: {
        enabled: bool
        storageUri: 'string'
      }
    }
    hardwareProfile: {
      vmSize: 'string'
      vmSizeProperties: {
        vCPUsAvailable: int
        vCPUsPerCore: int
      }
    }
    licenseType: 'string'
    networkProfile: {
      networkApiVersion: '2020-11-01'
      networkInterfaceConfigurations: [
        {
          name: 'string'
          properties: {
            auxiliaryMode: 'string'
            auxiliarySku: 'string'
            deleteOption: 'string'
            disableTcpStateTracking: bool
            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'
                        domainNameLabelScope: '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
          }
        }
      ]
    }
    networkProfileConfiguration: {
      networkInterfaceConfigurations: [
        {
          name: 'string'
          properties: {
            auxiliaryMode: 'string'
            auxiliarySku: 'string'
            deleteOption: 'string'
            disableTcpStateTracking: bool
            dnsSettings: {
              dnsServers: [
                'string'
              ]
            }
            enableAcceleratedNetworking: bool
            enableFpga: bool
            enableIPForwarding: bool
            ipConfigurations: [
              {
                name: 'string'
                properties: {
                  applicationGatewayBackendAddressPools: [
                    {
                      id: 'string'
                    }
                  ]
                  applicationSecurityGroups: [
                    {
                      id: 'string'
                    }
                  ]
                  loadBalancerBackendAddressPools: [
                    {
                      id: 'string'
                    }
                  ]
                  loadBalancerInboundNatPools: [
                    {
                      id: 'string'
                    }
                  ]
                  primary: bool
                  privateIPAddressVersion: 'string'
                  publicIPAddressConfiguration: {
                    name: 'string'
                    properties: {
                      deleteOption: 'string'
                      dnsSettings: {
                        domainNameLabel: 'string'
                        domainNameLabelScope: 'string'
                      }
                      idleTimeoutInMinutes: int
                      ipTags: [
                        {
                          ipTagType: 'string'
                          tag: 'string'
                        }
                      ]
                      publicIPAddressVersion: 'string'
                      publicIPPrefix: {
                        id: 'string'
                      }
                    }
                    sku: {
                      name: 'string'
                      tier: 'string'
                    }
                  }
                  subnet: {
                    id: 'string'
                  }
                }
              }
            ]
            networkSecurityGroup: {
              id: 'string'
            }
            primary: bool
          }
        }
      ]
    }
    osProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      allowExtensionOperations: bool
      computerName: 'string'
      customData: 'string'
      linuxConfiguration: {
        disablePasswordAuthentication: bool
        enableVMAgentPlatformUpdates: bool
        patchSettings: {
          assessmentMode: 'string'
          automaticByPlatformSettings: {
            bypassPlatformSafetyChecksOnUserSchedule: bool
            rebootSetting: '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'
          automaticByPlatformSettings: {
            bypassPlatformSafetyChecksOnUserSchedule: bool
            rebootSetting: 'string'
          }
          enableHotpatching: bool
          patchMode: 'string'
        }
        provisionVMAgent: bool
        timeZone: 'string'
        winRM: {
          listeners: [
            {
              certificateUrl: 'string'
              protocol: 'string'
            }
          ]
        }
      }
    }
    protectionPolicy: {
      protectFromScaleIn: bool
      protectFromScaleSetActions: bool
    }
    securityProfile: {
      encryptionAtHost: bool
      encryptionIdentity: {
        userAssignedIdentityResourceId: 'string'
      }
      proxyAgentSettings: {
        enabled: bool
        keyIncarnationId: int
        mode: 'string'
      }
      securityType: 'string'
      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'
            securityProfile: {
              diskEncryptionSet: {
                id: 'string'
              }
              securityEncryptionType: 'string'
            }
            storageAccountType: 'string'
          }
          name: 'string'
          sourceResource: {
            id: 'string'
          }
          toBeDetached: bool
          vhd: {
            uri: 'string'
          }
          writeAcceleratorEnabled: bool
        }
      ]
      diskControllerType: 'string'
      imageReference: {
        communityGalleryImageId: 'string'
        id: 'string'
        offer: 'string'
        publisher: 'string'
        sharedGalleryImageId: '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'
          securityProfile: {
            diskEncryptionSet: {
              id: 'string'
            }
            securityEncryptionType: 'string'
          }
          storageAccountType: 'string'
        }
        name: 'string'
        osType: 'string'
        vhd: {
          uri: 'string'
        }
        writeAcceleratorEnabled: bool
      }
    }
    userData: 'string'
  }
}

属性值

virtualMachineScaleSets/virtualMachines

名字 描述 价值
名字 资源名称

了解如何在 Bicep中设置子资源的名称和类型。
string (必需)
位置 资源位置 string (必需)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:virtualMachineScaleSets
身份 虚拟机的标识(如果已配置)。 VirtualMachineIdentity
计划 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 计划
性能 描述虚拟机规模集虚拟机的属性。 VirtualMachineScaleSetVMProperties

VirtualMachineIdentity

名字 描述 价值
类型 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
userAssignedIdentities 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

计划

名字 描述 价值
名字 计划 ID。 字符串
产品 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 字符串
promotionCode 促销代码。 字符串
发行人 发布者 ID。 字符串

VirtualMachineScaleSetVMProperties

名字 描述 价值
additionalCapabilities 指定在规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用UltraSSD_LRS存储帐户类型附加托管数据磁盘。 AdditionalCapabilities
availabilitySet 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure中虚拟机的 维护和更新。 目前,只能在创建时将 VM 添加到可用性集。 无法将现有 VM 添加到可用性集。 SubResource
diagnosticsProfile 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 DiagnosticsProfile
hardwareProfile 指定虚拟机的硬件设置。 HardwareProfile
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
networkProfileConfiguration 指定虚拟机的网络配置文件配置。 VirtualMachineScaleSetVMNetworkProfileConfiguration
osProfile 指定虚拟机的操作系统设置。 OSProfile
protectionPolicy 指定虚拟机的保护策略。 VirtualMachineScaleSetVMProtectionPolicy
securityProfile 指定虚拟机的安全相关配置文件设置。 SecurityProfile
storageProfile 指定虚拟机磁盘的存储设置。 StorageProfile
userData VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 字符串

AdditionalCapabilities

名字 描述 价值
hibernationEnabled 在 VM 上启用或禁用休眠功能的标志。 bool
ultraSSDEnabled 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 bool

SubResource

名字 描述 价值
id 资源 ID 字符串

DiagnosticsProfile

名字 描述 价值
bootDiagnostics 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 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”
vmSizeProperties 指定用于自定义虚拟机大小的属性。 最低 API 版本:2021-07-01。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 VMSizeProperties

VMSizeProperties

名字 描述 价值
vCPUUsAvailable 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小 int
vCPUUsPerCore 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 int

NetworkProfile

名字 描述 价值
networkApiVersion 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 '2020-11-01'
networkInterfaceConfigurations 指定将用于创建虚拟机网络资源的网络配置。 VirtualMachineNetworkInterfaceConfiguration[]
networkInterfaces 指定与虚拟机关联的网络接口的资源 ID 列表。 NetworkInterfaceReference[]

VirtualMachineNetworkInterfaceConfiguration

名字 描述 价值
名字 网络接口配置名称。 string (必需)
性能 描述虚拟机网络配置文件的 IP 配置。 VirtualMachineNetworkInterfaceConfigurationPropertie...

VirtualMachineNetworkInterfaceConfigurationPropertie...

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“Detach”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
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。 只能将 OrchestrationMode 设置为灵活。 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 (必需)
domainNameLabelScope 将创建的 PublicIPAddress 资源的域名标签范围。 生成的名称标签是哈希域名标签与策略的串联,根据域名标签范围和 vm 网络配置文件唯一 ID。 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

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

VirtualMachineScaleSetVMNetworkProfileConfiguration

名字 描述 价值
networkInterfaceConfigurations 网络配置列表。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetNetworkConfiguration

名字 描述 价值
名字 网络配置名称。 string (必需)
性能 介绍虚拟机规模集网络配置文件的 IP 配置。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“Detach”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
dnsSettings 要应用于网络接口的 dns 设置。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定网络接口是否已启用加速网络。 bool
enableFpga 指定网络接口是否已启用 FPGA 网络。 bool
enableIPForwarding 是否在此 NIC 上启用了 IP 转发。 bool
ipConfigurations 指定网络接口的 IP 配置。 VirtualMachineScaleSetIPConfiguration[] (必需)
networkSecurityGroup 网络安全组。 SubResource
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名字 描述 价值
dnsServers DNS 服务器 IP 地址列表 string[]

VirtualMachineScaleSetIPConfiguration

名字 描述 价值
名字 IP 配置名称。 string (必需)
性能 描述虚拟机规模集网络配置文件的 IP 配置属性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 价值
applicationGatewayBackendAddressPools 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 SubResource[]
applicationSecurityGroups 指定对应用程序安全组的引用数组。 SubResource[]
loadBalancerBackendAddressPools 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
loadBalancerInboundNatPools 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool
privateIPAddressVersion 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
指定子网的标识符。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名字 描述 价值
名字 publicIP 地址配置名称。 string (必需)
性能 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名字 描述 价值
deleteOption 指定删除 VM 时公共 IP 会发生什么情况 “Delete”
“Detach”
dnsSettings 要应用于 publicIP 地址的 dns 设置。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公共 IP 地址的空闲超时。 int
ipTags 与公共 IP 地址关联的 IP 标记列表。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPPrefix 要从中分配 publicIP 地址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名字 描述 价值
domainNameLabel 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 string (必需)
domainNameLabelScope 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

VirtualMachineScaleSetIpTag

名字 描述 价值
ipTagType IP 标记类型。 示例:FirstPartyUsage。 字符串
标记 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 字符串

ApiEntityReference

名字 描述 价值
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID 字符串

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”、“user”、“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 必须设置为 True 或省略的可选属性。 bool
秘密 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。 VaultSecretGroup[]
windowsConfiguration 指定虚拟机上的 Windows 操作系统设置。 WindowsConfiguration

LinuxConfiguration

名字 描述 价值
disablePasswordAuthentication 指定是否应禁用密码身份验证。 bool
enableVMAgentPlatformUpdates 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 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”
automaticByPlatformSettings 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。

可能的值包括:

ImageDefault - 使用虚拟机的默认修补配置。

AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true
“AutomaticByPlatform”
“ImageDefault”

LinuxVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “Always”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串

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”
automaticByPlatformSettings 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 WindowsVMGuestPatchAutomaticByPlatformSettings
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”

WindowsVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “Always”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串
协议 指定 WinRM 侦听器的协议。 可能的值为:http、https。 “Http”
“Https”

VirtualMachineScaleSetVMProtectionPolicy

名字 描述 价值
protectFromScaleIn 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 bool
protectFromScaleSetActions 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 bool

SecurityProfile

名字 描述 价值
encryptionAtHost 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 bool
encryptionIdentity 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 EncryptionIdentity
proxyAgentSettings 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 ProxyAgentSettings
securityType 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 “ConfidentialVM”
“TrustedLaunch”
uefiSettings 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 UefiSettings

EncryptionIdentity

名字 描述 价值
userAssignedIdentityResourceId 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 字符串

ProxyAgentSettings

名字 描述 价值
启用 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 bool
keyIncarnationId 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 int
模式 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 “Audit”
“强制”

UefiSettings

名字 描述 价值
secureBootEnabled 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 bool
vTpmEnabled 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 bool

StorageProfile

名字 描述 价值
dataDisks 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD DataDisk[]
diskControllerType 指定为 VM 配置的磁盘控制器类型。 注意: 如果未指定提供的虚拟机,则会根据指定的最低 API 版本中的操作系统磁盘和 VM 大小的功能,使用“hyperVGeneration”设置为 V2,此属性将设置为默认磁盘控制器类型。 在更新 VM 控制器类型之前,需要解除分配 VM,除非在 VM 配置中更新 VM 大小,该配置隐式解除分配并重新分配 VM。 最低 API 版本:2022-08-01。 “NVMe”
“SCSI”
imageReference 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 ImageReference
osDisk 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD OSDisk

DataDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机数据磁盘时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 空: 创建空数据磁盘时使用此值。 复制: 此值用于从快照或其他磁盘创建数据磁盘。 还原: 此值用于从磁盘还原点创建数据磁盘。 “Attach”
“Copy”
“Empty”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值为:Delete。 如果使用此值,则会在删除 VM 时删除数据磁盘。 分离。 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 Detach “Delete”
“Detach”
detachOption 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览 模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 “ForceDetach”
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 int
图像 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 VirtualHardDisk
指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 int (必需)
managedDisk 托管磁盘参数。 ManagedDiskParameters
名字 磁盘名称。 字符串
sourceResource 源资源标识符。 它可以是用于创建磁盘的快照或磁盘还原点。 ApiEntityReference
toBeDetached 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 bool
vhd 虚拟硬盘。 VirtualHardDisk
writeAcceleratorEnabled 指定是应在磁盘上启用或禁用 writeAccelerator。 bool

VirtualHardDisk

名字 描述 价值
uri 指定虚拟硬盘的 URI。 字符串

ManagedDiskParameters

名字 描述 价值
diskEncryptionSet 指定托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
id 资源 ID 字符串
securityProfile 指定托管磁盘的安全配置文件。 VMDiskSecurityProfile
storageAccountType 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 “PremiumV2_LRS”
“Premium_LRS”
“Premium_ZRS”
“StandardSSD_LRS”
“StandardSSD_ZRS”
“Standard_LRS”
“UltraSSD_LRS”

DiskEncryptionSetParameters

名字 描述 价值
id 资源 ID 字符串

VMDiskSecurityProfile

名字 描述 价值
diskEncryptionSet 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
securityEncryptionType 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 “DiskWithVMGuestState”
“NonPersistedTPM”
“VMGuestStateOnly”

ImageReference

名字 描述 价值
communityGalleryImageId 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 字符串
id 资源 ID 字符串
提供 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 字符串
发行人 映像发布者。 字符串
sharedGalleryImageId 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 字符串
sku 映像 SKU。 字符串
版本 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 字符串

OSDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 “Attach”
“Copy”
“Empty”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值为:Delete。 如果使用此值,则删除 VM 时会删除 OS 磁盘。 分离。 如果使用此值,则会在删除 VM 后保留 os 磁盘。 默认值设置为 Detach。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 “Delete”
“Detach”
diffDiskSettings 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 DiffDiskSettings
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 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、NvmeDisk。 默认行为为:如果为 VM 大小配置了一个,则 CacheDisk;否则,ResourceDisk 或使用 NvmeDisk。 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 NvmeDisk 的最低 API 版本:2024-03-01。 “CacheDisk”
“NvmeDisk”
“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 (必需)

ARM 模板资源定义

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

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

资源格式

若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualMachines 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines",
  "apiVersion": "2024-07-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "plan": {
    "name": "string",
    "product": "string",
    "promotionCode": "string",
    "publisher": "string"
  },
  "properties": {
    "additionalCapabilities": {
      "hibernationEnabled": "bool",
      "ultraSSDEnabled": "bool"
    },
    "availabilitySet": {
      "id": "string"
    },
    "diagnosticsProfile": {
      "bootDiagnostics": {
        "enabled": "bool",
        "storageUri": "string"
      }
    },
    "hardwareProfile": {
      "vmSize": "string",
      "vmSizeProperties": {
        "vCPUsAvailable": "int",
        "vCPUsPerCore": "int"
      }
    },
    "licenseType": "string",
    "networkProfile": {
      "networkApiVersion": "2020-11-01",
      "networkInterfaceConfigurations": [
        {
          "name": "string",
          "properties": {
            "auxiliaryMode": "string",
            "auxiliarySku": "string",
            "deleteOption": "string",
            "disableTcpStateTracking": "bool",
            "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",
                        "domainNameLabelScope": "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"
          }
        }
      ]
    },
    "networkProfileConfiguration": {
      "networkInterfaceConfigurations": [
        {
          "name": "string",
          "properties": {
            "auxiliaryMode": "string",
            "auxiliarySku": "string",
            "deleteOption": "string",
            "disableTcpStateTracking": "bool",
            "dnsSettings": {
              "dnsServers": [ "string" ]
            },
            "enableAcceleratedNetworking": "bool",
            "enableFpga": "bool",
            "enableIPForwarding": "bool",
            "ipConfigurations": [
              {
                "name": "string",
                "properties": {
                  "applicationGatewayBackendAddressPools": [
                    {
                      "id": "string"
                    }
                  ],
                  "applicationSecurityGroups": [
                    {
                      "id": "string"
                    }
                  ],
                  "loadBalancerBackendAddressPools": [
                    {
                      "id": "string"
                    }
                  ],
                  "loadBalancerInboundNatPools": [
                    {
                      "id": "string"
                    }
                  ],
                  "primary": "bool",
                  "privateIPAddressVersion": "string",
                  "publicIPAddressConfiguration": {
                    "name": "string",
                    "properties": {
                      "deleteOption": "string",
                      "dnsSettings": {
                        "domainNameLabel": "string",
                        "domainNameLabelScope": "string"
                      },
                      "idleTimeoutInMinutes": "int",
                      "ipTags": [
                        {
                          "ipTagType": "string",
                          "tag": "string"
                        }
                      ],
                      "publicIPAddressVersion": "string",
                      "publicIPPrefix": {
                        "id": "string"
                      }
                    },
                    "sku": {
                      "name": "string",
                      "tier": "string"
                    }
                  },
                  "subnet": {
                    "id": "string"
                  }
                }
              }
            ],
            "networkSecurityGroup": {
              "id": "string"
            },
            "primary": "bool"
          }
        }
      ]
    },
    "osProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "allowExtensionOperations": "bool",
      "computerName": "string",
      "customData": "string",
      "linuxConfiguration": {
        "disablePasswordAuthentication": "bool",
        "enableVMAgentPlatformUpdates": "bool",
        "patchSettings": {
          "assessmentMode": "string",
          "automaticByPlatformSettings": {
            "bypassPlatformSafetyChecksOnUserSchedule": "bool",
            "rebootSetting": "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",
          "automaticByPlatformSettings": {
            "bypassPlatformSafetyChecksOnUserSchedule": "bool",
            "rebootSetting": "string"
          },
          "enableHotpatching": "bool",
          "patchMode": "string"
        },
        "provisionVMAgent": "bool",
        "timeZone": "string",
        "winRM": {
          "listeners": [
            {
              "certificateUrl": "string",
              "protocol": "string"
            }
          ]
        }
      }
    },
    "protectionPolicy": {
      "protectFromScaleIn": "bool",
      "protectFromScaleSetActions": "bool"
    },
    "securityProfile": {
      "encryptionAtHost": "bool",
      "encryptionIdentity": {
        "userAssignedIdentityResourceId": "string"
      },
      "proxyAgentSettings": {
        "enabled": "bool",
        "keyIncarnationId": "int",
        "mode": "string"
      },
      "securityType": "string",
      "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",
            "securityProfile": {
              "diskEncryptionSet": {
                "id": "string"
              },
              "securityEncryptionType": "string"
            },
            "storageAccountType": "string"
          },
          "name": "string",
          "sourceResource": {
            "id": "string"
          },
          "toBeDetached": "bool",
          "vhd": {
            "uri": "string"
          },
          "writeAcceleratorEnabled": "bool"
        }
      ],
      "diskControllerType": "string",
      "imageReference": {
        "communityGalleryImageId": "string",
        "id": "string",
        "offer": "string",
        "publisher": "string",
        "sharedGalleryImageId": "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",
          "securityProfile": {
            "diskEncryptionSet": {
              "id": "string"
            },
            "securityEncryptionType": "string"
          },
          "storageAccountType": "string"
        },
        "name": "string",
        "osType": "string",
        "vhd": {
          "uri": "string"
        },
        "writeAcceleratorEnabled": "bool"
      }
    },
    "userData": "string"
  }
}

属性值

virtualMachineScaleSets/virtualMachines

名字 描述 价值
类型 资源类型 “Microsoft.Compute/virtualMachineScaleSets/virtualMachines”
apiVersion 资源 API 版本 '2024-07-01'
名字 资源名称

了解如何在 JSON ARM 模板中设置子资源的名称和类型。
string (必需)
位置 资源位置 string (必需)
标签 资源标记 标记名称和值的字典。 请参阅模板 中的 标记
身份 虚拟机的标识(如果已配置)。 VirtualMachineIdentity
计划 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 计划
性能 描述虚拟机规模集虚拟机的属性。 VirtualMachineScaleSetVMProperties

VirtualMachineIdentity

名字 描述 价值
类型 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 “None”
“SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
userAssignedIdentities 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

计划

名字 描述 价值
名字 计划 ID。 字符串
产品 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 字符串
promotionCode 促销代码。 字符串
发行人 发布者 ID。 字符串

VirtualMachineScaleSetVMProperties

名字 描述 价值
additionalCapabilities 指定在规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用UltraSSD_LRS存储帐户类型附加托管数据磁盘。 AdditionalCapabilities
availabilitySet 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure中虚拟机的 维护和更新。 目前,只能在创建时将 VM 添加到可用性集。 无法将现有 VM 添加到可用性集。 SubResource
diagnosticsProfile 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 DiagnosticsProfile
hardwareProfile 指定虚拟机的硬件设置。 HardwareProfile
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
networkProfileConfiguration 指定虚拟机的网络配置文件配置。 VirtualMachineScaleSetVMNetworkProfileConfiguration
osProfile 指定虚拟机的操作系统设置。 OSProfile
protectionPolicy 指定虚拟机的保护策略。 VirtualMachineScaleSetVMProtectionPolicy
securityProfile 指定虚拟机的安全相关配置文件设置。 SecurityProfile
storageProfile 指定虚拟机磁盘的存储设置。 StorageProfile
userData VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 字符串

AdditionalCapabilities

名字 描述 价值
hibernationEnabled 在 VM 上启用或禁用休眠功能的标志。 bool
ultraSSDEnabled 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 bool

SubResource

名字 描述 价值
id 资源 ID 字符串

DiagnosticsProfile

名字 描述 价值
bootDiagnostics 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 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”
vmSizeProperties 指定用于自定义虚拟机大小的属性。 最低 API 版本:2021-07-01。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 VMSizeProperties

VMSizeProperties

名字 描述 价值
vCPUUsAvailable 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小 int
vCPUUsPerCore 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 int

NetworkProfile

名字 描述 价值
networkApiVersion 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 '2020-11-01'
networkInterfaceConfigurations 指定将用于创建虚拟机网络资源的网络配置。 VirtualMachineNetworkInterfaceConfiguration[]
networkInterfaces 指定与虚拟机关联的网络接口的资源 ID 列表。 NetworkInterfaceReference[]

VirtualMachineNetworkInterfaceConfiguration

名字 描述 价值
名字 网络接口配置名称。 string (必需)
性能 描述虚拟机网络配置文件的 IP 配置。 VirtualMachineNetworkInterfaceConfigurationPropertie...

VirtualMachineNetworkInterfaceConfigurationPropertie...

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“Detach”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
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。 只能将 OrchestrationMode 设置为灵活。 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 (必需)
domainNameLabelScope 将创建的 PublicIPAddress 资源的域名标签范围。 生成的名称标签是哈希域名标签与策略的串联,根据域名标签范围和 vm 网络配置文件唯一 ID。 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

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

VirtualMachineScaleSetVMNetworkProfileConfiguration

名字 描述 价值
networkInterfaceConfigurations 网络配置列表。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetNetworkConfiguration

名字 描述 价值
名字 网络配置名称。 string (必需)
性能 介绍虚拟机规模集网络配置文件的 IP 配置。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“Detach”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
dnsSettings 要应用于网络接口的 dns 设置。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定网络接口是否已启用加速网络。 bool
enableFpga 指定网络接口是否已启用 FPGA 网络。 bool
enableIPForwarding 是否在此 NIC 上启用了 IP 转发。 bool
ipConfigurations 指定网络接口的 IP 配置。 VirtualMachineScaleSetIPConfiguration[] (必需)
networkSecurityGroup 网络安全组。 SubResource
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名字 描述 价值
dnsServers DNS 服务器 IP 地址列表 string[]

VirtualMachineScaleSetIPConfiguration

名字 描述 价值
名字 IP 配置名称。 string (必需)
性能 描述虚拟机规模集网络配置文件的 IP 配置属性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 价值
applicationGatewayBackendAddressPools 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 SubResource[]
applicationSecurityGroups 指定对应用程序安全组的引用数组。 SubResource[]
loadBalancerBackendAddressPools 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
loadBalancerInboundNatPools 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool
privateIPAddressVersion 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
指定子网的标识符。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名字 描述 价值
名字 publicIP 地址配置名称。 string (必需)
性能 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名字 描述 价值
deleteOption 指定删除 VM 时公共 IP 会发生什么情况 “Delete”
“Detach”
dnsSettings 要应用于 publicIP 地址的 dns 设置。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公共 IP 地址的空闲超时。 int
ipTags 与公共 IP 地址关联的 IP 标记列表。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPPrefix 要从中分配 publicIP 地址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名字 描述 价值
domainNameLabel 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 string (必需)
domainNameLabelScope 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

VirtualMachineScaleSetIpTag

名字 描述 价值
ipTagType IP 标记类型。 示例:FirstPartyUsage。 字符串
标记 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 字符串

ApiEntityReference

名字 描述 价值
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID 字符串

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”、“user”、“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 必须设置为 True 或省略的可选属性。 bool
秘密 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。 VaultSecretGroup[]
windowsConfiguration 指定虚拟机上的 Windows 操作系统设置。 WindowsConfiguration

LinuxConfiguration

名字 描述 价值
disablePasswordAuthentication 指定是否应禁用密码身份验证。 bool
enableVMAgentPlatformUpdates 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 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”
automaticByPlatformSettings 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。

可能的值包括:

ImageDefault - 使用虚拟机的默认修补配置。

AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true
“AutomaticByPlatform”
“ImageDefault”

LinuxVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “Always”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串

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”
automaticByPlatformSettings 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 WindowsVMGuestPatchAutomaticByPlatformSettings
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”

WindowsVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “Always”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串
协议 指定 WinRM 侦听器的协议。 可能的值为:http、https。 “Http”
“Https”

VirtualMachineScaleSetVMProtectionPolicy

名字 描述 价值
protectFromScaleIn 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 bool
protectFromScaleSetActions 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 bool

SecurityProfile

名字 描述 价值
encryptionAtHost 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 bool
encryptionIdentity 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 EncryptionIdentity
proxyAgentSettings 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 ProxyAgentSettings
securityType 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 “ConfidentialVM”
“TrustedLaunch”
uefiSettings 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 UefiSettings

EncryptionIdentity

名字 描述 价值
userAssignedIdentityResourceId 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 字符串

ProxyAgentSettings

名字 描述 价值
启用 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 bool
keyIncarnationId 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 int
模式 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 “Audit”
“强制”

UefiSettings

名字 描述 价值
secureBootEnabled 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 bool
vTpmEnabled 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 bool

StorageProfile

名字 描述 价值
dataDisks 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD DataDisk[]
diskControllerType 指定为 VM 配置的磁盘控制器类型。 注意: 如果未指定提供的虚拟机,则会根据指定的最低 API 版本中的操作系统磁盘和 VM 大小的功能,使用“hyperVGeneration”设置为 V2,此属性将设置为默认磁盘控制器类型。 在更新 VM 控制器类型之前,需要解除分配 VM,除非在 VM 配置中更新 VM 大小,该配置隐式解除分配并重新分配 VM。 最低 API 版本:2022-08-01。 “NVMe”
“SCSI”
imageReference 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 ImageReference
osDisk 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD OSDisk

DataDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机数据磁盘时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 空: 创建空数据磁盘时使用此值。 复制: 此值用于从快照或其他磁盘创建数据磁盘。 还原: 此值用于从磁盘还原点创建数据磁盘。 “Attach”
“Copy”
“Empty”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值为:Delete。 如果使用此值,则会在删除 VM 时删除数据磁盘。 分离。 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 Detach “Delete”
“Detach”
detachOption 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览 模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 “ForceDetach”
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 int
图像 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 VirtualHardDisk
指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 int (必需)
managedDisk 托管磁盘参数。 ManagedDiskParameters
名字 磁盘名称。 字符串
sourceResource 源资源标识符。 它可以是用于创建磁盘的快照或磁盘还原点。 ApiEntityReference
toBeDetached 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 bool
vhd 虚拟硬盘。 VirtualHardDisk
writeAcceleratorEnabled 指定是应在磁盘上启用或禁用 writeAccelerator。 bool

VirtualHardDisk

名字 描述 价值
uri 指定虚拟硬盘的 URI。 字符串

ManagedDiskParameters

名字 描述 价值
diskEncryptionSet 指定托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
id 资源 ID 字符串
securityProfile 指定托管磁盘的安全配置文件。 VMDiskSecurityProfile
storageAccountType 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 “PremiumV2_LRS”
“Premium_LRS”
“Premium_ZRS”
“StandardSSD_LRS”
“StandardSSD_ZRS”
“Standard_LRS”
“UltraSSD_LRS”

DiskEncryptionSetParameters

名字 描述 价值
id 资源 ID 字符串

VMDiskSecurityProfile

名字 描述 价值
diskEncryptionSet 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
securityEncryptionType 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 “DiskWithVMGuestState”
“NonPersistedTPM”
“VMGuestStateOnly”

ImageReference

名字 描述 价值
communityGalleryImageId 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 字符串
id 资源 ID 字符串
提供 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 字符串
发行人 映像发布者。 字符串
sharedGalleryImageId 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 字符串
sku 映像 SKU。 字符串
版本 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 字符串

OSDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 “Attach”
“Copy”
“Empty”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值为:Delete。 如果使用此值,则删除 VM 时会删除 OS 磁盘。 分离。 如果使用此值,则会在删除 VM 后保留 os 磁盘。 默认值设置为 Detach。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 “Delete”
“Detach”
diffDiskSettings 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 DiffDiskSettings
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 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、NvmeDisk。 默认行为为:如果为 VM 大小配置了一个,则 CacheDisk;否则,ResourceDisk 或使用 NvmeDisk。 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 NvmeDisk 的最低 API 版本:2024-03-01。 “CacheDisk”
“NvmeDisk”
“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 (必需)

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

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

  • 资源组

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

资源格式

若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualMachines 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Compute/virtualMachineScaleSets/virtualMachines@2024-07-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      additionalCapabilities = {
        hibernationEnabled = bool
        ultraSSDEnabled = bool
      }
      availabilitySet = {
        id = "string"
      }
      diagnosticsProfile = {
        bootDiagnostics = {
          enabled = bool
          storageUri = "string"
        }
      }
      hardwareProfile = {
        vmSize = "string"
        vmSizeProperties = {
          vCPUsAvailable = int
          vCPUsPerCore = int
        }
      }
      licenseType = "string"
      networkProfile = {
        networkApiVersion = "2020-11-01"
        networkInterfaceConfigurations = [
          {
            name = "string"
            properties = {
              auxiliaryMode = "string"
              auxiliarySku = "string"
              deleteOption = "string"
              disableTcpStateTracking = bool
              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"
                          domainNameLabelScope = "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
            }
          }
        ]
      }
      networkProfileConfiguration = {
        networkInterfaceConfigurations = [
          {
            name = "string"
            properties = {
              auxiliaryMode = "string"
              auxiliarySku = "string"
              deleteOption = "string"
              disableTcpStateTracking = bool
              dnsSettings = {
                dnsServers = [
                  "string"
                ]
              }
              enableAcceleratedNetworking = bool
              enableFpga = bool
              enableIPForwarding = bool
              ipConfigurations = [
                {
                  name = "string"
                  properties = {
                    applicationGatewayBackendAddressPools = [
                      {
                        id = "string"
                      }
                    ]
                    applicationSecurityGroups = [
                      {
                        id = "string"
                      }
                    ]
                    loadBalancerBackendAddressPools = [
                      {
                        id = "string"
                      }
                    ]
                    loadBalancerInboundNatPools = [
                      {
                        id = "string"
                      }
                    ]
                    primary = bool
                    privateIPAddressVersion = "string"
                    publicIPAddressConfiguration = {
                      name = "string"
                      properties = {
                        deleteOption = "string"
                        dnsSettings = {
                          domainNameLabel = "string"
                          domainNameLabelScope = "string"
                        }
                        idleTimeoutInMinutes = int
                        ipTags = [
                          {
                            ipTagType = "string"
                            tag = "string"
                          }
                        ]
                        publicIPAddressVersion = "string"
                        publicIPPrefix = {
                          id = "string"
                        }
                      }
                      sku = {
                        name = "string"
                        tier = "string"
                      }
                    }
                    subnet = {
                      id = "string"
                    }
                  }
                }
              ]
              networkSecurityGroup = {
                id = "string"
              }
              primary = bool
            }
          }
        ]
      }
      osProfile = {
        adminPassword = "string"
        adminUsername = "string"
        allowExtensionOperations = bool
        computerName = "string"
        customData = "string"
        linuxConfiguration = {
          disablePasswordAuthentication = bool
          enableVMAgentPlatformUpdates = bool
          patchSettings = {
            assessmentMode = "string"
            automaticByPlatformSettings = {
              bypassPlatformSafetyChecksOnUserSchedule = bool
              rebootSetting = "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"
            automaticByPlatformSettings = {
              bypassPlatformSafetyChecksOnUserSchedule = bool
              rebootSetting = "string"
            }
            enableHotpatching = bool
            patchMode = "string"
          }
          provisionVMAgent = bool
          timeZone = "string"
          winRM = {
            listeners = [
              {
                certificateUrl = "string"
                protocol = "string"
              }
            ]
          }
        }
      }
      protectionPolicy = {
        protectFromScaleIn = bool
        protectFromScaleSetActions = bool
      }
      securityProfile = {
        encryptionAtHost = bool
        encryptionIdentity = {
          userAssignedIdentityResourceId = "string"
        }
        proxyAgentSettings = {
          enabled = bool
          keyIncarnationId = int
          mode = "string"
        }
        securityType = "string"
        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"
              securityProfile = {
                diskEncryptionSet = {
                  id = "string"
                }
                securityEncryptionType = "string"
              }
              storageAccountType = "string"
            }
            name = "string"
            sourceResource = {
              id = "string"
            }
            toBeDetached = bool
            vhd = {
              uri = "string"
            }
            writeAcceleratorEnabled = bool
          }
        ]
        diskControllerType = "string"
        imageReference = {
          communityGalleryImageId = "string"
          id = "string"
          offer = "string"
          publisher = "string"
          sharedGalleryImageId = "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"
            securityProfile = {
              diskEncryptionSet = {
                id = "string"
              }
              securityEncryptionType = "string"
            }
            storageAccountType = "string"
          }
          name = "string"
          osType = "string"
          vhd = {
            uri = "string"
          }
          writeAcceleratorEnabled = bool
        }
      }
      userData = "string"
    }
    plan = {
      name = "string"
      product = "string"
      promotionCode = "string"
      publisher = "string"
    }
  })
}

属性值

virtualMachineScaleSets/virtualMachines

名字 描述 价值
类型 资源类型 “Microsoft.Compute/virtualMachineScaleSets/virtualMachines@2024-07-01”
名字 资源名称 string (必需)
位置 资源位置 string (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:virtualMachineScaleSets
标签 资源标记 标记名称和值的字典。
身份 虚拟机的标识(如果已配置)。 VirtualMachineIdentity
计划 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 计划
性能 描述虚拟机规模集虚拟机的属性。 VirtualMachineScaleSetVMProperties

VirtualMachineIdentity

名字 描述 价值
类型 用于虚拟机的标识类型。 类型“SystemAssigned,UserAssigned”包括隐式创建的标识和一组用户分配的标识。 类型“None”将从虚拟机中删除任何标识。 “SystemAssigned”
“SystemAssigned, UserAssigned”
“UserAssigned”
identity_ids 与虚拟机关联的用户标识列表。 用户标识字典密钥引用的格式为 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 用户标识 ID 的数组。

UserAssignedIdentities

名字 描述 价值
{自定义属性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。

计划

名字 描述 价值
名字 计划 ID。 字符串
产品 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 字符串
promotionCode 促销代码。 字符串
发行人 发布者 ID。 字符串

VirtualMachineScaleSetVMProperties

名字 描述 价值
additionalCapabilities 指定在规模集中的虚拟机上启用或禁用的其他功能。 例如:虚拟机是否能够支持使用UltraSSD_LRS存储帐户类型附加托管数据磁盘。 AdditionalCapabilities
availabilitySet 指定应将虚拟机分配到的可用性集的相关信息。 在同一可用性集中指定的虚拟机分配给不同的节点,以最大程度地提高可用性。 有关可用性集的详细信息,请参阅 可用性集概述。 有关 Azure 计划内维护的详细信息,请参阅 Azure中虚拟机的 维护和更新。 目前,只能在创建时将 VM 添加到可用性集。 无法将现有 VM 添加到可用性集。 SubResource
diagnosticsProfile 指定启动诊断设置状态。 最低 API 版本:2015-06-15。 DiagnosticsProfile
hardwareProfile 指定虚拟机的硬件设置。 HardwareProfile
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
networkProfileConfiguration 指定虚拟机的网络配置文件配置。 VirtualMachineScaleSetVMNetworkProfileConfiguration
osProfile 指定虚拟机的操作系统设置。 OSProfile
protectionPolicy 指定虚拟机的保护策略。 VirtualMachineScaleSetVMProtectionPolicy
securityProfile 指定虚拟机的安全相关配置文件设置。 SecurityProfile
storageProfile 指定虚拟机磁盘的存储设置。 StorageProfile
userData VM 的 UserData(必须进行 base-64 编码)。 客户不应在此处传递任何机密。 最低 API 版本:2021-03-01 字符串

AdditionalCapabilities

名字 描述 价值
hibernationEnabled 在 VM 上启用或禁用休眠功能的标志。 bool
ultraSSDEnabled 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 bool

SubResource

名字 描述 价值
id 资源 ID 字符串

DiagnosticsProfile

名字 描述 价值
bootDiagnostics 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 注意:如果指定 storageUri,请确保存储帐户与 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”
vmSizeProperties 指定用于自定义虚拟机大小的属性。 最低 API 版本:2021-07-01。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 有关详细信息,请按照 VM 自定义 中的说明进行操作。 VMSizeProperties

VMSizeProperties

名字 描述 价值
vCPUUsAvailable 指定可用于 VM 的 vCPU 数。 如果未在请求正文中指定此属性,则默认行为是将其设置为 api 响应中公开的 vCPU 的值,列出区域中所有可用的虚拟机大小 int
vCPUUsPerCore 指定 vCPU 与物理核心比率。 如果未在请求正文中指定此属性,则默认行为设置为 api 响应中公开的 vm 大小的 vCPUUsPerCore 值,列出区域中的所有可用虚拟机大小。 将此属性设置为 1 也意味着禁用了超线程处理。 int

NetworkProfile

名字 描述 价值
networkApiVersion 指定在网络接口配置中创建网络资源时使用的 Microsoft.Network API 版本 "2020-11-01"
networkInterfaceConfigurations 指定将用于创建虚拟机网络资源的网络配置。 VirtualMachineNetworkInterfaceConfiguration[]
networkInterfaces 指定与虚拟机关联的网络接口的资源 ID 列表。 NetworkInterfaceReference[]

VirtualMachineNetworkInterfaceConfiguration

名字 描述 价值
名字 网络接口配置名称。 string (必需)
性能 描述虚拟机网络配置文件的 IP 配置。 VirtualMachineNetworkInterfaceConfigurationPropertie...

VirtualMachineNetworkInterfaceConfigurationPropertie...

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“分离”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
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。 只能将 OrchestrationMode 设置为灵活。 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 (必需)
domainNameLabelScope 将创建的 PublicIPAddress 资源的域名标签范围。 生成的名称标签是哈希域名标签与策略的串联,根据域名标签范围和 vm 网络配置文件唯一 ID。 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

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

VirtualMachineScaleSetVMNetworkProfileConfiguration

名字 描述 价值
networkInterfaceConfigurations 网络配置列表。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetNetworkConfiguration

名字 描述 价值
名字 网络配置名称。 string (必需)
性能 介绍虚拟机规模集网络配置文件的 IP 配置。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 价值
auxiliaryMode 指定是否为网络接口资源启用辅助模式。 “AcceleratedConnections”
“浮动”
“None”
auxiliarySku 指定是否为网络接口资源启用辅助 SKU。 “A1”
“A2”
“A4”
“A8”
“None”
deleteOption 指定删除 VM 时网络接口发生的情况 “Delete”
“分离”
disableTcpStateTracking 指定是否为 tcp 状态跟踪禁用网络接口。 bool
dnsSettings 要应用于网络接口的 dns 设置。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定网络接口是否已启用加速网络。 bool
enableFpga 指定网络接口是否已启用 FPGA 网络。 bool
enableIPForwarding 是否在此 NIC 上启用了 IP 转发。 bool
ipConfigurations 指定网络接口的 IP 配置。 VirtualMachineScaleSetIPConfiguration[] (必需)
networkSecurityGroup 网络安全组。 SubResource
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名字 描述 价值
dnsServers DNS 服务器 IP 地址列表 string[]

VirtualMachineScaleSetIPConfiguration

名字 描述 价值
名字 IP 配置名称。 string (必需)
性能 描述虚拟机规模集网络配置文件的 IP 配置属性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 价值
applicationGatewayBackendAddressPools 指定对应用程序网关后端地址池的引用数组。 规模集可以引用多个应用程序网关的后端地址池。 多个规模集不能使用相同的应用程序网关。 SubResource[]
applicationSecurityGroups 指定对应用程序安全组的引用数组。 SubResource[]
loadBalancerBackendAddressPools 指定对负载均衡器后端地址池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的后端地址池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
loadBalancerInboundNatPools 指定对负载均衡器的入站 Nat 池的引用数组。 规模集可以引用一个公共负载均衡器和一个内部负载均衡器的入站 NAT 池。 多个规模集不能使用相同的基本 SKU 负载均衡器。 SubResource[]
主要 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 bool
privateIPAddressVersion 从 Api-Version 2017-03-30 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
指定子网的标识符。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名字 描述 价值
名字 publicIP 地址配置名称。 string (必需)
性能 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公共 IP Sku。 只能将 OrchestrationMode 设置为灵活。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名字 描述 价值
deleteOption 指定删除 VM 时公共 IP 会发生什么情况 “Delete”
“分离”
dnsSettings 要应用于 publicIP 地址的 dns 设置。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公共 IP 地址的空闲超时。 int
ipTags 与公共 IP 地址关联的 IP 标记列表。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 从 Api-Version 2019-07-01 开始提供,它表示特定 ipconfiguration 是 IPv4 还是 IPv6。 默认值被视为 IPv4。 可能的值为:“IPv4”和“IPv6”。 “IPv4”
“IPv6”
publicIPPrefix 要从中分配 publicIP 地址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名字 描述 价值
domainNameLabel 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 string (必需)
domainNameLabelScope 域名标签范围。根据域名标签范围和 vm 索引的策略生成的哈希域名标签的串联将是将创建的 PublicIPAddress 资源的域名标签 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

VirtualMachineScaleSetIpTag

名字 描述 价值
ipTagType IP 标记类型。 示例:FirstPartyUsage。 字符串
标记 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 字符串

ApiEntityReference

名字 描述 价值
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID 字符串

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”、“user”、“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 必须设置为 True 或省略的可选属性。 bool
秘密 指定应安装在虚拟机上的证书集。 若要在虚拟机上安装证书,建议使用适用于 Linux 的 Azure Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。 VaultSecretGroup[]
windowsConfiguration 指定虚拟机上的 Windows 操作系统设置。 WindowsConfiguration

LinuxConfiguration

名字 描述 价值
disablePasswordAuthentication 指定是否应禁用密码身份验证。 bool
enableVMAgentPlatformUpdates 指示是否为 Linux 虚拟机启用了 VMAgent 平台更新。 默认值为 false。 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”
automaticByPlatformSettings 指定 Linux 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 来宾修补到 IaaS 虚拟机的模式,或与将 OrchestrationMode 作为灵活业务流程模式的虚拟机规模集关联的虚拟机。

可能的值包括:

ImageDefault - 使用虚拟机的默认修补配置。

AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true
“AutomaticByPlatform”
“ImageDefault”

LinuxVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “始终”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串

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”
automaticByPlatformSettings 指定 Windows 上的 VM 来宾修补中修补程序模式 AutomaticByPlatform 的其他设置。 WindowsVMGuestPatchAutomaticByPlatformSettings
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”
“手动”

WindowsVMGuestPatchAutomaticByPlatformSettings

名字 描述 价值
bypassPlatformSafetyChecksOnUserSchedule 使客户能够在不意外升级的情况下计划修补 bool
rebootSetting 指定所有 AutomaticByPlatform 修补程序安装操作的重新启动设置。 “始终”
“IfRequired”
“永不”
“未知”

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 Key Vault 虚拟机扩展或适用于 Windows的 Azure Key Vault 虚拟机扩展。
字符串
协议 指定 WinRM 侦听器的协议。 可能的值为:http、https。 “Http”
“Https”

VirtualMachineScaleSetVMProtectionPolicy

名字 描述 价值
protectFromScaleIn 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 bool
protectFromScaleSetActions 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 bool

SecurityProfile

名字 描述 价值
encryptionAtHost 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认行为为:除非将此属性设置为 true,否则将禁用主机上的加密。 bool
encryptionIdentity 指定 ADE 用于获取 keyvault 操作的访问令牌的托管标识。 EncryptionIdentity
proxyAgentSettings 在创建虚拟机时指定 ProxyAgent 设置。 最低 API 版本:2023-09-01。 ProxyAgentSettings
securityType 指定虚拟机的 SecurityType。 必须将其设置为任何指定值才能启用 UefiSettings。 默认行为为:除非设置了此属性,否则不会启用 UefiSettings。 “ConfidentialVM”
“TrustedLaunch”
uefiSettings 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 api 版本:2020-12-01。 UefiSettings

EncryptionIdentity

名字 描述 价值
userAssignedIdentityResourceId 指定与 VM 关联的用户标识之一的 ARM 资源 ID。 字符串

ProxyAgentSettings

名字 描述 价值
启用 指定是否应在虚拟机或虚拟机规模集上启用 ProxyAgent 功能。 bool
keyIncarnationId 增加此属性的值允许用户重置用于保护来宾和主机之间的通信通道的密钥。 int
模式 指定在启用该功能时 ProxyAgent 将执行的模式。 ProxyAgent 将开始审核或监视,但不强制对审核模式下主机终结点的请求实施访问控制,而在“强制”模式下,将强制实施访问控制。 默认值为“强制”模式。 “审核”
“强制”

UefiSettings

名字 描述 价值
secureBootEnabled 指定是否应在虚拟机上启用安全启动。 最低 api 版本:2020-12-01。 bool
vTpmEnabled 指定是否应在虚拟机上启用 vTPM。 最低 api 版本:2020-12-01。 bool

StorageProfile

名字 描述 价值
dataDisks 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD DataDisk[]
diskControllerType 指定为 VM 配置的磁盘控制器类型。 注意: 如果未指定提供的虚拟机,则会根据指定的最低 API 版本中的操作系统磁盘和 VM 大小的功能,使用“hyperVGeneration”设置为 V2,此属性将设置为默认磁盘控制器类型。 在更新 VM 控制器类型之前,需要解除分配 VM,除非在 VM 配置中更新 VM 大小,该配置隐式解除分配并重新分配 VM。 最低 API 版本:2022-08-01。 “NVMe”
“SCSI”
imageReference 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 ImageReference
osDisk 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD OSDisk

DataDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机数据磁盘时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 空: 创建空数据磁盘时使用此值。 复制: 此值用于从快照或其他磁盘创建数据磁盘。 还原: 此值用于从磁盘还原点创建数据磁盘。 “附加”
“Copy”
“空”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离数据磁盘。 可能的值为:Delete。 如果使用此值,则会在删除 VM 时删除数据磁盘。 分离。 如果使用此值,则在删除 VM 后保留数据磁盘。 默认值设置为 Detach “Delete”
“分离”
detachOption 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览 模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 “ForceDetach”
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 int
图像 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 VirtualHardDisk
指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 int (必需)
managedDisk 托管磁盘参数。 ManagedDiskParameters
名字 磁盘名称。 字符串
sourceResource 源资源标识符。 它可以是用于创建磁盘的快照或磁盘还原点。 ApiEntityReference
toBeDetached 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 bool
vhd 虚拟硬盘。 VirtualHardDisk
writeAcceleratorEnabled 指定是应在磁盘上启用或禁用 writeAccelerator。 bool

VirtualHardDisk

名字 描述 价值
uri 指定虚拟硬盘的 URI。 字符串

ManagedDiskParameters

名字 描述 价值
diskEncryptionSet 指定托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
id 资源 ID 字符串
securityProfile 指定托管磁盘的安全配置文件。 VMDiskSecurityProfile
storageAccountType 指定托管磁盘的存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 “PremiumV2_LRS”
“Premium_LRS”
“Premium_ZRS”
“StandardSSD_LRS”
“StandardSSD_ZRS”
“Standard_LRS”
“UltraSSD_LRS”

DiskEncryptionSetParameters

名字 描述 价值
id 资源 ID 字符串

VMDiskSecurityProfile

名字 描述 价值
diskEncryptionSet 指定用于客户托管密钥加密的 ConfidentialVM OS 磁盘和 VMGuest Blob 的托管磁盘的客户托管磁盘加密集资源 ID。 DiskEncryptionSetParameters
securityEncryptionType 指定托管磁盘的 EncryptionType。 它设置为 DiskWithVMGuestState,用于加密托管磁盘以及 VMGuestState blob、VMGuestStateOnly 以仅加密 VMGuestState blob,并将 NonPersistedTPM 设置为不保留 VMGuestState blob 中的固件状态。 注意: 只能为机密 VM 设置它。 “DiskWithVMGuestState”
“NonPersistedTPM”
“VMGuestStateOnly”

ImageReference

名字 描述 价值
communityGalleryImageId 为 vm 部署指定社区库映像唯一 ID。 这可以从社区库映像 GET 调用中提取。 字符串
id 资源 ID 字符串
提供 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 字符串
发行人 映像发布者。 字符串
sharedGalleryImageId 为 vm 部署指定共享库映像唯一 ID。 这可以从共享库映像 GET 调用中提取。 字符串
sku 映像 SKU。 字符串
版本 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 请不要对库映像部署使用字段“version”,库映像应始终使用“id”字段进行部署,若要使用库映像的“latest”版本,只需在“id”字段中设置“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}”,而不输入版本。 字符串

OSDisk

名字 描述 价值
缓存 指定缓存要求。 可能的值为:None、ReadOnly、ReadWrite。 默认行为为:标准存储 None。高级存储的 ReadOnly。 “None”
“ReadOnly”
“ReadWrite”
createOption 指定应如何创建虚拟机磁盘。 可能的值是 附加: 使用专用磁盘创建虚拟机时,将使用此值。 FromImage: 使用映像创建虚拟机时使用此值。 如果使用平台映像,还应使用上述 imageReference 元素。 如果使用市场映像,还应使用前面所述的计划元素。 “附加”
“Copy”
“空”
“FromImage”
“还原”(必需)
deleteOption 指定在删除 VM 时是否应删除或分离 OS 磁盘。 可能的值为:Delete。 如果使用此值,则删除 VM 时会删除 OS 磁盘。 分离。 如果使用此值,则会在删除 VM 后保留 os 磁盘。 默认值设置为 Detach。 对于临时 OS 磁盘,默认值设置为 删除。 用户无法更改临时 OS 磁盘的删除选项。 “Delete”
“分离”
diffDiskSettings 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 DiffDiskSettings
diskSizeGB 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 属性“diskSizeGB”是磁盘的字节数 x 1024^3,该值不能大于 1023。 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、NvmeDisk。 默认行为为:如果为 VM 大小配置了一个,则 CacheDisk;否则,ResourceDisk 或使用 NvmeDisk。 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 NvmeDisk 的最低 API 版本:2024-03-01。 “CacheDisk”
“NvmeDisk”
“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 (必需)