# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/apphub/v1/apphub_service.proto for package 'Google.Cloud.AppHub.V1'
# Original file comments:
# Copyright 2023 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/apphub/v1/apphub_service_pb'

module Google
  module Cloud
    module AppHub
      module V1
        module AppHub
          # The App Hub API allows you to manage App Hub resources.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.apphub.v1.AppHub'

            # Lists a service project attachment for a given service project. You can
            # call this API from any project to find if it is attached to a host project.
            rpc :LookupServiceProjectAttachment, ::Google::Cloud::AppHub::V1::LookupServiceProjectAttachmentRequest, ::Google::Cloud::AppHub::V1::LookupServiceProjectAttachmentResponse
            # Lists service projects attached to the host project.
            rpc :ListServiceProjectAttachments, ::Google::Cloud::AppHub::V1::ListServiceProjectAttachmentsRequest, ::Google::Cloud::AppHub::V1::ListServiceProjectAttachmentsResponse
            # Attaches a service project to the host project.
            rpc :CreateServiceProjectAttachment, ::Google::Cloud::AppHub::V1::CreateServiceProjectAttachmentRequest, ::Google::Longrunning::Operation
            # Gets a service project attachment.
            rpc :GetServiceProjectAttachment, ::Google::Cloud::AppHub::V1::GetServiceProjectAttachmentRequest, ::Google::Cloud::AppHub::V1::ServiceProjectAttachment
            # Deletes a service project attachment.
            rpc :DeleteServiceProjectAttachment, ::Google::Cloud::AppHub::V1::DeleteServiceProjectAttachmentRequest, ::Google::Longrunning::Operation
            # Detaches a service project from a host project.
            # You can call this API from any service project without needing access to
            # the host project that it is attached to.
            rpc :DetachServiceProjectAttachment, ::Google::Cloud::AppHub::V1::DetachServiceProjectAttachmentRequest, ::Google::Cloud::AppHub::V1::DetachServiceProjectAttachmentResponse
            # Lists Discovered Services that can be added to an Application in a host
            # project and location.
            rpc :ListDiscoveredServices, ::Google::Cloud::AppHub::V1::ListDiscoveredServicesRequest, ::Google::Cloud::AppHub::V1::ListDiscoveredServicesResponse
            # Gets a Discovered Service in a host project and location.
            rpc :GetDiscoveredService, ::Google::Cloud::AppHub::V1::GetDiscoveredServiceRequest, ::Google::Cloud::AppHub::V1::DiscoveredService
            # Lists a Discovered Service in a host project and location, with a
            # given resource URI.
            rpc :LookupDiscoveredService, ::Google::Cloud::AppHub::V1::LookupDiscoveredServiceRequest, ::Google::Cloud::AppHub::V1::LookupDiscoveredServiceResponse
            # Lists Services in an Application.
            rpc :ListServices, ::Google::Cloud::AppHub::V1::ListServicesRequest, ::Google::Cloud::AppHub::V1::ListServicesResponse
            # Creates a Service in an Application.
            rpc :CreateService, ::Google::Cloud::AppHub::V1::CreateServiceRequest, ::Google::Longrunning::Operation
            # Gets a Service in an Application.
            rpc :GetService, ::Google::Cloud::AppHub::V1::GetServiceRequest, ::Google::Cloud::AppHub::V1::Service
            # Updates a Service in an Application.
            rpc :UpdateService, ::Google::Cloud::AppHub::V1::UpdateServiceRequest, ::Google::Longrunning::Operation
            # Deletes a Service from an Application.
            rpc :DeleteService, ::Google::Cloud::AppHub::V1::DeleteServiceRequest, ::Google::Longrunning::Operation
            # Lists Discovered Workloads that can be added to an Application in a host
            # project and location.
            rpc :ListDiscoveredWorkloads, ::Google::Cloud::AppHub::V1::ListDiscoveredWorkloadsRequest, ::Google::Cloud::AppHub::V1::ListDiscoveredWorkloadsResponse
            # Gets a Discovered Workload in a host project and location.
            rpc :GetDiscoveredWorkload, ::Google::Cloud::AppHub::V1::GetDiscoveredWorkloadRequest, ::Google::Cloud::AppHub::V1::DiscoveredWorkload
            # Lists a Discovered Workload in a host project and location, with a
            # given resource URI.
            rpc :LookupDiscoveredWorkload, ::Google::Cloud::AppHub::V1::LookupDiscoveredWorkloadRequest, ::Google::Cloud::AppHub::V1::LookupDiscoveredWorkloadResponse
            # Lists Workloads in an Application.
            rpc :ListWorkloads, ::Google::Cloud::AppHub::V1::ListWorkloadsRequest, ::Google::Cloud::AppHub::V1::ListWorkloadsResponse
            # Creates a Workload in an Application.
            rpc :CreateWorkload, ::Google::Cloud::AppHub::V1::CreateWorkloadRequest, ::Google::Longrunning::Operation
            # Gets a Workload in an Application.
            rpc :GetWorkload, ::Google::Cloud::AppHub::V1::GetWorkloadRequest, ::Google::Cloud::AppHub::V1::Workload
            # Updates a Workload in an Application.
            rpc :UpdateWorkload, ::Google::Cloud::AppHub::V1::UpdateWorkloadRequest, ::Google::Longrunning::Operation
            # Deletes a Workload from an Application.
            rpc :DeleteWorkload, ::Google::Cloud::AppHub::V1::DeleteWorkloadRequest, ::Google::Longrunning::Operation
            # Lists Applications in a host project and location.
            rpc :ListApplications, ::Google::Cloud::AppHub::V1::ListApplicationsRequest, ::Google::Cloud::AppHub::V1::ListApplicationsResponse
            # Creates an Application in a host project and location.
            rpc :CreateApplication, ::Google::Cloud::AppHub::V1::CreateApplicationRequest, ::Google::Longrunning::Operation
            # Gets an Application in a host project and location.
            rpc :GetApplication, ::Google::Cloud::AppHub::V1::GetApplicationRequest, ::Google::Cloud::AppHub::V1::Application
            # Updates an Application in a host project and location.
            rpc :UpdateApplication, ::Google::Cloud::AppHub::V1::UpdateApplicationRequest, ::Google::Longrunning::Operation
            # Deletes an Application in a host project and location.
            rpc :DeleteApplication, ::Google::Cloud::AppHub::V1::DeleteApplicationRequest, ::Google::Longrunning::Operation
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
