diff --git a/awx/api/serializers.py b/awx/api/serializers.py index e55347e512..63818b48f9 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -3395,7 +3395,7 @@ class InstanceSerializer(BaseSerializer): class Meta: model = Instance - fields = ("related", "id", "uuid", "hostname", "created", "modified", + fields = ("id", "type", "url", "related", "uuid", "hostname", "created", "modified", "version", "capacity", "consumed_capacity", "percent_capacity_remaining", "jobs_running") def get_related(self, obj): @@ -3422,7 +3422,7 @@ class InstanceGroupSerializer(BaseSerializer): class Meta: model = InstanceGroup - fields = ("related", "id", "name", "created", "modified", "capacity", "consumed_capacity", + fields = ("id", "type", "url", "related", "name", "created", "modified", "capacity", "consumed_capacity", "percent_capacity_remaining", "jobs_running", "instances") def get_related(self, obj): diff --git a/awx/main/models/ha.py b/awx/main/models/ha.py index 00c22343f9..1456b68d2b 100644 --- a/awx/main/models/ha.py +++ b/awx/main/models/ha.py @@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _ from solo.models import SingletonModel +from awx.api.versioning import reverse from awx.main.managers import InstanceManager from awx.main.models.inventory import InventoryUpdate from awx.main.models.jobs import Job @@ -34,6 +35,9 @@ class Instance(models.Model): class Meta: app_label = 'main' + def get_absolute_url(self, request=None): + return reverse('api:instance_detail', kwargs={'pk': self.pk}, request=request) + @property def consumed_capacity(self): return sum(x.task_impact for x in UnifiedJob.objects.filter(execution_node=self.hostname, @@ -57,6 +61,9 @@ class InstanceGroup(models.Model): help_text=_('Instances that are members of this InstanceGroup'), ) + def get_absolute_url(self, request=None): + return reverse('api:instance_group_detail', kwargs={'pk': self.pk}, request=request) + @property def capacity(self): return sum([x[0] for x in self.instances.values_list('capacity')])