Module: PuppetEc2Enc

Defined in:
lib/puppet_ec2_enc.rb,
lib/puppet_ec2_enc/enc.rb,
lib/puppet_ec2_enc/ec2tags.rb,
lib/puppet_ec2_enc/version.rb,
lib/puppet_ec2_enc/instance.rb,
lib/puppet_ec2_enc/metadata.rb

Defined Under Namespace

Classes: EC2Tags, ENC, Instance, Metadata

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.generate(fqdn) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/puppet_ec2_enc.rb', line 8

def self.generate(fqdn)
  region      = ENV.fetch('AWS_DEFAULT_REGION') { |value| PuppetEc2Enc::Metadata.region }
  client      = PuppetEc2Enc::Instance.client(region)
  instance    = client.by_private_dns(fqdn)
  ec2tags     = PuppetEc2Enc::EC2Tags.new(instance: instance)
  tags        = ec2tags.tags
  role_class  = tags.fetch('puppet_role_class')
  environment = tags.fetch('puppet_env')
  enc         = PuppetEc2Enc::ENC.new(role_class: role_class, environment: environment)
  enc.output
end