Imagen Microsoft.VirtualMachineImagesTemplates
Definición de recursos de Bicep
El tipo de recurso imageTemplates se puede implementar con operaciones que tienen como destino:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.VirtualMachineImages/imageTemplates, agregue el siguiente bicep a la plantilla.
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'
}
}
}
}
Objetos ImageTemplateCustomizer
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
type: 'File'
destination: 'string'
sha256Checksum: 'string'
sourceUri: 'string'
Para powerShell, use:
type: 'PowerShell'
inline: [
'string'
]
runAsSystem: bool
runElevated: bool
scriptUri: 'string'
sha256Checksum: 'string'
validExitCodes: [
int
]
Para shell, use:
type: 'Shell'
inline: [
'string'
]
scriptUri: 'string'
sha256Checksum: 'string'
Para WindowsRestart, use:
type: 'WindowsRestart'
restartCheckCommand: 'string'
restartCommand: 'string'
restartTimeout: 'string'
Para WindowsUpdate, use:
type: 'WindowsUpdate'
filters: [
'string'
]
searchCriteria: 'string'
updateLimit: int
Objetos ImageTemplateDistributor
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
type: 'ManagedImage'
imageId: 'string'
location: 'string'
Para SharedImage, use:
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
}
Para VHD, use:
type: 'VHD'
uri: 'string'
Objetos DistributeVersioner
Establezca el esquema propiedad para especificar el tipo de objeto.
Para Latest, use:
scheme: 'Latest'
major: int
Para source, use:
scheme: 'Source'
Objetos ImageTemplateSource
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
type: 'ManagedImage'
imageId: 'string'
Para PlatformImage, use:
type: 'PlatformImage'
offer: 'string'
planInfo: {
planName: 'string'
planProduct: 'string'
planPublisher: 'string'
}
publisher: 'string'
sku: 'string'
version: 'string'
Para SharedImageVersion, use:
type: 'SharedImageVersion'
imageVersionId: 'string'
Objetos ImageTemplateInVMValidator
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
type: 'File'
destination: 'string'
sha256Checksum: 'string'
sourceUri: 'string'
Para powerShell, use:
type: 'PowerShell'
inline: [
'string'
]
runAsSystem: bool
runElevated: bool
scriptUri: 'string'
sha256Checksum: 'string'
validExitCodes: [
int
]
Para shell, use:
type: 'Shell'
inline: [
'string'
]
scriptUri: 'string'
sha256Checksum: 'string'
Valores de propiedad
imageTemplates
Nombre | Descripción | Valor |
---|---|---|
nombre | El nombre del recurso | string (obligatorio) |
ubicación | Ubicación geográfica donde reside el recurso | string (obligatorio) |
Etiquetas | Etiquetas de recursos. | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
identidad | Identidad de la plantilla de imagen, si está configurada. | ImageTemplateIdentity (obligatorio) |
Propiedades | Las propiedades de la plantilla de imagen | ImageTemplateProperties |
ImageTemplateIdentity
UserAssignedIdentities
Nombre | Descripción | Valor |
---|---|---|
{propiedad personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se establezca durante la implementación. Todas las propiedades son ReadOnly.
ImageTemplateProperties
Nombre | Descripción | Valor |
---|---|---|
autoRun | Indica si se va a ejecutar o no automáticamente la compilación de la plantilla de imagen en la creación o actualización de la plantilla. | ImageTemplateAutoRun |
buildTimeoutInMinutes | Duración máxima para esperar al compilar la plantilla de imagen (incluye todas las personalizaciones, optimización, validaciones y distribuciones). Omita o especifique 0 para usar el valor predeterminado (4 horas). | Int Restricciones: Valor mínimo = 0 Valor máximo = 960 |
Personalizar | Especifica las propiedades usadas para describir los pasos de personalización de la imagen, como el origen de la imagen, etc. | ImageTemplateCustomizer [] |
distribuir | Los destinos de distribución a los que debe ir la salida de la imagen. | ImageTemplateDistributor[] (obligatorio) |
errorHandling | Opciones de control de errores tras un error de compilación | ImageTemplatePropertiesErrorHandling |
managedResourceTags | Etiquetas que se aplicarán al grupo de recursos o a los recursos creados por el servicio. | objeto |
optimizar | Especifica la optimización que se va a realizar en la imagen. | ImageTemplatePropertiesOptimize |
fuente | Especifica las propiedades usadas para describir la imagen de origen. | ImageTemplateSource (obligatorio) |
stagingResourceGroup | Identificador del grupo de recursos de almacenamiento provisional en la misma suscripción que la plantilla de imagen que se usará para compilar la imagen. Si este campo está vacío, se creará un grupo de recursos con un nombre aleatorio. Si el grupo de recursos especificado en este campo no existe, se creará con el mismo nombre. Si el grupo de recursos especificado existe, debe estar vacío y en la misma región que la plantilla de imagen. El grupo de recursos creado se eliminará durante la eliminación de la plantilla si este campo está vacío o el grupo de recursos especificado no existe, pero si el grupo de recursos especificado existe los recursos creados en el grupo de recursos se eliminarán durante la eliminación de la plantilla y el propio grupo de recursos permanecerá. | cuerda |
validar | Opciones de configuración y lista de validaciones que se van a realizar en la imagen resultante. | ImageTemplatePropertiesValidate |
vmProfile | Describe cómo se configura la máquina virtual para compilar imágenes | ImageTemplateVmProfile |
ImageTemplateAutoRun
Nombre | Descripción | Valor |
---|---|---|
estado | Al habilitar este campo, se desencadenará una compilación automática en la creación o actualización de plantillas de imagen. | 'Deshabilitado' 'Habilitado' |
ImageTemplateCustomizer
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de personalización | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell WindowsRestart WindowsUpdate (obligatorio) |
ImageTemplateFileCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'File' (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | Identificador URI del archivo que se va a cargar para personalizar la máquina virtual. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
ImageTemplatePowerShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'PowerShell' (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'Shell' (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateRestartCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'WindowsRestart' (obligatorio) |
restartCheckCommand | Comando para comprobar si el reinicio se realizó correctamente [Valor predeterminado: ''] | cuerda |
restartCommand | Comando para ejecutar el reinicio [Valor predeterminado: 'shutdown /r /f /t 0 /c "packer restart"'] | cuerda |
restartTimeout | Tiempo de espera de reinicio especificado como una cadena de magnitud y unidad, por ejemplo, '5m' (5 minutos) o '2h' (2 horas) [Valor predeterminado: '5m'] | cuerda |
ImageTemplateWindowsUpdateCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'WindowsUpdate' (obligatorio) |
filtros | Matriz de filtros para seleccionar las actualizaciones que se van a aplicar. Omita o especifique una matriz vacía para usar el valor predeterminado (sin filtro). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | string[] |
searchCriteria | Criterios para buscar actualizaciones. Omita o especifique una cadena vacía para usar el valor predeterminado (buscar todo). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | cuerda |
updateLimit | Número máximo de actualizaciones que se aplicarán a la vez. Omitir o especificar 0 para usar el valor predeterminado (1000) | Int Restricciones: Valor mínimo = 0 |
ImageTemplateDistributor
Nombre | Descripción | Valor |
---|---|---|
artifactTags | Etiquetas que se aplicarán al artefacto una vez que el distribuidor haya creado o actualizado. | objeto |
runOutputName | Nombre que se va a usar para el RunOutput asociado. | string (obligatorio) Restricciones: Patrón = ^[A-Za-z0-9-_.]{1,64}$ |
tipo | Establecimiento del tipo de objeto |
ManagedImage SharedImage VHD (obligatorio) |
ImageTemplateManagedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'ManagedImage' (obligatorio) |
imageId | Identificador de recurso de la imagen de disco administrado | string (obligatorio) |
ubicación | La ubicación de Azure de la imagen debe coincidir si la imagen ya existe | string (obligatorio) |
ImageTemplateSharedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'SharedImage' (obligatorio) |
excludeFromLatest | Marca que indica si la versión de la imagen creada debe excluirse de la versión más reciente. Omitir para usar el valor predeterminado (false). | Bool |
galleryImageId | Identificador de recurso de la imagen de Azure Compute Gallery | string (obligatorio) |
replicationRegions | [En desuso] Lista de regiones en las que se replicará la imagen. Esta lista solo se puede especificar si no se especifica targetRegions. Este campo está en desuso: use targetRegions en su lugar. | string[] |
storageAccountType | [En desuso] Tipo de cuenta de almacenamiento que se usará para almacenar la imagen compartida. Omita usar el valor predeterminado (Standard_LRS). Este campo solo se puede especificar si se especifica replicationRegions. Este campo está en desuso: use targetRegions en su lugar. | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
targetRegions | Las regiones de destino en las que se va a replicar la versión de imagen distribuida. Este objeto reemplaza replicationRegions y solo se puede especificar si no se especifica replicationRegions. | TargetRegion[] |
control de versiones | Describe cómo generar un nuevo número de versión x.y.z para la distribución. | DistributeVersioner |
TargetRegion
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la región. | string (obligatorio) |
replicaCount | Número de réplicas de la versión de imagen que se va a crear en esta región. Omitir para usar el valor predeterminado (1). | Int Restricciones: Valor mínimo = 1 |
storageAccountType | Especifica el tipo de cuenta de almacenamiento que se va a usar para almacenar la imagen en esta región. Omita usar el valor predeterminado (Standard_LRS). | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
DistributeVersioner
Nombre | Descripción | Valor |
---|---|---|
esquema | Establecimiento del tipo de objeto |
más reciente de origen (obligatorio) |
DistributeVersionerLatest
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | 'Latest' (obligatorio) |
destacado | Versión principal del número de versión generado. Determine qué es "latest" en función de las versiones con este valor como la versión principal. -1 es equivalente a dejar sin establecer. | Int |
DistributeVersionerSource
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | 'Source' (obligatorio) |
ImageTemplateVhdDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'VHD' (obligatorio) |
Uri | URI opcional de Azure Storage para el blob de disco duro virtual distribuido. Omita usar el valor predeterminado (cadena vacía) en cuyo caso el disco duro virtual se publicaría en la cuenta de almacenamiento del grupo de recursos de almacenamiento provisional. | cuerda |
ImageTemplatePropertiesErrorHandling
Nombre | Descripción | Valor |
---|---|---|
onCustomizerError | Si hay un error del personalizador y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si se produce un error del personalizador y este campo se establece en "abort", se conservará la máquina virtual de compilación. | 'abort' "limpieza" |
onValidationError | Si se produce un error de validación y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si hay un error de validación y este campo se establece en "abort", se conservará la máquina virtual de compilación. | 'abort' "limpieza" |
ImageTemplatePropertiesOptimize
Nombre | Descripción | Valor |
---|---|---|
vmBoot | La optimización se aplica en la imagen para un arranque de máquina virtual más rápido. | ImageTemplatePropertiesOptimizeVmBoot |
ImageTemplatePropertiesOptimizeVmBoot
Nombre | Descripción | Valor |
---|---|---|
estado | La habilitación de este campo mejorará el tiempo de arranque de la máquina virtual mediante la optimización de la salida final de la imagen personalizada. | 'Deshabilitado' 'Habilitado' |
ImageTemplateSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Establecimiento del tipo de objeto |
ManagedImage PlatformImage sharedImageVersion (obligatorio) |
ImageTemplateManagedImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'ManagedImage' (obligatorio) |
imageId | Identificador de recurso de ARM de la imagen administrada en la suscripción de cliente | string (obligatorio) |
ImageTemplatePlatformImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'PlatformImage' (obligatorio) |
ofrecer | Oferta de imagen de la Imágenes de la Galería de Azure. | cuerda |
planInfo | Configuración opcional del plan de compra para la imagen de plataforma. | PlatformImagePurchasePlan |
editor | Image Publisher en Imágenes de la Galería de Azure. | cuerda |
Sku | SKU de imagen de la Imágenes de la Galería de Azure. | cuerda |
Versión | Versión de imagen de la Imágenes de La galería de Azure. Si se especifica 'latest' aquí, la versión se evalúa cuando tiene lugar la compilación de la imagen, no cuando se envía la plantilla. | cuerda |
PlatformImagePurchasePlan
Nombre | Descripción | Valor |
---|---|---|
planName | Nombre del plan de compra. | string (obligatorio) |
planProduct | Producto del plan de compra. | string (obligatorio) |
planPublisher | Publicador del plan de compra. | string (obligatorio) |
ImageTemplateSharedImageVersionSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'SharedImageVersion' (obligatorio) |
imageVersionId | Identificador de recurso de ARM de la versión de la imagen. Cuando el nombre de la versión de la imagen es "latest", la versión se evalúa cuando se realiza la compilación de la imagen. | string (obligatorio) |
ImageTemplatePropertiesValidate
ImageTemplateInVMValidator
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de validación | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell shell (obligatorio) |
ImageTemplateFileValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'File' (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | URI del archivo que se va a cargar en la máquina virtual para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage (autorizado o SAS), etc. | cuerda |
ImageTemplatePowerShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'PowerShell' (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'Shell' (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateVmProfile
Nombre | Descripción | Valor |
---|---|---|
osDiskSizeGB | Tamaño del disco del sistema operativo en GB. Omita o especifique 0 para usar el tamaño de disco del sistema operativo predeterminado de Azure. | Int Restricciones: Valor mínimo = 0 |
userAssignedIdentities | Matriz opcional de identificadores de recursos de identidades administradas asignadas por el usuario que se van a configurar en la máquina virtual de compilación y la máquina virtual de validación. Esto puede incluir la identidad de la plantilla de imagen. | string[] |
vmSize | Tamaño de la máquina virtual que se usa para compilar, personalizar y capturar imágenes. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_D1_v2 para imágenes gen1 y Standard_D2ds_v4 para imágenes de Gen2). | cuerda |
vnetConfig | Configuración opcional de la red virtual que se va a usar para implementar la máquina virtual de compilación y la máquina virtual de validación en. Omita si no es necesario usar ninguna red virtual específica. | virtualNetworkConfig |
VirtualNetworkConfig
Nombre | Descripción | Valor |
---|---|---|
containerInstanceSubnetId | Identificador de recurso de una subred preexistente en la que se implementará Azure Container Instance para compilaciones aisladas. Este campo solo se puede especificar si también se especifica subnetId y debe estar en la misma red virtual que la subred especificada en subnetId . |
cuerda |
proxyVmSize | Tamaño de la máquina virtual proxy que se usa para pasar tráfico a la máquina virtual de compilación y a la máquina virtual de validación. No se debe especificar si se especifica containerInstanceSubnetId porque no se implementa ninguna máquina virtual proxy en ese caso. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_A1_v2). |
cuerda |
subnetId | Identificador de recurso de una subred preexistente en la que se implementará la máquina virtual de compilación y la máquina virtual de validación. | cuerda |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
Azure Image Builder con azure Windows Baseline |
Crea un entorno de Azure Image Builder y crea una imagen de Windows Server con las actualizaciones más recientes de Windows y la línea de base de Windows de Azure aplicadas. |
configuración del servicio Dev Box |
Esta plantilla crearía todos los recursos de administración de Dev Box según la guía de inicio rápido de Dev Box (https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box). Puede ver todos los recursos creados o ir directamente a DevPortal.microsoft.com para crear su primer cuadro de desarrollo. |
Definición de recursos de plantilla de ARM
El tipo de recurso imageTemplates se puede implementar con operaciones que tienen como destino:
- grupos de recursos: consulte comandos de implementación de grupos de recursos
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.VirtualMachineImages/imageTemplates, agregue el siguiente JSON a la plantilla.
{
"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"
}
}
}
}
Objetos ImageTemplateCustomizer
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
"type": "File",
"destination": "string",
"sha256Checksum": "string",
"sourceUri": "string"
Para powerShell, use:
"type": "PowerShell",
"inline": [ "string" ],
"runAsSystem": "bool",
"runElevated": "bool",
"scriptUri": "string",
"sha256Checksum": "string",
"validExitCodes": [ "int" ]
Para shell, use:
"type": "Shell",
"inline": [ "string" ],
"scriptUri": "string",
"sha256Checksum": "string"
Para WindowsRestart, use:
"type": "WindowsRestart",
"restartCheckCommand": "string",
"restartCommand": "string",
"restartTimeout": "string"
Para WindowsUpdate, use:
"type": "WindowsUpdate",
"filters": [ "string" ],
"searchCriteria": "string",
"updateLimit": "int"
Objetos ImageTemplateDistributor
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
"type": "ManagedImage",
"imageId": "string",
"location": "string"
Para SharedImage, use:
"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
}
Para VHD, use:
"type": "VHD",
"uri": "string"
Objetos DistributeVersioner
Establezca el esquema propiedad para especificar el tipo de objeto.
Para Latest, use:
"scheme": "Latest",
"major": "int"
Para source, use:
"scheme": "Source"
Objetos ImageTemplateSource
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
"type": "ManagedImage",
"imageId": "string"
Para PlatformImage, use:
"type": "PlatformImage",
"offer": "string",
"planInfo": {
"planName": "string",
"planProduct": "string",
"planPublisher": "string"
},
"publisher": "string",
"sku": "string",
"version": "string"
Para SharedImageVersion, use:
"type": "SharedImageVersion",
"imageVersionId": "string"
Objetos ImageTemplateInVMValidator
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
"type": "File",
"destination": "string",
"sha256Checksum": "string",
"sourceUri": "string"
Para powerShell, use:
"type": "PowerShell",
"inline": [ "string" ],
"runAsSystem": "bool",
"runElevated": "bool",
"scriptUri": "string",
"sha256Checksum": "string",
"validExitCodes": [ "int" ]
Para shell, use:
"type": "Shell",
"inline": [ "string" ],
"scriptUri": "string",
"sha256Checksum": "string"
Valores de propiedad
imageTemplates
Nombre | Descripción | Valor |
---|---|---|
tipo | El tipo de recurso | 'Microsoft.VirtualMachineImages/imageTemplates' |
apiVersion | La versión de la API de recursos | '2024-02-01' |
nombre | El nombre del recurso | string (obligatorio) |
ubicación | Ubicación geográfica donde reside el recurso | string (obligatorio) |
Etiquetas | Etiquetas de recursos. | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
identidad | Identidad de la plantilla de imagen, si está configurada. | ImageTemplateIdentity (obligatorio) |
Propiedades | Las propiedades de la plantilla de imagen | ImageTemplateProperties |
ImageTemplateIdentity
UserAssignedIdentities
Nombre | Descripción | Valor |
---|---|---|
{propiedad personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se establezca durante la implementación. Todas las propiedades son ReadOnly.
ImageTemplateProperties
Nombre | Descripción | Valor |
---|---|---|
autoRun | Indica si se va a ejecutar o no automáticamente la compilación de la plantilla de imagen en la creación o actualización de la plantilla. | ImageTemplateAutoRun |
buildTimeoutInMinutes | Duración máxima para esperar al compilar la plantilla de imagen (incluye todas las personalizaciones, optimización, validaciones y distribuciones). Omita o especifique 0 para usar el valor predeterminado (4 horas). | Int Restricciones: Valor mínimo = 0 Valor máximo = 960 |
Personalizar | Especifica las propiedades usadas para describir los pasos de personalización de la imagen, como el origen de la imagen, etc. | ImageTemplateCustomizer [] |
distribuir | Los destinos de distribución a los que debe ir la salida de la imagen. | ImageTemplateDistributor[] (obligatorio) |
errorHandling | Opciones de control de errores tras un error de compilación | ImageTemplatePropertiesErrorHandling |
managedResourceTags | Etiquetas que se aplicarán al grupo de recursos o a los recursos creados por el servicio. | objeto |
optimizar | Especifica la optimización que se va a realizar en la imagen. | ImageTemplatePropertiesOptimize |
fuente | Especifica las propiedades usadas para describir la imagen de origen. | ImageTemplateSource (obligatorio) |
stagingResourceGroup | Identificador del grupo de recursos de almacenamiento provisional en la misma suscripción que la plantilla de imagen que se usará para compilar la imagen. Si este campo está vacío, se creará un grupo de recursos con un nombre aleatorio. Si el grupo de recursos especificado en este campo no existe, se creará con el mismo nombre. Si el grupo de recursos especificado existe, debe estar vacío y en la misma región que la plantilla de imagen. El grupo de recursos creado se eliminará durante la eliminación de la plantilla si este campo está vacío o el grupo de recursos especificado no existe, pero si el grupo de recursos especificado existe los recursos creados en el grupo de recursos se eliminarán durante la eliminación de la plantilla y el propio grupo de recursos permanecerá. | cuerda |
validar | Opciones de configuración y lista de validaciones que se van a realizar en la imagen resultante. | ImageTemplatePropertiesValidate |
vmProfile | Describe cómo se configura la máquina virtual para compilar imágenes | ImageTemplateVmProfile |
ImageTemplateAutoRun
Nombre | Descripción | Valor |
---|---|---|
estado | Al habilitar este campo, se desencadenará una compilación automática en la creación o actualización de plantillas de imagen. | 'Deshabilitado' 'Habilitado' |
ImageTemplateCustomizer
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de personalización | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell WindowsRestart WindowsUpdate (obligatorio) |
ImageTemplateFileCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'File' (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | Identificador URI del archivo que se va a cargar para personalizar la máquina virtual. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
ImageTemplatePowerShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'PowerShell' (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'Shell' (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateRestartCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'WindowsRestart' (obligatorio) |
restartCheckCommand | Comando para comprobar si el reinicio se realizó correctamente [Valor predeterminado: ''] | cuerda |
restartCommand | Comando para ejecutar el reinicio [Valor predeterminado: 'shutdown /r /f /t 0 /c "packer restart"'] | cuerda |
restartTimeout | Tiempo de espera de reinicio especificado como una cadena de magnitud y unidad, por ejemplo, '5m' (5 minutos) o '2h' (2 horas) [Valor predeterminado: '5m'] | cuerda |
ImageTemplateWindowsUpdateCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | 'WindowsUpdate' (obligatorio) |
filtros | Matriz de filtros para seleccionar las actualizaciones que se van a aplicar. Omita o especifique una matriz vacía para usar el valor predeterminado (sin filtro). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | string[] |
searchCriteria | Criterios para buscar actualizaciones. Omita o especifique una cadena vacía para usar el valor predeterminado (buscar todo). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | cuerda |
updateLimit | Número máximo de actualizaciones que se aplicarán a la vez. Omitir o especificar 0 para usar el valor predeterminado (1000) | Int Restricciones: Valor mínimo = 0 |
ImageTemplateDistributor
Nombre | Descripción | Valor |
---|---|---|
artifactTags | Etiquetas que se aplicarán al artefacto una vez que el distribuidor haya creado o actualizado. | objeto |
runOutputName | Nombre que se va a usar para el RunOutput asociado. | string (obligatorio) Restricciones: Patrón = ^[A-Za-z0-9-_.]{1,64}$ |
tipo | Establecimiento del tipo de objeto |
ManagedImage SharedImage VHD (obligatorio) |
ImageTemplateManagedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'ManagedImage' (obligatorio) |
imageId | Identificador de recurso de la imagen de disco administrado | string (obligatorio) |
ubicación | La ubicación de Azure de la imagen debe coincidir si la imagen ya existe | string (obligatorio) |
ImageTemplateSharedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'SharedImage' (obligatorio) |
excludeFromLatest | Marca que indica si la versión de la imagen creada debe excluirse de la versión más reciente. Omitir para usar el valor predeterminado (false). | Bool |
galleryImageId | Identificador de recurso de la imagen de Azure Compute Gallery | string (obligatorio) |
replicationRegions | [En desuso] Lista de regiones en las que se replicará la imagen. Esta lista solo se puede especificar si no se especifica targetRegions. Este campo está en desuso: use targetRegions en su lugar. | string[] |
storageAccountType | [En desuso] Tipo de cuenta de almacenamiento que se usará para almacenar la imagen compartida. Omita usar el valor predeterminado (Standard_LRS). Este campo solo se puede especificar si se especifica replicationRegions. Este campo está en desuso: use targetRegions en su lugar. | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
targetRegions | Las regiones de destino en las que se va a replicar la versión de imagen distribuida. Este objeto reemplaza replicationRegions y solo se puede especificar si no se especifica replicationRegions. | TargetRegion[] |
control de versiones | Describe cómo generar un nuevo número de versión x.y.z para la distribución. | DistributeVersioner |
TargetRegion
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la región. | string (obligatorio) |
replicaCount | Número de réplicas de la versión de imagen que se va a crear en esta región. Omitir para usar el valor predeterminado (1). | Int Restricciones: Valor mínimo = 1 |
storageAccountType | Especifica el tipo de cuenta de almacenamiento que se va a usar para almacenar la imagen en esta región. Omita usar el valor predeterminado (Standard_LRS). | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
DistributeVersioner
Nombre | Descripción | Valor |
---|---|---|
esquema | Establecimiento del tipo de objeto |
más reciente de origen (obligatorio) |
DistributeVersionerLatest
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | 'Latest' (obligatorio) |
destacado | Versión principal del número de versión generado. Determine qué es "latest" en función de las versiones con este valor como la versión principal. -1 es equivalente a dejar sin establecer. | Int |
DistributeVersionerSource
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | 'Source' (obligatorio) |
ImageTemplateVhdDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | 'VHD' (obligatorio) |
Uri | URI opcional de Azure Storage para el blob de disco duro virtual distribuido. Omita usar el valor predeterminado (cadena vacía) en cuyo caso el disco duro virtual se publicaría en la cuenta de almacenamiento del grupo de recursos de almacenamiento provisional. | cuerda |
ImageTemplatePropertiesErrorHandling
Nombre | Descripción | Valor |
---|---|---|
onCustomizerError | Si hay un error del personalizador y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si se produce un error del personalizador y este campo se establece en "abort", se conservará la máquina virtual de compilación. | 'abort' "limpieza" |
onValidationError | Si se produce un error de validación y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si hay un error de validación y este campo se establece en "abort", se conservará la máquina virtual de compilación. | 'abort' "limpieza" |
ImageTemplatePropertiesOptimize
Nombre | Descripción | Valor |
---|---|---|
vmBoot | La optimización se aplica en la imagen para un arranque de máquina virtual más rápido. | ImageTemplatePropertiesOptimizeVmBoot |
ImageTemplatePropertiesOptimizeVmBoot
Nombre | Descripción | Valor |
---|---|---|
estado | La habilitación de este campo mejorará el tiempo de arranque de la máquina virtual mediante la optimización de la salida final de la imagen personalizada. | 'Deshabilitado' 'Habilitado' |
ImageTemplateSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Establecimiento del tipo de objeto |
ManagedImage PlatformImage sharedImageVersion (obligatorio) |
ImageTemplateManagedImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'ManagedImage' (obligatorio) |
imageId | Identificador de recurso de ARM de la imagen administrada en la suscripción de cliente | string (obligatorio) |
ImageTemplatePlatformImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'PlatformImage' (obligatorio) |
ofrecer | Oferta de imagen de la Imágenes de la Galería de Azure. | cuerda |
planInfo | Configuración opcional del plan de compra para la imagen de plataforma. | PlatformImagePurchasePlan |
editor | Image Publisher en Imágenes de la Galería de Azure. | cuerda |
Sku | SKU de imagen de la Imágenes de la Galería de Azure. | cuerda |
Versión | Versión de imagen de la Imágenes de La galería de Azure. Si se especifica 'latest' aquí, la versión se evalúa cuando tiene lugar la compilación de la imagen, no cuando se envía la plantilla. | cuerda |
PlatformImagePurchasePlan
Nombre | Descripción | Valor |
---|---|---|
planName | Nombre del plan de compra. | string (obligatorio) |
planProduct | Producto del plan de compra. | string (obligatorio) |
planPublisher | Publicador del plan de compra. | string (obligatorio) |
ImageTemplateSharedImageVersionSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | 'SharedImageVersion' (obligatorio) |
imageVersionId | Identificador de recurso de ARM de la versión de la imagen. Cuando el nombre de la versión de la imagen es "latest", la versión se evalúa cuando se realiza la compilación de la imagen. | string (obligatorio) |
ImageTemplatePropertiesValidate
ImageTemplateInVMValidator
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de validación | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell shell (obligatorio) |
ImageTemplateFileValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'File' (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | URI del archivo que se va a cargar en la máquina virtual para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage (autorizado o SAS), etc. | cuerda |
ImageTemplatePowerShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'PowerShell' (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | 'Shell' (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateVmProfile
Nombre | Descripción | Valor |
---|---|---|
osDiskSizeGB | Tamaño del disco del sistema operativo en GB. Omita o especifique 0 para usar el tamaño de disco del sistema operativo predeterminado de Azure. | Int Restricciones: Valor mínimo = 0 |
userAssignedIdentities | Matriz opcional de identificadores de recursos de identidades administradas asignadas por el usuario que se van a configurar en la máquina virtual de compilación y la máquina virtual de validación. Esto puede incluir la identidad de la plantilla de imagen. | string[] |
vmSize | Tamaño de la máquina virtual que se usa para compilar, personalizar y capturar imágenes. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_D1_v2 para imágenes gen1 y Standard_D2ds_v4 para imágenes de Gen2). | cuerda |
vnetConfig | Configuración opcional de la red virtual que se va a usar para implementar la máquina virtual de compilación y la máquina virtual de validación en. Omita si no es necesario usar ninguna red virtual específica. | virtualNetworkConfig |
VirtualNetworkConfig
Nombre | Descripción | Valor |
---|---|---|
containerInstanceSubnetId | Identificador de recurso de una subred preexistente en la que se implementará Azure Container Instance para compilaciones aisladas. Este campo solo se puede especificar si también se especifica subnetId y debe estar en la misma red virtual que la subred especificada en subnetId . |
cuerda |
proxyVmSize | Tamaño de la máquina virtual proxy que se usa para pasar tráfico a la máquina virtual de compilación y a la máquina virtual de validación. No se debe especificar si se especifica containerInstanceSubnetId porque no se implementa ninguna máquina virtual proxy en ese caso. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_A1_v2). |
cuerda |
subnetId | Identificador de recurso de una subred preexistente en la que se implementará la máquina virtual de compilación y la máquina virtual de validación. | cuerda |
Plantillas de inicio rápido
Las siguientes plantillas de inicio rápido implementan este tipo de recurso.
Plantilla | Descripción |
---|---|
Azure Image Builder con azure Windows Baseline |
Crea un entorno de Azure Image Builder y crea una imagen de Windows Server con las actualizaciones más recientes de Windows y la línea de base de Windows de Azure aplicadas. |
configuración del servicio Dev Box |
Esta plantilla crearía todos los recursos de administración de Dev Box según la guía de inicio rápido de Dev Box (https://learn.microsoft.com/azure/dev-box/quickstart-create-dev-box). Puede ver todos los recursos creados o ir directamente a DevPortal.microsoft.com para crear su primer cuadro de desarrollo. |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso imageTemplates se puede implementar con operaciones que tienen como destino:
- grupos de recursos de
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.VirtualMachineImages/imageTemplates, agregue el siguiente Terraform a la plantilla.
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"
}
}
}
})
}
Objetos ImageTemplateCustomizer
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
type = "File"
destination = "string"
sha256Checksum = "string"
sourceUri = "string"
Para powerShell, use:
type = "PowerShell"
inline = [
"string"
]
runAsSystem = bool
runElevated = bool
scriptUri = "string"
sha256Checksum = "string"
validExitCodes = [
int
]
Para shell, use:
type = "Shell"
inline = [
"string"
]
scriptUri = "string"
sha256Checksum = "string"
Para WindowsRestart, use:
type = "WindowsRestart"
restartCheckCommand = "string"
restartCommand = "string"
restartTimeout = "string"
Para WindowsUpdate, use:
type = "WindowsUpdate"
filters = [
"string"
]
searchCriteria = "string"
updateLimit = int
Objetos ImageTemplateDistributor
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
type = "ManagedImage"
imageId = "string"
location = "string"
Para SharedImage, use:
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
}
Para VHD, use:
type = "VHD"
uri = "string"
Objetos DistributeVersioner
Establezca el esquema propiedad para especificar el tipo de objeto.
Para Latest, use:
scheme = "Latest"
major = int
Para source, use:
scheme = "Source"
Objetos ImageTemplateSource
Establezca el tipo propiedad para especificar el tipo de objeto.
Para ManagedImage, use:
type = "ManagedImage"
imageId = "string"
Para PlatformImage, use:
type = "PlatformImage"
offer = "string"
planInfo = {
planName = "string"
planProduct = "string"
planPublisher = "string"
}
publisher = "string"
sku = "string"
version = "string"
Para SharedImageVersion, use:
type = "SharedImageVersion"
imageVersionId = "string"
Objetos ImageTemplateInVMValidator
Establezca el tipo propiedad para especificar el tipo de objeto.
Para archivo, use:
type = "File"
destination = "string"
sha256Checksum = "string"
sourceUri = "string"
Para powerShell, use:
type = "PowerShell"
inline = [
"string"
]
runAsSystem = bool
runElevated = bool
scriptUri = "string"
sha256Checksum = "string"
validExitCodes = [
int
]
Para shell, use:
type = "Shell"
inline = [
"string"
]
scriptUri = "string"
sha256Checksum = "string"
Valores de propiedad
imageTemplates
ImageTemplateIdentity
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de identidad que se usa para la plantilla de imagen. El tipo "None" quitará las identidades de la plantilla de imagen. | "UserAssigned" |
identity_ids | Conjunto de identidades asignadas por el usuario asociadas al recurso. Las claves de diccionario userAssignedIdentities serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Los valores del diccionario pueden ser objetos vacíos ({}) en las solicitudes. | Matriz de identificadores de identidad de usuario. |
UserAssignedIdentities
Nombre | Descripción | Valor |
---|---|---|
{propiedad personalizada} | UserAssignedIdentity |
UserAssignedIdentity
Este objeto no contiene ninguna propiedad que se establezca durante la implementación. Todas las propiedades son ReadOnly.
ImageTemplateProperties
Nombre | Descripción | Valor |
---|---|---|
autoRun | Indica si se va a ejecutar o no automáticamente la compilación de la plantilla de imagen en la creación o actualización de la plantilla. | ImageTemplateAutoRun |
buildTimeoutInMinutes | Duración máxima para esperar al compilar la plantilla de imagen (incluye todas las personalizaciones, optimización, validaciones y distribuciones). Omita o especifique 0 para usar el valor predeterminado (4 horas). | Int Restricciones: Valor mínimo = 0 Valor máximo = 960 |
Personalizar | Especifica las propiedades usadas para describir los pasos de personalización de la imagen, como el origen de la imagen, etc. | ImageTemplateCustomizer [] |
distribuir | Los destinos de distribución a los que debe ir la salida de la imagen. | ImageTemplateDistributor[] (obligatorio) |
errorHandling | Opciones de control de errores tras un error de compilación | ImageTemplatePropertiesErrorHandling |
managedResourceTags | Etiquetas que se aplicarán al grupo de recursos o a los recursos creados por el servicio. | objeto |
optimizar | Especifica la optimización que se va a realizar en la imagen. | ImageTemplatePropertiesOptimize |
fuente | Especifica las propiedades usadas para describir la imagen de origen. | ImageTemplateSource (obligatorio) |
stagingResourceGroup | Identificador del grupo de recursos de almacenamiento provisional en la misma suscripción que la plantilla de imagen que se usará para compilar la imagen. Si este campo está vacío, se creará un grupo de recursos con un nombre aleatorio. Si el grupo de recursos especificado en este campo no existe, se creará con el mismo nombre. Si el grupo de recursos especificado existe, debe estar vacío y en la misma región que la plantilla de imagen. El grupo de recursos creado se eliminará durante la eliminación de la plantilla si este campo está vacío o el grupo de recursos especificado no existe, pero si el grupo de recursos especificado existe los recursos creados en el grupo de recursos se eliminarán durante la eliminación de la plantilla y el propio grupo de recursos permanecerá. | cuerda |
validar | Opciones de configuración y lista de validaciones que se van a realizar en la imagen resultante. | ImageTemplatePropertiesValidate |
vmProfile | Describe cómo se configura la máquina virtual para compilar imágenes | ImageTemplateVmProfile |
ImageTemplateAutoRun
Nombre | Descripción | Valor |
---|---|---|
estado | Al habilitar este campo, se desencadenará una compilación automática en la creación o actualización de plantillas de imagen. | "Deshabilitado" "Habilitado" |
ImageTemplateCustomizer
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de personalización | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell WindowsRestart WindowsUpdate (obligatorio) |
ImageTemplateFileCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | "Archivo" (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | Identificador URI del archivo que se va a cargar para personalizar la máquina virtual. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
ImageTemplatePowerShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | "PowerShell" (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | "Shell" (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para personalizar. Puede ser un vínculo de GitHub, un URI de SAS para Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateRestartCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | "WindowsRestart" (obligatorio) |
restartCheckCommand | Comando para comprobar si el reinicio se realizó correctamente [Valor predeterminado: ''] | cuerda |
restartCommand | Comando para ejecutar el reinicio [Valor predeterminado: 'shutdown /r /f /t 0 /c "packer restart"'] | cuerda |
restartTimeout | Tiempo de espera de reinicio especificado como una cadena de magnitud y unidad, por ejemplo, '5m' (5 minutos) o '2h' (2 horas) [Valor predeterminado: '5m'] | cuerda |
ImageTemplateWindowsUpdateCustomizer
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de herramienta de personalización que desea usar en la imagen. Por ejemplo, "Shell" puede ser personalizador de shell. | "WindowsUpdate" (obligatorio) |
filtros | Matriz de filtros para seleccionar las actualizaciones que se van a aplicar. Omita o especifique una matriz vacía para usar el valor predeterminado (sin filtro). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | string[] |
searchCriteria | Criterios para buscar actualizaciones. Omita o especifique una cadena vacía para usar el valor predeterminado (buscar todo). Consulte el vínculo anterior para obtener ejemplos y una descripción detallada de este campo. | cuerda |
updateLimit | Número máximo de actualizaciones que se aplicarán a la vez. Omitir o especificar 0 para usar el valor predeterminado (1000) | Int Restricciones: Valor mínimo = 0 |
ImageTemplateDistributor
Nombre | Descripción | Valor |
---|---|---|
artifactTags | Etiquetas que se aplicarán al artefacto una vez que el distribuidor haya creado o actualizado. | objeto |
runOutputName | Nombre que se va a usar para el RunOutput asociado. | string (obligatorio) Restricciones: Patrón = ^[A-Za-z0-9-_.]{1,64}$ |
tipo | Establecimiento del tipo de objeto |
ManagedImage SharedImage VHD (obligatorio) |
ImageTemplateManagedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | "ManagedImage" (obligatorio) |
imageId | Identificador de recurso de la imagen de disco administrado | string (obligatorio) |
ubicación | La ubicación de Azure de la imagen debe coincidir si la imagen ya existe | string (obligatorio) |
ImageTemplateSharedImageDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | "SharedImage" (obligatorio) |
excludeFromLatest | Marca que indica si la versión de la imagen creada debe excluirse de la versión más reciente. Omitir para usar el valor predeterminado (false). | Bool |
galleryImageId | Identificador de recurso de la imagen de Azure Compute Gallery | string (obligatorio) |
replicationRegions | [En desuso] Lista de regiones en las que se replicará la imagen. Esta lista solo se puede especificar si no se especifica targetRegions. Este campo está en desuso: use targetRegions en su lugar. | string[] |
storageAccountType | [En desuso] Tipo de cuenta de almacenamiento que se usará para almacenar la imagen compartida. Omita usar el valor predeterminado (Standard_LRS). Este campo solo se puede especificar si se especifica replicationRegions. Este campo está en desuso: use targetRegions en su lugar. | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
targetRegions | Las regiones de destino en las que se va a replicar la versión de imagen distribuida. Este objeto reemplaza replicationRegions y solo se puede especificar si no se especifica replicationRegions. | TargetRegion[] |
control de versiones | Describe cómo generar un nuevo número de versión x.y.z para la distribución. | DistributeVersioner |
TargetRegion
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre de la región. | string (obligatorio) |
replicaCount | Número de réplicas de la versión de imagen que se va a crear en esta región. Omitir para usar el valor predeterminado (1). | Int Restricciones: Valor mínimo = 1 |
storageAccountType | Especifica el tipo de cuenta de almacenamiento que se va a usar para almacenar la imagen en esta región. Omita usar el valor predeterminado (Standard_LRS). | "Premium_LRS" "Standard_LRS" "Standard_ZRS" |
DistributeVersioner
Nombre | Descripción | Valor |
---|---|---|
esquema | Establecimiento del tipo de objeto |
más reciente de origen (obligatorio) |
DistributeVersionerLatest
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | "Latest" (obligatorio) |
destacado | Versión principal del número de versión generado. Determine qué es "latest" en función de las versiones con este valor como la versión principal. -1 es equivalente a dejar sin establecer. | Int |
DistributeVersionerSource
Nombre | Descripción | Valor |
---|---|---|
esquema | Esquema de numeración de versión que se va a usar. | "Origen" (obligatorio) |
ImageTemplateVhdDistributor
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de distribución. | "VHD" (obligatorio) |
Uri | URI opcional de Azure Storage para el blob de disco duro virtual distribuido. Omita usar el valor predeterminado (cadena vacía) en cuyo caso el disco duro virtual se publicaría en la cuenta de almacenamiento del grupo de recursos de almacenamiento provisional. | cuerda |
ImageTemplatePropertiesErrorHandling
Nombre | Descripción | Valor |
---|---|---|
onCustomizerError | Si hay un error del personalizador y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si se produce un error del personalizador y este campo se establece en "abort", se conservará la máquina virtual de compilación. | "abort" "limpieza" |
onValidationError | Si se produce un error de validación y este campo se establece en "limpieza", se limpiará la máquina virtual de compilación y los recursos de red asociados. Este es el comportamiento predeterminado. Si hay un error de validación y este campo se establece en "abort", se conservará la máquina virtual de compilación. | "abort" "limpieza" |
ImageTemplatePropertiesOptimize
Nombre | Descripción | Valor |
---|---|---|
vmBoot | La optimización se aplica en la imagen para un arranque de máquina virtual más rápido. | ImageTemplatePropertiesOptimizeVmBoot |
ImageTemplatePropertiesOptimizeVmBoot
Nombre | Descripción | Valor |
---|---|---|
estado | La habilitación de este campo mejorará el tiempo de arranque de la máquina virtual mediante la optimización de la salida final de la imagen personalizada. | "Deshabilitado" "Habilitado" |
ImageTemplateSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Establecimiento del tipo de objeto |
ManagedImage PlatformImage sharedImageVersion (obligatorio) |
ImageTemplateManagedImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | "ManagedImage" (obligatorio) |
imageId | Identificador de recurso de ARM de la imagen administrada en la suscripción de cliente | string (obligatorio) |
ImageTemplatePlatformImageSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | "PlatformImage" (obligatorio) |
ofrecer | Oferta de imagen de la Imágenes de la Galería de Azure. | cuerda |
planInfo | Configuración opcional del plan de compra para la imagen de plataforma. | PlatformImagePurchasePlan |
editor | Image Publisher en Imágenes de la Galería de Azure. | cuerda |
Sku | SKU de imagen de la Imágenes de la Galería de Azure. | cuerda |
Versión | Versión de imagen de la Imágenes de La galería de Azure. Si se especifica 'latest' aquí, la versión se evalúa cuando tiene lugar la compilación de la imagen, no cuando se envía la plantilla. | cuerda |
PlatformImagePurchasePlan
Nombre | Descripción | Valor |
---|---|---|
planName | Nombre del plan de compra. | string (obligatorio) |
planProduct | Producto del plan de compra. | string (obligatorio) |
planPublisher | Publicador del plan de compra. | string (obligatorio) |
ImageTemplateSharedImageVersionSource
Nombre | Descripción | Valor |
---|---|---|
tipo | Especifica el tipo de imagen de origen con el que desea empezar. | "SharedImageVersion" (obligatorio) |
imageVersionId | Identificador de recurso de ARM de la versión de la imagen. Cuando el nombre de la versión de la imagen es "latest", la versión se evalúa cuando se realiza la compilación de la imagen. | string (obligatorio) |
ImageTemplatePropertiesValidate
ImageTemplateInVMValidator
Nombre | Descripción | Valor |
---|---|---|
nombre | Nombre descriptivo para proporcionar contexto sobre lo que hace este paso de validación | cuerda |
tipo | Establecimiento del tipo de objeto | archivo de powerShell shell (obligatorio) |
ImageTemplateFileValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | "Archivo" (obligatorio) |
destino | Ruta de acceso absoluta a un archivo (con estructuras de directorio anidadas ya creadas) donde el archivo (desde sourceUri) se cargará en en la máquina virtual. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del archivo proporcionado en el campo sourceUri anterior | cuerda |
sourceUri | URI del archivo que se va a cargar en la máquina virtual para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage (autorizado o SAS), etc. | cuerda |
ImageTemplatePowerShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | "PowerShell" (obligatorio) |
Inline | Matriz de comandos de PowerShell que se van a ejecutar | string[] |
runAsSystem | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados mediante el usuario del sistema local. Solo puede ser true cuando el campo runElevated anterior está establecido en true. | Bool |
runElevated | Si se especifica, el script de PowerShell se ejecutará con privilegios elevados. | Bool |
scriptUri | URI del script de PowerShell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de Power Shell proporcionado en el campo scriptUri anterior | cuerda |
validExitCodes | Códigos de salida válidos para el script de PowerShell. [Valor predeterminado: 0] | int[] |
ImageTemplateShellValidator
Nombre | Descripción | Valor |
---|---|---|
tipo | Tipo de validación que desea usar en la imagen. Por ejemplo, "Shell" puede ser validación del shell. | "Shell" (obligatorio) |
Inline | Matriz de comandos de shell que se van a ejecutar | string[] |
scriptUri | URI del script de shell que se va a ejecutar para la validación. Puede ser un vínculo de GitHub, un URI de Azure Storage, etc. | cuerda |
sha256Checksum | Suma de comprobación SHA256 del script de shell proporcionado en el campo scriptUri | cuerda |
ImageTemplateVmProfile
Nombre | Descripción | Valor |
---|---|---|
osDiskSizeGB | Tamaño del disco del sistema operativo en GB. Omita o especifique 0 para usar el tamaño de disco del sistema operativo predeterminado de Azure. | Int Restricciones: Valor mínimo = 0 |
userAssignedIdentities | Matriz opcional de identificadores de recursos de identidades administradas asignadas por el usuario que se van a configurar en la máquina virtual de compilación y la máquina virtual de validación. Esto puede incluir la identidad de la plantilla de imagen. | string[] |
vmSize | Tamaño de la máquina virtual que se usa para compilar, personalizar y capturar imágenes. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_D1_v2 para imágenes gen1 y Standard_D2ds_v4 para imágenes de Gen2). | cuerda |
vnetConfig | Configuración opcional de la red virtual que se va a usar para implementar la máquina virtual de compilación y la máquina virtual de validación en. Omita si no es necesario usar ninguna red virtual específica. | virtualNetworkConfig |
VirtualNetworkConfig
Nombre | Descripción | Valor |
---|---|---|
containerInstanceSubnetId | Identificador de recurso de una subred preexistente en la que se implementará Azure Container Instance para compilaciones aisladas. Este campo solo se puede especificar si también se especifica subnetId y debe estar en la misma red virtual que la subred especificada en subnetId . |
cuerda |
proxyVmSize | Tamaño de la máquina virtual proxy que se usa para pasar tráfico a la máquina virtual de compilación y a la máquina virtual de validación. No se debe especificar si se especifica containerInstanceSubnetId porque no se implementa ninguna máquina virtual proxy en ese caso. Omita o especifique una cadena vacía para usar el valor predeterminado (Standard_A1_v2). |
cuerda |
subnetId | Identificador de recurso de una subred preexistente en la que se implementará la máquina virtual de compilación y la máquina virtual de validación. | cuerda |