1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00

Merge pull request #6389 from jangsutsr/6343_add_url_and_type_fields_to_instances

Add URL and type fields to instances/instance groups
This commit is contained in:
Aaron Tan 2017-05-31 09:40:55 -04:00 committed by GitHub
commit 518baee5ba
2 changed files with 9 additions and 2 deletions

View File

@ -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):

View File

@ -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')])