class Bcome::Driver::Gcp::Authentication::ServiceAccount

Public Class Methods

new(service, scopes, node, credentials_file_name, driver) click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 5
def initialize(service, scopes, node, credentials_file_name, driver)
  @service = service
  @scopes = scopes
  @node = node
  @driver = driver
  @credentials_file_name = credentials_file_name
  ensure_credential_directory
  ensure_credentials_file
end

Public Instance Methods

authorize!() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 57
def authorize!
  storage.authorize
  @service.authorization = storage.authorization
end
authorized?() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 19
def authorized?
  !@service.authorization.nil?
end
credential_file_suffix() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 52
def credential_file_suffix
  'service-account.json'
end
credentials_file_path() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 27
def credentials_file_path
  has_namespaced_keyed_filename? ? namespaced_keyed_filename : defined_credentials_files
end
defined_credentials_files() click to toggle source

New implementation - we take a defined file name for the service account credentials Clean & may be re-used

# File lib/objects/driver/gcp/authentication/service_account.rb, line 38
def defined_credentials_files
  "#{credential_directory}/#{@credentials_file_name}"
end
do!() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 15
def do!
  @service.authorization = service_account
end
ensure_credentials_file() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 31
def ensure_credentials_file
  return if has_namespaced_keyed_filename?
  raise ::Bcome::Exception::MissingGcpServiceAccountCredentialsFilename unless @credentials_file_name
end
has_namespaced_keyed_filename?() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 42
def has_namespaced_keyed_filename?
  @has_namespaced_keyed_filename ||= File.exist?(namespaced_keyed_filename)
end
namespaced_keyed_filename() click to toggle source

Older implementation - we infer the credentials file from the namespace Retained to provide backwards compatibility

# File lib/objects/driver/gcp/authentication/service_account.rb, line 48
def namespaced_keyed_filename
  full_path_to_credential_file
end
service_account() click to toggle source
# File lib/objects/driver/gcp/authentication/service_account.rb, line 23
def service_account
  @service_account ||= ::Bcome::Driver::Gcp::Authentication::SignetServiceAccountClient.new(@scopes, credentials_file_path)
end