haught.akips.akips_inventory (3.0.1) — inventory

Akips inventory source.

Authors: Matt Haught (@haught)

Install collection

Install with ansible-galaxy collection install haught.akips:==3.0.1


Add to requirements.yml

  collections:
    - name: haught.akips
      version: 3.0.1

Description

Bring in Akips groups and devices. Without options it will bring in everything.

Using restrict and exclude, you can limit what is pulled in.

Host variables can be added by the group or individually for a host.

Group variables are overwritten by matching individual host variabless.

Uses *_akips.(yml|yaml) YAML configuration file to set parameter values.


Requirements

Inputs

    
host:
    description:
    - The Akips hostname.
    - This value is FQDN for Akips host.
    - If the value is not specified in the task, the value of environment variable C(AKIPS_HOST)
      will be used instead.
    - Mutually exclusive with C(instance).
    env:
    - name: AKIPS_HOST
    required: true
    type: str

cache:
    default: false
    description:
    - Toggle to enable/disable the caching of the inventory's source data, requires a
      cache plugin setup to work.
    env:
    - name: ANSIBLE_INVENTORY_CACHE
    ini:
    - key: cache
      section: inventory
    type: bool

proxy:
    default: ''
    description:
    - Proxy server to use for requests to Akips.
    type: string

groups:
    default: {}
    description: Add hosts to group based on Jinja2 conditionals.
    type: dict

plugin:
    choices:
    - haught.akips.akips_inventory
    description: The name of the Akips Inventory Plugin, this should always be 'haught.akips.akips_inventory'.
    required: true

strict:
    default: false
    description:
    - If V(yes) make invalid entries a fatal error, otherwise skip and continue.
    - Since it is possible to use facts in the expressions they might not always be available
      and we ignore those errors by default.
    type: bool

compose:
    default: {}
    description: Create vars from jinja2 expressions.
    type: dict

password:
    description:
    - Password for username.
    - If the value is not specified, the value of environment variable C(AKIPS_PASSWORD)
      will be used instead.
    env:
    - name: AKIPS_PASSWORD
    required: true
    type: str

username:
    description:
    - Name of user for connection to Akips.
    - If the value is not specified, the value of environment variable C(AKIPS_USERNAME)
      will be used instead.
    env:
    - name: AKIPS_USERNAME
    required: true
    type: str

cache_plugin:
    default: memory
    description:
    - Cache plugin to use for the inventory's source data.
    env:
    - name: ANSIBLE_CACHE_PLUGIN
    - name: ANSIBLE_INVENTORY_CACHE_PLUGIN
    ini:
    - key: fact_caching
      section: defaults
    - key: cache_plugin
      section: inventory
    type: str

cache_prefix:
    default: ansible_inventory_
    description:
    - Prefix to use for cache plugin files/tables
    env:
    - name: ANSIBLE_CACHE_PLUGIN_PREFIX
    - name: ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
    ini:
    - key: fact_caching_prefix
      section: defaults
    - key: cache_prefix
      section: inventory

keyed_groups:
    default: []
    description: Add hosts to group based on the values of a variable.
    elements: dict
    suboptions:
      default_value:
        description:
        - The default value when the host variable's value is an empty string.
        - This option is mutually exclusive with O(keyed_groups[].trailing_separator).
        type: str
        version_added: '2.12'
        version_added_collection: ansible.builtin
      key:
        description:
        - The key from input dictionary used to generate groups
        type: str
      parent_group:
        description: parent group for keyed group
        type: str
      prefix:
        default: ''
        description: A keyed group name will start with this prefix
        type: str
      separator:
        default: _
        description: separator used to build the keyed group name
        type: str
      trailing_separator:
        default: true
        description:
        - Set this option to V(False) to omit the O(keyed_groups[].separator) after the
          host variable when the value is an empty string.
        - This option is mutually exclusive with O(keyed_groups[].default_value).
        type: bool
        version_added: '2.12'
        version_added_collection: ansible.builtin
    type: list

limit_groups:
    description:
    - A regex to match aginst Akips group names to include
    - Only hosts in matching groups will be in the inventory and
    - hosts will bring along other groups they belong to
    env:
    - name: AKIPS_LIMIT_GROUPS
    type: str

cache_timeout:
    default: 3600
    description:
    - Cache duration in seconds
    env:
    - name: ANSIBLE_CACHE_PLUGIN_TIMEOUT
    - name: ANSIBLE_INVENTORY_CACHE_TIMEOUT
    ini:
    - key: fact_caching_timeout
      section: defaults
    - key: cache_timeout
      section: inventory
    type: int

exclude_hosts:
    description:
    - A regex to match aginst host's names to exclude
    - Hosts matching will not be in the inventory
    env:
    - name: AKIPS_EXCLUDE_HOSTS
    type: str

host_hostvars:
    description:
    - Add additional hostvars to a host device
    - Contains a list of Regexes to match against the host's name and a dictionary of
      hostvars
    type: dict

ignore_groups:
    description:
    - A regex to match aginst Akips group names to ignore
    env:
    - name: AKIPS_IGNORE_GROUPS
    type: str

exclude_groups:
    description:
    - A regex to match aginst Akips group names whose hosts will be excluded
    - Hosts in matching groups will not be in the inventory
    env:
    - name: AKIPS_EXCLUDE_GROUPS
    type: str

group_hostvars:
    description:
    - Add additional hostvars to a group of host devices
    - Contains a list of Regexes to match against the host's group and a dictionary of
      hostvars
    type: dict

use_extra_vars:
    default: false
    description: Merge extra vars into the available variables for composition (highest
      precedence).
    env:
    - name: ANSIBLE_INVENTORY_USE_EXTRA_VARS
    ini:
    - key: use_extra_vars
      section: inventory_plugins
    type: bool
    version_added: '2.11'
    version_added_collection: ansible.builtin

restrict_groups:
    description:
    - A regex to match aginst Akips group names to only include
    - Only hosts in matching groups will be in the inventory
    env:
    - name: AKIPS_RESTRICT_GROUPS
    type: str

cache_connection:
    description:
    - Cache connection data or path, read cache plugin documentation for specifics.
    env:
    - name: ANSIBLE_CACHE_PLUGIN_CONNECTION
    - name: ANSIBLE_INVENTORY_CACHE_CONNECTION
    ini:
    - key: fact_caching_connection
      section: defaults
    - key: cache_connection
      section: inventory
    type: str

exclude_networks:
    description:
    - A regex to match aginst host's IPs to exclude
    - Hosts with matching IPs will not be in the inventory
    env:
    - name: AKIPS_EXCLUDE_NETWORKS
    type: str

leading_separator:
    default: true
    description:
    - Use in conjunction with keyed_groups.
    - By default, a keyed group that does not have a prefix or a separator provided will
      have a name that starts with an underscore.
    - This is because the default prefix is "" and the default separator is "_".
    - Set this option to False to omit the leading underscore (or other separator) if
      no prefix is given.
    - If the group name is derived from a mapping the separator is still used to concatenate
      the items.
    - To not use a separator in the group name at all, set the separator for the keyed
      group to an empty string instead.
    type: boolean
    version_added: '2.11'
    version_added_collection: ansible.builtin