你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.Compute virtualMachineScaleSets/virtualmachines 2020-12-01
Bicep 资源定义
可以使用目标操作部署 virtualMachineScaleSets/virtualmachines 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualmachines 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Compute/virtualMachineScaleSets/virtualmachines@2020-12-01' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
plan: {
name: 'string'
product: 'string'
promotionCode: 'string'
publisher: 'string'
}
properties: {
additionalCapabilities: {
ultraSSDEnabled: bool
}
availabilitySet: {
id: 'string'
}
diagnosticsProfile: {
bootDiagnostics: {
enabled: bool
storageUri: 'string'
}
}
hardwareProfile: {
vmSize: 'string'
}
licenseType: 'string'
networkProfile: {
networkInterfaces: [
{
id: 'string'
properties: {
primary: bool
}
}
]
}
networkProfileConfiguration: {
networkInterfaceConfigurations: [
{
id: 'string'
name: 'string'
properties: {
dnsSettings: {
dnsServers: [
'string'
]
}
enableAcceleratedNetworking: bool
enableFpga: bool
enableIPForwarding: bool
ipConfigurations: [
{
id: 'string'
name: 'string'
properties: {
applicationGatewayBackendAddressPools: [
{
id: 'string'
}
]
applicationSecurityGroups: [
{
id: 'string'
}
]
loadBalancerBackendAddressPools: [
{
id: 'string'
}
]
loadBalancerInboundNatPools: [
{
id: 'string'
}
]
primary: bool
privateIPAddressVersion: 'string'
publicIPAddressConfiguration: {
name: 'string'
properties: {
dnsSettings: {
domainNameLabel: 'string'
}
idleTimeoutInMinutes: int
ipTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
publicIPAddressVersion: 'string'
publicIPPrefix: {
id: 'string'
}
}
}
subnet: {
id: 'string'
}
}
}
]
networkSecurityGroup: {
id: 'string'
}
primary: bool
}
}
]
}
osProfile: {
adminPassword: 'string'
adminUsername: 'string'
allowExtensionOperations: bool
computerName: 'string'
customData: 'string'
linuxConfiguration: {
disablePasswordAuthentication: bool
patchSettings: {
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: {
enableHotpatching: bool
patchMode: 'string'
}
provisionVMAgent: bool
timeZone: 'string'
winRM: {
listeners: [
{
certificateUrl: 'string'
protocol: 'string'
}
]
}
}
}
protectionPolicy: {
protectFromScaleIn: bool
protectFromScaleSetActions: bool
}
securityProfile: {
encryptionAtHost: bool
securityType: 'string'
uefiSettings: {
secureBootEnabled: bool
vTpmEnabled: bool
}
}
storageProfile: {
dataDisks: [
{
caching: 'string'
createOption: 'string'
detachOption: 'string'
diskSizeGB: int
image: {
uri: 'string'
}
lun: int
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
id: 'string'
storageAccountType: 'string'
}
name: 'string'
toBeDetached: bool
vhd: {
uri: 'string'
}
writeAcceleratorEnabled: bool
}
]
imageReference: {
id: 'string'
offer: 'string'
publisher: 'string'
sku: 'string'
version: 'string'
}
osDisk: {
caching: 'string'
createOption: 'string'
diffDiskSettings: {
option: 'string'
placement: 'string'
}
diskSizeGB: int
encryptionSettings: {
diskEncryptionKey: {
secretUrl: 'string'
sourceVault: {
id: 'string'
}
}
enabled: bool
keyEncryptionKey: {
keyUrl: 'string'
sourceVault: {
id: 'string'
}
}
}
image: {
uri: 'string'
}
managedDisk: {
diskEncryptionSet: {
id: 'string'
}
id: 'string'
storageAccountType: 'string'
}
name: 'string'
osType: 'string'
vhd: {
uri: 'string'
}
writeAcceleratorEnabled: bool
}
}
}
tags: {
{customized property}: 'string'
}
}
属性值
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
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_A2m_v2” “Standard_A2_v2” “Standard_A3” “Standard_A4” “Standard_A4m_v2” “Standard_A4_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8m_v2” “Standard_A8_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_D16s_v3” “Standard_D16_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2s_v3” “Standard_D2_v2” “Standard_D2_v3” “Standard_D3” “Standard_D32s_v3” “Standard_D32_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4s_v3” “Standard_D4_v2” “Standard_D4_v3” “Standard_D5_v2” “Standard_D64s_v3” “Standard_D64_v3” “Standard_D8s_v3” “Standard_D8_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_E16s_v3” “Standard_E16_v3” “Standard_E2s_v3” “Standard_E2_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32s_v3” “Standard_E32_v3” “Standard_E4s_v3” “Standard_E4_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64s_v3” “Standard_E64_v3” “Standard_E8s_v3” “Standard_E8_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” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
Microsoft.Compute/virtualMachineScaleSets/virtualmachines
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源位置 | string (必需) |
名字 | 资源名称 | string (必需) |
父母 | 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。 有关详细信息,请参阅 父资源外部的子资源。 |
类型资源的符号名称:virtualMachineScaleSets |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集虚拟机的属性。 | VirtualMachineScaleSetVMProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
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 个字符 <li> 有关对 Linux VM 的根访问权限,请参阅 使用 Azure 中的 Linux 虚拟机上的根权限 <li> 有关不应在此字段中使用的 Linux 上的内置系统用户的列表,请参阅 在 Azure 上为 Linux 选择用户名 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux 有关运行非认可的分发版,请参阅 有关非认可分发的信息。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
ResourceTags
名字 | 描述 | 价值 |
---|
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 在 Azure中的 Linux 和 Mac 上为 Linux VM 创建 SSH 密钥。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
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 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 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 |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSettings |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationProperties |
VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
VirtualMachineScaleSetPublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings |
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 |
VirtualMachineScaleSetVMNetworkProfileConfiguration
名字 | 描述 | 价值 |
---|---|---|
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
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 |
VirtualMachineScaleSetVMProtectionPolicy
名字 | 描述 | 价值 |
---|---|---|
protectFromScaleIn | 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 | bool |
protectFromScaleSetActions | 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 | bool |
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 |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“<Base64 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |
ARM 模板资源定义
可以使用目标操作部署 virtualMachineScaleSets/virtualmachines 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualmachines 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Compute/virtualMachineScaleSets/virtualmachines",
"apiVersion": "2020-12-01",
"name": "string",
"location": "string",
"plan": {
"name": "string",
"product": "string",
"promotionCode": "string",
"publisher": "string"
},
"properties": {
"additionalCapabilities": {
"ultraSSDEnabled": "bool"
},
"availabilitySet": {
"id": "string"
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": "bool",
"storageUri": "string"
}
},
"hardwareProfile": {
"vmSize": "string"
},
"licenseType": "string",
"networkProfile": {
"networkInterfaces": [
{
"id": "string",
"properties": {
"primary": "bool"
}
}
]
},
"networkProfileConfiguration": {
"networkInterfaceConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"dnsSettings": {
"dnsServers": [ "string" ]
},
"enableAcceleratedNetworking": "bool",
"enableFpga": "bool",
"enableIPForwarding": "bool",
"ipConfigurations": [
{
"id": "string",
"name": "string",
"properties": {
"applicationGatewayBackendAddressPools": [
{
"id": "string"
}
],
"applicationSecurityGroups": [
{
"id": "string"
}
],
"loadBalancerBackendAddressPools": [
{
"id": "string"
}
],
"loadBalancerInboundNatPools": [
{
"id": "string"
}
],
"primary": "bool",
"privateIPAddressVersion": "string",
"publicIPAddressConfiguration": {
"name": "string",
"properties": {
"dnsSettings": {
"domainNameLabel": "string"
},
"idleTimeoutInMinutes": "int",
"ipTags": [
{
"ipTagType": "string",
"tag": "string"
}
],
"publicIPAddressVersion": "string",
"publicIPPrefix": {
"id": "string"
}
}
},
"subnet": {
"id": "string"
}
}
}
],
"networkSecurityGroup": {
"id": "string"
},
"primary": "bool"
}
}
]
},
"osProfile": {
"adminPassword": "string",
"adminUsername": "string",
"allowExtensionOperations": "bool",
"computerName": "string",
"customData": "string",
"linuxConfiguration": {
"disablePasswordAuthentication": "bool",
"patchSettings": {
"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": {
"enableHotpatching": "bool",
"patchMode": "string"
},
"provisionVMAgent": "bool",
"timeZone": "string",
"winRM": {
"listeners": [
{
"certificateUrl": "string",
"protocol": "string"
}
]
}
}
},
"protectionPolicy": {
"protectFromScaleIn": "bool",
"protectFromScaleSetActions": "bool"
},
"securityProfile": {
"encryptionAtHost": "bool",
"securityType": "string",
"uefiSettings": {
"secureBootEnabled": "bool",
"vTpmEnabled": "bool"
}
},
"storageProfile": {
"dataDisks": [
{
"caching": "string",
"createOption": "string",
"detachOption": "string",
"diskSizeGB": "int",
"image": {
"uri": "string"
},
"lun": "int",
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"id": "string",
"storageAccountType": "string"
},
"name": "string",
"toBeDetached": "bool",
"vhd": {
"uri": "string"
},
"writeAcceleratorEnabled": "bool"
}
],
"imageReference": {
"id": "string",
"offer": "string",
"publisher": "string",
"sku": "string",
"version": "string"
},
"osDisk": {
"caching": "string",
"createOption": "string",
"diffDiskSettings": {
"option": "string",
"placement": "string"
},
"diskSizeGB": "int",
"encryptionSettings": {
"diskEncryptionKey": {
"secretUrl": "string",
"sourceVault": {
"id": "string"
}
},
"enabled": "bool",
"keyEncryptionKey": {
"keyUrl": "string",
"sourceVault": {
"id": "string"
}
}
},
"image": {
"uri": "string"
},
"managedDisk": {
"diskEncryptionSet": {
"id": "string"
},
"id": "string",
"storageAccountType": "string"
},
"name": "string",
"osType": "string",
"vhd": {
"uri": "string"
},
"writeAcceleratorEnabled": "bool"
}
}
},
"tags": {
"{customized property}": "string"
}
}
属性值
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
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_A2m_v2” “Standard_A2_v2” “Standard_A3” “Standard_A4” “Standard_A4m_v2” “Standard_A4_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8m_v2” “Standard_A8_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_D16s_v3” “Standard_D16_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2s_v3” “Standard_D2_v2” “Standard_D2_v3” “Standard_D3” “Standard_D32s_v3” “Standard_D32_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4s_v3” “Standard_D4_v2” “Standard_D4_v3” “Standard_D5_v2” “Standard_D64s_v3” “Standard_D64_v3” “Standard_D8s_v3” “Standard_D8_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_E16s_v3” “Standard_E16_v3” “Standard_E2s_v3” “Standard_E2_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32s_v3” “Standard_E32_v3” “Standard_E4s_v3” “Standard_E4_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64s_v3” “Standard_E64_v3” “Standard_E8s_v3” “Standard_E8_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” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
Microsoft.Compute/virtualMachineScaleSets/virtualmachines
名字 | 描述 | 价值 |
---|---|---|
apiVersion | API 版本 | '2020-12-01' |
位置 | 资源位置 | string (必需) |
名字 | 资源名称 | string (必需) |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集虚拟机的属性。 | VirtualMachineScaleSetVMProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
类型 | 资源类型 | “Microsoft.Compute/virtualMachineScaleSets/virtualmachines” |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
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 个字符 <li> 有关对 Linux VM 的根访问权限,请参阅 使用 Azure 中的 Linux 虚拟机上的根权限 <li> 有关不应在此字段中使用的 Linux 上的内置系统用户的列表,请参阅 在 Azure 上为 Linux 选择用户名 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux 有关运行非认可的分发版,请参阅 有关非认可分发的信息。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
ResourceTags
名字 | 描述 | 价值 |
---|
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 在 Azure中的 Linux 和 Mac 上为 Linux VM 创建 SSH 密钥。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
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 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 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 |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSettings |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationProperties |
VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
VirtualMachineScaleSetPublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings |
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 |
VirtualMachineScaleSetVMNetworkProfileConfiguration
名字 | 描述 | 价值 |
---|---|---|
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
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 |
VirtualMachineScaleSetVMProtectionPolicy
名字 | 描述 | 价值 |
---|---|---|
protectFromScaleIn | 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 | bool |
protectFromScaleSetActions | 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 | bool |
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 |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“<Base64 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 virtualMachineScaleSets/virtualmachines 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Compute/virtualMachineScaleSets/virtualmachines 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Compute/virtualMachineScaleSets/virtualmachines@2020-12-01"
name = "string"
location = "string"
plan = {
name = "string"
product = "string"
promotionCode = "string"
publisher = "string"
}
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
additionalCapabilities = {
ultraSSDEnabled = bool
}
availabilitySet = {
id = "string"
}
diagnosticsProfile = {
bootDiagnostics = {
enabled = bool
storageUri = "string"
}
}
hardwareProfile = {
vmSize = "string"
}
licenseType = "string"
networkProfile = {
networkInterfaces = [
{
id = "string"
properties = {
primary = bool
}
}
]
}
networkProfileConfiguration = {
networkInterfaceConfigurations = [
{
id = "string"
name = "string"
properties = {
dnsSettings = {
dnsServers = [
"string"
]
}
enableAcceleratedNetworking = bool
enableFpga = bool
enableIPForwarding = bool
ipConfigurations = [
{
id = "string"
name = "string"
properties = {
applicationGatewayBackendAddressPools = [
{
id = "string"
}
]
applicationSecurityGroups = [
{
id = "string"
}
]
loadBalancerBackendAddressPools = [
{
id = "string"
}
]
loadBalancerInboundNatPools = [
{
id = "string"
}
]
primary = bool
privateIPAddressVersion = "string"
publicIPAddressConfiguration = {
name = "string"
properties = {
dnsSettings = {
domainNameLabel = "string"
}
idleTimeoutInMinutes = int
ipTags = [
{
ipTagType = "string"
tag = "string"
}
]
publicIPAddressVersion = "string"
publicIPPrefix = {
id = "string"
}
}
}
subnet = {
id = "string"
}
}
}
]
networkSecurityGroup = {
id = "string"
}
primary = bool
}
}
]
}
osProfile = {
adminPassword = "string"
adminUsername = "string"
allowExtensionOperations = bool
computerName = "string"
customData = "string"
linuxConfiguration = {
disablePasswordAuthentication = bool
patchSettings = {
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 = {
enableHotpatching = bool
patchMode = "string"
}
provisionVMAgent = bool
timeZone = "string"
winRM = {
listeners = [
{
certificateUrl = "string"
protocol = "string"
}
]
}
}
}
protectionPolicy = {
protectFromScaleIn = bool
protectFromScaleSetActions = bool
}
securityProfile = {
encryptionAtHost = bool
securityType = "string"
uefiSettings = {
secureBootEnabled = bool
vTpmEnabled = bool
}
}
storageProfile = {
dataDisks = [
{
caching = "string"
createOption = "string"
detachOption = "string"
diskSizeGB = int
image = {
uri = "string"
}
lun = int
managedDisk = {
diskEncryptionSet = {
id = "string"
}
id = "string"
storageAccountType = "string"
}
name = "string"
toBeDetached = bool
vhd = {
uri = "string"
}
writeAcceleratorEnabled = bool
}
]
imageReference = {
id = "string"
offer = "string"
publisher = "string"
sku = "string"
version = "string"
}
osDisk = {
caching = "string"
createOption = "string"
diffDiskSettings = {
option = "string"
placement = "string"
}
diskSizeGB = int
encryptionSettings = {
diskEncryptionKey = {
secretUrl = "string"
sourceVault = {
id = "string"
}
}
enabled = bool
keyEncryptionKey = {
keyUrl = "string"
sourceVault = {
id = "string"
}
}
}
image = {
uri = "string"
}
managedDisk = {
diskEncryptionSet = {
id = "string"
}
id = "string"
storageAccountType = "string"
}
name = "string"
osType = "string"
vhd = {
uri = "string"
}
writeAcceleratorEnabled = bool
}
}
}
})
}
属性值
AdditionalCapabilities
名字 | 描述 | 价值 |
---|---|---|
ultraSSDEnabled | 启用或禁用在 VM 或 VMSS 上具有一个或多个具有UltraSSD_LRS存储帐户类型的托管数据磁盘的功能的标志。 仅当此属性已启用时,才能将存储帐户类型UltraSSD_LRS的托管磁盘添加到虚拟机或虚拟机规模集。 | bool |
AdditionalUnattendContent
名字 | 描述 | 价值 |
---|---|---|
componentName | 组件名称。 目前,唯一允许的值是Microsoft-Windows-Shell-Setup。 | “Microsoft-Windows-Shell-Setup” |
内容 | 指定为指定路径和组件添加到 unattend.xml 文件的 XML 格式化内容。 XML 必须小于 4KB,并且必须包含要插入的设置或功能的根元素。 | 字符串 |
passName | 传递名称。 目前,唯一允许的值是 OobeSystem。 | “OobeSystem” |
settingName | 指定内容应用到的设置的名称。 可能的值包括:FirstLogonCommands 和 AutoLogon。 | “AutoLogon” “FirstLogonCommands” |
ApiEntityReference
名字 | 描述 | 价值 |
---|---|---|
id | /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 资源 ID | 字符串 |
BootDiagnostics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否应在虚拟机上启用启动诊断。 | bool |
storageUri | 用于放置控制台输出和屏幕截图的存储帐户的 URI。 如果在启用启动诊断时未指定 storageUri,则会使用托管存储。 |
字符串 |
DataDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 None。高级存储的 ReadOnly |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
detachOption | 指定要在分离磁盘时使用的分离行为,或者已在从虚拟机分离过程中使用。 支持的值:ForceDetach。 detachOption:ForceDetach 仅适用于托管数据磁盘。 如果以前由于虚拟机意外故障而未完成数据磁盘的分离尝试,并且磁盘仍未释放,则使用强制分离作为最后手段选项从 VM 强行分离磁盘。 使用此分离行为时,可能不会刷新所有写入。 此功能仍处于预览模式,VirtualMachineScaleSet 不支持此功能。 若要强制分离数据磁盘更新到BeDetached 到“true”,以及设置 detachOption:“ForceDetach”。 |
“ForceDetach” |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
伦 | 指定数据磁盘的逻辑单元号。 此值用于标识 VM 中的数据磁盘,因此对于附加到 VM 的每个数据磁盘必须是唯一的。 | int (必需) |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
toBeDetached | 指定数据磁盘是否正在从 VirtualMachine/VirtualMachineScaleset 分离 | bool |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
DiagnosticsProfile
名字 | 描述 | 价值 |
---|---|---|
bootDiagnostics | 启动诊断是一项调试功能,可用于查看控制台输出和屏幕截图来诊断 VM 状态。 可以轻松查看控制台日志的输出。 通过 Azure,还可以从虚拟机监控程序查看 VM 的屏幕截图。 |
BootDiagnostics |
DiffDiskSettings
名字 | 描述 | 价值 |
---|---|---|
选择 | 指定操作系统磁盘的临时磁盘设置。 | “Local” |
放置 | 指定操作系统磁盘的临时磁盘放置。 可能的值包括: CacheDisk ResourceDisk 默认值:如果为 VM 大小配置了缓存磁盘,则 请参阅 /azure/virtual-machines/windows/size 和 /azure/virtual-machines/linux/size 上的 Windows VM 的 VM 大小文档,以检查哪些 VM 大小公开缓存磁盘。 |
“CacheDisk” “ResourceDisk” |
DiskEncryptionSetParameters
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
DiskEncryptionSettings
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionKey | 指定磁盘加密密钥的位置,该密钥是 Key Vault 机密。 | KeyVaultSecretReference |
启用 | 指定是否应在虚拟机上启用磁盘加密。 | bool |
keyEncryptionKey | 指定 Key Vault 中密钥加密密钥的位置。 | KeyVaultKeyReference |
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_A2m_v2” “Standard_A2_v2” “Standard_A3” “Standard_A4” “Standard_A4m_v2” “Standard_A4_v2” “Standard_A5” “Standard_A6” “Standard_A7” “Standard_A8” “Standard_A8m_v2” “Standard_A8_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_D16s_v3” “Standard_D16_v3” “Standard_D1_v2” “Standard_D2” “Standard_D2s_v3” “Standard_D2_v2” “Standard_D2_v3” “Standard_D3” “Standard_D32s_v3” “Standard_D32_v3” “Standard_D3_v2” “Standard_D4” “Standard_D4s_v3” “Standard_D4_v2” “Standard_D4_v3” “Standard_D5_v2” “Standard_D64s_v3” “Standard_D64_v3” “Standard_D8s_v3” “Standard_D8_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_E16s_v3” “Standard_E16_v3” “Standard_E2s_v3” “Standard_E2_v3” “Standard_E32-16_v3” “Standard_E32-8s_v3” “Standard_E32s_v3” “Standard_E32_v3” “Standard_E4s_v3” “Standard_E4_v3” “Standard_E64-16s_v3” “Standard_E64-32s_v3” “Standard_E64s_v3” “Standard_E64_v3” “Standard_E8s_v3” “Standard_E8_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” |
ImageReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
提供 | 指定用于创建虚拟机的平台映像或市场映像的产品/服务。 | 字符串 |
发行人 | 映像发布者。 | 字符串 |
sku | 映像 SKU。 | 字符串 |
版本 | 指定用于创建虚拟机的平台映像或市场映像的版本。 允许的格式为 Major.Minor.Build 或“latest”。 主要、次要和生成是十进制数。 指定“latest”以在部署时使用可用映像的最新版本。 即使使用“最新”,即使新版本可用,VM 映像也不会在部署后自动更新。 | 字符串 |
KeyVaultKeyReference
名字 | 描述 | 价值 |
---|---|---|
keyUrl | 引用 Key Vault 中的密钥加密密钥的 URL。 | string (必需) |
sourceVault | 包含密钥的 Key Vault 的相对 URL。 | SubResource (必需) |
KeyVaultSecretReference
名字 | 描述 | 价值 |
---|---|---|
secretUrl | 引用 Key Vault 中的机密的 URL。 | string (必需) |
sourceVault | 包含机密的 Key Vault 的相对 URL。 | SubResource (必需) |
LinuxConfiguration
名字 | 描述 | 价值 |
---|---|---|
disablePasswordAuthentication | 指定是否应禁用密码身份验证。 | bool |
patchSettings | [预览功能]指定与 Linux 上的 VM 来宾修补相关的设置。 | LinuxPatchSettings |
provisionVMAgent | 指示是否应在虚拟机上预配虚拟机代理。 如果未在请求正文中指定此属性,则默认行为是将其设置为 true。 这将确保 VM 代理安装在 VM 上,以便以后可以向 VM 添加扩展。 |
bool |
ssh | 指定 Linux OS 的 ssh 密钥配置。 | SshConfiguration |
LinuxPatchSettings
名字 | 描述 | 价值 |
---|---|---|
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: ImageDefault - 使用虚拟机的默认修补配置。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 必须为 true |
“AutomaticByPlatform” “ImageDefault” |
ManagedDiskParameters
名字 | 描述 | 价值 |
---|---|---|
diskEncryptionSet | 指定托管磁盘的客户托管磁盘加密集资源 ID。 | DiskEncryptionSetParameters |
id | 资源 ID | 字符串 |
storageAccountType | 指定托管磁盘的存储帐户类型。 只能在创建规模集时设置托管 OS 磁盘存储帐户类型。 注意:UltraSSD_LRS只能与数据磁盘一起使用,它不能与 OS 磁盘一起使用。 | “Premium_LRS” “Premium_ZRS” “StandardSSD_LRS” “StandardSSD_ZRS” “Standard_LRS” “UltraSSD_LRS” |
Microsoft.Compute/virtualMachineScaleSets/virtualmachines
名字 | 描述 | 价值 |
---|---|---|
位置 | 资源位置 | string (必需) |
名字 | 资源名称 | string (必需) |
parent_id | 此资源的父资源的 ID。 | 类型资源的 ID:virtualMachineScaleSets |
计划 | 指定有关用于创建虚拟机的市场映像的信息。 此元素仅用于市场映像。 必须先启用映像以编程方式使用映像,然后才能从 API 使用市场映像。 在 Azure 门户中,找到要使用的市场映像,然后单击 想要以编程方式部署,开始使用 ->。 输入任何必需的信息,然后单击“保存 |
计划 |
性能 | 描述虚拟机规模集虚拟机的属性。 | VirtualMachineScaleSetVMProperties |
标签 | 资源标记 | 标记名称和值的字典。 |
类型 | 资源类型 | “Microsoft.Compute/virtualMachineScaleSets/virtualmachines@2020-12-01” |
NetworkInterfaceReference
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
性能 | 描述网络接口引用属性。 | NetworkInterfaceReferenceProperties |
NetworkInterfaceReferenceProperties
名字 | 描述 | 价值 |
---|---|---|
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
NetworkProfile
名字 | 描述 | 价值 |
---|---|---|
networkInterfaces | 指定与虚拟机关联的网络接口的资源 ID 列表。 | NetworkInterfaceReference[] |
OSDisk
名字 | 描述 | 价值 |
---|---|---|
缓存 | 指定缓存要求。 可能的值包括: 无 ReadOnly ReadWrite 默认值:标准存储 无。 高级存储的 ReadOnly。 |
“None” “ReadOnly” “ReadWrite” |
createOption | 指定应如何创建虚拟机。 可能的值包括: 附加 \u2013 使用专用磁盘创建虚拟机时,将使用此值。 FromImage \u2013 使用映像创建虚拟机时使用此值。 如果使用平台映像,则还使用上述 imageReference 元素。 如果使用市场映像,则还会使用前面所述的计划元素。 |
“Attach” “Empty” “FromImage”(必需) |
diffDiskSettings | 指定虚拟机使用的操作系统磁盘的临时磁盘设置。 | DiffDiskSettings |
diskSizeGB | 指定空数据磁盘的大小(以 GB 为单位)。 此元素可用于覆盖虚拟机映像中的磁盘大小。 此值不能大于 1023 GB |
int |
encryptionSettings | 指定 OS 磁盘的加密设置。 最低 API 版本:2015-06-15 |
DiskEncryptionSettings |
图像 | 源用户映像虚拟硬盘。 在附加到虚拟机之前,将复制虚拟硬盘。 如果提供了 SourceImage,则目标虚拟硬盘驱动器不得存在。 | VirtualHardDisk |
managedDisk | 托管磁盘参数。 | ManagedDiskParameters |
名字 | 磁盘名称。 | 字符串 |
osType | 此属性允许指定从用户映像或专用 VHD 创建 VM 时磁盘中包含的 OS 类型。 可能的值包括: Windows Linux |
“Linux” “Windows” |
vhd | 虚拟硬盘。 | VirtualHardDisk |
writeAcceleratorEnabled | 指定是应在磁盘上启用或禁用 writeAccelerator。 | bool |
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 个字符 <li> 有关对 Linux VM 的根访问权限,请参阅 使用 Azure 中的 Linux 虚拟机上的根权限 <li> 有关不应在此字段中使用的 Linux 上的内置系统用户的列表,请参阅 在 Azure 上为 Linux 选择用户名 |
字符串 |
allowExtensionOperations | 指定是否应在虚拟机上允许扩展操作。 仅当虚拟机上没有扩展时,此选项才可能设置为 False。 |
bool |
computerName | 指定虚拟机的主机 OS 名称。 创建 VM 后,无法更新此名称。 最大长度(Windows): 15 个字符 最大长度(Linux): 64 个字符。 有关命名约定和限制,请参阅 Azure 基础结构服务实现指南。 |
字符串 |
customData | 指定自定义数据的 base-64 编码字符串。 base-64 编码字符串将解码为作为虚拟机上的文件保存的二进制数组。 二进制数组的最大长度为 65535 字节。 注意:不要在 customData 属性中传递任何机密或密码 创建 VM 后,无法更新此属性。 customData 将传递给要另存为文件的 VM,有关详细信息,请参阅 Azure VM 上的自定义数据 有关将 cloud-init 用于 Linux VM,请参阅 使用 cloud-init 在创建期间自定义 Linux VM |
字符串 |
linuxConfiguration | 指定虚拟机上的 Linux 操作系统设置。 有关受支持的 Linux 分发版的列表,请参阅 Azure-Endorsed 分发版上的 Linux 有关运行非认可的分发版,请参阅 有关非认可分发的信息。 |
LinuxConfiguration |
requireGuestProvisionSignal | 指定是否需要来宾预配信号来推断虚拟机的预配成功。 注意:此属性仅用于专用测试,所有客户不得将属性设置为 false。 | bool |
秘密 | 指定应安装在虚拟机上的证书集。 | VaultSecretGroup[] |
windowsConfiguration | 指定虚拟机上的 Windows 操作系统设置。 | WindowsConfiguration |
PatchSettings
名字 | 描述 | 价值 |
---|---|---|
enableHotpatching | 使客户无需重新启动即可修补其 Azure VM。 对于 enableHotpatching,必须将“provisionVMAgent”设置为 true,并且“patchMode”必须设置为“AutomaticByPlatform”。 | bool |
patchMode | 指定 VM 来宾修补到 IaaS 虚拟机的模式。 可能的值包括: 手动 - 可以控制将修补程序应用到虚拟机。 为此,请在 VM 中手动应用修补程序。 在此模式下,自动更新处于禁用状态;属性 WindowsConfiguration.enableAutomaticUpdates 必须为 false AutomaticByOS - 虚拟机将由 OS 自动更新。 属性 WindowsConfiguration.enableAutomaticUpdates 必须为 true。 AutomaticByPlatform - 虚拟机将由平台自动更新。 属性 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 必须为 true |
“AutomaticByOS” “AutomaticByPlatform” “Manual” |
计划
名字 | 描述 | 价值 |
---|---|---|
名字 | 计划 ID。 | 字符串 |
产品 | 指定来自市场的映像的产品。 此值与 imageReference 元素下的 Offer 相同。 | 字符串 |
promotionCode | 促销代码。 | 字符串 |
发行人 | 发布者 ID。 | 字符串 |
ResourceTags
名字 | 描述 | 价值 |
---|
SecurityProfile
名字 | 描述 | 价值 |
---|---|---|
encryptionAtHost | 用户可以在请求中使用此属性来启用或禁用虚拟机或虚拟机规模集的主机加密。 这将为所有磁盘启用加密,包括主机本身的资源/临时磁盘。 默认值:除非将此属性设置为 true,否则将禁用主机上的加密。 |
bool |
securityType | 指定虚拟机的 SecurityType。 它设置为 TrustedLaunch 以启用 UefiSettings。 默认值:除非此属性设置为 TrustedLaunch,否则不会启用 UefiSettings。 |
“TrustedLaunch” |
uefiSettings | 指定在创建虚拟机时使用的安全启动和 vTPM 等安全设置。 最低 API 版本:2020-12-01 |
UefiSettings |
SshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 | SshPublicKey[] |
SshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 ssh 向 VM 进行身份验证的 SSH 公钥证书。 密钥必须至少为 2048 位且采用 ssh-rsa 格式。 有关创建 ssh 密钥,请参阅 在 Azure中的 Linux 和 Mac 上为 Linux VM 创建 SSH 密钥。 |
字符串 |
路径 | 指定存储 ssh 公钥的已创建 VM 上的完整路径。 如果文件已存在,则指定的键将追加到该文件中。 示例:/home/user/.ssh/authorized_keys | 字符串 |
StorageProfile
名字 | 描述 | 价值 |
---|---|---|
dataDisks | 指定用于向虚拟机添加数据磁盘的参数。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
DataDisk[] |
imageReference | 指定要使用的图像的信息。 可以指定有关平台映像、市场映像或虚拟机映像的信息。 若要使用平台映像、市场映像或虚拟机映像,但不在其他创建操作中使用,则需要此元素。 | ImageReference |
osDisk | 指定有关虚拟机使用的操作系统磁盘的信息。 有关磁盘的详细信息,请参阅 关于 Azure 虚拟机的磁盘和 VHD。 |
OSDisk |
SubResource
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
UefiSettings
名字 | 描述 | 价值 |
---|---|---|
secureBootEnabled | 指定是否应在虚拟机上启用安全启动。 最低 API 版本:2020-12-01 |
bool |
vTpmEnabled | 指定是否应在虚拟机上启用 vTPM。 最低 API 版本:2020-12-01 |
bool |
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 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
VaultSecretGroup
名字 | 描述 | 价值 |
---|---|---|
sourceVault | Key Vault 的相对 URL,其中包含 VaultCertificates 中的所有证书。 | SubResource |
vaultCertificates | SourceVault 中包含证书的密钥保管库引用列表。 | VaultCertificate[] |
VirtualHardDisk
名字 | 描述 | 价值 |
---|---|---|
uri | 指定虚拟硬盘的 URI。 | 字符串 |
VirtualMachineScaleSetIPConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 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 |
VirtualMachineScaleSetIpTag
名字 | 描述 | 价值 |
---|---|---|
ipTagType | IP 标记类型。 示例:FirstPartyUsage。 | 字符串 |
标记 | 与公共 IP 关联的 IP 标记。 示例:SQL、存储等。 | 字符串 |
VirtualMachineScaleSetNetworkConfiguration
名字 | 描述 | 价值 |
---|---|---|
id | 资源 ID | 字符串 |
名字 | 网络配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集网络配置文件的 IP 配置。 | VirtualMachineScaleSetNetworkConfigurationProperties |
VirtualMachineScaleSetNetworkConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
dnsServers | DNS 服务器 IP 地址列表 | string[] |
VirtualMachineScaleSetNetworkConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于网络接口的 dns 设置。 | VirtualMachineScaleSetNetworkConfigurationDnsSettings |
enableAcceleratedNetworking | 指定网络接口是否已启用加速网络。 | bool |
enableFpga | 指定网络接口是否已启用 FPGA 网络。 | bool |
enableIPForwarding | 是否在此 NIC 上启用了 IP 转发。 | bool |
ipConfigurations | 指定网络接口的 IP 配置。 | VirtualMachineScaleSetIPConfiguration[] (必需) |
networkSecurityGroup | 网络安全组。 | SubResource |
主要 | 指定主网络接口,以防虚拟机具有 1 个以上的网络接口。 | bool |
VirtualMachineScaleSetPublicIPAddressConfiguration
名字 | 描述 | 价值 |
---|---|---|
名字 | publicIP 地址配置名称。 | string (必需) |
性能 | 介绍虚拟机规模集 IP 配置的公共 IPAddress 配置 | VirtualMachineScaleSetPublicIPAddressConfigurationProperties |
VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings
名字 | 描述 | 价值 |
---|---|---|
domainNameLabel | 域名标签。域名标签和 vm 索引的串联将是将创建的 PublicIPAddress 资源的域名标签 | string (必需) |
VirtualMachineScaleSetPublicIPAddressConfigurationProperties
名字 | 描述 | 价值 |
---|---|---|
dnsSettings | 要应用于 publicIP 地址的 dns 设置。 | VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings |
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 |
VirtualMachineScaleSetVMNetworkProfileConfiguration
名字 | 描述 | 价值 |
---|---|---|
networkInterfaceConfigurations | 网络配置列表。 | VirtualMachineScaleSetNetworkConfiguration[] |
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 |
VirtualMachineScaleSetVMProtectionPolicy
名字 | 描述 | 价值 |
---|---|---|
protectFromScaleIn | 指示不应将虚拟机规模集 VM 视为在进行缩减操作期间删除。 | bool |
protectFromScaleSetActions | 指示不应将虚拟机规模集上启动的模型更新或操作(包括缩减)应用于虚拟机规模集 VM。 | bool |
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 |
WinRMConfiguration
名字 | 描述 | 价值 |
---|---|---|
听众 | Windows 远程管理侦听器列表 | WinRMListener[] |
WinRMListener
名字 | 描述 | 价值 |
---|---|---|
certificateUrl | 这是已作为机密上传到 Key Vault 的证书的 URL。 若要将机密添加到 Key Vault,请参阅 向密钥保管库添加密钥或机密。 在这种情况下,证书必须是以下 JSON 对象的 Base64 编码,该对象在 UTF-8 中编码: { “data”:“<Base64 编码的证书>”, “dataType”:“pfx”, “password”:“<pfx-file-password>” } |
字符串 |
协议 | 指定 WinRM 侦听器的协议。 可能的值包括: http https |
“Http” “Https” |