# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/telcoautomation/v1/telcoautomation.proto for package 'Google.Cloud.TelcoAutomation.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/telcoautomation/v1/telcoautomation_pb'

module Google
  module Cloud
    module TelcoAutomation
      module V1
        module TelcoAutomation
          # TelcoAutomation Service manages the control plane cluster a.k.a.
          # Orchestration Cluster (GKE cluster with config controller) of TNA. It also
          # exposes blueprint APIs which manages the lifecycle of blueprints that control
          # the infrastructure setup (e.g GDCE clusters) and deployment of network
          # functions.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.telcoautomation.v1.TelcoAutomation'

            # Lists OrchestrationClusters in a given project and location.
            rpc :ListOrchestrationClusters, ::Google::Cloud::TelcoAutomation::V1::ListOrchestrationClustersRequest, ::Google::Cloud::TelcoAutomation::V1::ListOrchestrationClustersResponse
            # Gets details of a single OrchestrationCluster.
            rpc :GetOrchestrationCluster, ::Google::Cloud::TelcoAutomation::V1::GetOrchestrationClusterRequest, ::Google::Cloud::TelcoAutomation::V1::OrchestrationCluster
            # Creates a new OrchestrationCluster in a given project and location.
            rpc :CreateOrchestrationCluster, ::Google::Cloud::TelcoAutomation::V1::CreateOrchestrationClusterRequest, ::Google::Longrunning::Operation
            # Deletes a single OrchestrationCluster.
            rpc :DeleteOrchestrationCluster, ::Google::Cloud::TelcoAutomation::V1::DeleteOrchestrationClusterRequest, ::Google::Longrunning::Operation
            # Lists EdgeSlms in a given project and location.
            rpc :ListEdgeSlms, ::Google::Cloud::TelcoAutomation::V1::ListEdgeSlmsRequest, ::Google::Cloud::TelcoAutomation::V1::ListEdgeSlmsResponse
            # Gets details of a single EdgeSlm.
            rpc :GetEdgeSlm, ::Google::Cloud::TelcoAutomation::V1::GetEdgeSlmRequest, ::Google::Cloud::TelcoAutomation::V1::EdgeSlm
            # Creates a new EdgeSlm in a given project and location.
            rpc :CreateEdgeSlm, ::Google::Cloud::TelcoAutomation::V1::CreateEdgeSlmRequest, ::Google::Longrunning::Operation
            # Deletes a single EdgeSlm.
            rpc :DeleteEdgeSlm, ::Google::Cloud::TelcoAutomation::V1::DeleteEdgeSlmRequest, ::Google::Longrunning::Operation
            # Creates a blueprint.
            rpc :CreateBlueprint, ::Google::Cloud::TelcoAutomation::V1::CreateBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # Updates a blueprint.
            rpc :UpdateBlueprint, ::Google::Cloud::TelcoAutomation::V1::UpdateBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # Returns the requested blueprint.
            rpc :GetBlueprint, ::Google::Cloud::TelcoAutomation::V1::GetBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # Deletes a blueprint and all its revisions.
            rpc :DeleteBlueprint, ::Google::Cloud::TelcoAutomation::V1::DeleteBlueprintRequest, ::Google::Protobuf::Empty
            # List all blueprints.
            rpc :ListBlueprints, ::Google::Cloud::TelcoAutomation::V1::ListBlueprintsRequest, ::Google::Cloud::TelcoAutomation::V1::ListBlueprintsResponse
            # Approves a blueprint and commits a new revision.
            rpc :ApproveBlueprint, ::Google::Cloud::TelcoAutomation::V1::ApproveBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # Proposes a blueprint for approval of changes.
            rpc :ProposeBlueprint, ::Google::Cloud::TelcoAutomation::V1::ProposeBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # Rejects a blueprint revision proposal and flips it back to Draft state.
            rpc :RejectBlueprint, ::Google::Cloud::TelcoAutomation::V1::RejectBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::Blueprint
            # List blueprint revisions of a given blueprint.
            rpc :ListBlueprintRevisions, ::Google::Cloud::TelcoAutomation::V1::ListBlueprintRevisionsRequest, ::Google::Cloud::TelcoAutomation::V1::ListBlueprintRevisionsResponse
            # Searches across blueprint revisions.
            rpc :SearchBlueprintRevisions, ::Google::Cloud::TelcoAutomation::V1::SearchBlueprintRevisionsRequest, ::Google::Cloud::TelcoAutomation::V1::SearchBlueprintRevisionsResponse
            # Searches across deployment revisions.
            rpc :SearchDeploymentRevisions, ::Google::Cloud::TelcoAutomation::V1::SearchDeploymentRevisionsRequest, ::Google::Cloud::TelcoAutomation::V1::SearchDeploymentRevisionsResponse
            # Discards the changes in a blueprint and reverts the blueprint to the last
            # approved blueprint revision. No changes take place if a blueprint does not
            # have revisions.
            rpc :DiscardBlueprintChanges, ::Google::Cloud::TelcoAutomation::V1::DiscardBlueprintChangesRequest, ::Google::Cloud::TelcoAutomation::V1::DiscardBlueprintChangesResponse
            # Lists the blueprints in TNA's public catalog. Default page size = 20,
            # Max Page Size = 100.
            rpc :ListPublicBlueprints, ::Google::Cloud::TelcoAutomation::V1::ListPublicBlueprintsRequest, ::Google::Cloud::TelcoAutomation::V1::ListPublicBlueprintsResponse
            # Returns the requested public blueprint.
            rpc :GetPublicBlueprint, ::Google::Cloud::TelcoAutomation::V1::GetPublicBlueprintRequest, ::Google::Cloud::TelcoAutomation::V1::PublicBlueprint
            # Creates a deployment.
            rpc :CreateDeployment, ::Google::Cloud::TelcoAutomation::V1::CreateDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::Deployment
            # Updates a deployment.
            rpc :UpdateDeployment, ::Google::Cloud::TelcoAutomation::V1::UpdateDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::Deployment
            # Returns the requested deployment.
            rpc :GetDeployment, ::Google::Cloud::TelcoAutomation::V1::GetDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::Deployment
            # Removes the deployment by marking it as DELETING. Post which deployment and
            # it's revisions gets deleted.
            rpc :RemoveDeployment, ::Google::Cloud::TelcoAutomation::V1::RemoveDeploymentRequest, ::Google::Protobuf::Empty
            # List all deployments.
            rpc :ListDeployments, ::Google::Cloud::TelcoAutomation::V1::ListDeploymentsRequest, ::Google::Cloud::TelcoAutomation::V1::ListDeploymentsResponse
            # List deployment revisions of a given deployment.
            rpc :ListDeploymentRevisions, ::Google::Cloud::TelcoAutomation::V1::ListDeploymentRevisionsRequest, ::Google::Cloud::TelcoAutomation::V1::ListDeploymentRevisionsResponse
            # Discards the changes in a deployment and reverts the deployment to the last
            # approved deployment revision. No changes take place if a deployment does
            # not have revisions.
            rpc :DiscardDeploymentChanges, ::Google::Cloud::TelcoAutomation::V1::DiscardDeploymentChangesRequest, ::Google::Cloud::TelcoAutomation::V1::DiscardDeploymentChangesResponse
            # Applies the deployment's YAML files to the parent orchestration cluster.
            rpc :ApplyDeployment, ::Google::Cloud::TelcoAutomation::V1::ApplyDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::Deployment
            # Returns the requested deployment status.
            rpc :ComputeDeploymentStatus, ::Google::Cloud::TelcoAutomation::V1::ComputeDeploymentStatusRequest, ::Google::Cloud::TelcoAutomation::V1::ComputeDeploymentStatusResponse
            # Rollback the active deployment to the given past approved deployment
            # revision.
            rpc :RollbackDeployment, ::Google::Cloud::TelcoAutomation::V1::RollbackDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::Deployment
            # Returns the requested hydrated deployment.
            rpc :GetHydratedDeployment, ::Google::Cloud::TelcoAutomation::V1::GetHydratedDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::HydratedDeployment
            # List all hydrated deployments present under a deployment.
            rpc :ListHydratedDeployments, ::Google::Cloud::TelcoAutomation::V1::ListHydratedDeploymentsRequest, ::Google::Cloud::TelcoAutomation::V1::ListHydratedDeploymentsResponse
            # Updates a hydrated deployment.
            rpc :UpdateHydratedDeployment, ::Google::Cloud::TelcoAutomation::V1::UpdateHydratedDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::HydratedDeployment
            # Applies a hydrated deployment to a workload cluster.
            rpc :ApplyHydratedDeployment, ::Google::Cloud::TelcoAutomation::V1::ApplyHydratedDeploymentRequest, ::Google::Cloud::TelcoAutomation::V1::HydratedDeployment
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
