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

module Google
  module Cloud
    module OracleDatabase
      module V1
        module OracleDatabase
          # Service describing handlers for resources
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.oracledatabase.v1.OracleDatabase'

            # Lists Exadata Infrastructures in a given project and location.
            rpc :ListCloudExadataInfrastructures, ::Google::Cloud::OracleDatabase::V1::ListCloudExadataInfrastructuresRequest, ::Google::Cloud::OracleDatabase::V1::ListCloudExadataInfrastructuresResponse
            # Gets details of a single Exadata Infrastructure.
            rpc :GetCloudExadataInfrastructure, ::Google::Cloud::OracleDatabase::V1::GetCloudExadataInfrastructureRequest, ::Google::Cloud::OracleDatabase::V1::CloudExadataInfrastructure
            # Creates a new Exadata Infrastructure in a given project and location.
            rpc :CreateCloudExadataInfrastructure, ::Google::Cloud::OracleDatabase::V1::CreateCloudExadataInfrastructureRequest, ::Google::Longrunning::Operation
            # Deletes a single Exadata Infrastructure.
            rpc :DeleteCloudExadataInfrastructure, ::Google::Cloud::OracleDatabase::V1::DeleteCloudExadataInfrastructureRequest, ::Google::Longrunning::Operation
            # Lists the VM Clusters in a given project and location.
            rpc :ListCloudVmClusters, ::Google::Cloud::OracleDatabase::V1::ListCloudVmClustersRequest, ::Google::Cloud::OracleDatabase::V1::ListCloudVmClustersResponse
            # Gets details of a single VM Cluster.
            rpc :GetCloudVmCluster, ::Google::Cloud::OracleDatabase::V1::GetCloudVmClusterRequest, ::Google::Cloud::OracleDatabase::V1::CloudVmCluster
            # Creates a new VM Cluster in a given project and location.
            rpc :CreateCloudVmCluster, ::Google::Cloud::OracleDatabase::V1::CreateCloudVmClusterRequest, ::Google::Longrunning::Operation
            # Deletes a single VM Cluster.
            rpc :DeleteCloudVmCluster, ::Google::Cloud::OracleDatabase::V1::DeleteCloudVmClusterRequest, ::Google::Longrunning::Operation
            # Lists the entitlements in a given project.
            rpc :ListEntitlements, ::Google::Cloud::OracleDatabase::V1::ListEntitlementsRequest, ::Google::Cloud::OracleDatabase::V1::ListEntitlementsResponse
            # Lists the database servers of an Exadata Infrastructure instance.
            rpc :ListDbServers, ::Google::Cloud::OracleDatabase::V1::ListDbServersRequest, ::Google::Cloud::OracleDatabase::V1::ListDbServersResponse
            # Lists the database nodes of a VM Cluster.
            rpc :ListDbNodes, ::Google::Cloud::OracleDatabase::V1::ListDbNodesRequest, ::Google::Cloud::OracleDatabase::V1::ListDbNodesResponse
            # Lists all the valid Oracle Grid Infrastructure (GI) versions for the given
            # project and location.
            rpc :ListGiVersions, ::Google::Cloud::OracleDatabase::V1::ListGiVersionsRequest, ::Google::Cloud::OracleDatabase::V1::ListGiVersionsResponse
            # Lists the database system shapes available for the project and location.
            rpc :ListDbSystemShapes, ::Google::Cloud::OracleDatabase::V1::ListDbSystemShapesRequest, ::Google::Cloud::OracleDatabase::V1::ListDbSystemShapesResponse
            # Lists the Autonomous Databases in a given project and location.
            rpc :ListAutonomousDatabases, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabasesRequest, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabasesResponse
            # Gets the details of a single Autonomous Database.
            rpc :GetAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::GetAutonomousDatabaseRequest, ::Google::Cloud::OracleDatabase::V1::AutonomousDatabase
            # Creates a new Autonomous Database in a given project and location.
            rpc :CreateAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::CreateAutonomousDatabaseRequest, ::Google::Longrunning::Operation
            # Deletes a single Autonomous Database.
            rpc :DeleteAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::DeleteAutonomousDatabaseRequest, ::Google::Longrunning::Operation
            # Restores a single Autonomous Database.
            rpc :RestoreAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::RestoreAutonomousDatabaseRequest, ::Google::Longrunning::Operation
            # Generates a wallet for an Autonomous Database.
            rpc :GenerateAutonomousDatabaseWallet, ::Google::Cloud::OracleDatabase::V1::GenerateAutonomousDatabaseWalletRequest, ::Google::Cloud::OracleDatabase::V1::GenerateAutonomousDatabaseWalletResponse
            # Lists all the available Autonomous Database versions for a project and
            # location.
            rpc :ListAutonomousDbVersions, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDbVersionsRequest, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDbVersionsResponse
            # Lists Autonomous Database Character Sets in a given project and location.
            rpc :ListAutonomousDatabaseCharacterSets, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabaseCharacterSetsRequest, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabaseCharacterSetsResponse
            # Lists the long-term and automatic backups of an Autonomous Database.
            rpc :ListAutonomousDatabaseBackups, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabaseBackupsRequest, ::Google::Cloud::OracleDatabase::V1::ListAutonomousDatabaseBackupsResponse
            # Stops an Autonomous Database.
            rpc :StopAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::StopAutonomousDatabaseRequest, ::Google::Longrunning::Operation
            # Starts an Autonomous Database.
            rpc :StartAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::StartAutonomousDatabaseRequest, ::Google::Longrunning::Operation
            # Restarts an Autonomous Database.
            rpc :RestartAutonomousDatabase, ::Google::Cloud::OracleDatabase::V1::RestartAutonomousDatabaseRequest, ::Google::Longrunning::Operation
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
