# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
import grpc

from google.cloud.monitoring_v3.proto import (
    service_pb2 as google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2,
)
from google.cloud.monitoring_v3.proto import (
    service_service_pb2 as google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2,
)
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


class ServiceMonitoringServiceStub(object):
    """The Stackdriver Monitoring Service-Oriented Monitoring API has endpoints for
  managing and querying aspects of a workspace's services. These include the
  `Service`'s monitored resources, its Service-Level Objectives, and a taxonomy
  of categorized Health Metrics.
  """

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

    Args:
      channel: A grpc.Channel.
    """
        self.CreateService = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/CreateService",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.CreateServiceRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.FromString,
        )
        self.GetService = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/GetService",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.GetServiceRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.FromString,
        )
        self.ListServices = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/ListServices",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServicesRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServicesResponse.FromString,
        )
        self.UpdateService = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/UpdateService",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.UpdateServiceRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.FromString,
        )
        self.DeleteService = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/DeleteService",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.DeleteServiceRequest.SerializeToString,
            response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
        )
        self.CreateServiceLevelObjective = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/CreateServiceLevelObjective",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.CreateServiceLevelObjectiveRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.FromString,
        )
        self.GetServiceLevelObjective = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/GetServiceLevelObjective",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.GetServiceLevelObjectiveRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.FromString,
        )
        self.ListServiceLevelObjectives = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/ListServiceLevelObjectives",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServiceLevelObjectivesRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServiceLevelObjectivesResponse.FromString,
        )
        self.UpdateServiceLevelObjective = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/UpdateServiceLevelObjective",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.UpdateServiceLevelObjectiveRequest.SerializeToString,
            response_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.FromString,
        )
        self.DeleteServiceLevelObjective = channel.unary_unary(
            "/google.monitoring.v3.ServiceMonitoringService/DeleteServiceLevelObjective",
            request_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.DeleteServiceLevelObjectiveRequest.SerializeToString,
            response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
        )


class ServiceMonitoringServiceServicer(object):
    """The Stackdriver Monitoring Service-Oriented Monitoring API has endpoints for
  managing and querying aspects of a workspace's services. These include the
  `Service`'s monitored resources, its Service-Level Objectives, and a taxonomy
  of categorized Health Metrics.
  """

    def CreateService(self, request, context):
        """Create a `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetService(self, request, context):
        """Get the named `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ListServices(self, request, context):
        """List `Service`s for this workspace.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def UpdateService(self, request, context):
        """Update this `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def DeleteService(self, request, context):
        """Soft delete this `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def CreateServiceLevelObjective(self, request, context):
        """Create a `ServiceLevelObjective` for the given `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def GetServiceLevelObjective(self, request, context):
        """Get a `ServiceLevelObjective` by name.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def ListServiceLevelObjectives(self, request, context):
        """List the `ServiceLevelObjective`s for the given `Service`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def UpdateServiceLevelObjective(self, request, context):
        """Update the given `ServiceLevelObjective`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")

    def DeleteServiceLevelObjective(self, request, context):
        """Delete the given `ServiceLevelObjective`.
    """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details("Method not implemented!")
        raise NotImplementedError("Method not implemented!")


def add_ServiceMonitoringServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
        "CreateService": grpc.unary_unary_rpc_method_handler(
            servicer.CreateService,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.CreateServiceRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.SerializeToString,
        ),
        "GetService": grpc.unary_unary_rpc_method_handler(
            servicer.GetService,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.GetServiceRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.SerializeToString,
        ),
        "ListServices": grpc.unary_unary_rpc_method_handler(
            servicer.ListServices,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServicesRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServicesResponse.SerializeToString,
        ),
        "UpdateService": grpc.unary_unary_rpc_method_handler(
            servicer.UpdateService,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.UpdateServiceRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.Service.SerializeToString,
        ),
        "DeleteService": grpc.unary_unary_rpc_method_handler(
            servicer.DeleteService,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.DeleteServiceRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
        "CreateServiceLevelObjective": grpc.unary_unary_rpc_method_handler(
            servicer.CreateServiceLevelObjective,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.CreateServiceLevelObjectiveRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.SerializeToString,
        ),
        "GetServiceLevelObjective": grpc.unary_unary_rpc_method_handler(
            servicer.GetServiceLevelObjective,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.GetServiceLevelObjectiveRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.SerializeToString,
        ),
        "ListServiceLevelObjectives": grpc.unary_unary_rpc_method_handler(
            servicer.ListServiceLevelObjectives,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServiceLevelObjectivesRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.ListServiceLevelObjectivesResponse.SerializeToString,
        ),
        "UpdateServiceLevelObjective": grpc.unary_unary_rpc_method_handler(
            servicer.UpdateServiceLevelObjective,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.UpdateServiceLevelObjectiveRequest.FromString,
            response_serializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__pb2.ServiceLevelObjective.SerializeToString,
        ),
        "DeleteServiceLevelObjective": grpc.unary_unary_rpc_method_handler(
            servicer.DeleteServiceLevelObjective,
            request_deserializer=google_dot_cloud_dot_monitoring__v3_dot_proto_dot_service__service__pb2.DeleteServiceLevelObjectiveRequest.FromString,
            response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        "google.monitoring.v3.ServiceMonitoringService", rpc_method_handlers
    )
    server.add_generic_rpc_handlers((generic_handler,))
