class Tagenv::Ec2::Tag

Public Class Methods

new(prefix: '', instance_id: nil) click to toggle source
# File lib/tagenv/ec2/tag.rb, line 7
def initialize(prefix: '', instance_id: nil)
  @logger = Logger.new(STDOUT)
  region = ENV['AWS_REGION'] || Metadata.get_document['region']
  @ec2 = Aws::EC2::Client.new(region: region)
  @prefix = prefix
  @instance_id = instance_id
end

Public Instance Methods

get_tag_hash() click to toggle source
# File lib/tagenv/ec2/tag.rb, line 15
def get_tag_hash
  instances_tag_with_id
end

Private Instance Methods

instances_tag_with_id() click to toggle source
# File lib/tagenv/ec2/tag.rb, line 21
def instances_tag_with_id
  @instance_id = @instance_id || Metadata.get_instance_id
  tags = @ec2.describe_instances(
    instance_ids: [@instance_id]
  ).data.to_h[:reservations].map { |instance| instance[:instances].first }.first[:tags]
  TagUtil.convert_tag_hash(@prefix, tags)
end