Esempio n. 1
0
 def post(self, request, *args, **kwargs):
     """
     Add service to cluster
     """
     serializer = self.serializer_class(data=request.data,
                                        context={'request': request})
     return create(serializer)
Esempio n. 2
0
 def post(self, request, provider_id, upgrade_id):
     """
     Do upgrade specified host provider
     """
     provider = check_obj(HostProvider, provider_id, 'PROVIDER_NOT_FOUND')
     serializer = self.serializer_class(data=request.data, context={'request': request})
     return create(serializer, upgrade_id=int(upgrade_id), obj=provider)
Esempio n. 3
0
 def post(self, request, provider_id):
     provider = check_obj(HostProvider, provider_id, 'PROVIDER_NOT_FOUND')
     serializer_class = self.select_serializer(request)
     serializer = serializer_class(
         data=request.data, context={'request': request, 'provider': provider}
     )
     return create(serializer, provider=provider)
Esempio n. 4
0
 def post(self, request, cluster_id, upgrade_id):
     """
     Do upgrade specified cluster
     """
     cluster = check_obj(Cluster, cluster_id, 'CLUSTER_NOT_FOUND')
     serializer = self.serializer_class(data=request.data,
                                        context={'request': request})
     return create(serializer, upgrade_id=int(upgrade_id), obj=cluster)
Esempio n. 5
0
 def post(self, request):
     """
     Create and run new task
     Return handler to new task
     """
     serializer = self.post_serializer(data=request.data,
                                       context={'request': request})
     return create(serializer)
Esempio n. 6
0
 def post(self, request, *args, **kwargs):
     object_type, object_id, _ = get_object_type_id_version(**kwargs)
     self.object_type = object_type
     obj, _, cl = get_obj(object_type, object_id)
     self.check_config_perm('change', object_type, obj)
     serializer = self.update_serializer(
         cl, data=request.data, context={'request': request, 'object': obj}
     )
     return create(serializer, ui=bool(self.for_ui(request)), obj=obj)
Esempio n. 7
0
 def post(self, request, cluster_id, upgrade_id):
     """
     Do upgrade specified cluster
     """
     cluster = check_obj(Cluster, cluster_id)
     self.check_upgrade_perm('do_upgrade_of', 'cluster', cluster)
     serializer = self.serializer_class(data=request.data,
                                        context={'request': request})
     return create(serializer, upgrade_id=int(upgrade_id), obj=cluster)
Esempio n. 8
0
 def post(self, request, **kwargs):
     """
     Bind two services
     """
     service = check_service(kwargs)
     self.check_import_perm('change_import_of', 'clusterobject', service)
     cluster = service.cluster
     serializer = self.get_serializer_class()(data=request.data, context={'request': request})
     return create(serializer, cluster=cluster, service=service)
Esempio n. 9
0
 def post(self, request, cluster_id):
     """
     Bind two clusters
     """
     cluster = check_obj(Cluster, cluster_id, 'CLUSTER_NOT_FOUND')
     serializer = self.get_serializer_class()(data=request.data,
                                              context={
                                                  'request': request
                                              })
     return create(serializer, cluster=cluster)
Esempio n. 10
0
 def post(self, request, *args, **kwargs):
     """
     Ran specified action
     """
     obj, action_id = get_obj(**kwargs)
     action = check_obj(Action, {'id': action_id}, 'ACTION_NOT_FOUND')
     self.check_action_perm(action, obj)
     serializer = self.serializer_class(data=request.data,
                                        context={'request': request})
     return create(serializer, action=action, task_object=obj)
Esempio n. 11
0
 def post(self, request, cluster_id):
     """
     Add service to specified cluster
     """
     cluster = check_obj(Cluster, cluster_id, 'CLUSTER_NOT_FOUND')
     serializer = self.serializer_class(data=request.data,
                                        context={
                                            'request': request,
                                            'cluster': cluster,
                                        })
     return create(serializer, id=cluster_id)
Esempio n. 12
0
 def post(self, request, cluster_id):
     """
     Bind two clusters
     """
     cluster = check_obj(Cluster, cluster_id)
     self.check_import_perm('change_import_of', 'cluster', cluster)
     serializer = self.get_serializer_class()(data=request.data,
                                              context={
                                                  'request': request
                                              })
     return create(serializer, cluster=cluster)
Esempio n. 13
0
 def post(self, request, *args, **kwargs):
     """
     Ran specified action
     """
     obj, action_id = get_obj(**kwargs)
     selector = get_selector(obj)
     action = check_obj(
         Action, {'prototype': obj.prototype, 'id': action_id}, 'ACTION_NOT_FOUND'
     )
     serializer = self.serializer_class(data=request.data, context={'request': request})
     return create(serializer, action_id=action.id, selector=selector)
Esempio n. 14
0
 def post(self, request, cluster_id, service_id):
     """
     Bind two services
     """
     cluster = check_obj(Cluster, cluster_id, 'CLUSTER_NOT_FOUND')
     service = check_obj(ClusterObject, {
         'cluster': cluster,
         'id': service_id
     }, 'SERVICE_NOT_FOUND')
     serializer = self.get_serializer_class()(data=request.data,
                                              context={
                                                  'request': request
                                              })
     return create(serializer, cluster=cluster, service=service)
Esempio n. 15
0
 def post(self, request, service_id):
     """
     Bind two services
     """
     service = check_obj(ClusterObject, {'id': service_id},
                         'SERVICE_NOT_FOUND')
     try:
         cluster = service.cluster
     except models.ObjectDoesNotExist:
         raise AdcmApiEx('CLUSTER_NOT_FOUND') from None
     serializer = self.get_serializer_class()(data=request.data,
                                              context={
                                                  'request': request
                                              })
     return create(serializer, cluster=cluster, service=service)
Esempio n. 16
0
 def post(self, request, *args, **kwargs):
     """
     Add service to cluster
     """
     serializer_class = self.serializer_class
     if 'cluster_id' in kwargs:
         serializer_class = self.serializer_class_cluster
         cluster = check_obj(Cluster, kwargs['cluster_id'])
     else:
         cluster = check_obj(Cluster, request.data['cluster_id'])
     self.check_service_perm('add_service_to', 'cluster', cluster)
     serializer = serializer_class(
         data=request.data,
         context={'request': request, 'cluster_id': kwargs.get('cluster_id', None)},
     )
     return create(serializer)
Esempio n. 17
0
 def post(self, request, *args, **kwargs):
     """
     Create host
     """
     serializer = self.serializer_class(
         data=request.data,
         context={
             'request': request,
             'cluster_id': kwargs.get('cluster_id', None),
             'provider_id': kwargs.get('provider_id', None),
         },
     )
     if serializer.is_valid():
         if 'provider_id' in kwargs:  # List provider hosts
             provider = check_obj(HostProvider, kwargs['provider_id'])
         else:
             provider = serializer.validated_data.get('provider_id', )
         self.check_host_perm('add_host_to', 'hostprovider', provider)
         return create(serializer)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Esempio n. 18
0
 def post(self, request, cluster_id):
     check_obj(Cluster, cluster_id, 'CLUSTER_NOT_FOUND')
     serializer = self.post_serializer(data=request.data,
                                       context={'request': request})
     return create(serializer, cluster_id=cluster_id)