@terraform
Connector¶
Generate one or more SSH hosts from a Terraform output variable. The variable must be a list of hostnames or dictionaries.
Output is fetched from a flattened JSON dictionary output from terraform output
-json
. For example the following object:
{
"server_group": {
"value": {
"server_group_node_ips": [
"1.2.3.4",
"1.2.3.5",
"1.2.3.6"
]
}
}
}
The IP list server_group_node_ips
would be used like so:
pyinfra @terraform/server_group.value.server_group_node_ips ...
You can also specify dictionaries to include extra data with hosts:
{
"server_group": {
"value": {
"server_group_node_ips": [
{
"ssh_hostname": "1.2.3.4",
"ssh_user": "ssh-user"
},
{
"ssh_hostname": "1.2.3.5",
"ssh_user": "ssh-user"
}
]
}
}
}
Usage¶
pyinfra @terraform/name ...