db8fd95d68
* Add dynamic inventory script and config for Packet.net * The script and config have been shamelessly cargo culted from the `ec2.py` and `ec2.ini` dynamic inventory script. * This is an initial version and could very well be enhanced and made better. Examples: `PACKET_NET_API_KEY=<MY_AUTH_TOKEN> --list` to get inventory for all hosts in Packet.net in all projects (defaults to `--list` if no argument provided). `PACKET_NET_API_KEY=<MY_AUTH_TOKEN> --host HOST` to get variables for a single host. * improvements in Packet host dynamic inventory
52 lines
1.7 KiB
INI
52 lines
1.7 KiB
INI
# Ansible Packet.net external inventory script settings
|
|
#
|
|
|
|
[packet]
|
|
|
|
# Packet projects to get info for. Set this to 'all' to get info for all
|
|
# projects in Packet and merge the results together. Alternatively, set
|
|
# this to a comma separated list of projects. E.g. 'project-1,project-3,project-4'
|
|
projects = all
|
|
projects_exclude =
|
|
|
|
# By default, packet devices in all state are returned. Specify
|
|
# packet device states to return as a comma-separated list.
|
|
# device_states = active, inactive, queued, provisioning
|
|
|
|
# items per page to retrieve from packet api at a time
|
|
items_per_page = 999
|
|
|
|
# API calls to Packet are costly. For this reason, we cache the results of an API
|
|
# call. Set this to the path you want cache files to be written to. Two files
|
|
# will be written to this directory:
|
|
# - ansible-packet.cache
|
|
# - ansible-packet.index
|
|
cache_path = ~/.ansible/tmp
|
|
|
|
# The number of seconds a cache file is considered valid. After this many
|
|
# seconds, a new API call will be made, and the cache file will be updated.
|
|
# To disable the cache, set this value to 0
|
|
cache_max_age = 300
|
|
|
|
# Organize groups into a nested/hierarchy instead of a flat namespace.
|
|
nested_groups = False
|
|
|
|
# Replace - tags when creating groups to avoid issues with ansible
|
|
replace_dash_in_groups = True
|
|
|
|
# The packet inventory output can become very large. To manage its size,
|
|
# configure which groups should be created.
|
|
group_by_device_id = True
|
|
group_by_facility = True
|
|
group_by_project = True
|
|
group_by_operating_system = True
|
|
group_by_plan_type = True
|
|
group_by_tags = True
|
|
group_by_tag_none = True
|
|
|
|
# If you only want to include hosts that match a certain regular expression
|
|
# pattern_include = staging-*
|
|
|
|
# If you want to exclude any hosts that match a certain regular expression
|
|
# pattern_exclude = staging-*
|
|
|