2019-05-17 17:58:20 -04:00
|
|
|
{
|
|
|
|
"variables": {
|
|
|
|
"client_id": "{{env `ARM_CLIENT_ID`}}",
|
|
|
|
"client_secret": "{{env `ARM_CLIENT_SECRET`}}",
|
|
|
|
"resource_group": "{{env `ARM_RESOURCE_GROUP`}}",
|
|
|
|
"storage_account": "{{env `ARM_STORAGE_ACCOUNT`}}",
|
|
|
|
"subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
|
2019-07-02 11:09:36 -04:00
|
|
|
"object_id": "{{env `ARM_OBJECT_ID`}}"
|
2019-05-17 17:58:20 -04:00
|
|
|
},
|
|
|
|
"builders": [
|
|
|
|
{
|
|
|
|
"type": "azure-arm",
|
|
|
|
|
|
|
|
"client_id": "{{user `client_id`}}",
|
|
|
|
"client_secret": "{{user `client_secret`}}",
|
|
|
|
"resource_group_name": "{{user `resource_group`}}",
|
|
|
|
"storage_account": "{{user `storage_account`}}",
|
|
|
|
"subscription_id": "{{user `subscription_id`}}",
|
|
|
|
"object_id": "{{user `object_id`}}",
|
|
|
|
|
|
|
|
"capture_container_name": "images",
|
|
|
|
"capture_name_prefix": "packer",
|
|
|
|
|
|
|
|
"os_type": "Windows",
|
|
|
|
"image_url": "https://my-storage-account.blob.core.windows.net/path/to/your/custom/image.vhd",
|
|
|
|
|
|
|
|
"azure_tags": {
|
|
|
|
"dept": "engineering",
|
|
|
|
"task": "image deployment"
|
|
|
|
},
|
|
|
|
|
|
|
|
"location": "West US",
|
|
|
|
"vm_size": "Standard_DS2_v2"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"provisioners": [{
|
|
|
|
"type": "powershell",
|
|
|
|
"inline": [
|
|
|
|
" # NOTE: the following *3* lines are only needed if the you have installed the Guest Agent.",
|
|
|
|
" while ((Get-Service RdAgent).Status -ne 'Running') { Start-Sleep -s 5 }",
|
|
|
|
" while ((Get-Service WindowsAzureTelemetryService).Status -ne 'Running') { Start-Sleep -s 5 }",
|
|
|
|
" while ((Get-Service WindowsAzureGuestAgent).Status -ne 'Running') { Start-Sleep -s 5 }",
|
|
|
|
|
|
|
|
"if( Test-Path $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml ){ rm $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml -Force}",
|
2019-10-11 08:52:59 -04:00
|
|
|
"& $env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /quiet /quit /mode:vm",
|
2019-05-17 17:58:20 -04:00
|
|
|
"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 } }"
|
|
|
|
]
|
|
|
|
}]
|
|
|
|
}
|