class Google::Cloud::SecretManager::V1beta1::SecretManagerService::Client

Client for the SecretManagerService service.

Secret Manager Service

Manages secrets and operations using those secrets. Implements a REST model with the following objects:

Attributes

secret_manager_service_stub[R]

@private

Public Class Methods

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

Configure the SecretManagerService Client class.

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

@example

# Modify the configuration for all SecretManagerService clients
::Google::Cloud::SecretManager::V1beta1::SecretManagerService::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/secret_manager/v1beta1/secret_manager_service/client.rb, line 62
def self.configure
  @configure ||= begin
    namespace = ["Google", "Cloud", "SecretManager", "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.rpcs.list_secrets.timeout = 60.0

    default_config.rpcs.create_secret.timeout = 60.0

    default_config.rpcs.add_secret_version.timeout = 60.0

    default_config.rpcs.get_secret.timeout = 60.0

    default_config.rpcs.update_secret.timeout = 60.0

    default_config.rpcs.delete_secret.timeout = 60.0

    default_config.rpcs.list_secret_versions.timeout = 60.0

    default_config.rpcs.get_secret_version.timeout = 60.0

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

    default_config.rpcs.disable_secret_version.timeout = 60.0

    default_config.rpcs.enable_secret_version.timeout = 60.0

    default_config.rpcs.destroy_secret_version.timeout = 60.0

    default_config.rpcs.set_iam_policy.timeout = 60.0

    default_config.rpcs.get_iam_policy.timeout = 60.0

    default_config.rpcs.test_iam_permissions.timeout = 60.0

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

Create a new SecretManagerService client object.

@example

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

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

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 148
def initialize
  # These require statements are intentionally placed here to initialize
  # the gRPC module only when it's required.
  # See https://github.com/googleapis/toolkit/issues/446
  require "gapic/grpc"
  require "google/cloud/secrets/v1beta1/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

  @secret_manager_service_stub = ::Gapic::ServiceStub.new(
    ::Google::Cloud::SecretManager::V1beta1::SecretManagerService::Stub,
    credentials:  credentials,
    endpoint:     @config.endpoint,
    channel_args: @config.channel_args,
    interceptors: @config.interceptors
  )
end

Public Instance Methods

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

Accesses a {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}. This call returns the secret data.

`projects//secrets//versions/latest` is an alias to the `latest` {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

@overload access_secret_version(request, options = nil)

Pass arguments to `access_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::AccessSecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::AccessSecretVersionRequest, ::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 access_secret_version(name: nil)

Pass arguments to `access_secret_version` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} in the format
  `projects/*/secrets/*/versions/*`.

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

@return [::Google::Cloud::SecretManager::V1beta1::AccessSecretVersionResponse]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 805
def access_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::AccessSecretVersionRequest

  # 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.access_secret_version.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::SecretManager::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.access_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.access_secret_version.retry_policy

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

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

Creates a new {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} containing secret data and attaches it to an existing {::Google::Cloud::SecretManager::V1beta1::Secret Secret}.

@overload add_secret_version(request, options = nil)

Pass arguments to `add_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::AddSecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::AddSecretVersionRequest, ::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 add_secret_version(parent: nil, payload: nil)

Pass arguments to `add_secret_version` 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 {::Google::Cloud::SecretManager::V1beta1::Secret Secret} to associate with the
  {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} in the format `projects/*/secrets/*`.
@param payload [::Google::Cloud::SecretManager::V1beta1::SecretPayload, ::Hash]
  Required. The secret payload of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

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

@return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 373
def add_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::AddSecretVersionRequest

  # 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.add_secret_version.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::SecretManager::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.add_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.add_secret_version.retry_policy

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

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

Configure the SecretManagerService 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::SecretManager::V1beta1::SecretManagerService::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/secret_manager/v1beta1/secret_manager_service/client.rb, line 127
def configure
  yield @config if block_given?
  @config
end
create_secret(request, options = nil) { |response, operation| ... } click to toggle source

Creates a new {::Google::Cloud::SecretManager::V1beta1::Secret Secret} containing no {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersions}.

@overload create_secret(request, options = nil)

Pass arguments to `create_secret` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::CreateSecretRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::CreateSecretRequest, ::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_secret(parent: nil, secret_id: nil, secret: nil)

Pass arguments to `create_secret` 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 to associate with the
  {::Google::Cloud::SecretManager::V1beta1::Secret Secret}, in the format `projects/*`.
@param secret_id [::String]
  Required. This must be unique within the project.

  A secret ID is a string with a maximum length of 255 characters and can
  contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and
  underscore (`_`) characters.
@param secret [::Google::Cloud::SecretManager::V1beta1::Secret, ::Hash]
  Required. A {::Google::Cloud::SecretManager::V1beta1::Secret Secret} with initial field values.

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

@return [::Google::Cloud::SecretManager::V1beta1::Secret]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 301
def create_secret request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::CreateSecretRequest

  # 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_secret.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::SecretManager::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_secret.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.create_secret.retry_policy

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

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

Deletes a {::Google::Cloud::SecretManager::V1beta1::Secret Secret}.

@overload delete_secret(request, options = nil)

Pass arguments to `delete_secret` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::DeleteSecretRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::DeleteSecretRequest, ::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_secret(name: nil)

Pass arguments to `delete_secret` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::Secret Secret} to delete in the format
  `projects/*/secrets/*`.

@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/secret_manager/v1beta1/secret_manager_service/client.rb, line 580
def delete_secret request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::DeleteSecretRequest

  # 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_secret.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::SecretManager::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_secret.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.delete_secret.retry_policy

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

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

Destroys a {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

Sets the {::Google::Cloud::SecretManager::V1beta1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to {::Google::Cloud::SecretManager::V1beta1::SecretVersion::State::DESTROYED DESTROYED} and irrevocably destroys the secret data.

@overload destroy_secret_version(request, options = nil)

Pass arguments to `destroy_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::DestroySecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::DestroySecretVersionRequest, ::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 destroy_secret_version(name: nil)

Pass arguments to `destroy_secret_version` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to destroy in the format
  `projects/*/secrets/*/versions/*`.

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

@return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 1022
def destroy_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::DestroySecretVersionRequest

  # 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.destroy_secret_version.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::SecretManager::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.destroy_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.destroy_secret_version.retry_policy

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

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

Disables a {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

Sets the {::Google::Cloud::SecretManager::V1beta1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to {::Google::Cloud::SecretManager::V1beta1::SecretVersion::State::DISABLED DISABLED}.

@overload disable_secret_version(request, options = nil)

Pass arguments to `disable_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::DisableSecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::DisableSecretVersionRequest, ::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 disable_secret_version(name: nil)

Pass arguments to `disable_secret_version` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to disable in the format
  `projects/*/secrets/*/versions/*`.

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

@return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 877
def disable_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::DisableSecretVersionRequest

  # 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.disable_secret_version.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::SecretManager::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.disable_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.disable_secret_version.retry_policy

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

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

Enables a {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

Sets the {::Google::Cloud::SecretManager::V1beta1::SecretVersion#state state} of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to {::Google::Cloud::SecretManager::V1beta1::SecretVersion::State::ENABLED ENABLED}.

@overload enable_secret_version(request, options = nil)

Pass arguments to `enable_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::EnableSecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::EnableSecretVersionRequest, ::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 enable_secret_version(name: nil)

Pass arguments to `enable_secret_version` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} to enable in the format
  `projects/*/secrets/*/versions/*`.

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

@return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 949
def enable_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::EnableSecretVersionRequest

  # 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.enable_secret_version.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::SecretManager::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.enable_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.enable_secret_version.retry_policy

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

  @secret_manager_service_stub.call_rpc :enable_secret_version, 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 access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.

@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/secret_manager/v1beta1/secret_manager_service/client.rb, line 1173
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::SecretManager::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

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

Gets metadata for a given {::Google::Cloud::SecretManager::V1beta1::Secret Secret}.

@overload get_secret(request, options = nil)

Pass arguments to `get_secret` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::GetSecretRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::GetSecretRequest, ::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_secret(name: nil)

Pass arguments to `get_secret` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::Secret Secret}, in the format `projects/*/secrets/*`.

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

@return [::Google::Cloud::SecretManager::V1beta1::Secret]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 441
def get_secret request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::GetSecretRequest

  # 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_secret.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::SecretManager::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_secret.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_secret.retry_policy

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

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

Gets metadata for a {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

`projects//secrets//versions/latest` is an alias to the `latest` {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

@overload get_secret_version(request, options = nil)

Pass arguments to `get_secret_version` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::GetSecretVersionRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::GetSecretVersionRequest, ::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_secret_version(name: nil)

Pass arguments to `get_secret_version` 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 resource name of the {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion} in the format
  `projects/*/secrets/*/versions/*`.
  `projects/*/secrets/*/versions/latest` is an alias to the `latest`
  {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersion}.

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

@return [::Google::Cloud::SecretManager::V1beta1::SecretVersion]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 733
def get_secret_version request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::GetSecretVersionRequest

  # 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_secret_version.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::SecretManager::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_secret_version.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.get_secret_version.retry_policy

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

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

Lists {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersions}. This call does not return secret data.

@overload list_secret_versions(request, options = nil)

Pass arguments to `list_secret_versions` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::ListSecretVersionsRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::ListSecretVersionsRequest, ::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_secret_versions(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_secret_versions` 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 {::Google::Cloud::SecretManager::V1beta1::Secret Secret} associated with the
  {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersions} to list, in the format
  `projects/*/secrets/*`.
@param page_size [::Integer]
  Optional. The maximum number of results to be returned in a single page. If
  set to 0, the server decides the number of results to return. If the
  number is greater than 25000, it is capped at 25000.
@param page_token [::String]
  Optional. Pagination token, returned earlier via
  ListSecretVersionsResponse.next_page_token][].

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::SecretManager::V1beta1::SecretVersion>]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 658
def list_secret_versions request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::ListSecretVersionsRequest

  # 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_secret_versions.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::SecretManager::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_secret_versions.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_secret_versions.retry_policy

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

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

Lists {::Google::Cloud::SecretManager::V1beta1::Secret Secrets}.

@overload list_secrets(request, options = nil)

Pass arguments to `list_secrets` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::ListSecretsRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::ListSecretsRequest, ::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_secrets(parent: nil, page_size: nil, page_token: nil)

Pass arguments to `list_secrets` 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 associated with the
  {::Google::Cloud::SecretManager::V1beta1::Secret Secrets}, in the format `projects/*`.
@param page_size [::Integer]
  Optional. The maximum number of results to be returned in a single page. If
  set to 0, the server decides the number of results to return. If the
  number is greater than 25000, it is capped at 25000.
@param page_token [::String]
  Optional. Pagination token, returned earlier via
  {::Google::Cloud::SecretManager::V1beta1::ListSecretsResponse#next_page_token ListSecretsResponse.next_page_token}.

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

@return [::Gapic::PagedEnumerable<::Google::Cloud::SecretManager::V1beta1::Secret>]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 223
def list_secrets request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::ListSecretsRequest

  # 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_secrets.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::SecretManager::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_secrets.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.list_secrets.retry_policy

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

  @secret_manager_service_stub.call_rpc :list_secrets, request, options: options do |response, operation|
    response = ::Gapic::PagedEnumerable.new @secret_manager_service_stub, :list_secrets, 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 access control policy on the specified secret. Replaces any existing policy.

Permissions on {::Google::Cloud::SecretManager::V1beta1::SecretVersion SecretVersions} are enforced according to the policy set on the associated {::Google::Cloud::SecretManager::V1beta1::Secret Secret}.

@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/secret_manager/v1beta1/secret_manager_service/client.rb, line 1100
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::SecretManager::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

  @secret_manager_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

Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error.

Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may “fail open” without warning.

@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/secret_manager/v1beta1/secret_manager_service/client.rb, line 1253
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::SecretManager::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

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

Updates metadata of an existing {::Google::Cloud::SecretManager::V1beta1::Secret Secret}.

@overload update_secret(request, options = nil)

Pass arguments to `update_secret` via a request object, either of type
{::Google::Cloud::SecretManager::V1beta1::UpdateSecretRequest} or an equivalent Hash.

@param request [::Google::Cloud::SecretManager::V1beta1::UpdateSecretRequest, ::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_secret(secret: nil, update_mask: nil)

Pass arguments to `update_secret` 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 secret [::Google::Cloud::SecretManager::V1beta1::Secret, ::Hash]
  Required. {::Google::Cloud::SecretManager::V1beta1::Secret Secret} with updated field values.
@param update_mask [::Google::Protobuf::FieldMask, ::Hash]
  Required. Specifies the fields to be updated.

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

@return [::Google::Cloud::SecretManager::V1beta1::Secret]

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

# File lib/google/cloud/secret_manager/v1beta1/secret_manager_service/client.rb, line 511
def update_secret request, options = nil
  raise ::ArgumentError, "request must be provided" if request.nil?

  request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SecretManager::V1beta1::UpdateSecretRequest

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

  header_params = {
    "secret.name" => request.secret.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_secret.timeout,
                         metadata:     metadata,
                         retry_policy: @config.rpcs.update_secret.retry_policy

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

  @secret_manager_service_stub.call_rpc :update_secret, 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