Sha256: 0664e6db14bb02e54852fa1ab669d9f0904a84e93819f4dd6db7a989f474c409
Contents?: true
Size: 1008 Bytes
Versions: 105
Compression:
Stored size: 1008 Bytes
Contents
require "aws-sdk-secretsmanager" module PlatformSdk module Aws class SecretsManagerClient attr_reader :client 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 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 def powerschool_token(domain:, environment:) secret(secret_name: "powerschool_token_#{domain}_#{environment}", secret_key: "access_token") end private def secret_store(secret_name:) store = @client.get_secret_value(secret_id: secret_name) JSON.parse(store.secret_string) end end end end
Version data entries
105 entries across 105 versions & 1 rubygems