# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: google/cloud/dataform/v1beta1/dataform.proto for package 'Google.Cloud.Dataform.V1beta1'
# Original file comments:
# Copyright 2022 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/dataform/v1beta1/dataform_pb'

module Google
  module Cloud
    module Dataform
      module V1beta1
        module Dataform
          # Dataform is a service to develop, create, document, test, and update curated
          # tables in BigQuery.
          class Service

            include ::GRPC::GenericService

            self.marshal_class_method = :encode
            self.unmarshal_class_method = :decode
            self.service_name = 'google.cloud.dataform.v1beta1.Dataform'

            # Lists Repositories in a given project and location.
            #
            # **Note:** *This method can return repositories not shown in the [Dataform
            # UI](https://console.cloud.google.com/bigquery/dataform)*.
            rpc :ListRepositories, ::Google::Cloud::Dataform::V1beta1::ListRepositoriesRequest, ::Google::Cloud::Dataform::V1beta1::ListRepositoriesResponse
            # Fetches a single Repository.
            rpc :GetRepository, ::Google::Cloud::Dataform::V1beta1::GetRepositoryRequest, ::Google::Cloud::Dataform::V1beta1::Repository
            # Creates a new Repository in a given project and location.
            rpc :CreateRepository, ::Google::Cloud::Dataform::V1beta1::CreateRepositoryRequest, ::Google::Cloud::Dataform::V1beta1::Repository
            # Updates a single Repository.
            #
            # **Note:** *This method does not fully implement
            # [AIP/134](https://google.aip.dev/134). The wildcard entry (\*) is treated
            # as a bad request, and when the `field_mask` is omitted, the request is
            # treated as a full update on all modifiable fields.*
            rpc :UpdateRepository, ::Google::Cloud::Dataform::V1beta1::UpdateRepositoryRequest, ::Google::Cloud::Dataform::V1beta1::Repository
            # Deletes a single Repository.
            rpc :DeleteRepository, ::Google::Cloud::Dataform::V1beta1::DeleteRepositoryRequest, ::Google::Protobuf::Empty
            # Applies a Git commit to a Repository. The Repository must not have a value
            # for `git_remote_settings.url`.
            rpc :CommitRepositoryChanges, ::Google::Cloud::Dataform::V1beta1::CommitRepositoryChangesRequest, ::Google::Cloud::Dataform::V1beta1::CommitRepositoryChangesResponse
            # Returns the contents of a file (inside a Repository). The Repository
            # must not have a value for `git_remote_settings.url`.
            rpc :ReadRepositoryFile, ::Google::Cloud::Dataform::V1beta1::ReadRepositoryFileRequest, ::Google::Cloud::Dataform::V1beta1::ReadRepositoryFileResponse
            # Returns the contents of a given Repository directory. The Repository must
            # not have a value for `git_remote_settings.url`.
            rpc :QueryRepositoryDirectoryContents, ::Google::Cloud::Dataform::V1beta1::QueryRepositoryDirectoryContentsRequest, ::Google::Cloud::Dataform::V1beta1::QueryRepositoryDirectoryContentsResponse
            # Fetches a Repository's history of commits.  The Repository must not have a
            # value for `git_remote_settings.url`.
            rpc :FetchRepositoryHistory, ::Google::Cloud::Dataform::V1beta1::FetchRepositoryHistoryRequest, ::Google::Cloud::Dataform::V1beta1::FetchRepositoryHistoryResponse
            # Computes a Repository's Git access token status.
            rpc :ComputeRepositoryAccessTokenStatus, ::Google::Cloud::Dataform::V1beta1::ComputeRepositoryAccessTokenStatusRequest, ::Google::Cloud::Dataform::V1beta1::ComputeRepositoryAccessTokenStatusResponse
            # Fetches a Repository's remote branches.
            rpc :FetchRemoteBranches, ::Google::Cloud::Dataform::V1beta1::FetchRemoteBranchesRequest, ::Google::Cloud::Dataform::V1beta1::FetchRemoteBranchesResponse
            # Lists Workspaces in a given Repository.
            rpc :ListWorkspaces, ::Google::Cloud::Dataform::V1beta1::ListWorkspacesRequest, ::Google::Cloud::Dataform::V1beta1::ListWorkspacesResponse
            # Fetches a single Workspace.
            rpc :GetWorkspace, ::Google::Cloud::Dataform::V1beta1::GetWorkspaceRequest, ::Google::Cloud::Dataform::V1beta1::Workspace
            # Creates a new Workspace in a given Repository.
            rpc :CreateWorkspace, ::Google::Cloud::Dataform::V1beta1::CreateWorkspaceRequest, ::Google::Cloud::Dataform::V1beta1::Workspace
            # Deletes a single Workspace.
            rpc :DeleteWorkspace, ::Google::Cloud::Dataform::V1beta1::DeleteWorkspaceRequest, ::Google::Protobuf::Empty
            # Installs dependency NPM packages (inside a Workspace).
            rpc :InstallNpmPackages, ::Google::Cloud::Dataform::V1beta1::InstallNpmPackagesRequest, ::Google::Cloud::Dataform::V1beta1::InstallNpmPackagesResponse
            # Pulls Git commits from the Repository's remote into a Workspace.
            rpc :PullGitCommits, ::Google::Cloud::Dataform::V1beta1::PullGitCommitsRequest, ::Google::Cloud::Dataform::V1beta1::PullGitCommitsResponse
            # Pushes Git commits from a Workspace to the Repository's remote.
            rpc :PushGitCommits, ::Google::Cloud::Dataform::V1beta1::PushGitCommitsRequest, ::Google::Cloud::Dataform::V1beta1::PushGitCommitsResponse
            # Fetches Git statuses for the files in a Workspace.
            rpc :FetchFileGitStatuses, ::Google::Cloud::Dataform::V1beta1::FetchFileGitStatusesRequest, ::Google::Cloud::Dataform::V1beta1::FetchFileGitStatusesResponse
            # Fetches Git ahead/behind against a remote branch.
            rpc :FetchGitAheadBehind, ::Google::Cloud::Dataform::V1beta1::FetchGitAheadBehindRequest, ::Google::Cloud::Dataform::V1beta1::FetchGitAheadBehindResponse
            # Applies a Git commit for uncommitted files in a Workspace.
            rpc :CommitWorkspaceChanges, ::Google::Cloud::Dataform::V1beta1::CommitWorkspaceChangesRequest, ::Google::Cloud::Dataform::V1beta1::CommitWorkspaceChangesResponse
            # Performs a Git reset for uncommitted files in a Workspace.
            rpc :ResetWorkspaceChanges, ::Google::Cloud::Dataform::V1beta1::ResetWorkspaceChangesRequest, ::Google::Cloud::Dataform::V1beta1::ResetWorkspaceChangesResponse
            # Fetches Git diff for an uncommitted file in a Workspace.
            rpc :FetchFileDiff, ::Google::Cloud::Dataform::V1beta1::FetchFileDiffRequest, ::Google::Cloud::Dataform::V1beta1::FetchFileDiffResponse
            # Returns the contents of a given Workspace directory.
            rpc :QueryDirectoryContents, ::Google::Cloud::Dataform::V1beta1::QueryDirectoryContentsRequest, ::Google::Cloud::Dataform::V1beta1::QueryDirectoryContentsResponse
            # Finds the contents of a given Workspace directory by filter.
            rpc :SearchFiles, ::Google::Cloud::Dataform::V1beta1::SearchFilesRequest, ::Google::Cloud::Dataform::V1beta1::SearchFilesResponse
            # Creates a directory inside a Workspace.
            rpc :MakeDirectory, ::Google::Cloud::Dataform::V1beta1::MakeDirectoryRequest, ::Google::Cloud::Dataform::V1beta1::MakeDirectoryResponse
            # Deletes a directory (inside a Workspace) and all of its contents.
            rpc :RemoveDirectory, ::Google::Cloud::Dataform::V1beta1::RemoveDirectoryRequest, ::Google::Cloud::Dataform::V1beta1::RemoveDirectoryResponse
            # Moves a directory (inside a Workspace), and all of its contents, to a new
            # location.
            rpc :MoveDirectory, ::Google::Cloud::Dataform::V1beta1::MoveDirectoryRequest, ::Google::Cloud::Dataform::V1beta1::MoveDirectoryResponse
            # Returns the contents of a file (inside a Workspace).
            rpc :ReadFile, ::Google::Cloud::Dataform::V1beta1::ReadFileRequest, ::Google::Cloud::Dataform::V1beta1::ReadFileResponse
            # Deletes a file (inside a Workspace).
            rpc :RemoveFile, ::Google::Cloud::Dataform::V1beta1::RemoveFileRequest, ::Google::Cloud::Dataform::V1beta1::RemoveFileResponse
            # Moves a file (inside a Workspace) to a new location.
            rpc :MoveFile, ::Google::Cloud::Dataform::V1beta1::MoveFileRequest, ::Google::Cloud::Dataform::V1beta1::MoveFileResponse
            # Writes to a file (inside a Workspace).
            rpc :WriteFile, ::Google::Cloud::Dataform::V1beta1::WriteFileRequest, ::Google::Cloud::Dataform::V1beta1::WriteFileResponse
            # Lists ReleaseConfigs in a given Repository.
            rpc :ListReleaseConfigs, ::Google::Cloud::Dataform::V1beta1::ListReleaseConfigsRequest, ::Google::Cloud::Dataform::V1beta1::ListReleaseConfigsResponse
            # Fetches a single ReleaseConfig.
            rpc :GetReleaseConfig, ::Google::Cloud::Dataform::V1beta1::GetReleaseConfigRequest, ::Google::Cloud::Dataform::V1beta1::ReleaseConfig
            # Creates a new ReleaseConfig in a given Repository.
            rpc :CreateReleaseConfig, ::Google::Cloud::Dataform::V1beta1::CreateReleaseConfigRequest, ::Google::Cloud::Dataform::V1beta1::ReleaseConfig
            # Updates a single ReleaseConfig.
            #
            # **Note:** *This method does not fully implement
            # [AIP/134](https://google.aip.dev/134). The wildcard entry (\*) is treated
            # as a bad request, and when the `field_mask` is omitted, the request is
            # treated as a full update on all modifiable fields.*
            rpc :UpdateReleaseConfig, ::Google::Cloud::Dataform::V1beta1::UpdateReleaseConfigRequest, ::Google::Cloud::Dataform::V1beta1::ReleaseConfig
            # Deletes a single ReleaseConfig.
            rpc :DeleteReleaseConfig, ::Google::Cloud::Dataform::V1beta1::DeleteReleaseConfigRequest, ::Google::Protobuf::Empty
            # Lists CompilationResults in a given Repository.
            rpc :ListCompilationResults, ::Google::Cloud::Dataform::V1beta1::ListCompilationResultsRequest, ::Google::Cloud::Dataform::V1beta1::ListCompilationResultsResponse
            # Fetches a single CompilationResult.
            rpc :GetCompilationResult, ::Google::Cloud::Dataform::V1beta1::GetCompilationResultRequest, ::Google::Cloud::Dataform::V1beta1::CompilationResult
            # Creates a new CompilationResult in a given project and location.
            rpc :CreateCompilationResult, ::Google::Cloud::Dataform::V1beta1::CreateCompilationResultRequest, ::Google::Cloud::Dataform::V1beta1::CompilationResult
            # Returns CompilationResultActions in a given CompilationResult.
            rpc :QueryCompilationResultActions, ::Google::Cloud::Dataform::V1beta1::QueryCompilationResultActionsRequest, ::Google::Cloud::Dataform::V1beta1::QueryCompilationResultActionsResponse
            # Lists WorkflowConfigs in a given Repository.
            rpc :ListWorkflowConfigs, ::Google::Cloud::Dataform::V1beta1::ListWorkflowConfigsRequest, ::Google::Cloud::Dataform::V1beta1::ListWorkflowConfigsResponse
            # Fetches a single WorkflowConfig.
            rpc :GetWorkflowConfig, ::Google::Cloud::Dataform::V1beta1::GetWorkflowConfigRequest, ::Google::Cloud::Dataform::V1beta1::WorkflowConfig
            # Creates a new WorkflowConfig in a given Repository.
            rpc :CreateWorkflowConfig, ::Google::Cloud::Dataform::V1beta1::CreateWorkflowConfigRequest, ::Google::Cloud::Dataform::V1beta1::WorkflowConfig
            # Updates a single WorkflowConfig.
            #
            # **Note:** *This method does not fully implement
            # [AIP/134](https://google.aip.dev/134). The wildcard entry (\*) is treated
            # as a bad request, and when the `field_mask` is omitted, the request is
            # treated as a full update on all modifiable fields.*
            rpc :UpdateWorkflowConfig, ::Google::Cloud::Dataform::V1beta1::UpdateWorkflowConfigRequest, ::Google::Cloud::Dataform::V1beta1::WorkflowConfig
            # Deletes a single WorkflowConfig.
            rpc :DeleteWorkflowConfig, ::Google::Cloud::Dataform::V1beta1::DeleteWorkflowConfigRequest, ::Google::Protobuf::Empty
            # Lists WorkflowInvocations in a given Repository.
            rpc :ListWorkflowInvocations, ::Google::Cloud::Dataform::V1beta1::ListWorkflowInvocationsRequest, ::Google::Cloud::Dataform::V1beta1::ListWorkflowInvocationsResponse
            # Fetches a single WorkflowInvocation.
            rpc :GetWorkflowInvocation, ::Google::Cloud::Dataform::V1beta1::GetWorkflowInvocationRequest, ::Google::Cloud::Dataform::V1beta1::WorkflowInvocation
            # Creates a new WorkflowInvocation in a given Repository.
            rpc :CreateWorkflowInvocation, ::Google::Cloud::Dataform::V1beta1::CreateWorkflowInvocationRequest, ::Google::Cloud::Dataform::V1beta1::WorkflowInvocation
            # Deletes a single WorkflowInvocation.
            rpc :DeleteWorkflowInvocation, ::Google::Cloud::Dataform::V1beta1::DeleteWorkflowInvocationRequest, ::Google::Protobuf::Empty
            # Requests cancellation of a running WorkflowInvocation.
            rpc :CancelWorkflowInvocation, ::Google::Cloud::Dataform::V1beta1::CancelWorkflowInvocationRequest, ::Google::Cloud::Dataform::V1beta1::CancelWorkflowInvocationResponse
            # Returns WorkflowInvocationActions in a given WorkflowInvocation.
            rpc :QueryWorkflowInvocationActions, ::Google::Cloud::Dataform::V1beta1::QueryWorkflowInvocationActionsRequest, ::Google::Cloud::Dataform::V1beta1::QueryWorkflowInvocationActionsResponse
            # Get default config for a given project and location.
            rpc :GetConfig, ::Google::Cloud::Dataform::V1beta1::GetConfigRequest, ::Google::Cloud::Dataform::V1beta1::Config
            # Update default config for a given project and location.
            #
            # **Note:** *This method does not fully implement
            # [AIP/134](https://google.aip.dev/134). The wildcard entry (\*) is treated
            # as a bad request, and when the `field_mask` is omitted, the request is
            # treated as a full update on all modifiable fields.*
            rpc :UpdateConfig, ::Google::Cloud::Dataform::V1beta1::UpdateConfigRequest, ::Google::Cloud::Dataform::V1beta1::Config
          end

          Stub = Service.rpc_stub_class
        end
      end
    end
  end
end
