class Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client
Client
for the DatastoreAdmin
service.
Google
Cloud
Datastore
Admin
API
The Datastore
Admin
API provides several admin services for Cloud
Datastore
.
## Concepts
Project, namespace, kind, and entity as defined in the Google
Cloud
Datastore
API.
Operation: An Operation represents work being performed in the background.
EntityFilter: Allows specifying a subset of entities in a project. This is specified as a combination of kinds and namespaces (either or both of which may be all).
## Services
# Export/Import
The Export/Import service provides the ability to copy all or a subset of entities to/from Google
Cloud
Storage.
Exported data may be imported into Cloud
Datastore
for any Google
Cloud
Platform project. It is not restricted to the export source project. It is possible to export from one project and then import into another.
Exported data can also be loaded into Google
BigQuery for analysis.
Exports and imports are performed asynchronously. An Operation resource is created for each export/import. The state (including any errors encountered) of the export/import may be queried via the Operation resource.
# Index
The index service manages Cloud
Datastore
composite indexes.
Index
creation and deletion are performed asynchronously. An Operation resource is created for each such asynchronous operation. The state of the operation (including any errors encountered) may be queried via the Operation resource.
# Operation
The Operations
collection provides a record of actions performed for the specified project (including any operations in progress). Operations
are not created directly but through calls on other collections or resources.
An operation that is not yet done may be cancelled. The request to cancel is asynchronous and the operation may continue to run for some time after the request to cancel is made.
An operation that is done may be deleted so that it is no longer listed as part of the Operation collection.
ListOperations returns all pending operations, but not completed operations.
Operations
are created by service DatastoreAdmin
, but are accessed via service google.longrunning.Operations.
Attributes
@private
Get the associated client for long-running operations.
@return [::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Operations]
Public Class Methods
Configure the DatastoreAdmin
Client
class.
See {::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client::Configuration} for a description of the configuration fields.
@example
# Modify the configuration for all DatastoreAdmin clients ::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::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/datastore/admin/v1/datastore_admin/client.rb, line 115 def self.configure @configure ||= begin namespace = ["Google", "Cloud", "Datastore", "Admin", "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.rpcs.export_entities.timeout = 60.0 default_config.rpcs.import_entities.timeout = 60.0 default_config.rpcs.create_index.timeout = 60.0 default_config.rpcs.delete_index.timeout = 60.0 default_config.rpcs.get_index.timeout = 60.0 default_config.rpcs.get_index.retry_policy = { initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] } default_config.rpcs.list_indexes.timeout = 60.0 default_config.rpcs.list_indexes.retry_policy = { initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 4] } default_config end yield @configure if block_given? @configure end
Create a new DatastoreAdmin
client object.
@example
# Create a client using the default configuration client = ::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client.new # Create a client using a custom configuration client = ::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client.new do |config| config.timeout = 10.0 end
@yield [config] Configure the DatastoreAdmin
client. @yieldparam config [Client::Configuration]
# File lib/google/cloud/datastore/admin/v1/datastore_admin/client.rb, line 186 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/datastore/admin/v1/datastore_admin_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 @datastore_admin_stub = ::Gapic::ServiceStub.new( ::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Stub, credentials: credentials, endpoint: @config.endpoint, channel_args: @config.channel_args, interceptors: @config.interceptors ) end
Public Instance Methods
Configure the DatastoreAdmin
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::Datastore::Admin::V1::DatastoreAdmin::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/datastore/admin/v1/datastore_admin/client.rb, line 165 def configure yield @config if block_given? @config end
Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned {::Google::Longrunning::Operation google.longrunning.Operation}, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status.
During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with {::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client#delete_index delete}, then re-creating the index with [create] [google.datastore.admin.v1.DatastoreAdmin.CreateIndex].
Indexes with a single property cannot be created.
@overload create_index
(request, options = nil)
Pass arguments to `create_index` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::CreateIndexRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::CreateIndexRequest, ::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_index
(project_id: nil, index: nil)
Pass arguments to `create_index` 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 project_id [::String] Project ID against which to make the request. @param index [::Google::Cloud::Datastore::Admin::V1::Index, ::Hash] The index to create. The name and state fields are output only and will be ignored. Single property indexes cannot be created or deleted.
@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/datastore/admin/v1/datastore_admin/client.rb, line 474 def create_index request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::CreateIndexRequest # 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_index.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id } 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_index.timeout, metadata: metadata, retry_policy: @config.rpcs.create_index.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :create_index, 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
Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` {::Google::Cloud::Datastore::Admin::V1::Index::State state}. And on completion of the returned {::Google::Longrunning::Operation google.longrunning.Operation}, the index will be removed.
During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling {::Google::Cloud::Datastore::Admin::V1::DatastoreAdmin::Client#delete_index delete} again.
@overload delete_index
(request, options = nil)
Pass arguments to `delete_index` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::DeleteIndexRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::DeleteIndexRequest, ::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_index
(project_id: nil, index_id: nil)
Pass arguments to `delete_index` 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 project_id [::String] Project ID against which to make the request. @param index_id [::String] The resource ID of the index to delete.
@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/datastore/admin/v1/datastore_admin/client.rb, line 554 def delete_index request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::DeleteIndexRequest # 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_index.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id, "index_id" => request.index_id } 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_index.timeout, metadata: metadata, retry_policy: @config.rpcs.delete_index.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :delete_index, 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
Exports a copy of all or a subset of entities from Google
Cloud
Datastore
to another storage system, such as Google
Cloud
Storage. Recent updates to entities may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google
Cloud
Storage.
@overload export_entities
(request, options = nil)
Pass arguments to `export_entities` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::ExportEntitiesRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::ExportEntitiesRequest, ::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_entities
(project_id: nil, labels: nil, entity_filter: nil, output_url_prefix: nil)
Pass arguments to `export_entities` 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 project_id [::String] Required. Project ID against which to make the request. @param labels [::Hash{::String => ::String}] Client-assigned labels. @param entity_filter [::Google::Cloud::Datastore::Admin::V1::EntityFilter, ::Hash] Description of what data from the project is included in the export. @param output_url_prefix [::String] Required. Location for the export metadata and data files. The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So output_url_prefix should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace). For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). The resulting files will be nested deeper than the specified URL prefix. The final output URL will be provided in the {::Google::Cloud::Datastore::Admin::V1::ExportEntitiesResponse#output_url google.datastore.admin.v1.ExportEntitiesResponse.output_url} field. That value should be used for subsequent ImportEntities operations. By nesting the data files deeper, the same Cloud Storage bucket can be used in multiple ExportEntities operations without conflict.
@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/datastore/admin/v1/datastore_admin/client.rb, line 295 def export_entities request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::ExportEntitiesRequest # 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_entities.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id } 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_entities.timeout, metadata: metadata, retry_policy: @config.rpcs.export_entities.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :export_entities, 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
Gets an index.
@overload get_index
(request, options = nil)
Pass arguments to `get_index` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::GetIndexRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::GetIndexRequest, ::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_index
(project_id: nil, index_id: nil)
Pass arguments to `get_index` 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 project_id [::String] Project ID against which to make the request. @param index_id [::String] The resource ID of the index to get.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Datastore::Admin::V1::Index] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Google::Cloud::Datastore::Admin::V1::Index]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/datastore/admin/v1/datastore_admin/client.rb, line 626 def get_index request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::GetIndexRequest # 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_index.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id, "index_id" => request.index_id } 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_index.timeout, metadata: metadata, retry_policy: @config.rpcs.get_index.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :get_index, 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
Imports entities into Google
Cloud
Datastore
. Existing entities with the same key are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportEntities operation is cancelled, it is possible that a subset of the data has already been imported to Cloud
Datastore
.
@overload import_entities
(request, options = nil)
Pass arguments to `import_entities` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::ImportEntitiesRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::ImportEntitiesRequest, ::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 import_entities
(project_id: nil, labels: nil, input_url: nil, entity_filter: nil)
Pass arguments to `import_entities` 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 project_id [::String] Required. Project ID against which to make the request. @param labels [::Hash{::String => ::String}] Client-assigned labels. @param input_url [::String] Required. The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So input_url should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written by the ExportEntities operation. For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). For more information, see {::Google::Cloud::Datastore::Admin::V1::ExportEntitiesResponse#output_url google.datastore.admin.v1.ExportEntitiesResponse.output_url}. @param entity_filter [::Google::Cloud::Datastore::Admin::V1::EntityFilter, ::Hash] Optionally specify which kinds/namespaces are to be imported. If provided, the list must be a subset of the EntityFilter used in creating the export, otherwise a FAILED_PRECONDITION error will be returned. If no filter is specified then all entities from the export are imported.
@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/datastore/admin/v1/datastore_admin/client.rb, line 389 def import_entities request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::ImportEntitiesRequest # 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.import_entities.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id } 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.import_entities.timeout, metadata: metadata, retry_policy: @config.rpcs.import_entities.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :import_entities, 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
Lists the indexes that match the specified filters. Datastore
uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results.
@overload list_indexes
(request, options = nil)
Pass arguments to `list_indexes` via a request object, either of type {::Google::Cloud::Datastore::Admin::V1::ListIndexesRequest} or an equivalent Hash. @param request [::Google::Cloud::Datastore::Admin::V1::ListIndexesRequest, ::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_indexes
(project_id: nil, filter: nil, page_size: nil, page_token: nil)
Pass arguments to `list_indexes` 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 project_id [::String] Project ID against which to make the request. @param filter [::String] @param page_size [::Integer] The maximum number of items to return. If zero, then all results will be returned. @param page_token [::String] The next_page_token value returned from a previous List request, if any.
@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Datastore::Admin::V1::Index>] @yieldparam operation [::GRPC::ActiveCall::Operation]
@return [::Gapic::PagedEnumerable<::Google::Cloud::Datastore::Admin::V1::Index>]
@raise [::Google::Cloud::Error] if the RPC is aborted.
# File lib/google/cloud/datastore/admin/v1/datastore_admin/client.rb, line 703 def list_indexes request, options = nil raise ::ArgumentError, "request must be provided" if request.nil? request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Datastore::Admin::V1::ListIndexesRequest # 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_indexes.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::Datastore::Admin::V1::VERSION metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id header_params = { "project_id" => request.project_id } 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_indexes.timeout, metadata: metadata, retry_policy: @config.rpcs.list_indexes.retry_policy options.apply_defaults timeout: @config.timeout, metadata: @config.metadata, retry_policy: @config.retry_policy @datastore_admin_stub.call_rpc :list_indexes, request, options: options do |response, operation| response = ::Gapic::PagedEnumerable.new @datastore_admin_stub, :list_indexes, 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