class SsmEnv::Fetcher
Attributes
client[R]
ssm_params[RW]
Public Class Methods
new(client: )
click to toggle source
# File lib/ssm_env/fetcher.rb, line 8 def initialize(client: ) @client = client end
Public Instance Methods
fetch(params: )
click to toggle source
# File lib/ssm_env/fetcher.rb, line 12 def fetch(params: ) batch_size, self.ssm_params = 10, {} params.each_slice(batch_size) do |params_slice| response = self.client.get_parameters(names: params_slice, with_decryption: true) # Transforms to { :name => { value: value, type: type } } response_params = Hash[response.parameters.map { |item| [item.name.to_sym, {value: item.value, type: item.type}] }] response_params.each do |name, attributes| self.ssm_params[name] ||= {} self.ssm_params[name][:value] = attributes[:value] self.ssm_params[name][:type] = attributes[:type] end end self.ssm_params end