Partilhar via


Microsoft.VirtualMachineImages imageTemplates 2022-07-01

Definição de recursos do bíceps

O tipo de recurso imageTemplates pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.VirtualMachineImages/imageTemplates, adicione o seguinte Bíceps ao seu modelo.

resource symbolicname 'Microsoft.VirtualMachineImages/imageTemplates@2022-07-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    buildTimeoutInMinutes: int
    customize: [
      {
        name: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateCustomizer objects
      }
    ]
    distribute: [
      {
        artifactTags: {
          {customized property}: 'string'
        }
        runOutputName: 'string'
        type: 'string'
        // For remaining properties, see ImageTemplateDistributor objects
      }
    ]
    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: {
        proxyVmSize: 'string'
        subnetId: 'string'
      }
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Objetos ImageTemplateSource

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

{
  imageId: 'string'
  type: 'ManagedImage'
}

Para PlatformImage , use:

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

Para SharedImageVersion, use:

{
  imageVersionId: 'string'
  type: 'SharedImageVersion'
}

Objetos DistributeVersioner

Defina a propriedade scheme para especificar o tipo de objeto.

Para as mais recentes, utilize:

{
  major: int
  scheme: 'Latest'
}

Para de origem, use:

{
  scheme: 'Source'
}

Objetos ImageTemplateCustomizer

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Para WindowsRestart, use:

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

Para WindowsUpdate , use:

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

Objetos ImageTemplateInVMValidator

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Objetos ImageTemplateDistributor

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

{
  imageId: 'string'
  location: 'string'
  type: 'ManagedImage'
}

Para SharedImage , use:

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

Para VHD, use:

{
  type: 'VHD'
  uri: 'string'
}

Valores de propriedade

Microsoft.VirtualMachineImages/imageTemplates

Nome Descrição Valor
identidade A identidade do modelo de imagem, se configurado. ImageTemplateIdentity (obrigatório)
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
propriedades As propriedades do modelo de imagem ImageTemplateProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos

DistributeVersioner

Nome Descrição Valor
Esquema Defina como 'Mais recente' para o tipo DistributeVersionerLatest. Defina como 'Source' para o tipo DistributeVersionerSource. 'Mais recente'
'Fonte' (obrigatório)

DistributeVersionerLatest

Nome Descrição Valor
principal Versão principal para o número de versão gerado. Determine o que é "mais recente" com base em versões com esse valor como a versão principal. -1 equivale a deixá-lo desdefinido. Int

Restrições:
Valor mínimo = -1
Esquema Esquema de numeração das versões a utilizar. «Mais recente» (obrigatório)

DistributeVersionerSource

Nome Descrição Valor
Esquema Esquema de numeração das versões a utilizar. 'Fonte' (obrigatório)

ImageTemplateCustomizer

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de personalização faz cadeia (de caracteres)
tipo Defina como 'Arquivo' para o tipo ImageTemplateFileCustomizer. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellCustomizer. Defina como 'Shell' para o tipo ImageTemplateShellCustomizer. Defina como 'WindowsRestart' para o tipo ImageTemplateRestartCustomizer. Defina como 'WindowsUpdate' para o tipo ImageTemplateWindowsUpdateCustomizer. 'Ficheiro'
'PowerShell'
'Concha'
'WindowsRestart'
'WindowsUpdate' (obrigatório)

ImageTemplateDistribuidor

Nome Descrição Valor
artifactTags Tags que serão aplicadas ao artefato depois que ele for criado/atualizado pelo distribuidor. ImageTemplateDistributorArtifactTags
runOutputName O nome a ser usado para o RunOutput associado. cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageDistributor. Defina como 'SharedImage' para o tipo ImageTemplateSharedImageDistributor. Defina como 'VHD' para o tipo ImageTemplateVhdDistributor. 'ManagedImage'
'Imagem compartilhada'
«VHD» (obrigatório)

ImageTemplateDistributorArtifactTags

Nome Descrição Valor

ImageTemplateFileCustomizer

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado para personalizar a VM. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Ficheiro' (obrigatório)

ImageTemplateFileValidator

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado na VM para validação. Pode ser um link do github, URI do Armazenamento do Azure (autorizado ou SAS), etc cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Ficheiro' (obrigatório)

ImageTemplateIdentity

Nome Descrição Valor
tipo O tipo de identidade usado para o modelo de imagem. O tipo 'Nenhum' removerá todas as identidades do modelo de imagem. 'Nenhuma'
'UserAssigned'
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

ImageTemplateInVMValidator

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de validação faz cadeia (de caracteres)
tipo Defina como 'File' para o tipo ImageTemplateFileValidator. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellValidator. Defina como 'Shell' para o tipo ImageTemplateShellValidator. 'Ficheiro'
'PowerShell'
'Shell' (obrigatório)

ImageTemplateManagedImageDistributor

Nome Descrição Valor
imageId ID do recurso da imagem de disco gerenciado string (obrigatório)
localização O local do Azure para a imagem, deve corresponder se a imagem já existir string (obrigatório)
tipo Tipo de distribuição. 'ManagedImage' (obrigatório)

ImageTemplateManagedImageSource

Nome Descrição Valor
imageId ID de recurso ARM da imagem gerenciada na assinatura do cliente string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'ManagedImage' (obrigatório)

ImageTemplatePlatformImageSource

Nome Descrição Valor
oferta Oferta de imagem do Azure Gallery Images. cadeia (de caracteres)
planInfo Configuração opcional do plano de compra para imagem da plataforma. PlatformImagePurchasePlan
editor Image Publisher no Azure Gallery Images. cadeia (de caracteres)
SKU Documento de imagem do Azure Gallery Images. cadeia (de caracteres)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'PlatformImage' (obrigatório)
versão Versão da imagem do Azure Gallery Images. Se 'mais recente' for especificado aqui, a versão é avaliada quando a construção da imagem ocorre, não quando o modelo é enviado. cadeia (de caracteres)

ImageTemplatePowerShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplatePowerShellValidator

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplateProperties

Nome Descrição Valor
buildTimeoutInMinutes Duração máxima de espera durante a criação do modelo de imagem (inclui todas as personalizações, otimizações, validações e distribuições). Omitir ou especificar 0 para usar o padrão (4 horas). Int

Restrições:
Valor mínimo = 0
Valor máximo = 960
personalizar Especifica as propriedades usadas para descrever as etapas de personalização da imagem, como Fonte da imagem, etc ImageTemplateCustomizer[]
distribuir A distribuição destina-se para onde a saída de imagem precisa ir. ImageTemplateDistributor[] (obrigatório)
optimizar Especifica a otimização a ser executada na imagem. ImageTemplatePropertiesOptimize
origem Especifica as propriedades usadas para descrever a imagem de origem. ImageTemplateSource (obrigatório)
stagingResourceGroup O ID do grupo de recursos de preparo na mesma assinatura que o modelo de imagem que será usado para criar a imagem. Se este campo estiver vazio, será criado um grupo de recursos com um nome aleatório. Se o grupo de recursos especificado neste campo não existir, ele será criado com o mesmo nome. Se o grupo de recursos especificado existir, ele deverá estar vazio e na mesma região do modelo de imagem. O grupo de recursos criado será excluído durante a exclusão do modelo se esse campo estiver vazio ou se o grupo de recursos especificado não existir, mas se o grupo de recursos especificado existir, os recursos criados no grupo de recursos serão excluídos durante a exclusão do modelo e o próprio grupo de recursos permanecerá. cadeia (de caracteres)
validar Opções de configuração e lista de validações a serem executadas na imagem resultante. ImageTemplatePropertiesValidate
vmProfile Descreve como a máquina virtual é configurada para criar imagens ImageTemplateVmProfile

ImageTemplatePropertiesOptimize

Nome Descrição Valor
vmBoot A otimização é aplicada na imagem para uma inicialização mais rápida da VM. ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

Nome Descrição Valor
Estado Habilitar esse campo melhorará o tempo de inicialização da VM otimizando a saída final da imagem personalizada. 'Desativado'
'Habilitado'

ImageTemplatePropertiesValidate

Nome Descrição Valor
continueDistributeOnFailure Se a validação falhar e este campo estiver definido como false, a(s) imagem(ns) de saída não será(ão) distribuída(s). Este é o comportamento padrão. Se a validação falhar e este campo estiver definido como true, a(s) imagem(ns) de saída ainda será(ão) distribuída(s). Por favor, use esta opção com cuidado, pois pode resultar em imagens ruins sendo distribuídas para uso. Em ambos os casos (verdadeiro ou falso), a execução da imagem de ponta a ponta será relatada como tendo falhado em caso de falha de validação. [Nota: Este campo não tem efeito se a validação for bem-sucedida.] Bool
inVMValidações Lista de validações a serem realizadas. ImageTemplateInVMValidator[]
sourceValidationOnly Se este campo estiver definido como true, a imagem especificada na secção 'fonte' será diretamente validada. Nenhuma compilação separada será executada para gerar e, em seguida, validar uma imagem personalizada. Bool

ImageTemplateRestartCustomizer

Nome Descrição Valor
restartCheckCommand Comando para verificar se a reinicialização foi bem-sucedida [Padrão: ''] cadeia (de caracteres)
restartCommand Comando para executar a reinicialização [Padrão: 'shutdown /r /f /t 0 /c "packer restart"'] cadeia (de caracteres)
restartTimeout Tempo limite de reinicialização especificado como uma cadeia de magnitude e unidade, por exemplo, '5m' (5 minutos) ou '2h' (2 horas) [Padrão: '5m'] cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsRestart' (obrigatório)

ImageTemplateSharedImageDistributor

Nome Descrição Valor
excluirDaÚltima Sinalizador que indica se a versão da imagem criada deve ser excluída da versão mais recente. Omitir o padrão (false). Bool
galeriaImageId ID do recurso da imagem da Galeria de Computação do Azure string (obrigatório)
replicaçãoRegiões [Preterido] Uma lista de regiões para as quais a imagem será replicada. Esta lista só pode ser especificada se targetRegions não for especificado. Este campo foi preterido - use targetRegions em vez disso. string[]
tipoDeContaDeArmazenamento [Preterido] Tipo de conta de armazenamento a ser usado para armazenar a imagem compartilhada. Omitir o padrão (Standard_LRS). Este campo só pode ser especificado se replicationRegions for especificado. Este campo foi preterido - use targetRegions em vez disso. 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'
targetRegiões As regiões de destino para as quais a versão de imagem distribuída será replicada. Este objeto substitui replicationRegions e pode ser especificado somente se replicationRegions não for especificado. Região-alvo[]
tipo Tipo de distribuição. 'SharedImage' (obrigatório)
controlo de versões Descreve como gerar um novo número de versão x.y.z para distribuição. DistributeVersioner

ImageTemplateSharedImageVersionSource

Nome Descrição Valor
imageVersionId ID do recurso ARM da versão da imagem. Quando o nome da versão da imagem é 'mais recente', a versão é avaliada quando a compilação da imagem ocorre. string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'SharedImageVersion' (obrigatório)

ImageTemplateShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Shell' (obrigatório)

ImageTemplateShellValidator

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Shell' (obrigatório)

ImageTemplateSource

Nome Descrição Valor
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageSource. Defina como 'PlatformImage' para o tipo ImageTemplatePlatformImageSource. Defina como 'SharedImageVersion' para o tipo ImageTemplateSharedImageVersionSource. 'ManagedImage'
'Imagem de plataforma'
'SharedImageVersion' (obrigatório)

ImageTemplateVhdDistribuidor

Nome Descrição Valor
tipo Tipo de distribuição. «VHD» (obrigatório)
URI URI de Armazenamento do Azure opcional para o blob VHD distribuído. Omitir o uso padrão (cadeia de caracteres vazia), caso em que o VHD seria publicado na conta de armazenamento no grupo de recursos de preparo. cadeia (de caracteres)

ImageTemplateVmProfile

Nome Descrição Valor
osDiskSizeGB Tamanho do disco do SO em GB. Omita ou especifique 0 para usar o tamanho de disco padrão do sistema operacional do Azure. Int

Restrições:
Valor mínimo = 0
identidades atribuídas pelo utilizador Matriz opcional de IDs de recursos de identidades gerenciadas atribuídas pelo usuário a serem configuradas na VM de compilação e na VM de validação. Isso pode incluir a identidade do modelo de imagem. string[]
vmTamanho Tamanho da máquina virtual usada para criar, personalizar e capturar imagens. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_D1_v2 para imagens Gen1 e Standard_D2ds_v4 para imagens Gen2). cadeia (de caracteres)
vnetConfig Configuração opcional da rede virtual a ser usada para implantar a VM de compilação e a VM de validação. Omitir se nenhuma rede virtual específica precisar ser usada. VirtualNetworkConfig

ImageTemplateWindowsUpdateCustomizer

Nome Descrição Valor
filtros Matriz de filtros para selecionar atualizações a serem aplicadas. Omitir ou especificar matriz vazia para usar o padrão (sem filtro). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. string[]
pesquisaCritérios Critérios para pesquisar atualizações. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (pesquisar tudo). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsUpdate' (obrigatório)
updateLimit Número máximo de atualizações a aplicar de cada vez. Omitir ou especificar 0 para usar o padrão (1000) Int

Restrições:
Valor mínimo = 0

PlatformImagePurchasePlan

Nome Descrição Valor
nome do plano Nome do plano de compra. string (obrigatório)
planoProduto Produto do plano de compra. string (obrigatório)
planPublisher Editor do plano de compra. string (obrigatório)

Região-alvo

Nome Descrição Valor
nome O nome da região. string (obrigatório)
replicaCount O número de réplicas da versão da imagem a ser criada nesta região. Omitir o padrão (1). Int

Restrições:
Valor mínimo = 1
tipoDeContaDeArmazenamento Especifica o tipo de conta de armazenamento a ser usado para armazenar a imagem nessa região. Omitir o padrão (Standard_LRS). 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

VirtualNetworkConfig

Nome Descrição Valor
proxyVmSize Tamanho da máquina virtual proxy usada para passar o tráfego para a VM de compilação e a VM de validação. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_A1_v2). cadeia (de caracteres)
subnetId ID do recurso de uma sub-rede pré-existente. cadeia (de caracteres)

Exemplos de uso

Módulos verificados do Azure

Os seguintes de Módulos Verificados do Azure podem ser usados para implantar esse tipo de recurso.

Módulo Descrição
modelo de imagem de máquina virtual Módulo de recursos AVM para modelo de imagem de máquina virtual

Exemplos de início rápido do Azure

Os seguintes modelos início rápido do Azure contêm exemplos de Bicep para implantar esse tipo de recurso.

Arquivo Bicep Descrição
Construtor de Imagens do Azure com de Linha de Base do Windows do Azure Cria um ambiente do Azure Image Builder e cria uma imagem do Windows Server com as atualizações mais recentes do Windows e a linha de base do Windows do Azure aplicadas.
Configurar o serviço Caixa de Desenvolvimento Este modelo criaria todos os recursos de administração da Caixa de Desenvolvimento de acordo com o guia de início rápido da Caixa de Desenvolvimento (/azure/dev-box/quickstart-create-dev-box). Você pode visualizar todos os recursos criados ou ir diretamente para DevPortal.microsoft.com para criar sua primeira Caixa de Desenvolvimento.

Definição de recurso de modelo ARM

O tipo de recurso imageTemplates pode ser implantado com operações que visam:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.VirtualMachineImages/imageTemplates, adicione o seguinte JSON ao seu modelo.

{
  "type": "Microsoft.VirtualMachineImages/imageTemplates",
  "apiVersion": "2022-07-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "buildTimeoutInMinutes": "int",
    "customize": [ {
      "name": "string",
      "type": "string"
      // For remaining properties, see ImageTemplateCustomizer objects
    } ],
    "distribute": [ {
      "artifactTags": {
        "{customized property}": "string"
      },
      "runOutputName": "string",
      "type": "string"
      // For remaining properties, see ImageTemplateDistributor objects
    } ],
    "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": {
        "proxyVmSize": "string",
        "subnetId": "string"
      }
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Objetos ImageTemplateSource

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

{
  "imageId": "string",
  "type": "ManagedImage"
}

Para PlatformImage , use:

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

Para SharedImageVersion, use:

{
  "imageVersionId": "string",
  "type": "SharedImageVersion"
}

Objetos DistributeVersioner

Defina a propriedade scheme para especificar o tipo de objeto.

Para as mais recentes, utilize:

{
  "major": "int",
  "scheme": "Latest"
}

Para de origem, use:

{
  "scheme": "Source"
}

Objetos ImageTemplateCustomizer

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Para WindowsRestart, use:

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

Para WindowsUpdate , use:

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

Objetos ImageTemplateInVMValidator

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Objetos ImageTemplateDistributor

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

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

Para SharedImage , use:

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

Para VHD, use:

{
  "type": "VHD",
  "uri": "string"
}

Valores de propriedade

Microsoft.VirtualMachineImages/imageTemplates

Nome Descrição Valor
Versão da API A versão api '2022-07-01'
identidade A identidade do modelo de imagem, se configurado. ImageTemplateIdentity (obrigatório)
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
propriedades As propriedades do modelo de imagem ImageTemplateProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags. Consulte Tags em modelos
tipo O tipo de recurso 'Microsoft.VirtualMachineImages/imageTemplates'

DistributeVersioner

Nome Descrição Valor
Esquema Defina como 'Mais recente' para o tipo DistributeVersionerLatest. Defina como 'Source' para o tipo DistributeVersionerSource. 'Mais recente'
'Fonte' (obrigatório)

DistributeVersionerLatest

Nome Descrição Valor
principal Versão principal para o número de versão gerado. Determine o que é "mais recente" com base em versões com esse valor como a versão principal. -1 equivale a deixá-lo desdefinido. Int

Restrições:
Valor mínimo = -1
Esquema Esquema de numeração das versões a utilizar. «Mais recente» (obrigatório)

DistributeVersionerSource

Nome Descrição Valor
Esquema Esquema de numeração das versões a utilizar. 'Fonte' (obrigatório)

ImageTemplateCustomizer

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de personalização faz cadeia (de caracteres)
tipo Defina como 'Arquivo' para o tipo ImageTemplateFileCustomizer. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellCustomizer. Defina como 'Shell' para o tipo ImageTemplateShellCustomizer. Defina como 'WindowsRestart' para o tipo ImageTemplateRestartCustomizer. Defina como 'WindowsUpdate' para o tipo ImageTemplateWindowsUpdateCustomizer. 'Ficheiro'
'PowerShell'
'Concha'
'WindowsRestart'
'WindowsUpdate' (obrigatório)

ImageTemplateDistribuidor

Nome Descrição Valor
artifactTags Tags que serão aplicadas ao artefato depois que ele for criado/atualizado pelo distribuidor. ImageTemplateDistributorArtifactTags
runOutputName O nome a ser usado para o RunOutput associado. cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageDistributor. Defina como 'SharedImage' para o tipo ImageTemplateSharedImageDistributor. Defina como 'VHD' para o tipo ImageTemplateVhdDistributor. 'ManagedImage'
'Imagem compartilhada'
«VHD» (obrigatório)

ImageTemplateDistributorArtifactTags

Nome Descrição Valor

ImageTemplateFileCustomizer

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado para personalizar a VM. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Ficheiro' (obrigatório)

ImageTemplateFileValidator

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado na VM para validação. Pode ser um link do github, URI do Armazenamento do Azure (autorizado ou SAS), etc cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Ficheiro' (obrigatório)

ImageTemplateIdentity

Nome Descrição Valor
tipo O tipo de identidade usado para o modelo de imagem. O tipo 'Nenhum' removerá todas as identidades do modelo de imagem. 'Nenhuma'
'UserAssigned'
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

ImageTemplateInVMValidator

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de validação faz cadeia (de caracteres)
tipo Defina como 'File' para o tipo ImageTemplateFileValidator. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellValidator. Defina como 'Shell' para o tipo ImageTemplateShellValidator. 'Ficheiro'
'PowerShell'
'Shell' (obrigatório)

ImageTemplateManagedImageDistributor

Nome Descrição Valor
imageId ID do recurso da imagem de disco gerenciado string (obrigatório)
localização O local do Azure para a imagem, deve corresponder se a imagem já existir string (obrigatório)
tipo Tipo de distribuição. 'ManagedImage' (obrigatório)

ImageTemplateManagedImageSource

Nome Descrição Valor
imageId ID de recurso ARM da imagem gerenciada na assinatura do cliente string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'ManagedImage' (obrigatório)

ImageTemplatePlatformImageSource

Nome Descrição Valor
oferta Oferta de imagem do Azure Gallery Images. cadeia (de caracteres)
planInfo Configuração opcional do plano de compra para imagem da plataforma. PlatformImagePurchasePlan
editor Image Publisher no Azure Gallery Images. cadeia (de caracteres)
SKU Documento de imagem do Azure Gallery Images. cadeia (de caracteres)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'PlatformImage' (obrigatório)
versão Versão da imagem do Azure Gallery Images. Se 'mais recente' for especificado aqui, a versão é avaliada quando a construção da imagem ocorre, não quando o modelo é enviado. cadeia (de caracteres)

ImageTemplatePowerShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplatePowerShellValidator

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplateProperties

Nome Descrição Valor
buildTimeoutInMinutes Duração máxima de espera durante a criação do modelo de imagem (inclui todas as personalizações, otimizações, validações e distribuições). Omitir ou especificar 0 para usar o padrão (4 horas). Int

Restrições:
Valor mínimo = 0
Valor máximo = 960
personalizar Especifica as propriedades usadas para descrever as etapas de personalização da imagem, como Fonte da imagem, etc ImageTemplateCustomizer[]
distribuir A distribuição destina-se para onde a saída de imagem precisa ir. ImageTemplateDistributor[] (obrigatório)
optimizar Especifica a otimização a ser executada na imagem. ImageTemplatePropertiesOptimize
origem Especifica as propriedades usadas para descrever a imagem de origem. ImageTemplateSource (obrigatório)
stagingResourceGroup O ID do grupo de recursos de preparo na mesma assinatura que o modelo de imagem que será usado para criar a imagem. Se este campo estiver vazio, será criado um grupo de recursos com um nome aleatório. Se o grupo de recursos especificado neste campo não existir, ele será criado com o mesmo nome. Se o grupo de recursos especificado existir, ele deverá estar vazio e na mesma região do modelo de imagem. O grupo de recursos criado será excluído durante a exclusão do modelo se esse campo estiver vazio ou se o grupo de recursos especificado não existir, mas se o grupo de recursos especificado existir, os recursos criados no grupo de recursos serão excluídos durante a exclusão do modelo e o próprio grupo de recursos permanecerá. cadeia (de caracteres)
validar Opções de configuração e lista de validações a serem executadas na imagem resultante. ImageTemplatePropertiesValidate
vmProfile Descreve como a máquina virtual é configurada para criar imagens ImageTemplateVmProfile

ImageTemplatePropertiesOptimize

Nome Descrição Valor
vmBoot A otimização é aplicada na imagem para uma inicialização mais rápida da VM. ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

Nome Descrição Valor
Estado Habilitar esse campo melhorará o tempo de inicialização da VM otimizando a saída final da imagem personalizada. 'Desativado'
'Habilitado'

ImageTemplatePropertiesValidate

Nome Descrição Valor
continueDistributeOnFailure Se a validação falhar e este campo estiver definido como false, a(s) imagem(ns) de saída não será(ão) distribuída(s). Este é o comportamento padrão. Se a validação falhar e este campo estiver definido como true, a(s) imagem(ns) de saída ainda será(ão) distribuída(s). Por favor, use esta opção com cuidado, pois pode resultar em imagens ruins sendo distribuídas para uso. Em ambos os casos (verdadeiro ou falso), a execução da imagem de ponta a ponta será relatada como tendo falhado em caso de falha de validação. [Nota: Este campo não tem efeito se a validação for bem-sucedida.] Bool
inVMValidações Lista de validações a serem realizadas. ImageTemplateInVMValidator[]
sourceValidationOnly Se este campo estiver definido como true, a imagem especificada na secção 'fonte' será diretamente validada. Nenhuma compilação separada será executada para gerar e, em seguida, validar uma imagem personalizada. Bool

ImageTemplateRestartCustomizer

Nome Descrição Valor
restartCheckCommand Comando para verificar se a reinicialização foi bem-sucedida [Padrão: ''] cadeia (de caracteres)
restartCommand Comando para executar a reinicialização [Padrão: 'shutdown /r /f /t 0 /c "packer restart"'] cadeia (de caracteres)
restartTimeout Tempo limite de reinicialização especificado como uma cadeia de magnitude e unidade, por exemplo, '5m' (5 minutos) ou '2h' (2 horas) [Padrão: '5m'] cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsRestart' (obrigatório)

ImageTemplateSharedImageDistributor

Nome Descrição Valor
excluirDaÚltima Sinalizador que indica se a versão da imagem criada deve ser excluída da versão mais recente. Omitir o padrão (false). Bool
galeriaImageId ID do recurso da imagem da Galeria de Computação do Azure string (obrigatório)
replicaçãoRegiões [Preterido] Uma lista de regiões para as quais a imagem será replicada. Esta lista só pode ser especificada se targetRegions não for especificado. Este campo foi preterido - use targetRegions em vez disso. string[]
tipoDeContaDeArmazenamento [Preterido] Tipo de conta de armazenamento a ser usado para armazenar a imagem compartilhada. Omitir o padrão (Standard_LRS). Este campo só pode ser especificado se replicationRegions for especificado. Este campo foi preterido - use targetRegions em vez disso. 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'
targetRegiões As regiões de destino para as quais a versão de imagem distribuída será replicada. Este objeto substitui replicationRegions e pode ser especificado somente se replicationRegions não for especificado. Região-alvo[]
tipo Tipo de distribuição. 'SharedImage' (obrigatório)
controlo de versões Descreve como gerar um novo número de versão x.y.z para distribuição. DistributeVersioner

ImageTemplateSharedImageVersionSource

Nome Descrição Valor
imageVersionId ID do recurso ARM da versão da imagem. Quando o nome da versão da imagem é 'mais recente', a versão é avaliada quando a compilação da imagem ocorre. string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'SharedImageVersion' (obrigatório)

ImageTemplateShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Shell' (obrigatório)

ImageTemplateShellValidator

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Shell' (obrigatório)

ImageTemplateSource

Nome Descrição Valor
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageSource. Defina como 'PlatformImage' para o tipo ImageTemplatePlatformImageSource. Defina como 'SharedImageVersion' para o tipo ImageTemplateSharedImageVersionSource. 'ManagedImage'
'Imagem de plataforma'
'SharedImageVersion' (obrigatório)

ImageTemplateVhdDistribuidor

Nome Descrição Valor
tipo Tipo de distribuição. «VHD» (obrigatório)
URI URI de Armazenamento do Azure opcional para o blob VHD distribuído. Omitir o uso padrão (cadeia de caracteres vazia), caso em que o VHD seria publicado na conta de armazenamento no grupo de recursos de preparo. cadeia (de caracteres)

ImageTemplateVmProfile

Nome Descrição Valor
osDiskSizeGB Tamanho do disco do SO em GB. Omita ou especifique 0 para usar o tamanho de disco padrão do sistema operacional do Azure. Int

Restrições:
Valor mínimo = 0
identidades atribuídas pelo utilizador Matriz opcional de IDs de recursos de identidades gerenciadas atribuídas pelo usuário a serem configuradas na VM de compilação e na VM de validação. Isso pode incluir a identidade do modelo de imagem. string[]
vmTamanho Tamanho da máquina virtual usada para criar, personalizar e capturar imagens. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_D1_v2 para imagens Gen1 e Standard_D2ds_v4 para imagens Gen2). cadeia (de caracteres)
vnetConfig Configuração opcional da rede virtual a ser usada para implantar a VM de compilação e a VM de validação. Omitir se nenhuma rede virtual específica precisar ser usada. VirtualNetworkConfig

ImageTemplateWindowsUpdateCustomizer

Nome Descrição Valor
filtros Matriz de filtros para selecionar atualizações a serem aplicadas. Omitir ou especificar matriz vazia para usar o padrão (sem filtro). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. string[]
pesquisaCritérios Critérios para pesquisar atualizações. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (pesquisar tudo). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsUpdate' (obrigatório)
updateLimit Número máximo de atualizações a aplicar de cada vez. Omitir ou especificar 0 para usar o padrão (1000) Int

Restrições:
Valor mínimo = 0

PlatformImagePurchasePlan

Nome Descrição Valor
nome do plano Nome do plano de compra. string (obrigatório)
planoProduto Produto do plano de compra. string (obrigatório)
planPublisher Editor do plano de compra. string (obrigatório)

Região-alvo

Nome Descrição Valor
nome O nome da região. string (obrigatório)
replicaCount O número de réplicas da versão da imagem a ser criada nesta região. Omitir o padrão (1). Int

Restrições:
Valor mínimo = 1
tipoDeContaDeArmazenamento Especifica o tipo de conta de armazenamento a ser usado para armazenar a imagem nessa região. Omitir o padrão (Standard_LRS). 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

VirtualNetworkConfig

Nome Descrição Valor
proxyVmSize Tamanho da máquina virtual proxy usada para passar o tráfego para a VM de compilação e a VM de validação. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_A1_v2). cadeia (de caracteres)
subnetId ID do recurso de uma sub-rede pré-existente. cadeia (de caracteres)

Exemplos de uso

Modelos de início rápido do Azure

Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.

Modelo Descrição
Construtor de Imagens do Azure com de Linha de Base do Windows do Azure

Implantar no Azure
Cria um ambiente do Azure Image Builder e cria uma imagem do Windows Server com as atualizações mais recentes do Windows e a linha de base do Windows do Azure aplicadas.
Configurar o serviço Caixa de Desenvolvimento

Implantar no Azure
Este modelo criaria todos os recursos de administração da Caixa de Desenvolvimento de acordo com o guia de início rápido da Caixa de Desenvolvimento (/azure/dev-box/quickstart-create-dev-box). Você pode visualizar todos os recursos criados ou ir diretamente para DevPortal.microsoft.com para criar sua primeira Caixa de Desenvolvimento.

Definição de recursos Terraform (provedor AzAPI)

O tipo de recurso imageTemplates pode ser implantado com operações que visam:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato do recurso

Para criar um recurso Microsoft.VirtualMachineImages/imageTemplates, adicione o seguinte Terraform ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.VirtualMachineImages/imageTemplates@2022-07-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      buildTimeoutInMinutes = int
      customize = [
        {
          name = "string"
          type = "string"
          // For remaining properties, see ImageTemplateCustomizer objects
        }
      ]
      distribute = [
        {
          artifactTags = {
            {customized property} = "string"
          }
          runOutputName = "string"
          type = "string"
          // For remaining properties, see ImageTemplateDistributor objects
        }
      ]
      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 = {
          proxyVmSize = "string"
          subnetId = "string"
        }
      }
    }
  }
}

Objetos ImageTemplateSource

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

{
  imageId = "string"
  type = "ManagedImage"
}

Para PlatformImage , use:

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

Para SharedImageVersion, use:

{
  imageVersionId = "string"
  type = "SharedImageVersion"
}

Objetos DistributeVersioner

Defina a propriedade scheme para especificar o tipo de objeto.

Para as mais recentes, utilize:

{
  major = int
  scheme = "Latest"
}

Para de origem, use:

{
  scheme = "Source"
}

Objetos ImageTemplateCustomizer

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Para WindowsRestart, use:

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

Para WindowsUpdate , use:

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

Objetos ImageTemplateInVMValidator

Defina a propriedade type para especificar o tipo de objeto.

Para File, use:

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

Para PowerShell, use:

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

Para Shell, use:

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

Objetos ImageTemplateDistributor

Defina a propriedade type para especificar o tipo de objeto.

Para ManagedImage , use:

{
  imageId = "string"
  location = "string"
  type = "ManagedImage"
}

Para SharedImage , use:

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

Para VHD, use:

{
  type = "VHD"
  uri = "string"
}

Valores de propriedade

Microsoft.VirtualMachineImages/imageTemplates

Nome Descrição Valor
identidade A identidade do modelo de imagem, se configurado. ImageTemplateIdentity (obrigatório)
localização A geolocalização onde o recurso vive string (obrigatório)
nome O nome do recurso cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
propriedades As propriedades do modelo de imagem ImageTemplateProperties
etiquetas Tags de recursos Dicionário de nomes e valores de tags.
tipo O tipo de recurso "Microsoft.VirtualMachineImages/imageTemplates@2022-07-01"

DistributeVersioner

Nome Descrição Valor
Esquema Defina como 'Mais recente' para o tipo DistributeVersionerLatest. Defina como 'Source' para o tipo DistributeVersionerSource. 'Mais recente'
'Fonte' (obrigatório)

DistributeVersionerLatest

Nome Descrição Valor
principal Versão principal para o número de versão gerado. Determine o que é "mais recente" com base em versões com esse valor como a versão principal. -1 equivale a deixá-lo desdefinido. Int

Restrições:
Valor mínimo = -1
Esquema Esquema de numeração das versões a utilizar. «Mais recente» (obrigatório)

DistributeVersionerSource

Nome Descrição Valor
Esquema Esquema de numeração das versões a utilizar. 'Fonte' (obrigatório)

ImageTemplateCustomizer

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de personalização faz cadeia (de caracteres)
tipo Defina como 'Arquivo' para o tipo ImageTemplateFileCustomizer. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellCustomizer. Defina como 'Shell' para o tipo ImageTemplateShellCustomizer. Defina como 'WindowsRestart' para o tipo ImageTemplateRestartCustomizer. Defina como 'WindowsUpdate' para o tipo ImageTemplateWindowsUpdateCustomizer. 'Ficheiro'
'PowerShell'
'Concha'
'WindowsRestart'
'WindowsUpdate' (obrigatório)

ImageTemplateDistribuidor

Nome Descrição Valor
artifactTags Tags que serão aplicadas ao artefato depois que ele for criado/atualizado pelo distribuidor. ImageTemplateDistributorArtifactTags
runOutputName O nome a ser usado para o RunOutput associado. cadeia de caracteres

Restrições:
Padrão = ^[A-Za-z0-9-_.]{1,64}$ (obrigatório)
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageDistributor. Defina como 'SharedImage' para o tipo ImageTemplateSharedImageDistributor. Defina como 'VHD' para o tipo ImageTemplateVhdDistributor. 'ManagedImage'
'Imagem compartilhada'
«VHD» (obrigatório)

ImageTemplateDistributorArtifactTags

Nome Descrição Valor

ImageTemplateFileCustomizer

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado para personalizar a VM. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Ficheiro' (obrigatório)

ImageTemplateFileValidator

Nome Descrição Valor
destino O caminho absoluto para um arquivo (com estruturas de diretório aninhadas já criadas) onde o arquivo (de sourceUri) será carregado na VM cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do arquivo fornecido no campo sourceUri acima cadeia (de caracteres)
fonteUri O URI do arquivo a ser carregado na VM para validação. Pode ser um link do github, URI do Armazenamento do Azure (autorizado ou SAS), etc cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Ficheiro' (obrigatório)

ImageTemplateIdentity

Nome Descrição Valor
tipo O tipo de identidade usado para o modelo de imagem. O tipo 'Nenhum' removerá todas as identidades do modelo de imagem. 'Nenhuma'
'UserAssigned'
identidades atribuídas pelo utilizador O conjunto de identidades atribuídas pelo usuário associadas ao recurso. As chaves do dicionário userAssignedIdentities serão ids de recurso ARM no formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Os valores de dicionário podem ser objetos vazios ({}) em solicitações. UserAssignedIdentities

ImageTemplateInVMValidator

Nome Descrição Valor
nome Nome amigável para fornecer contexto sobre o que esta etapa de validação faz cadeia (de caracteres)
tipo Defina como 'File' para o tipo ImageTemplateFileValidator. Defina como 'PowerShell' para o tipo ImageTemplatePowerShellValidator. Defina como 'Shell' para o tipo ImageTemplateShellValidator. 'Ficheiro'
'PowerShell'
'Shell' (obrigatório)

ImageTemplateManagedImageDistributor

Nome Descrição Valor
imageId ID do recurso da imagem de disco gerenciado string (obrigatório)
localização O local do Azure para a imagem, deve corresponder se a imagem já existir string (obrigatório)
tipo Tipo de distribuição. 'ManagedImage' (obrigatório)

ImageTemplateManagedImageSource

Nome Descrição Valor
imageId ID de recurso ARM da imagem gerenciada na assinatura do cliente string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'ManagedImage' (obrigatório)

ImageTemplatePlatformImageSource

Nome Descrição Valor
oferta Oferta de imagem do Azure Gallery Images. cadeia (de caracteres)
planInfo Configuração opcional do plano de compra para imagem da plataforma. PlatformImagePurchasePlan
editor Image Publisher no Azure Gallery Images. cadeia (de caracteres)
SKU Documento de imagem do Azure Gallery Images. cadeia (de caracteres)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'PlatformImage' (obrigatório)
versão Versão da imagem do Azure Gallery Images. Se 'mais recente' for especificado aqui, a versão é avaliada quando a construção da imagem ocorre, não quando o modelo é enviado. cadeia (de caracteres)

ImageTemplatePowerShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplatePowerShellValidator

Nome Descrição Valor
inline Matriz de comandos do PowerShell para executar string[]
runAsSystem Se especificado, o script do PowerShell será executado com privilégios elevados usando o usuário do Sistema Local. Só pode ser true quando o campo runElevated acima está definido como true. Bool
runElevado Se especificado, o script do PowerShell será executado com privilégios elevados Bool
scriptUri URI do script do PowerShell a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do script power shell fornecido no campo scriptUri acima cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'PowerShell' (obrigatório)
validExitCodes Códigos de saída válidos para o script do PowerShell. [Padrão: 0] int[]

ImageTemplateProperties

Nome Descrição Valor
buildTimeoutInMinutes Duração máxima de espera durante a criação do modelo de imagem (inclui todas as personalizações, otimizações, validações e distribuições). Omitir ou especificar 0 para usar o padrão (4 horas). Int

Restrições:
Valor mínimo = 0
Valor máximo = 960
personalizar Especifica as propriedades usadas para descrever as etapas de personalização da imagem, como Fonte da imagem, etc ImageTemplateCustomizer[]
distribuir A distribuição destina-se para onde a saída de imagem precisa ir. ImageTemplateDistributor[] (obrigatório)
optimizar Especifica a otimização a ser executada na imagem. ImageTemplatePropertiesOptimize
origem Especifica as propriedades usadas para descrever a imagem de origem. ImageTemplateSource (obrigatório)
stagingResourceGroup O ID do grupo de recursos de preparo na mesma assinatura que o modelo de imagem que será usado para criar a imagem. Se este campo estiver vazio, será criado um grupo de recursos com um nome aleatório. Se o grupo de recursos especificado neste campo não existir, ele será criado com o mesmo nome. Se o grupo de recursos especificado existir, ele deverá estar vazio e na mesma região do modelo de imagem. O grupo de recursos criado será excluído durante a exclusão do modelo se esse campo estiver vazio ou se o grupo de recursos especificado não existir, mas se o grupo de recursos especificado existir, os recursos criados no grupo de recursos serão excluídos durante a exclusão do modelo e o próprio grupo de recursos permanecerá. cadeia (de caracteres)
validar Opções de configuração e lista de validações a serem executadas na imagem resultante. ImageTemplatePropertiesValidate
vmProfile Descreve como a máquina virtual é configurada para criar imagens ImageTemplateVmProfile

ImageTemplatePropertiesOptimize

Nome Descrição Valor
vmBoot A otimização é aplicada na imagem para uma inicialização mais rápida da VM. ImageTemplatePropertiesOptimizeVmBoot

ImageTemplatePropertiesOptimizeVmBoot

Nome Descrição Valor
Estado Habilitar esse campo melhorará o tempo de inicialização da VM otimizando a saída final da imagem personalizada. 'Desativado'
'Habilitado'

ImageTemplatePropertiesValidate

Nome Descrição Valor
continueDistributeOnFailure Se a validação falhar e este campo estiver definido como false, a(s) imagem(ns) de saída não será(ão) distribuída(s). Este é o comportamento padrão. Se a validação falhar e este campo estiver definido como true, a(s) imagem(ns) de saída ainda será(ão) distribuída(s). Por favor, use esta opção com cuidado, pois pode resultar em imagens ruins sendo distribuídas para uso. Em ambos os casos (verdadeiro ou falso), a execução da imagem de ponta a ponta será relatada como tendo falhado em caso de falha de validação. [Nota: Este campo não tem efeito se a validação for bem-sucedida.] Bool
inVMValidações Lista de validações a serem realizadas. ImageTemplateInVMValidator[]
sourceValidationOnly Se este campo estiver definido como true, a imagem especificada na secção 'fonte' será diretamente validada. Nenhuma compilação separada será executada para gerar e, em seguida, validar uma imagem personalizada. Bool

ImageTemplateRestartCustomizer

Nome Descrição Valor
restartCheckCommand Comando para verificar se a reinicialização foi bem-sucedida [Padrão: ''] cadeia (de caracteres)
restartCommand Comando para executar a reinicialização [Padrão: 'shutdown /r /f /t 0 /c "packer restart"'] cadeia (de caracteres)
restartTimeout Tempo limite de reinicialização especificado como uma cadeia de magnitude e unidade, por exemplo, '5m' (5 minutos) ou '2h' (2 horas) [Padrão: '5m'] cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsRestart' (obrigatório)

ImageTemplateSharedImageDistributor

Nome Descrição Valor
excluirDaÚltima Sinalizador que indica se a versão da imagem criada deve ser excluída da versão mais recente. Omitir o padrão (false). Bool
galeriaImageId ID do recurso da imagem da Galeria de Computação do Azure string (obrigatório)
replicaçãoRegiões [Preterido] Uma lista de regiões para as quais a imagem será replicada. Esta lista só pode ser especificada se targetRegions não for especificado. Este campo foi preterido - use targetRegions em vez disso. string[]
tipoDeContaDeArmazenamento [Preterido] Tipo de conta de armazenamento a ser usado para armazenar a imagem compartilhada. Omitir o padrão (Standard_LRS). Este campo só pode ser especificado se replicationRegions for especificado. Este campo foi preterido - use targetRegions em vez disso. 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'
targetRegiões As regiões de destino para as quais a versão de imagem distribuída será replicada. Este objeto substitui replicationRegions e pode ser especificado somente se replicationRegions não for especificado. Região-alvo[]
tipo Tipo de distribuição. 'SharedImage' (obrigatório)
controlo de versões Descreve como gerar um novo número de versão x.y.z para distribuição. DistributeVersioner

ImageTemplateSharedImageVersionSource

Nome Descrição Valor
imageVersionId ID do recurso ARM da versão da imagem. Quando o nome da versão da imagem é 'mais recente', a versão é avaliada quando a compilação da imagem ocorre. string (obrigatório)
tipo Especifica o tipo de imagem de origem com a qual você deseja começar. 'SharedImageVersion' (obrigatório)

ImageTemplateShellCustomizer

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para personalização. Pode ser um link github, URI SAS para Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'Shell' (obrigatório)

ImageTemplateShellValidator

Nome Descrição Valor
inline Matriz de comandos do shell para executar string[]
scriptUri URI do shell script a ser executado para validação. Pode ser um link do github, URI do Armazenamento do Azure, etc cadeia (de caracteres)
sha256Soma de verificação Soma de verificação SHA256 do shell script fornecido no campo scriptUri cadeia (de caracteres)
tipo O tipo de validação que você deseja usar na imagem. Por exemplo, "Shell" pode ser validação de shell 'Shell' (obrigatório)

ImageTemplateSource

Nome Descrição Valor
tipo Defina como 'ManagedImage' para o tipo ImageTemplateManagedImageSource. Defina como 'PlatformImage' para o tipo ImageTemplatePlatformImageSource. Defina como 'SharedImageVersion' para o tipo ImageTemplateSharedImageVersionSource. 'ManagedImage'
'Imagem de plataforma'
'SharedImageVersion' (obrigatório)

ImageTemplateVhdDistribuidor

Nome Descrição Valor
tipo Tipo de distribuição. «VHD» (obrigatório)
URI URI de Armazenamento do Azure opcional para o blob VHD distribuído. Omitir o uso padrão (cadeia de caracteres vazia), caso em que o VHD seria publicado na conta de armazenamento no grupo de recursos de preparo. cadeia (de caracteres)

ImageTemplateVmProfile

Nome Descrição Valor
osDiskSizeGB Tamanho do disco do SO em GB. Omita ou especifique 0 para usar o tamanho de disco padrão do sistema operacional do Azure. Int

Restrições:
Valor mínimo = 0
identidades atribuídas pelo utilizador Matriz opcional de IDs de recursos de identidades gerenciadas atribuídas pelo usuário a serem configuradas na VM de compilação e na VM de validação. Isso pode incluir a identidade do modelo de imagem. string[]
vmTamanho Tamanho da máquina virtual usada para criar, personalizar e capturar imagens. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_D1_v2 para imagens Gen1 e Standard_D2ds_v4 para imagens Gen2). cadeia (de caracteres)
vnetConfig Configuração opcional da rede virtual a ser usada para implantar a VM de compilação e a VM de validação. Omitir se nenhuma rede virtual específica precisar ser usada. VirtualNetworkConfig

ImageTemplateWindowsUpdateCustomizer

Nome Descrição Valor
filtros Matriz de filtros para selecionar atualizações a serem aplicadas. Omitir ou especificar matriz vazia para usar o padrão (sem filtro). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. string[]
pesquisaCritérios Critérios para pesquisar atualizações. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (pesquisar tudo). Consulte o link acima para obter exemplos e uma descrição detalhada deste campo. cadeia (de caracteres)
tipo O tipo de ferramenta de personalização que você deseja usar na Imagem. Por exemplo, "Shell" pode ser personalizador de shell 'WindowsUpdate' (obrigatório)
updateLimit Número máximo de atualizações a aplicar de cada vez. Omitir ou especificar 0 para usar o padrão (1000) Int

Restrições:
Valor mínimo = 0

PlatformImagePurchasePlan

Nome Descrição Valor
nome do plano Nome do plano de compra. string (obrigatório)
planoProduto Produto do plano de compra. string (obrigatório)
planPublisher Editor do plano de compra. string (obrigatório)

Região-alvo

Nome Descrição Valor
nome O nome da região. string (obrigatório)
replicaCount O número de réplicas da versão da imagem a ser criada nesta região. Omitir o padrão (1). Int

Restrições:
Valor mínimo = 1
tipoDeContaDeArmazenamento Especifica o tipo de conta de armazenamento a ser usado para armazenar a imagem nessa região. Omitir o padrão (Standard_LRS). 'Premium_LRS'
'Standard_LRS'
'Standard_ZRS'

TrackedResourceTags

Nome Descrição Valor

UserAssignedIdentities

Nome Descrição Valor

IdentidadeAtribuídaPeloUtilizador

Nome Descrição Valor

VirtualNetworkConfig

Nome Descrição Valor
proxyVmSize Tamanho da máquina virtual proxy usada para passar o tráfego para a VM de compilação e a VM de validação. Omita ou especifique a cadeia de caracteres vazia para usar o padrão (Standard_A1_v2). cadeia (de caracteres)
subnetId ID do recurso de uma sub-rede pré-existente. cadeia (de caracteres)