Module: SmPs::AwsHelpers

Defined in:
lib/smps/aws.rb

Overview

Some helpers to setup and interact with various aws services.

Constant Summary collapse

SSM_PARAMETER_TYPES =
%w[String StringList SecureString].freeze
DEFAULT_USERDATA_URI =
'http://169.254.169.254/latest/user-data'

Instance Method Summary collapse

Instance Method Details

#aws_regionObject



14
15
16
# File 'lib/smps/aws.rb', line 14

def aws_region
  @aws_region ||= initialize_aws_region
end

#configure_aws_region(region = nil) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/smps/aws.rb', line 32

def configure_aws_region(region = nil)
  if region
    ::Aws.config.update(region: region)
  else
    ::Aws.config.update(region: aws_region)
  end
end

#credentials_from_role(role, debug = false) ⇒ Object



27
28
29
30
# File 'lib/smps/aws.rb', line 27

def credentials_from_role(role, debug = false)
  @aws_session ||= initialize_aws_session_from_role(role, debug)
  @aws_session.credentials
end

#retrieve_from_userdata(key, userdata_type = :auto, source = DEFAULT_USERDATA_URI) ⇒ Object



18
19
20
21
# File 'lib/smps/aws.rb', line 18

def retrieve_from_userdata(key, userdata_type = :auto, source = DEFAULT_USERDATA_URI)
  userdata = user_data(source, userdata_type)
  userdata[key]
end

#user_data(source, type = :auto) ⇒ Object



23
24
25
# File 'lib/smps/aws.rb', line 23

def user_data(source, type = :auto)
  @user_data ||= initialize_user_data(source, type)
end