Sha256: 0cf6e9ffd21aa0369e2a0b6493140132f20524cc10b4c962924f02e2c3d51fcc

Contents?: true

Size: 640 Bytes

Versions: 9

Compression:

Stored size: 640 Bytes

Contents

require "aws-sdk-ssm"

module Pipedream::Dsl
  module Ssm
    # This method grabs the ssm parameter store value at "compile" time vs
    # CloudFormation run time. In case we need it as part of the DSL compile phase.
    def ssm(name)
      resp = ssm_client.get_parameter(name: name)
      if resp.parameter.type == "SecureString"
        resp = ssm_client.get_parameter(name: name, with_decryption: true)
      end

      resp.parameter.value
    rescue Aws::SSM::Errors::ParameterNotFound
      puts "WARN: #{name} found on AWS SSM.".color(:yellow)
    end

    def ssm_client
      @ssm_client ||= Aws::SSM::Client.new
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pipedream-0.4.8 lib/pipedream/dsl/ssm.rb
pipedream-0.4.7 lib/pipedream/dsl/ssm.rb
pipedream-0.4.6 lib/pipedream/dsl/ssm.rb
pipedream-0.4.5 lib/pipedream/dsl/ssm.rb
pipedream-0.4.4 lib/pipedream/dsl/ssm.rb
pipedream-0.4.3 lib/pipedream/dsl/ssm.rb
pipedream-0.4.2 lib/pipedream/dsl/ssm.rb
pipedream-0.4.1 lib/pipedream/dsl/ssm.rb
pipedream-0.4.0 lib/pipedream/dsl/ssm.rb