Module: SelfHeal

Defined in:
lib/self_heal.rb

Class Method Summary collapse

Class Method Details

.dynamic_resource(item) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/self_heal.rb', line 9

def dynamic_resource(item)
  unless ec2(item).exists?
    resource = Aws::EC2::Resource.new(region: 'eu-west-2')
    capture_group = item.match(/([a-z]+-)([a-z|0-9]+)(\..+)/)

    if capture_group
      network_item = capture_group[1]
      environment = capture_group[3]

      resource.instances.each do | i |
        i.tags.each do | tag |
          if tag.key == 'Name'
            name = tag.value
            regex = /\b#{Regexp.quote(network_item)}[0-9|a-z]+#{Regexp.quote(environment)}\b/
            if name.match(regex)  #unless
              return name
            end
          end
        end
      end
    end
  end
  item
end