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'] }
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'], }
class Meta: queryset = Probe.objects.all() resource_name = 'probe' excludes = ['id'] allowed_methods = ['get'] serializer = PrettyJSONSerializer() authorization = Authorization() authentication = ApiKeyAuthentication()
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}
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']}
class Meta: queryset = Dc.objects.all() resource_name = 'dc' serializer = PrettyJSONSerializer() authorization = Authorization() authentication = ApiKeyAuthentication() validation = ModelCleanedDataFormValidation(form_class=DcModelForm) filtering = { 'symbol': ['exact'], }
class Meta: queryset = VarnishServer.objects.all() resource_name = 'VarnishServer' allowed_methods = ['get'] excludes = ['id'] serializer = PrettyJSONSerializer() authorization = Authorization() authentication = ApiKeyAuthentication() filtering = { 'ip': ['exact'], }
class Meta: queryset = Dc.objects.all() resource_name = 'dc' allowed_methods = ['get', 'put', 'post'] excludes = ['id'] serializer = PrettyJSONSerializer() authorization = Authorization() authentication = ApiKeyAuthentication() filtering = { 'symbol': ['exact'], }
class Meta: queryset = Director.objects.all() resource_name = 'director' excludes = ['id'] allowed_methods = ['get'] serializer = PrettyJSONSerializer() authorization = Authorization() authentication = ApiKeyAuthentication() filtering = { 'name': ['exact'], }
class Meta: queryset = Route.objects.all() resource_name = 'route' serializer = PrettyJSONSerializer() authorization = DjangoAuthorization() authentication = ApiKeyAuthentication() always_return_data = True filtering = { 'director': ALL_WITH_RELATIONS, 'cluster': ALL_WITH_RELATIONS }
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'], }
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'], }
class Meta: queryset = LogicalCluster.objects.all() resource_name = 'logical_cluster' serializer = PrettyJSONSerializer() authorization = Authorization() validation = ModelCleanedDataFormValidation( form_class=LogicalCLusterModelForm) authentication = ApiKeyAuthentication() filtering = { 'name': ['exact'], }
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'] }
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'], }
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'] }
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 }
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'] }
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'] }
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'] }
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'] }
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 }