# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/essentialcontacts/v1/service.proto for package 'Google.Cloud.EssentialContacts.V1'
# Original file comments:
# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

require 'grpc'
require 'google/cloud/essentialcontacts/v1/service_pb'

module Google
  module Cloud
    module EssentialContacts
      module V1
        module EssentialContactsService
          # Manages contacts for important Google Cloud notifications.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.essentialcontacts.v1.EssentialContactsService'

            # Adds a new contact for a resource.
            rpc :CreateContact, ::Google::Cloud::EssentialContacts::V1::CreateContactRequest, ::Google::Cloud::EssentialContacts::V1::Contact
            # Updates a contact.
            # Note: A contact's email address cannot be changed.
            rpc :UpdateContact, ::Google::Cloud::EssentialContacts::V1::UpdateContactRequest, ::Google::Cloud::EssentialContacts::V1::Contact
            # Lists the contacts that have been set on a resource.
            rpc :ListContacts, ::Google::Cloud::EssentialContacts::V1::ListContactsRequest, ::Google::Cloud::EssentialContacts::V1::ListContactsResponse
            # Gets a single contact.
            rpc :GetContact, ::Google::Cloud::EssentialContacts::V1::GetContactRequest, ::Google::Cloud::EssentialContacts::V1::Contact
            # Deletes a contact.
            rpc :DeleteContact, ::Google::Cloud::EssentialContacts::V1::DeleteContactRequest, ::Google::Protobuf::Empty
            # Lists all contacts for the resource that are subscribed to the
            # specified notification categories, including contacts inherited from
            # any parent resources.
            rpc :ComputeContacts, ::Google::Cloud::EssentialContacts::V1::ComputeContactsRequest, ::Google::Cloud::EssentialContacts::V1::ComputeContactsResponse
            # Allows a contact admin to send a test message to contact to verify that it
            # has been configured correctly.
            rpc :SendTestMessage, ::Google::Cloud::EssentialContacts::V1::SendTestMessageRequest, ::Google::Protobuf::Empty
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
