mirror of
https://github.com/ansible/awx.git
synced 2026-03-05 10:41:05 -03:30
Add /api/v1/inventories/N/inventory_sources/ API resouce.
This commit is contained in:
@@ -55,6 +55,7 @@ SUMMARIZABLE_FK_FIELDS = {
|
|||||||
'last_job_host_summary': DEFAULT_SUMMARY_FIELDS + ('failed',),
|
'last_job_host_summary': DEFAULT_SUMMARY_FIELDS + ('failed',),
|
||||||
'last_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
|
'last_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
|
||||||
'current_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
|
'current_update': DEFAULT_SUMMARY_FIELDS + ('status', 'failed',),
|
||||||
|
'inventory_source': ('source', 'last_updated', 'status'),
|
||||||
}
|
}
|
||||||
|
|
||||||
class BaseSerializer(serializers.ModelSerializer):
|
class BaseSerializer(serializers.ModelSerializer):
|
||||||
@@ -452,6 +453,7 @@ class InventorySerializer(BaseSerializerWithVariables):
|
|||||||
script = reverse('main:inventory_script_view', args=(obj.pk,)),
|
script = reverse('main:inventory_script_view', args=(obj.pk,)),
|
||||||
tree = reverse('main:inventory_tree_view', args=(obj.pk,)),
|
tree = reverse('main:inventory_tree_view', args=(obj.pk,)),
|
||||||
organization = reverse('main:organization_detail', args=(obj.organization.pk,)),
|
organization = reverse('main:organization_detail', args=(obj.organization.pk,)),
|
||||||
|
inventory_sources = reverse('main:inventory_inventory_sources_list', args=(obj.pk,)),
|
||||||
))
|
))
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ inventory_urls = patterns('awx.main.views',
|
|||||||
url(r'^(?P<pk>[0-9]+)/variable_data/$', 'inventory_variable_data'),
|
url(r'^(?P<pk>[0-9]+)/variable_data/$', 'inventory_variable_data'),
|
||||||
url(r'^(?P<pk>[0-9]+)/script/$', 'inventory_script_view'),
|
url(r'^(?P<pk>[0-9]+)/script/$', 'inventory_script_view'),
|
||||||
url(r'^(?P<pk>[0-9]+)/tree/$', 'inventory_tree_view'),
|
url(r'^(?P<pk>[0-9]+)/tree/$', 'inventory_tree_view'),
|
||||||
|
url(r'^(?P<pk>[0-9]+)/inventory_sources/$', 'inventory_inventory_sources_list'),
|
||||||
)
|
)
|
||||||
|
|
||||||
host_urls = patterns('awx.main.views',
|
host_urls = patterns('awx.main.views',
|
||||||
|
|||||||
@@ -696,6 +696,21 @@ class InventoryTreeView(RetrieveAPIView):
|
|||||||
})
|
})
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
class InventoryInventorySourcesList(SubListAPIView):
|
||||||
|
|
||||||
|
model = InventorySource
|
||||||
|
serializer_class = InventorySourceSerializer
|
||||||
|
parent_model = Inventory
|
||||||
|
relationship = None # Not defined since using get_queryset().
|
||||||
|
view_name = 'Inventory Source List'
|
||||||
|
new_in_14 = True
|
||||||
|
|
||||||
|
def get_queryset(self):
|
||||||
|
parent = self.get_parent_object()
|
||||||
|
self.check_parent_access(parent)
|
||||||
|
qs = self.request.user.get_queryset(self.model)
|
||||||
|
return qs.filter(group__inventory__pk=parent.pk)
|
||||||
|
|
||||||
class InventorySourceDetail(RetrieveUpdateAPIView):
|
class InventorySourceDetail(RetrieveUpdateAPIView):
|
||||||
|
|
||||||
model = InventorySource
|
model = InventorySource
|
||||||
|
|||||||
Reference in New Issue
Block a user