Add smart_inventories endpoint to Host

This commit is contained in:
Wayne Witzel III
2017-05-26 10:10:31 -04:00
parent 5232b70897
commit e28cd97ffb
8 changed files with 92 additions and 7 deletions

View File

@@ -23,10 +23,16 @@ in our _Smart Search_.
* The `Inventory` model has a new field called `kind`. The default of this field will be blank
for normal inventories and set to `smart` for smart inventories.
* `Inventory` model as a new field called `host_filter`. The default of this field will be blank
* `Inventory` model has a new field called `host_filter`. The default of this field will be blank
for normal inventories. When `host_filter` is set AND the inventory `kind` is set to `smart`
is the combination that makes a _Smart Inventory_.
* `Host` model has a new field called `smart_inventories`. This field uses the `SmartInventoryMemberships`
lookup table to provide a set of all of the _Smart Inventory_ a host is a part of. The memberships
or generated by the `update_host_smart_inventory_memberships` task. This task is called when the view for
`/api/v2/hosts/:id/smart_inventories` is materialized. NOTE: This task is only run if the
`AWX_REBUILD_SMART_MEMBERSHIP` is set to True. It defaults to False.
### Smart Filter (host_filter)
The `SmartFilter` class handles our translation of the smart search string. We store the
filter value in the `host_filter` field for an inventory. This value should be expressed