mirror of
https://github.com/ansible/awx.git
synced 2026-03-09 05:29:26 -02:30
Add in the basic list and detail api views
This commit is contained in:
committed by
Shane McDonald
parent
9697999ddd
commit
61cbd34586
@@ -50,7 +50,7 @@ from awx.main.constants import (
|
|||||||
)
|
)
|
||||||
from awx.main.models import (
|
from awx.main.models import (
|
||||||
ActivityStream, AdHocCommand, AdHocCommandEvent, Credential, CredentialInputSource,
|
ActivityStream, AdHocCommand, AdHocCommandEvent, Credential, CredentialInputSource,
|
||||||
CredentialType, CustomInventoryScript, Group, Host, Instance,
|
CredentialType, CustomInventoryScript, ExecutionEnvironment, Group, Host, Instance,
|
||||||
InstanceGroup, Inventory, InventorySource, InventoryUpdate,
|
InstanceGroup, Inventory, InventorySource, InventoryUpdate,
|
||||||
InventoryUpdateEvent, Job, JobEvent, JobHostSummary, JobLaunchConfig,
|
InventoryUpdateEvent, Job, JobEvent, JobHostSummary, JobLaunchConfig,
|
||||||
JobNotificationMixin, JobTemplate, Label, Notification, NotificationTemplate,
|
JobNotificationMixin, JobTemplate, Label, Notification, NotificationTemplate,
|
||||||
@@ -1347,6 +1347,21 @@ class ProjectOptionsSerializer(BaseSerializer):
|
|||||||
return super(ProjectOptionsSerializer, self).validate(attrs)
|
return super(ProjectOptionsSerializer, self).validate(attrs)
|
||||||
|
|
||||||
|
|
||||||
|
class ExecutionEnvironmentSerializer(BaseSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = ExecutionEnvironment
|
||||||
|
fields = ('*', '-name', 'organization', 'image', 'managed_by_tower', 'credential')
|
||||||
|
|
||||||
|
def get_related(self, obj):
|
||||||
|
res = super(ExecutionEnvironmentSerializer, self).get_related(obj)
|
||||||
|
if obj.organization:
|
||||||
|
res['organization'] = self.reverse('api:organization_detail', kwargs={'pk': obj.organization.pk})
|
||||||
|
if obj.credential:
|
||||||
|
res['credential'] = self.reverse('api:credential_detail',
|
||||||
|
kwargs={'pk': obj.credential.pk})
|
||||||
|
return res
|
||||||
|
|
||||||
|
|
||||||
class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer):
|
class ProjectSerializer(UnifiedJobTemplateSerializer, ProjectOptionsSerializer):
|
||||||
|
|
||||||
status = serializers.ChoiceField(choices=Project.PROJECT_STATUS_CHOICES, read_only=True)
|
status = serializers.ChoiceField(choices=Project.PROJECT_STATUS_CHOICES, read_only=True)
|
||||||
|
|||||||
14
awx/api/urls/execution_environments.py
Normal file
14
awx/api/urls/execution_environments.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
from django.conf.urls import url
|
||||||
|
|
||||||
|
from awx.api.views import (
|
||||||
|
ExecutionEnvironmentList,
|
||||||
|
ExecutionEnvironmentDetail,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
urls = [
|
||||||
|
url(r'^$', ExecutionEnvironmentList.as_view(), name='execution_environment_list'),
|
||||||
|
url(r'^(?P<pk>[0-9]+)/$', ExecutionEnvironmentDetail.as_view(), name='execution_environment_detail'),
|
||||||
|
]
|
||||||
|
|
||||||
|
__all__ = ['urls']
|
||||||
@@ -42,6 +42,7 @@ from .user import urls as user_urls
|
|||||||
from .project import urls as project_urls
|
from .project import urls as project_urls
|
||||||
from .project_update import urls as project_update_urls
|
from .project_update import urls as project_update_urls
|
||||||
from .inventory import urls as inventory_urls
|
from .inventory import urls as inventory_urls
|
||||||
|
from .execution_environments import urls as execution_environment_urls
|
||||||
from .team import urls as team_urls
|
from .team import urls as team_urls
|
||||||
from .host import urls as host_urls
|
from .host import urls as host_urls
|
||||||
from .group import urls as group_urls
|
from .group import urls as group_urls
|
||||||
@@ -106,6 +107,7 @@ v2_urls = [
|
|||||||
url(r'^schedules/', include(schedule_urls)),
|
url(r'^schedules/', include(schedule_urls)),
|
||||||
url(r'^organizations/', include(organization_urls)),
|
url(r'^organizations/', include(organization_urls)),
|
||||||
url(r'^users/', include(user_urls)),
|
url(r'^users/', include(user_urls)),
|
||||||
|
url(r'^execution_environments/', include(execution_environment_urls)),
|
||||||
url(r'^projects/', include(project_urls)),
|
url(r'^projects/', include(project_urls)),
|
||||||
url(r'^project_updates/', include(project_update_urls)),
|
url(r'^project_updates/', include(project_update_urls)),
|
||||||
url(r'^teams/', include(team_urls)),
|
url(r'^teams/', include(team_urls)),
|
||||||
|
|||||||
@@ -685,6 +685,18 @@ class TeamAccessList(ResourceAccessList):
|
|||||||
parent_model = models.Team
|
parent_model = models.Team
|
||||||
|
|
||||||
|
|
||||||
|
class ExecutionEnvironmentList(ListCreateAPIView):
|
||||||
|
|
||||||
|
model = models.ExecutionEnvironment
|
||||||
|
serializer_class = serializers.ExecutionEnvironmentSerializer
|
||||||
|
|
||||||
|
|
||||||
|
class ExecutionEnvironmentDetail(RetrieveUpdateDestroyAPIView):
|
||||||
|
|
||||||
|
model = models.ExecutionEnvironment
|
||||||
|
serializer_class = serializers.ExecutionEnvironmentSerializer
|
||||||
|
|
||||||
|
|
||||||
class ProjectList(ListCreateAPIView):
|
class ProjectList(ListCreateAPIView):
|
||||||
|
|
||||||
model = models.Project
|
model = models.Project
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ class ApiVersionRootView(APIView):
|
|||||||
data['dashboard'] = reverse('api:dashboard_view', request=request)
|
data['dashboard'] = reverse('api:dashboard_view', request=request)
|
||||||
data['organizations'] = reverse('api:organization_list', request=request)
|
data['organizations'] = reverse('api:organization_list', request=request)
|
||||||
data['users'] = reverse('api:user_list', request=request)
|
data['users'] = reverse('api:user_list', request=request)
|
||||||
|
data['execution_environments'] = reverse('api:execution_environment_list', request=request)
|
||||||
data['projects'] = reverse('api:project_list', request=request)
|
data['projects'] = reverse('api:project_list', request=request)
|
||||||
data['project_updates'] = reverse('api:project_update_list', request=request)
|
data['project_updates'] = reverse('api:project_update_list', request=request)
|
||||||
data['teams'] = reverse('api:team_list', request=request)
|
data['teams'] = reverse('api:team_list', request=request)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from awx.api.versioning import reverse
|
||||||
from awx.main.models.base import PrimordialModel
|
from awx.main.models.base import PrimordialModel
|
||||||
|
|
||||||
|
|
||||||
@@ -35,3 +36,6 @@ class ExecutionEnvironment(PrimordialModel):
|
|||||||
default=None,
|
default=None,
|
||||||
on_delete=models.SET_NULL,
|
on_delete=models.SET_NULL,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_absolute_url(self, request=None):
|
||||||
|
return reverse('api:execution_environment_detail', kwargs={'pk': self.pk}, request=request)
|
||||||
|
|||||||
Reference in New Issue
Block a user