Class: UltraDNSUpdater::Strategies::Openstack

Inherits:
UpdateStrategy show all
Defined in:
lib/ultradns_updater/strategies/openstack.rb

Instance Method Summary collapse

Methods inherited from UpdateStrategy

#iface_ip, #initialize, #strategy_config, #strategy_to_use, #ultradns

Methods included from Preconditions

#not_empty, #precondition

Constructor Details

This class inherits a constructor from UltraDNSUpdater::Strategies::UpdateStrategy

Instance Method Details

#updateObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ultradns_updater/strategies/openstack.rb', line 18

def update()
  opts = {:access_key_id => nil, 
    :secret_access_key => nil, 
    :logger => @logger
  }
  ec2 = UltraDNSUpdater::Ec2.new(opts)
  
  dhcp_domain = strategy_config()[:dhcp_domain]
  name_value = ec2.get_instance_public_hostname.gsub(/#{dhcp_domain}/, '')
  ip = ec2.get_instance_public_ipv4
  
  result = nil
  if name_value && ip && ultradns.create_or_update_a(name_value, ip)
    result = name_value
  end
  result
end