Skip to content

Instantly share code, notes, and snippets.

@ericbrumfield
Created October 14, 2019 21:47
Show Gist options
  • Save ericbrumfield/2f890ff8f0339d26d2b08248b5d690b5 to your computer and use it in GitHub Desktop.
Save ericbrumfield/2f890ff8f0339d26d2b08248b5d690b5 to your computer and use it in GitHub Desktop.
{
"variables": {
"src_ami_id": "",
"out_ami_name": "",
"ec2_keypair_name": "",
"private_key_file": "",
"builder_instance_type": "t2.small",
"bootstrap_pfx_file_path": "",
"bootstrap_pfx_password": "",
"vault_kv1_mount": "",
"vault_server_url": "",
"ec2_os": "windows",
"ec2_private_key_file_path": "",
"net_core_config_path": "",
"net_core_environment": "production",
"playbook_file_path": "",
"ansible_user": "",
"playbook_extra_vars_val": "",
"vpc_id": "",
"subnet_id": "",
"ec2_encrypt_boot": "",
"ec2_kms_key_arn": ""
},
"builders": [
{
"type": "amazon-ebs",
"region": "us-gov-west-1",
"profile": "govcloud",
"source_ami": "{{user `src_ami_id`}}",
"ami_name": "{{user `out_ami_name`}}",
"user_data_file": "./ec2_win_ami_userdata.ps1",
"instance_type": "{{user `builder_instance_type`}}",
"force_delete_snapshot": true,
"force_deregister": true,
"security_group_filter": {
"filters": {
"group-name": "ansible-winrm"
}
},
"vpc_id": "{{user `vpc_id`}}",
"subnet_id": "{{user `subnet_id`}}",
"shutdown_behavior": "terminate",
"encrypt_boot": "{{user `ec2_encrypt_boot`}}",
"kms_key_id": "{{user `ec2_kms_key_arn`}}",
"run_tags": {
"packer_build_lookup": "{{user `out_ami_name`}}",
"packer_build": "{{user `out_ami_name`}}",
"Name": "Packer_{{user `out_ami_name`}}"
},
"communicator": "winrm",
"ssh_keypair_name": "{{user `ec2_keypair_name`}}",
"ssh_interface": "public_ip",
"ssh_private_key_file": "{{user `private_key_file`}}",
"winrm_username": "Administrator",
"winrm_use_ntlm": true,
"winrm_insecure": true,
"winrm_port": "5986",
"winrm_use_ssl": true
}
],
"provisioners": [
{
"type": "shell-local",
"command": "[Redacted]"
},
{
"type": "ansible",
"user": "Administrator",
"ansible_env_vars": [ "WINRM_PASSWORD={{.WinRMPassword}}" ],
"playbook_file": "{{user `playbook_file_path`}}",
"extra_arguments": [
"--connection", "packer",
"--extra-vars", "{{user `playbook_extra_vars_val`}} ansible_shell_type=powershell ansible_shell_executable=None"
]
}
]
}
@ericbrumfield
Copy link
Author

Most of the variables we pass in from higher level orchestration (Jenkins)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment