Sha256: 872e513f29e66cde68197ccbe06e704dd357523d774739f70c7a94d1b2a39f58

Contents?: true

Size: 644 Bytes

Versions: 26

Compression:

Stored size: 644 Bytes

Contents

require "aws-sdk-ssm"

module Cody::Dsl::Project
  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

26 entries across 26 versions & 1 rubygems

Version Path
cody-1.0.5 lib/cody/dsl/project/ssm.rb
cody-1.0.4 lib/cody/dsl/project/ssm.rb
cody-1.0.3 lib/cody/dsl/project/ssm.rb
cody-1.0.2 lib/cody/dsl/project/ssm.rb
cody-1.0.1 lib/cody/dsl/project/ssm.rb
cody-1.0.0 lib/cody/dsl/project/ssm.rb
cody-0.9.8 lib/cody/dsl/project/ssm.rb
cody-0.9.7 lib/cody/dsl/project/ssm.rb
cody-0.9.6 lib/cody/dsl/project/ssm.rb
cody-0.9.5 lib/cody/dsl/project/ssm.rb
cody-0.9.4 lib/cody/dsl/project/ssm.rb
cody-0.9.3 lib/cody/dsl/project/ssm.rb
cody-0.9.2 lib/cody/dsl/project/ssm.rb
cody-0.9.1 lib/cody/dsl/project/ssm.rb
cody-0.9.0 lib/cody/dsl/project/ssm.rb
cody-0.8.6 lib/cody/dsl/project/ssm.rb
cody-0.8.5 lib/cody/dsl/project/ssm.rb
cody-0.8.4 lib/cody/dsl/project/ssm.rb
cody-0.8.3 lib/cody/dsl/project/ssm.rb
cody-0.8.2 lib/cody/dsl/project/ssm.rb