class Google::Cloud::Memcache::V1beta2::CloudMemcache::Client

Client for the CloudMemcache service.

Configures and manages Cloud Memorystore for Memcached instances.

The `memcache.googleapis.com` service implements the Google Cloud Memorystore for Memcached API and defines the following resource model for managing Memorystore Memcached (also called Memcached below) instances:

`/instances/*`

Note that location_id must be a GCP `region`; for example:

Attributes

cloud_memcache_stub[R]

@private

operations_client[R]

Get the associated client for long-running operations.

@return [::Google::Cloud::Memcache::V1beta2::CloudMemcache::Operations]

Public Class Methods

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

Configure the CloudMemcache Client class.

See {::Google::Cloud::Memcache::V1beta2::CloudMemcache::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all CloudMemcache clients
::Google::Cloud::Memcache::V1beta2::CloudMemcache::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/memcache/v1beta2/cloud_memcache/client.rb, line 70
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "Memcache", "V1beta2"]
    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.list_instances.timeout = 1200.0

    default_config.rpcs.get_instance.timeout = 1200.0

    default_config.rpcs.create_instance.timeout = 1200.0

    default_config.rpcs.update_instance.timeout = 1200.0

    default_config.rpcs.update_parameters.timeout = 1200.0

    default_config.rpcs.delete_instance.timeout = 1200.0

    default_config.rpcs.apply_parameters.timeout = 1200.0

    default_config.rpcs.apply_software_update.timeout = 1200.0

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

Create a new CloudMemcache client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::Memcache::V1beta2::CloudMemcache::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::Memcache::V1beta2::CloudMemcache::Client.new do |config|
  config.timeout = 10.0
end

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

# File lib/google/cloud/memcache/v1beta2/cloud_memcache/client.rb, line 139
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/memcache/v1beta2/cloud_memcache_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

  @cloud_memcache_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::Memcache::V1beta2::CloudMemcache::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

apply_parameters(request, options = nil) { |response, operation| ... } click to toggle source

`ApplyParameters` restarts the set of specified nodes in order to update them to the current set of parameters for the Memcached Instance.

@overload apply_parameters(request, options = nil)

Pass arguments to `apply_parameters` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::ApplyParametersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::ApplyParametersRequest, ::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 apply_parameters(name: nil, node_ids: nil, apply_all: nil)

Pass arguments to `apply_parameters` 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. Resource name of the Memcached instance for which parameter group updates
  should be applied.
@param node_ids [::Array<::String>]
  Nodes to which the instance-level parameter group is applied.
@param apply_all [::Boolean]
  Whether to apply instance-level parameter group to all nodes. If set to
  true, users are restricted from specifying individual nodes, and
  `ApplyParameters` updates all nodes within the instance.

@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/memcache/v1beta2/cloud_memcache/client.rb, line 687
def apply_parameters request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::ApplyParametersRequest

  # 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.apply_parameters.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::Memcache::V1beta2::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.apply_parameters.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.apply_parameters.retry_policy

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

  @cloud_memcache_stub.call_rpc :apply_parameters, 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
apply_software_update(request, options = nil) { |response, operation| ... } click to toggle source

Updates software on the selected nodes of the Instance.

@overload apply_software_update(request, options = nil)

Pass arguments to `apply_software_update` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::ApplySoftwareUpdateRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::ApplySoftwareUpdateRequest, ::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 apply_software_update(instance: nil, node_ids: nil, apply_all: nil)

Pass arguments to `apply_software_update` 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 instance [::String]
  Required. Resource name of the Memcached instance for which software update should be
  applied.
@param node_ids [::Array<::String>]
  Nodes to which we should apply the update to. Note all the selected nodes
  are updated in parallel.
@param apply_all [::Boolean]
  Whether to apply the update to all nodes. If set to
  true, will explicitly restrict users from specifying any nodes, and apply
  software update to all nodes (where applicable) within the instance.

@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/memcache/v1beta2/cloud_memcache/client.rb, line 764
def apply_software_update request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::ApplySoftwareUpdateRequest

  # 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.apply_software_update.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::Memcache::V1beta2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "instance" => request.instance
  }
  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.apply_software_update.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.apply_software_update.retry_policy

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

  @cloud_memcache_stub.call_rpc :apply_software_update, 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
configure() { |config| ... } click to toggle source

Configure the CloudMemcache 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::Memcache::V1beta2::CloudMemcache::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/memcache/v1beta2/cloud_memcache/client.rb, line 118
def configure
  yield @config if block_given?
  @config
end
create_instance(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new Instance in a given location.

@overload create_instance(request, options = nil)

Pass arguments to `create_instance` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::CreateInstanceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::CreateInstanceRequest, ::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_instance(parent: nil, instance_id: nil, resource: nil)

Pass arguments to `create_instance` 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 resource name of the instance location using the form:
      `projects/{project_id}/locations/{location_id}`
  where `location_id` refers to a GCP region
@param instance_id [::String]
  Required. The logical name of the Memcached instance in the user
  project with the following restrictions:

  * Must contain only lowercase letters, numbers, and hyphens.
  * Must start with a letter.
  * Must be between 1-40 characters.
  * Must end with a number or a letter.
  * Must be unique within the user project / location.

  If any of the above are not met, the API raises an invalid argument error.
@param resource [::Google::Cloud::Memcache::V1beta2::Instance, ::Hash]
  Required. A Memcached [Instance] resource

@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/memcache/v1beta2/cloud_memcache/client.rb, line 389
def create_instance request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::CreateInstanceRequest

  # 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_instance.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::Memcache::V1beta2::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_instance.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_instance.retry_policy

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

  @cloud_memcache_stub.call_rpc :create_instance, 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_instance(request, options = nil) { |response, operation| ... } click to toggle source

Deletes a single Instance.

@overload delete_instance(request, options = nil)

Pass arguments to `delete_instance` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::DeleteInstanceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::DeleteInstanceRequest, ::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_instance(name: nil)

Pass arguments to `delete_instance` 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. Memcached instance resource name in the format:
      `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
  where `location_id` refers to a GCP region

@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/memcache/v1beta2/cloud_memcache/client.rb, line 610
def delete_instance request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::DeleteInstanceRequest

  # 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_instance.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::Memcache::V1beta2::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_instance.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_instance.retry_policy

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

  @cloud_memcache_stub.call_rpc :delete_instance, 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_instance(request, options = nil) { |response, operation| ... } click to toggle source

Gets details of a single Instance.

@overload get_instance(request, options = nil)

Pass arguments to `get_instance` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::GetInstanceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::GetInstanceRequest, ::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_instance(name: nil)

Pass arguments to `get_instance` 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. Memcached instance resource name in the format:
      `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
  where `location_id` refers to a GCP region

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::Memcache::V1beta2::Instance] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::Memcache::V1beta2::Instance]

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

# File lib/google/cloud/memcache/v1beta2/cloud_memcache/client.rb, line 306
def get_instance request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::GetInstanceRequest

  # 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_instance.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::Memcache::V1beta2::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_instance.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_instance.retry_policy

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

  @cloud_memcache_stub.call_rpc :get_instance, 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_instances(request, options = nil) { |response, operation| ... } click to toggle source

Lists Instances in a given location.

@overload list_instances(request, options = nil)

Pass arguments to `list_instances` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::ListInstancesRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::ListInstancesRequest, ::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_instances(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_instances` 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 resource name of the instance location using the form:
      `projects/{project_id}/locations/{location_id}`
  where `location_id` refers to a GCP region
@param page_size [::Integer]
  The maximum number of items to return.

  If not specified, a default value of 1000 will be used by the service.
  Regardless of the `page_size` value, the response may include a partial
  list and a caller should only rely on response's
  {::Google::Cloud::Memcache::V1beta2::ListInstancesResponse#next_page_token `next_page_token`}
  to determine if there are more instances left to be queried.
@param page_token [::String]
  The `next_page_token` value returned from a previous List request, if any.
@param filter [::String]
  List filter. For example, exclude all Memcached instances with name as
  my-instance by specifying `"name != my-instance"`.
@param order_by [::String]
  Sort results. Supported values are "name", "name desc" or "" (unsorted).

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::Memcache::V1beta2::Instance>]

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

# File lib/google/cloud/memcache/v1beta2/cloud_memcache/client.rb, line 235
def list_instances request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::ListInstancesRequest

  # 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_instances.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::Memcache::V1beta2::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_instances.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_instances.retry_policy

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

  @cloud_memcache_stub.call_rpc :list_instances, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @cloud_memcache_stub, :list_instances, 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
update_instance(request, options = nil) { |response, operation| ... } click to toggle source

Updates an existing Instance in a given project and location.

@overload update_instance(request, options = nil)

Pass arguments to `update_instance` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::UpdateInstanceRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::UpdateInstanceRequest, ::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_instance(update_mask: nil, resource: nil)

Pass arguments to `update_instance` 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. Mask of fields to update.
   *  `displayName`
@param resource [::Google::Cloud::Memcache::V1beta2::Instance, ::Hash]
  Required. A Memcached [Instance] resource.
  Only fields specified in update_mask are updated.

@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/memcache/v1beta2/cloud_memcache/client.rb, line 462
def update_instance request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::UpdateInstanceRequest

  # 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_instance.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::Memcache::V1beta2::VERSION
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id

  header_params = {
    "resource.name" => request.resource.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_instance.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_instance.retry_policy

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

  @cloud_memcache_stub.call_rpc :update_instance, 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_parameters(request, options = nil) { |response, operation| ... } click to toggle source

Updates the defined Memcached parameters for an existing instance. This method only stages the parameters, it must be followed by `ApplyParameters` to apply the parameters to nodes of the Memcached instance.

@overload update_parameters(request, options = nil)

Pass arguments to `update_parameters` via a request object, either of type
{::Google::Cloud::Memcache::V1beta2::UpdateParametersRequest} or an equivalent Hash.

@param request [::Google::Cloud::Memcache::V1beta2::UpdateParametersRequest, ::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_parameters(name: nil, update_mask: nil, parameters: nil)

Pass arguments to `update_parameters` 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. Resource name of the Memcached instance for which the parameters should be
  updated.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. Mask of fields to update.
@param parameters [::Google::Cloud::Memcache::V1beta2::MemcacheParameters, ::Hash]
  The parameters to apply to the instance.

@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/memcache/v1beta2/cloud_memcache/client.rb, line 539
def update_parameters request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Memcache::V1beta2::UpdateParametersRequest

  # 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_parameters.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::Memcache::V1beta2::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.update_parameters.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_parameters.retry_policy

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

  @cloud_memcache_stub.call_rpc :update_parameters, 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