Sha256: 83a8b063097fdb148dd07eeaa4a810dcff60234249f945ef8cf83c4b6bb4310a
Contents?: true
Size: 885 Bytes
Versions: 1
Compression:
Stored size: 885 Bytes
Contents
require 'aws-sdk' module Tagenv module Ec2 class Tag def initialize @logger = Logger.new(STDOUT) region = ENV['AWS_REGION'] || Metadata.get_document['region'] @ec2 = Aws::EC2::Client.new(region: region) end def get_tag_hash(instance_id) instance_id = instance_id || Metadata.get_instance_id instances_tag_with_id(instance_id) end private def instances_tag_with_id(instance_id) tags = @ec2.describe_instances( instance_ids: [instance_id] ).data.to_h[:reservations].map { |instance| instance[:instances].first }.first[:tags] convert_tag_hash(tags) end def convert_tag_hash(tags) result = {} tags.each {|hash| result[hash['key'] || hash[:key]] = hash['value'] || hash[:value] } result end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tagenv-0.1.1 | lib/tagenv/ec2/tag.rb |