Class: SimplyGenius::Atmos::Providers::Aws::S3SecretManager
- Inherits:
-
Object
- Object
- SimplyGenius::Atmos::Providers::Aws::S3SecretManager
- Includes:
- GemLogger::LoggerSupport
- Defined in:
- lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb
Instance Method Summary collapse
- #delete(key) ⇒ Object
- #get(key) ⇒ Object
-
#initialize(provider) ⇒ S3SecretManager
constructor
A new instance of S3SecretManager.
- #set(key, value) ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(provider) ⇒ S3SecretManager
Returns a new instance of S3SecretManager.
12 13 14 15 16 17 |
# File 'lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb', line 12 def initialize(provider) @provider = provider logger.debug("Secrets config is: #{Atmos.config[:secret]}") @bucket_name = Atmos.config[:secret][:bucket] @encrypt = Atmos.config[:secret][:encrypt] end |
Instance Method Details
#delete(key) ⇒ Object
29 30 31 |
# File 'lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb', line 29 def delete(key) bucket.object(key).delete end |
#get(key) ⇒ Object
25 26 27 |
# File 'lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb', line 25 def get(key) bucket.object(key).get.body.read end |
#set(key, value) ⇒ Object
19 20 21 22 23 |
# File 'lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb', line 19 def set(key, value) opts = {} opts[:server_side_encryption] = "AES256" if @encrypt bucket.object(key).put(body: value, **opts) end |
#to_h ⇒ Object
33 34 35 36 37 |
# File 'lib/simplygenius/atmos/providers/aws/s3_secret_manager.rb', line 33 def to_h Hash[bucket.objects.collect {|o| [o.key, o.get.body.read] }] end |