|
|
|
|
@ -51,30 +51,46 @@ Required Parameters:
|
|
|
|
|
|
|
|
|
|
Optional Parameters:
|
|
|
|
|
|
|
|
|
|
- `ansible_env_vars` (array of strings) - Environment variables to set before
|
|
|
|
|
running Ansible.
|
|
|
|
|
Usage example:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- `command` (string) - The command to invoke ansible.
|
|
|
|
|
Defaults to `ansible-playbook`.
|
|
|
|
|
|
|
|
|
|
- `empty_groups` (array of strings) - The groups which should be present in
|
|
|
|
|
inventory file but remain empty.
|
|
|
|
|
|
|
|
|
|
- `extra_arguments` (array of strings) - Extra arguments to pass to Ansible.
|
|
|
|
|
These arguments _will not_ be passed through a shell and arguments should
|
|
|
|
|
not be quoted. Usage example:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"extra_arguments": [ "--extra-vars", "Region={{user `Region`}} Stage={{user `Stage`}}" ]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- `groups` (array of strings) - The groups into which the Ansible host
|
|
|
|
|
should be placed. When unspecified, the host is not associated with any
|
|
|
|
|
groups.
|
|
|
|
|
|
|
|
|
|
- `empty_groups` (array of strings) - The groups which should be present in
|
|
|
|
|
inventory file but remain empty.
|
|
|
|
|
|
|
|
|
|
- `host_alias` (string) - The alias by which the Ansible host should be known.
|
|
|
|
|
Defaults to `default`.
|
|
|
|
|
|
|
|
|
|
- `ssh_host_key_file` (string) - The SSH key that will be used to run the SSH
|
|
|
|
|
server on the host machine to forward commands to the target machine. Ansible
|
|
|
|
|
connects to this server and will validate the identity of the server using
|
|
|
|
|
the system known_hosts. The default behavior is to generate and use a
|
|
|
|
|
onetime key. Host key checking is disabled via the
|
|
|
|
|
`ANSIBLE_HOST_KEY_CHECKING` environment variable if the key is generated.
|
|
|
|
|
|
|
|
|
|
- `ssh_authorized_key_file` (string) - The SSH public key of the Ansible
|
|
|
|
|
`ssh_user`. The default behavior is to generate and use a onetime key. If
|
|
|
|
|
this key is generated, the corresponding private key is passed to
|
|
|
|
|
`ansible-playbook` with the `--private-key` option.
|
|
|
|
|
- `inventory_directory` (string) - The directory in which to place the
|
|
|
|
|
temporary generated Ansible inventory file. By default, this is the
|
|
|
|
|
system-specific temporary file location. The fully-qualified name of this
|
|
|
|
|
temporary file will be passed to the `-i` argument of the `ansible` command
|
|
|
|
|
when this provisioner runs ansible. Specify this if you have an existing
|
|
|
|
|
inventory directory with `host_vars` `group_vars` that you would like to use
|
|
|
|
|
in the playbook that this provisioner will run.
|
|
|
|
|
|
|
|
|
|
- `local_port` (string) - The port on which to attempt to listen for SSH
|
|
|
|
|
connections. This value is a starting point. The provisioner will attempt
|
|
|
|
|
@ -87,41 +103,25 @@ Optional Parameters:
|
|
|
|
|
files. The command should read and write on stdin and stdout, respectively.
|
|
|
|
|
Defaults to `/usr/lib/sftp-server -e`.
|
|
|
|
|
|
|
|
|
|
- `use_sftp` (boolean) - Whether to use SFTP. When false,
|
|
|
|
|
`ANSIBLE_SCP_IF_SSH=True` will be automatically added to `ansible_env_vars`.
|
|
|
|
|
Defaults to false.
|
|
|
|
|
|
|
|
|
|
- `extra_arguments` (array of strings) - Extra arguments to pass to Ansible.
|
|
|
|
|
These arguments _will not_ be passed through a shell and arguments should
|
|
|
|
|
not be quoted. Usage example:
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"extra_arguments": [ "--extra-vars", "Region={{user `Region`}} Stage={{user `Stage`}}" ]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- `skip_version_check` (bool) - Check if ansible is installed prior to running.
|
|
|
|
|
Set this to `true`, for example, if you're going to install ansible during
|
|
|
|
|
the packer run.
|
|
|
|
|
|
|
|
|
|
- `ansible_env_vars` (array of strings) - Environment variables to set before
|
|
|
|
|
running Ansible.
|
|
|
|
|
Usage example:
|
|
|
|
|
- `ssh_host_key_file` (string) - The SSH key that will be used to run the SSH
|
|
|
|
|
server on the host machine to forward commands to the target machine. Ansible
|
|
|
|
|
connects to this server and will validate the identity of the server using
|
|
|
|
|
the system known_hosts. The default behavior is to generate and use a
|
|
|
|
|
onetime key. Host key checking is disabled via the
|
|
|
|
|
`ANSIBLE_HOST_KEY_CHECKING` environment variable if the key is generated.
|
|
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True" ]
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
- `ssh_authorized_key_file` (string) - The SSH public key of the Ansible
|
|
|
|
|
`ssh_user`. The default behavior is to generate and use a onetime key. If
|
|
|
|
|
this key is generated, the corresponding private key is passed to
|
|
|
|
|
`ansible-playbook` with the `--private-key` option.
|
|
|
|
|
|
|
|
|
|
- `user` (string) - The `ansible_user` to use. Defaults to the user running
|
|
|
|
|
packer.
|
|
|
|
|
|
|
|
|
|
- `inventory_directory` (string) - The directory in which to place the
|
|
|
|
|
temporary generated Ansible inventory file. By default, this is the
|
|
|
|
|
system-specific temporary file location. The fully-qualified name of this
|
|
|
|
|
temporary file will be passed to the `-i` argument of the `ansible` command
|
|
|
|
|
when this provisioner runs ansible. Specify this if you have an existing
|
|
|
|
|
inventory directory with `host_vars` `group_vars` that you would like to use
|
|
|
|
|
in the playbook that this provisioner will run.
|
|
|
|
|
|
|
|
|
|
## Default Extra Variables
|
|
|
|
|
|
|
|
|
|
In addition to being able to specify extra arguments using the
|
|
|
|
|
|