2016-08-08 12:59:49 -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`}}",
|
2017-08-27 17:39:23 -04:00
|
|
|
"subscription_id": "{{env `ARM_SUBSCRIPTION_ID`}}",
|
2017-08-26 16:26:25 -04:00
|
|
|
"object_id": "{{env `ARM_OJBECT_ID`}}"
|
2016-08-08 12:59:49 -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`}}",
|
2017-08-26 16:26:25 -04:00
|
|
|
"object_id": "{{user `object_id`}}",
|
2016-08-08 12:59:49 -04:00
|
|
|
|
|
|
|
"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",
|
2017-06-07 18:01:10 -04:00
|
|
|
"vm_size": "Standard_DS2_v2"
|
2016-08-08 12:59:49 -04:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"provisioners": [{
|
2017-02-23 13:43:12 -05:00
|
|
|
"type": "powershell",
|
2019-01-08 13:17:33 -05:00
|
|
|
"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}",
|
|
|
|
"& $env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /quiet /quit",
|
|
|
|
"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 } }"
|
2017-02-23 13:43:12 -05:00
|
|
|
]
|
2016-08-08 12:59:49 -04:00
|
|
|
}]
|
|
|
|
}
|