1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Add support for Tower Smart inventories (#41458)

* Support Smart Inventories

Add kind and host_filter fields and pass through to tower_cli.

* Add documentation for new Smart Inventories options

* Add missing description header for host_filter documentation

* Add version added tags to new options

* Bumped vesion_added to 2.7
This commit is contained in:
jaevans 2018-06-13 10:00:05 -07:00 committed by ansibot
parent 8df02ac37e
commit 75443b2094

View file

@ -37,6 +37,16 @@ options:
variables: variables:
description: description:
- Inventory variables. Use C(@) to get from file. - Inventory variables. Use C(@) to get from file.
kind:
description:
- The kind field. Cannot be modified after created.
default: ""
choices: ["", "smart"]
version_added: "2.7"
host_filter:
description:
- The host_filter field. Only useful when C(kind=smart).
version_added: "2.7"
state: state:
description: description:
- Desired state of the resource. - Desired state of the resource.
@ -75,6 +85,8 @@ def main():
description=dict(), description=dict(),
organization=dict(required=True), organization=dict(required=True),
variables=dict(), variables=dict(),
kind=dict(choices=['', 'smart'], default=''),
host_filter=dict(),
state=dict(choices=['present', 'absent'], default='present'), state=dict(choices=['present', 'absent'], default='present'),
)) ))
@ -88,6 +100,8 @@ def main():
organization = module.params.get('organization') organization = module.params.get('organization')
variables = module.params.get('variables') variables = module.params.get('variables')
state = module.params.get('state') state = module.params.get('state')
kind = module.params.get('kind')
host_filter = module.params.get('host_filter')
json_output = {'inventory': name, 'state': state} json_output = {'inventory': name, 'state': state}
@ -102,7 +116,8 @@ def main():
if state == 'present': if state == 'present':
result = inventory.modify(name=name, organization=org['id'], variables=variables, result = inventory.modify(name=name, organization=org['id'], variables=variables,
description=description, create_on_missing=True) description=description, kind=kind, host_filter=host_filter,
create_on_missing=True)
json_output['id'] = result['id'] json_output['id'] = result['id']
elif state == 'absent': elif state == 'absent':
result = inventory.delete(name=name, organization=org['id']) result = inventory.delete(name=name, organization=org['id'])