# Copyright 2020 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 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module DataformV1beta1
      # Dataform API
      #
      # Service to develop, version control, and operationalize SQL pipelines in
      #  BigQuery.
      #
      # @example
      #    require 'google/apis/dataform_v1beta1'
      #
      #    Dataform = Google::Apis::DataformV1beta1 # Alias the module
      #    service = Dataform::DataformService.new
      #
      # @see https://cloud.google.com/dataform/docs
      class DataformService < Google::Apis::Core::BaseService
        DEFAULT_ENDPOINT_TEMPLATE = "https://dataform.$UNIVERSE_DOMAIN$/"

        # @return [String]
        #  API key. Your API key identifies your project and provides you with API access,
        #  quota, and reports. Required unless you provide an OAuth 2.0 token.
        attr_accessor :key

        # @return [String]
        #  Available to use for quota purposes for server-side applications. Can be any
        #  arbitrary string assigned to a user, but should not exceed 40 characters.
        attr_accessor :quota_user

        def initialize
          super(DEFAULT_ENDPOINT_TEMPLATE, '',
                client_name: 'google-apis-dataform_v1beta1',
                client_version: Google::Apis::DataformV1beta1::GEM_VERSION)
          @batch_path = 'batch'
        end
        
        # Gets information about a location.
        # @param [String] name
        #   Resource name for the location.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Location] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Location]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Location::Representation
          command.response_class = Google::Apis::DataformV1beta1::Location
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Get default config for a given project and location.
        # @param [String] name
        #   Required. The config name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Config] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Config]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Config::Representation
          command.response_class = Google::Apis::DataformV1beta1::Config
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists information about the supported locations for this service.
        # @param [String] name
        #   The resource that owns the locations collection, if applicable.
        # @param [Array<String>, String] extra_location_types
        #   Optional. Unless explicitly documented otherwise, don't use this unsupported
        #   field which is primarily intended for internal usage.
        # @param [String] filter
        #   A filter to narrow down results to a preferred subset. The filtering language
        #   accepts strings like `"displayName=tokyo"`, and is documented in more detail
        #   in [AIP-160](https://google.aip.dev/160).
        # @param [Fixnum] page_size
        #   The maximum number of results to return. If not set, the service selects a
        #   default.
        # @param [String] page_token
        #   A page token received from the `next_page_token` field in the response. Send
        #   that page token to receive the subsequent page.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListLocationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListLocationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_locations(name, extra_location_types: nil, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}/locations', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListLocationsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListLocationsResponse
          command.params['name'] = name unless name.nil?
          command.query['extraLocationTypes'] = extra_location_types unless extra_location_types.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.*
        # @param [String] name
        #   Identifier. The config name.
        # @param [Google::Apis::DataformV1beta1::Config] config_object
        # @param [String] update_mask
        #   Optional. Specifies the fields to be updated in the config.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Config] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Config]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def update_project_location_config(name, config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1beta1/{+name}', options)
          command.request_representation = Google::Apis::DataformV1beta1::Config::Representation
          command.request_object = config_object
          command.response_representation = Google::Apis::DataformV1beta1::Config::Representation
          command.response_class = Google::Apis::DataformV1beta1::Config
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Starts asynchronous cancellation on a long-running operation. The server makes
        # a best effort to cancel the operation, but success is not guaranteed. If the
        # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
        # Clients can use Operations.GetOperation or other methods to check whether the
        # cancellation succeeded or whether the operation completed despite cancellation.
        # On successful cancellation, the operation is not deleted; instead, it becomes
        # an operation with an Operation.error value with a google.rpc.Status.code of `1`
        # , corresponding to `Code.CANCELLED`.
        # @param [String] name
        #   The name of the operation resource to be cancelled.
        # @param [Google::Apis::DataformV1beta1::CancelOperationRequest] cancel_operation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_operation(name, cancel_operation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options)
          command.request_representation = Google::Apis::DataformV1beta1::CancelOperationRequest::Representation
          command.request_object = cancel_operation_request_object
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a long-running operation. This method indicates that the client is no
        # longer interested in the operation result. It does not cancel the operation.
        # If the server doesn't support this method, it returns `google.rpc.Code.
        # UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation resource to be deleted.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Gets the latest state of a long-running operation. Clients can use this method
        # to poll the operation result at intervals as recommended by the API service.
        # @param [String] name
        #   The name of the operation resource.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Operation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Operation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_operation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Operation::Representation
          command.response_class = Google::Apis::DataformV1beta1::Operation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists operations that match the specified filter in the request. If the server
        # doesn't support this method, it returns `UNIMPLEMENTED`.
        # @param [String] name
        #   The name of the operation's parent resource.
        # @param [String] filter
        #   The standard list filter.
        # @param [Fixnum] page_size
        #   The standard list page size.
        # @param [String] page_token
        #   The standard list page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListOperationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListOperationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_operations(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}/operations', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListOperationsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListOperationsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Applies a Git commit to a Repository. The Repository must not have a value for
        # `git_remote_settings.url`.
        # @param [String] name
        #   Required. The repository's name.
        # @param [Google::Apis::DataformV1beta1::CommitRepositoryChangesRequest] commit_repository_changes_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::CommitRepositoryChangesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::CommitRepositoryChangesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def commit_repository_changes(name, commit_repository_changes_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:commit', options)
          command.request_representation = Google::Apis::DataformV1beta1::CommitRepositoryChangesRequest::Representation
          command.request_object = commit_repository_changes_request_object
          command.response_representation = Google::Apis::DataformV1beta1::CommitRepositoryChangesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::CommitRepositoryChangesResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Computes a Repository's Git access token status.
        # @param [String] name
        #   Required. The repository's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ComputeRepositoryAccessTokenStatusResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ComputeRepositoryAccessTokenStatusResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def compute_project_location_repository_access_token_status(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:computeAccessTokenStatus', options)
          command.response_representation = Google::Apis::DataformV1beta1::ComputeRepositoryAccessTokenStatusResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ComputeRepositoryAccessTokenStatusResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new Repository in a given project and location.
        # @param [String] parent
        #   Required. The location in which to create the repository. Must be in the
        #   format `projects/*/locations/*`.
        # @param [Google::Apis::DataformV1beta1::Repository] repository_object
        # @param [String] repository_id
        #   Required. The ID to use for the repository, which will become the final
        #   component of the repository's resource name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Repository] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Repository]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository(parent, repository_object = nil, repository_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/repositories', options)
          command.request_representation = Google::Apis::DataformV1beta1::Repository::Representation
          command.request_object = repository_object
          command.response_representation = Google::Apis::DataformV1beta1::Repository::Representation
          command.response_class = Google::Apis::DataformV1beta1::Repository
          command.params['parent'] = parent unless parent.nil?
          command.query['repositoryId'] = repository_id unless repository_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single Repository.
        # @param [String] name
        #   Required. The repository's name.
        # @param [Boolean] force
        #   Optional. If set to true, child resources of this repository (compilation
        #   results and workflow invocations) will also be deleted. Otherwise, the request
        #   will only succeed if the repository has no child resources. **Note:** *This
        #   flag doesn't support deletion of workspaces, release configs or workflow
        #   configs. If any of such resources exists in the repository, the request will
        #   fail.*.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_repository(name, force: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['force'] = force unless force.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a Repository's history of commits. The Repository must not have a
        # value for `git_remote_settings.url`.
        # @param [String] name
        #   Required. The repository's name.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of commits to return. The server may return fewer
        #   items than requested. If unspecified, the server will pick an appropriate
        #   default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `FetchRepositoryHistory` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `FetchRepositoryHistory`, with the exception of `
        #   page_size`, must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::FetchRepositoryHistoryResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::FetchRepositoryHistoryResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_repository_history(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:fetchHistory', options)
          command.response_representation = Google::Apis::DataformV1beta1::FetchRepositoryHistoryResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::FetchRepositoryHistoryResponse
          command.params['name'] = name unless name.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a Repository's remote branches.
        # @param [String] name
        #   Required. The repository's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::FetchRemoteBranchesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::FetchRemoteBranchesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_repository_remote_branches(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:fetchRemoteBranches', options)
          command.response_representation = Google::Apis::DataformV1beta1::FetchRemoteBranchesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::FetchRemoteBranchesResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single Repository.
        # @param [String] name
        #   Required. The repository's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Repository] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Repository]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Repository::Representation
          command.response_class = Google::Apis::DataformV1beta1::Repository
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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)*.
        # @param [String] parent
        #   Required. The location in which to list repositories. Must be in the format `
        #   projects/*/locations/*`.
        # @param [String] filter
        #   Optional. Filter for the returned list.
        # @param [String] order_by
        #   Optional. This field only supports ordering by `name`. If unspecified, the
        #   server will choose the ordering. If specified, the default order is ascending
        #   for the `name` field.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of repositories to return. The server may return
        #   fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListRepositories` call. Provide
        #   this to retrieve the subsequent page. When paginating, all other parameters
        #   provided to `ListRepositories`, with the exception of `page_size`, must match
        #   the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListRepositoriesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListRepositoriesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repositories(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/repositories', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListRepositoriesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListRepositoriesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.*
        # @param [String] name
        #   Identifier. The repository's name.
        # @param [Google::Apis::DataformV1beta1::Repository] repository_object
        # @param [String] update_mask
        #   Optional. Specifies the fields to be updated in the repository. If left unset,
        #   all fields will be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Repository] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Repository]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_repository(name, repository_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1beta1/{+name}', options)
          command.request_representation = Google::Apis::DataformV1beta1::Repository::Representation
          command.request_object = repository_object
          command.response_representation = Google::Apis::DataformV1beta1::Repository::Representation
          command.response_class = Google::Apis::DataformV1beta1::Repository
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns the contents of a given Repository directory. The Repository must not
        # have a value for `git_remote_settings.url`.
        # @param [String] name
        #   Required. The repository's name.
        # @param [String] commit_sha
        #   Optional. The Commit SHA for the commit to query from. If unset, the directory
        #   will be queried from HEAD.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of paths to return. The server may return fewer items
        #   than requested. If unspecified, the server will pick an appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `
        #   QueryRepositoryDirectoryContents` call. Provide this to retrieve the
        #   subsequent page. When paginating, all other parameters provided to `
        #   QueryRepositoryDirectoryContents`, with the exception of `page_size`, must
        #   match the call that provided the page token.
        # @param [String] path
        #   Optional. The directory's full path including directory name, relative to root.
        #   If left unset, the root is used.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::QueryRepositoryDirectoryContentsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::QueryRepositoryDirectoryContentsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_repository_directory_contents(name, commit_sha: nil, page_size: nil, page_token: nil, path: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:queryDirectoryContents', options)
          command.response_representation = Google::Apis::DataformV1beta1::QueryRepositoryDirectoryContentsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::QueryRepositoryDirectoryContentsResponse
          command.params['name'] = name unless name.nil?
          command.query['commitSha'] = commit_sha unless commit_sha.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['path'] = path unless path.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns the contents of a file (inside a Repository). The Repository must not
        # have a value for `git_remote_settings.url`.
        # @param [String] name
        #   Required. The repository's name.
        # @param [String] commit_sha
        #   Optional. The commit SHA for the commit to read from. If unset, the file will
        #   be read from HEAD.
        # @param [String] path
        #   Required. Full file path to read including filename, from repository root.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ReadRepositoryFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ReadRepositoryFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_repository_file(name, commit_sha: nil, path: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:readFile', options)
          command.response_representation = Google::Apis::DataformV1beta1::ReadRepositoryFileResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ReadRepositoryFileResponse
          command.params['name'] = name unless name.nil?
          command.query['commitSha'] = commit_sha unless commit_sha.nil?
          command.query['path'] = path unless path.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new CompilationResult in a given project and location.
        # @param [String] parent
        #   Required. The repository in which to create the compilation result. Must be in
        #   the format `projects/*/locations/*/repositories/*`.
        # @param [Google::Apis::DataformV1beta1::CompilationResult] compilation_result_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::CompilationResult] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::CompilationResult]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository_compilation_result(parent, compilation_result_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/compilationResults', options)
          command.request_representation = Google::Apis::DataformV1beta1::CompilationResult::Representation
          command.request_object = compilation_result_object
          command.response_representation = Google::Apis::DataformV1beta1::CompilationResult::Representation
          command.response_class = Google::Apis::DataformV1beta1::CompilationResult
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single CompilationResult.
        # @param [String] name
        #   Required. The compilation result's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::CompilationResult] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::CompilationResult]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository_compilation_result(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::CompilationResult::Representation
          command.response_class = Google::Apis::DataformV1beta1::CompilationResult
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists CompilationResults in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to list compilation results. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [String] filter
        #   Optional. Filter for the returned list.
        # @param [String] order_by
        #   Optional. This field only supports ordering by `name` and `create_time`. If
        #   unspecified, the server will choose the ordering. If specified, the default
        #   order is ascending for the `name` field.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of compilation results to return. The server may
        #   return fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListCompilationResults` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListCompilationResults`, with the exception of `
        #   page_size`, must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListCompilationResultsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListCompilationResultsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repository_compilation_results(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/compilationResults', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListCompilationResultsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListCompilationResultsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns CompilationResultActions in a given CompilationResult.
        # @param [String] name
        #   Required. The compilation result's name.
        # @param [String] filter
        #   Optional. Optional filter for the returned list. Filtering is only currently
        #   supported on the `file_path` field.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of compilation results to return. The server may
        #   return fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `QueryCompilationResultActions`
        #   call. Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `QueryCompilationResultActions`, with the exception of `
        #   page_size`, must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::QueryCompilationResultActionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::QueryCompilationResultActionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_repository_compilation_result(name, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:query', options)
          command.response_representation = Google::Apis::DataformV1beta1::QueryCompilationResultActionsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::QueryCompilationResultActionsResponse
          command.params['name'] = name unless name.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new ReleaseConfig in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to create the release config. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [Google::Apis::DataformV1beta1::ReleaseConfig] release_config_object
        # @param [String] release_config_id
        #   Required. The ID to use for the release config, which will become the final
        #   component of the release config's resource name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ReleaseConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ReleaseConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository_release_config(parent, release_config_object = nil, release_config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/releaseConfigs', options)
          command.request_representation = Google::Apis::DataformV1beta1::ReleaseConfig::Representation
          command.request_object = release_config_object
          command.response_representation = Google::Apis::DataformV1beta1::ReleaseConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::ReleaseConfig
          command.params['parent'] = parent unless parent.nil?
          command.query['releaseConfigId'] = release_config_id unless release_config_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single ReleaseConfig.
        # @param [String] name
        #   Required. The release config's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_repository_release_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single ReleaseConfig.
        # @param [String] name
        #   Required. The release config's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ReleaseConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ReleaseConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository_release_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::ReleaseConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::ReleaseConfig
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists ReleaseConfigs in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to list release configs. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of release configs to return. The server may return
        #   fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListReleaseConfigs` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListReleaseConfigs`, with the exception of `page_size`,
        #   must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListReleaseConfigsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListReleaseConfigsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repository_release_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/releaseConfigs', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListReleaseConfigsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListReleaseConfigsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.*
        # @param [String] name
        #   Identifier. The release config's name.
        # @param [Google::Apis::DataformV1beta1::ReleaseConfig] release_config_object
        # @param [String] update_mask
        #   Optional. Specifies the fields to be updated in the release config. If left
        #   unset, all fields will be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ReleaseConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ReleaseConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_repository_release_config(name, release_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1beta1/{+name}', options)
          command.request_representation = Google::Apis::DataformV1beta1::ReleaseConfig::Representation
          command.request_object = release_config_object
          command.response_representation = Google::Apis::DataformV1beta1::ReleaseConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::ReleaseConfig
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new WorkflowConfig in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to create the workflow config. Must be in
        #   the format `projects/*/locations/*/repositories/*`.
        # @param [Google::Apis::DataformV1beta1::WorkflowConfig] workflow_config_object
        # @param [String] workflow_config_id
        #   Required. The ID to use for the workflow config, which will become the final
        #   component of the workflow config's resource name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WorkflowConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WorkflowConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository_workflow_config(parent, workflow_config_object = nil, workflow_config_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/workflowConfigs', options)
          command.request_representation = Google::Apis::DataformV1beta1::WorkflowConfig::Representation
          command.request_object = workflow_config_object
          command.response_representation = Google::Apis::DataformV1beta1::WorkflowConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::WorkflowConfig
          command.params['parent'] = parent unless parent.nil?
          command.query['workflowConfigId'] = workflow_config_id unless workflow_config_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single WorkflowConfig.
        # @param [String] name
        #   Required. The workflow config's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_repository_workflow_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single WorkflowConfig.
        # @param [String] name
        #   Required. The workflow config's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WorkflowConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WorkflowConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository_workflow_config(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::WorkflowConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::WorkflowConfig
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists WorkflowConfigs in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to list workflow configs. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of workflow configs to return. The server may return
        #   fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListWorkflowConfigs` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListWorkflowConfigs`, with the exception of `page_size`
        #   , must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListWorkflowConfigsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListWorkflowConfigsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repository_workflow_configs(parent, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/workflowConfigs', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListWorkflowConfigsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListWorkflowConfigsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # 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.*
        # @param [String] name
        #   Identifier. The workflow config's name.
        # @param [Google::Apis::DataformV1beta1::WorkflowConfig] workflow_config_object
        # @param [String] update_mask
        #   Optional. Specifies the fields to be updated in the workflow config. If left
        #   unset, all fields will be updated.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WorkflowConfig] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WorkflowConfig]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def patch_project_location_repository_workflow_config(name, workflow_config_object = nil, update_mask: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:patch, 'v1beta1/{+name}', options)
          command.request_representation = Google::Apis::DataformV1beta1::WorkflowConfig::Representation
          command.request_object = workflow_config_object
          command.response_representation = Google::Apis::DataformV1beta1::WorkflowConfig::Representation
          command.response_class = Google::Apis::DataformV1beta1::WorkflowConfig
          command.params['name'] = name unless name.nil?
          command.query['updateMask'] = update_mask unless update_mask.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Requests cancellation of a running WorkflowInvocation.
        # @param [String] name
        #   Required. The workflow invocation resource's name.
        # @param [Google::Apis::DataformV1beta1::CancelWorkflowInvocationRequest] cancel_workflow_invocation_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::CancelWorkflowInvocationResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::CancelWorkflowInvocationResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def cancel_workflow_invocation(name, cancel_workflow_invocation_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:cancel', options)
          command.request_representation = Google::Apis::DataformV1beta1::CancelWorkflowInvocationRequest::Representation
          command.request_object = cancel_workflow_invocation_request_object
          command.response_representation = Google::Apis::DataformV1beta1::CancelWorkflowInvocationResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::CancelWorkflowInvocationResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new WorkflowInvocation in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to create the workflow invocation. Must be
        #   in the format `projects/*/locations/*/repositories/*`.
        # @param [Google::Apis::DataformV1beta1::WorkflowInvocation] workflow_invocation_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WorkflowInvocation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WorkflowInvocation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository_workflow_invocation(parent, workflow_invocation_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/workflowInvocations', options)
          command.request_representation = Google::Apis::DataformV1beta1::WorkflowInvocation::Representation
          command.request_object = workflow_invocation_object
          command.response_representation = Google::Apis::DataformV1beta1::WorkflowInvocation::Representation
          command.response_class = Google::Apis::DataformV1beta1::WorkflowInvocation
          command.params['parent'] = parent unless parent.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single WorkflowInvocation.
        # @param [String] name
        #   Required. The workflow invocation resource's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_repository_workflow_invocation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single WorkflowInvocation.
        # @param [String] name
        #   Required. The workflow invocation resource's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WorkflowInvocation] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WorkflowInvocation]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository_workflow_invocation(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::WorkflowInvocation::Representation
          command.response_class = Google::Apis::DataformV1beta1::WorkflowInvocation
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists WorkflowInvocations in a given Repository.
        # @param [String] parent
        #   Required. The parent resource of the WorkflowInvocation type. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [String] filter
        #   Optional. Filter for the returned list.
        # @param [String] order_by
        #   Optional. This field only supports ordering by `name`. If unspecified, the
        #   server will choose the ordering. If specified, the default order is ascending
        #   for the `name` field.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of workflow invocations to return. The server may
        #   return fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListWorkflowInvocations` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `ListWorkflowInvocations`, with the exception of `
        #   page_size`, must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListWorkflowInvocationsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListWorkflowInvocationsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repository_workflow_invocations(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/workflowInvocations', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListWorkflowInvocationsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListWorkflowInvocationsResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns WorkflowInvocationActions in a given WorkflowInvocation.
        # @param [String] name
        #   Required. The workflow invocation's name.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of workflow invocations to return. The server may
        #   return fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `QueryWorkflowInvocationActions`
        #   call. Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `QueryWorkflowInvocationActions`, with the exception of
        #   `page_size`, must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::QueryWorkflowInvocationActionsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::QueryWorkflowInvocationActionsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_repository_workflow_invocation(name, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:query', options)
          command.response_representation = Google::Apis::DataformV1beta1::QueryWorkflowInvocationActionsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::QueryWorkflowInvocationActionsResponse
          command.params['name'] = name unless name.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Applies a Git commit for uncommitted files in a Workspace.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::CommitWorkspaceChangesRequest] commit_workspace_changes_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::CommitWorkspaceChangesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::CommitWorkspaceChangesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def commit_workspace_changes(name, commit_workspace_changes_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:commit', options)
          command.request_representation = Google::Apis::DataformV1beta1::CommitWorkspaceChangesRequest::Representation
          command.request_object = commit_workspace_changes_request_object
          command.response_representation = Google::Apis::DataformV1beta1::CommitWorkspaceChangesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::CommitWorkspaceChangesResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a new Workspace in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to create the workspace. Must be in the
        #   format `projects/*/locations/*/repositories/*`.
        # @param [Google::Apis::DataformV1beta1::Workspace] workspace_object
        # @param [String] workspace_id
        #   Required. The ID to use for the workspace, which will become the final
        #   component of the workspace's resource name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Workspace] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Workspace]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def create_project_location_repository_workspace(parent, workspace_object = nil, workspace_id: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+parent}/workspaces', options)
          command.request_representation = Google::Apis::DataformV1beta1::Workspace::Representation
          command.request_object = workspace_object
          command.response_representation = Google::Apis::DataformV1beta1::Workspace::Representation
          command.response_class = Google::Apis::DataformV1beta1::Workspace
          command.params['parent'] = parent unless parent.nil?
          command.query['workspaceId'] = workspace_id unless workspace_id.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a single Workspace.
        # @param [String] name
        #   Required. The workspace resource's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Empty] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Empty]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def delete_project_location_repository_workspace(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:delete, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Empty::Representation
          command.response_class = Google::Apis::DataformV1beta1::Empty
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches Git diff for an uncommitted file in a Workspace.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [String] path
        #   Required. The file's full path including filename, relative to the workspace
        #   root.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::FetchFileDiffResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::FetchFileDiffResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_repository_workspace_file_diff(workspace, path: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+workspace}:fetchFileDiff', options)
          command.response_representation = Google::Apis::DataformV1beta1::FetchFileDiffResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::FetchFileDiffResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['path'] = path unless path.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches Git statuses for the files in a Workspace.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::FetchFileGitStatusesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::FetchFileGitStatusesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_repository_workspace_file_git_statuses(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:fetchFileGitStatuses', options)
          command.response_representation = Google::Apis::DataformV1beta1::FetchFileGitStatusesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::FetchFileGitStatusesResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches Git ahead/behind against a remote branch.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [String] remote_branch
        #   Optional. The name of the branch in the Git remote against which this
        #   workspace should be compared. If left unset, the repository's default branch
        #   name will be used.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::FetchGitAheadBehindResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::FetchGitAheadBehindResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def fetch_project_location_repository_workspace_git_ahead_behind(name, remote_branch: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}:fetchGitAheadBehind', options)
          command.response_representation = Google::Apis::DataformV1beta1::FetchGitAheadBehindResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::FetchGitAheadBehindResponse
          command.params['name'] = name unless name.nil?
          command.query['remoteBranch'] = remote_branch unless remote_branch.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Fetches a single Workspace.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::Workspace] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::Workspace]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def get_project_location_repository_workspace(name, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+name}', options)
          command.response_representation = Google::Apis::DataformV1beta1::Workspace::Representation
          command.response_class = Google::Apis::DataformV1beta1::Workspace
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Installs dependency NPM packages (inside a Workspace).
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::InstallNpmPackagesRequest] install_npm_packages_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::InstallNpmPackagesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::InstallNpmPackagesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def install_workspace_npm_packages(workspace, install_npm_packages_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:installNpmPackages', options)
          command.request_representation = Google::Apis::DataformV1beta1::InstallNpmPackagesRequest::Representation
          command.request_object = install_npm_packages_request_object
          command.response_representation = Google::Apis::DataformV1beta1::InstallNpmPackagesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::InstallNpmPackagesResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Lists Workspaces in a given Repository.
        # @param [String] parent
        #   Required. The repository in which to list workspaces. Must be in the format `
        #   projects/*/locations/*/repositories/*`.
        # @param [String] filter
        #   Optional. Filter for the returned list.
        # @param [String] order_by
        #   Optional. This field only supports ordering by `name`. If unspecified, the
        #   server will choose the ordering. If specified, the default order is ascending
        #   for the `name` field.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of workspaces to return. The server may return fewer
        #   items than requested. If unspecified, the server will pick an appropriate
        #   default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `ListWorkspaces` call. Provide
        #   this to retrieve the subsequent page. When paginating, all other parameters
        #   provided to `ListWorkspaces`, with the exception of `page_size`, must match
        #   the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ListWorkspacesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ListWorkspacesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def list_project_location_repository_workspaces(parent, filter: nil, order_by: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+parent}/workspaces', options)
          command.response_representation = Google::Apis::DataformV1beta1::ListWorkspacesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ListWorkspacesResponse
          command.params['parent'] = parent unless parent.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['orderBy'] = order_by unless order_by.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Creates a directory inside a Workspace.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::MakeDirectoryRequest] make_directory_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::MakeDirectoryResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::MakeDirectoryResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def make_workspace_directory(workspace, make_directory_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:makeDirectory', options)
          command.request_representation = Google::Apis::DataformV1beta1::MakeDirectoryRequest::Representation
          command.request_object = make_directory_request_object
          command.response_representation = Google::Apis::DataformV1beta1::MakeDirectoryResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::MakeDirectoryResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Moves a directory (inside a Workspace), and all of its contents, to a new
        # location.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::MoveDirectoryRequest] move_directory_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::MoveDirectoryResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::MoveDirectoryResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def move_workspace_directory(workspace, move_directory_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:moveDirectory', options)
          command.request_representation = Google::Apis::DataformV1beta1::MoveDirectoryRequest::Representation
          command.request_object = move_directory_request_object
          command.response_representation = Google::Apis::DataformV1beta1::MoveDirectoryResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::MoveDirectoryResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Moves a file (inside a Workspace) to a new location.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::MoveFileRequest] move_file_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::MoveFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::MoveFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def move_workspace_file(workspace, move_file_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:moveFile', options)
          command.request_representation = Google::Apis::DataformV1beta1::MoveFileRequest::Representation
          command.request_object = move_file_request_object
          command.response_representation = Google::Apis::DataformV1beta1::MoveFileResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::MoveFileResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Pulls Git commits from the Repository's remote into a Workspace.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::PullGitCommitsRequest] pull_git_commits_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::PullGitCommitsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::PullGitCommitsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def pull_workspace_git_commits(name, pull_git_commits_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:pull', options)
          command.request_representation = Google::Apis::DataformV1beta1::PullGitCommitsRequest::Representation
          command.request_object = pull_git_commits_request_object
          command.response_representation = Google::Apis::DataformV1beta1::PullGitCommitsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::PullGitCommitsResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Pushes Git commits from a Workspace to the Repository's remote.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::PushGitCommitsRequest] push_git_commits_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::PushGitCommitsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::PushGitCommitsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def push_workspace_git_commits(name, push_git_commits_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:push', options)
          command.request_representation = Google::Apis::DataformV1beta1::PushGitCommitsRequest::Representation
          command.request_object = push_git_commits_request_object
          command.response_representation = Google::Apis::DataformV1beta1::PushGitCommitsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::PushGitCommitsResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns the contents of a given Workspace directory.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of paths to return. The server may return fewer items
        #   than requested. If unspecified, the server will pick an appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `QueryDirectoryContents` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `QueryDirectoryContents`, with the exception of `
        #   page_size`, must match the call that provided the page token.
        # @param [String] path
        #   Optional. The directory's full path including directory name, relative to the
        #   workspace root. If left unset, the workspace root is used.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::QueryDirectoryContentsResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::QueryDirectoryContentsResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def query_project_location_repository_workspace_directory_contents(workspace, page_size: nil, page_token: nil, path: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+workspace}:queryDirectoryContents', options)
          command.response_representation = Google::Apis::DataformV1beta1::QueryDirectoryContentsResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::QueryDirectoryContentsResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['path'] = path unless path.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Returns the contents of a file (inside a Workspace).
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [String] path
        #   Required. The file's full path including filename, relative to the workspace
        #   root.
        # @param [String] revision
        #   Optional. The Git revision of the file to return. If left empty, the current
        #   contents of `path` will be returned.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ReadFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ReadFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def read_project_location_repository_workspace_file(workspace, path: nil, revision: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+workspace}:readFile', options)
          command.response_representation = Google::Apis::DataformV1beta1::ReadFileResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ReadFileResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['path'] = path unless path.nil?
          command.query['revision'] = revision unless revision.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a directory (inside a Workspace) and all of its contents.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::RemoveDirectoryRequest] remove_directory_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::RemoveDirectoryResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::RemoveDirectoryResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def remove_workspace_directory(workspace, remove_directory_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:removeDirectory', options)
          command.request_representation = Google::Apis::DataformV1beta1::RemoveDirectoryRequest::Representation
          command.request_object = remove_directory_request_object
          command.response_representation = Google::Apis::DataformV1beta1::RemoveDirectoryResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::RemoveDirectoryResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Deletes a file (inside a Workspace).
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::RemoveFileRequest] remove_file_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::RemoveFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::RemoveFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def remove_workspace_file(workspace, remove_file_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:removeFile', options)
          command.request_representation = Google::Apis::DataformV1beta1::RemoveFileRequest::Representation
          command.request_object = remove_file_request_object
          command.response_representation = Google::Apis::DataformV1beta1::RemoveFileResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::RemoveFileResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Performs a Git reset for uncommitted files in a Workspace.
        # @param [String] name
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::ResetWorkspaceChangesRequest] reset_workspace_changes_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::ResetWorkspaceChangesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::ResetWorkspaceChangesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def reset_workspace_changes(name, reset_workspace_changes_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+name}:reset', options)
          command.request_representation = Google::Apis::DataformV1beta1::ResetWorkspaceChangesRequest::Representation
          command.request_object = reset_workspace_changes_request_object
          command.response_representation = Google::Apis::DataformV1beta1::ResetWorkspaceChangesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::ResetWorkspaceChangesResponse
          command.params['name'] = name unless name.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Finds the contents of a given Workspace directory by filter.
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [String] filter
        #   Optional. Optional filter for the returned list in filtering format. Filtering
        #   is only currently supported on the `path` field. See https://google.aip.dev/
        #   160 for details.
        # @param [Fixnum] page_size
        #   Optional. Maximum number of search results to return. The server may return
        #   fewer items than requested. If unspecified, the server will pick an
        #   appropriate default.
        # @param [String] page_token
        #   Optional. Page token received from a previous `SearchFilesRequest` call.
        #   Provide this to retrieve the subsequent page. When paginating, all other
        #   parameters provided to `SearchFilesRequest`, with the exception of `page_size`,
        #   must match the call that provided the page token.
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::SearchFilesResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::SearchFilesResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def search_project_location_repository_workspace_files(workspace, filter: nil, page_size: nil, page_token: nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:get, 'v1beta1/{+workspace}:searchFiles', options)
          command.response_representation = Google::Apis::DataformV1beta1::SearchFilesResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::SearchFilesResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['filter'] = filter unless filter.nil?
          command.query['pageSize'] = page_size unless page_size.nil?
          command.query['pageToken'] = page_token unless page_token.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end
        
        # Writes to a file (inside a Workspace).
        # @param [String] workspace
        #   Required. The workspace's name.
        # @param [Google::Apis::DataformV1beta1::WriteFileRequest] write_file_request_object
        # @param [String] fields
        #   Selector specifying which fields to include in a partial response.
        # @param [String] quota_user
        #   Available to use for quota purposes for server-side applications. Can be any
        #   arbitrary string assigned to a user, but should not exceed 40 characters.
        # @param [Google::Apis::RequestOptions] options
        #   Request-specific options
        #
        # @yield [result, err] Result & error if block supplied
        # @yieldparam result [Google::Apis::DataformV1beta1::WriteFileResponse] parsed result object
        # @yieldparam err [StandardError] error object if request failed
        #
        # @return [Google::Apis::DataformV1beta1::WriteFileResponse]
        #
        # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
        # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
        # @raise [Google::Apis::AuthorizationError] Authorization is required
        def write_workspace_file(workspace, write_file_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
          command = make_simple_command(:post, 'v1beta1/{+workspace}:writeFile', options)
          command.request_representation = Google::Apis::DataformV1beta1::WriteFileRequest::Representation
          command.request_object = write_file_request_object
          command.response_representation = Google::Apis::DataformV1beta1::WriteFileResponse::Representation
          command.response_class = Google::Apis::DataformV1beta1::WriteFileResponse
          command.params['workspace'] = workspace unless workspace.nil?
          command.query['fields'] = fields unless fields.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
          execute_or_queue_command(command, &block)
        end

        protected

        def apply_command_defaults(command)
          command.query['key'] = key unless key.nil?
          command.query['quotaUser'] = quota_user unless quota_user.nil?
        end
      end
    end
  end
end
