github.com/mmcquillan/packer@v1.1.1-0.20171009221028-c85cf0483a5d/examples/azure/windows.json (about)

     1  {
     2    "variables": {
     3      "client_id": "{{env `ARM_CLIENT_ID`}}",
     4      "client_secret": "{{env `ARM_CLIENT_SECRET`}}",
     5      "resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
     6      "storage_account": "{{env `ARM_STORAGE_ACCOUNT`}}",
     7      "subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
     8      "object_id": "{{env `ARM_OBJECT_ID`}}"
     9    },
    10    "builders": [{
    11      "type": "azure-arm",
    12  
    13      "client_id": "{{user `client_id`}}",
    14      "client_secret": "{{user `client_secret`}}",
    15      "resource_group_name": "{{user `resource_group`}}",
    16      "storage_account": "{{user `storage_account`}}",
    17      "subscription_id": "{{user `subscription_id`}}",
    18      "object_id": "{{user `object_id`}}",
    19  
    20      "capture_container_name": "images",
    21      "capture_name_prefix": "packer",
    22  
    23      "os_type": "Windows",
    24      "image_publisher": "MicrosoftWindowsServer",
    25      "image_offer": "WindowsServer",
    26      "image_sku": "2012-R2-Datacenter",
    27  
    28      "communicator": "winrm",
    29      "winrm_use_ssl": "true",
    30      "winrm_insecure": "true",
    31      "winrm_timeout": "3m",
    32      "winrm_username": "packer",
    33  
    34      "location": "West US",
    35      "vm_size": "Standard_DS2_v2"
    36    }],
    37    "provisioners": [{
    38      "type": "powershell",
    39      "inline": [
    40        "if( Test-Path $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml ){ rm $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml -Force}",
    41        "& $env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /quiet /quit",
    42        "while($true) { $imageState = Get-ItemProperty HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\State | Select ImageState; if($imageState.ImageState -ne 'IMAGE_STATE_GENERALIZE_RESEAL_TO_OOBE') { Write-Output $imageState.ImageState; Start-Sleep -s 10  } else { break } }"
    43      ]
    44    }]
    45  }
    46