# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2
from spaceone.api.statistics.v1 import schedule_pb2 as spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2


class ScheduleStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.add = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/add',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.AddScheduleRequest.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
                )
        self.update = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/update',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.UpdateScheduleRequest.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
                )
        self.enable = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/enable',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
                )
        self.disable = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/disable',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
                )
        self.delete = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/delete',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.get = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/get',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.GetScheduleRequest.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
                )
        self.list = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/list',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleQuery.SerializeToString,
                response_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.SchedulesInfo.FromString,
                )
        self.stat = channel.unary_unary(
                '/spaceone.api.statistics.v1.Schedule/stat',
                request_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleStatQuery.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_struct__pb2.Struct.FromString,
                )


class ScheduleServicer(object):
    """Missing associated documentation comment in .proto file."""

    def add(self, request, context):
        """
        desc: Adds a new Schedule. When creating, `topic` and queries to be used should be specified. The time interval of the Schedule should be also specified to run queries repeatedly. The run set by Schedule starts every hour on the hour.
        request_example: >-
        {
        "topic": "daily_cloud_service_summary_test",
        "options": {"aggregate": [{"query": {
        "extend_data": {"label": "Server"}, "query": {
        "filter": [{"key": "ref_cloud_service_type.is_primary", "value": true, "operator": "eq"},
        {"value": "Server", "operator": "eq", "key": "ref_cloud_service_type.labels"}],
        "aggregate": [{"group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"}],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"},
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"},
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"},
        {
        "key": "provider",
        "name": "provider"}]}}]},
        "resource_type": "inventory.CloudService"}}, {"concat": {"resource_type": "inventory.CloudService", "query": {
        "aggregate": [{"group": {"keys": [{"key": "project_id", "name": "project_id"},
        {"name": "cloud_service_type", "key": "cloud_service_type"},
        {"key": "cloud_service_group", "name": "cloud_service_group"},
        {"key": "provider", "name": "provider"}],
        "fields": [{"name": "value", "operator": "count"}]}}],
        "filter": [{"value": true, "operator": "eq", "key": "ref_cloud_service_type.is_primary"},
        {"value": "Database", "operator": "eq", "key": "ref_cloud_service_type.labels"}]},
        "extend_data": {"label": "Database"}}}, {"concat": {
        "resource_type": "inventory.CloudService", "extend_data": {"label": "Container"}, "query": {
        "filter": [{"value": true, "key": "ref_cloud_service_type.is_primary", "operator": "eq"},
        {"key": "ref_cloud_service_type.labels", "value": "Container", "operator": "eq"}],
        "aggregate": [{
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"}],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"},
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"},
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"},
        {
        "key": "provider",
        "name": "provider"}]}}]}}},
        {"concat": {
        "extend_data": {"label": "Networking"},
        "query": {"aggregate": [{"group": {
        "keys": [{"name": "project_id",
        "key": "project_id"}, {
        "key": "cloud_service_type",
        "name": "cloud_service_type"},
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"},
        {"key": "provider",
        "name": "provider"}],
        "fields": [{"name": "value",
        "operator": "count"}]}}],
        "filter": [{
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true},
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Networking",
        "operator": "eq"}]},
        "resource_type": "inventory.CloudService"}},
        {"concat": {
        "resource_type": "inventory.CloudService",
        "query": {"filter": [{
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"},
        {"operator": "eq",
        "value": "Security",
        "key": "ref_cloud_service_type.labels"}],
        "aggregate": [{"group": {
        "keys": [
        {"key": "project_id",
        "name": "project_id"},
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"},
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"},
        {"key": "provider",
        "name": "provider"}],
        "fields": [
        {"name": "value",
        "operator": "count"}]}}]},
        "extend_data": {"label": "Security"}}},
        {"concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {"label": "Analytics"},
        "query": {"filter": [{"value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"},
        {"operator": "eq",
        "value": "Analytics",
        "key": "ref_cloud_service_type.labels"}],
        "aggregate": [{"group": {
        "fields": [
        {"operator": "count",
        "name": "value"}],
        "keys": [
        {"name": "project_id",
        "key": "project_id"},
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"},
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"},
        {"key": "provider",
        "name": "provider"}]}}]}}},
        {"concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {"label": "All"},
        "query": {"aggregate": [{"group": {
        "keys": [{"name": "project_id",
        "key": "project_id"}, {
        "name": "cloud_service_type",
        "key": "cloud_service_type"},
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"},
        {"key": "provider",
        "name": "provider"}],
        "fields": [{"operator": "count",
        "name": "value"}]}}],
        "filter": [{
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true}]}}},
        {"concat": {"query": {"filter": [
        {"value": true, "operator": "eq",
        "key": "ref_cloud_service_type.is_major"},
        {"value": "Storage", "operator": "eq",
        "key": "ref_cloud_service_type.labels"}],
        "aggregate": [{
        "group": {
        "fields": [
        {
        "name": "value",
        "key": "data.size",
        "operator": "sum"}],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"},
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"},
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"},
        {
        "key": "provider",
        "name": "provider"}]}}]},
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Storage"}
        }}]},
        "schedule": {"hours": [1]},
        "tags": {},
        "domain_id": "domain-58010aa2e451"}

        response_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "topic": "daily_cloud_service_summary_test",
        "state": "ENABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "extend_data": {
        "label": "Server"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Server"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Database"
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Database"
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Container"
        }
        ]
        },
        "extend_data": {
        "label": "Container"
        }
        }
        },
        {
        "concat": {
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Networking"
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Networking"
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Security"
        },
        "query": {
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary",
        "value": true
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Security"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Analytics",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Analytics"
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "All"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "sum",
        "name": "value",
        "key": "data.size"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_major",
        "value": true
        },
        {
        "value": "Storage",
        "operator": "eq",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        },
        "extend_data": {
        "label": "Storage"
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        1
        ]
        },
        "tags": {},
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-07-26T02:08:48.233Z"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def update(self, request, context):
        """
        desc: Updates a specific Schedule. You can make changes in Schedule settings, including time intervals.
        request_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "schedule": {"hours": [2]},
        "tags": {"a": "b"},
        "domain_id": "domain-58010aa2e451"
        }
        response_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "topic": "daily_cloud_service_summary_test",
        "state": "ENABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Server"
        },
        "query": {
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Server",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Database"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "value": "Database",
        "key": "ref_cloud_service_type.labels",
        "operator": "eq"
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Container"
        },
        "query": {
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Container"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "operator": "eq",
        "value": "Networking",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        },
        "extend_data": {
        "label": "Networking"
        }
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Security"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Security"
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Analytics"
        },
        "query": {
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Analytics"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "All"
        },
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Storage"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_major",
        "operator": "eq",
        "value": true
        },
        {
        "value": "Storage",
        "key": "ref_cloud_service_type.labels",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "key": "data.size",
        "name": "value",
        "operator": "sum"
        }
        ]
        }
        }
        ]
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        2
        ]
        },
        "tags": {
        "a": "b"
        },
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-07-26T02:08:48.233Z"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def enable(self, request, context):
        """
        desc: Enables a specific Schedule. If a Schedule is enabled, the query usage will be scheduled by the time interval specified.
        request_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "domain_id": "domain-58010aa2e451"
        }
        response_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "topic": "daily_cloud_service_summary_test",
        "state": "ENABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "value": "Server",
        "operator": "eq",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        },
        "extend_data": {
        "label": "Server"
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Database"
        },
        "query": {
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary",
        "value": true
        },
        {
        "value": "Database",
        "operator": "eq",
        "key": "ref_cloud_service_type.labels"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Container"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Container",
        "operator": "eq"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Networking"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Networking"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Security"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "value": "Security",
        "operator": "eq",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Analytics"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "operator": "eq",
        "value": "Analytics",
        "key": "ref_cloud_service_type.labels"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "All"
        },
        "query": {
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Storage"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "key": "data.size",
        "name": "value",
        "operator": "sum"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_major",
        "operator": "eq"
        },
        {
        "value": "Storage",
        "key": "ref_cloud_service_type.labels",
        "operator": "eq"
        }
        ]
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        2
        ]
        },
        "tags": {
        "a": "b"
        },
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-07-26T02:08:48.233Z"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def disable(self, request, context):
        """
        desc: Disables a specific Schedule. If a Schedule is disabled, the query usage will not be scheduled.
        request_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "domain_id": "domain-58010aa2e451"
        }
        response_example: >-
        {
        "schedule_id": "sch-65bb6b55d162",
        "topic": "daily_cloud_service_summary_test",
        "state": "DISABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "query": {
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary",
        "value": true
        },
        {
        "operator": "eq",
        "value": "Server",
        "key": "ref_cloud_service_type.labels"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Server"
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Database"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Database"
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Container"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Container"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Networking"
        },
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Networking"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Security"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"
        },
        {
        "operator": "eq",
        "value": "Security",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Analytics"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Analytics",
        "operator": "eq"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "All"
        },
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary",
        "value": true
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_major",
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Storage"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "key": "data.size",
        "operator": "sum",
        "name": "value"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Storage"
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        2
        ]
        },
        "tags": {
        "a": "b"
        },
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-07-26T02:08:48.233Z"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def delete(self, request, context):
        """
        desc: Deletes a specific Schedule. You must specify the `schedule_id` of the Schedule to delete.
        request_example: >-
        {
        "schedule_id": "sch-3da9c9ed2ee2",
        "domain_id": "domain-58010aa2e451"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def get(self, request, context):
        """
        desc: Gets a specific Schedule. Prints detailed information about the Schedule, including the schedule interval and `state`.
        request_example: >-
        {
        "schedule_id": "sch-3da9c9ed2ee2",
        "domain_id": "domain-58010aa2e451"
        }
        response_example: >-
        {
        "schedule_id": "sch-3da9c9ed2ee2",
        "topic": "daily_cloud_service_summary",
        "state": "ENABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Server"
        },
        "query": {
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "value": "Server",
        "key": "ref_cloud_service_type.labels",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Database"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "value": "Database",
        "operator": "eq",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.labels",
        "value": "Container"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Container"
        }
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Networking"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "operator": "eq",
        "value": "Networking",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "operator": "eq",
        "value": "Security",
        "key": "ref_cloud_service_type.labels"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Security"
        }
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "operator": "eq",
        "value": true,
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Analytics"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Analytics"
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "All"
        },
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "value": true,
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ]
        }
        }
        ]
        }
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_major",
        "value": true
        },
        {
        "value": "Storage",
        "key": "ref_cloud_service_type.labels",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "key": "data.size",
        "operator": "sum",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Storage"
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        1
        ]
        },
        "tags": {},
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-06-13T11:41:35.811Z"
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def list(self, request, context):
        """
        desc: Gets a list of all Schedules. You can use a query to get a filtered list of Schedules.
        request_example: >-
        {
        "query": {},
        "domain_id": "domain-58010aa2e451"
        }
        response_example: >-
        {
        "results": [
        {
        "schedule_id": "sch-3da9c9ed2ee2",
        "topic": "daily_cloud_service_summary",
        "state": "ENABLED",
        "options": {
        "aggregate": [
        {
        "query": {
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Server",
        "operator": "eq"
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Server"
        }
        }
        },
        {
        "concat": {
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary",
        "value": true
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Database"
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Database"
        }
        }
        },
        {
        "concat": {
        "query": {
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "operator": "eq",
        "value": true
        },
        {
        "operator": "eq",
        "value": "Container",
        "key": "ref_cloud_service_type.labels"
        }
        ]
        },
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Container"
        }
        }
        },
        {
        "concat": {
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Networking"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "key": "project_id",
        "name": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Networking"
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "extend_data": {
        "label": "Security"
        },
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_primary",
        "value": true,
        "operator": "eq"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "value": "Security",
        "operator": "eq"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ],
        "fields": [
        {
        "operator": "count",
        "name": "value"
        }
        ]
        }
        }
        ]
        },
        "resource_type": "inventory.CloudService"
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Analytics"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "name": "cloud_service_type",
        "key": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ]
        }
        }
        ]
        },
        "extend_data": {
        "label": "Analytics"
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "query": {
        "aggregate": [
        {
        "group": {
        "fields": [
        {
        "name": "value",
        "operator": "count"
        }
        ],
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "key": "cloud_service_group",
        "name": "cloud_service_group"
        },
        {
        "name": "provider",
        "key": "provider"
        }
        ]
        }
        }
        ],
        "filter": [
        {
        "value": true,
        "operator": "eq",
        "key": "ref_cloud_service_type.is_primary"
        }
        ]
        },
        "extend_data": {
        "label": "All"
        }
        }
        },
        {
        "concat": {
        "resource_type": "inventory.CloudService",
        "extend_data": {
        "label": "Storage"
        },
        "query": {
        "filter": [
        {
        "key": "ref_cloud_service_type.is_major",
        "operator": "eq",
        "value": true
        },
        {
        "key": "ref_cloud_service_type.labels",
        "operator": "eq",
        "value": "Storage"
        }
        ],
        "aggregate": [
        {
        "group": {
        "keys": [
        {
        "name": "project_id",
        "key": "project_id"
        },
        {
        "key": "cloud_service_type",
        "name": "cloud_service_type"
        },
        {
        "name": "cloud_service_group",
        "key": "cloud_service_group"
        },
        {
        "key": "provider",
        "name": "provider"
        }
        ],
        "fields": [
        {
        "name": "value",
        "operator": "sum",
        "key": "data.size"
        }
        ]
        }
        }
        ]
        }
        }
        }
        ]
        },
        "schedule": {
        "hours": [
        1
        ]
        },
        "tags": {},
        "domain_id": "domain-58010aa2e451",
        "created_at": "2022-06-13T11:41:35.811Z"
        }
        ],
        "total_count": 1
        }
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def stat(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_ScheduleServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'add': grpc.unary_unary_rpc_method_handler(
                    servicer.add,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.AddScheduleRequest.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.SerializeToString,
            ),
            'update': grpc.unary_unary_rpc_method_handler(
                    servicer.update,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.UpdateScheduleRequest.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.SerializeToString,
            ),
            'enable': grpc.unary_unary_rpc_method_handler(
                    servicer.enable,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.SerializeToString,
            ),
            'disable': grpc.unary_unary_rpc_method_handler(
                    servicer.disable,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.SerializeToString,
            ),
            'delete': grpc.unary_unary_rpc_method_handler(
                    servicer.delete,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'get': grpc.unary_unary_rpc_method_handler(
                    servicer.get,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.GetScheduleRequest.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.SerializeToString,
            ),
            'list': grpc.unary_unary_rpc_method_handler(
                    servicer.list,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleQuery.FromString,
                    response_serializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.SchedulesInfo.SerializeToString,
            ),
            'stat': grpc.unary_unary_rpc_method_handler(
                    servicer.stat,
                    request_deserializer=spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleStatQuery.FromString,
                    response_serializer=google_dot_protobuf_dot_struct__pb2.Struct.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'spaceone.api.statistics.v1.Schedule', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class Schedule(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def add(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/add',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.AddScheduleRequest.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def update(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/update',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.UpdateScheduleRequest.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def enable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/enable',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def disable(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/disable',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def delete(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/delete',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def get(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/get',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.GetScheduleRequest.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def list(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/list',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleQuery.SerializeToString,
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.SchedulesInfo.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def stat(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/spaceone.api.statistics.v1.Schedule/stat',
            spaceone_dot_api_dot_statistics_dot_v1_dot_schedule__pb2.ScheduleStatQuery.SerializeToString,
            google_dot_protobuf_dot_struct__pb2.Struct.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
