共用方式為


Microsoft.VirtualMachineImages imageTemplates

Bicep 資源定義

imageTemplates 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.VirtualMachineImages/imageTemplates 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.VirtualMachineImages/imageTemplates@2024-02-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    autoRun: {
      state: 'string'
    }
    buildTimeoutInMinutes: int
    customize: [
      {
        name: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateCustomizer objects
      }
    ]
    distribute: [
      {
        artifactTags: {}
        runOutputName: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateDistributor objects
      }
    ]
    errorHandling: {
      onCustomizerError: 'string'
      onValidationError: 'string'
    }
    managedResourceTags: {}
    optimize: {
      vmBoot: {
        state: 'string'
      }
    }
    source: {
      type: 'string'
      // For remaining properties, see ImageTemplateSource objects
    }
    stagingResourceGroup: 'string'
    validate: {
      continueDistributeOnFailure: bool
      inVMValidations: [
        {
          name: 'string'
          type: 'string'
          // For remaining properties, see ImageTemplateInVMValidator objects
        }
      ]
      sourceValidationOnly: bool
    }
    vmProfile: {
      osDiskSizeGB: int
      userAssignedIdentities: [
        'string'
      ]
      vmSize: 'string'
      vnetConfig: {
        containerInstanceSubnetId: 'string'
        proxyVmSize: 'string'
        subnetId: 'string'
      }
    }
  }
}

ImageTemplateCustomizer 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  type: 'File'
  destination: 'string'
  sha256Checksum: 'string'
  sourceUri: 'string'

針對 PowerShell,請使用:

  type: 'PowerShell'
  inline: [
    'string'
  ]
  runAsSystem: bool
  runElevated: bool
  scriptUri: 'string'
  sha256Checksum: 'string'
  validExitCodes: [
    int
  ]

針對 Shell,請使用:

  type: 'Shell'
  inline: [
    'string'
  ]
  scriptUri: 'string'
  sha256Checksum: 'string'

針對 windowsRestart,請使用:

  type: 'WindowsRestart'
  restartCheckCommand: 'string'
  restartCommand: 'string'
  restartTimeout: 'string'

若為 WindowsUpdate,請使用:

  type: 'WindowsUpdate'
  filters: [
    'string'
  ]
  searchCriteria: 'string'
  updateLimit: int

ImageTemplateDistributor 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  type: 'ManagedImage'
  imageId: 'string'
  location: 'string'

針對 SharedImage,請使用:

  type: 'SharedImage'
  excludeFromLatest: bool
  galleryImageId: 'string'
  replicationRegions: [
    'string'
  ]
  storageAccountType: 'string'
  targetRegions: [
    {
      name: 'string'
      replicaCount: int
      storageAccountType: 'string'
    }
  ]
  versioning: {
    scheme: 'string'
    // For remaining properties, see DistributeVersioner objects
  }

針對 VHD,請使用:

  type: 'VHD'
  uri: 'string'

DistributeVersioner 物件

設定 設定 屬性,以指定物件的類型。

針對 Latest,請使用:

  scheme: 'Latest'
  major: int

針對 Source,請使用:

  scheme: 'Source'

ImageTemplateSource 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  type: 'ManagedImage'
  imageId: 'string'

針對 PlatformImage,請使用:

  type: 'PlatformImage'
  offer: 'string'
  planInfo: {
    planName: 'string'
    planProduct: 'string'
    planPublisher: 'string'
  }
  publisher: 'string'
  sku: 'string'
  version: 'string'

針對 SharedImageVersion,請使用:

  type: 'SharedImageVersion'
  imageVersionId: 'string'

ImageTemplateInVMValidator 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  type: 'File'
  destination: 'string'
  sha256Checksum: 'string'
  sourceUri: 'string'

針對 PowerShell,請使用:

  type: 'PowerShell'
  inline: [
    'string'
  ]
  runAsSystem: bool
  runElevated: bool
  scriptUri: 'string'
  sha256Checksum: 'string'
  validExitCodes: [
    int
  ]

針對 Shell,請使用:

  type: 'Shell'
  inline: [
    'string'
  ]
  scriptUri: 'string'
  sha256Checksum: 'string'

屬性值

imageTemplates

名字 描述 價值
名字 資源名稱 字串 (必要)
位置 資源所在的地理位置 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。 請參閱範本中的 標籤
身份 如果已設定,則為映像範本的身分識別。 ImageTemplateIdentity (必要)
性能 映像範本的屬性 ImageTemplateProperties

ImageTemplateIdentity

名字 描述 價值
類型 用於映像範本的身分識別類型。 類型 『None』 會從映像範本中移除任何身分識別。 'None'
'UserAssigned'
userAssignedIdentities 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ImageTemplateProperties

名字 描述 價值
autoRun 指出是否要在範本建立或更新時自動執行映像範本組建。 ImageTemplateAutoRun
buildTimeoutInMinutes 建置映像範本時要等候的最大持續時間(包括所有自定義專案、優化、驗證和散發套件)。 省略或指定 0 以使用預設值 (4 小時)。 int

約束:
最小值 = 0
最大值 = 960
自訂 指定用來描述映像自定義步驟的屬性,例如影像來源等 ImageTemplateCustomizer[]
分發 影像輸出需要前往的散發目標。 ImageTemplateDistributor[] (必要)
errorHandling 建置失敗時的錯誤處理選項 ImageTemplatePropertiesErrorHandling
managedResourceTags 將套用至服務所建立之資源群組和/或資源的標記。 物件
優化 指定要在映像上執行的優化。 ImageTemplatePropertiesOptimize
指定用來描述來源影像的屬性。 ImageTemplateSource (必要)
stagingResourceGroup 與用來建置映像之映像範本相同訂用帳戶中的預備資源群組標識碼。 如果此欄位是空的,將會建立具有隨機名稱的資源群組。 如果此欄位中指定的資源群組不存在,則會以相同的名稱建立。 如果指定的資源群組存在,它必須是空的,且位於與映像範本相同的區域中。 如果此欄位是空的,或指定的資源群組不存在,則會在範本刪除期間刪除建立的資源群組,但如果指定的資源群組存在,則會在範本刪除期間刪除資源群組,而且資源群組本身將會保留。 字串
驗證 要對產生的映像執行的組態選項和驗證清單。 ImageTemplatePropertiesValidate
vmProfile 描述虛擬機如何設定以建置映像 ImageTemplateVmProfile

ImageTemplateAutoRun

名字 描述 價值
啟用此欄位將會在映像範本建立或更新時觸發自動建置。 'Disabled'
'Enabled'

ImageTemplateCustomizer

名字 描述 價值
名字 易記名稱,提供此自定義步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
Shell
WindowsRestart
WindowsUpdate (必要)

ImageTemplateFileCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'File' (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳以自定義 VM 之檔案的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串

ImageTemplatePowerShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'PowerShell' (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行自定義之 PowerShell 腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'Shell' (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行自定義之殼層腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateRestartCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'WindowsRestart' (必要)
restartCheckCommand 檢查重新啟動是否成功的命令 [預設值: ''] 字串
restartCommand 執行重新啟動的命令 [預設值: 'shutdown /r /f /t 0 /c “packer restart”'] 字串
restartTimeout 指定為大小和單位字串的重新啟動逾時,例如 '5m' (5 分鐘) 或 '2h' (2 小時) [預設值: '5m'] 字串

ImageTemplateWindowsUpdateCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'WindowsUpdate' (必要)
過濾器 要選取要套用之更新的篩選陣列。 省略或指定空陣列以使用預設值 (沒有篩選條件)。 如需此欄位的範例和詳細描述,請參閱上述連結。 string[]
searchCriteria 搜尋更新的準則。 省略或指定空字串以使用預設值(全部搜尋)。 如需此欄位的範例和詳細描述,請參閱上述連結。 字串
updateLimit 一次要套用的更新數目上限。 省略或指定 0 以使用預設值 (1000) int

約束:
最小值 = 0

ImageTemplateDistributor

名字 描述 價值
artifactTags 散發者建立/更新成品后,將會套用至成品的標記。 物件
runOutputName 要用於相關聯 RunOutput 的名稱。 字串 (必要)

約束:
Pattern = ^[A-Za-z0-9-_.]{1,64}$
類型 設定物件類型 ManagedImage
SharedImage
VHD (必要)

ImageTemplateManagedImageDistributor

名字 描述 價值
類型 分佈類型。 'ManagedImage' (必要)
imageId 受控磁碟映像的資源標識碼 字串 (必要)
位置 映射的 Azure 位置,如果映射已經存在,則應該相符 字串 (必要)

ImageTemplateSharedImageDistributor

名字 描述 價值
類型 分佈類型。 'SharedImage' (必要)
excludeFromLatest 旗標,指出是否應該從最新版本中排除已建立的映像版本。 請省略以使用預設值 (false)。 bool
galleryImageId Azure 計算資源庫映像的資源標識碼 字串 (必要)
replicationRegions [已淘汰]將複寫映像的區域清單。 只有在未指定 targetRegions 時,才能指定此列表。 此欄位已被取代 - 請改用 targetRegions。 string[]
storageAccountType [已淘汰]用來儲存共用映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 只有在指定 replicationRegions 時,才能指定此字段。 此欄位已被取代 - 請改用 targetRegions。 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'
targetRegions 要復寫分散式映像版本的目標區域。 這個物件會取代 replicationRegions,而且只有在未指定 replicationRegions 時才可指定。 TargetRegion[]
versioning 描述如何為散發產生新的 x.y.z 版本號碼。 DistributeVersioner

TargetRegion

名字 描述 價值
名字 區域的名稱。 字串 (必要)
replicaCount 要在此區域中建立之映像版本的複本數目。 省略以使用預設值 (1)。 int

約束:
最小值 = 1
storageAccountType 指定要用來在此區域中儲存映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'

DistributeVersioner

名字 描述 價值
方案 設定物件類型 最新
來源(必要)

DistributeVersionerLatest

名字 描述 價值
方案 要使用的版本編號配置。 'Latest' (必要)
主要 所產生版本號碼的主要版本。 根據以此值作為主要版本的版本,判斷什麼是「最新」。 -1 相當於將它取消設定。 int

DistributeVersionerSource

名字 描述 價值
方案 要使用的版本編號配置。 'Source' (必要)

ImageTemplateVhdDistributor

名字 描述 價值
類型 分佈類型。 'VHD' (必要)
uri 分散式 VHD Blob 的選擇性 Azure 記憶體 URI。 省略以使用預設的 (空字串),在此情況下,VHD 會發佈至預備資源群組中的記憶體帳戶。 字串

ImageTemplatePropertiesErrorHandling

名字 描述 價值
onCustomizerError 如果自定義工具發生錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果自定義工具發生錯誤,且此字段設定為 「中止」,則會保留組建 VM。 'abort'
'cleanup'
onValidationError 如果發生驗證錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果發生驗證錯誤,且此字段設定為 『abort』,則會保留組建 VM。 'abort'
'cleanup'

ImageTemplatePropertiesOptimize

名字 描述 價值
vmBoot 優化會在映像上套用,以加快 VM 開機速度。 ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

名字 描述 價值
啟用此欄位可藉由優化最終自定義映像輸出來改善 VM 開機時間。 'Disabled'
'Enabled'

ImageTemplateSource

名字 描述 價值
類型 設定物件類型 ManagedImage
PlatformImage
SharedImageVersion (必要)

ImageTemplateManagedImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'ManagedImage' (必要)
imageId 客戶訂用帳戶中受控映像的 ARM 資源識別碼 字串 (必要)

ImageTemplatePlatformImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'PlatformImage' (必要)
提供 azure 資源庫映像映像供應專案。 字串
planInfo 平臺映像的選擇性購買方案設定。 PlatformImagePurchasePlan
發行人 Azure 資源庫映像中的映像發行者 字串
sku 來自 Azure 資源庫映像的映像 sku 字串
版本 Azure 資源庫映像中的映射版本。 如果在這裡指定了 'latest',則會在映射組建發生時評估版本,而不是在提交範本時評估。 字串

PlatformImagePurchasePlan

名字 描述 價值
planName 購買方案的名稱。 字串 (必要)
planProduct 購買方案的產品。 字串 (必要)
planPublisher 購買方案的發行者。 字串 (必要)

ImageTemplateSharedImageVersionSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'SharedImageVersion' (必要)
imageVersionId 映像版本的 ARM 資源識別碼。 映射版本名稱為「最新」時,映射組建發生時會評估版本。 字串 (必要)

ImageTemplatePropertiesValidate

名字 描述 價值
continueDistributeOnFailure 如果驗證失敗,且此字段設定為 false,則不會散發輸出影像。 這是預設行為。 如果驗證失敗,且此字段設定為 true,輸出影像仍會散發。 請謹慎使用此選項,因為它可能會導致散發不正確的映像以供使用。 不論是哪一種情況(true 或 false),端對端映射執行都會回報為在驗證失敗時失敗。 [注意:如果驗證成功,此字段就沒有作用。] bool
inVMValidations 要執行的驗證清單。 ImageTemplateInVMValidator[]
sourceValidationOnly 如果此欄位設定為 true,則會直接驗證 'source' 區段中指定的影像。 不會執行個別的組建來產生,然後驗證自定義映像。 bool

ImageTemplateInVMValidator

名字 描述 價值
名字 易記名稱,提供此驗證步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
殼層 (必要)

ImageTemplateFileValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'File' (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳至 VM 以進行驗證之檔案的 URI。 它可以是 github 連結、Azure 記憶體 URI(已授權或 SAS),等等 字串

ImageTemplatePowerShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'PowerShell' (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行驗證的PowerShell腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'Shell' (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行驗證的殼層腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateVmProfile

名字 描述 價值
osDiskSizeGB 以 GB 為單位的 OS 磁碟大小。 省略或指定 0 以使用 Azure 的預設 OS 磁碟大小。 int

約束:
最小值 = 0
userAssignedIdentities 在組建 VM 和驗證 VM 上設定的使用者指派受控識別資源標識碼的選擇性數位。 這可能包括映像範本的身分識別。 string[]
vmSize 用來建置、自定義和擷取映像的虛擬機大小。 省略或指定空字串,以使用 Gen1 映像的預設值 (Standard_D1_v2,以及 Gen2 映射的Standard_D2ds_v4)。 字串
vnetConfig 用來部署組建 VM 和驗證 VM 的虛擬網路選擇性設定。 如果不需要使用任何特定的虛擬網路,請省略 。 VirtualNetworkConfig

VirtualNetworkConfig

名字 描述 價值
containerInstanceSubnetId 將針對隔離組建部署 Azure 容器實例之預先存在的子網資源標識碼。 只有在同時指定 subnetId 且必須與 subnetId中指定的子網位於相同的虛擬網路上時,才能指定此欄位。 字串
proxyVmSize 用來將流量傳遞至組建 VM 和驗證 VM 的 Proxy 虛擬機大小。 如果指定 containerInstanceSubnetId,則不得指定此項目,因為在此情況下不會部署 Proxy 虛擬機。 省略或指定空字串以使用預設值 (Standard_A1_v2)。 字串
subnetId 將部署組建 VM 和驗證 VM 之預先存在的子網資源識別碼 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用 Azure Windows 基準 Azure Image Builder

部署至 Azure
建立 Azure Image Builder 環境,並建置已套用最新 Windows Update 和 Azure Windows 基準的 Windows Server 映射。
設定開發箱服務

部署至 Azure
此範本會根據 Dev Box 快速入門指南建立所有 Dev Box 系統管理員資源(https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box)。 您可以檢視所有建立的資源,或直接移至 DevPortal.microsoft.com 來建立您的第一個開發方塊。

ARM 樣本資源定義

imageTemplates 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.VirtualMachineImages/imageTemplates 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.VirtualMachineImages/imageTemplates",
  "apiVersion": "2024-02-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "autoRun": {
      "state": "string"
    },
    "buildTimeoutInMinutes": "int",
    "customize": [
      {
        "name": "string",
        "type": "string"
        // For remaining properties, see ImageTemplateCustomizer objects
      }
    ],
    "distribute": [
      {
        "artifactTags": {},
        "runOutputName": "string",
        "type": "string"
        // For remaining properties, see ImageTemplateDistributor objects
      }
    ],
    "errorHandling": {
      "onCustomizerError": "string",
      "onValidationError": "string"
    },
    "managedResourceTags": {},
    "optimize": {
      "vmBoot": {
        "state": "string"
      }
    },
    "source": {
      "type": "string"
      // For remaining properties, see ImageTemplateSource objects
    },
    "stagingResourceGroup": "string",
    "validate": {
      "continueDistributeOnFailure": "bool",
      "inVMValidations": [
        {
          "name": "string",
          "type": "string"
          // For remaining properties, see ImageTemplateInVMValidator objects
        }
      ],
      "sourceValidationOnly": "bool"
    },
    "vmProfile": {
      "osDiskSizeGB": "int",
      "userAssignedIdentities": [ "string" ],
      "vmSize": "string",
      "vnetConfig": {
        "containerInstanceSubnetId": "string",
        "proxyVmSize": "string",
        "subnetId": "string"
      }
    }
  }
}

ImageTemplateCustomizer 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  "type": "File",
  "destination": "string",
  "sha256Checksum": "string",
  "sourceUri": "string"

針對 PowerShell,請使用:

  "type": "PowerShell",
  "inline": [ "string" ],
  "runAsSystem": "bool",
  "runElevated": "bool",
  "scriptUri": "string",
  "sha256Checksum": "string",
  "validExitCodes": [ "int" ]

針對 Shell,請使用:

  "type": "Shell",
  "inline": [ "string" ],
  "scriptUri": "string",
  "sha256Checksum": "string"

針對 windowsRestart,請使用:

  "type": "WindowsRestart",
  "restartCheckCommand": "string",
  "restartCommand": "string",
  "restartTimeout": "string"

若為 WindowsUpdate,請使用:

  "type": "WindowsUpdate",
  "filters": [ "string" ],
  "searchCriteria": "string",
  "updateLimit": "int"

ImageTemplateDistributor 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  "type": "ManagedImage",
  "imageId": "string",
  "location": "string"

針對 SharedImage,請使用:

  "type": "SharedImage",
  "excludeFromLatest": "bool",
  "galleryImageId": "string",
  "replicationRegions": [ "string" ],
  "storageAccountType": "string",
  "targetRegions": [
    {
      "name": "string",
      "replicaCount": "int",
      "storageAccountType": "string"
    }
  ],
  "versioning": {
    "scheme": "string"
    // For remaining properties, see DistributeVersioner objects
  }

針對 VHD,請使用:

  "type": "VHD",
  "uri": "string"

DistributeVersioner 物件

設定 設定 屬性,以指定物件的類型。

針對 Latest,請使用:

  "scheme": "Latest",
  "major": "int"

針對 Source,請使用:

  "scheme": "Source"

ImageTemplateSource 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  "type": "ManagedImage",
  "imageId": "string"

針對 PlatformImage,請使用:

  "type": "PlatformImage",
  "offer": "string",
  "planInfo": {
    "planName": "string",
    "planProduct": "string",
    "planPublisher": "string"
  },
  "publisher": "string",
  "sku": "string",
  "version": "string"

針對 SharedImageVersion,請使用:

  "type": "SharedImageVersion",
  "imageVersionId": "string"

ImageTemplateInVMValidator 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  "type": "File",
  "destination": "string",
  "sha256Checksum": "string",
  "sourceUri": "string"

針對 PowerShell,請使用:

  "type": "PowerShell",
  "inline": [ "string" ],
  "runAsSystem": "bool",
  "runElevated": "bool",
  "scriptUri": "string",
  "sha256Checksum": "string",
  "validExitCodes": [ "int" ]

針對 Shell,請使用:

  "type": "Shell",
  "inline": [ "string" ],
  "scriptUri": "string",
  "sha256Checksum": "string"

屬性值

imageTemplates

名字 描述 價值
類型 資源類型 'Microsoft.VirtualMachineImages/imageTemplates'
apiVersion 資源 API 版本 '2024-02-01'
名字 資源名稱 字串 (必要)
位置 資源所在的地理位置 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。 請參閱範本中的 標籤
身份 如果已設定,則為映像範本的身分識別。 ImageTemplateIdentity (必要)
性能 映像範本的屬性 ImageTemplateProperties

ImageTemplateIdentity

名字 描述 價值
類型 用於映像範本的身分識別類型。 類型 『None』 會從映像範本中移除任何身分識別。 'None'
'UserAssigned'
userAssignedIdentities 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 UserAssignedIdentities

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ImageTemplateProperties

名字 描述 價值
autoRun 指出是否要在範本建立或更新時自動執行映像範本組建。 ImageTemplateAutoRun
buildTimeoutInMinutes 建置映像範本時要等候的最大持續時間(包括所有自定義專案、優化、驗證和散發套件)。 省略或指定 0 以使用預設值 (4 小時)。 int

約束:
最小值 = 0
最大值 = 960
自訂 指定用來描述映像自定義步驟的屬性,例如影像來源等 ImageTemplateCustomizer[]
分發 影像輸出需要前往的散發目標。 ImageTemplateDistributor[] (必要)
errorHandling 建置失敗時的錯誤處理選項 ImageTemplatePropertiesErrorHandling
managedResourceTags 將套用至服務所建立之資源群組和/或資源的標記。 物件
優化 指定要在映像上執行的優化。 ImageTemplatePropertiesOptimize
指定用來描述來源影像的屬性。 ImageTemplateSource (必要)
stagingResourceGroup 與用來建置映像之映像範本相同訂用帳戶中的預備資源群組標識碼。 如果此欄位是空的,將會建立具有隨機名稱的資源群組。 如果此欄位中指定的資源群組不存在,則會以相同的名稱建立。 如果指定的資源群組存在,它必須是空的,且位於與映像範本相同的區域中。 如果此欄位是空的,或指定的資源群組不存在,則會在範本刪除期間刪除建立的資源群組,但如果指定的資源群組存在,則會在範本刪除期間刪除資源群組,而且資源群組本身將會保留。 字串
驗證 要對產生的映像執行的組態選項和驗證清單。 ImageTemplatePropertiesValidate
vmProfile 描述虛擬機如何設定以建置映像 ImageTemplateVmProfile

ImageTemplateAutoRun

名字 描述 價值
啟用此欄位將會在映像範本建立或更新時觸發自動建置。 'Disabled'
'Enabled'

ImageTemplateCustomizer

名字 描述 價值
名字 易記名稱,提供此自定義步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
Shell
WindowsRestart
WindowsUpdate (必要)

ImageTemplateFileCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'File' (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳以自定義 VM 之檔案的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串

ImageTemplatePowerShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'PowerShell' (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行自定義之 PowerShell 腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'Shell' (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行自定義之殼層腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateRestartCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'WindowsRestart' (必要)
restartCheckCommand 檢查重新啟動是否成功的命令 [預設值: ''] 字串
restartCommand 執行重新啟動的命令 [預設值: 'shutdown /r /f /t 0 /c “packer restart”'] 字串
restartTimeout 指定為大小和單位字串的重新啟動逾時,例如 '5m' (5 分鐘) 或 '2h' (2 小時) [預設值: '5m'] 字串

ImageTemplateWindowsUpdateCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 'WindowsUpdate' (必要)
過濾器 要選取要套用之更新的篩選陣列。 省略或指定空陣列以使用預設值 (沒有篩選條件)。 如需此欄位的範例和詳細描述,請參閱上述連結。 string[]
searchCriteria 搜尋更新的準則。 省略或指定空字串以使用預設值(全部搜尋)。 如需此欄位的範例和詳細描述,請參閱上述連結。 字串
updateLimit 一次要套用的更新數目上限。 省略或指定 0 以使用預設值 (1000) int

約束:
最小值 = 0

ImageTemplateDistributor

名字 描述 價值
artifactTags 散發者建立/更新成品后,將會套用至成品的標記。 物件
runOutputName 要用於相關聯 RunOutput 的名稱。 字串 (必要)

約束:
Pattern = ^[A-Za-z0-9-_.]{1,64}$
類型 設定物件類型 ManagedImage
SharedImage
VHD (必要)

ImageTemplateManagedImageDistributor

名字 描述 價值
類型 分佈類型。 'ManagedImage' (必要)
imageId 受控磁碟映像的資源標識碼 字串 (必要)
位置 映射的 Azure 位置,如果映射已經存在,則應該相符 字串 (必要)

ImageTemplateSharedImageDistributor

名字 描述 價值
類型 分佈類型。 'SharedImage' (必要)
excludeFromLatest 旗標,指出是否應該從最新版本中排除已建立的映像版本。 請省略以使用預設值 (false)。 bool
galleryImageId Azure 計算資源庫映像的資源標識碼 字串 (必要)
replicationRegions [已淘汰]將複寫映像的區域清單。 只有在未指定 targetRegions 時,才能指定此列表。 此欄位已被取代 - 請改用 targetRegions。 string[]
storageAccountType [已淘汰]用來儲存共用映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 只有在指定 replicationRegions 時,才能指定此字段。 此欄位已被取代 - 請改用 targetRegions。 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'
targetRegions 要復寫分散式映像版本的目標區域。 這個物件會取代 replicationRegions,而且只有在未指定 replicationRegions 時才可指定。 TargetRegion[]
versioning 描述如何為散發產生新的 x.y.z 版本號碼。 DistributeVersioner

TargetRegion

名字 描述 價值
名字 區域的名稱。 字串 (必要)
replicaCount 要在此區域中建立之映像版本的複本數目。 省略以使用預設值 (1)。 int

約束:
最小值 = 1
storageAccountType 指定要用來在此區域中儲存映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'

DistributeVersioner

名字 描述 價值
方案 設定物件類型 最新
來源(必要)

DistributeVersionerLatest

名字 描述 價值
方案 要使用的版本編號配置。 'Latest' (必要)
主要 所產生版本號碼的主要版本。 根據以此值作為主要版本的版本,判斷什麼是「最新」。 -1 相當於將它取消設定。 int

DistributeVersionerSource

名字 描述 價值
方案 要使用的版本編號配置。 'Source' (必要)

ImageTemplateVhdDistributor

名字 描述 價值
類型 分佈類型。 'VHD' (必要)
uri 分散式 VHD Blob 的選擇性 Azure 記憶體 URI。 省略以使用預設的 (空字串),在此情況下,VHD 會發佈至預備資源群組中的記憶體帳戶。 字串

ImageTemplatePropertiesErrorHandling

名字 描述 價值
onCustomizerError 如果自定義工具發生錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果自定義工具發生錯誤,且此字段設定為 「中止」,則會保留組建 VM。 'abort'
'cleanup'
onValidationError 如果發生驗證錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果發生驗證錯誤,且此字段設定為 『abort』,則會保留組建 VM。 'abort'
'cleanup'

ImageTemplatePropertiesOptimize

名字 描述 價值
vmBoot 優化會在映像上套用,以加快 VM 開機速度。 ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

名字 描述 價值
啟用此欄位可藉由優化最終自定義映像輸出來改善 VM 開機時間。 'Disabled'
'Enabled'

ImageTemplateSource

名字 描述 價值
類型 設定物件類型 ManagedImage
PlatformImage
SharedImageVersion (必要)

ImageTemplateManagedImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'ManagedImage' (必要)
imageId 客戶訂用帳戶中受控映像的 ARM 資源識別碼 字串 (必要)

ImageTemplatePlatformImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'PlatformImage' (必要)
提供 azure 資源庫映像映像供應專案。 字串
planInfo 平臺映像的選擇性購買方案設定。 PlatformImagePurchasePlan
發行人 Azure 資源庫映像中的映像發行者 字串
sku 來自 Azure 資源庫映像的映像 sku 字串
版本 Azure 資源庫映像中的映射版本。 如果在這裡指定了 'latest',則會在映射組建發生時評估版本,而不是在提交範本時評估。 字串

PlatformImagePurchasePlan

名字 描述 價值
planName 購買方案的名稱。 字串 (必要)
planProduct 購買方案的產品。 字串 (必要)
planPublisher 購買方案的發行者。 字串 (必要)

ImageTemplateSharedImageVersionSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 'SharedImageVersion' (必要)
imageVersionId 映像版本的 ARM 資源識別碼。 映射版本名稱為「最新」時,映射組建發生時會評估版本。 字串 (必要)

ImageTemplatePropertiesValidate

名字 描述 價值
continueDistributeOnFailure 如果驗證失敗,且此字段設定為 false,則不會散發輸出影像。 這是預設行為。 如果驗證失敗,且此字段設定為 true,輸出影像仍會散發。 請謹慎使用此選項,因為它可能會導致散發不正確的映像以供使用。 不論是哪一種情況(true 或 false),端對端映射執行都會回報為在驗證失敗時失敗。 [注意:如果驗證成功,此字段就沒有作用。] bool
inVMValidations 要執行的驗證清單。 ImageTemplateInVMValidator[]
sourceValidationOnly 如果此欄位設定為 true,則會直接驗證 'source' 區段中指定的影像。 不會執行個別的組建來產生,然後驗證自定義映像。 bool

ImageTemplateInVMValidator

名字 描述 價值
名字 易記名稱,提供此驗證步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
殼層 (必要)

ImageTemplateFileValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'File' (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳至 VM 以進行驗證之檔案的 URI。 它可以是 github 連結、Azure 記憶體 URI(已授權或 SAS),等等 字串

ImageTemplatePowerShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'PowerShell' (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行驗證的PowerShell腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 'Shell' (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行驗證的殼層腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateVmProfile

名字 描述 價值
osDiskSizeGB 以 GB 為單位的 OS 磁碟大小。 省略或指定 0 以使用 Azure 的預設 OS 磁碟大小。 int

約束:
最小值 = 0
userAssignedIdentities 在組建 VM 和驗證 VM 上設定的使用者指派受控識別資源標識碼的選擇性數位。 這可能包括映像範本的身分識別。 string[]
vmSize 用來建置、自定義和擷取映像的虛擬機大小。 省略或指定空字串,以使用 Gen1 映像的預設值 (Standard_D1_v2,以及 Gen2 映射的Standard_D2ds_v4)。 字串
vnetConfig 用來部署組建 VM 和驗證 VM 的虛擬網路選擇性設定。 如果不需要使用任何特定的虛擬網路,請省略 。 VirtualNetworkConfig

VirtualNetworkConfig

名字 描述 價值
containerInstanceSubnetId 將針對隔離組建部署 Azure 容器實例之預先存在的子網資源標識碼。 只有在同時指定 subnetId 且必須與 subnetId中指定的子網位於相同的虛擬網路上時,才能指定此欄位。 字串
proxyVmSize 用來將流量傳遞至組建 VM 和驗證 VM 的 Proxy 虛擬機大小。 如果指定 containerInstanceSubnetId,則不得指定此項目,因為在此情況下不會部署 Proxy 虛擬機。 省略或指定空字串以使用預設值 (Standard_A1_v2)。 字串
subnetId 將部署組建 VM 和驗證 VM 之預先存在的子網資源識別碼 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用 Azure Windows 基準 Azure Image Builder

部署至 Azure
建立 Azure Image Builder 環境,並建置已套用最新 Windows Update 和 Azure Windows 基準的 Windows Server 映射。
設定開發箱服務

部署至 Azure
此範本會根據 Dev Box 快速入門指南建立所有 Dev Box 系統管理員資源(https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box)。 您可以檢視所有建立的資源,或直接移至 DevPortal.microsoft.com 來建立您的第一個開發方塊。

Terraform (AzAPI 提供者) 資源定義

imageTemplates 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.VirtualMachineImages/imageTemplates 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.VirtualMachineImages/imageTemplates@2024-02-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type =  "UserAssigned"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      autoRun = {
        state = "string"
      }
      buildTimeoutInMinutes = int
      customize = [
        {
          name = "string"
          type = "string"
          // For remaining properties, see ImageTemplateCustomizer objects
        }
      ]
      distribute = [
        {
          artifactTags = {}
          runOutputName = "string"
          type = "string"
          // For remaining properties, see ImageTemplateDistributor objects
        }
      ]
      errorHandling = {
        onCustomizerError = "string"
        onValidationError = "string"
      }
      managedResourceTags = {}
      optimize = {
        vmBoot = {
          state = "string"
        }
      }
      source = {
        type = "string"
        // For remaining properties, see ImageTemplateSource objects
      }
      stagingResourceGroup = "string"
      validate = {
        continueDistributeOnFailure = bool
        inVMValidations = [
          {
            name = "string"
            type = "string"
            // For remaining properties, see ImageTemplateInVMValidator objects
          }
        ]
        sourceValidationOnly = bool
      }
      vmProfile = {
        osDiskSizeGB = int
        userAssignedIdentities = [
          "string"
        ]
        vmSize = "string"
        vnetConfig = {
          containerInstanceSubnetId = "string"
          proxyVmSize = "string"
          subnetId = "string"
        }
      }
    }
  })
}

ImageTemplateCustomizer 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  type = "File"
  destination = "string"
  sha256Checksum = "string"
  sourceUri = "string"

針對 PowerShell,請使用:

  type = "PowerShell"
  inline = [
    "string"
  ]
  runAsSystem = bool
  runElevated = bool
  scriptUri = "string"
  sha256Checksum = "string"
  validExitCodes = [
    int
  ]

針對 Shell,請使用:

  type = "Shell"
  inline = [
    "string"
  ]
  scriptUri = "string"
  sha256Checksum = "string"

針對 windowsRestart,請使用:

  type = "WindowsRestart"
  restartCheckCommand = "string"
  restartCommand = "string"
  restartTimeout = "string"

若為 WindowsUpdate,請使用:

  type = "WindowsUpdate"
  filters = [
    "string"
  ]
  searchCriteria = "string"
  updateLimit = int

ImageTemplateDistributor 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  type = "ManagedImage"
  imageId = "string"
  location = "string"

針對 SharedImage,請使用:

  type = "SharedImage"
  excludeFromLatest = bool
  galleryImageId = "string"
  replicationRegions = [
    "string"
  ]
  storageAccountType = "string"
  targetRegions = [
    {
      name = "string"
      replicaCount = int
      storageAccountType = "string"
    }
  ]
  versioning = {
    scheme = "string"
    // For remaining properties, see DistributeVersioner objects
  }

針對 VHD,請使用:

  type = "VHD"
  uri = "string"

DistributeVersioner 物件

設定 設定 屬性,以指定物件的類型。

針對 Latest,請使用:

  scheme = "Latest"
  major = int

針對 Source,請使用:

  scheme = "Source"

ImageTemplateSource 物件

設定 類型 屬性,以指定物件的類型。

針對 ManagedImage,請使用:

  type = "ManagedImage"
  imageId = "string"

針對 PlatformImage,請使用:

  type = "PlatformImage"
  offer = "string"
  planInfo = {
    planName = "string"
    planProduct = "string"
    planPublisher = "string"
  }
  publisher = "string"
  sku = "string"
  version = "string"

針對 SharedImageVersion,請使用:

  type = "SharedImageVersion"
  imageVersionId = "string"

ImageTemplateInVMValidator 物件

設定 類型 屬性,以指定物件的類型。

針對 檔案,請使用:

  type = "File"
  destination = "string"
  sha256Checksum = "string"
  sourceUri = "string"

針對 PowerShell,請使用:

  type = "PowerShell"
  inline = [
    "string"
  ]
  runAsSystem = bool
  runElevated = bool
  scriptUri = "string"
  sha256Checksum = "string"
  validExitCodes = [
    int
  ]

針對 Shell,請使用:

  type = "Shell"
  inline = [
    "string"
  ]
  scriptUri = "string"
  sha256Checksum = "string"

屬性值

imageTemplates

名字 描述 價值
類型 資源類型 “Microsoft.VirtualMachineImages/imageTemplates@2024-02-01”
名字 資源名稱 字串 (必要)
位置 資源所在的地理位置 字串 (必要)
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 字串 (必要)
標籤 資源標籤。 標記名稱和值的字典。
身份 如果已設定,則為映像範本的身分識別。 ImageTemplateIdentity (必要)
性能 映像範本的屬性 ImageTemplateProperties

ImageTemplateIdentity

名字 描述 價值
類型 用於映像範本的身分識別類型。 類型 『None』 會從映像範本中移除任何身分識別。 “UserAssigned”
identity_ids 與資源相關聯的使用者指派身分識別集。 userAssignedIdentities 字典索引鍵的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}。 字典值可以是要求中的空白物件({})。 使用者身分識別標識碼的陣列。

UserAssignedIdentities

名字 描述 價值
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

此物件不包含在部署期間設定的任何屬性。 所有屬性都是 ReadOnly。

ImageTemplateProperties

名字 描述 價值
autoRun 指出是否要在範本建立或更新時自動執行映像範本組建。 ImageTemplateAutoRun
buildTimeoutInMinutes 建置映像範本時要等候的最大持續時間(包括所有自定義專案、優化、驗證和散發套件)。 省略或指定 0 以使用預設值 (4 小時)。 int

約束:
最小值 = 0
最大值 = 960
自訂 指定用來描述映像自定義步驟的屬性,例如影像來源等 ImageTemplateCustomizer[]
分發 影像輸出需要前往的散發目標。 ImageTemplateDistributor[] (必要)
errorHandling 建置失敗時的錯誤處理選項 ImageTemplatePropertiesErrorHandling
managedResourceTags 將套用至服務所建立之資源群組和/或資源的標記。 物件
優化 指定要在映像上執行的優化。 ImageTemplatePropertiesOptimize
指定用來描述來源影像的屬性。 ImageTemplateSource (必要)
stagingResourceGroup 與用來建置映像之映像範本相同訂用帳戶中的預備資源群組標識碼。 如果此欄位是空的,將會建立具有隨機名稱的資源群組。 如果此欄位中指定的資源群組不存在,則會以相同的名稱建立。 如果指定的資源群組存在,它必須是空的,且位於與映像範本相同的區域中。 如果此欄位是空的,或指定的資源群組不存在,則會在範本刪除期間刪除建立的資源群組,但如果指定的資源群組存在,則會在範本刪除期間刪除資源群組,而且資源群組本身將會保留。 字串
驗證 要對產生的映像執行的組態選項和驗證清單。 ImageTemplatePropertiesValidate
vmProfile 描述虛擬機如何設定以建置映像 ImageTemplateVmProfile

ImageTemplateAutoRun

名字 描述 價值
啟用此欄位將會在映像範本建立或更新時觸發自動建置。 “Disabled”
“Enabled”

ImageTemplateCustomizer

名字 描述 價值
名字 易記名稱,提供此自定義步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
Shell
WindowsRestart
WindowsUpdate (必要)

ImageTemplateFileCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 “File” (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳以自定義 VM 之檔案的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串

ImageTemplatePowerShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 “PowerShell” (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行自定義之 PowerShell 腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 “Shell” (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行自定義之殼層腳本的 URI。 它可以是 Github 連結、Azure 記憶體的 SAS URI 等等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateRestartCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 “WindowsRestart” (必要)
restartCheckCommand 檢查重新啟動是否成功的命令 [預設值: ''] 字串
restartCommand 執行重新啟動的命令 [預設值: 'shutdown /r /f /t 0 /c “packer restart”'] 字串
restartTimeout 指定為大小和單位字串的重新啟動逾時,例如 '5m' (5 分鐘) 或 '2h' (2 小時) [預設值: '5m'] 字串

ImageTemplateWindowsUpdateCustomizer

名字 描述 價值
類型 您想要在映像上使用的自訂工具類型。 例如,“Shell” 可以是殼層自定義工具 “WindowsUpdate” (必要)
過濾器 要選取要套用之更新的篩選陣列。 省略或指定空陣列以使用預設值 (沒有篩選條件)。 如需此欄位的範例和詳細描述,請參閱上述連結。 string[]
searchCriteria 搜尋更新的準則。 省略或指定空字串以使用預設值(全部搜尋)。 如需此欄位的範例和詳細描述,請參閱上述連結。 字串
updateLimit 一次要套用的更新數目上限。 省略或指定 0 以使用預設值 (1000) int

約束:
最小值 = 0

ImageTemplateDistributor

名字 描述 價值
artifactTags 散發者建立/更新成品后,將會套用至成品的標記。 物件
runOutputName 要用於相關聯 RunOutput 的名稱。 字串 (必要)

約束:
Pattern = ^[A-Za-z0-9-_.]{1,64}$
類型 設定物件類型 ManagedImage
SharedImage
VHD (必要)

ImageTemplateManagedImageDistributor

名字 描述 價值
類型 分佈類型。 “ManagedImage” (必要)
imageId 受控磁碟映像的資源標識碼 字串 (必要)
位置 映射的 Azure 位置,如果映射已經存在,則應該相符 字串 (必要)

ImageTemplateSharedImageDistributor

名字 描述 價值
類型 分佈類型。 “SharedImage” (必要)
excludeFromLatest 旗標,指出是否應該從最新版本中排除已建立的映像版本。 請省略以使用預設值 (false)。 bool
galleryImageId Azure 計算資源庫映像的資源標識碼 字串 (必要)
replicationRegions [已淘汰]將複寫映像的區域清單。 只有在未指定 targetRegions 時,才能指定此列表。 此欄位已被取代 - 請改用 targetRegions。 string[]
storageAccountType [已淘汰]用來儲存共用映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 只有在指定 replicationRegions 時,才能指定此字段。 此欄位已被取代 - 請改用 targetRegions。 “Premium_LRS”
“Standard_LRS”
“Standard_ZRS”
targetRegions 要復寫分散式映像版本的目標區域。 這個物件會取代 replicationRegions,而且只有在未指定 replicationRegions 時才可指定。 TargetRegion[]
versioning 描述如何為散發產生新的 x.y.z 版本號碼。 DistributeVersioner

TargetRegion

名字 描述 價值
名字 區域的名稱。 字串 (必要)
replicaCount 要在此區域中建立之映像版本的複本數目。 省略以使用預設值 (1)。 int

約束:
最小值 = 1
storageAccountType 指定要用來在此區域中儲存映像的記憶體帳戶類型。 請省略以使用預設值 (Standard_LRS)。 “Premium_LRS”
“Standard_LRS”
“Standard_ZRS”

DistributeVersioner

名字 描述 價值
方案 設定物件類型 最新
來源(必要)

DistributeVersionerLatest

名字 描述 價值
方案 要使用的版本編號配置。 “Latest” (必要)
主要 所產生版本號碼的主要版本。 根據以此值作為主要版本的版本,判斷什麼是「最新」。 -1 相當於將它取消設定。 int

DistributeVersionerSource

名字 描述 價值
方案 要使用的版本編號配置。 “Source” (必要)

ImageTemplateVhdDistributor

名字 描述 價值
類型 分佈類型。 “VHD” (必要)
uri 分散式 VHD Blob 的選擇性 Azure 記憶體 URI。 省略以使用預設的 (空字串),在此情況下,VHD 會發佈至預備資源群組中的記憶體帳戶。 字串

ImageTemplatePropertiesErrorHandling

名字 描述 價值
onCustomizerError 如果自定義工具發生錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果自定義工具發生錯誤,且此字段設定為 「中止」,則會保留組建 VM。 “abort”
“cleanup”
onValidationError 如果發生驗證錯誤,且此字段設定為 「清除」,則會清除組建 VM 和相關聯的網路資源。 這是預設行為。 如果發生驗證錯誤,且此字段設定為 『abort』,則會保留組建 VM。 “abort”
“cleanup”

ImageTemplatePropertiesOptimize

名字 描述 價值
vmBoot 優化會在映像上套用,以加快 VM 開機速度。 ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

名字 描述 價值
啟用此欄位可藉由優化最終自定義映像輸出來改善 VM 開機時間。 “Disabled”
“Enabled”

ImageTemplateSource

名字 描述 價值
類型 設定物件類型 ManagedImage
PlatformImage
SharedImageVersion (必要)

ImageTemplateManagedImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 “ManagedImage” (必要)
imageId 客戶訂用帳戶中受控映像的 ARM 資源識別碼 字串 (必要)

ImageTemplatePlatformImageSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 “PlatformImage” (必要)
提供 azure 資源庫映像映像供應專案。 字串
planInfo 平臺映像的選擇性購買方案設定。 PlatformImagePurchasePlan
發行人 Azure 資源庫映像中的映像發行者 字串
sku 來自 Azure 資源庫映像的映像 sku 字串
版本 Azure 資源庫映像中的映射版本。 如果在這裡指定了 'latest',則會在映射組建發生時評估版本,而不是在提交範本時評估。 字串

PlatformImagePurchasePlan

名字 描述 價值
planName 購買方案的名稱。 字串 (必要)
planProduct 購買方案的產品。 字串 (必要)
planPublisher 購買方案的發行者。 字串 (必要)

ImageTemplateSharedImageVersionSource

名字 描述 價值
類型 指定您想要開頭的來源影像類型。 “SharedImageVersion” (必要)
imageVersionId 映像版本的 ARM 資源識別碼。 映射版本名稱為「最新」時,映射組建發生時會評估版本。 字串 (必要)

ImageTemplatePropertiesValidate

名字 描述 價值
continueDistributeOnFailure 如果驗證失敗,且此字段設定為 false,則不會散發輸出影像。 這是預設行為。 如果驗證失敗,且此字段設定為 true,輸出影像仍會散發。 請謹慎使用此選項,因為它可能會導致散發不正確的映像以供使用。 不論是哪一種情況(true 或 false),端對端映射執行都會回報為在驗證失敗時失敗。 [注意:如果驗證成功,此字段就沒有作用。] bool
inVMValidations 要執行的驗證清單。 ImageTemplateInVMValidator[]
sourceValidationOnly 如果此欄位設定為 true,則會直接驗證 'source' 區段中指定的影像。 不會執行個別的組建來產生,然後驗證自定義映像。 bool

ImageTemplateInVMValidator

名字 描述 價值
名字 易記名稱,提供此驗證步驟的內容 字串
類型 設定物件類型 檔案
PowerShell
殼層 (必要)

ImageTemplateFileValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 “File” (必要)
目的地 檔案的絕對路徑(已建立巢狀目錄結構),其中檔案 (from sourceUri) 會在 VM 中上傳至 字串
sha256Checksum 上述 sourceUri 字段中提供的檔案 SHA256 總和檢查碼 字串
sourceUri 要上傳至 VM 以進行驗證之檔案的 URI。 它可以是 github 連結、Azure 記憶體 URI(已授權或 SAS),等等 字串

ImageTemplatePowerShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 “PowerShell” (必要)
內嵌 要執行的PowerShell命令陣列 string[]
runAsSystem 如果指定,PowerShell 腳本將會使用本機系統使用者提高的許可權來執行。 只有當上述 runElevated 字段設定為 true 時,才能為 true。 bool
runElevated 如果指定,PowerShell 腳本將會以更高的許可權執行 bool
scriptUri 要執行以進行驗證的PowerShell腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum 上述 scriptUri 字段中提供的 Power Shell 腳本 SHA256 總和檢查碼 字串
validExitCodes PowerShell 腳本的有效結束代碼。 [預設值: 0] int[]

ImageTemplateShellValidator

名字 描述 價值
類型 您想要在 Image 上使用的驗證類型。 例如,“Shell” 可以是殼層驗證 “Shell” (必要)
內嵌 要執行的殼層命令陣列 string[]
scriptUri 要執行以進行驗證的殼層腳本 URI。 它可以是 github 連結、Azure 記憶體 URI 等 字串
sha256Checksum scriptUri 字段中提供的Shell腳本 SHA256 總和檢查碼 字串

ImageTemplateVmProfile

名字 描述 價值
osDiskSizeGB 以 GB 為單位的 OS 磁碟大小。 省略或指定 0 以使用 Azure 的預設 OS 磁碟大小。 int

約束:
最小值 = 0
userAssignedIdentities 在組建 VM 和驗證 VM 上設定的使用者指派受控識別資源標識碼的選擇性數位。 這可能包括映像範本的身分識別。 string[]
vmSize 用來建置、自定義和擷取映像的虛擬機大小。 省略或指定空字串,以使用 Gen1 映像的預設值 (Standard_D1_v2,以及 Gen2 映射的Standard_D2ds_v4)。 字串
vnetConfig 用來部署組建 VM 和驗證 VM 的虛擬網路選擇性設定。 如果不需要使用任何特定的虛擬網路,請省略 。 VirtualNetworkConfig

VirtualNetworkConfig

名字 描述 價值
containerInstanceSubnetId 將針對隔離組建部署 Azure 容器實例之預先存在的子網資源標識碼。 只有在同時指定 subnetId 且必須與 subnetId中指定的子網位於相同的虛擬網路上時,才能指定此欄位。 字串
proxyVmSize 用來將流量傳遞至組建 VM 和驗證 VM 的 Proxy 虛擬機大小。 如果指定 containerInstanceSubnetId,則不得指定此項目,因為在此情況下不會部署 Proxy 虛擬機。 省略或指定空字串以使用預設值 (Standard_A1_v2)。 字串
subnetId 將部署組建 VM 和驗證 VM 之預先存在的子網資源識別碼 字串