コード例 #1
0
 class Meta:
     queryset = Backend.objects\
         .select_related('director__time_profile', 'dc')\
         .prefetch_related('tags')\
         .extra(select={
             'status':
                 "SELECT status from monitor_backendstatus"
                 " WHERE monitor_backendstatus.address=manager_backend.address"
                 " AND monitor_backendstatus.port=manager_backend.port"
                 " LIMIT 1"
         })\
         .all()
     resource_name = 'backend'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication())
     validation = ModelCleanedDataFormValidation(
         form_class=BackendModelForm)
     always_return_data = True
     filtering = {
         'dc': ALL_WITH_RELATIONS,
         'director': ALL_WITH_RELATIONS,
         'address': ['exact'],
         'port': ['exact']
     }
コード例 #2
0
 class Meta:
     queryset = Director.objects\
         .select_related('time_profile', 'probe')\
         .prefetch_related(
             Prefetch('cluster', queryset=LogicalCluster.objects.annotate(Count('varnishserver')).all()),
             Prefetch('backends', queryset=Backend.objects.all().only('id', 'director_id'))
         )\
         .all()
     resource_name = 'director'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication(),
                                              SessionAuthentication())
     validation = ModelCleanedDataFormValidation(
         form_class=DirectorModelForm)
     always_return_data = True
     filtering = {
         'name': ['exact'],
         'enabled': ['exact'],
         'probe': ALL_WITH_RELATIONS,
         'cluster': ALL_WITH_RELATIONS,
         'service': ['exact'],
         'virtual': ['exact'],
         'service_tag': ['exact'],
         'reachable_via_service_mesh': ['exact'],
     }
コード例 #3
0
ファイル: api.py プロジェクト: ben-hurmorais/vaas
 class Meta:
     queryset = VclTemplateBlock.objects.all()
     resource_name = 'vcl_template_block'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(
         form_class=VclTemplateBlockModelForm)
     filtering = {'name': ['exact'], 'template': ALL_WITH_RELATIONS}
コード例 #4
0
ファイル: api.py プロジェクト: awesome-python/vaas
 class Meta:
     queryset = VarnishServer.objects.all()
     resource_name = 'varnish_server'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(
         form_class=VarnishServerModelForm)
     filtering = {'ip': ['exact'], 'cluster': ['exact']}
コード例 #5
0
ファイル: api.py プロジェクト: ben-hurmorais/vaas
 class Meta:
     queryset = Dc.objects.all()
     resource_name = 'dc'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(form_class=DcModelForm)
     filtering = {
         'symbol': ['exact'],
     }
コード例 #6
0
ファイル: api.py プロジェクト: ben-hurmorais/vaas
 class Meta:
     queryset = LogicalCluster.objects.all()
     resource_name = 'logical_cluster'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     validation = ModelCleanedDataFormValidation(
         form_class=LogicalCLusterModelForm)
     authentication = ApiKeyAuthentication()
     filtering = {
         'name': ['exact'],
     }
コード例 #7
0
 class Meta:
     queryset = Dc.objects.all()
     resource_name = 'dc'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication())
     validation = ModelCleanedDataFormValidation(form_class=DcModelForm)
     always_return_data = True
     filtering = {
         'symbol': ['exact'],
     }
コード例 #8
0
 class Meta:
     queryset = VclTemplate.objects.all()
     resource_name = 'vcl_template'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(form_class=VclTemplateModelForm)
     always_return_data = True
     filtering = {
         'name': ['exact'],
     }
コード例 #9
0
 class Meta:
     queryset = Probe.objects.all()
     resource_name = 'probe'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(form_class=ProbeModelForm)
     filtering = {
         'name': ['exact'],
         'url': ['exact'],
         'expected_response': ['exact']
     }
コード例 #10
0
ファイル: api.py プロジェクト: sshyran/vaas
 class Meta:
     queryset = VarnishServer.objects.all()
     resource_name = 'varnish_server'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication())
     validation = ModelCleanedDataFormValidation(form_class=VarnishServerModelForm)
     always_return_data = True
     filtering = {
         'ip': ['exact'],
         'cluster': ['exact']
     }
コード例 #11
0
 class Meta:
     queryset = LogicalCluster.objects.all()
     resource_name = 'logical_cluster'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     validation = ModelCleanedDataFormValidation(form_class=LogicalCLusterModelForm)
     authentication = ApiKeyAuthentication()
     always_return_data = True
     filtering = {
         'name': ['exact'],
         'reload_timestamp': ['exact'],
     }
コード例 #12
0
 class Meta:
     queryset = Director.objects.all()
     resource_name = 'director'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(
         form_class=DirectorModelForm)
     filtering = {
         'name': ['exact'],
         'enabled': ['exact'],
         'probe': ALL_WITH_RELATIONS
     }
コード例 #13
0
 class Meta:
     queryset = Probe.objects.all()
     resource_name = 'probe'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication())
     validation = ModelCleanedDataFormValidation(form_class=ProbeModelForm)
     always_return_data = True
     filtering = {
         'name': ['exact'],
         'url': ['exact'],
         'expected_response': ['exact']
     }
コード例 #14
0
 class Meta:
     queryset = Route.objects.all().prefetch_related('clusters')
     resource_name = 'route'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = VaasMultiAuthentication(ApiKeyAuthentication())
     validation = ModelCleanedDataFormValidation(form_class=RouteModelForm)
     always_return_data = True
     filtering = {
         'director': ALL_WITH_RELATIONS,
         'clusters': ALL_WITH_RELATIONS,
         'condition': ['icontains']
     }
コード例 #15
0
 class Meta:
     queryset = Backend.objects.all()
     resource_name = 'backend'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(
         form_class=BackendModelForm)
     filtering = {
         'dc': ALL_WITH_RELATIONS,
         'director': ALL_WITH_RELATIONS,
         'address': ['exact'],
         'port': ['exact']
     }
コード例 #16
0
 class Meta:
     queryset = TimeProfile.objects.all()
     resource_name = 'time_profile'
     serializer = PrettyJSONSerializer()
     authorization = Authorization()
     authentication = ApiKeyAuthentication()
     validation = ModelCleanedDataFormValidation(
         form_class=TimeProfileModelForm)
     filtering = {
         'max_connections': ['exact'],
         'connect_timeout': ['exact'],
         'first_byte_timeout': ['exact'],
         'between_bytes_timeout': ['exact']
     }
コード例 #17
0
 class Meta:
     queryset = Director.objects.all()
     resource_name = 'director'
     serializer = PrettyJSONSerializer()
     authorization = DjangoAuthorization()
     authentication = MultiAuthentication(ApiKeyAuthentication(),
                                          SessionAuthentication())
     validation = ModelCleanedDataFormValidation(
         form_class=DirectorModelForm)
     always_return_data = True
     filtering = {
         'name': ['exact'],
         'enabled': ['exact'],
         'probe': ALL_WITH_RELATIONS,
         'cluster': ALL_WITH_RELATIONS
     }