class Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client

Client for the RegistrationService service.

Service Directory API for registering services. It defines the following resource model:

{::Google::Cloud::ServiceDirectory::V1beta1::Namespace Namespace} resources, named `projects//locations//namespaces/*`.

{::Google::Cloud::ServiceDirectory::V1beta1::Service Service} resources, named `projects//locations//namespaces//services/`.

{::Google::Cloud::ServiceDirectory::V1beta1::Endpoint Endpoint} resources, named `projects//locations//namespaces//services//endpoints/*`.

Attributes

registration_service_stub[R]

@private

Public Class Methods

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

Configure the RegistrationService Client class.

See {::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client::Configuration} for a description of the configuration fields.

@example

# Modify the configuration for all RegistrationService clients
::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::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/service_directory/v1beta1/registration_service/client.rb, line 70
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "ServiceDirectory", "V1beta1"]
    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 = 15.0
    default_config.retry_policy = {
      initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14, 2]
    }

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

Create a new RegistrationService client object.

@example

# Create a client using the default configuration
client = ::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client.new

# Create a client using a custom configuration
client = ::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::Client.new do |config|
  config.timeout = 10.0
end

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 128
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/servicedirectory/v1beta1/registration_service_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

  @registration_service_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::ServiceDirectory::V1beta1::RegistrationService::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 RegistrationService 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::ServiceDirectory::V1beta1::RegistrationService::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/service_directory/v1beta1/registration_service/client.rb, line 107
def configure
  yield @config if block_given?
  @config
end
create_endpoint(request, options = nil) { |response, operation| ... } click to toggle source

Creates an endpoint, and returns the new endpoint.

@overload create_endpoint(request, options = nil)

Pass arguments to `create_endpoint` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::CreateEndpointRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::CreateEndpointRequest, ::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_endpoint(parent: nil, endpoint_id: nil, endpoint: nil)

Pass arguments to `create_endpoint` 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 service that this endpoint provides.
@param endpoint_id [::String]
  Required. The Resource ID must be 1-63 characters long, and comply with
  <a href="https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a>.
  Specifically, the name must be 1-63 characters long and match the regular
  expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
  character must be a lowercase letter, and all following characters must
  be a dash, lowercase letter, or digit, except the last character, which
  cannot be a dash.
@param endpoint [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint, ::Hash]
  Required. A endpoint with initial fields set.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1006
def create_endpoint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::CreateEndpointRequest

  # 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_endpoint.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::ServiceDirectory::V1beta1::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_endpoint.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_endpoint.retry_policy

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

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

Creates a namespace, and returns the new namespace.

@overload create_namespace(request, options = nil)

Pass arguments to `create_namespace` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::CreateNamespaceRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::CreateNamespaceRequest, ::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_namespace(parent: nil, namespace_id: nil, namespace: nil)

Pass arguments to `create_namespace` 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 project and location the namespace
  will be created in.
@param namespace_id [::String]
  Required. The Resource ID must be 1-63 characters long, and comply with
  <a href="https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a>.
  Specifically, the name must be 1-63 characters long and match the regular
  expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
  character must be a lowercase letter, and all following characters must
  be a dash, lowercase letter, or digit, except the last character, which
  cannot be a dash.
@param namespace [::Google::Cloud::ServiceDirectory::V1beta1::Namespace, ::Hash]
  Required. A namespace with initial fields set.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Namespace] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Namespace]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 206
def create_namespace request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::CreateNamespaceRequest

  # 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_namespace.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::ServiceDirectory::V1beta1::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_namespace.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_namespace.retry_policy

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

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

Creates a service, and returns the new service.

@overload create_service(request, options = nil)

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

@param request [::Google::Cloud::ServiceDirectory::V1beta1::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)

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 resource name of the namespace this service will belong to.
@param service_id [::String]
  Required. The Resource ID must be 1-63 characters long, and comply with
  <a href="https://www.ietf.org/rfc/rfc1035.txt" target="_blank">RFC1035</a>.
  Specifically, the name must be 1-63 characters long and match the regular
  expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
  character must be a lowercase letter, and all following characters must
  be a dash, lowercase letter, or digit, except the last character, which
  cannot be a dash.
@param service [::Google::Cloud::ServiceDirectory::V1beta1::Service, ::Hash]
  Required. A service  with initial fields set.

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

@return [::Google::Cloud::ServiceDirectory::V1beta1::Service]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 604
def create_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::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::ServiceDirectory::V1beta1::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

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

Deletes an endpoint.

@overload delete_endpoint(request, options = nil)

Pass arguments to `delete_endpoint` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::DeleteEndpointRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::DeleteEndpointRequest, ::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_endpoint(name: nil)

Pass arguments to `delete_endpoint` 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 name of the endpoint to delete.

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

@return [::Google::Protobuf::Empty]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1332
def delete_endpoint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::DeleteEndpointRequest

  # 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_endpoint.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::ServiceDirectory::V1beta1::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_endpoint.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_endpoint.retry_policy

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

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

Deletes a namespace. This also deletes all services and endpoints in the namespace.

@overload delete_namespace(request, options = nil)

Pass arguments to `delete_namespace` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::DeleteNamespaceRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::DeleteNamespaceRequest, ::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_namespace(name: nil)

Pass arguments to `delete_namespace` 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 name of the namespace to delete.

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

@return [::Google::Protobuf::Empty]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 526
def delete_namespace request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::DeleteNamespaceRequest

  # 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_namespace.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::ServiceDirectory::V1beta1::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_namespace.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_namespace.retry_policy

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

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

Deletes a service. This also deletes all endpoints associated with the service.

@overload delete_service(request, options = nil)

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

@param request [::Google::Cloud::ServiceDirectory::V1beta1::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)

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 name of the service to delete.

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

@return [::Google::Protobuf::Empty]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 928
def delete_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::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::ServiceDirectory::V1beta1::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

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

Gets an endpoint.

@overload get_endpoint(request, options = nil)

Pass arguments to `get_endpoint` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::GetEndpointRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::GetEndpointRequest, ::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_endpoint(name: nil)

Pass arguments to `get_endpoint` 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 name of the endpoint to get.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1194
def get_endpoint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::GetEndpointRequest

  # 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_endpoint.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::ServiceDirectory::V1beta1::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_endpoint.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_endpoint.retry_policy

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

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

Gets the IAM Policy for a resource (namespace or service only).

@overload get_iam_policy(request, options = nil)

Pass arguments to `get_iam_policy` via a request object, either of type
{::Google::Iam::V1::GetIamPolicyRequest} or an equivalent Hash.

@param request [::Google::Iam::V1::GetIamPolicyRequest, ::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_iam_policy(resource: nil, options: nil)

Pass arguments to `get_iam_policy` 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 resource [::String]
  REQUIRED: The resource for which the policy is being requested.
  See the operation documentation for the appropriate value for this field.
@param options [::Google::Iam::V1::GetPolicyOptions, ::Hash]
  OPTIONAL: A `GetPolicyOptions` object for specifying options to
  `GetIamPolicy`. This field is only used by Cloud IAM.

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

@return [::Google::Iam::V1::Policy]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1404
def get_iam_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::GetIamPolicyRequest

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

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

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

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

Gets a namespace.

@overload get_namespace(request, options = nil)

Pass arguments to `get_namespace` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::GetNamespaceRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::GetNamespaceRequest, ::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_namespace(name: nil)

Pass arguments to `get_namespace` 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 name of the namespace to retrieve.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Namespace] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Namespace]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 387
def get_namespace request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::GetNamespaceRequest

  # 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_namespace.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::ServiceDirectory::V1beta1::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_namespace.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_namespace.retry_policy

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

  @registration_service_stub.call_rpc :get_namespace, 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 a service.

@overload get_service(request, options = nil)

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

@param request [::Google::Cloud::ServiceDirectory::V1beta1::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 name of the service to get.

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

@return [::Google::Cloud::ServiceDirectory::V1beta1::Service]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 789
def get_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::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::ServiceDirectory::V1beta1::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

  @registration_service_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_endpoints(request, options = nil) { |response, operation| ... } click to toggle source

Lists all endpoints.

@overload list_endpoints(request, options = nil)

Pass arguments to `list_endpoints` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::ListEndpointsRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::ListEndpointsRequest, ::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_endpoints(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_endpoints` 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 service whose endpoints you'd like to
  list.
@param page_size [::Integer]
  Optional. The maximum number of items to return.
@param page_token [::String]
  Optional. The next_page_token value returned from a previous List request,
  if any.
@param filter [::String]
  Optional. The filter to list results by.

  General `filter` string syntax:
  `<field> <operator> <value> (<logical connector>)`

  *   `<field>` can be `name`, `address`, `port`, or `metadata.<key>` for map
      field
  *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
      means `HAS`, and is roughly the same as `=`
  *   `<value>` must be the same data type as field
  *   `<logical connector>` can be `AND`, `OR`, `NOT`

  Examples of valid filters:

  *   `metadata.owner` returns endpoints that have a metadata with the key
      `owner`, this is the same as `metadata:owner`
  *   `metadata.protocol=gRPC` returns endpoints that have key/value
      `protocol=gRPC`
  *   `address=192.108.1.105` returns endpoints that have this address
  *   `port>8080` returns endpoints that have port number larger than 8080
  *
  `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
      returns endpoints that have name that is alphabetically later than the
      string, so "endpoint-e" is returned but "endpoint-a" is not
  *   `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
      `owner` in metadata key but value is not `sd` AND have key/value
       `foo=bar`
  *   `doesnotexist.foo=bar` returns an empty list. Note that endpoint
      doesn't have a field called "doesnotexist". Since the filter does not
      match any endpoints, it returns no results

  For more information about filtering, see
  [API Filtering](https://aip.dev/160).
@param order_by [::String]
  Optional. The order to list results by.

  General `order_by` string syntax: `<field> (<asc|desc>) (,)`

  *   `<field>` allows values: `name`, `address`, `port`
  *   `<asc|desc>` ascending or descending order by `<field>`. If this is
      left blank, `asc` is used

  Note that an empty `order_by` string results in default order, which is
  order by `name` in ascending order.

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Endpoint>]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1125
def list_endpoints request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::ListEndpointsRequest

  # 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_endpoints.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::ServiceDirectory::V1beta1::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_endpoints.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_endpoints.retry_policy

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

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

Lists all namespaces.

@overload list_namespaces(request, options = nil)

Pass arguments to `list_namespaces` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::ListNamespacesRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::ListNamespacesRequest, ::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_namespaces(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)

Pass arguments to `list_namespaces` 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 project and location whose namespaces you'd like
  to list.
@param page_size [::Integer]
  Optional. The maximum number of items to return.
@param page_token [::String]
  Optional. The next_page_token value returned from a previous List request, if any.
@param filter [::String]
  Optional. The filter to list results by.

  General `filter` string syntax:
  `<field> <operator> <value> (<logical connector>)`

  *   `<field>` can be `name` or `labels.<key>` for map field
  *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
      means `HAS`, and is roughly the same as `=`
  *   `<value>` must be the same data type as field
  *   `<logical connector>` can be `AND`, `OR`, `NOT`

  Examples of valid filters:

  *   `labels.owner` returns namespaces that have a label with the key
      `owner`, this is the same as `labels:owner`
  *   `labels.owner=sd` returns namespaces that have key/value `owner=sd`
  *   `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
      returns namespaces that have name that is alphabetically later than the
      string, so "namespace-e" is returned but "namespace-a" is not
  *   `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
      `owner` in label key but value is not `sd` AND have key/value `foo=bar`
  *   `doesnotexist.foo=bar` returns an empty list. Note that namespace
      doesn't have a field called "doesnotexist". Since the filter does not
      match any namespaces, it returns no results

  For more information about filtering, see
  [API Filtering](https://aip.dev/160).
@param order_by [::String]
  Optional. The order to list results by.

  General `order_by` string syntax: `<field> (<asc|desc>) (,)`

  *   `<field>` allows value: `name`
  *   `<asc|desc>` ascending or descending order by `<field>`. If this is
      left blank, `asc` is used

  Note that an empty `order_by` string results in default order, which is
  order by `name` in ascending order.

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Namespace>]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 318
def list_namespaces request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::ListNamespacesRequest

  # 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_namespaces.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::ServiceDirectory::V1beta1::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_namespaces.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_namespaces.retry_policy

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

  @registration_service_stub.call_rpc :list_namespaces, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @registration_service_stub, :list_namespaces, 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 all services belonging to a namespace.

@overload list_services(request, options = nil)

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

@param request [::Google::Cloud::ServiceDirectory::V1beta1::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 resource name of the namespace whose services you'd
  like to list.
@param page_size [::Integer]
  Optional. The maximum number of items to return.
@param page_token [::String]
  Optional. The next_page_token value returned from a previous List request,
  if any.
@param filter [::String]
  Optional. The filter to list results by.

  General `filter` string syntax:
  `<field> <operator> <value> (<logical connector>)`

  *   `<field>` can be `name` or `metadata.<key>` for map field
  *   `<operator>` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
      means `HAS`, and is roughly the same as `=`
  *   `<value>` must be the same data type as field
  *   `<logical connector>` can be `AND`, `OR`, `NOT`

  Examples of valid filters:

  *   `metadata.owner` returns services that have a metadata with the key
      `owner`, this is the same as `metadata:owner`
  *   `metadata.protocol=gRPC` returns services that have key/value
      `protocol=gRPC`
  *
  `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
      returns services that have name that is alphabetically later than the
      string, so "service-e" is returned but "service-a" is not
  *   `metadata.owner!=sd AND metadata.foo=bar` returns services that have
      `owner` in metadata key but value is not `sd` AND have key/value
      `foo=bar`
  *   `doesnotexist.foo=bar` returns an empty list. Note that service
      doesn't have a field called "doesnotexist". Since the filter does not
      match any services, it returns no results

  For more information about filtering, see
  [API Filtering](https://aip.dev/160).
@param order_by [::String]
  Optional. The order to list results by.

  General `order_by` string syntax: `<field> (<asc|desc>) (,)`

  *   `<field>` allows value: `name`
  *   `<asc|desc>` ascending or descending order by `<field>`. If this is
      left blank, `asc` is used

  Note that an empty `order_by` string results in default order, which is
  order by `name` in ascending order.

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::ServiceDirectory::V1beta1::Service>]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 720
def list_services request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::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::ServiceDirectory::V1beta1::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

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

Sets the IAM Policy for a resource (namespace or service only).

@overload set_iam_policy(request, options = nil)

Pass arguments to `set_iam_policy` via a request object, either of type
{::Google::Iam::V1::SetIamPolicyRequest} or an equivalent Hash.

@param request [::Google::Iam::V1::SetIamPolicyRequest, ::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 set_iam_policy(resource: nil, policy: nil)

Pass arguments to `set_iam_policy` 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 resource [::String]
  REQUIRED: The resource for which the policy is being specified.
  See the operation documentation for the appropriate value for this field.
@param policy [::Google::Iam::V1::Policy, ::Hash]
  REQUIRED: The complete policy to be applied to the `resource`. The size of
  the policy is limited to a few 10s of KB. An empty policy is a
  valid policy but certain Cloud Platform services (such as Projects)
  might reject them.

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

@return [::Google::Iam::V1::Policy]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1478
def set_iam_policy request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::SetIamPolicyRequest

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

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

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

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

Tests IAM permissions for a resource (namespace or service only).

@overload test_iam_permissions(request, options = nil)

Pass arguments to `test_iam_permissions` via a request object, either of type
{::Google::Iam::V1::TestIamPermissionsRequest} or an equivalent Hash.

@param request [::Google::Iam::V1::TestIamPermissionsRequest, ::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 test_iam_permissions(resource: nil, permissions: nil)

Pass arguments to `test_iam_permissions` 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 resource [::String]
  REQUIRED: The resource for which the policy detail is being requested.
  See the operation documentation for the appropriate value for this field.
@param permissions [::Array<::String>]
  The set of permissions to check for the `resource`. Permissions with
  wildcards (such as '*' or 'storage.*') are not allowed. For more
  information see
  [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).

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

@return [::Google::Iam::V1::TestIamPermissionsResponse]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1552
def test_iam_permissions request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1::TestIamPermissionsRequest

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

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

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

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

Updates an endpoint.

@overload update_endpoint(request, options = nil)

Pass arguments to `update_endpoint` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::UpdateEndpointRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::UpdateEndpointRequest, ::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_endpoint(endpoint: nil, update_mask: nil)

Pass arguments to `update_endpoint` 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 endpoint [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint, ::Hash]
  Required. The updated endpoint.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. List of fields to be updated in this request.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Endpoint]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 1264
def update_endpoint request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::UpdateEndpointRequest

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

  header_params = {
    "endpoint.name" => request.endpoint.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_endpoint.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_endpoint.retry_policy

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

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

Updates a namespace.

@overload update_namespace(request, options = nil)

Pass arguments to `update_namespace` via a request object, either of type
{::Google::Cloud::ServiceDirectory::V1beta1::UpdateNamespaceRequest} or an equivalent Hash.

@param request [::Google::Cloud::ServiceDirectory::V1beta1::UpdateNamespaceRequest, ::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_namespace(namespace: nil, update_mask: nil)

Pass arguments to `update_namespace` 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 namespace [::Google::Cloud::ServiceDirectory::V1beta1::Namespace, ::Hash]
  Required. The updated namespace.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. List of fields to be updated in this request.

@yield [response, operation] Access the result along with the RPC operation @yieldparam response [::Google::Cloud::ServiceDirectory::V1beta1::Namespace] @yieldparam operation [::GRPC::ActiveCall::Operation]

@return [::Google::Cloud::ServiceDirectory::V1beta1::Namespace]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 457
def update_namespace request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::UpdateNamespaceRequest

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

  header_params = {
    "namespace.name" => request.namespace.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_namespace.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_namespace.retry_policy

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

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

Updates a service.

@overload update_service(request, options = nil)

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

@param request [::Google::Cloud::ServiceDirectory::V1beta1::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(service: nil, update_mask: 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 service [::Google::Cloud::ServiceDirectory::V1beta1::Service, ::Hash]
  Required. The updated service.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. List of fields to be updated in this request.

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

@return [::Google::Cloud::ServiceDirectory::V1beta1::Service]

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

# File lib/google/cloud/service_directory/v1beta1/registration_service/client.rb, line 859
def update_service request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceDirectory::V1beta1::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::ServiceDirectory::V1beta1::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

  @registration_service_stub.call_rpc :update_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