class Google::Cloud::Metastore::V1::DataprocMetastore::Client

Client for the DataprocMetastore service.

Configures and manages metastore services. Metastore services are fully managed, highly available, autoscaled, autohealing, OSS-native deployments of technical metadata management software. Each metastore service exposes a network endpoint through which metadata queries are served. Metadata queries can originate from a variety of sources, including Apache Hive, Apache Presto, and Apache Spark.

The Dataproc Metastore API defines the following resource model:

`/projects/*`

Attributes

dataproc_metastore_stub[R]

@private

operations_client[R]

Get the associated client for long-running operations.

@return [::Google::Cloud::Metastore::V1::DataprocMetastore::Operations]

Public Class Methods

configure() { |configure| ... } click to toggle source

Configure the DataprocMetastore Client class.

See {::Google::Cloud::Metastore::V1::DataprocMetastore::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all DataprocMetastore clients
::Google::Cloud::Metastore::V1::DataprocMetastore::Client.configure do |config|
  config.timeout = 10.0
end

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 72
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Metastore", "V1"]
    parent_config = while namespace.any?
                      parent_name = namespace.join "::"
                      parent_const = const_get parent_name
                      break parent_const.configure if parent_const.respond_to? :configure
                      namespace.pop
                    end
    default_config = Client::Configuration.new parent_config

    default_config.timeout = 60.0
    default_config.retry_policy = {
      initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
    }

    default_config.rpcs.create_service.timeout = 60.0

    default_config.rpcs.update_service.timeout = 60.0

    default_config.rpcs.delete_service.timeout = 60.0

    default_config.rpcs.create_metadata_import.timeout = 60.0

    default_config.rpcs.update_metadata_import.timeout = 60.0

    default_config.rpcs.export_metadata.timeout = 60.0

    default_config.rpcs.restore_service.timeout = 60.0

    default_config.rpcs.create_backup.timeout = 60.0

    default_config.rpcs.delete_backup.timeout = 60.0

    default_config
  end
  yield @configure if block_given?
  @configure
end
new() { |config| ... } click to toggle source

Create a new DataprocMetastore client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::Metastore::V1::DataprocMetastore::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Metastore::V1::DataprocMetastore::Client.new do |config|
  config.timeout = 10.0
end

@yield [config] Configure the DataprocMetastore client. @yieldparam config [Client::Configuration]

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 148
def initialize
  # These require statements are intentionally placed here to initialize
  # the gRPC module only when it's required.
  # See https://github.com/googleapis/toolkit/issues/446
  require "gapic/grpc"
  require "google/cloud/metastore/v1/metastore_services_pb"

  # Create the configuration object
  @config = Configuration.new Client.configure

  # Yield the configuration if needed
  yield @config if block_given?

  # Create credentials
  credentials = @config.credentials
  # Use self-signed JWT if the endpoint is unchanged from default,
  # but only if the default endpoint does not have a region prefix.
  enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
                           !@config.endpoint.split(".").first.include?("-")
  credentials ||= Credentials.default scope: @config.scope,
                                      enable_self_signed_jwt: enable_self_signed_jwt
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
    credentials = Credentials.new credentials, scope: @config.scope
  end
  @quota_project_id = @config.quota_project
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id

  @operations_client = Operations.new do |config|
    config.credentials = credentials
    config.endpoint = @config.endpoint
  end

  @dataproc_metastore_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Metastore::V1::DataprocMetastore::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

configure() { |config| ... } click to toggle source

Configure the DataprocMetastore Client instance.

The configuration is set to the derived mode, meaning that values can be changed, but structural changes (adding new fields, etc.) are not allowed. Structural changes should be made on {Client.configure}.

See {::Google::Cloud::Metastore::V1::DataprocMetastore::Client::Configuration} for a description of the configuration fields.

@yield [config] Configure the Client client. @yieldparam config [Client::Configuration]

@return [Client::Configuration]

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 127
def configure
  yield @config if block_given?
  @config
end
create_backup(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new backup in a given project and location.

@overload create_backup(request, options = nil)

Pass arguments to `create_backup` via a request object, either of type
{::Google::Cloud::Metastore::V1::CreateBackupRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::CreateBackupRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_backup(parent: nil, backup_id: nil, backup: nil, request_id: nil)

Pass arguments to `create_backup` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the service in which to create a backup
  of the following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}`.
@param backup_id [::String]
  Required. The ID of the backup, which is used as the final component of the
  backup's name.

  This value must be between 1 and 64 characters long, begin with a letter,
  end with a letter or number, and consist of alpha-numeric ASCII characters
  or hyphens.
@param backup [::Google::Cloud::Metastore::V1::Backup, ::Hash]
  Required. The backup to create. The `name` field is ignored. The ID of the created
  backup must be provided in the request's `backup_id` field.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1382
def create_backup request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::CreateBackupRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_backup.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_backup.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_backup.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :create_backup, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
create_metadata_import(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new MetadataImport in a given project and location.

@overload create_metadata_import(request, options = nil)

Pass arguments to `create_metadata_import` via a request object, either of type
{::Google::Cloud::Metastore::V1::CreateMetadataImportRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::CreateMetadataImportRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_metadata_import(parent: nil, metadata_import_id: nil, metadata_import: nil, request_id: nil)

Pass arguments to `create_metadata_import` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the service in which to create a metastore
  import, in the following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}`.
@param metadata_import_id [::String]
  Required. The ID of the metadata import, which is used as the final component of the
  metadata import's name.

  This value must be between 1 and 64 characters long, begin with a letter,
  end with a letter or number, and consist of alpha-numeric ASCII characters
  or hyphens.
@param metadata_import [::Google::Cloud::Metastore::V1::MetadataImport, ::Hash]
  Required. The metadata import to create. The `name` field is ignored. The ID of the
  created metadata import must be provided in the request's
  `metadata_import_id` field.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 850
def create_metadata_import request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::CreateMetadataImportRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_metadata_import.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_metadata_import.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_metadata_import.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :create_metadata_import, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
create_service(request, options = nil) { |response, operation| ... } click to toggle source

Creates a metastore service in a project and location.

@overload create_service(request, options = nil)

Pass arguments to `create_service` via a request object, either of type
{::Google::Cloud::Metastore::V1::CreateServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::CreateServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload create_service(parent: nil, service_id: nil, service: nil, request_id: nil)

Pass arguments to `create_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the location in which to create a metastore
  service, in the following form:

  `projects/{project_number}/locations/{location_id}`.
@param service_id [::String]
  Required. The ID of the metastore service, which is used as the final
  component of the metastore service's name.

  This value must be between 2 and 63 characters long inclusive, begin with a
  letter, end with a letter or number, and consist of alpha-numeric
  ASCII characters or hyphens.
@param service [::Google::Cloud::Metastore::V1::Service, ::Hash]
  Required. The Metastore service to create. The `name` field is
  ignored. The ID of the created metastore service must be provided in
  the request's `service_id` field.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 416
def create_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::CreateServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.create_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.create_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :create_service, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
delete_backup(request, options = nil) { |response, operation| ... } click to toggle source

Deletes a single backup.

@overload delete_backup(request, options = nil)

Pass arguments to `delete_backup` via a request object, either of type
{::Google::Cloud::Metastore::V1::DeleteBackupRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::DeleteBackupRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload delete_backup(name: nil, request_id: nil)

Pass arguments to `delete_backup` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The relative resource name of the backup to delete, in the
  following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}`.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1467
def delete_backup request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::DeleteBackupRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.delete_backup.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.delete_backup.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_backup.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :delete_backup, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
delete_service(request, options = nil) { |response, operation| ... } click to toggle source

Deletes a single service.

@overload delete_service(request, options = nil)

Pass arguments to `delete_service` via a request object, either of type
{::Google::Cloud::Metastore::V1::DeleteServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::DeleteServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload delete_service(name: nil, request_id: nil)

Pass arguments to `delete_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The relative resource name of the metastore service to delete, in the
  following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}`.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 592
def delete_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::DeleteServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.delete_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.delete_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :delete_service, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
export_metadata(request, options = nil) { |response, operation| ... } click to toggle source

Exports metadata from a service.

@overload export_metadata(request, options = nil)

Pass arguments to `export_metadata` via a request object, either of type
{::Google::Cloud::Metastore::V1::ExportMetadataRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::ExportMetadataRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload export_metadata(destination_gcs_folder: nil, service: nil, request_id: nil, database_dump_type: nil)

Pass arguments to `export_metadata` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param destination_gcs_folder [::String]
  A Cloud Storage URI of a folder, in the format
  `gs://<bucket_name>/<path_inside_bucket>`. A sub-folder
  `<export_folder>` containing exported files will be created below it.
@param service [::String]
  Required. The relative resource name of the metastore service to run export, in the
  following form:

  `projects/{project_id}/locations/{location_id}/services/{service_id}`.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.
@param database_dump_type [::Google::Cloud::Metastore::V1::DatabaseDumpSpec::Type]
  Optional. The type of the database dump. If unspecified, defaults to `MYSQL`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1033
def export_metadata request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::ExportMetadataRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.export_metadata.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "service" => request.service
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.export_metadata.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.export_metadata.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :export_metadata, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_backup(request, options = nil) { |response, operation| ... } click to toggle source

Gets details of a single backup.

@overload get_backup(request, options = nil)

Pass arguments to `get_backup` via a request object, either of type
{::Google::Cloud::Metastore::V1::GetBackupRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::GetBackupRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_backup(name: nil)

Pass arguments to `get_backup` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The relative resource name of the backup to retrieve, in the
  following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Metastore::V1::Backup] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Metastore::V1::Backup]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1288
def get_backup request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::GetBackupRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_backup.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_backup.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_backup.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :get_backup, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_metadata_import(request, options = nil) { |response, operation| ... } click to toggle source

Gets details of a single import.

@overload get_metadata_import(request, options = nil)

Pass arguments to `get_metadata_import` via a request object, either of type
{::Google::Cloud::Metastore::V1::GetMetadataImportRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::GetMetadataImportRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_metadata_import(name: nil)

Pass arguments to `get_metadata_import` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The relative resource name of the metadata import to retrieve, in the
  following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports/{import_id}`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Metastore::V1::MetadataImport] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Metastore::V1::MetadataImport]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 755
def get_metadata_import request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::GetMetadataImportRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_metadata_import.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_metadata_import.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_metadata_import.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :get_metadata_import, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
get_service(request, options = nil) { |response, operation| ... } click to toggle source

Gets the details of a single service.

@overload get_service(request, options = nil)

Pass arguments to `get_service` via a request object, either of type
{::Google::Cloud::Metastore::V1::GetServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::GetServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload get_service(name: nil)

Pass arguments to `get_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param name [::String]
  Required. The relative resource name of the metastore service to retrieve, in the
  following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}`.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Metastore::V1::Service] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Metastore::V1::Service]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 321
def get_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::GetServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.get_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "name" => request.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.get_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :get_service, request, options: options do |response, operation|
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_backups(request, options = nil) { |response, operation| ... } click to toggle source

Lists backups in a service.

@overload list_backups(request, options = nil)

Pass arguments to `list_backups` via a request object, either of type
{::Google::Cloud::Metastore::V1::ListBackupsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::ListBackupsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_backups(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_backups` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the service whose backups to
  list, in the following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}/backups`.
@param page_size [::Integer]
  Optional. The maximum number of backups to return. The response may contain less
  than the maximum number. If unspecified, no more than 500 backups are
  returned. The maximum value is 1000; values above 1000 are changed to 1000.
@param page_token [::String]
  Optional. A page token, received from a previous {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_backups DataprocMetastore.ListBackups}
  call. Provide this token to retrieve the subsequent page.

  To retrieve the first page, supply an empty page token.

  When paginating, other parameters provided to
  {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_backups DataprocMetastore.ListBackups} must match the call that provided the
  page token.
@param filter [::String]
  Optional. The filter to apply to list results.
@param order_by [::String]
  Optional. Specify the ordering of results as described in [Sorting
  Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  If not specified, the results will be sorted in the default order.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::Backup>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::Backup>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1216
def list_backups request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::ListBackupsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_backups.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_backups.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_backups.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :list_backups, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @dataproc_metastore_stub, :list_backups, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_metadata_imports(request, options = nil) { |response, operation| ... } click to toggle source

Lists imports in a service.

@overload list_metadata_imports(request, options = nil)

Pass arguments to `list_metadata_imports` via a request object, either of type
{::Google::Cloud::Metastore::V1::ListMetadataImportsRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::ListMetadataImportsRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_metadata_imports(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_metadata_imports` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the service whose metadata imports to
  list, in the following form:

  `projects/{project_number}/locations/{location_id}/services/{service_id}/metadataImports`.
@param page_size [::Integer]
  Optional. The maximum number of imports to return. The response may contain less
  than the maximum number. If unspecified, no more than 500 imports are
  returned. The maximum value is 1000; values above 1000 are changed to 1000.
@param page_token [::String]
  Optional. A page token, received from a previous {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_services DataprocMetastore.ListServices}
  call. Provide this token to retrieve the subsequent page.

  To retrieve the first page, supply an empty page token.

  When paginating, other parameters provided to
  {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_services DataprocMetastore.ListServices} must match the call that provided the
  page token.
@param filter [::String]
  Optional. The filter to apply to list results.
@param order_by [::String]
  Optional. Specify the ordering of results as described in [Sorting
  Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  If not specified, the results will be sorted in the default order.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::MetadataImport>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::MetadataImport>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 683
def list_metadata_imports request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::ListMetadataImportsRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_metadata_imports.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_metadata_imports.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_metadata_imports.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :list_metadata_imports, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @dataproc_metastore_stub, :list_metadata_imports, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
list_services(request, options = nil) { |response, operation| ... } click to toggle source

Lists services in a project and location.

@overload list_services(request, options = nil)

Pass arguments to `list_services` via a request object, either of type
{::Google::Cloud::Metastore::V1::ListServicesRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::ListServicesRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload list_services(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_services` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param parent [::String]
  Required. The relative resource name of the location of metastore services to
  list, in the following form:

  `projects/{project_number}/locations/{location_id}`.
@param page_size [::Integer]
  Optional. The maximum number of services to return. The response may contain less
  than the maximum number. If unspecified, no more than 500 services are
  returned. The maximum value is 1000; values above 1000 are changed to 1000.
@param page_token [::String]
  Optional. A page token, received from a previous {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_services DataprocMetastore.ListServices}
  call. Provide this token to retrieve the subsequent page.

  To retrieve the first page, supply an empty page token.

  When paginating, other parameters provided to
  {::Google::Cloud::Metastore::V1::DataprocMetastore::Client#list_services DataprocMetastore.ListServices} must match the call that provided the
  page token.
@param filter [::String]
  Optional. The filter to apply to list results.
@param order_by [::String]
  Optional. Specify the ordering of results as described in [Sorting
  Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
  If not specified, the results will be sorted in the default order.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::Service>] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::PagedEnumerable<::Google::Cloud::Metastore::V1::Service>]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 249
def list_services request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::ListServicesRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.list_services.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "parent" => request.parent
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.list_services.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_services.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :list_services, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @dataproc_metastore_stub, :list_services, request, response, operation, options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
restore_service(request, options = nil) { |response, operation| ... } click to toggle source

Restores a service from a backup.

@overload restore_service(request, options = nil)

Pass arguments to `restore_service` via a request object, either of type
{::Google::Cloud::Metastore::V1::RestoreServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::RestoreServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload restore_service(service: nil, backup: nil, restore_type: nil, request_id: nil)

Pass arguments to `restore_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param service [::String]
  Required. The relative resource name of the metastore service to run restore, in the
  following form:

  `projects/{project_id}/locations/{location_id}/services/{service_id}`.
@param backup [::String]
  Required. The relative resource name of the metastore service backup to restore
  from, in the following form:

  `projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}`.
@param restore_type [::Google::Cloud::Metastore::V1::Restore::RestoreType]
  Optional. The type of restore. If unspecified, defaults to `METADATA_ONLY`.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format).
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 1125
def restore_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::RestoreServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.restore_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "service" => request.service
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.restore_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.restore_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :restore_service, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
update_metadata_import(request, options = nil) { |response, operation| ... } click to toggle source

Updates a single import. Only the description field of MetadataImport is supported to be updated.

@overload update_metadata_import(request, options = nil)

Pass arguments to `update_metadata_import` via a request object, either of type
{::Google::Cloud::Metastore::V1::UpdateMetadataImportRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::UpdateMetadataImportRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload update_metadata_import(update_mask: nil, metadata_import: nil, request_id: nil)

Pass arguments to `update_metadata_import` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. A field mask used to specify the fields to be overwritten in the
  metadata import resource by the update.
  Fields specified in the `update_mask` are relative to the resource (not
  to the full request). A field is overwritten if it is in the mask.
@param metadata_import [::Google::Cloud::Metastore::V1::MetadataImport, ::Hash]
  Required. The metadata import to update. The server only merges fields
  in the import if they are specified in `update_mask`.

  The metadata import's `name` field is used to identify the metastore
  import to be updated.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 942
def update_metadata_import request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::UpdateMetadataImportRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.update_metadata_import.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "metadata_import.name" => request.metadata_import.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_metadata_import.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_metadata_import.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :update_metadata_import, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end
update_service(request, options = nil) { |response, operation| ... } click to toggle source

Updates the parameters of a single service.

@overload update_service(request, options = nil)

Pass arguments to `update_service` via a request object, either of type
{::Google::Cloud::Metastore::V1::UpdateServiceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Metastore::V1::UpdateServiceRequest, ::Hash]
  A request object representing the call parameters. Required. To specify no
  parameters, or to keep all the default parameter values, pass an empty Hash.
@param options [::Gapic::CallOptions, ::Hash]
  Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.

@overload update_service(update_mask: nil, service: nil, request_id: nil)

Pass arguments to `update_service` via keyword arguments. Note that at
least one keyword argument is required. To specify no parameters, or to keep all
the default parameter values, pass an empty Hash as a request object (see above).

@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. A field mask used to specify the fields to be overwritten in the
  metastore service resource by the update.
  Fields specified in the `update_mask` are relative to the resource (not
  to the full request). A field is overwritten if it is in the mask.
@param service [::Google::Cloud::Metastore::V1::Service, ::Hash]
  Required. The metastore service to update. The server only merges fields
  in the service if they are specified in `update_mask`.

  The metastore service's `name` field is used to identify the metastore
  service to be updated.
@param request_id [::String]
  Optional. A request ID. Specify a unique request ID to allow the server to ignore the
  request if it has completed. The server will ignore subsequent requests
  that provide a duplicate request ID for at least 60 minutes after the first
  request.

  For example, if an initial request times out, followed by another request
  with the same request ID, the server ignores the second request to prevent
  the creation of duplicate commitments.

  The request ID must be a valid
  [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier#Format)
  A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::Operation] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Gapic::Operation]

@raise [::Google::Cloud::Error] if the RPC is aborted.

# File lib/google/cloud/metastore/v1/dataproc_metastore/client.rb, line 507
def update_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Metastore::V1::UpdateServiceRequest

  # Converts hash and nil to an options object
  options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h

  # Customize the options with defaults
  metadata = @config.rpcs.update_service.metadata.to_h

  # Set x-goog-api-client and x-goog-user-project headers
  metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
    lib_name: @config.lib_name, lib_version: @config.lib_version,
    gapic_version: ::Google::Cloud::Metastore::V1::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "service.name" => request.service.name
  }
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
  metadata[:"x-goog-request-params"] ||= request_params_header

  options.apply_defaults timeout:      @config.rpcs.update_service.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_service.retry_policy

  options.apply_defaults timeout:      @config.timeout,
                         metadata:     @config.metadata,
                         retry_policy: @config.retry_policy

  @dataproc_metastore_stub.call_rpc :update_service, request, options: options do |response, operation|
    response = ::Gapic::Operation.new response, @operations_client, options: options
    yield response, operation if block_given?
    return response
  end
rescue ::GRPC::BadStatus => e
  raise ::Google::Cloud::Error.from_error(e)
end