# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/datastream/v1alpha1/datastream.proto for package 'Google.Cloud.Datastream.V1alpha1'
# 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/datastream/v1alpha1/datastream_pb'

module Google
  module Cloud
    module Datastream
      module V1alpha1
        module Datastream
          # Datastream service
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.datastream.v1alpha1.Datastream'

            # Use this method to list connection profiles created in a project and
            # location.
            rpc :ListConnectionProfiles, ::Google::Cloud::Datastream::V1alpha1::ListConnectionProfilesRequest, ::Google::Cloud::Datastream::V1alpha1::ListConnectionProfilesResponse
            # Use this method to get details about a connection profile.
            rpc :GetConnectionProfile, ::Google::Cloud::Datastream::V1alpha1::GetConnectionProfileRequest, ::Google::Cloud::Datastream::V1alpha1::ConnectionProfile
            # Use this method to create a connection profile in a project and location.
            rpc :CreateConnectionProfile, ::Google::Cloud::Datastream::V1alpha1::CreateConnectionProfileRequest, ::Google::Longrunning::Operation
            # Use this method to update the parameters of a connection profile.
            rpc :UpdateConnectionProfile, ::Google::Cloud::Datastream::V1alpha1::UpdateConnectionProfileRequest, ::Google::Longrunning::Operation
            # Use this method to delete a connection profile..
            rpc :DeleteConnectionProfile, ::Google::Cloud::Datastream::V1alpha1::DeleteConnectionProfileRequest, ::Google::Longrunning::Operation
            # Use this method to discover a connection profile.
            # The discover API call exposes the data objects and metadata belonging to
            # the profile. Typically, a request returns children data objects under a
            # parent data object that's optionally supplied in the request.
            rpc :DiscoverConnectionProfile, ::Google::Cloud::Datastream::V1alpha1::DiscoverConnectionProfileRequest, ::Google::Cloud::Datastream::V1alpha1::DiscoverConnectionProfileResponse
            # Use this method to list streams in a project and location.
            rpc :ListStreams, ::Google::Cloud::Datastream::V1alpha1::ListStreamsRequest, ::Google::Cloud::Datastream::V1alpha1::ListStreamsResponse
            # Use this method to get details about a stream.
            rpc :GetStream, ::Google::Cloud::Datastream::V1alpha1::GetStreamRequest, ::Google::Cloud::Datastream::V1alpha1::Stream
            # Use this method to create a stream.
            rpc :CreateStream, ::Google::Cloud::Datastream::V1alpha1::CreateStreamRequest, ::Google::Longrunning::Operation
            # Use this method to update the configuration of a stream.
            rpc :UpdateStream, ::Google::Cloud::Datastream::V1alpha1::UpdateStreamRequest, ::Google::Longrunning::Operation
            # Use this method to delete a stream.
            rpc :DeleteStream, ::Google::Cloud::Datastream::V1alpha1::DeleteStreamRequest, ::Google::Longrunning::Operation
            # Use this method to fetch any errors associated with a stream.
            rpc :FetchErrors, ::Google::Cloud::Datastream::V1alpha1::FetchErrorsRequest, ::Google::Longrunning::Operation
            # The FetchStaticIps API call exposes the static ips used by Datastream.
            # Typically, a request returns children data objects under
            # a parent data object that's optionally supplied in the request.
            rpc :FetchStaticIps, ::Google::Cloud::Datastream::V1alpha1::FetchStaticIpsRequest, ::Google::Cloud::Datastream::V1alpha1::FetchStaticIpsResponse
            # Use this method to create a private connectivity configuration.
            rpc :CreatePrivateConnection, ::Google::Cloud::Datastream::V1alpha1::CreatePrivateConnectionRequest, ::Google::Longrunning::Operation
            # Use this method to get details about a private connectivity configuration.
            rpc :GetPrivateConnection, ::Google::Cloud::Datastream::V1alpha1::GetPrivateConnectionRequest, ::Google::Cloud::Datastream::V1alpha1::PrivateConnection
            # Use this method to list private connectivity configurations in a project
            # and location.
            rpc :ListPrivateConnections, ::Google::Cloud::Datastream::V1alpha1::ListPrivateConnectionsRequest, ::Google::Cloud::Datastream::V1alpha1::ListPrivateConnectionsResponse
            # Use this method to delete a private connectivity configuration.
            rpc :DeletePrivateConnection, ::Google::Cloud::Datastream::V1alpha1::DeletePrivateConnectionRequest, ::Google::Longrunning::Operation
            # Use this method to create a route for a private connectivity in a project
            # and location.
            rpc :CreateRoute, ::Google::Cloud::Datastream::V1alpha1::CreateRouteRequest, ::Google::Longrunning::Operation
            # Use this method to get details about a route.
            rpc :GetRoute, ::Google::Cloud::Datastream::V1alpha1::GetRouteRequest, ::Google::Cloud::Datastream::V1alpha1::Route
            # Use this method to list routes created for a private connectivity in a
            # project and location.
            rpc :ListRoutes, ::Google::Cloud::Datastream::V1alpha1::ListRoutesRequest, ::Google::Cloud::Datastream::V1alpha1::ListRoutesResponse
            # Use this method to delete a route.
            rpc :DeleteRoute, ::Google::Cloud::Datastream::V1alpha1::DeleteRouteRequest, ::Google::Longrunning::Operation
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
