Class: PlatformSdk::Aws::SecretsManagerClient

Inherits:
Object
  • Object
show all
Defined in:
lib/platform_sdk/aws/secrets_manager_client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_key_id:, secret_access_key:, region: "us-west-2") ⇒ SecretsManagerClient

Returns a new instance of SecretsManagerClient.



8
9
10
11
12
13
14
# File 'lib/platform_sdk/aws/secrets_manager_client.rb', line 8

def initialize(access_key_id:, secret_access_key:, region: "us-west-2")
  @client = ::Aws::SecretsManager::Client.new(
    access_key_id: access_key_id,
    secret_access_key: secret_access_key,
    region: region
  )
end

Instance Attribute Details

#clientObject (readonly)

Returns the value of attribute client.



6
7
8
# File 'lib/platform_sdk/aws/secrets_manager_client.rb', line 6

def client
  @client
end

Instance Method Details

#powerschool_token(domain:, environment:) ⇒ Object



23
24
25
# File 'lib/platform_sdk/aws/secrets_manager_client.rb', line 23

def powerschool_token(domain:, environment:)
  secret(secret_name: "powerschool_token_#{domain}_#{environment}", secret_key: "access_token")
end

#secret(secret_key:, arn: nil, secret_name: nil) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
21
# File 'lib/platform_sdk/aws/secrets_manager_client.rb', line 16

def secret(secret_key:, arn: nil, secret_name: nil)
  raise(ArgumentError, "Must provide either an arn or a secret name") if arn.nil? && secret_name.nil?

  secret = secret_store(secret_name: (arn || secret_name))
  secret[secret_key]
end