blob: 3cb786d6ec21264daa3a1be9f82fcc16e6402fd0 [file] [log] [blame]
Sapan Bhatiadea39432014-06-13 03:10:36 -04001from rest_framework.decorators import api_view
2from rest_framework.response import Response
3from rest_framework.reverse import reverse
4from rest_framework import serializers
Scott Baker0caeaf02014-06-19 11:12:55 -07005from rest_framework import generics
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006from rest_framework import status
Scott Bakerf3816ac2014-11-12 01:13:53 -08007from rest_framework.generics import GenericAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04008from core.models import *
9from django.forms import widgets
Scott Baker46b58542014-08-11 17:26:12 -070010from rest_framework import filters
Scott Baker55a2e292014-11-10 16:31:15 -080011from django.conf.urls import patterns, url
Sapan Bhatiadea39432014-06-13 03:10:36 -040012
Scott Bakerc8af5752014-12-23 11:12:07 -080013if hasattr(serializers, "ReadOnlyField"):
14 # rest_framework 3.x
15 IdField = serializers.ReadOnlyField
16else:
17 # rest_framework 2.x
18 IdField = serializers.Field
19
Sapan Bhatiadea39432014-06-13 03:10:36 -040020"""
Scott Baker08898c12014-10-29 23:41:11 -070021 Schema of the generator object:
22 all: Set of all Model objects
23 all_if(regex): Set of Model objects that match regex
Scott Bakerf3816ac2014-11-12 01:13:53 -080024
Scott Baker08898c12014-10-29 23:41:11 -070025 Model object:
26 plural: English plural of object name
27 camel: CamelCase version of object name
28 refs: list of references to other Model objects
29 props: list of properties minus refs
Sapan Bhatiadea39432014-06-13 03:10:36 -040030
Scott Baker08898c12014-10-29 23:41:11 -070031 TODO: Deal with subnets
Sapan Bhatiadea39432014-06-13 03:10:36 -040032"""
33
Scott Baker55a2e292014-11-10 16:31:15 -080034def get_REST_patterns():
35 return patterns('',
36 url(r'^plstackapi/$', api_root),
37
38 url(r'plstackapi/serviceattributes/$', ServiceAttributeList.as_view(), name='serviceattribute-list'),
39 url(r'plstackapi/serviceattributes/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceAttributeDetail.as_view(), name ='serviceattribute-detail'),
40
Scott Bakerc1d11912014-12-22 09:29:05 -080041 url(r'plstackapi/controllerimages/$', ControllerImagesList.as_view(), name='controllerimages-list'),
42 url(r'plstackapi/controllerimages/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerImagesDetail.as_view(), name ='controllerimages-detail'),
43
Scott Bakeree9c5bf2015-01-12 13:16:39 -080044 url(r'plstackapi/controllersiteprivileges/$', ControllerSitePrivilegeList.as_view(), name='controllersiteprivilege-list'),
45 url(r'plstackapi/controllersiteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSitePrivilegeDetail.as_view(), name ='controllersiteprivilege-detail'),
46
Scott Baker55a2e292014-11-10 16:31:15 -080047 url(r'plstackapi/images/$', ImageList.as_view(), name='image-list'),
48 url(r'plstackapi/images/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDetail.as_view(), name ='image-detail'),
49
50 url(r'plstackapi/networkparameters/$', NetworkParameterList.as_view(), name='networkparameter-list'),
51 url(r'plstackapi/networkparameters/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterDetail.as_view(), name ='networkparameter-detail'),
52
53 url(r'plstackapi/sites/$', SiteList.as_view(), name='site-list'),
54 url(r'plstackapi/sites/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDetail.as_view(), name ='site-detail'),
55
56 url(r'plstackapi/slice_roles/$', SliceRoleList.as_view(), name='slicerole-list'),
57 url(r'plstackapi/slice_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceRoleDetail.as_view(), name ='slicerole-detail'),
58
59 url(r'plstackapi/tags/$', TagList.as_view(), name='tag-list'),
60 url(r'plstackapi/tags/(?P<pk>[a-zA-Z0-9\-]+)/$', TagDetail.as_view(), name ='tag-detail'),
61
62 url(r'plstackapi/invoices/$', InvoiceList.as_view(), name='invoice-list'),
63 url(r'plstackapi/invoices/(?P<pk>[a-zA-Z0-9\-]+)/$', InvoiceDetail.as_view(), name ='invoice-detail'),
64
65 url(r'plstackapi/slice_privileges/$', SlicePrivilegeList.as_view(), name='sliceprivilege-list'),
66 url(r'plstackapi/slice_privileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SlicePrivilegeDetail.as_view(), name ='sliceprivilege-detail'),
67
68 url(r'plstackapi/planetstackroles/$', PlanetStackRoleList.as_view(), name='planetstackrole-list'),
69 url(r'plstackapi/planetstackroles/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackRoleDetail.as_view(), name ='planetstackrole-detail'),
70
71 url(r'plstackapi/networkslivers/$', NetworkSliverList.as_view(), name='networksliver-list'),
72 url(r'plstackapi/networkslivers/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliverDetail.as_view(), name ='networksliver-detail'),
73
Scott Bakeree9c5bf2015-01-12 13:16:39 -080074 url(r'plstackapi/flavors/$', FlavorList.as_view(), name='flavor-list'),
75 url(r'plstackapi/flavors/(?P<pk>[a-zA-Z0-9\-]+)/$', FlavorDetail.as_view(), name ='flavor-detail'),
76
77 url(r'plstackapi/controllersites/$', ControllerSiteList.as_view(), name='controllersite-list'),
78 url(r'plstackapi/controllersites/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSiteDetail.as_view(), name ='controllersite-detail'),
79
Scott Baker55a2e292014-11-10 16:31:15 -080080 url(r'plstackapi/projects/$', ProjectList.as_view(), name='project-list'),
81 url(r'plstackapi/projects/(?P<pk>[a-zA-Z0-9\-]+)/$', ProjectDetail.as_view(), name ='project-detail'),
82
83 url(r'plstackapi/slices/$', SliceList.as_view(), name='slice-list'),
84 url(r'plstackapi/slices/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceDetail.as_view(), name ='slice-detail'),
85
86 url(r'plstackapi/networks/$', NetworkList.as_view(), name='network-list'),
87 url(r'plstackapi/networks/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkDetail.as_view(), name ='network-detail'),
88
89 url(r'plstackapi/services/$', ServiceList.as_view(), name='service-list'),
90 url(r'plstackapi/services/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceDetail.as_view(), name ='service-detail'),
91
92 url(r'plstackapi/serviceclasses/$', ServiceClassList.as_view(), name='serviceclass-list'),
93 url(r'plstackapi/serviceclasses/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceClassDetail.as_view(), name ='serviceclass-detail'),
94
Scott Bakeree9c5bf2015-01-12 13:16:39 -080095 url(r'plstackapi/planetstacks/$', PlanetStackList.as_view(), name='planetstack-list'),
96 url(r'plstackapi/planetstacks/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackDetail.as_view(), name ='planetstack-detail'),
Scott Baker55a2e292014-11-10 16:31:15 -080097
98 url(r'plstackapi/charges/$', ChargeList.as_view(), name='charge-list'),
99 url(r'plstackapi/charges/(?P<pk>[a-zA-Z0-9\-]+)/$', ChargeDetail.as_view(), name ='charge-detail'),
100
101 url(r'plstackapi/roles/$', RoleList.as_view(), name='role-list'),
102 url(r'plstackapi/roles/(?P<pk>[a-zA-Z0-9\-]+)/$', RoleDetail.as_view(), name ='role-detail'),
103
104 url(r'plstackapi/usableobjects/$', UsableObjectList.as_view(), name='usableobject-list'),
105 url(r'plstackapi/usableobjects/(?P<pk>[a-zA-Z0-9\-]+)/$', UsableObjectDetail.as_view(), name ='usableobject-detail'),
106
107 url(r'plstackapi/site_roles/$', SiteRoleList.as_view(), name='siterole-list'),
108 url(r'plstackapi/site_roles/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteRoleDetail.as_view(), name ='siterole-detail'),
109
110 url(r'plstackapi/slicecredentials/$', SliceCredentialList.as_view(), name='slicecredential-list'),
111 url(r'plstackapi/slicecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceCredentialDetail.as_view(), name ='slicecredential-detail'),
112
113 url(r'plstackapi/slivers/$', SliverList.as_view(), name='sliver-list'),
114 url(r'plstackapi/slivers/(?P<pk>[a-zA-Z0-9\-]+)/$', SliverDetail.as_view(), name ='sliver-detail'),
115
116 url(r'plstackapi/nodes/$', NodeList.as_view(), name='node-list'),
117 url(r'plstackapi/nodes/(?P<pk>[a-zA-Z0-9\-]+)/$', NodeDetail.as_view(), name ='node-detail'),
118
119 url(r'plstackapi/dashboardviews/$', DashboardViewList.as_view(), name='dashboardview-list'),
120 url(r'plstackapi/dashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', DashboardViewDetail.as_view(), name ='dashboardview-detail'),
121
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800122 url(r'plstackapi/controllernetworks/$', ControllerNetworkList.as_view(), name='controllernetwork-list'),
123 url(r'plstackapi/controllernetworks/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerNetworkDetail.as_view(), name ='controllernetwork-detail'),
124
Scott Bakerc1d11912014-12-22 09:29:05 -0800125 url(r'plstackapi/imagedeploymentses/$', ImageDeploymentsList.as_view(), name='imagedeployments-list'),
126 url(r'plstackapi/imagedeploymentses/(?P<pk>[a-zA-Z0-9\-]+)/$', ImageDeploymentsDetail.as_view(), name ='imagedeployments-detail'),
Scott Baker196ffef2014-11-21 11:32:24 -0800127
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800128 url(r'plstackapi/controllerusers/$', ControllerUserList.as_view(), name='controlleruser-list'),
129 url(r'plstackapi/controllerusers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerUserDetail.as_view(), name ='controlleruser-detail'),
130
Scott Baker55a2e292014-11-10 16:31:15 -0800131 url(r'plstackapi/reservedresources/$', ReservedResourceList.as_view(), name='reservedresource-list'),
132 url(r'plstackapi/reservedresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservedResourceDetail.as_view(), name ='reservedresource-detail'),
133
Scott Bakerc1d11912014-12-22 09:29:05 -0800134 url(r'plstackapi/payments/$', PaymentList.as_view(), name='payment-list'),
135 url(r'plstackapi/payments/(?P<pk>[a-zA-Z0-9\-]+)/$', PaymentDetail.as_view(), name ='payment-detail'),
136
Scott Baker55a2e292014-11-10 16:31:15 -0800137 url(r'plstackapi/networkslices/$', NetworkSliceList.as_view(), name='networkslice-list'),
138 url(r'plstackapi/networkslices/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkSliceDetail.as_view(), name ='networkslice-detail'),
139
140 url(r'plstackapi/userdashboardviews/$', UserDashboardViewList.as_view(), name='userdashboardview-list'),
141 url(r'plstackapi/userdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDashboardViewDetail.as_view(), name ='userdashboardview-detail'),
142
Scott Bakerc1d11912014-12-22 09:29:05 -0800143 url(r'plstackapi/controllers/$', ControllerList.as_view(), name='controller-list'),
144 url(r'plstackapi/controllers/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDetail.as_view(), name ='controller-detail'),
145
Scott Baker55a2e292014-11-10 16:31:15 -0800146 url(r'plstackapi/planetstackprivileges/$', PlanetStackPrivilegeList.as_view(), name='planetstackprivilege-list'),
147 url(r'plstackapi/planetstackprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', PlanetStackPrivilegeDetail.as_view(), name ='planetstackprivilege-detail'),
148
149 url(r'plstackapi/users/$', UserList.as_view(), name='user-list'),
150 url(r'plstackapi/users/(?P<pk>[a-zA-Z0-9\-]+)/$', UserDetail.as_view(), name ='user-detail'),
151
152 url(r'plstackapi/deployments/$', DeploymentList.as_view(), name='deployment-list'),
153 url(r'plstackapi/deployments/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentDetail.as_view(), name ='deployment-detail'),
154
155 url(r'plstackapi/reservations/$', ReservationList.as_view(), name='reservation-list'),
156 url(r'plstackapi/reservations/(?P<pk>[a-zA-Z0-9\-]+)/$', ReservationDetail.as_view(), name ='reservation-detail'),
157
Scott Baker55a2e292014-11-10 16:31:15 -0800158 url(r'plstackapi/siteprivileges/$', SitePrivilegeList.as_view(), name='siteprivilege-list'),
159 url(r'plstackapi/siteprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', SitePrivilegeDetail.as_view(), name ='siteprivilege-detail'),
160
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800161 url(r'plstackapi/controllerslices/$', ControllerSliceList.as_view(), name='controllerslice-list'),
162 url(r'plstackapi/controllerslices/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSliceDetail.as_view(), name ='controllerslice-detail'),
Scott Baker55a2e292014-11-10 16:31:15 -0800163
Scott Bakera6a0c772014-12-22 17:35:34 -0800164 url(r'plstackapi/controllerdashboardviews/$', ControllerDashboardViewList.as_view(), name='controllerdashboardview-list'),
165 url(r'plstackapi/controllerdashboardviews/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerDashboardViewDetail.as_view(), name ='controllerdashboardview-detail'),
166
Scott Baker55a2e292014-11-10 16:31:15 -0800167 url(r'plstackapi/accounts/$', AccountList.as_view(), name='account-list'),
168 url(r'plstackapi/accounts/(?P<pk>[a-zA-Z0-9\-]+)/$', AccountDetail.as_view(), name ='account-detail'),
169
Scott Bakerc1d11912014-12-22 09:29:05 -0800170 url(r'plstackapi/controllerroles/$', ControllerRoleList.as_view(), name='controllerrole-list'),
171 url(r'plstackapi/controllerroles/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerRoleDetail.as_view(), name ='controllerrole-detail'),
172
Scott Baker55a2e292014-11-10 16:31:15 -0800173 url(r'plstackapi/networkparametertypes/$', NetworkParameterTypeList.as_view(), name='networkparametertype-list'),
174 url(r'plstackapi/networkparametertypes/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkParameterTypeDetail.as_view(), name ='networkparametertype-detail'),
175
176 url(r'plstackapi/sitecredentials/$', SiteCredentialList.as_view(), name='sitecredential-list'),
177 url(r'plstackapi/sitecredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteCredentialDetail.as_view(), name ='sitecredential-detail'),
178
Scott Bakerc1d11912014-12-22 09:29:05 -0800179 url(r'plstackapi/deploymentprivileges/$', DeploymentPrivilegeList.as_view(), name='deploymentprivilege-list'),
180 url(r'plstackapi/deploymentprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentPrivilegeDetail.as_view(), name ='deploymentprivilege-detail'),
Scott Baker55a2e292014-11-10 16:31:15 -0800181
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800182 url(r'plstackapi/controllersliceprivileges/$', ControllerSlicePrivilegeList.as_view(), name='controllersliceprivilege-list'),
183 url(r'plstackapi/controllersliceprivileges/(?P<pk>[a-zA-Z0-9\-]+)/$', ControllerSlicePrivilegeDetail.as_view(), name ='controllersliceprivilege-detail'),
184
185 url(r'plstackapi/sitedeployments/$', SiteDeploymentList.as_view(), name='sitedeployment-list'),
186 url(r'plstackapi/sitedeployments/(?P<pk>[a-zA-Z0-9\-]+)/$', SiteDeploymentDetail.as_view(), name ='sitedeployment-detail'),
Scott Bakerc1d11912014-12-22 09:29:05 -0800187
188 url(r'plstackapi/deploymentroles/$', DeploymentRoleList.as_view(), name='deploymentrole-list'),
189 url(r'plstackapi/deploymentroles/(?P<pk>[a-zA-Z0-9\-]+)/$', DeploymentRoleDetail.as_view(), name ='deploymentrole-detail'),
Scott Baker55a2e292014-11-10 16:31:15 -0800190
191 url(r'plstackapi/usercredentials/$', UserCredentialList.as_view(), name='usercredential-list'),
192 url(r'plstackapi/usercredentials/(?P<pk>[a-zA-Z0-9\-]+)/$', UserCredentialDetail.as_view(), name ='usercredential-detail'),
193
Scott Baker55a2e292014-11-10 16:31:15 -0800194 url(r'plstackapi/slicetags/$', SliceTagList.as_view(), name='slicetag-list'),
195 url(r'plstackapi/slicetags/(?P<pk>[a-zA-Z0-9\-]+)/$', SliceTagDetail.as_view(), name ='slicetag-detail'),
196
Scott Bakera6a0c772014-12-22 17:35:34 -0800197 url(r'plstackapi/networktemplates/$', NetworkTemplateList.as_view(), name='networktemplate-list'),
198 url(r'plstackapi/networktemplates/(?P<pk>[a-zA-Z0-9\-]+)/$', NetworkTemplateDetail.as_view(), name ='networktemplate-detail'),
Scott Baker55a2e292014-11-10 16:31:15 -0800199
200 url(r'plstackapi/routers/$', RouterList.as_view(), name='router-list'),
201 url(r'plstackapi/routers/(?P<pk>[a-zA-Z0-9\-]+)/$', RouterDetail.as_view(), name ='router-detail'),
202
203 url(r'plstackapi/serviceresources/$', ServiceResourceList.as_view(), name='serviceresource-list'),
204 url(r'plstackapi/serviceresources/(?P<pk>[a-zA-Z0-9\-]+)/$', ServiceResourceDetail.as_view(), name ='serviceresource-detail'),
205
206 )
Sapan Bhatiadea39432014-06-13 03:10:36 -0400207
208@api_view(['GET'])
209def api_root(request, format=None):
210 return Response({
Scott Baker08898c12014-10-29 23:41:11 -0700211 'serviceattributes': reverse('serviceattribute-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800212 'controllerimageses': reverse('controllerimages-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800213 'controllersiteprivileges': reverse('controllersiteprivilege-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700214 'images': reverse('image-list', request=request, format=format),
215 'networkparameters': reverse('networkparameter-list', request=request, format=format),
216 'sites': reverse('site-list', request=request, format=format),
217 'sliceroles': reverse('slicerole-list', request=request, format=format),
218 'tags': reverse('tag-list', request=request, format=format),
219 'invoices': reverse('invoice-list', request=request, format=format),
220 'sliceprivileges': reverse('sliceprivilege-list', request=request, format=format),
221 'planetstackroles': reverse('planetstackrole-list', request=request, format=format),
222 'networkslivers': reverse('networksliver-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800223 'flavors': reverse('flavor-list', request=request, format=format),
224 'controllersites': reverse('controllersite-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700225 'projects': reverse('project-list', request=request, format=format),
226 'slices': reverse('slice-list', request=request, format=format),
227 'networks': reverse('network-list', request=request, format=format),
228 'services': reverse('service-list', request=request, format=format),
229 'serviceclasses': reverse('serviceclass-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800230 'planetstacks': reverse('planetstack-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700231 'charges': reverse('charge-list', request=request, format=format),
232 'roles': reverse('role-list', request=request, format=format),
233 'usableobjects': reverse('usableobject-list', request=request, format=format),
234 'siteroles': reverse('siterole-list', request=request, format=format),
235 'slicecredentials': reverse('slicecredential-list', request=request, format=format),
236 'slivers': reverse('sliver-list', request=request, format=format),
237 'nodes': reverse('node-list', request=request, format=format),
238 'dashboardviews': reverse('dashboardview-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800239 'controllernetworks': reverse('controllernetwork-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800240 'imagedeploymentses': reverse('imagedeployments-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800241 'controllerusers': reverse('controlleruser-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700242 'reservedresources': reverse('reservedresource-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800243 'payments': reverse('payment-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700244 'networkslices': reverse('networkslice-list', request=request, format=format),
245 'userdashboardviews': reverse('userdashboardview-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800246 'controllers': reverse('controller-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700247 'planetstackprivileges': reverse('planetstackprivilege-list', request=request, format=format),
248 'users': reverse('user-list', request=request, format=format),
249 'deployments': reverse('deployment-list', request=request, format=format),
250 'reservations': reverse('reservation-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700251 'siteprivileges': reverse('siteprivilege-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800252 'controllerslices': reverse('controllerslice-list', request=request, format=format),
Scott Bakera6a0c772014-12-22 17:35:34 -0800253 'controllerdashboardviews': reverse('controllerdashboardview-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700254 'accounts': reverse('account-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800255 'controllerroles': reverse('controllerrole-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700256 'networkparametertypes': reverse('networkparametertype-list', request=request, format=format),
257 'sitecredentials': reverse('sitecredential-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800258 'deploymentprivileges': reverse('deploymentprivilege-list', request=request, format=format),
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800259 'controllersliceprivileges': reverse('controllersliceprivilege-list', request=request, format=format),
260 'sitedeployments': reverse('sitedeployment-list', request=request, format=format),
Scott Bakerc1d11912014-12-22 09:29:05 -0800261 'deploymentroles': reverse('deploymentrole-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700262 'usercredentials': reverse('usercredential-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700263 'slicetags': reverse('slicetag-list', request=request, format=format),
Scott Bakera6a0c772014-12-22 17:35:34 -0800264 'networktemplates': reverse('networktemplate-list', request=request, format=format),
Scott Baker08898c12014-10-29 23:41:11 -0700265 'routers': reverse('router-list', request=request, format=format),
266 'serviceresources': reverse('serviceresource-list', request=request, format=format),
267
Sapan Bhatiadea39432014-06-13 03:10:36 -0400268 })
269
270# Based on serializers.py
271
Scott Bakerc1d11912014-12-22 09:29:05 -0800272class XOSModelSerializer(serializers.ModelSerializer):
273 def save_object(self, obj, **kwargs):
274
275 """ rest_framework can't deal with ManyToMany relations that have a
276 through table. In plstackapi, most of the through tables we have
277 use defaults or blank fields, so there's no reason why we shouldn't
278 be able to save these objects.
279
280 So, let's strip out these m2m relations, and deal with them ourself.
281 """
282 obj._complex_m2m_data={};
283 if getattr(obj, '_m2m_data', None):
284 for relatedObject in obj._meta.get_all_related_many_to_many_objects():
285 if (relatedObject.field.rel.through._meta.auto_created):
286 # These are non-trough ManyToMany relations and
287 # can be updated just fine
288 continue
289 fieldName = relatedObject.get_accessor_name()
290 if fieldName in obj._m2m_data.keys():
291 obj._complex_m2m_data[fieldName] = (relatedObject, obj._m2m_data[fieldName])
292 del obj._m2m_data[fieldName]
293
294 serializers.ModelSerializer.save_object(self, obj, **kwargs);
295
296 for (accessor, stuff) in obj._complex_m2m_data.items():
297 (relatedObject, data) = stuff
298 through = relatedObject.field.rel.through
299 local_fieldName = relatedObject.field.m2m_reverse_field_name()
300 remote_fieldName = relatedObject.field.m2m_field_name()
301
302 # get the current set of existing relations
303 existing = through.objects.filter(**{local_fieldName: obj});
304
305 data_ids = [item.id for item in data]
306 existing_ids = [getattr(item,remote_fieldName).id for item in existing]
307
308 #print "data_ids", data_ids
309 #print "existing_ids", existing_ids
310
311 # remove relations that are in 'existing' but not in 'data'
312 for item in list(existing):
313 if (getattr(item,remote_fieldName).id not in data_ids):
314 print "delete", getattr(item,remote_fieldName)
315 item.delete() #(purge=True)
316
317 # add relations that are in 'data' but not in 'existing'
318 for item in data:
319 if (item.id not in existing_ids):
320 #print "add", item
321 newModel = through(**{local_fieldName: obj, remote_fieldName: item})
322 newModel.save()
323
324
325
Scott Baker0caeaf02014-06-19 11:12:55 -0700326class ServiceAttributeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800327 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700328
Scott Baker196ffef2014-11-21 11:32:24 -0800329 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800330 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800331 def getHumanReadableName(self, obj):
332 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800333 def getValidators(self, obj):
334 try:
335 return obj.getValidators()
336 except:
337 return None
Scott Baker08898c12014-10-29 23:41:11 -0700338 class Meta:
339 model = ServiceAttribute
Scott Baker5e140a32015-01-30 15:41:39 -0800340 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
Scott Baker46b58542014-08-11 17:26:12 -0700341
Scott Bakerc1d11912014-12-22 09:29:05 -0800342class ServiceAttributeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800343 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700344
Scott Baker196ffef2014-11-21 11:32:24 -0800345 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800346 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800347 def getHumanReadableName(self, obj):
348 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800349 def getValidators(self, obj):
350 try:
351 return obj.getValidators()
352 except:
353 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800354 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700355 model = ServiceAttribute
Scott Baker5e140a32015-01-30 15:41:39 -0800356 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
Scott Baker46b58542014-08-11 17:26:12 -0700357
358
Sapan Bhatiadea39432014-06-13 03:10:36 -0400359
360
Scott Bakerc1d11912014-12-22 09:29:05 -0800361class ControllerImagesSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800362 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -0800363
364 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
365 validators = serializers.SerializerMethodField("getValidators")
366 def getHumanReadableName(self, obj):
367 return str(obj)
368 def getValidators(self, obj):
369 try:
370 return obj.getValidators()
371 except:
372 return None
373 class Meta:
374 model = ControllerImages
Scott Baker5e140a32015-01-30 15:41:39 -0800375 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
Scott Bakerc1d11912014-12-22 09:29:05 -0800376
377class ControllerImagesIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800378 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -0800379
380 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
381 validators = serializers.SerializerMethodField("getValidators")
382 def getHumanReadableName(self, obj):
383 return str(obj)
384 def getValidators(self, obj):
385 try:
386 return obj.getValidators()
387 except:
388 return None
389 class Meta:
390 model = ControllerImages
Scott Baker5e140a32015-01-30 15:41:39 -0800391 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
Scott Bakerc1d11912014-12-22 09:29:05 -0800392
393
394
395
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800396class ControllerSitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
397 id = IdField()
398
399 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
400 validators = serializers.SerializerMethodField("getValidators")
401 def getHumanReadableName(self, obj):
402 return str(obj)
403 def getValidators(self, obj):
404 try:
405 return obj.getValidators()
406 except:
407 return None
408 class Meta:
409 model = ControllerSitePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -0800410 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800411
412class ControllerSitePrivilegeIdSerializer(XOSModelSerializer):
413 id = IdField()
414
415 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
416 validators = serializers.SerializerMethodField("getValidators")
417 def getHumanReadableName(self, obj):
418 return str(obj)
419 def getValidators(self, obj):
420 try:
421 return obj.getValidators()
422 except:
423 return None
424 class Meta:
425 model = ControllerSitePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -0800426 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800427
428
429
430
Sapan Bhatiadea39432014-06-13 03:10:36 -0400431class ImageSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800432 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700433
Scott Baker93a79a92014-12-22 15:59:33 -0800434
435 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
436
437
Scott Baker196ffef2014-11-21 11:32:24 -0800438 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800439 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800440 def getHumanReadableName(self, obj):
441 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800442 def getValidators(self, obj):
443 try:
444 return obj.getValidators()
445 except:
446 return None
Scott Baker08898c12014-10-29 23:41:11 -0700447 class Meta:
448 model = Image
Scott Baker5e140a32015-01-30 15:41:39 -0800449 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -0700450
Scott Bakerc1d11912014-12-22 09:29:05 -0800451class ImageIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800452 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700453
Scott Baker93a79a92014-12-22 15:59:33 -0800454
Scott Bakera3134fe2014-12-23 10:56:06 -0800455 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
Scott Baker93a79a92014-12-22 15:59:33 -0800456
457
Scott Baker196ffef2014-11-21 11:32:24 -0800458 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800459 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800460 def getHumanReadableName(self, obj):
461 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800462 def getValidators(self, obj):
463 try:
464 return obj.getValidators()
465 except:
466 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800467 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700468 model = Image
Scott Baker5e140a32015-01-30 15:41:39 -0800469 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -0700470
471
Sapan Bhatiadea39432014-06-13 03:10:36 -0400472
473
Scott Baker0caeaf02014-06-19 11:12:55 -0700474class NetworkParameterSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800475 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700476
Scott Baker196ffef2014-11-21 11:32:24 -0800477 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800478 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800479 def getHumanReadableName(self, obj):
480 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800481 def getValidators(self, obj):
482 try:
483 return obj.getValidators()
484 except:
485 return None
Scott Baker08898c12014-10-29 23:41:11 -0700486 class Meta:
487 model = NetworkParameter
Scott Baker5e140a32015-01-30 15:41:39 -0800488 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700489
Scott Bakerc1d11912014-12-22 09:29:05 -0800490class NetworkParameterIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800491 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700492
Scott Baker196ffef2014-11-21 11:32:24 -0800493 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800494 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800495 def getHumanReadableName(self, obj):
496 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800497 def getValidators(self, obj):
498 try:
499 return obj.getValidators()
500 except:
501 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800502 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700503 model = NetworkParameter
Scott Baker5e140a32015-01-30 15:41:39 -0800504 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700505
506
Sapan Bhatiadea39432014-06-13 03:10:36 -0400507
508
509class SiteSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800510 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700511
Scott Bakerc1d11912014-12-22 09:29:05 -0800512
513 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
514
515
Scott Baker196ffef2014-11-21 11:32:24 -0800516 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800517 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800518 def getHumanReadableName(self, obj):
519 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800520 def getValidators(self, obj):
521 try:
522 return obj.getValidators()
523 except:
524 return None
Scott Baker08898c12014-10-29 23:41:11 -0700525 class Meta:
526 model = Site
Scott Baker5e140a32015-01-30 15:41:39 -0800527 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -0700528
Scott Bakerc1d11912014-12-22 09:29:05 -0800529class SiteIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800530 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700531
Scott Bakerc1d11912014-12-22 09:29:05 -0800532
Scott Bakera3134fe2014-12-23 10:56:06 -0800533 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -0800534
535
Scott Baker196ffef2014-11-21 11:32:24 -0800536 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800537 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800538 def getHumanReadableName(self, obj):
539 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800540 def getValidators(self, obj):
541 try:
542 return obj.getValidators()
543 except:
544 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800545 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700546 model = Site
Scott Baker5e140a32015-01-30 15:41:39 -0800547 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -0700548
549
Sapan Bhatiadea39432014-06-13 03:10:36 -0400550
551
Scott Baker0caeaf02014-06-19 11:12:55 -0700552class SliceRoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800553 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700554
Scott Baker196ffef2014-11-21 11:32:24 -0800555 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800556 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800557 def getHumanReadableName(self, obj):
558 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800559 def getValidators(self, obj):
560 try:
561 return obj.getValidators()
562 except:
563 return None
Scott Baker08898c12014-10-29 23:41:11 -0700564 class Meta:
565 model = SliceRole
Scott Baker5e140a32015-01-30 15:41:39 -0800566 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -0700567
Scott Bakerc1d11912014-12-22 09:29:05 -0800568class SliceRoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800569 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700570
Scott Baker196ffef2014-11-21 11:32:24 -0800571 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800572 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800573 def getHumanReadableName(self, obj):
574 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800575 def getValidators(self, obj):
576 try:
577 return obj.getValidators()
578 except:
579 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800580 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700581 model = SliceRole
Scott Baker5e140a32015-01-30 15:41:39 -0800582 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -0700583
584
Sapan Bhatiadea39432014-06-13 03:10:36 -0400585
586
587class TagSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800588 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700589
Scott Baker196ffef2014-11-21 11:32:24 -0800590 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800591 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800592 def getHumanReadableName(self, obj):
593 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800594 def getValidators(self, obj):
595 try:
596 return obj.getValidators()
597 except:
598 return None
Scott Baker08898c12014-10-29 23:41:11 -0700599 class Meta:
600 model = Tag
Scott Baker5e140a32015-01-30 15:41:39 -0800601 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700602
Scott Bakerc1d11912014-12-22 09:29:05 -0800603class TagIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800604 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700605
Scott Baker196ffef2014-11-21 11:32:24 -0800606 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800607 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800608 def getHumanReadableName(self, obj):
609 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800610 def getValidators(self, obj):
611 try:
612 return obj.getValidators()
613 except:
614 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800615 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700616 model = Tag
Scott Baker5e140a32015-01-30 15:41:39 -0800617 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700618
619
Sapan Bhatiadea39432014-06-13 03:10:36 -0400620
621
622class InvoiceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800623 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700624
Scott Baker196ffef2014-11-21 11:32:24 -0800625 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800626 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800627 def getHumanReadableName(self, obj):
628 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800629 def getValidators(self, obj):
630 try:
631 return obj.getValidators()
632 except:
633 return None
Scott Baker08898c12014-10-29 23:41:11 -0700634 class Meta:
635 model = Invoice
Scott Baker5e140a32015-01-30 15:41:39 -0800636 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
Scott Baker46b58542014-08-11 17:26:12 -0700637
Scott Bakerc1d11912014-12-22 09:29:05 -0800638class InvoiceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800639 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700640
Scott Baker196ffef2014-11-21 11:32:24 -0800641 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800642 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800643 def getHumanReadableName(self, obj):
644 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800645 def getValidators(self, obj):
646 try:
647 return obj.getValidators()
648 except:
649 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800650 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700651 model = Invoice
Scott Baker5e140a32015-01-30 15:41:39 -0800652 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
Scott Baker46b58542014-08-11 17:26:12 -0700653
654
Sapan Bhatiadea39432014-06-13 03:10:36 -0400655
656
Scott Baker0caeaf02014-06-19 11:12:55 -0700657class SlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800658 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700659
Scott Baker196ffef2014-11-21 11:32:24 -0800660 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800661 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800662 def getHumanReadableName(self, obj):
663 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800664 def getValidators(self, obj):
665 try:
666 return obj.getValidators()
667 except:
668 return None
Scott Baker08898c12014-10-29 23:41:11 -0700669 class Meta:
670 model = SlicePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -0800671 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
Scott Baker46b58542014-08-11 17:26:12 -0700672
Scott Bakerc1d11912014-12-22 09:29:05 -0800673class SlicePrivilegeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800674 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700675
Scott Baker196ffef2014-11-21 11:32:24 -0800676 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800677 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800678 def getHumanReadableName(self, obj):
679 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800680 def getValidators(self, obj):
681 try:
682 return obj.getValidators()
683 except:
684 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800685 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700686 model = SlicePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -0800687 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
Scott Baker46b58542014-08-11 17:26:12 -0700688
689
Scott Baker0caeaf02014-06-19 11:12:55 -0700690
691
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700692class PlanetStackRoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800693 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700694
Scott Baker196ffef2014-11-21 11:32:24 -0800695 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800696 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800697 def getHumanReadableName(self, obj):
698 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800699 def getValidators(self, obj):
700 try:
701 return obj.getValidators()
702 except:
703 return None
Scott Baker08898c12014-10-29 23:41:11 -0700704 class Meta:
705 model = PlanetStackRole
Scott Baker5e140a32015-01-30 15:41:39 -0800706 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700707
Scott Bakerc1d11912014-12-22 09:29:05 -0800708class PlanetStackRoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800709 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700710
Scott Baker196ffef2014-11-21 11:32:24 -0800711 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800712 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800713 def getHumanReadableName(self, obj):
714 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800715 def getValidators(self, obj):
716 try:
717 return obj.getValidators()
718 except:
719 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800720 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700721 model = PlanetStackRole
Scott Baker5e140a32015-01-30 15:41:39 -0800722 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700723
724
725
726
Scott Baker0caeaf02014-06-19 11:12:55 -0700727class NetworkSliverSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800728 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700729
Scott Baker196ffef2014-11-21 11:32:24 -0800730 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800731 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800732 def getHumanReadableName(self, obj):
733 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800734 def getValidators(self, obj):
735 try:
736 return obj.getValidators()
737 except:
738 return None
Scott Baker08898c12014-10-29 23:41:11 -0700739 class Meta:
740 model = NetworkSliver
Scott Baker5e140a32015-01-30 15:41:39 -0800741 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','sliver','ip','port_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700742
Scott Bakerc1d11912014-12-22 09:29:05 -0800743class NetworkSliverIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800744 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700745
Scott Baker196ffef2014-11-21 11:32:24 -0800746 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800747 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800748 def getHumanReadableName(self, obj):
749 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800750 def getValidators(self, obj):
751 try:
752 return obj.getValidators()
753 except:
754 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800755 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700756 model = NetworkSliver
Scott Baker5e140a32015-01-30 15:41:39 -0800757 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','sliver','ip','port_id',)
Scott Baker46b58542014-08-11 17:26:12 -0700758
759
Scott Baker0caeaf02014-06-19 11:12:55 -0700760
761
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800762class FlavorSerializer(serializers.HyperlinkedModelSerializer):
763 id = IdField()
764
765
766 deployments = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='deployment-detail')
767
768
769 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
770 validators = serializers.SerializerMethodField("getValidators")
771 def getHumanReadableName(self, obj):
772 return str(obj)
773 def getValidators(self, obj):
774 try:
775 return obj.getValidators()
776 except:
777 return None
778 class Meta:
779 model = Flavor
Scott Baker5e140a32015-01-30 15:41:39 -0800780 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800781
782class FlavorIdSerializer(XOSModelSerializer):
783 id = IdField()
784
785
786 deployments = serializers.PrimaryKeyRelatedField(many=True, queryset = Deployment.objects.all())
787
788
789 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
790 validators = serializers.SerializerMethodField("getValidators")
791 def getHumanReadableName(self, obj):
792 return str(obj)
793 def getValidators(self, obj):
794 try:
795 return obj.getValidators()
796 except:
797 return None
798 class Meta:
799 model = Flavor
Scott Baker5e140a32015-01-30 15:41:39 -0800800 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800801
802
803
804
805class ControllerSiteSerializer(serializers.HyperlinkedModelSerializer):
806 id = IdField()
807
808 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
809 validators = serializers.SerializerMethodField("getValidators")
810 def getHumanReadableName(self, obj):
811 return str(obj)
812 def getValidators(self, obj):
813 try:
814 return obj.getValidators()
815 except:
816 return None
817 class Meta:
818 model = ControllerSite
Scott Baker5e140a32015-01-30 15:41:39 -0800819 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800820
821class ControllerSiteIdSerializer(XOSModelSerializer):
822 id = IdField()
823
824 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
825 validators = serializers.SerializerMethodField("getValidators")
826 def getHumanReadableName(self, obj):
827 return str(obj)
828 def getValidators(self, obj):
829 try:
830 return obj.getValidators()
831 except:
832 return None
833 class Meta:
834 model = ControllerSite
Scott Baker5e140a32015-01-30 15:41:39 -0800835 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -0800836
837
838
839
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700840class ProjectSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800841 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700842
Scott Baker196ffef2014-11-21 11:32:24 -0800843 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800844 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800845 def getHumanReadableName(self, obj):
846 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800847 def getValidators(self, obj):
848 try:
849 return obj.getValidators()
850 except:
851 return None
Scott Baker08898c12014-10-29 23:41:11 -0700852 class Meta:
853 model = Project
Scott Baker5e140a32015-01-30 15:41:39 -0800854 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700855
Scott Bakerc1d11912014-12-22 09:29:05 -0800856class ProjectIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800857 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700858
Scott Baker196ffef2014-11-21 11:32:24 -0800859 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800860 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800861 def getHumanReadableName(self, obj):
862 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800863 def getValidators(self, obj):
864 try:
865 return obj.getValidators()
866 except:
867 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800868 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700869 model = Project
Scott Baker5e140a32015-01-30 15:41:39 -0800870 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -0700871
872
873
874
Sapan Bhatiadea39432014-06-13 03:10:36 -0400875class SliceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800876 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700877
878
879 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
880
881
882
Scott Baker08898c12014-10-29 23:41:11 -0700883 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
884
885
Scott Baker196ffef2014-11-21 11:32:24 -0800886 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800887 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800888 def getHumanReadableName(self, obj):
889 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800890 def getValidators(self, obj):
891 try:
892 return obj.getValidators()
893 except:
894 return None
Scott Baker08898c12014-10-29 23:41:11 -0700895 class Meta:
896 model = Slice
Scott Baker5e140a32015-01-30 15:41:39 -0800897 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
Scott Baker46b58542014-08-11 17:26:12 -0700898
Scott Bakerc1d11912014-12-22 09:29:05 -0800899class SliceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800900 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700901
902
Scott Bakera3134fe2014-12-23 10:56:06 -0800903 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700904
905
906
Scott Bakera3134fe2014-12-23 10:56:06 -0800907 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700908
909
Scott Baker196ffef2014-11-21 11:32:24 -0800910 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800911 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800912 def getHumanReadableName(self, obj):
913 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800914 def getValidators(self, obj):
915 try:
916 return obj.getValidators()
917 except:
918 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800919 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700920 model = Slice
Scott Baker5e140a32015-01-30 15:41:39 -0800921 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
Scott Baker46b58542014-08-11 17:26:12 -0700922
923
Sapan Bhatiadea39432014-06-13 03:10:36 -0400924
925
926class NetworkSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800927 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700928
929
Scott Bakerc1d11912014-12-22 09:29:05 -0800930 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
Scott Baker08898c12014-10-29 23:41:11 -0700931
932
933
Scott Bakerc1d11912014-12-22 09:29:05 -0800934 slices = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='slice-detail')
935
936
937
938 slivers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='sliver-detail')
Scott Baker08898c12014-10-29 23:41:11 -0700939
940
941
942 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
943
944
945
946 routers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='router-detail')
947
948
Scott Baker196ffef2014-11-21 11:32:24 -0800949 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800950 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800951 def getHumanReadableName(self, obj):
952 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800953 def getValidators(self, obj):
954 try:
955 return obj.getValidators()
956 except:
957 return None
Scott Baker08898c12014-10-29 23:41:11 -0700958 class Meta:
959 model = Network
Scott Baker5e140a32015-01-30 15:41:39 -0800960 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
Scott Baker46b58542014-08-11 17:26:12 -0700961
Scott Bakerc1d11912014-12-22 09:29:05 -0800962class NetworkIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -0800963 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -0700964
965
Scott Bakera3134fe2014-12-23 10:56:06 -0800966 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700967
968
969
Scott Bakera3134fe2014-12-23 10:56:06 -0800970 slices = serializers.PrimaryKeyRelatedField(many=True, queryset = Slice.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700971
972
973
Scott Bakera3134fe2014-12-23 10:56:06 -0800974 slivers = serializers.PrimaryKeyRelatedField(many=True, queryset = Sliver.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700975
976
977
Scott Bakera3134fe2014-12-23 10:56:06 -0800978 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -0800979
980
981
Scott Bakera3134fe2014-12-23 10:56:06 -0800982 routers = serializers.PrimaryKeyRelatedField(many=True, queryset = Router.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -0700983
984
Scott Baker196ffef2014-11-21 11:32:24 -0800985 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -0800986 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -0800987 def getHumanReadableName(self, obj):
988 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -0800989 def getValidators(self, obj):
990 try:
991 return obj.getValidators()
992 except:
993 return None
Scott Bakerc1d11912014-12-22 09:29:05 -0800994 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -0700995 model = Network
Scott Baker5e140a32015-01-30 15:41:39 -0800996 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
Scott Baker46b58542014-08-11 17:26:12 -0700997
998
Sapan Bhatiadea39432014-06-13 03:10:36 -0400999
1000
1001class ServiceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001002 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001003
Scott Baker196ffef2014-11-21 11:32:24 -08001004 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001005 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001006 def getHumanReadableName(self, obj):
1007 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001008 def getValidators(self, obj):
1009 try:
1010 return obj.getValidators()
1011 except:
1012 return None
Scott Baker08898c12014-10-29 23:41:11 -07001013 class Meta:
1014 model = Service
Scott Baker5e140a32015-01-30 15:41:39 -08001015 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
Scott Baker46b58542014-08-11 17:26:12 -07001016
Scott Bakerc1d11912014-12-22 09:29:05 -08001017class ServiceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001018 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001019
Scott Baker196ffef2014-11-21 11:32:24 -08001020 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001021 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001022 def getHumanReadableName(self, obj):
1023 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001024 def getValidators(self, obj):
1025 try:
1026 return obj.getValidators()
1027 except:
1028 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001029 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001030 model = Service
Scott Baker5e140a32015-01-30 15:41:39 -08001031 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
Scott Baker46b58542014-08-11 17:26:12 -07001032
1033
Sapan Bhatiadea39432014-06-13 03:10:36 -04001034
1035
Scott Baker0caeaf02014-06-19 11:12:55 -07001036class ServiceClassSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001037 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001038
Scott Baker196ffef2014-11-21 11:32:24 -08001039 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001040 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001041 def getHumanReadableName(self, obj):
1042 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001043 def getValidators(self, obj):
1044 try:
1045 return obj.getValidators()
1046 except:
1047 return None
Scott Baker08898c12014-10-29 23:41:11 -07001048 class Meta:
1049 model = ServiceClass
Scott Baker5e140a32015-01-30 15:41:39 -08001050 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
Scott Baker46b58542014-08-11 17:26:12 -07001051
Scott Bakerc1d11912014-12-22 09:29:05 -08001052class ServiceClassIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001053 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001054
Scott Baker196ffef2014-11-21 11:32:24 -08001055 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001056 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001057 def getHumanReadableName(self, obj):
1058 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001059 def getValidators(self, obj):
1060 try:
1061 return obj.getValidators()
1062 except:
1063 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001064 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001065 model = ServiceClass
Scott Baker5e140a32015-01-30 15:41:39 -08001066 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
Scott Baker46b58542014-08-11 17:26:12 -07001067
1068
Sapan Bhatiadea39432014-06-13 03:10:36 -04001069
1070
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001071class PlanetStackSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001072 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001073
Scott Baker196ffef2014-11-21 11:32:24 -08001074 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001075 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001076 def getHumanReadableName(self, obj):
1077 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001078 def getValidators(self, obj):
1079 try:
1080 return obj.getValidators()
1081 except:
1082 return None
Scott Baker08898c12014-10-29 23:41:11 -07001083 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001084 model = PlanetStack
Scott Baker5e140a32015-01-30 15:41:39 -08001085 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description',)
Scott Baker46b58542014-08-11 17:26:12 -07001086
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001087class PlanetStackIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001088 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001089
Scott Baker196ffef2014-11-21 11:32:24 -08001090 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001091 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001092 def getHumanReadableName(self, obj):
1093 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001094 def getValidators(self, obj):
1095 try:
1096 return obj.getValidators()
1097 except:
1098 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001099 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001100 model = PlanetStack
Scott Baker5e140a32015-01-30 15:41:39 -08001101 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','description',)
Scott Baker46b58542014-08-11 17:26:12 -07001102
1103
Sapan Bhatiadea39432014-06-13 03:10:36 -04001104
1105
1106class ChargeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001107 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001108
Scott Baker196ffef2014-11-21 11:32:24 -08001109 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001110 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001111 def getHumanReadableName(self, obj):
1112 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001113 def getValidators(self, obj):
1114 try:
1115 return obj.getValidators()
1116 except:
1117 return None
Scott Baker08898c12014-10-29 23:41:11 -07001118 class Meta:
1119 model = Charge
Scott Baker5e140a32015-01-30 15:41:39 -08001120 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
Scott Baker46b58542014-08-11 17:26:12 -07001121
Scott Bakerc1d11912014-12-22 09:29:05 -08001122class ChargeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001123 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001124
Scott Baker196ffef2014-11-21 11:32:24 -08001125 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001126 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001127 def getHumanReadableName(self, obj):
1128 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001129 def getValidators(self, obj):
1130 try:
1131 return obj.getValidators()
1132 except:
1133 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001134 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001135 model = Charge
Scott Baker5e140a32015-01-30 15:41:39 -08001136 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
Scott Baker46b58542014-08-11 17:26:12 -07001137
1138
Sapan Bhatiadea39432014-06-13 03:10:36 -04001139
1140
1141class RoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001142 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001143
Scott Baker196ffef2014-11-21 11:32:24 -08001144 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001145 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001146 def getHumanReadableName(self, obj):
1147 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001148 def getValidators(self, obj):
1149 try:
1150 return obj.getValidators()
1151 except:
1152 return None
Scott Baker08898c12014-10-29 23:41:11 -07001153 class Meta:
1154 model = Role
Scott Baker5e140a32015-01-30 15:41:39 -08001155 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
Scott Baker46b58542014-08-11 17:26:12 -07001156
Scott Bakerc1d11912014-12-22 09:29:05 -08001157class RoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001158 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001159
Scott Baker196ffef2014-11-21 11:32:24 -08001160 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001161 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001162 def getHumanReadableName(self, obj):
1163 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001164 def getValidators(self, obj):
1165 try:
1166 return obj.getValidators()
1167 except:
1168 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001169 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001170 model = Role
Scott Baker5e140a32015-01-30 15:41:39 -08001171 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
Scott Baker46b58542014-08-11 17:26:12 -07001172
1173
Sapan Bhatiadea39432014-06-13 03:10:36 -04001174
1175
Scott Baker0caeaf02014-06-19 11:12:55 -07001176class UsableObjectSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001177 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001178
Scott Baker196ffef2014-11-21 11:32:24 -08001179 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001180 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001181 def getHumanReadableName(self, obj):
1182 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001183 def getValidators(self, obj):
1184 try:
1185 return obj.getValidators()
1186 except:
1187 return None
Scott Baker08898c12014-10-29 23:41:11 -07001188 class Meta:
1189 model = UsableObject
Scott Baker5e140a32015-01-30 15:41:39 -08001190 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Baker46b58542014-08-11 17:26:12 -07001191
Scott Bakerc1d11912014-12-22 09:29:05 -08001192class UsableObjectIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001193 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001194
Scott Baker196ffef2014-11-21 11:32:24 -08001195 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001196 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001197 def getHumanReadableName(self, obj):
1198 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001199 def getValidators(self, obj):
1200 try:
1201 return obj.getValidators()
1202 except:
1203 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001204 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001205 model = UsableObject
Scott Baker5e140a32015-01-30 15:41:39 -08001206 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Baker46b58542014-08-11 17:26:12 -07001207
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001208
1209
1210
Scott Baker0caeaf02014-06-19 11:12:55 -07001211class SiteRoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001212 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001213
Scott Baker196ffef2014-11-21 11:32:24 -08001214 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001215 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001216 def getHumanReadableName(self, obj):
1217 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001218 def getValidators(self, obj):
1219 try:
1220 return obj.getValidators()
1221 except:
1222 return None
Scott Baker08898c12014-10-29 23:41:11 -07001223 class Meta:
1224 model = SiteRole
Scott Baker5e140a32015-01-30 15:41:39 -08001225 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -07001226
Scott Bakerc1d11912014-12-22 09:29:05 -08001227class SiteRoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001228 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001229
Scott Baker196ffef2014-11-21 11:32:24 -08001230 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001231 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001232 def getHumanReadableName(self, obj):
1233 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001234 def getValidators(self, obj):
1235 try:
1236 return obj.getValidators()
1237 except:
1238 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001239 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001240 model = SiteRole
Scott Baker5e140a32015-01-30 15:41:39 -08001241 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -07001242
1243
Scott Baker0caeaf02014-06-19 11:12:55 -07001244
1245
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07001246class SliceCredentialSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001247 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001248
Scott Baker196ffef2014-11-21 11:32:24 -08001249 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001250 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001251 def getHumanReadableName(self, obj):
1252 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001253 def getValidators(self, obj):
1254 try:
1255 return obj.getValidators()
1256 except:
1257 return None
Scott Baker08898c12014-10-29 23:41:11 -07001258 class Meta:
1259 model = SliceCredential
Scott Baker5e140a32015-01-30 15:41:39 -08001260 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07001261
Scott Bakerc1d11912014-12-22 09:29:05 -08001262class SliceCredentialIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001263 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001264
Scott Baker196ffef2014-11-21 11:32:24 -08001265 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001266 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001267 def getHumanReadableName(self, obj):
1268 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001269 def getValidators(self, obj):
1270 try:
1271 return obj.getValidators()
1272 except:
1273 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001274 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001275 model = SliceCredential
Scott Baker5e140a32015-01-30 15:41:39 -08001276 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07001277
1278
1279
1280
Sapan Bhatiadea39432014-06-13 03:10:36 -04001281class SliverSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001282 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001283
1284
1285 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
1286
1287
Scott Baker196ffef2014-11-21 11:32:24 -08001288 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001289 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001290 def getHumanReadableName(self, obj):
1291 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001292 def getValidators(self, obj):
1293 try:
1294 return obj.getValidators()
1295 except:
1296 return None
Scott Baker08898c12014-10-29 23:41:11 -07001297 class Meta:
1298 model = Sliver
Scott Baker5e140a32015-01-30 15:41:39 -08001299 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
Scott Baker46b58542014-08-11 17:26:12 -07001300
Scott Bakerc1d11912014-12-22 09:29:05 -08001301class SliverIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001302 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001303
1304
Scott Bakera3134fe2014-12-23 10:56:06 -08001305 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -07001306
1307
Scott Baker196ffef2014-11-21 11:32:24 -08001308 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001309 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001310 def getHumanReadableName(self, obj):
1311 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001312 def getValidators(self, obj):
1313 try:
1314 return obj.getValidators()
1315 except:
1316 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001317 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001318 model = Sliver
Scott Baker5e140a32015-01-30 15:41:39 -08001319 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
Scott Baker46b58542014-08-11 17:26:12 -07001320
1321
Sapan Bhatiadea39432014-06-13 03:10:36 -04001322
1323
1324class NodeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001325 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001326
Scott Baker196ffef2014-11-21 11:32:24 -08001327 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001328 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001329 def getHumanReadableName(self, obj):
1330 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001331 def getValidators(self, obj):
1332 try:
1333 return obj.getValidators()
1334 except:
1335 return None
Scott Baker08898c12014-10-29 23:41:11 -07001336 class Meta:
1337 model = Node
Scott Baker5e140a32015-01-30 15:41:39 -08001338 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
Scott Baker46b58542014-08-11 17:26:12 -07001339
Scott Bakerc1d11912014-12-22 09:29:05 -08001340class NodeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001341 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001342
Scott Baker196ffef2014-11-21 11:32:24 -08001343 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001344 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001345 def getHumanReadableName(self, obj):
1346 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001347 def getValidators(self, obj):
1348 try:
1349 return obj.getValidators()
1350 except:
1351 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001352 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001353 model = Node
Scott Baker5e140a32015-01-30 15:41:39 -08001354 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
Scott Baker46b58542014-08-11 17:26:12 -07001355
1356
Sapan Bhatiadea39432014-06-13 03:10:36 -04001357
1358
Scott Baker0caeaf02014-06-19 11:12:55 -07001359class DashboardViewSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001360 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001361
Scott Bakerc1d11912014-12-22 09:29:05 -08001362
1363 controllers = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='controller-detail')
1364
1365
Scott Baker196ffef2014-11-21 11:32:24 -08001366 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001367 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001368 def getHumanReadableName(self, obj):
1369 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001370 def getValidators(self, obj):
1371 try:
1372 return obj.getValidators()
1373 except:
1374 return None
Scott Baker08898c12014-10-29 23:41:11 -07001375 class Meta:
1376 model = DashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001377 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers',)
Scott Baker46b58542014-08-11 17:26:12 -07001378
Scott Bakerc1d11912014-12-22 09:29:05 -08001379class DashboardViewIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001380 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001381
Scott Bakerc1d11912014-12-22 09:29:05 -08001382
Scott Bakera3134fe2014-12-23 10:56:06 -08001383 controllers = serializers.PrimaryKeyRelatedField(many=True, queryset = Controller.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -08001384
1385
Scott Baker196ffef2014-11-21 11:32:24 -08001386 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001387 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001388 def getHumanReadableName(self, obj):
1389 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001390 def getValidators(self, obj):
1391 try:
1392 return obj.getValidators()
1393 except:
1394 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001395 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001396 model = DashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001397 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers',)
Scott Baker196ffef2014-11-21 11:32:24 -08001398
1399
1400
1401
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001402class ControllerNetworkSerializer(serializers.HyperlinkedModelSerializer):
1403 id = IdField()
1404
1405 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1406 validators = serializers.SerializerMethodField("getValidators")
1407 def getHumanReadableName(self, obj):
1408 return str(obj)
1409 def getValidators(self, obj):
1410 try:
1411 return obj.getValidators()
1412 except:
1413 return None
1414 class Meta:
1415 model = ControllerNetwork
Scott Baker5e140a32015-01-30 15:41:39 -08001416 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001417
1418class ControllerNetworkIdSerializer(XOSModelSerializer):
1419 id = IdField()
1420
1421 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1422 validators = serializers.SerializerMethodField("getValidators")
1423 def getHumanReadableName(self, obj):
1424 return str(obj)
1425 def getValidators(self, obj):
1426 try:
1427 return obj.getValidators()
1428 except:
1429 return None
1430 class Meta:
1431 model = ControllerNetwork
Scott Baker5e140a32015-01-30 15:41:39 -08001432 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001433
1434
1435
1436
Scott Bakerc1d11912014-12-22 09:29:05 -08001437class ImageDeploymentsSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001438 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001439
1440 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001441 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001442 def getHumanReadableName(self, obj):
1443 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001444 def getValidators(self, obj):
1445 try:
1446 return obj.getValidators()
1447 except:
1448 return None
Scott Baker196ffef2014-11-21 11:32:24 -08001449 class Meta:
Scott Bakerc1d11912014-12-22 09:29:05 -08001450 model = ImageDeployments
Scott Baker5e140a32015-01-30 15:41:39 -08001451 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
Scott Baker196ffef2014-11-21 11:32:24 -08001452
Scott Bakerc1d11912014-12-22 09:29:05 -08001453class ImageDeploymentsIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001454 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001455
1456 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001457 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001458 def getHumanReadableName(self, obj):
1459 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001460 def getValidators(self, obj):
1461 try:
1462 return obj.getValidators()
1463 except:
1464 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001465 class Meta:
1466 model = ImageDeployments
Scott Baker5e140a32015-01-30 15:41:39 -08001467 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
Scott Baker46b58542014-08-11 17:26:12 -07001468
1469
Sapan Bhatiadea39432014-06-13 03:10:36 -04001470
1471
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001472class ControllerUserSerializer(serializers.HyperlinkedModelSerializer):
1473 id = IdField()
1474
1475 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1476 validators = serializers.SerializerMethodField("getValidators")
1477 def getHumanReadableName(self, obj):
1478 return str(obj)
1479 def getValidators(self, obj):
1480 try:
1481 return obj.getValidators()
1482 except:
1483 return None
1484 class Meta:
1485 model = ControllerUser
Scott Baker5e140a32015-01-30 15:41:39 -08001486 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001487
1488class ControllerUserIdSerializer(XOSModelSerializer):
1489 id = IdField()
1490
1491 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1492 validators = serializers.SerializerMethodField("getValidators")
1493 def getHumanReadableName(self, obj):
1494 return str(obj)
1495 def getValidators(self, obj):
1496 try:
1497 return obj.getValidators()
1498 except:
1499 return None
1500 class Meta:
1501 model = ControllerUser
Scott Baker5e140a32015-01-30 15:41:39 -08001502 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001503
1504
1505
1506
Scott Baker0caeaf02014-06-19 11:12:55 -07001507class ReservedResourceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001508 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001509
Scott Baker196ffef2014-11-21 11:32:24 -08001510 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001511 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001512 def getHumanReadableName(self, obj):
1513 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001514 def getValidators(self, obj):
1515 try:
1516 return obj.getValidators()
1517 except:
1518 return None
Scott Baker08898c12014-10-29 23:41:11 -07001519 class Meta:
1520 model = ReservedResource
Scott Baker5e140a32015-01-30 15:41:39 -08001521 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','sliver','resource','quantity','reservationSet',)
Scott Baker46b58542014-08-11 17:26:12 -07001522
Scott Bakerc1d11912014-12-22 09:29:05 -08001523class ReservedResourceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001524 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001525
Scott Baker196ffef2014-11-21 11:32:24 -08001526 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001527 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001528 def getHumanReadableName(self, obj):
1529 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001530 def getValidators(self, obj):
1531 try:
1532 return obj.getValidators()
1533 except:
1534 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001535 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001536 model = ReservedResource
Scott Baker5e140a32015-01-30 15:41:39 -08001537 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','sliver','resource','quantity','reservationSet',)
Scott Baker645dc9d2014-11-17 22:32:19 -08001538
1539
1540
1541
Scott Bakerc1d11912014-12-22 09:29:05 -08001542class PaymentSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001543 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001544
1545 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1546 validators = serializers.SerializerMethodField("getValidators")
1547 def getHumanReadableName(self, obj):
1548 return str(obj)
1549 def getValidators(self, obj):
1550 try:
1551 return obj.getValidators()
1552 except:
1553 return None
1554 class Meta:
1555 model = Payment
Scott Baker5e140a32015-01-30 15:41:39 -08001556 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001557
1558class PaymentIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001559 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001560
1561 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1562 validators = serializers.SerializerMethodField("getValidators")
1563 def getHumanReadableName(self, obj):
1564 return str(obj)
1565 def getValidators(self, obj):
1566 try:
1567 return obj.getValidators()
1568 except:
1569 return None
1570 class Meta:
1571 model = Payment
Scott Baker5e140a32015-01-30 15:41:39 -08001572 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001573
1574
1575
1576
Scott Baker0caeaf02014-06-19 11:12:55 -07001577class NetworkSliceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001578 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001579
Scott Baker196ffef2014-11-21 11:32:24 -08001580 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001581 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001582 def getHumanReadableName(self, obj):
1583 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001584 def getValidators(self, obj):
1585 try:
1586 return obj.getValidators()
1587 except:
1588 return None
Scott Baker08898c12014-10-29 23:41:11 -07001589 class Meta:
1590 model = NetworkSlice
Scott Baker5e140a32015-01-30 15:41:39 -08001591 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
Scott Baker46b58542014-08-11 17:26:12 -07001592
Scott Bakerc1d11912014-12-22 09:29:05 -08001593class NetworkSliceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001594 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001595
Scott Baker196ffef2014-11-21 11:32:24 -08001596 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001597 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001598 def getHumanReadableName(self, obj):
1599 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001600 def getValidators(self, obj):
1601 try:
1602 return obj.getValidators()
1603 except:
1604 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001605 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001606 model = NetworkSlice
Scott Baker5e140a32015-01-30 15:41:39 -08001607 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
Scott Baker46b58542014-08-11 17:26:12 -07001608
1609
Scott Baker0caeaf02014-06-19 11:12:55 -07001610
1611
1612class UserDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001613 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001614
Scott Baker196ffef2014-11-21 11:32:24 -08001615 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001616 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001617 def getHumanReadableName(self, obj):
1618 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001619 def getValidators(self, obj):
1620 try:
1621 return obj.getValidators()
1622 except:
1623 return None
Scott Baker08898c12014-10-29 23:41:11 -07001624 class Meta:
1625 model = UserDashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001626 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
Scott Baker46b58542014-08-11 17:26:12 -07001627
Scott Bakerc1d11912014-12-22 09:29:05 -08001628class UserDashboardViewIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001629 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001630
Scott Baker196ffef2014-11-21 11:32:24 -08001631 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001632 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001633 def getHumanReadableName(self, obj):
1634 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001635 def getValidators(self, obj):
1636 try:
1637 return obj.getValidators()
1638 except:
Scott Bakerc1d11912014-12-22 09:29:05 -08001639 return None
1640 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001641 model = UserDashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001642 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
Scott Baker645dc9d2014-11-17 22:32:19 -08001643
1644
1645
1646
Scott Bakerc1d11912014-12-22 09:29:05 -08001647class ControllerSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001648 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001649
Scott Bakerc1d11912014-12-22 09:29:05 -08001650
1651 dashboardviews = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='dashboardview-detail')
1652
1653
Scott Baker196ffef2014-11-21 11:32:24 -08001654 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001655 validators = serializers.SerializerMethodField("getValidators")
Scott Bakerc1d11912014-12-22 09:29:05 -08001656 def getHumanReadableName(self, obj):
Scott Baker196ffef2014-11-21 11:32:24 -08001657 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001658 def getValidators(self, obj):
1659 try:
1660 return obj.getValidators()
1661 except:
1662 return None
Scott Baker08898c12014-10-29 23:41:11 -07001663 class Meta:
Scott Bakerc1d11912014-12-22 09:29:05 -08001664 model = Controller
Scott Baker5e140a32015-01-30 15:41:39 -08001665 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
Scott Baker46b58542014-08-11 17:26:12 -07001666
Scott Bakerc1d11912014-12-22 09:29:05 -08001667class ControllerIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001668 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001669
1670
Scott Bakera3134fe2014-12-23 10:56:06 -08001671 dashboardviews = serializers.PrimaryKeyRelatedField(many=True, queryset = DashboardView.objects.all())
Scott Baker08898c12014-10-29 23:41:11 -07001672
1673
Scott Baker196ffef2014-11-21 11:32:24 -08001674 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001675 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001676 def getHumanReadableName(self, obj):
1677 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001678 def getValidators(self, obj):
1679 try:
1680 return obj.getValidators()
1681 except:
1682 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001683 class Meta:
1684 model = Controller
Scott Baker5e140a32015-01-30 15:41:39 -08001685 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001686
1687
1688
1689
1690class PlanetStackPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001691 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001692
1693 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1694 validators = serializers.SerializerMethodField("getValidators")
1695 def getHumanReadableName(self, obj):
1696 return str(obj)
1697 def getValidators(self, obj):
1698 try:
1699 return obj.getValidators()
1700 except:
1701 return None
1702 class Meta:
1703 model = PlanetStackPrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08001704 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','planetstack','role',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001705
1706class PlanetStackPrivilegeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001707 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001708
1709 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1710 validators = serializers.SerializerMethodField("getValidators")
1711 def getHumanReadableName(self, obj):
1712 return str(obj)
1713 def getValidators(self, obj):
1714 try:
1715 return obj.getValidators()
1716 except:
1717 return None
1718 class Meta:
1719 model = PlanetStackPrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08001720 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','planetstack','role',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001721
1722
1723
1724
1725class UserSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001726 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001727
1728 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1729 validators = serializers.SerializerMethodField("getValidators")
1730 def getHumanReadableName(self, obj):
1731 return str(obj)
1732 def getValidators(self, obj):
1733 try:
1734 return obj.getValidators()
1735 except:
1736 return None
1737 class Meta:
1738 model = User
Scott Baker5e140a32015-01-30 15:41:39 -08001739 fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001740
1741class UserIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001742 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001743
1744 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1745 validators = serializers.SerializerMethodField("getValidators")
1746 def getHumanReadableName(self, obj):
1747 return str(obj)
1748 def getValidators(self, obj):
1749 try:
1750 return obj.getValidators()
1751 except:
1752 return None
1753 class Meta:
1754 model = User
Scott Baker5e140a32015-01-30 15:41:39 -08001755 fields = ('humanReadableName', 'validators', 'id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
Scott Bakerc1d11912014-12-22 09:29:05 -08001756
1757
1758
1759
1760class DeploymentSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001761 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001762
1763
Scott Baker93a79a92014-12-22 15:59:33 -08001764 images = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='image-detail')
1765
1766
1767
Scott Bakerc1d11912014-12-22 09:29:05 -08001768 sites = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='site-detail')
1769
1770
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001771
1772 flavors = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='flavor-detail')
1773
1774
Scott Bakerc1d11912014-12-22 09:29:05 -08001775 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1776 validators = serializers.SerializerMethodField("getValidators")
1777 def getHumanReadableName(self, obj):
1778 return str(obj)
1779 def getValidators(self, obj):
1780 try:
1781 return obj.getValidators()
1782 except:
1783 return None
Scott Baker08898c12014-10-29 23:41:11 -07001784 class Meta:
1785 model = Deployment
Scott Baker5e140a32015-01-30 15:41:39 -08001786 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors',)
Scott Baker46b58542014-08-11 17:26:12 -07001787
Scott Bakerc1d11912014-12-22 09:29:05 -08001788class DeploymentIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001789 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001790
1791
Scott Bakera3134fe2014-12-23 10:56:06 -08001792 images = serializers.PrimaryKeyRelatedField(many=True, queryset = Image.objects.all())
Scott Baker93a79a92014-12-22 15:59:33 -08001793
1794
1795
Scott Bakera3134fe2014-12-23 10:56:06 -08001796 sites = serializers.PrimaryKeyRelatedField(many=True, queryset = Site.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -08001797
1798
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001799
1800 flavors = serializers.PrimaryKeyRelatedField(many=True, queryset = Flavor.objects.all())
1801
1802
Tony Mack336e0f92014-11-30 15:53:08 -05001803 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1804 validators = serializers.SerializerMethodField("getValidators")
Scott Bakerc1d11912014-12-22 09:29:05 -08001805 def getHumanReadableName(self, obj):
1806 return str(obj)
1807 def getValidators(self, obj):
Tony Mack336e0f92014-11-30 15:53:08 -05001808 try:
1809 return obj.getValidators()
1810 except:
Scott Bakerc1d11912014-12-22 09:29:05 -08001811 return None
1812 class Meta:
1813 model = Deployment
Scott Baker5e140a32015-01-30 15:41:39 -08001814 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors',)
Tony Mack336e0f92014-11-30 15:53:08 -05001815
1816
Sapan Bhatiadea39432014-06-13 03:10:36 -04001817
1818
1819class ReservationSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001820 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001821
Scott Baker196ffef2014-11-21 11:32:24 -08001822 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001823 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001824 def getHumanReadableName(self, obj):
1825 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001826 def getValidators(self, obj):
1827 try:
1828 return obj.getValidators()
1829 except:
1830 return None
Scott Baker08898c12014-10-29 23:41:11 -07001831 class Meta:
1832 model = Reservation
Scott Baker5e140a32015-01-30 15:41:39 -08001833 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
Scott Baker46b58542014-08-11 17:26:12 -07001834
Scott Bakerc1d11912014-12-22 09:29:05 -08001835class ReservationIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001836 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001837
Scott Baker196ffef2014-11-21 11:32:24 -08001838 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001839 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001840 def getHumanReadableName(self, obj):
1841 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001842 def getValidators(self, obj):
1843 try:
1844 return obj.getValidators()
1845 except:
1846 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001847 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001848 model = Reservation
Scott Baker5e140a32015-01-30 15:41:39 -08001849 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
Scott Baker46b58542014-08-11 17:26:12 -07001850
1851
Scott Baker0caeaf02014-06-19 11:12:55 -07001852
1853
Scott Baker196ffef2014-11-21 11:32:24 -08001854class SitePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001855 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001856
1857 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001858 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001859 def getHumanReadableName(self, obj):
1860 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001861 def getValidators(self, obj):
1862 try:
1863 return obj.getValidators()
1864 except:
1865 return None
Scott Baker196ffef2014-11-21 11:32:24 -08001866 class Meta:
1867 model = SitePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08001868 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
Scott Baker196ffef2014-11-21 11:32:24 -08001869
Scott Bakerc1d11912014-12-22 09:29:05 -08001870class SitePrivilegeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001871 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001872
1873 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001874 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001875 def getHumanReadableName(self, obj):
1876 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001877 def getValidators(self, obj):
1878 try:
1879 return obj.getValidators()
1880 except:
1881 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001882 class Meta:
Scott Baker196ffef2014-11-21 11:32:24 -08001883 model = SitePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08001884 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
Scott Baker196ffef2014-11-21 11:32:24 -08001885
1886
1887
1888
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001889class ControllerSliceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001890 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001891
1892 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001893 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001894 def getHumanReadableName(self, obj):
1895 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001896 def getValidators(self, obj):
1897 try:
1898 return obj.getValidators()
1899 except:
1900 return None
Scott Baker196ffef2014-11-21 11:32:24 -08001901 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001902 model = ControllerSlice
Scott Baker5e140a32015-01-30 15:41:39 -08001903 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
Scott Baker196ffef2014-11-21 11:32:24 -08001904
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001905class ControllerSliceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001906 id = IdField()
Scott Baker196ffef2014-11-21 11:32:24 -08001907
1908 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001909 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001910 def getHumanReadableName(self, obj):
1911 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001912 def getValidators(self, obj):
1913 try:
1914 return obj.getValidators()
1915 except:
1916 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001917 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08001918 model = ControllerSlice
Scott Baker5e140a32015-01-30 15:41:39 -08001919 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
Scott Baker46b58542014-08-11 17:26:12 -07001920
1921
Sapan Bhatiadea39432014-06-13 03:10:36 -04001922
1923
Scott Bakera6a0c772014-12-22 17:35:34 -08001924class ControllerDashboardViewSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001925 id = IdField()
Scott Bakera6a0c772014-12-22 17:35:34 -08001926
1927 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1928 validators = serializers.SerializerMethodField("getValidators")
1929 def getHumanReadableName(self, obj):
1930 return str(obj)
1931 def getValidators(self, obj):
1932 try:
1933 return obj.getValidators()
1934 except:
1935 return None
1936 class Meta:
1937 model = ControllerDashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001938 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
Scott Bakera6a0c772014-12-22 17:35:34 -08001939
1940class ControllerDashboardViewIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001941 id = IdField()
Scott Bakera6a0c772014-12-22 17:35:34 -08001942
1943 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1944 validators = serializers.SerializerMethodField("getValidators")
1945 def getHumanReadableName(self, obj):
1946 return str(obj)
1947 def getValidators(self, obj):
1948 try:
1949 return obj.getValidators()
1950 except:
1951 return None
1952 class Meta:
1953 model = ControllerDashboardView
Scott Baker5e140a32015-01-30 15:41:39 -08001954 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
Scott Bakera6a0c772014-12-22 17:35:34 -08001955
1956
1957
1958
Sapan Bhatiadea39432014-06-13 03:10:36 -04001959class AccountSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001960 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001961
Scott Baker196ffef2014-11-21 11:32:24 -08001962 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001963 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001964 def getHumanReadableName(self, obj):
1965 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001966 def getValidators(self, obj):
1967 try:
1968 return obj.getValidators()
1969 except:
1970 return None
Scott Baker08898c12014-10-29 23:41:11 -07001971 class Meta:
1972 model = Account
Scott Baker5e140a32015-01-30 15:41:39 -08001973 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
Scott Baker46b58542014-08-11 17:26:12 -07001974
Scott Bakerc1d11912014-12-22 09:29:05 -08001975class AccountIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001976 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07001977
Scott Baker196ffef2014-11-21 11:32:24 -08001978 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08001979 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08001980 def getHumanReadableName(self, obj):
1981 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08001982 def getValidators(self, obj):
1983 try:
1984 return obj.getValidators()
1985 except:
1986 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08001987 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07001988 model = Account
Scott Baker5e140a32015-01-30 15:41:39 -08001989 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
Scott Baker46b58542014-08-11 17:26:12 -07001990
1991
Sapan Bhatiadea39432014-06-13 03:10:36 -04001992
1993
Scott Bakerc1d11912014-12-22 09:29:05 -08001994class ControllerRoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08001995 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08001996
1997 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
1998 validators = serializers.SerializerMethodField("getValidators")
1999 def getHumanReadableName(self, obj):
2000 return str(obj)
2001 def getValidators(self, obj):
2002 try:
2003 return obj.getValidators()
2004 except:
2005 return None
2006 class Meta:
2007 model = ControllerRole
Scott Baker5e140a32015-01-30 15:41:39 -08002008 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerc1d11912014-12-22 09:29:05 -08002009
2010class ControllerRoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002011 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08002012
2013 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2014 validators = serializers.SerializerMethodField("getValidators")
2015 def getHumanReadableName(self, obj):
2016 return str(obj)
2017 def getValidators(self, obj):
2018 try:
2019 return obj.getValidators()
2020 except:
2021 return None
2022 class Meta:
2023 model = ControllerRole
Scott Baker5e140a32015-01-30 15:41:39 -08002024 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerc1d11912014-12-22 09:29:05 -08002025
2026
2027
2028
Scott Baker0caeaf02014-06-19 11:12:55 -07002029class NetworkParameterTypeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002030 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002031
Scott Baker196ffef2014-11-21 11:32:24 -08002032 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002033 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002034 def getHumanReadableName(self, obj):
2035 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002036 def getValidators(self, obj):
2037 try:
2038 return obj.getValidators()
2039 except:
2040 return None
Scott Baker08898c12014-10-29 23:41:11 -07002041 class Meta:
2042 model = NetworkParameterType
Scott Baker5e140a32015-01-30 15:41:39 -08002043 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
Scott Baker46b58542014-08-11 17:26:12 -07002044
Scott Bakerc1d11912014-12-22 09:29:05 -08002045class NetworkParameterTypeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002046 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002047
Scott Baker196ffef2014-11-21 11:32:24 -08002048 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002049 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002050 def getHumanReadableName(self, obj):
2051 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002052 def getValidators(self, obj):
2053 try:
2054 return obj.getValidators()
2055 except:
2056 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002057 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002058 model = NetworkParameterType
Scott Baker5e140a32015-01-30 15:41:39 -08002059 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
Scott Baker46b58542014-08-11 17:26:12 -07002060
2061
Sapan Bhatiadea39432014-06-13 03:10:36 -04002062
2063
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002064class SiteCredentialSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002065 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002066
Scott Baker196ffef2014-11-21 11:32:24 -08002067 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002068 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002069 def getHumanReadableName(self, obj):
2070 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002071 def getValidators(self, obj):
2072 try:
2073 return obj.getValidators()
2074 except:
2075 return None
Scott Baker08898c12014-10-29 23:41:11 -07002076 class Meta:
2077 model = SiteCredential
Scott Baker5e140a32015-01-30 15:41:39 -08002078 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
Scott Baker46b58542014-08-11 17:26:12 -07002079
Scott Bakerc1d11912014-12-22 09:29:05 -08002080class SiteCredentialIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002081 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002082
Scott Baker196ffef2014-11-21 11:32:24 -08002083 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002084 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002085 def getHumanReadableName(self, obj):
2086 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002087 def getValidators(self, obj):
2088 try:
2089 return obj.getValidators()
2090 except:
2091 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002092 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002093 model = SiteCredential
Scott Baker5e140a32015-01-30 15:41:39 -08002094 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
Scott Baker46b58542014-08-11 17:26:12 -07002095
2096
Scott Baker0caeaf02014-06-19 11:12:55 -07002097
2098
Scott Bakerc1d11912014-12-22 09:29:05 -08002099class DeploymentPrivilegeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002100 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002101
Scott Baker196ffef2014-11-21 11:32:24 -08002102 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002103 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002104 def getHumanReadableName(self, obj):
2105 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002106 def getValidators(self, obj):
2107 try:
2108 return obj.getValidators()
2109 except:
2110 return None
Scott Baker08898c12014-10-29 23:41:11 -07002111 class Meta:
Scott Bakerc1d11912014-12-22 09:29:05 -08002112 model = DeploymentPrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08002113 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
Scott Baker46b58542014-08-11 17:26:12 -07002114
Scott Bakerc1d11912014-12-22 09:29:05 -08002115class DeploymentPrivilegeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002116 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002117
Scott Baker196ffef2014-11-21 11:32:24 -08002118 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002119 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002120 def getHumanReadableName(self, obj):
2121 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002122 def getValidators(self, obj):
2123 try:
2124 return obj.getValidators()
2125 except:
2126 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002127 class Meta:
2128 model = DeploymentPrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08002129 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
Scott Baker645dc9d2014-11-17 22:32:19 -08002130
2131
2132
2133
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002134class ControllerSlicePrivilegeSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002135 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002136
Scott Baker196ffef2014-11-21 11:32:24 -08002137 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002138 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002139 def getHumanReadableName(self, obj):
2140 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002141 def getValidators(self, obj):
2142 try:
2143 return obj.getValidators()
2144 except:
2145 return None
Scott Baker08898c12014-10-29 23:41:11 -07002146 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002147 model = ControllerSlicePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08002148 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
Scott Bakerc1d11912014-12-22 09:29:05 -08002149
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002150class ControllerSlicePrivilegeIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002151 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08002152
2153 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2154 validators = serializers.SerializerMethodField("getValidators")
2155 def getHumanReadableName(self, obj):
2156 return str(obj)
2157 def getValidators(self, obj):
2158 try:
2159 return obj.getValidators()
2160 except:
2161 return None
2162 class Meta:
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002163 model = ControllerSlicePrivilege
Scott Baker5e140a32015-01-30 15:41:39 -08002164 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002165
2166
2167
2168
2169class SiteDeploymentSerializer(serializers.HyperlinkedModelSerializer):
2170 id = IdField()
2171
2172 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2173 validators = serializers.SerializerMethodField("getValidators")
2174 def getHumanReadableName(self, obj):
2175 return str(obj)
2176 def getValidators(self, obj):
2177 try:
2178 return obj.getValidators()
2179 except:
2180 return None
2181 class Meta:
2182 model = SiteDeployment
Scott Baker5e140a32015-01-30 15:41:39 -08002183 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002184
2185class SiteDeploymentIdSerializer(XOSModelSerializer):
2186 id = IdField()
2187
2188 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2189 validators = serializers.SerializerMethodField("getValidators")
2190 def getHumanReadableName(self, obj):
2191 return str(obj)
2192 def getValidators(self, obj):
2193 try:
2194 return obj.getValidators()
2195 except:
2196 return None
2197 class Meta:
2198 model = SiteDeployment
Scott Baker5e140a32015-01-30 15:41:39 -08002199 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
Scott Bakerc1d11912014-12-22 09:29:05 -08002200
2201
2202
2203
2204class DeploymentRoleSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002205 id = IdField()
Scott Bakerc1d11912014-12-22 09:29:05 -08002206
2207 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
2208 validators = serializers.SerializerMethodField("getValidators")
2209 def getHumanReadableName(self, obj):
2210 return str(obj)
2211 def getValidators(self, obj):
2212 try:
2213 return obj.getValidators()
2214 except:
2215 return None
2216 class Meta:
2217 model = DeploymentRole
Scott Baker5e140a32015-01-30 15:41:39 -08002218 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -07002219
Scott Bakerc1d11912014-12-22 09:29:05 -08002220class DeploymentRoleIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002221 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002222
Scott Baker196ffef2014-11-21 11:32:24 -08002223 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002224 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002225 def getHumanReadableName(self, obj):
2226 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002227 def getValidators(self, obj):
2228 try:
2229 return obj.getValidators()
2230 except:
2231 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002232 class Meta:
2233 model = DeploymentRole
Scott Baker5e140a32015-01-30 15:41:39 -08002234 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -07002235
2236
Sapan Bhatiadea39432014-06-13 03:10:36 -04002237
2238
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002239class UserCredentialSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002240 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002241
Scott Baker196ffef2014-11-21 11:32:24 -08002242 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002243 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002244 def getHumanReadableName(self, obj):
2245 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002246 def getValidators(self, obj):
2247 try:
2248 return obj.getValidators()
2249 except:
2250 return None
Scott Baker08898c12014-10-29 23:41:11 -07002251 class Meta:
2252 model = UserCredential
Scott Baker5e140a32015-01-30 15:41:39 -08002253 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
Scott Baker46b58542014-08-11 17:26:12 -07002254
Scott Bakerc1d11912014-12-22 09:29:05 -08002255class UserCredentialIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002256 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002257
Scott Baker196ffef2014-11-21 11:32:24 -08002258 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002259 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002260 def getHumanReadableName(self, obj):
2261 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002262 def getValidators(self, obj):
2263 try:
2264 return obj.getValidators()
2265 except:
2266 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002267 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002268 model = UserCredential
Scott Baker5e140a32015-01-30 15:41:39 -08002269 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
Scott Baker196ffef2014-11-21 11:32:24 -08002270
2271
2272
2273
Scott Baker0caeaf02014-06-19 11:12:55 -07002274class SliceTagSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002275 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002276
Scott Baker196ffef2014-11-21 11:32:24 -08002277 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002278 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002279 def getHumanReadableName(self, obj):
2280 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002281 def getValidators(self, obj):
2282 try:
2283 return obj.getValidators()
2284 except:
2285 return None
Scott Baker08898c12014-10-29 23:41:11 -07002286 class Meta:
2287 model = SliceTag
Scott Baker5e140a32015-01-30 15:41:39 -08002288 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
Scott Baker46b58542014-08-11 17:26:12 -07002289
Scott Bakerc1d11912014-12-22 09:29:05 -08002290class SliceTagIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002291 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002292
Scott Baker196ffef2014-11-21 11:32:24 -08002293 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002294 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002295 def getHumanReadableName(self, obj):
2296 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002297 def getValidators(self, obj):
2298 try:
2299 return obj.getValidators()
2300 except:
2301 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002302 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002303 model = SliceTag
Scott Baker5e140a32015-01-30 15:41:39 -08002304 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
Scott Baker46b58542014-08-11 17:26:12 -07002305
2306
Scott Baker0caeaf02014-06-19 11:12:55 -07002307
2308
Scott Bakera6a0c772014-12-22 17:35:34 -08002309class NetworkTemplateSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002310 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002311
Scott Baker196ffef2014-11-21 11:32:24 -08002312 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002313 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002314 def getHumanReadableName(self, obj):
2315 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002316 def getValidators(self, obj):
2317 try:
2318 return obj.getValidators()
2319 except:
2320 return None
Scott Baker08898c12014-10-29 23:41:11 -07002321 class Meta:
Scott Bakera6a0c772014-12-22 17:35:34 -08002322 model = NetworkTemplate
Scott Baker5e140a32015-01-30 15:41:39 -08002323 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
Scott Baker46b58542014-08-11 17:26:12 -07002324
Scott Bakera6a0c772014-12-22 17:35:34 -08002325class NetworkTemplateIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002326 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002327
Scott Baker196ffef2014-11-21 11:32:24 -08002328 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002329 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002330 def getHumanReadableName(self, obj):
2331 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002332 def getValidators(self, obj):
2333 try:
2334 return obj.getValidators()
2335 except:
2336 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002337 class Meta:
Scott Bakera6a0c772014-12-22 17:35:34 -08002338 model = NetworkTemplate
Scott Baker5e140a32015-01-30 15:41:39 -08002339 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
Scott Baker46b58542014-08-11 17:26:12 -07002340
2341
Sapan Bhatiadea39432014-06-13 03:10:36 -04002342
2343
2344class RouterSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002345 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002346
Scott Bakerc1d11912014-12-22 09:29:05 -08002347
2348 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2349
2350
2351
2352 networks = serializers.HyperlinkedRelatedField(many=True, read_only=True, view_name='network-detail')
2353
2354
Scott Baker196ffef2014-11-21 11:32:24 -08002355 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002356 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002357 def getHumanReadableName(self, obj):
2358 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002359 def getValidators(self, obj):
2360 try:
2361 return obj.getValidators()
2362 except:
2363 return None
Scott Baker08898c12014-10-29 23:41:11 -07002364 class Meta:
2365 model = Router
Scott Baker5e140a32015-01-30 15:41:39 -08002366 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
Scott Baker46b58542014-08-11 17:26:12 -07002367
Scott Bakerc1d11912014-12-22 09:29:05 -08002368class RouterIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002369 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002370
Scott Bakerc1d11912014-12-22 09:29:05 -08002371
Scott Bakera3134fe2014-12-23 10:56:06 -08002372 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -08002373
2374
2375
Scott Bakera3134fe2014-12-23 10:56:06 -08002376 networks = serializers.PrimaryKeyRelatedField(many=True, queryset = Network.objects.all())
Scott Bakerc1d11912014-12-22 09:29:05 -08002377
2378
Scott Baker196ffef2014-11-21 11:32:24 -08002379 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002380 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002381 def getHumanReadableName(self, obj):
2382 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002383 def getValidators(self, obj):
2384 try:
2385 return obj.getValidators()
2386 except:
2387 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002388 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002389 model = Router
Scott Baker5e140a32015-01-30 15:41:39 -08002390 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
Scott Baker46b58542014-08-11 17:26:12 -07002391
2392
Sapan Bhatiadea39432014-06-13 03:10:36 -04002393
2394
Scott Baker0caeaf02014-06-19 11:12:55 -07002395class ServiceResourceSerializer(serializers.HyperlinkedModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002396 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002397
Scott Baker196ffef2014-11-21 11:32:24 -08002398 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002399 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002400 def getHumanReadableName(self, obj):
2401 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002402 def getValidators(self, obj):
2403 try:
2404 return obj.getValidators()
2405 except:
2406 return None
Scott Baker08898c12014-10-29 23:41:11 -07002407 class Meta:
2408 model = ServiceResource
Scott Baker5e140a32015-01-30 15:41:39 -08002409 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
Scott Baker46b58542014-08-11 17:26:12 -07002410
Scott Bakerc1d11912014-12-22 09:29:05 -08002411class ServiceResourceIdSerializer(XOSModelSerializer):
Scott Bakerc8af5752014-12-23 11:12:07 -08002412 id = IdField()
Scott Baker08898c12014-10-29 23:41:11 -07002413
Scott Baker196ffef2014-11-21 11:32:24 -08002414 humanReadableName = serializers.SerializerMethodField("getHumanReadableName")
Scott Baker351148c2014-11-25 00:53:25 -08002415 validators = serializers.SerializerMethodField("getValidators")
Scott Baker196ffef2014-11-21 11:32:24 -08002416 def getHumanReadableName(self, obj):
2417 return str(obj)
Scott Baker351148c2014-11-25 00:53:25 -08002418 def getValidators(self, obj):
2419 try:
2420 return obj.getValidators()
2421 except:
2422 return None
Scott Bakerc1d11912014-12-22 09:29:05 -08002423 class Meta:
Scott Baker08898c12014-10-29 23:41:11 -07002424 model = ServiceResource
Scott Baker5e140a32015-01-30 15:41:39 -08002425 fields = ('humanReadableName', 'validators', 'id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
Scott Baker46b58542014-08-11 17:26:12 -07002426
2427
Sapan Bhatiadea39432014-06-13 03:10:36 -04002428
2429
2430serializerLookUp = {
2431
Scott Baker0caeaf02014-06-19 11:12:55 -07002432 ServiceAttribute: ServiceAttributeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002433
Scott Bakerc1d11912014-12-22 09:29:05 -08002434 ControllerImages: ControllerImagesSerializer,
2435
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002436 ControllerSitePrivilege: ControllerSitePrivilegeSerializer,
2437
Sapan Bhatiadea39432014-06-13 03:10:36 -04002438 Image: ImageSerializer,
2439
Scott Baker0caeaf02014-06-19 11:12:55 -07002440 NetworkParameter: NetworkParameterSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002441
2442 Site: SiteSerializer,
2443
Scott Baker0caeaf02014-06-19 11:12:55 -07002444 SliceRole: SliceRoleSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002445
2446 Tag: TagSerializer,
2447
2448 Invoice: InvoiceSerializer,
2449
Scott Baker0caeaf02014-06-19 11:12:55 -07002450 SlicePrivilege: SlicePrivilegeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002451
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002452 PlanetStackRole: PlanetStackRoleSerializer,
2453
Scott Baker0caeaf02014-06-19 11:12:55 -07002454 NetworkSliver: NetworkSliverSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002455
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002456 Flavor: FlavorSerializer,
2457
2458 ControllerSite: ControllerSiteSerializer,
2459
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002460 Project: ProjectSerializer,
2461
Sapan Bhatiadea39432014-06-13 03:10:36 -04002462 Slice: SliceSerializer,
2463
2464 Network: NetworkSerializer,
2465
2466 Service: ServiceSerializer,
2467
Scott Baker0caeaf02014-06-19 11:12:55 -07002468 ServiceClass: ServiceClassSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002469
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002470 PlanetStack: PlanetStackSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002471
2472 Charge: ChargeSerializer,
2473
2474 Role: RoleSerializer,
2475
Scott Baker0caeaf02014-06-19 11:12:55 -07002476 UsableObject: UsableObjectSerializer,
2477
2478 SiteRole: SiteRoleSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002479
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002480 SliceCredential: SliceCredentialSerializer,
2481
Sapan Bhatiadea39432014-06-13 03:10:36 -04002482 Sliver: SliverSerializer,
2483
2484 Node: NodeSerializer,
2485
Scott Baker0caeaf02014-06-19 11:12:55 -07002486 DashboardView: DashboardViewSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002487
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002488 ControllerNetwork: ControllerNetworkSerializer,
2489
Scott Bakerc1d11912014-12-22 09:29:05 -08002490 ImageDeployments: ImageDeploymentsSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002491
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002492 ControllerUser: ControllerUserSerializer,
2493
Scott Baker196ffef2014-11-21 11:32:24 -08002494 ReservedResource: ReservedResourceSerializer,
Scott Baker645dc9d2014-11-17 22:32:19 -08002495
Scott Bakerc1d11912014-12-22 09:29:05 -08002496 Payment: PaymentSerializer,
2497
Scott Baker0caeaf02014-06-19 11:12:55 -07002498 NetworkSlice: NetworkSliceSerializer,
2499
2500 UserDashboardView: UserDashboardViewSerializer,
2501
Scott Bakerc1d11912014-12-22 09:29:05 -08002502 Controller: ControllerSerializer,
2503
Scott Baker0caeaf02014-06-19 11:12:55 -07002504 PlanetStackPrivilege: PlanetStackPrivilegeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002505
2506 User: UserSerializer,
2507
2508 Deployment: DeploymentSerializer,
2509
2510 Reservation: ReservationSerializer,
2511
Scott Baker0caeaf02014-06-19 11:12:55 -07002512 SitePrivilege: SitePrivilegeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002513
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002514 ControllerSlice: ControllerSliceSerializer,
Scott Baker0caeaf02014-06-19 11:12:55 -07002515
Scott Bakera6a0c772014-12-22 17:35:34 -08002516 ControllerDashboardView: ControllerDashboardViewSerializer,
2517
Sapan Bhatiadea39432014-06-13 03:10:36 -04002518 Account: AccountSerializer,
2519
Scott Bakerc1d11912014-12-22 09:29:05 -08002520 ControllerRole: ControllerRoleSerializer,
2521
Scott Baker0caeaf02014-06-19 11:12:55 -07002522 NetworkParameterType: NetworkParameterTypeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002523
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002524 SiteCredential: SiteCredentialSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002525
Scott Bakerc1d11912014-12-22 09:29:05 -08002526 DeploymentPrivilege: DeploymentPrivilegeSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002527
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002528 ControllerSlicePrivilege: ControllerSlicePrivilegeSerializer,
2529
2530 SiteDeployment: SiteDeploymentSerializer,
Scott Bakerc1d11912014-12-22 09:29:05 -08002531
2532 DeploymentRole: DeploymentRoleSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002533
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002534 UserCredential: UserCredentialSerializer,
2535
Scott Baker0caeaf02014-06-19 11:12:55 -07002536 SliceTag: SliceTagSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002537
Scott Bakera6a0c772014-12-22 17:35:34 -08002538 NetworkTemplate: NetworkTemplateSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002539
2540 Router: RouterSerializer,
2541
Scott Baker0caeaf02014-06-19 11:12:55 -07002542 ServiceResource: ServiceResourceSerializer,
Sapan Bhatiadea39432014-06-13 03:10:36 -04002543
2544 None: None,
2545 }
2546
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002547class PlanetStackRetrieveUpdateDestroyAPIView(generics.RetrieveUpdateDestroyAPIView):
2548
2549 # To handle fine-grained field permissions, we have to check can_update
2550 # the object has been updated but before it has been saved.
2551
2552 def update(self, request, *args, **kwargs):
2553 partial = kwargs.pop('partial', False)
2554 self.object = self.get_object_or_none()
2555
2556 serializer = self.get_serializer(self.object, data=request.DATA,
2557 files=request.FILES, partial=partial)
2558
2559 if not serializer.is_valid():
Scott Baker351148c2014-11-25 00:53:25 -08002560 response = {"error": "validation",
2561 "specific_error": "not serializer.is_valid()",
2562 "reasons": serializer.errors}
2563 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002564
2565 try:
2566 self.pre_save(serializer.object)
2567 except ValidationError as err:
2568 # full_clean on model instance may be called in pre_save,
2569 # so we have to handle eventual errors.
Scott Baker351148c2014-11-25 00:53:25 -08002570 response = {"error": "validation",
2571 "specific_error": "ValidationError in pre_save",
2572 "reasons": err.message_dict}
2573 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002574
2575 if serializer.object is not None:
2576 if not serializer.object.can_update(request.user):
2577 return Response(status=status.HTTP_400_BAD_REQUEST)
2578
2579 if self.object is None:
2580 self.object = serializer.save(force_insert=True)
2581 self.post_save(self.object, created=True)
2582 return Response(serializer.data, status=status.HTTP_201_CREATED)
2583
2584 self.object = serializer.save(force_update=True)
2585 self.post_save(self.object, created=False)
2586 return Response(serializer.data, status=status.HTTP_200_OK)
2587
2588 def destroy(self, request, *args, **kwargs):
2589 obj = self.get_object()
2590 if obj.can_update(request.user):
Scott Baker08898c12014-10-29 23:41:11 -07002591 return super(generics.RetrieveUpdateDestroyAPIView, self).destroy(request, *args, **kwargs)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002592 else:
2593 return Response(status=status.HTTP_400_BAD_REQUEST)
2594
2595
Sapan Bhatiadea39432014-06-13 03:10:36 -04002596# Based on core/views/*.py
2597
2598
Scott Baker0caeaf02014-06-19 11:12:55 -07002599class ServiceAttributeList(generics.ListCreateAPIView):
2600 queryset = ServiceAttribute.objects.select_related().all()
2601 serializer_class = ServiceAttributeSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002602 id_serializer_class = ServiceAttributeIdSerializer
2603 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002604 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','value','service',)
Scott Baker46b58542014-08-11 17:26:12 -07002605
2606 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002607 no_hyperlinks=False
2608 if hasattr(self.request,"QUERY_PARAMS"):
2609 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002610 if (no_hyperlinks):
2611 return self.id_serializer_class
2612 else:
2613 return self.serializer_class
2614
Scott Baker0caeaf02014-06-19 11:12:55 -07002615 def get_queryset(self):
2616 return ServiceAttribute.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04002617
Scott Baker0caeaf02014-06-19 11:12:55 -07002618 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08002619 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2620 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08002621 response = {"error": "validation",
2622 "specific_error": "not serializer.is_valid()",
2623 "reasons": serializer.errors}
2624 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08002625 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07002626 obj.caller = request.user
2627 if obj.can_update(request.user):
2628 return super(ServiceAttributeList, self).create(request, *args, **kwargs)
2629 else:
Scott Baker08898c12014-10-29 23:41:11 -07002630 raise Exception("failed obj.can_update")
2631
2632 ret = super(ServiceAttributeList, self).create(request, *args, **kwargs)
2633 if (ret.status_code%100 != 200):
2634 raise Exception(ret.data)
2635
2636 return ret
2637
Scott Baker0caeaf02014-06-19 11:12:55 -07002638
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002639class ServiceAttributeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002640 queryset = ServiceAttribute.objects.select_related().all()
2641 serializer_class = ServiceAttributeSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002642 id_serializer_class = ServiceAttributeIdSerializer
2643
2644 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002645 no_hyperlinks=False
2646 if hasattr(self.request,"QUERY_PARAMS"):
2647 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002648 if (no_hyperlinks):
2649 return self.id_serializer_class
2650 else:
2651 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002652
Scott Baker0caeaf02014-06-19 11:12:55 -07002653 def get_queryset(self):
2654 return ServiceAttribute.select_by_user(self.request.user)
2655
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002656 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07002657
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002658 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04002659
2660
2661
Scott Bakerc1d11912014-12-22 09:29:05 -08002662class ControllerImagesList(generics.ListCreateAPIView):
2663 queryset = ControllerImages.objects.select_related().all()
2664 serializer_class = ControllerImagesSerializer
2665 id_serializer_class = ControllerImagesIdSerializer
2666 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002667 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','controller','glance_image_id',)
Scott Bakerc1d11912014-12-22 09:29:05 -08002668
2669 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002670 no_hyperlinks=False
2671 if hasattr(self.request,"QUERY_PARAMS"):
2672 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08002673 if (no_hyperlinks):
2674 return self.id_serializer_class
2675 else:
2676 return self.serializer_class
2677
2678 def get_queryset(self):
2679 return ControllerImages.select_by_user(self.request.user)
2680
2681 def create(self, request, *args, **kwargs):
2682 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2683 if not (serializer.is_valid()):
2684 response = {"error": "validation",
2685 "specific_error": "not serializer.is_valid()",
2686 "reasons": serializer.errors}
2687 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2688 obj = serializer.object
2689 obj.caller = request.user
2690 if obj.can_update(request.user):
2691 return super(ControllerImagesList, self).create(request, *args, **kwargs)
2692 else:
2693 raise Exception("failed obj.can_update")
2694
2695 ret = super(ControllerImagesList, self).create(request, *args, **kwargs)
2696 if (ret.status_code%100 != 200):
2697 raise Exception(ret.data)
2698
2699 return ret
2700
2701
2702class ControllerImagesDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2703 queryset = ControllerImages.objects.select_related().all()
2704 serializer_class = ControllerImagesSerializer
2705 id_serializer_class = ControllerImagesIdSerializer
2706
2707 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002708 no_hyperlinks=False
2709 if hasattr(self.request,"QUERY_PARAMS"):
2710 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08002711 if (no_hyperlinks):
2712 return self.id_serializer_class
2713 else:
2714 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002715
Scott Bakerc1d11912014-12-22 09:29:05 -08002716 def get_queryset(self):
2717 return ControllerImages.select_by_user(self.request.user)
2718
2719 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2720
2721 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2722
2723
2724
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002725class ControllerSitePrivilegeList(generics.ListCreateAPIView):
2726 queryset = ControllerSitePrivilege.objects.select_related().all()
2727 serializer_class = ControllerSitePrivilegeSerializer
2728 id_serializer_class = ControllerSitePrivilegeIdSerializer
2729 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002730 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','site_privilege','role_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002731
2732 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002733 no_hyperlinks=False
2734 if hasattr(self.request,"QUERY_PARAMS"):
2735 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002736 if (no_hyperlinks):
2737 return self.id_serializer_class
2738 else:
2739 return self.serializer_class
2740
2741 def get_queryset(self):
2742 return ControllerSitePrivilege.select_by_user(self.request.user)
2743
2744 def create(self, request, *args, **kwargs):
2745 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2746 if not (serializer.is_valid()):
2747 response = {"error": "validation",
2748 "specific_error": "not serializer.is_valid()",
2749 "reasons": serializer.errors}
2750 return Response(response, status=status.HTTP_400_BAD_REQUEST)
2751 obj = serializer.object
2752 obj.caller = request.user
2753 if obj.can_update(request.user):
2754 return super(ControllerSitePrivilegeList, self).create(request, *args, **kwargs)
2755 else:
2756 raise Exception("failed obj.can_update")
2757
2758 ret = super(ControllerSitePrivilegeList, self).create(request, *args, **kwargs)
2759 if (ret.status_code%100 != 200):
2760 raise Exception(ret.data)
2761
2762 return ret
2763
2764
2765class ControllerSitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
2766 queryset = ControllerSitePrivilege.objects.select_related().all()
2767 serializer_class = ControllerSitePrivilegeSerializer
2768 id_serializer_class = ControllerSitePrivilegeIdSerializer
2769
2770 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002771 no_hyperlinks=False
2772 if hasattr(self.request,"QUERY_PARAMS"):
2773 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002774 if (no_hyperlinks):
2775 return self.id_serializer_class
2776 else:
2777 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002778
Scott Bakeree9c5bf2015-01-12 13:16:39 -08002779 def get_queryset(self):
2780 return ControllerSitePrivilege.select_by_user(self.request.user)
2781
2782 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2783
2784 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
2785
2786
2787
Sapan Bhatiadea39432014-06-13 03:10:36 -04002788class ImageList(generics.ListCreateAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002789 queryset = Image.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04002790 serializer_class = ImageSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002791 id_serializer_class = ImageIdSerializer
2792 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002793 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','disk_format','container_format','path','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -07002794
2795 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002796 no_hyperlinks=False
2797 if hasattr(self.request,"QUERY_PARAMS"):
2798 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002799 if (no_hyperlinks):
2800 return self.id_serializer_class
2801 else:
2802 return self.serializer_class
2803
Scott Baker0caeaf02014-06-19 11:12:55 -07002804 def get_queryset(self):
2805 return Image.select_by_user(self.request.user)
2806
2807 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08002808 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2809 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08002810 response = {"error": "validation",
2811 "specific_error": "not serializer.is_valid()",
2812 "reasons": serializer.errors}
2813 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08002814 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07002815 obj.caller = request.user
2816 if obj.can_update(request.user):
2817 return super(ImageList, self).create(request, *args, **kwargs)
2818 else:
Scott Baker08898c12014-10-29 23:41:11 -07002819 raise Exception("failed obj.can_update")
2820
2821 ret = super(ImageList, self).create(request, *args, **kwargs)
2822 if (ret.status_code%100 != 200):
2823 raise Exception(ret.data)
2824
2825 return ret
2826
Sapan Bhatiadea39432014-06-13 03:10:36 -04002827
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002828class ImageDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002829 queryset = Image.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04002830 serializer_class = ImageSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002831 id_serializer_class = ImageIdSerializer
2832
2833 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002834 no_hyperlinks=False
2835 if hasattr(self.request,"QUERY_PARAMS"):
2836 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002837 if (no_hyperlinks):
2838 return self.id_serializer_class
2839 else:
2840 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002841
Scott Baker0caeaf02014-06-19 11:12:55 -07002842 def get_queryset(self):
2843 return Image.select_by_user(self.request.user)
2844
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002845 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07002846
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002847 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04002848
2849
2850
Scott Baker0caeaf02014-06-19 11:12:55 -07002851class NetworkParameterList(generics.ListCreateAPIView):
2852 queryset = NetworkParameter.objects.select_related().all()
2853 serializer_class = NetworkParameterSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002854 id_serializer_class = NetworkParameterIdSerializer
2855 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002856 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','parameter','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -07002857
2858 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002859 no_hyperlinks=False
2860 if hasattr(self.request,"QUERY_PARAMS"):
2861 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002862 if (no_hyperlinks):
2863 return self.id_serializer_class
2864 else:
2865 return self.serializer_class
2866
Scott Baker0caeaf02014-06-19 11:12:55 -07002867 def get_queryset(self):
2868 return NetworkParameter.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04002869
Scott Baker0caeaf02014-06-19 11:12:55 -07002870 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08002871 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2872 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08002873 response = {"error": "validation",
2874 "specific_error": "not serializer.is_valid()",
2875 "reasons": serializer.errors}
2876 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08002877 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07002878 obj.caller = request.user
2879 if obj.can_update(request.user):
2880 return super(NetworkParameterList, self).create(request, *args, **kwargs)
2881 else:
Scott Baker08898c12014-10-29 23:41:11 -07002882 raise Exception("failed obj.can_update")
2883
2884 ret = super(NetworkParameterList, self).create(request, *args, **kwargs)
2885 if (ret.status_code%100 != 200):
2886 raise Exception(ret.data)
2887
2888 return ret
2889
Scott Baker0caeaf02014-06-19 11:12:55 -07002890
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002891class NetworkParameterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002892 queryset = NetworkParameter.objects.select_related().all()
2893 serializer_class = NetworkParameterSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002894 id_serializer_class = NetworkParameterIdSerializer
2895
2896 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002897 no_hyperlinks=False
2898 if hasattr(self.request,"QUERY_PARAMS"):
2899 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002900 if (no_hyperlinks):
2901 return self.id_serializer_class
2902 else:
2903 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002904
Scott Baker0caeaf02014-06-19 11:12:55 -07002905 def get_queryset(self):
2906 return NetworkParameter.select_by_user(self.request.user)
2907
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002908 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07002909
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002910 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04002911
2912
2913
2914class SiteList(generics.ListCreateAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002915 queryset = Site.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04002916 serializer_class = SiteSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002917 id_serializer_class = SiteIdSerializer
2918 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002919 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_url','enabled','location','longitude','latitude','login_base','is_public','abbreviated_name','deployments',)
Scott Baker46b58542014-08-11 17:26:12 -07002920
2921 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002922 no_hyperlinks=False
2923 if hasattr(self.request,"QUERY_PARAMS"):
2924 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002925 if (no_hyperlinks):
2926 return self.id_serializer_class
2927 else:
2928 return self.serializer_class
2929
Scott Baker0caeaf02014-06-19 11:12:55 -07002930 def get_queryset(self):
2931 return Site.select_by_user(self.request.user)
2932
2933 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08002934 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2935 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08002936 response = {"error": "validation",
2937 "specific_error": "not serializer.is_valid()",
2938 "reasons": serializer.errors}
2939 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08002940 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07002941 obj.caller = request.user
2942 if obj.can_update(request.user):
2943 return super(SiteList, self).create(request, *args, **kwargs)
2944 else:
Scott Baker08898c12014-10-29 23:41:11 -07002945 raise Exception("failed obj.can_update")
2946
2947 ret = super(SiteList, self).create(request, *args, **kwargs)
2948 if (ret.status_code%100 != 200):
2949 raise Exception(ret.data)
2950
2951 return ret
2952
Sapan Bhatiadea39432014-06-13 03:10:36 -04002953
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002954class SiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07002955 queryset = Site.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04002956 serializer_class = SiteSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002957 id_serializer_class = SiteIdSerializer
2958
2959 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002960 no_hyperlinks=False
2961 if hasattr(self.request,"QUERY_PARAMS"):
2962 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002963 if (no_hyperlinks):
2964 return self.id_serializer_class
2965 else:
2966 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08002967
Scott Baker0caeaf02014-06-19 11:12:55 -07002968 def get_queryset(self):
2969 return Site.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04002970
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002971 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04002972
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07002973 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07002974
2975
2976
2977class SliceRoleList(generics.ListCreateAPIView):
2978 queryset = SliceRole.objects.select_related().all()
2979 serializer_class = SliceRoleSerializer
Scott Baker46b58542014-08-11 17:26:12 -07002980 id_serializer_class = SliceRoleIdSerializer
2981 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08002982 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Baker46b58542014-08-11 17:26:12 -07002983
2984 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08002985 no_hyperlinks=False
2986 if hasattr(self.request,"QUERY_PARAMS"):
2987 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07002988 if (no_hyperlinks):
2989 return self.id_serializer_class
2990 else:
2991 return self.serializer_class
2992
Scott Baker0caeaf02014-06-19 11:12:55 -07002993 def get_queryset(self):
2994 return SliceRole.select_by_user(self.request.user)
2995
2996 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08002997 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
2998 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08002999 response = {"error": "validation",
3000 "specific_error": "not serializer.is_valid()",
3001 "reasons": serializer.errors}
3002 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003003 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003004 obj.caller = request.user
3005 if obj.can_update(request.user):
3006 return super(SliceRoleList, self).create(request, *args, **kwargs)
3007 else:
Scott Baker08898c12014-10-29 23:41:11 -07003008 raise Exception("failed obj.can_update")
3009
3010 ret = super(SliceRoleList, self).create(request, *args, **kwargs)
3011 if (ret.status_code%100 != 200):
3012 raise Exception(ret.data)
3013
3014 return ret
3015
Scott Baker0caeaf02014-06-19 11:12:55 -07003016
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003017class SliceRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003018 queryset = SliceRole.objects.select_related().all()
3019 serializer_class = SliceRoleSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003020 id_serializer_class = SliceRoleIdSerializer
3021
3022 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003023 no_hyperlinks=False
3024 if hasattr(self.request,"QUERY_PARAMS"):
3025 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003026 if (no_hyperlinks):
3027 return self.id_serializer_class
3028 else:
3029 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003030
Scott Baker0caeaf02014-06-19 11:12:55 -07003031 def get_queryset(self):
3032 return SliceRole.select_by_user(self.request.user)
3033
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003034 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07003035
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003036 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04003037
3038
3039
3040class TagList(generics.ListCreateAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003041 queryset = Tag.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04003042 serializer_class = TagSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003043 id_serializer_class = TagIdSerializer
3044 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003045 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','service','name','value','content_type','object_id',)
Scott Baker46b58542014-08-11 17:26:12 -07003046
3047 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003048 no_hyperlinks=False
3049 if hasattr(self.request,"QUERY_PARAMS"):
3050 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003051 if (no_hyperlinks):
3052 return self.id_serializer_class
3053 else:
3054 return self.serializer_class
3055
Scott Baker0caeaf02014-06-19 11:12:55 -07003056 def get_queryset(self):
3057 return Tag.select_by_user(self.request.user)
3058
3059 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003060 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3061 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003062 response = {"error": "validation",
3063 "specific_error": "not serializer.is_valid()",
3064 "reasons": serializer.errors}
3065 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003066 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003067 obj.caller = request.user
3068 if obj.can_update(request.user):
3069 return super(TagList, self).create(request, *args, **kwargs)
3070 else:
Scott Baker08898c12014-10-29 23:41:11 -07003071 raise Exception("failed obj.can_update")
3072
3073 ret = super(TagList, self).create(request, *args, **kwargs)
3074 if (ret.status_code%100 != 200):
3075 raise Exception(ret.data)
3076
3077 return ret
3078
Sapan Bhatiadea39432014-06-13 03:10:36 -04003079
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003080class TagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003081 queryset = Tag.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04003082 serializer_class = TagSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003083 id_serializer_class = TagIdSerializer
3084
3085 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003086 no_hyperlinks=False
3087 if hasattr(self.request,"QUERY_PARAMS"):
3088 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003089 if (no_hyperlinks):
3090 return self.id_serializer_class
3091 else:
3092 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003093
Scott Baker0caeaf02014-06-19 11:12:55 -07003094 def get_queryset(self):
3095 return Tag.select_by_user(self.request.user)
3096
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003097 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07003098
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003099 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04003100
3101
3102
3103class InvoiceList(generics.ListCreateAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003104 queryset = Invoice.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04003105 serializer_class = InvoiceSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003106 id_serializer_class = InvoiceIdSerializer
3107 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003108 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','date','account',)
Scott Baker46b58542014-08-11 17:26:12 -07003109
3110 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003111 no_hyperlinks=False
3112 if hasattr(self.request,"QUERY_PARAMS"):
3113 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003114 if (no_hyperlinks):
3115 return self.id_serializer_class
3116 else:
3117 return self.serializer_class
3118
Scott Baker0caeaf02014-06-19 11:12:55 -07003119 def get_queryset(self):
3120 return Invoice.select_by_user(self.request.user)
3121
3122 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003123 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3124 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003125 response = {"error": "validation",
3126 "specific_error": "not serializer.is_valid()",
3127 "reasons": serializer.errors}
3128 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003129 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003130 obj.caller = request.user
3131 if obj.can_update(request.user):
3132 return super(InvoiceList, self).create(request, *args, **kwargs)
3133 else:
Scott Baker08898c12014-10-29 23:41:11 -07003134 raise Exception("failed obj.can_update")
3135
3136 ret = super(InvoiceList, self).create(request, *args, **kwargs)
3137 if (ret.status_code%100 != 200):
3138 raise Exception(ret.data)
3139
3140 return ret
3141
Sapan Bhatiadea39432014-06-13 03:10:36 -04003142
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003143class InvoiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003144 queryset = Invoice.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04003145 serializer_class = InvoiceSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003146 id_serializer_class = InvoiceIdSerializer
3147
3148 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003149 no_hyperlinks=False
3150 if hasattr(self.request,"QUERY_PARAMS"):
3151 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003152 if (no_hyperlinks):
3153 return self.id_serializer_class
3154 else:
3155 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003156
Scott Baker0caeaf02014-06-19 11:12:55 -07003157 def get_queryset(self):
3158 return Invoice.select_by_user(self.request.user)
3159
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003160 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07003161
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003162 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04003163
3164
3165
Scott Baker0caeaf02014-06-19 11:12:55 -07003166class SlicePrivilegeList(generics.ListCreateAPIView):
3167 queryset = SlicePrivilege.objects.select_related().all()
3168 serializer_class = SlicePrivilegeSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003169 id_serializer_class = SlicePrivilegeIdSerializer
3170 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003171 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','slice','role',)
Scott Baker46b58542014-08-11 17:26:12 -07003172
3173 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003174 no_hyperlinks=False
3175 if hasattr(self.request,"QUERY_PARAMS"):
3176 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003177 if (no_hyperlinks):
3178 return self.id_serializer_class
3179 else:
3180 return self.serializer_class
3181
Scott Baker0caeaf02014-06-19 11:12:55 -07003182 def get_queryset(self):
3183 return SlicePrivilege.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04003184
Scott Baker0caeaf02014-06-19 11:12:55 -07003185 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003186 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3187 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003188 response = {"error": "validation",
3189 "specific_error": "not serializer.is_valid()",
3190 "reasons": serializer.errors}
3191 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003192 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003193 obj.caller = request.user
3194 if obj.can_update(request.user):
3195 return super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3196 else:
Scott Baker08898c12014-10-29 23:41:11 -07003197 raise Exception("failed obj.can_update")
3198
3199 ret = super(SlicePrivilegeList, self).create(request, *args, **kwargs)
3200 if (ret.status_code%100 != 200):
3201 raise Exception(ret.data)
3202
3203 return ret
3204
Scott Baker0caeaf02014-06-19 11:12:55 -07003205
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003206class SlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003207 queryset = SlicePrivilege.objects.select_related().all()
3208 serializer_class = SlicePrivilegeSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003209 id_serializer_class = SlicePrivilegeIdSerializer
3210
3211 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003212 no_hyperlinks=False
3213 if hasattr(self.request,"QUERY_PARAMS"):
3214 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003215 if (no_hyperlinks):
3216 return self.id_serializer_class
3217 else:
3218 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003219
Scott Baker0caeaf02014-06-19 11:12:55 -07003220 def get_queryset(self):
3221 return SlicePrivilege.select_by_user(self.request.user)
3222
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003223 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3224
3225 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3226
3227
3228
3229class PlanetStackRoleList(generics.ListCreateAPIView):
3230 queryset = PlanetStackRole.objects.select_related().all()
3231 serializer_class = PlanetStackRoleSerializer
3232 id_serializer_class = PlanetStackRoleIdSerializer
3233 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003234 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003235
3236 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003237 no_hyperlinks=False
3238 if hasattr(self.request,"QUERY_PARAMS"):
3239 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003240 if (no_hyperlinks):
3241 return self.id_serializer_class
3242 else:
3243 return self.serializer_class
3244
3245 def get_queryset(self):
3246 return PlanetStackRole.select_by_user(self.request.user)
3247
3248 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003249 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3250 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003251 response = {"error": "validation",
3252 "specific_error": "not serializer.is_valid()",
3253 "reasons": serializer.errors}
3254 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003255 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003256 obj.caller = request.user
Scott Baker0caeaf02014-06-19 11:12:55 -07003257 if obj.can_update(request.user):
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003258 return super(PlanetStackRoleList, self).create(request, *args, **kwargs)
Scott Baker0caeaf02014-06-19 11:12:55 -07003259 else:
Scott Baker08898c12014-10-29 23:41:11 -07003260 raise Exception("failed obj.can_update")
3261
3262 ret = super(PlanetStackRoleList, self).create(request, *args, **kwargs)
3263 if (ret.status_code%100 != 200):
3264 raise Exception(ret.data)
3265
3266 return ret
3267
Scott Baker0caeaf02014-06-19 11:12:55 -07003268
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003269class PlanetStackRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3270 queryset = PlanetStackRole.objects.select_related().all()
3271 serializer_class = PlanetStackRoleSerializer
3272 id_serializer_class = PlanetStackRoleIdSerializer
3273
3274 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003275 no_hyperlinks=False
3276 if hasattr(self.request,"QUERY_PARAMS"):
3277 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003278 if (no_hyperlinks):
3279 return self.id_serializer_class
Scott Baker0caeaf02014-06-19 11:12:55 -07003280 else:
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003281 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003282
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003283 def get_queryset(self):
3284 return PlanetStackRole.select_by_user(self.request.user)
3285
3286 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3287
3288 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04003289
3290
3291
Scott Baker0caeaf02014-06-19 11:12:55 -07003292class NetworkSliverList(generics.ListCreateAPIView):
3293 queryset = NetworkSliver.objects.select_related().all()
3294 serializer_class = NetworkSliverSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003295 id_serializer_class = NetworkSliverIdSerializer
3296 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003297 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','sliver','ip','port_id',)
Scott Baker46b58542014-08-11 17:26:12 -07003298
3299 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003300 no_hyperlinks=False
3301 if hasattr(self.request,"QUERY_PARAMS"):
3302 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003303 if (no_hyperlinks):
3304 return self.id_serializer_class
3305 else:
3306 return self.serializer_class
3307
Scott Baker0caeaf02014-06-19 11:12:55 -07003308 def get_queryset(self):
3309 return NetworkSliver.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04003310
Scott Baker0caeaf02014-06-19 11:12:55 -07003311 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003312 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3313 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003314 response = {"error": "validation",
3315 "specific_error": "not serializer.is_valid()",
3316 "reasons": serializer.errors}
3317 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003318 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003319 obj.caller = request.user
3320 if obj.can_update(request.user):
3321 return super(NetworkSliverList, self).create(request, *args, **kwargs)
3322 else:
Scott Baker08898c12014-10-29 23:41:11 -07003323 raise Exception("failed obj.can_update")
3324
3325 ret = super(NetworkSliverList, self).create(request, *args, **kwargs)
3326 if (ret.status_code%100 != 200):
3327 raise Exception(ret.data)
3328
3329 return ret
3330
Scott Baker0caeaf02014-06-19 11:12:55 -07003331
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003332class NetworkSliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003333 queryset = NetworkSliver.objects.select_related().all()
3334 serializer_class = NetworkSliverSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003335 id_serializer_class = NetworkSliverIdSerializer
3336
3337 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003338 no_hyperlinks=False
3339 if hasattr(self.request,"QUERY_PARAMS"):
3340 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003341 if (no_hyperlinks):
3342 return self.id_serializer_class
3343 else:
3344 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003345
Scott Baker0caeaf02014-06-19 11:12:55 -07003346 def get_queryset(self):
3347 return NetworkSliver.select_by_user(self.request.user)
3348
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003349 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07003350
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003351 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04003352
3353
3354
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003355class FlavorList(generics.ListCreateAPIView):
3356 queryset = Flavor.objects.select_related().all()
3357 serializer_class = FlavorSerializer
3358 id_serializer_class = FlavorIdSerializer
3359 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003360 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','flavor','order','default','deployments',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003361
3362 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003363 no_hyperlinks=False
3364 if hasattr(self.request,"QUERY_PARAMS"):
3365 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003366 if (no_hyperlinks):
3367 return self.id_serializer_class
3368 else:
3369 return self.serializer_class
3370
3371 def get_queryset(self):
3372 return Flavor.select_by_user(self.request.user)
3373
3374 def create(self, request, *args, **kwargs):
3375 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3376 if not (serializer.is_valid()):
3377 response = {"error": "validation",
3378 "specific_error": "not serializer.is_valid()",
3379 "reasons": serializer.errors}
3380 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3381 obj = serializer.object
3382 obj.caller = request.user
3383 if obj.can_update(request.user):
3384 return super(FlavorList, self).create(request, *args, **kwargs)
3385 else:
3386 raise Exception("failed obj.can_update")
3387
3388 ret = super(FlavorList, self).create(request, *args, **kwargs)
3389 if (ret.status_code%100 != 200):
3390 raise Exception(ret.data)
3391
3392 return ret
3393
3394
3395class FlavorDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3396 queryset = Flavor.objects.select_related().all()
3397 serializer_class = FlavorSerializer
3398 id_serializer_class = FlavorIdSerializer
3399
3400 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003401 no_hyperlinks=False
3402 if hasattr(self.request,"QUERY_PARAMS"):
3403 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003404 if (no_hyperlinks):
3405 return self.id_serializer_class
3406 else:
3407 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003408
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003409 def get_queryset(self):
3410 return Flavor.select_by_user(self.request.user)
3411
3412 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3413
3414 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3415
3416
3417
3418class ControllerSiteList(generics.ListCreateAPIView):
3419 queryset = ControllerSite.objects.select_related().all()
3420 serializer_class = ControllerSiteSerializer
3421 id_serializer_class = ControllerSiteIdSerializer
3422 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003423 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','controller','tenant_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003424
3425 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003426 no_hyperlinks=False
3427 if hasattr(self.request,"QUERY_PARAMS"):
3428 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003429 if (no_hyperlinks):
3430 return self.id_serializer_class
3431 else:
3432 return self.serializer_class
3433
3434 def get_queryset(self):
3435 return ControllerSite.select_by_user(self.request.user)
3436
3437 def create(self, request, *args, **kwargs):
3438 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3439 if not (serializer.is_valid()):
3440 response = {"error": "validation",
3441 "specific_error": "not serializer.is_valid()",
3442 "reasons": serializer.errors}
3443 return Response(response, status=status.HTTP_400_BAD_REQUEST)
3444 obj = serializer.object
3445 obj.caller = request.user
3446 if obj.can_update(request.user):
3447 return super(ControllerSiteList, self).create(request, *args, **kwargs)
3448 else:
3449 raise Exception("failed obj.can_update")
3450
3451 ret = super(ControllerSiteList, self).create(request, *args, **kwargs)
3452 if (ret.status_code%100 != 200):
3453 raise Exception(ret.data)
3454
3455 return ret
3456
3457
3458class ControllerSiteDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3459 queryset = ControllerSite.objects.select_related().all()
3460 serializer_class = ControllerSiteSerializer
3461 id_serializer_class = ControllerSiteIdSerializer
3462
3463 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003464 no_hyperlinks=False
3465 if hasattr(self.request,"QUERY_PARAMS"):
3466 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003467 if (no_hyperlinks):
3468 return self.id_serializer_class
3469 else:
3470 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003471
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003472 def get_queryset(self):
3473 return ControllerSite.select_by_user(self.request.user)
3474
3475 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3476
3477 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3478
3479
3480
Scott Baker0caeaf02014-06-19 11:12:55 -07003481class ProjectList(generics.ListCreateAPIView):
3482 queryset = Project.objects.select_related().all()
3483 serializer_class = ProjectSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003484 id_serializer_class = ProjectIdSerializer
3485 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003486 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Baker46b58542014-08-11 17:26:12 -07003487
3488 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003489 no_hyperlinks=False
3490 if hasattr(self.request,"QUERY_PARAMS"):
3491 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003492 if (no_hyperlinks):
3493 return self.id_serializer_class
3494 else:
3495 return self.serializer_class
3496
Scott Baker0caeaf02014-06-19 11:12:55 -07003497 def get_queryset(self):
3498 return Project.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04003499
Scott Baker0caeaf02014-06-19 11:12:55 -07003500 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003501 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3502 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003503 response = {"error": "validation",
3504 "specific_error": "not serializer.is_valid()",
3505 "reasons": serializer.errors}
3506 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003507 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07003508 obj.caller = request.user
3509 if obj.can_update(request.user):
3510 return super(ProjectList, self).create(request, *args, **kwargs)
3511 else:
Scott Baker08898c12014-10-29 23:41:11 -07003512 raise Exception("failed obj.can_update")
3513
3514 ret = super(ProjectList, self).create(request, *args, **kwargs)
3515 if (ret.status_code%100 != 200):
3516 raise Exception(ret.data)
3517
3518 return ret
3519
Scott Baker0caeaf02014-06-19 11:12:55 -07003520
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003521class ProjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07003522 queryset = Project.objects.select_related().all()
3523 serializer_class = ProjectSerializer
Scott Baker46b58542014-08-11 17:26:12 -07003524 id_serializer_class = ProjectIdSerializer
3525
3526 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003527 no_hyperlinks=False
3528 if hasattr(self.request,"QUERY_PARAMS"):
3529 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07003530 if (no_hyperlinks):
3531 return self.id_serializer_class
3532 else:
3533 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003534
Scott Baker0caeaf02014-06-19 11:12:55 -07003535 def get_queryset(self):
3536 return Project.select_by_user(self.request.user)
3537
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003538 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3539
3540 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3541
3542
3543
3544class SliceList(generics.ListCreateAPIView):
3545 queryset = Slice.objects.select_related().all()
3546 serializer_class = SliceSerializer
3547 id_serializer_class = SliceIdSerializer
3548 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003549 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','enabled','omf_friendly','description','slice_url','site','max_slivers','service','network','serviceClass','creator','default_flavor','default_image','mount_data_sets','networks','networks',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003550
3551 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003552 no_hyperlinks=False
3553 if hasattr(self.request,"QUERY_PARAMS"):
3554 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003555 if (no_hyperlinks):
3556 return self.id_serializer_class
3557 else:
3558 return self.serializer_class
3559
3560 def get_queryset(self):
3561 return Slice.select_by_user(self.request.user)
3562
3563 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003564 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3565 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003566 response = {"error": "validation",
3567 "specific_error": "not serializer.is_valid()",
3568 "reasons": serializer.errors}
3569 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003570 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003571 obj.caller = request.user
Scott Baker0caeaf02014-06-19 11:12:55 -07003572 if obj.can_update(request.user):
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003573 return super(SliceList, self).create(request, *args, **kwargs)
Scott Baker0caeaf02014-06-19 11:12:55 -07003574 else:
Scott Baker08898c12014-10-29 23:41:11 -07003575 raise Exception("failed obj.can_update")
3576
3577 ret = super(SliceList, self).create(request, *args, **kwargs)
3578 if (ret.status_code%100 != 200):
3579 raise Exception(ret.data)
3580
3581 return ret
3582
Scott Baker0caeaf02014-06-19 11:12:55 -07003583
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003584class SliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3585 queryset = Slice.objects.select_related().all()
3586 serializer_class = SliceSerializer
3587 id_serializer_class = SliceIdSerializer
3588
3589 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003590 no_hyperlinks=False
3591 if hasattr(self.request,"QUERY_PARAMS"):
3592 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003593 if (no_hyperlinks):
3594 return self.id_serializer_class
3595 else:
3596 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003597
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003598 def get_queryset(self):
3599 return Slice.select_by_user(self.request.user)
3600
3601 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3602
3603 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3604
3605
3606
3607class NetworkList(generics.ListCreateAPIView):
3608 queryset = Network.objects.select_related().all()
3609 serializer_class = NetworkSerializer
3610 id_serializer_class = NetworkIdSerializer
3611 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003612 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','template','subnet','ports','labels','owner','guaranteed_bandwidth','permit_all_slices','topology_parameters','controller_url','controller_parameters','network_id','router_id','subnet_id','slices','slices','slivers','routers','routers',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003613
3614 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003615 no_hyperlinks=False
3616 if hasattr(self.request,"QUERY_PARAMS"):
3617 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003618 if (no_hyperlinks):
3619 return self.id_serializer_class
3620 else:
3621 return self.serializer_class
3622
3623 def get_queryset(self):
3624 return Network.select_by_user(self.request.user)
3625
3626 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003627 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3628 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003629 response = {"error": "validation",
3630 "specific_error": "not serializer.is_valid()",
3631 "reasons": serializer.errors}
3632 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003633 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003634 obj.caller = request.user
Scott Baker0caeaf02014-06-19 11:12:55 -07003635 if obj.can_update(request.user):
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003636 return super(NetworkList, self).create(request, *args, **kwargs)
Scott Baker0caeaf02014-06-19 11:12:55 -07003637 else:
Scott Baker08898c12014-10-29 23:41:11 -07003638 raise Exception("failed obj.can_update")
3639
3640 ret = super(NetworkList, self).create(request, *args, **kwargs)
3641 if (ret.status_code%100 != 200):
3642 raise Exception(ret.data)
3643
3644 return ret
3645
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003646
3647class NetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3648 queryset = Network.objects.select_related().all()
3649 serializer_class = NetworkSerializer
3650 id_serializer_class = NetworkIdSerializer
3651
3652 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003653 no_hyperlinks=False
3654 if hasattr(self.request,"QUERY_PARAMS"):
3655 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003656 if (no_hyperlinks):
3657 return self.id_serializer_class
3658 else:
3659 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003660
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003661 def get_queryset(self):
3662 return Network.select_by_user(self.request.user)
3663
3664 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3665
3666 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3667
3668
3669
3670class ServiceList(generics.ListCreateAPIView):
3671 queryset = Service.objects.select_related().all()
3672 serializer_class = ServiceSerializer
3673 id_serializer_class = ServiceIdSerializer
3674 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003675 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','description','enabled','name','versionNumber','published',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003676
3677 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003678 no_hyperlinks=False
3679 if hasattr(self.request,"QUERY_PARAMS"):
3680 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003681 if (no_hyperlinks):
3682 return self.id_serializer_class
3683 else:
3684 return self.serializer_class
3685
3686 def get_queryset(self):
3687 return Service.select_by_user(self.request.user)
3688
3689 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003690 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3691 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003692 response = {"error": "validation",
3693 "specific_error": "not serializer.is_valid()",
3694 "reasons": serializer.errors}
3695 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003696 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003697 obj.caller = request.user
3698 if obj.can_update(request.user):
3699 return super(ServiceList, self).create(request, *args, **kwargs)
3700 else:
Scott Baker08898c12014-10-29 23:41:11 -07003701 raise Exception("failed obj.can_update")
3702
3703 ret = super(ServiceList, self).create(request, *args, **kwargs)
3704 if (ret.status_code%100 != 200):
3705 raise Exception(ret.data)
3706
3707 return ret
3708
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003709
3710class ServiceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3711 queryset = Service.objects.select_related().all()
3712 serializer_class = ServiceSerializer
3713 id_serializer_class = ServiceIdSerializer
3714
3715 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003716 no_hyperlinks=False
3717 if hasattr(self.request,"QUERY_PARAMS"):
3718 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003719 if (no_hyperlinks):
3720 return self.id_serializer_class
3721 else:
3722 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003723
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003724 def get_queryset(self):
3725 return Service.select_by_user(self.request.user)
3726
3727 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3728
3729 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3730
3731
3732
3733class ServiceClassList(generics.ListCreateAPIView):
3734 queryset = ServiceClass.objects.select_related().all()
3735 serializer_class = ServiceClassSerializer
3736 id_serializer_class = ServiceClassIdSerializer
3737 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003738 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','commitment','membershipFee','membershipFeeMonths','upgradeRequiresApproval',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003739
3740 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003741 no_hyperlinks=False
3742 if hasattr(self.request,"QUERY_PARAMS"):
3743 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003744 if (no_hyperlinks):
3745 return self.id_serializer_class
3746 else:
3747 return self.serializer_class
3748
3749 def get_queryset(self):
3750 return ServiceClass.select_by_user(self.request.user)
3751
3752 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003753 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3754 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003755 response = {"error": "validation",
3756 "specific_error": "not serializer.is_valid()",
3757 "reasons": serializer.errors}
3758 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003759 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003760 obj.caller = request.user
3761 if obj.can_update(request.user):
3762 return super(ServiceClassList, self).create(request, *args, **kwargs)
3763 else:
Scott Baker08898c12014-10-29 23:41:11 -07003764 raise Exception("failed obj.can_update")
3765
3766 ret = super(ServiceClassList, self).create(request, *args, **kwargs)
3767 if (ret.status_code%100 != 200):
3768 raise Exception(ret.data)
3769
3770 return ret
3771
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003772
3773class ServiceClassDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3774 queryset = ServiceClass.objects.select_related().all()
3775 serializer_class = ServiceClassSerializer
3776 id_serializer_class = ServiceClassIdSerializer
3777
3778 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003779 no_hyperlinks=False
3780 if hasattr(self.request,"QUERY_PARAMS"):
3781 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003782 if (no_hyperlinks):
3783 return self.id_serializer_class
3784 else:
3785 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003786
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003787 def get_queryset(self):
3788 return ServiceClass.select_by_user(self.request.user)
3789
3790 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3791
3792 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3793
3794
3795
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003796class PlanetStackList(generics.ListCreateAPIView):
3797 queryset = PlanetStack.objects.select_related().all()
3798 serializer_class = PlanetStackSerializer
3799 id_serializer_class = PlanetStackIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003800 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003801 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','description',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003802
3803 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003804 no_hyperlinks=False
3805 if hasattr(self.request,"QUERY_PARAMS"):
3806 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003807 if (no_hyperlinks):
3808 return self.id_serializer_class
3809 else:
3810 return self.serializer_class
3811
3812 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003813 return PlanetStack.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003814
3815 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003816 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3817 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003818 response = {"error": "validation",
3819 "specific_error": "not serializer.is_valid()",
3820 "reasons": serializer.errors}
3821 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003822 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003823 obj.caller = request.user
3824 if obj.can_update(request.user):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003825 return super(PlanetStackList, self).create(request, *args, **kwargs)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003826 else:
Scott Baker08898c12014-10-29 23:41:11 -07003827 raise Exception("failed obj.can_update")
3828
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003829 ret = super(PlanetStackList, self).create(request, *args, **kwargs)
Scott Baker08898c12014-10-29 23:41:11 -07003830 if (ret.status_code%100 != 200):
3831 raise Exception(ret.data)
3832
3833 return ret
3834
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003835
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003836class PlanetStackDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3837 queryset = PlanetStack.objects.select_related().all()
3838 serializer_class = PlanetStackSerializer
3839 id_serializer_class = PlanetStackIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003840
3841 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003842 no_hyperlinks=False
3843 if hasattr(self.request,"QUERY_PARAMS"):
3844 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003845 if (no_hyperlinks):
3846 return self.id_serializer_class
3847 else:
3848 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003849
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003850 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08003851 return PlanetStack.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003852
3853 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3854
3855 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3856
3857
3858
3859class ChargeList(generics.ListCreateAPIView):
3860 queryset = Charge.objects.select_related().all()
3861 serializer_class = ChargeSerializer
3862 id_serializer_class = ChargeIdSerializer
3863 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003864 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','slice','kind','state','date','object','amount','coreHours','invoice',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003865
3866 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003867 no_hyperlinks=False
3868 if hasattr(self.request,"QUERY_PARAMS"):
3869 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003870 if (no_hyperlinks):
3871 return self.id_serializer_class
3872 else:
3873 return self.serializer_class
3874
3875 def get_queryset(self):
3876 return Charge.select_by_user(self.request.user)
3877
3878 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003879 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3880 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003881 response = {"error": "validation",
3882 "specific_error": "not serializer.is_valid()",
3883 "reasons": serializer.errors}
3884 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003885 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003886 obj.caller = request.user
3887 if obj.can_update(request.user):
3888 return super(ChargeList, self).create(request, *args, **kwargs)
3889 else:
Scott Baker08898c12014-10-29 23:41:11 -07003890 raise Exception("failed obj.can_update")
3891
3892 ret = super(ChargeList, self).create(request, *args, **kwargs)
3893 if (ret.status_code%100 != 200):
3894 raise Exception(ret.data)
3895
3896 return ret
3897
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003898
3899class ChargeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3900 queryset = Charge.objects.select_related().all()
3901 serializer_class = ChargeSerializer
3902 id_serializer_class = ChargeIdSerializer
3903
3904 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003905 no_hyperlinks=False
3906 if hasattr(self.request,"QUERY_PARAMS"):
3907 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003908 if (no_hyperlinks):
3909 return self.id_serializer_class
3910 else:
3911 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003912
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003913 def get_queryset(self):
3914 return Charge.select_by_user(self.request.user)
3915
3916 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3917
3918 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3919
3920
3921
3922class RoleList(generics.ListCreateAPIView):
3923 queryset = Role.objects.select_related().all()
3924 serializer_class = RoleSerializer
3925 id_serializer_class = RoleIdSerializer
3926 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003927 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role_type','role','description','content_type',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003928
3929 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003930 no_hyperlinks=False
3931 if hasattr(self.request,"QUERY_PARAMS"):
3932 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003933 if (no_hyperlinks):
3934 return self.id_serializer_class
3935 else:
3936 return self.serializer_class
3937
3938 def get_queryset(self):
3939 return Role.select_by_user(self.request.user)
3940
3941 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08003942 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
3943 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08003944 response = {"error": "validation",
3945 "specific_error": "not serializer.is_valid()",
3946 "reasons": serializer.errors}
3947 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08003948 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003949 obj.caller = request.user
3950 if obj.can_update(request.user):
3951 return super(RoleList, self).create(request, *args, **kwargs)
3952 else:
Scott Baker08898c12014-10-29 23:41:11 -07003953 raise Exception("failed obj.can_update")
3954
3955 ret = super(RoleList, self).create(request, *args, **kwargs)
3956 if (ret.status_code%100 != 200):
3957 raise Exception(ret.data)
3958
3959 return ret
3960
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003961
3962class RoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
3963 queryset = Role.objects.select_related().all()
3964 serializer_class = RoleSerializer
3965 id_serializer_class = RoleIdSerializer
3966
3967 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003968 no_hyperlinks=False
3969 if hasattr(self.request,"QUERY_PARAMS"):
3970 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003971 if (no_hyperlinks):
3972 return self.id_serializer_class
3973 else:
3974 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08003975
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003976 def get_queryset(self):
3977 return Role.select_by_user(self.request.user)
3978
3979 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3980
3981 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
3982
3983
3984
3985class UsableObjectList(generics.ListCreateAPIView):
3986 queryset = UsableObject.objects.select_related().all()
3987 serializer_class = UsableObjectSerializer
3988 id_serializer_class = UsableObjectIdSerializer
3989 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08003990 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003991
3992 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08003993 no_hyperlinks=False
3994 if hasattr(self.request,"QUERY_PARAMS"):
3995 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07003996 if (no_hyperlinks):
3997 return self.id_serializer_class
3998 else:
3999 return self.serializer_class
4000
4001 def get_queryset(self):
4002 return UsableObject.select_by_user(self.request.user)
4003
4004 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004005 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4006 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004007 response = {"error": "validation",
4008 "specific_error": "not serializer.is_valid()",
4009 "reasons": serializer.errors}
4010 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004011 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004012 obj.caller = request.user
4013 if obj.can_update(request.user):
4014 return super(UsableObjectList, self).create(request, *args, **kwargs)
4015 else:
Scott Baker08898c12014-10-29 23:41:11 -07004016 raise Exception("failed obj.can_update")
4017
4018 ret = super(UsableObjectList, self).create(request, *args, **kwargs)
4019 if (ret.status_code%100 != 200):
4020 raise Exception(ret.data)
4021
4022 return ret
4023
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004024
4025class UsableObjectDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4026 queryset = UsableObject.objects.select_related().all()
4027 serializer_class = UsableObjectSerializer
4028 id_serializer_class = UsableObjectIdSerializer
4029
4030 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004031 no_hyperlinks=False
4032 if hasattr(self.request,"QUERY_PARAMS"):
4033 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004034 if (no_hyperlinks):
4035 return self.id_serializer_class
4036 else:
4037 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004038
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004039 def get_queryset(self):
4040 return UsableObject.select_by_user(self.request.user)
4041
4042 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4043
4044 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4045
4046
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004047
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004048class SiteRoleList(generics.ListCreateAPIView):
4049 queryset = SiteRole.objects.select_related().all()
4050 serializer_class = SiteRoleSerializer
4051 id_serializer_class = SiteRoleIdSerializer
4052 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004053 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004054
4055 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004056 no_hyperlinks=False
4057 if hasattr(self.request,"QUERY_PARAMS"):
4058 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004059 if (no_hyperlinks):
4060 return self.id_serializer_class
4061 else:
4062 return self.serializer_class
4063
4064 def get_queryset(self):
4065 return SiteRole.select_by_user(self.request.user)
4066
4067 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004068 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4069 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004070 response = {"error": "validation",
4071 "specific_error": "not serializer.is_valid()",
4072 "reasons": serializer.errors}
4073 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004074 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004075 obj.caller = request.user
4076 if obj.can_update(request.user):
4077 return super(SiteRoleList, self).create(request, *args, **kwargs)
4078 else:
Scott Baker08898c12014-10-29 23:41:11 -07004079 raise Exception("failed obj.can_update")
4080
4081 ret = super(SiteRoleList, self).create(request, *args, **kwargs)
4082 if (ret.status_code%100 != 200):
4083 raise Exception(ret.data)
4084
4085 return ret
4086
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004087
4088class SiteRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4089 queryset = SiteRole.objects.select_related().all()
4090 serializer_class = SiteRoleSerializer
4091 id_serializer_class = SiteRoleIdSerializer
4092
4093 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004094 no_hyperlinks=False
4095 if hasattr(self.request,"QUERY_PARAMS"):
4096 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004097 if (no_hyperlinks):
4098 return self.id_serializer_class
4099 else:
4100 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004101
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004102 def get_queryset(self):
4103 return SiteRole.select_by_user(self.request.user)
4104
4105 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4106
4107 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4108
4109
4110
4111class SliceCredentialList(generics.ListCreateAPIView):
4112 queryset = SliceCredential.objects.select_related().all()
4113 serializer_class = SliceCredentialSerializer
4114 id_serializer_class = SliceCredentialIdSerializer
4115 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004116 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','key_id','enc_value',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004117
4118 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004119 no_hyperlinks=False
4120 if hasattr(self.request,"QUERY_PARAMS"):
4121 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004122 if (no_hyperlinks):
4123 return self.id_serializer_class
4124 else:
4125 return self.serializer_class
4126
4127 def get_queryset(self):
4128 return SliceCredential.select_by_user(self.request.user)
4129
4130 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004131 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4132 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004133 response = {"error": "validation",
4134 "specific_error": "not serializer.is_valid()",
4135 "reasons": serializer.errors}
4136 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004137 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004138 obj.caller = request.user
4139 if obj.can_update(request.user):
4140 return super(SliceCredentialList, self).create(request, *args, **kwargs)
4141 else:
Scott Baker08898c12014-10-29 23:41:11 -07004142 raise Exception("failed obj.can_update")
4143
4144 ret = super(SliceCredentialList, self).create(request, *args, **kwargs)
4145 if (ret.status_code%100 != 200):
4146 raise Exception(ret.data)
4147
4148 return ret
4149
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004150
4151class SliceCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4152 queryset = SliceCredential.objects.select_related().all()
4153 serializer_class = SliceCredentialSerializer
4154 id_serializer_class = SliceCredentialIdSerializer
4155
4156 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004157 no_hyperlinks=False
4158 if hasattr(self.request,"QUERY_PARAMS"):
4159 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004160 if (no_hyperlinks):
4161 return self.id_serializer_class
4162 else:
4163 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004164
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004165 def get_queryset(self):
4166 return SliceCredential.select_by_user(self.request.user)
4167
4168 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4169
4170 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4171
4172
4173
4174class SliverList(generics.ListCreateAPIView):
4175 queryset = Sliver.objects.select_related().all()
4176 serializer_class = SliverSerializer
4177 id_serializer_class = SliverIdSerializer
4178 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004179 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','instance_id','instance_uuid','name','instance_name','ip','image','creator','slice','deployment','node','numberCores','flavor','userData','networks',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004180
4181 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004182 no_hyperlinks=False
4183 if hasattr(self.request,"QUERY_PARAMS"):
4184 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004185 if (no_hyperlinks):
4186 return self.id_serializer_class
4187 else:
4188 return self.serializer_class
4189
4190 def get_queryset(self):
4191 return Sliver.select_by_user(self.request.user)
4192
4193 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004194 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4195 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004196 response = {"error": "validation",
4197 "specific_error": "not serializer.is_valid()",
4198 "reasons": serializer.errors}
4199 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004200 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004201 obj.caller = request.user
4202 if obj.can_update(request.user):
4203 return super(SliverList, self).create(request, *args, **kwargs)
4204 else:
Scott Baker08898c12014-10-29 23:41:11 -07004205 raise Exception("failed obj.can_update")
4206
4207 ret = super(SliverList, self).create(request, *args, **kwargs)
4208 if (ret.status_code%100 != 200):
4209 raise Exception(ret.data)
4210
4211 return ret
4212
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004213
4214class SliverDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4215 queryset = Sliver.objects.select_related().all()
4216 serializer_class = SliverSerializer
4217 id_serializer_class = SliverIdSerializer
4218
4219 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004220 no_hyperlinks=False
4221 if hasattr(self.request,"QUERY_PARAMS"):
4222 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004223 if (no_hyperlinks):
4224 return self.id_serializer_class
4225 else:
4226 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004227
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004228 def get_queryset(self):
4229 return Sliver.select_by_user(self.request.user)
4230
4231 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4232
4233 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4234
4235
4236
4237class NodeList(generics.ListCreateAPIView):
4238 queryset = Node.objects.select_related().all()
4239 serializer_class = NodeSerializer
4240 id_serializer_class = NodeIdSerializer
4241 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004242 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','site_deployment','site',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004243
4244 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004245 no_hyperlinks=False
4246 if hasattr(self.request,"QUERY_PARAMS"):
4247 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004248 if (no_hyperlinks):
4249 return self.id_serializer_class
4250 else:
4251 return self.serializer_class
4252
4253 def get_queryset(self):
4254 return Node.select_by_user(self.request.user)
4255
4256 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004257 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4258 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004259 response = {"error": "validation",
4260 "specific_error": "not serializer.is_valid()",
4261 "reasons": serializer.errors}
4262 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004263 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004264 obj.caller = request.user
4265 if obj.can_update(request.user):
4266 return super(NodeList, self).create(request, *args, **kwargs)
4267 else:
Scott Baker08898c12014-10-29 23:41:11 -07004268 raise Exception("failed obj.can_update")
4269
4270 ret = super(NodeList, self).create(request, *args, **kwargs)
4271 if (ret.status_code%100 != 200):
4272 raise Exception(ret.data)
4273
4274 return ret
4275
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004276
4277class NodeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4278 queryset = Node.objects.select_related().all()
4279 serializer_class = NodeSerializer
4280 id_serializer_class = NodeIdSerializer
4281
4282 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004283 no_hyperlinks=False
4284 if hasattr(self.request,"QUERY_PARAMS"):
4285 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004286 if (no_hyperlinks):
4287 return self.id_serializer_class
4288 else:
4289 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004290
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004291 def get_queryset(self):
4292 return Node.select_by_user(self.request.user)
4293
4294 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4295
4296 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4297
4298
4299
4300class DashboardViewList(generics.ListCreateAPIView):
4301 queryset = DashboardView.objects.select_related().all()
4302 serializer_class = DashboardViewSerializer
4303 id_serializer_class = DashboardViewIdSerializer
4304 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004305 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','url','enabled','controllers',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004306
4307 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004308 no_hyperlinks=False
4309 if hasattr(self.request,"QUERY_PARAMS"):
4310 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004311 if (no_hyperlinks):
4312 return self.id_serializer_class
4313 else:
4314 return self.serializer_class
4315
4316 def get_queryset(self):
4317 return DashboardView.select_by_user(self.request.user)
4318
4319 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004320 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4321 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004322 response = {"error": "validation",
4323 "specific_error": "not serializer.is_valid()",
4324 "reasons": serializer.errors}
4325 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004326 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004327 obj.caller = request.user
4328 if obj.can_update(request.user):
4329 return super(DashboardViewList, self).create(request, *args, **kwargs)
4330 else:
Scott Baker08898c12014-10-29 23:41:11 -07004331 raise Exception("failed obj.can_update")
4332
4333 ret = super(DashboardViewList, self).create(request, *args, **kwargs)
4334 if (ret.status_code%100 != 200):
4335 raise Exception(ret.data)
4336
4337 return ret
4338
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004339
4340class DashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4341 queryset = DashboardView.objects.select_related().all()
4342 serializer_class = DashboardViewSerializer
4343 id_serializer_class = DashboardViewIdSerializer
4344
4345 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004346 no_hyperlinks=False
4347 if hasattr(self.request,"QUERY_PARAMS"):
4348 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004349 if (no_hyperlinks):
4350 return self.id_serializer_class
4351 else:
4352 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004353
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004354 def get_queryset(self):
4355 return DashboardView.select_by_user(self.request.user)
4356
4357 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4358
4359 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4360
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004361
Scott Bakerf3816ac2014-11-12 01:13:53 -08004362
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004363class ControllerNetworkList(generics.ListCreateAPIView):
4364 queryset = ControllerNetwork.objects.select_related().all()
4365 serializer_class = ControllerNetworkSerializer
4366 id_serializer_class = ControllerNetworkIdSerializer
4367 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004368 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','controller','net_id','router_id','subnet_id','subnet',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004369
4370 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004371 no_hyperlinks=False
4372 if hasattr(self.request,"QUERY_PARAMS"):
4373 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004374 if (no_hyperlinks):
4375 return self.id_serializer_class
4376 else:
4377 return self.serializer_class
4378
4379 def get_queryset(self):
4380 return ControllerNetwork.select_by_user(self.request.user)
4381
4382 def create(self, request, *args, **kwargs):
4383 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4384 if not (serializer.is_valid()):
4385 response = {"error": "validation",
4386 "specific_error": "not serializer.is_valid()",
4387 "reasons": serializer.errors}
4388 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4389 obj = serializer.object
4390 obj.caller = request.user
4391 if obj.can_update(request.user):
4392 return super(ControllerNetworkList, self).create(request, *args, **kwargs)
4393 else:
4394 raise Exception("failed obj.can_update")
4395
4396 ret = super(ControllerNetworkList, self).create(request, *args, **kwargs)
4397 if (ret.status_code%100 != 200):
4398 raise Exception(ret.data)
4399
4400 return ret
4401
4402
4403class ControllerNetworkDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4404 queryset = ControllerNetwork.objects.select_related().all()
4405 serializer_class = ControllerNetworkSerializer
4406 id_serializer_class = ControllerNetworkIdSerializer
4407
4408 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004409 no_hyperlinks=False
4410 if hasattr(self.request,"QUERY_PARAMS"):
4411 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004412 if (no_hyperlinks):
4413 return self.id_serializer_class
4414 else:
4415 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004416
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004417 def get_queryset(self):
4418 return ControllerNetwork.select_by_user(self.request.user)
4419
4420 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4421
4422 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4423
4424
4425
Scott Bakerc1d11912014-12-22 09:29:05 -08004426class ImageDeploymentsList(generics.ListCreateAPIView):
4427 queryset = ImageDeployments.objects.select_related().all()
4428 serializer_class = ImageDeploymentsSerializer
4429 id_serializer_class = ImageDeploymentsIdSerializer
Scott Baker196ffef2014-11-21 11:32:24 -08004430 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004431 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','image','deployment',)
Scott Baker196ffef2014-11-21 11:32:24 -08004432
4433 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004434 no_hyperlinks=False
4435 if hasattr(self.request,"QUERY_PARAMS"):
4436 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker196ffef2014-11-21 11:32:24 -08004437 if (no_hyperlinks):
4438 return self.id_serializer_class
4439 else:
4440 return self.serializer_class
4441
4442 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08004443 return ImageDeployments.select_by_user(self.request.user)
Scott Baker196ffef2014-11-21 11:32:24 -08004444
4445 def create(self, request, *args, **kwargs):
4446 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4447 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004448 response = {"error": "validation",
4449 "specific_error": "not serializer.is_valid()",
4450 "reasons": serializer.errors}
4451 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Baker196ffef2014-11-21 11:32:24 -08004452 obj = serializer.object
4453 obj.caller = request.user
4454 if obj.can_update(request.user):
Scott Bakerc1d11912014-12-22 09:29:05 -08004455 return super(ImageDeploymentsList, self).create(request, *args, **kwargs)
Scott Baker196ffef2014-11-21 11:32:24 -08004456 else:
4457 raise Exception("failed obj.can_update")
4458
Scott Bakerc1d11912014-12-22 09:29:05 -08004459 ret = super(ImageDeploymentsList, self).create(request, *args, **kwargs)
Scott Baker196ffef2014-11-21 11:32:24 -08004460 if (ret.status_code%100 != 200):
4461 raise Exception(ret.data)
4462
4463 return ret
4464
4465
Scott Bakerc1d11912014-12-22 09:29:05 -08004466class ImageDeploymentsDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4467 queryset = ImageDeployments.objects.select_related().all()
4468 serializer_class = ImageDeploymentsSerializer
4469 id_serializer_class = ImageDeploymentsIdSerializer
Scott Baker196ffef2014-11-21 11:32:24 -08004470
4471 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004472 no_hyperlinks=False
4473 if hasattr(self.request,"QUERY_PARAMS"):
4474 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker196ffef2014-11-21 11:32:24 -08004475 if (no_hyperlinks):
4476 return self.id_serializer_class
4477 else:
4478 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004479
Scott Baker196ffef2014-11-21 11:32:24 -08004480 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08004481 return ImageDeployments.select_by_user(self.request.user)
Scott Baker196ffef2014-11-21 11:32:24 -08004482
4483 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4484
4485 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4486
Scott Baker196ffef2014-11-21 11:32:24 -08004487
4488
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004489class ControllerUserList(generics.ListCreateAPIView):
4490 queryset = ControllerUser.objects.select_related().all()
4491 serializer_class = ControllerUserSerializer
4492 id_serializer_class = ControllerUserIdSerializer
4493 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004494 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','controller','kuser_id',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004495
4496 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004497 no_hyperlinks=False
4498 if hasattr(self.request,"QUERY_PARAMS"):
4499 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004500 if (no_hyperlinks):
4501 return self.id_serializer_class
4502 else:
4503 return self.serializer_class
4504
4505 def get_queryset(self):
4506 return ControllerUser.select_by_user(self.request.user)
4507
4508 def create(self, request, *args, **kwargs):
4509 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4510 if not (serializer.is_valid()):
4511 response = {"error": "validation",
4512 "specific_error": "not serializer.is_valid()",
4513 "reasons": serializer.errors}
4514 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4515 obj = serializer.object
4516 obj.caller = request.user
4517 if obj.can_update(request.user):
4518 return super(ControllerUserList, self).create(request, *args, **kwargs)
4519 else:
4520 raise Exception("failed obj.can_update")
4521
4522 ret = super(ControllerUserList, self).create(request, *args, **kwargs)
4523 if (ret.status_code%100 != 200):
4524 raise Exception(ret.data)
4525
4526 return ret
4527
4528
4529class ControllerUserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4530 queryset = ControllerUser.objects.select_related().all()
4531 serializer_class = ControllerUserSerializer
4532 id_serializer_class = ControllerUserIdSerializer
4533
4534 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004535 no_hyperlinks=False
4536 if hasattr(self.request,"QUERY_PARAMS"):
4537 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004538 if (no_hyperlinks):
4539 return self.id_serializer_class
4540 else:
4541 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004542
Scott Bakeree9c5bf2015-01-12 13:16:39 -08004543 def get_queryset(self):
4544 return ControllerUser.select_by_user(self.request.user)
4545
4546 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4547
4548 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4549
4550
4551
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004552class ReservedResourceList(generics.ListCreateAPIView):
4553 queryset = ReservedResource.objects.select_related().all()
4554 serializer_class = ReservedResourceSerializer
4555 id_serializer_class = ReservedResourceIdSerializer
4556 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004557 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','sliver','resource','quantity','reservationSet',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004558
4559 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004560 no_hyperlinks=False
4561 if hasattr(self.request,"QUERY_PARAMS"):
4562 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004563 if (no_hyperlinks):
4564 return self.id_serializer_class
4565 else:
4566 return self.serializer_class
4567
4568 def get_queryset(self):
4569 return ReservedResource.select_by_user(self.request.user)
4570
4571 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004572 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4573 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004574 response = {"error": "validation",
4575 "specific_error": "not serializer.is_valid()",
4576 "reasons": serializer.errors}
4577 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004578 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004579 obj.caller = request.user
4580 if obj.can_update(request.user):
4581 return super(ReservedResourceList, self).create(request, *args, **kwargs)
4582 else:
Scott Baker08898c12014-10-29 23:41:11 -07004583 raise Exception("failed obj.can_update")
4584
4585 ret = super(ReservedResourceList, self).create(request, *args, **kwargs)
4586 if (ret.status_code%100 != 200):
4587 raise Exception(ret.data)
4588
4589 return ret
4590
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004591
4592class ReservedResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4593 queryset = ReservedResource.objects.select_related().all()
4594 serializer_class = ReservedResourceSerializer
4595 id_serializer_class = ReservedResourceIdSerializer
4596
4597 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004598 no_hyperlinks=False
4599 if hasattr(self.request,"QUERY_PARAMS"):
4600 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004601 if (no_hyperlinks):
4602 return self.id_serializer_class
4603 else:
4604 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004605
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004606 def get_queryset(self):
4607 return ReservedResource.select_by_user(self.request.user)
4608
4609 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4610
4611 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4612
4613
4614
Scott Bakerc1d11912014-12-22 09:29:05 -08004615class PaymentList(generics.ListCreateAPIView):
4616 queryset = Payment.objects.select_related().all()
4617 serializer_class = PaymentSerializer
4618 id_serializer_class = PaymentIdSerializer
4619 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004620 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','account','amount','date',)
Scott Bakerc1d11912014-12-22 09:29:05 -08004621
4622 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004623 no_hyperlinks=False
4624 if hasattr(self.request,"QUERY_PARAMS"):
4625 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08004626 if (no_hyperlinks):
4627 return self.id_serializer_class
4628 else:
4629 return self.serializer_class
4630
4631 def get_queryset(self):
4632 return Payment.select_by_user(self.request.user)
4633
4634 def create(self, request, *args, **kwargs):
4635 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4636 if not (serializer.is_valid()):
4637 response = {"error": "validation",
4638 "specific_error": "not serializer.is_valid()",
4639 "reasons": serializer.errors}
4640 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4641 obj = serializer.object
4642 obj.caller = request.user
4643 if obj.can_update(request.user):
4644 return super(PaymentList, self).create(request, *args, **kwargs)
4645 else:
4646 raise Exception("failed obj.can_update")
4647
4648 ret = super(PaymentList, self).create(request, *args, **kwargs)
4649 if (ret.status_code%100 != 200):
4650 raise Exception(ret.data)
4651
4652 return ret
4653
4654
4655class PaymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4656 queryset = Payment.objects.select_related().all()
4657 serializer_class = PaymentSerializer
4658 id_serializer_class = PaymentIdSerializer
4659
4660 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004661 no_hyperlinks=False
4662 if hasattr(self.request,"QUERY_PARAMS"):
4663 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08004664 if (no_hyperlinks):
4665 return self.id_serializer_class
4666 else:
4667 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004668
Scott Bakerc1d11912014-12-22 09:29:05 -08004669 def get_queryset(self):
4670 return Payment.select_by_user(self.request.user)
4671
4672 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4673
4674 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4675
4676
4677
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004678class NetworkSliceList(generics.ListCreateAPIView):
4679 queryset = NetworkSlice.objects.select_related().all()
4680 serializer_class = NetworkSliceSerializer
4681 id_serializer_class = NetworkSliceIdSerializer
4682 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004683 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','network','slice',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004684
4685 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004686 no_hyperlinks=False
4687 if hasattr(self.request,"QUERY_PARAMS"):
4688 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004689 if (no_hyperlinks):
4690 return self.id_serializer_class
4691 else:
4692 return self.serializer_class
4693
4694 def get_queryset(self):
4695 return NetworkSlice.select_by_user(self.request.user)
4696
4697 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004698 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4699 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004700 response = {"error": "validation",
4701 "specific_error": "not serializer.is_valid()",
4702 "reasons": serializer.errors}
4703 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004704 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004705 obj.caller = request.user
4706 if obj.can_update(request.user):
4707 return super(NetworkSliceList, self).create(request, *args, **kwargs)
4708 else:
Scott Baker08898c12014-10-29 23:41:11 -07004709 raise Exception("failed obj.can_update")
4710
4711 ret = super(NetworkSliceList, self).create(request, *args, **kwargs)
4712 if (ret.status_code%100 != 200):
4713 raise Exception(ret.data)
4714
4715 return ret
4716
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004717
4718class NetworkSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4719 queryset = NetworkSlice.objects.select_related().all()
4720 serializer_class = NetworkSliceSerializer
4721 id_serializer_class = NetworkSliceIdSerializer
4722
4723 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004724 no_hyperlinks=False
4725 if hasattr(self.request,"QUERY_PARAMS"):
4726 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004727 if (no_hyperlinks):
4728 return self.id_serializer_class
4729 else:
4730 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004731
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004732 def get_queryset(self):
4733 return NetworkSlice.select_by_user(self.request.user)
4734
4735 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4736
4737 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4738
4739
4740
4741class UserDashboardViewList(generics.ListCreateAPIView):
4742 queryset = UserDashboardView.objects.select_related().all()
4743 serializer_class = UserDashboardViewSerializer
4744 id_serializer_class = UserDashboardViewIdSerializer
4745 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004746 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','dashboardView','order',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004747
4748 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004749 no_hyperlinks=False
4750 if hasattr(self.request,"QUERY_PARAMS"):
4751 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004752 if (no_hyperlinks):
4753 return self.id_serializer_class
4754 else:
4755 return self.serializer_class
4756
4757 def get_queryset(self):
4758 return UserDashboardView.select_by_user(self.request.user)
4759
4760 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004761 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4762 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004763 response = {"error": "validation",
4764 "specific_error": "not serializer.is_valid()",
4765 "reasons": serializer.errors}
4766 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004767 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004768 obj.caller = request.user
4769 if obj.can_update(request.user):
4770 return super(UserDashboardViewList, self).create(request, *args, **kwargs)
4771 else:
Scott Baker08898c12014-10-29 23:41:11 -07004772 raise Exception("failed obj.can_update")
4773
4774 ret = super(UserDashboardViewList, self).create(request, *args, **kwargs)
4775 if (ret.status_code%100 != 200):
4776 raise Exception(ret.data)
4777
4778 return ret
4779
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004780
4781class UserDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4782 queryset = UserDashboardView.objects.select_related().all()
4783 serializer_class = UserDashboardViewSerializer
4784 id_serializer_class = UserDashboardViewIdSerializer
4785
4786 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004787 no_hyperlinks=False
4788 if hasattr(self.request,"QUERY_PARAMS"):
4789 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004790 if (no_hyperlinks):
4791 return self.id_serializer_class
4792 else:
4793 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004794
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004795 def get_queryset(self):
4796 return UserDashboardView.select_by_user(self.request.user)
4797
4798 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4799
4800 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4801
4802
4803
Scott Bakerc1d11912014-12-22 09:29:05 -08004804class ControllerList(generics.ListCreateAPIView):
4805 queryset = Controller.objects.select_related().all()
4806 serializer_class = ControllerSerializer
4807 id_serializer_class = ControllerIdSerializer
4808 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004809 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','backend_type','version','auth_url','admin_user','admin_password','admin_tenant','dashboardviews',)
Scott Bakerc1d11912014-12-22 09:29:05 -08004810
4811 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004812 no_hyperlinks=False
4813 if hasattr(self.request,"QUERY_PARAMS"):
4814 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08004815 if (no_hyperlinks):
4816 return self.id_serializer_class
4817 else:
4818 return self.serializer_class
4819
4820 def get_queryset(self):
4821 return Controller.select_by_user(self.request.user)
4822
4823 def create(self, request, *args, **kwargs):
4824 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4825 if not (serializer.is_valid()):
4826 response = {"error": "validation",
4827 "specific_error": "not serializer.is_valid()",
4828 "reasons": serializer.errors}
4829 return Response(response, status=status.HTTP_400_BAD_REQUEST)
4830 obj = serializer.object
4831 obj.caller = request.user
4832 if obj.can_update(request.user):
4833 return super(ControllerList, self).create(request, *args, **kwargs)
4834 else:
4835 raise Exception("failed obj.can_update")
4836
4837 ret = super(ControllerList, self).create(request, *args, **kwargs)
4838 if (ret.status_code%100 != 200):
4839 raise Exception(ret.data)
4840
4841 return ret
4842
4843
4844class ControllerDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4845 queryset = Controller.objects.select_related().all()
4846 serializer_class = ControllerSerializer
4847 id_serializer_class = ControllerIdSerializer
4848
4849 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004850 no_hyperlinks=False
4851 if hasattr(self.request,"QUERY_PARAMS"):
4852 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08004853 if (no_hyperlinks):
4854 return self.id_serializer_class
4855 else:
4856 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004857
Scott Bakerc1d11912014-12-22 09:29:05 -08004858 def get_queryset(self):
4859 return Controller.select_by_user(self.request.user)
4860
4861 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4862
4863 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4864
4865
4866
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004867class PlanetStackPrivilegeList(generics.ListCreateAPIView):
4868 queryset = PlanetStackPrivilege.objects.select_related().all()
4869 serializer_class = PlanetStackPrivilegeSerializer
4870 id_serializer_class = PlanetStackPrivilegeIdSerializer
4871 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004872 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','planetstack','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004873
4874 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004875 no_hyperlinks=False
4876 if hasattr(self.request,"QUERY_PARAMS"):
4877 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004878 if (no_hyperlinks):
4879 return self.id_serializer_class
4880 else:
4881 return self.serializer_class
4882
4883 def get_queryset(self):
4884 return PlanetStackPrivilege.select_by_user(self.request.user)
4885
4886 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004887 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4888 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004889 response = {"error": "validation",
4890 "specific_error": "not serializer.is_valid()",
4891 "reasons": serializer.errors}
4892 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004893 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004894 obj.caller = request.user
4895 if obj.can_update(request.user):
4896 return super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4897 else:
Scott Baker08898c12014-10-29 23:41:11 -07004898 raise Exception("failed obj.can_update")
4899
4900 ret = super(PlanetStackPrivilegeList, self).create(request, *args, **kwargs)
4901 if (ret.status_code%100 != 200):
4902 raise Exception(ret.data)
4903
4904 return ret
4905
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004906
4907class PlanetStackPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4908 queryset = PlanetStackPrivilege.objects.select_related().all()
4909 serializer_class = PlanetStackPrivilegeSerializer
4910 id_serializer_class = PlanetStackPrivilegeIdSerializer
4911
4912 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004913 no_hyperlinks=False
4914 if hasattr(self.request,"QUERY_PARAMS"):
4915 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004916 if (no_hyperlinks):
4917 return self.id_serializer_class
4918 else:
4919 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004920
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004921 def get_queryset(self):
4922 return PlanetStackPrivilege.select_by_user(self.request.user)
4923
4924 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4925
4926 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4927
4928
4929
4930class UserList(generics.ListCreateAPIView):
4931 queryset = User.objects.select_related().all()
4932 serializer_class = UserSerializer
4933 id_serializer_class = UserIdSerializer
4934 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004935 filter_fields = ('id','password','last_login','email','username','firstname','lastname','phone','user_url','site','public_key','is_active','is_admin','is_staff','is_readonly','is_registering','created','updated','enacted','policed','backend_status','deleted','timezone',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004936
4937 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004938 no_hyperlinks=False
4939 if hasattr(self.request,"QUERY_PARAMS"):
4940 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004941 if (no_hyperlinks):
4942 return self.id_serializer_class
4943 else:
4944 return self.serializer_class
4945
4946 def get_queryset(self):
4947 return User.select_by_user(self.request.user)
4948
4949 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08004950 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
4951 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08004952 response = {"error": "validation",
4953 "specific_error": "not serializer.is_valid()",
4954 "reasons": serializer.errors}
4955 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08004956 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004957 obj.caller = request.user
4958 if obj.can_update(request.user):
4959 return super(UserList, self).create(request, *args, **kwargs)
4960 else:
Scott Baker08898c12014-10-29 23:41:11 -07004961 raise Exception("failed obj.can_update")
4962
4963 ret = super(UserList, self).create(request, *args, **kwargs)
4964 if (ret.status_code%100 != 200):
4965 raise Exception(ret.data)
4966
4967 return ret
4968
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004969
4970class UserDetail(PlanetStackRetrieveUpdateDestroyAPIView):
4971 queryset = User.objects.select_related().all()
4972 serializer_class = UserSerializer
4973 id_serializer_class = UserIdSerializer
4974
4975 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08004976 no_hyperlinks=False
4977 if hasattr(self.request,"QUERY_PARAMS"):
4978 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004979 if (no_hyperlinks):
4980 return self.id_serializer_class
4981 else:
4982 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08004983
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004984 def get_queryset(self):
4985 return User.select_by_user(self.request.user)
4986
4987 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4988
4989 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
4990
4991
4992
4993class DeploymentList(generics.ListCreateAPIView):
4994 queryset = Deployment.objects.select_related().all()
4995 serializer_class = DeploymentSerializer
4996 id_serializer_class = DeploymentIdSerializer
4997 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08004998 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','accessControl','images','sites','flavors',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07004999
5000 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005001 no_hyperlinks=False
5002 if hasattr(self.request,"QUERY_PARAMS"):
5003 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005004 if (no_hyperlinks):
5005 return self.id_serializer_class
5006 else:
5007 return self.serializer_class
5008
5009 def get_queryset(self):
5010 return Deployment.select_by_user(self.request.user)
5011
5012 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005013 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5014 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005015 response = {"error": "validation",
5016 "specific_error": "not serializer.is_valid()",
5017 "reasons": serializer.errors}
5018 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005019 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005020 obj.caller = request.user
5021 if obj.can_update(request.user):
5022 return super(DeploymentList, self).create(request, *args, **kwargs)
5023 else:
Scott Baker08898c12014-10-29 23:41:11 -07005024 raise Exception("failed obj.can_update")
5025
5026 ret = super(DeploymentList, self).create(request, *args, **kwargs)
5027 if (ret.status_code%100 != 200):
5028 raise Exception(ret.data)
5029
5030 return ret
5031
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005032
5033class DeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5034 queryset = Deployment.objects.select_related().all()
5035 serializer_class = DeploymentSerializer
5036 id_serializer_class = DeploymentIdSerializer
5037
5038 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005039 no_hyperlinks=False
5040 if hasattr(self.request,"QUERY_PARAMS"):
5041 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005042 if (no_hyperlinks):
5043 return self.id_serializer_class
5044 else:
5045 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005046
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005047 def get_queryset(self):
5048 return Deployment.select_by_user(self.request.user)
5049
5050 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5051
5052 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5053
5054
5055
5056class ReservationList(generics.ListCreateAPIView):
5057 queryset = Reservation.objects.select_related().all()
5058 serializer_class = ReservationSerializer
5059 id_serializer_class = ReservationIdSerializer
5060 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005061 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','startTime','slice','duration',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005062
5063 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005064 no_hyperlinks=False
5065 if hasattr(self.request,"QUERY_PARAMS"):
5066 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005067 if (no_hyperlinks):
5068 return self.id_serializer_class
5069 else:
5070 return self.serializer_class
5071
5072 def get_queryset(self):
5073 return Reservation.select_by_user(self.request.user)
5074
5075 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005076 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5077 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005078 response = {"error": "validation",
5079 "specific_error": "not serializer.is_valid()",
5080 "reasons": serializer.errors}
5081 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005082 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005083 obj.caller = request.user
5084 if obj.can_update(request.user):
5085 return super(ReservationList, self).create(request, *args, **kwargs)
5086 else:
Scott Baker08898c12014-10-29 23:41:11 -07005087 raise Exception("failed obj.can_update")
5088
5089 ret = super(ReservationList, self).create(request, *args, **kwargs)
5090 if (ret.status_code%100 != 200):
5091 raise Exception(ret.data)
5092
5093 return ret
5094
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005095
5096class ReservationDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5097 queryset = Reservation.objects.select_related().all()
5098 serializer_class = ReservationSerializer
5099 id_serializer_class = ReservationIdSerializer
5100
5101 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005102 no_hyperlinks=False
5103 if hasattr(self.request,"QUERY_PARAMS"):
5104 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005105 if (no_hyperlinks):
5106 return self.id_serializer_class
5107 else:
5108 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005109
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005110 def get_queryset(self):
5111 return Reservation.select_by_user(self.request.user)
5112
5113 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5114
5115 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5116
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005117
Scott Bakerf3816ac2014-11-12 01:13:53 -08005118
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005119class SitePrivilegeList(generics.ListCreateAPIView):
5120 queryset = SitePrivilege.objects.select_related().all()
5121 serializer_class = SitePrivilegeSerializer
5122 id_serializer_class = SitePrivilegeIdSerializer
5123 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005124 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','site','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005125
5126 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005127 no_hyperlinks=False
5128 if hasattr(self.request,"QUERY_PARAMS"):
5129 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005130 if (no_hyperlinks):
5131 return self.id_serializer_class
5132 else:
5133 return self.serializer_class
5134
5135 def get_queryset(self):
5136 return SitePrivilege.select_by_user(self.request.user)
5137
5138 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005139 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5140 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005141 response = {"error": "validation",
5142 "specific_error": "not serializer.is_valid()",
5143 "reasons": serializer.errors}
5144 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005145 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005146 obj.caller = request.user
5147 if obj.can_update(request.user):
5148 return super(SitePrivilegeList, self).create(request, *args, **kwargs)
5149 else:
Scott Baker08898c12014-10-29 23:41:11 -07005150 raise Exception("failed obj.can_update")
5151
5152 ret = super(SitePrivilegeList, self).create(request, *args, **kwargs)
5153 if (ret.status_code%100 != 200):
5154 raise Exception(ret.data)
5155
5156 return ret
5157
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005158
5159class SitePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5160 queryset = SitePrivilege.objects.select_related().all()
5161 serializer_class = SitePrivilegeSerializer
5162 id_serializer_class = SitePrivilegeIdSerializer
5163
5164 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005165 no_hyperlinks=False
5166 if hasattr(self.request,"QUERY_PARAMS"):
5167 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005168 if (no_hyperlinks):
5169 return self.id_serializer_class
5170 else:
5171 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005172
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005173 def get_queryset(self):
5174 return SitePrivilege.select_by_user(self.request.user)
5175
5176 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5177
5178 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5179
5180
5181
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005182class ControllerSliceList(generics.ListCreateAPIView):
5183 queryset = ControllerSlice.objects.select_related().all()
5184 serializer_class = ControllerSliceSerializer
5185 id_serializer_class = ControllerSliceIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005186 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005187 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice','tenant_id',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005188
5189 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005190 no_hyperlinks=False
5191 if hasattr(self.request,"QUERY_PARAMS"):
5192 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005193 if (no_hyperlinks):
5194 return self.id_serializer_class
5195 else:
5196 return self.serializer_class
5197
5198 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005199 return ControllerSlice.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005200
5201 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005202 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5203 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005204 response = {"error": "validation",
5205 "specific_error": "not serializer.is_valid()",
5206 "reasons": serializer.errors}
5207 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005208 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005209 obj.caller = request.user
5210 if obj.can_update(request.user):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005211 return super(ControllerSliceList, self).create(request, *args, **kwargs)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005212 else:
Scott Baker08898c12014-10-29 23:41:11 -07005213 raise Exception("failed obj.can_update")
5214
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005215 ret = super(ControllerSliceList, self).create(request, *args, **kwargs)
Scott Baker08898c12014-10-29 23:41:11 -07005216 if (ret.status_code%100 != 200):
5217 raise Exception(ret.data)
5218
5219 return ret
5220
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005221
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005222class ControllerSliceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5223 queryset = ControllerSlice.objects.select_related().all()
5224 serializer_class = ControllerSliceSerializer
5225 id_serializer_class = ControllerSliceIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005226
5227 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005228 no_hyperlinks=False
5229 if hasattr(self.request,"QUERY_PARAMS"):
5230 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005231 if (no_hyperlinks):
5232 return self.id_serializer_class
5233 else:
5234 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005235
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005236 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005237 return ControllerSlice.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005238
5239 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5240
5241 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5242
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005243
Scott Bakerf3816ac2014-11-12 01:13:53 -08005244
Scott Bakera6a0c772014-12-22 17:35:34 -08005245class ControllerDashboardViewList(generics.ListCreateAPIView):
5246 queryset = ControllerDashboardView.objects.select_related().all()
5247 serializer_class = ControllerDashboardViewSerializer
5248 id_serializer_class = ControllerDashboardViewIdSerializer
5249 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005250 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','dashboardView','enabled','url',)
Scott Bakera6a0c772014-12-22 17:35:34 -08005251
5252 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005253 no_hyperlinks=False
5254 if hasattr(self.request,"QUERY_PARAMS"):
5255 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakera6a0c772014-12-22 17:35:34 -08005256 if (no_hyperlinks):
5257 return self.id_serializer_class
5258 else:
5259 return self.serializer_class
5260
5261 def get_queryset(self):
5262 return ControllerDashboardView.select_by_user(self.request.user)
5263
5264 def create(self, request, *args, **kwargs):
5265 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5266 if not (serializer.is_valid()):
5267 response = {"error": "validation",
5268 "specific_error": "not serializer.is_valid()",
5269 "reasons": serializer.errors}
5270 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5271 obj = serializer.object
5272 obj.caller = request.user
5273 if obj.can_update(request.user):
5274 return super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
5275 else:
5276 raise Exception("failed obj.can_update")
5277
5278 ret = super(ControllerDashboardViewList, self).create(request, *args, **kwargs)
5279 if (ret.status_code%100 != 200):
5280 raise Exception(ret.data)
5281
5282 return ret
5283
5284
5285class ControllerDashboardViewDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5286 queryset = ControllerDashboardView.objects.select_related().all()
5287 serializer_class = ControllerDashboardViewSerializer
5288 id_serializer_class = ControllerDashboardViewIdSerializer
5289
5290 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005291 no_hyperlinks=False
5292 if hasattr(self.request,"QUERY_PARAMS"):
5293 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakera6a0c772014-12-22 17:35:34 -08005294 if (no_hyperlinks):
5295 return self.id_serializer_class
5296 else:
5297 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005298
Scott Bakera6a0c772014-12-22 17:35:34 -08005299 def get_queryset(self):
5300 return ControllerDashboardView.select_by_user(self.request.user)
5301
5302 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5303
5304 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5305
5306
5307
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005308class AccountList(generics.ListCreateAPIView):
5309 queryset = Account.objects.select_related().all()
5310 serializer_class = AccountSerializer
5311 id_serializer_class = AccountIdSerializer
5312 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005313 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005314
5315 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005316 no_hyperlinks=False
5317 if hasattr(self.request,"QUERY_PARAMS"):
5318 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005319 if (no_hyperlinks):
5320 return self.id_serializer_class
5321 else:
5322 return self.serializer_class
5323
5324 def get_queryset(self):
5325 return Account.select_by_user(self.request.user)
5326
5327 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005328 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5329 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005330 response = {"error": "validation",
5331 "specific_error": "not serializer.is_valid()",
5332 "reasons": serializer.errors}
5333 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005334 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005335 obj.caller = request.user
5336 if obj.can_update(request.user):
5337 return super(AccountList, self).create(request, *args, **kwargs)
5338 else:
Scott Baker08898c12014-10-29 23:41:11 -07005339 raise Exception("failed obj.can_update")
5340
5341 ret = super(AccountList, self).create(request, *args, **kwargs)
5342 if (ret.status_code%100 != 200):
5343 raise Exception(ret.data)
5344
5345 return ret
5346
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005347
5348class AccountDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5349 queryset = Account.objects.select_related().all()
5350 serializer_class = AccountSerializer
5351 id_serializer_class = AccountIdSerializer
5352
5353 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005354 no_hyperlinks=False
5355 if hasattr(self.request,"QUERY_PARAMS"):
5356 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005357 if (no_hyperlinks):
5358 return self.id_serializer_class
5359 else:
5360 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005361
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005362 def get_queryset(self):
5363 return Account.select_by_user(self.request.user)
5364
5365 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5366
5367 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5368
5369
5370
Scott Bakerc1d11912014-12-22 09:29:05 -08005371class ControllerRoleList(generics.ListCreateAPIView):
5372 queryset = ControllerRole.objects.select_related().all()
5373 serializer_class = ControllerRoleSerializer
5374 id_serializer_class = ControllerRoleIdSerializer
5375 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005376 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerc1d11912014-12-22 09:29:05 -08005377
5378 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005379 no_hyperlinks=False
5380 if hasattr(self.request,"QUERY_PARAMS"):
5381 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08005382 if (no_hyperlinks):
5383 return self.id_serializer_class
5384 else:
5385 return self.serializer_class
5386
5387 def get_queryset(self):
5388 return ControllerRole.select_by_user(self.request.user)
5389
5390 def create(self, request, *args, **kwargs):
5391 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5392 if not (serializer.is_valid()):
5393 response = {"error": "validation",
5394 "specific_error": "not serializer.is_valid()",
5395 "reasons": serializer.errors}
5396 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5397 obj = serializer.object
5398 obj.caller = request.user
5399 if obj.can_update(request.user):
5400 return super(ControllerRoleList, self).create(request, *args, **kwargs)
5401 else:
5402 raise Exception("failed obj.can_update")
5403
5404 ret = super(ControllerRoleList, self).create(request, *args, **kwargs)
5405 if (ret.status_code%100 != 200):
5406 raise Exception(ret.data)
5407
5408 return ret
5409
5410
5411class ControllerRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5412 queryset = ControllerRole.objects.select_related().all()
5413 serializer_class = ControllerRoleSerializer
5414 id_serializer_class = ControllerRoleIdSerializer
5415
5416 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005417 no_hyperlinks=False
5418 if hasattr(self.request,"QUERY_PARAMS"):
5419 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08005420 if (no_hyperlinks):
5421 return self.id_serializer_class
5422 else:
5423 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005424
Scott Bakerc1d11912014-12-22 09:29:05 -08005425 def get_queryset(self):
5426 return ControllerRole.select_by_user(self.request.user)
5427
5428 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5429
5430 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5431
5432
5433
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005434class NetworkParameterTypeList(generics.ListCreateAPIView):
5435 queryset = NetworkParameterType.objects.select_related().all()
5436 serializer_class = NetworkParameterTypeSerializer
5437 id_serializer_class = NetworkParameterTypeIdSerializer
5438 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005439 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005440
5441 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005442 no_hyperlinks=False
5443 if hasattr(self.request,"QUERY_PARAMS"):
5444 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005445 if (no_hyperlinks):
5446 return self.id_serializer_class
5447 else:
5448 return self.serializer_class
5449
5450 def get_queryset(self):
5451 return NetworkParameterType.select_by_user(self.request.user)
5452
5453 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005454 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5455 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005456 response = {"error": "validation",
5457 "specific_error": "not serializer.is_valid()",
5458 "reasons": serializer.errors}
5459 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005460 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005461 obj.caller = request.user
5462 if obj.can_update(request.user):
5463 return super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5464 else:
Scott Baker08898c12014-10-29 23:41:11 -07005465 raise Exception("failed obj.can_update")
5466
5467 ret = super(NetworkParameterTypeList, self).create(request, *args, **kwargs)
5468 if (ret.status_code%100 != 200):
5469 raise Exception(ret.data)
5470
5471 return ret
5472
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005473
5474class NetworkParameterTypeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5475 queryset = NetworkParameterType.objects.select_related().all()
5476 serializer_class = NetworkParameterTypeSerializer
5477 id_serializer_class = NetworkParameterTypeIdSerializer
5478
5479 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005480 no_hyperlinks=False
5481 if hasattr(self.request,"QUERY_PARAMS"):
5482 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005483 if (no_hyperlinks):
5484 return self.id_serializer_class
5485 else:
5486 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005487
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005488 def get_queryset(self):
5489 return NetworkParameterType.select_by_user(self.request.user)
5490
5491 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5492
5493 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5494
5495
5496
5497class SiteCredentialList(generics.ListCreateAPIView):
5498 queryset = SiteCredential.objects.select_related().all()
5499 serializer_class = SiteCredentialSerializer
5500 id_serializer_class = SiteCredentialIdSerializer
5501 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005502 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','name','key_id','enc_value',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005503
5504 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005505 no_hyperlinks=False
5506 if hasattr(self.request,"QUERY_PARAMS"):
5507 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005508 if (no_hyperlinks):
5509 return self.id_serializer_class
5510 else:
5511 return self.serializer_class
5512
5513 def get_queryset(self):
5514 return SiteCredential.select_by_user(self.request.user)
5515
5516 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005517 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5518 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005519 response = {"error": "validation",
5520 "specific_error": "not serializer.is_valid()",
5521 "reasons": serializer.errors}
5522 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005523 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005524 obj.caller = request.user
5525 if obj.can_update(request.user):
5526 return super(SiteCredentialList, self).create(request, *args, **kwargs)
5527 else:
Scott Baker08898c12014-10-29 23:41:11 -07005528 raise Exception("failed obj.can_update")
5529
5530 ret = super(SiteCredentialList, self).create(request, *args, **kwargs)
5531 if (ret.status_code%100 != 200):
5532 raise Exception(ret.data)
5533
5534 return ret
5535
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005536
5537class SiteCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5538 queryset = SiteCredential.objects.select_related().all()
5539 serializer_class = SiteCredentialSerializer
5540 id_serializer_class = SiteCredentialIdSerializer
5541
5542 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005543 no_hyperlinks=False
5544 if hasattr(self.request,"QUERY_PARAMS"):
5545 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005546 if (no_hyperlinks):
5547 return self.id_serializer_class
5548 else:
5549 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005550
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005551 def get_queryset(self):
5552 return SiteCredential.select_by_user(self.request.user)
5553
5554 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5555
5556 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5557
5558
5559
Scott Bakerc1d11912014-12-22 09:29:05 -08005560class DeploymentPrivilegeList(generics.ListCreateAPIView):
5561 queryset = DeploymentPrivilege.objects.select_related().all()
5562 serializer_class = DeploymentPrivilegeSerializer
5563 id_serializer_class = DeploymentPrivilegeIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005564 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005565 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','deployment','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005566
5567 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005568 no_hyperlinks=False
5569 if hasattr(self.request,"QUERY_PARAMS"):
5570 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005571 if (no_hyperlinks):
5572 return self.id_serializer_class
5573 else:
5574 return self.serializer_class
5575
5576 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08005577 return DeploymentPrivilege.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005578
5579 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005580 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5581 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005582 response = {"error": "validation",
5583 "specific_error": "not serializer.is_valid()",
5584 "reasons": serializer.errors}
5585 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005586 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005587 obj.caller = request.user
5588 if obj.can_update(request.user):
Scott Bakerc1d11912014-12-22 09:29:05 -08005589 return super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005590 else:
Scott Baker08898c12014-10-29 23:41:11 -07005591 raise Exception("failed obj.can_update")
5592
Scott Bakerc1d11912014-12-22 09:29:05 -08005593 ret = super(DeploymentPrivilegeList, self).create(request, *args, **kwargs)
Scott Baker08898c12014-10-29 23:41:11 -07005594 if (ret.status_code%100 != 200):
5595 raise Exception(ret.data)
5596
5597 return ret
5598
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005599
Scott Bakerc1d11912014-12-22 09:29:05 -08005600class DeploymentPrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5601 queryset = DeploymentPrivilege.objects.select_related().all()
5602 serializer_class = DeploymentPrivilegeSerializer
5603 id_serializer_class = DeploymentPrivilegeIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005604
5605 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005606 no_hyperlinks=False
5607 if hasattr(self.request,"QUERY_PARAMS"):
5608 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005609 if (no_hyperlinks):
5610 return self.id_serializer_class
5611 else:
5612 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005613
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005614 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08005615 return DeploymentPrivilege.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005616
5617 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5618
5619 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5620
5621
5622
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005623class ControllerSlicePrivilegeList(generics.ListCreateAPIView):
5624 queryset = ControllerSlicePrivilege.objects.select_related().all()
5625 serializer_class = ControllerSlicePrivilegeSerializer
5626 id_serializer_class = ControllerSlicePrivilegeIdSerializer
Scott Bakerc1d11912014-12-22 09:29:05 -08005627 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005628 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','controller','slice_privilege','role_id',)
Scott Bakerc1d11912014-12-22 09:29:05 -08005629
5630 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005631 no_hyperlinks=False
5632 if hasattr(self.request,"QUERY_PARAMS"):
5633 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08005634 if (no_hyperlinks):
5635 return self.id_serializer_class
5636 else:
5637 return self.serializer_class
5638
5639 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005640 return ControllerSlicePrivilege.select_by_user(self.request.user)
Scott Bakerc1d11912014-12-22 09:29:05 -08005641
5642 def create(self, request, *args, **kwargs):
5643 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5644 if not (serializer.is_valid()):
5645 response = {"error": "validation",
5646 "specific_error": "not serializer.is_valid()",
5647 "reasons": serializer.errors}
5648 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5649 obj = serializer.object
5650 obj.caller = request.user
5651 if obj.can_update(request.user):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005652 return super(ControllerSlicePrivilegeList, self).create(request, *args, **kwargs)
Scott Bakerc1d11912014-12-22 09:29:05 -08005653 else:
5654 raise Exception("failed obj.can_update")
5655
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005656 ret = super(ControllerSlicePrivilegeList, self).create(request, *args, **kwargs)
Scott Bakerc1d11912014-12-22 09:29:05 -08005657 if (ret.status_code%100 != 200):
5658 raise Exception(ret.data)
5659
5660 return ret
5661
5662
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005663class ControllerSlicePrivilegeDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5664 queryset = ControllerSlicePrivilege.objects.select_related().all()
5665 serializer_class = ControllerSlicePrivilegeSerializer
5666 id_serializer_class = ControllerSlicePrivilegeIdSerializer
Scott Bakerc1d11912014-12-22 09:29:05 -08005667
5668 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005669 no_hyperlinks=False
5670 if hasattr(self.request,"QUERY_PARAMS"):
5671 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerc1d11912014-12-22 09:29:05 -08005672 if (no_hyperlinks):
5673 return self.id_serializer_class
5674 else:
5675 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005676
Scott Bakerc1d11912014-12-22 09:29:05 -08005677 def get_queryset(self):
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005678 return ControllerSlicePrivilege.select_by_user(self.request.user)
5679
5680 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5681
5682 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5683
5684
5685
5686class SiteDeploymentList(generics.ListCreateAPIView):
5687 queryset = SiteDeployment.objects.select_related().all()
5688 serializer_class = SiteDeploymentSerializer
5689 id_serializer_class = SiteDeploymentIdSerializer
5690 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005691 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','site','deployment','controller','availability_zone',)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005692
5693 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005694 no_hyperlinks=False
5695 if hasattr(self.request,"QUERY_PARAMS"):
5696 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005697 if (no_hyperlinks):
5698 return self.id_serializer_class
5699 else:
5700 return self.serializer_class
5701
5702 def get_queryset(self):
5703 return SiteDeployment.select_by_user(self.request.user)
5704
5705 def create(self, request, *args, **kwargs):
5706 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5707 if not (serializer.is_valid()):
5708 response = {"error": "validation",
5709 "specific_error": "not serializer.is_valid()",
5710 "reasons": serializer.errors}
5711 return Response(response, status=status.HTTP_400_BAD_REQUEST)
5712 obj = serializer.object
5713 obj.caller = request.user
5714 if obj.can_update(request.user):
5715 return super(SiteDeploymentList, self).create(request, *args, **kwargs)
5716 else:
5717 raise Exception("failed obj.can_update")
5718
5719 ret = super(SiteDeploymentList, self).create(request, *args, **kwargs)
5720 if (ret.status_code%100 != 200):
5721 raise Exception(ret.data)
5722
5723 return ret
5724
5725
5726class SiteDeploymentDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5727 queryset = SiteDeployment.objects.select_related().all()
5728 serializer_class = SiteDeploymentSerializer
5729 id_serializer_class = SiteDeploymentIdSerializer
5730
5731 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005732 no_hyperlinks=False
5733 if hasattr(self.request,"QUERY_PARAMS"):
5734 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005735 if (no_hyperlinks):
5736 return self.id_serializer_class
5737 else:
5738 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005739
Scott Bakeree9c5bf2015-01-12 13:16:39 -08005740 def get_queryset(self):
5741 return SiteDeployment.select_by_user(self.request.user)
Scott Bakerc1d11912014-12-22 09:29:05 -08005742
5743 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5744
5745 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5746
5747
5748
5749class DeploymentRoleList(generics.ListCreateAPIView):
5750 queryset = DeploymentRole.objects.select_related().all()
5751 serializer_class = DeploymentRoleSerializer
5752 id_serializer_class = DeploymentRoleIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005753 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005754 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','role',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005755
5756 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005757 no_hyperlinks=False
5758 if hasattr(self.request,"QUERY_PARAMS"):
5759 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005760 if (no_hyperlinks):
5761 return self.id_serializer_class
5762 else:
5763 return self.serializer_class
5764
5765 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08005766 return DeploymentRole.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005767
5768 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005769 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5770 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005771 response = {"error": "validation",
5772 "specific_error": "not serializer.is_valid()",
5773 "reasons": serializer.errors}
5774 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005775 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005776 obj.caller = request.user
5777 if obj.can_update(request.user):
Scott Bakerc1d11912014-12-22 09:29:05 -08005778 return super(DeploymentRoleList, self).create(request, *args, **kwargs)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005779 else:
Scott Baker08898c12014-10-29 23:41:11 -07005780 raise Exception("failed obj.can_update")
5781
Scott Bakerc1d11912014-12-22 09:29:05 -08005782 ret = super(DeploymentRoleList, self).create(request, *args, **kwargs)
Scott Baker08898c12014-10-29 23:41:11 -07005783 if (ret.status_code%100 != 200):
5784 raise Exception(ret.data)
5785
5786 return ret
5787
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005788
Scott Bakerc1d11912014-12-22 09:29:05 -08005789class DeploymentRoleDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5790 queryset = DeploymentRole.objects.select_related().all()
5791 serializer_class = DeploymentRoleSerializer
5792 id_serializer_class = DeploymentRoleIdSerializer
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005793
5794 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005795 no_hyperlinks=False
5796 if hasattr(self.request,"QUERY_PARAMS"):
5797 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005798 if (no_hyperlinks):
5799 return self.id_serializer_class
5800 else:
5801 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005802
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005803 def get_queryset(self):
Scott Bakerc1d11912014-12-22 09:29:05 -08005804 return DeploymentRole.select_by_user(self.request.user)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005805
5806 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5807
5808 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5809
5810
5811
5812class UserCredentialList(generics.ListCreateAPIView):
5813 queryset = UserCredential.objects.select_related().all()
5814 serializer_class = UserCredentialSerializer
5815 id_serializer_class = UserCredentialIdSerializer
5816 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005817 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','user','name','key_id','enc_value',)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005818
5819 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005820 no_hyperlinks=False
5821 if hasattr(self.request,"QUERY_PARAMS"):
5822 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005823 if (no_hyperlinks):
5824 return self.id_serializer_class
5825 else:
5826 return self.serializer_class
5827
5828 def get_queryset(self):
5829 return UserCredential.select_by_user(self.request.user)
5830
5831 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005832 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5833 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005834 response = {"error": "validation",
5835 "specific_error": "not serializer.is_valid()",
5836 "reasons": serializer.errors}
5837 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005838 obj = serializer.object
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005839 obj.caller = request.user
5840 if obj.can_update(request.user):
5841 return super(UserCredentialList, self).create(request, *args, **kwargs)
5842 else:
Scott Baker08898c12014-10-29 23:41:11 -07005843 raise Exception("failed obj.can_update")
5844
5845 ret = super(UserCredentialList, self).create(request, *args, **kwargs)
5846 if (ret.status_code%100 != 200):
5847 raise Exception(ret.data)
5848
5849 return ret
5850
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005851
5852class UserCredentialDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5853 queryset = UserCredential.objects.select_related().all()
5854 serializer_class = UserCredentialSerializer
5855 id_serializer_class = UserCredentialIdSerializer
5856
5857 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005858 no_hyperlinks=False
5859 if hasattr(self.request,"QUERY_PARAMS"):
5860 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005861 if (no_hyperlinks):
5862 return self.id_serializer_class
5863 else:
5864 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005865
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005866 def get_queryset(self):
5867 return UserCredential.select_by_user(self.request.user)
5868
5869 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5870
5871 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
5872
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005873
Scott Bakerf3816ac2014-11-12 01:13:53 -08005874
Scott Baker0caeaf02014-06-19 11:12:55 -07005875class SliceTagList(generics.ListCreateAPIView):
5876 queryset = SliceTag.objects.select_related().all()
5877 serializer_class = SliceTagSerializer
Scott Baker46b58542014-08-11 17:26:12 -07005878 id_serializer_class = SliceTagIdSerializer
5879 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005880 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','slice','name','value',)
Scott Baker46b58542014-08-11 17:26:12 -07005881
5882 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005883 no_hyperlinks=False
5884 if hasattr(self.request,"QUERY_PARAMS"):
5885 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07005886 if (no_hyperlinks):
5887 return self.id_serializer_class
5888 else:
5889 return self.serializer_class
5890
Scott Baker0caeaf02014-06-19 11:12:55 -07005891 def get_queryset(self):
5892 return SliceTag.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04005893
Scott Baker0caeaf02014-06-19 11:12:55 -07005894 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005895 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5896 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005897 response = {"error": "validation",
5898 "specific_error": "not serializer.is_valid()",
5899 "reasons": serializer.errors}
5900 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005901 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07005902 obj.caller = request.user
5903 if obj.can_update(request.user):
5904 return super(SliceTagList, self).create(request, *args, **kwargs)
5905 else:
Scott Baker08898c12014-10-29 23:41:11 -07005906 raise Exception("failed obj.can_update")
5907
5908 ret = super(SliceTagList, self).create(request, *args, **kwargs)
5909 if (ret.status_code%100 != 200):
5910 raise Exception(ret.data)
5911
5912 return ret
5913
Scott Baker0caeaf02014-06-19 11:12:55 -07005914
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005915class SliceTagDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07005916 queryset = SliceTag.objects.select_related().all()
5917 serializer_class = SliceTagSerializer
Scott Baker46b58542014-08-11 17:26:12 -07005918 id_serializer_class = SliceTagIdSerializer
5919
5920 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005921 no_hyperlinks=False
5922 if hasattr(self.request,"QUERY_PARAMS"):
5923 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07005924 if (no_hyperlinks):
5925 return self.id_serializer_class
5926 else:
5927 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005928
Scott Baker0caeaf02014-06-19 11:12:55 -07005929 def get_queryset(self):
5930 return SliceTag.select_by_user(self.request.user)
5931
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005932 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07005933
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005934 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04005935
5936
5937
Scott Bakera6a0c772014-12-22 17:35:34 -08005938class NetworkTemplateList(generics.ListCreateAPIView):
5939 queryset = NetworkTemplate.objects.select_related().all()
5940 serializer_class = NetworkTemplateSerializer
5941 id_serializer_class = NetworkTemplateIdSerializer
Scott Baker46b58542014-08-11 17:26:12 -07005942 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08005943 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','description','guaranteed_bandwidth','visibility','translation','shared_network_name','shared_network_id','topology_kind','controller_kind',)
Scott Baker46b58542014-08-11 17:26:12 -07005944
5945 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005946 no_hyperlinks=False
5947 if hasattr(self.request,"QUERY_PARAMS"):
5948 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07005949 if (no_hyperlinks):
5950 return self.id_serializer_class
5951 else:
5952 return self.serializer_class
5953
Scott Baker0caeaf02014-06-19 11:12:55 -07005954 def get_queryset(self):
Scott Bakera6a0c772014-12-22 17:35:34 -08005955 return NetworkTemplate.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04005956
Scott Baker0caeaf02014-06-19 11:12:55 -07005957 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08005958 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
5959 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08005960 response = {"error": "validation",
5961 "specific_error": "not serializer.is_valid()",
5962 "reasons": serializer.errors}
5963 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08005964 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07005965 obj.caller = request.user
5966 if obj.can_update(request.user):
Scott Bakera6a0c772014-12-22 17:35:34 -08005967 return super(NetworkTemplateList, self).create(request, *args, **kwargs)
Scott Baker0caeaf02014-06-19 11:12:55 -07005968 else:
Scott Baker08898c12014-10-29 23:41:11 -07005969 raise Exception("failed obj.can_update")
5970
Scott Bakera6a0c772014-12-22 17:35:34 -08005971 ret = super(NetworkTemplateList, self).create(request, *args, **kwargs)
Scott Baker08898c12014-10-29 23:41:11 -07005972 if (ret.status_code%100 != 200):
5973 raise Exception(ret.data)
5974
5975 return ret
5976
Scott Baker0caeaf02014-06-19 11:12:55 -07005977
Scott Bakera6a0c772014-12-22 17:35:34 -08005978class NetworkTemplateDetail(PlanetStackRetrieveUpdateDestroyAPIView):
5979 queryset = NetworkTemplate.objects.select_related().all()
5980 serializer_class = NetworkTemplateSerializer
5981 id_serializer_class = NetworkTemplateIdSerializer
Scott Baker46b58542014-08-11 17:26:12 -07005982
5983 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08005984 no_hyperlinks=False
5985 if hasattr(self.request,"QUERY_PARAMS"):
5986 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07005987 if (no_hyperlinks):
5988 return self.id_serializer_class
5989 else:
5990 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08005991
Scott Baker0caeaf02014-06-19 11:12:55 -07005992 def get_queryset(self):
Scott Bakera6a0c772014-12-22 17:35:34 -08005993 return NetworkTemplate.select_by_user(self.request.user)
Scott Baker0caeaf02014-06-19 11:12:55 -07005994
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005995 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07005996
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07005997 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04005998
5999
6000
6001class RouterList(generics.ListCreateAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07006002 queryset = Router.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04006003 serializer_class = RouterSerializer
Scott Baker46b58542014-08-11 17:26:12 -07006004 id_serializer_class = RouterIdSerializer
6005 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08006006 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','name','owner','networks','networks',)
Scott Baker46b58542014-08-11 17:26:12 -07006007
6008 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08006009 no_hyperlinks=False
6010 if hasattr(self.request,"QUERY_PARAMS"):
6011 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07006012 if (no_hyperlinks):
6013 return self.id_serializer_class
6014 else:
6015 return self.serializer_class
6016
Scott Baker0caeaf02014-06-19 11:12:55 -07006017 def get_queryset(self):
6018 return Router.select_by_user(self.request.user)
6019
6020 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08006021 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
6022 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08006023 response = {"error": "validation",
6024 "specific_error": "not serializer.is_valid()",
6025 "reasons": serializer.errors}
6026 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08006027 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07006028 obj.caller = request.user
6029 if obj.can_update(request.user):
6030 return super(RouterList, self).create(request, *args, **kwargs)
6031 else:
Scott Baker08898c12014-10-29 23:41:11 -07006032 raise Exception("failed obj.can_update")
6033
6034 ret = super(RouterList, self).create(request, *args, **kwargs)
6035 if (ret.status_code%100 != 200):
6036 raise Exception(ret.data)
6037
6038 return ret
6039
Sapan Bhatiadea39432014-06-13 03:10:36 -04006040
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006041class RouterDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07006042 queryset = Router.objects.select_related().all()
Sapan Bhatiadea39432014-06-13 03:10:36 -04006043 serializer_class = RouterSerializer
Scott Baker46b58542014-08-11 17:26:12 -07006044 id_serializer_class = RouterIdSerializer
6045
6046 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08006047 no_hyperlinks=False
6048 if hasattr(self.request,"QUERY_PARAMS"):
6049 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07006050 if (no_hyperlinks):
6051 return self.id_serializer_class
6052 else:
6053 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08006054
Scott Baker0caeaf02014-06-19 11:12:55 -07006055 def get_queryset(self):
6056 return Router.select_by_user(self.request.user)
6057
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006058 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07006059
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006060 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04006061
6062
6063
Scott Baker0caeaf02014-06-19 11:12:55 -07006064class ServiceResourceList(generics.ListCreateAPIView):
6065 queryset = ServiceResource.objects.select_related().all()
6066 serializer_class = ServiceResourceSerializer
Scott Baker46b58542014-08-11 17:26:12 -07006067 id_serializer_class = ServiceResourceIdSerializer
6068 filter_backends = (filters.DjangoFilterBackend,)
Scott Baker5e140a32015-01-30 15:41:39 -08006069 filter_fields = ('id','created','updated','enacted','policed','backend_register','backend_status','deleted','serviceClass','name','maxUnitsDeployment','maxUnitsNode','maxDuration','bucketInRate','bucketMaxSize','cost','calendarReservable',)
Scott Baker46b58542014-08-11 17:26:12 -07006070
6071 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08006072 no_hyperlinks=False
6073 if hasattr(self.request,"QUERY_PARAMS"):
6074 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07006075 if (no_hyperlinks):
6076 return self.id_serializer_class
6077 else:
6078 return self.serializer_class
6079
Scott Baker0caeaf02014-06-19 11:12:55 -07006080 def get_queryset(self):
6081 return ServiceResource.select_by_user(self.request.user)
Sapan Bhatiadea39432014-06-13 03:10:36 -04006082
Scott Baker0caeaf02014-06-19 11:12:55 -07006083 def create(self, request, *args, **kwargs):
Scott Bakerf3816ac2014-11-12 01:13:53 -08006084 serializer = self.get_serializer(data=request.DATA, files=request.FILES)
6085 if not (serializer.is_valid()):
Scott Baker351148c2014-11-25 00:53:25 -08006086 response = {"error": "validation",
6087 "specific_error": "not serializer.is_valid()",
6088 "reasons": serializer.errors}
6089 return Response(response, status=status.HTTP_400_BAD_REQUEST)
Scott Bakerf3816ac2014-11-12 01:13:53 -08006090 obj = serializer.object
Scott Baker0caeaf02014-06-19 11:12:55 -07006091 obj.caller = request.user
6092 if obj.can_update(request.user):
6093 return super(ServiceResourceList, self).create(request, *args, **kwargs)
6094 else:
Scott Baker08898c12014-10-29 23:41:11 -07006095 raise Exception("failed obj.can_update")
6096
6097 ret = super(ServiceResourceList, self).create(request, *args, **kwargs)
6098 if (ret.status_code%100 != 200):
6099 raise Exception(ret.data)
6100
6101 return ret
6102
Scott Baker0caeaf02014-06-19 11:12:55 -07006103
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006104class ServiceResourceDetail(PlanetStackRetrieveUpdateDestroyAPIView):
Scott Baker0caeaf02014-06-19 11:12:55 -07006105 queryset = ServiceResource.objects.select_related().all()
6106 serializer_class = ServiceResourceSerializer
Scott Baker46b58542014-08-11 17:26:12 -07006107 id_serializer_class = ServiceResourceIdSerializer
6108
6109 def get_serializer_class(self):
Scott Baker5e140a32015-01-30 15:41:39 -08006110 no_hyperlinks=False
6111 if hasattr(self.request,"QUERY_PARAMS"):
6112 no_hyperlinks = self.request.QUERY_PARAMS.get('no_hyperlinks', False)
Scott Baker46b58542014-08-11 17:26:12 -07006113 if (no_hyperlinks):
6114 return self.id_serializer_class
6115 else:
6116 return self.serializer_class
Scott Baker5e140a32015-01-30 15:41:39 -08006117
Scott Baker0caeaf02014-06-19 11:12:55 -07006118 def get_queryset(self):
6119 return ServiceResource.select_by_user(self.request.user)
6120
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006121 # update() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Scott Baker0caeaf02014-06-19 11:12:55 -07006122
Scott Bakerdcb9b5d2014-10-07 00:10:17 -07006123 # destroy() is handled by PlanetStackRetrieveUpdateDestroyAPIView
Sapan Bhatiadea39432014-06-13 03:10:36 -04006124
Sapan Bhatiadea39432014-06-13 03:10:36 -04006125
6126