Class: Bosh::Director::DeploymentPlan::NetworkSettings
- Defined in:
- lib/bosh/director/deployment_plan/network_settings.rb
Instance Method Summary collapse
- #dns_record_info ⇒ Object
-
#initialize(job_name, deployment_name, default_network, desired_reservations, state, availability_zone, instance_index, instance_id, dns_manager) ⇒ NetworkSettings
constructor
A new instance of NetworkSettings.
- #network_addresses ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(job_name, deployment_name, default_network, desired_reservations, state, availability_zone, instance_index, instance_id, dns_manager) ⇒ NetworkSettings
Returns a new instance of NetworkSettings.
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/bosh/director/deployment_plan/network_settings.rb', line 3 def initialize(job_name, deployment_name, default_network, desired_reservations, state, availability_zone, instance_index, instance_id, dns_manager) @job_name = job_name @desired_reservations = desired_reservations @default_network = default_network @deployment_name = deployment_name @state = state @availability_zone = availability_zone @instance_index = instance_index @instance_id = instance_id @dns_manager = dns_manager end |
Instance Method Details
#dns_record_info ⇒ Object
42 43 44 45 46 47 48 49 50 51 |
# File 'lib/bosh/director/deployment_plan/network_settings.rb', line 42 def dns_record_info dns_record_info = {} to_hash.each do |network_name, network| index_dns_name = @dns_manager.dns_record_name(@instance_index, @job_name, network_name, @deployment_name) dns_record_info[index_dns_name] = network['ip'] id_dns_name = @dns_manager.dns_record_name(@instance_id, @job_name, network_name, @deployment_name) dns_record_info[id_dns_name] = network['ip'] end dns_record_info end |
#network_addresses ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/bosh/director/deployment_plan/network_settings.rb', line 53 def network_addresses network_addresses = {} to_hash.each do |network_name, network| network_addresses[network_name] = { 'address' => network['type'] == 'dynamic' ? @dns_manager.dns_record_name(@instance_id, @job_name, network_name, @deployment_name) : network['ip'] } end network_addresses end |
#to_hash ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/bosh/director/deployment_plan/network_settings.rb', line 15 def to_hash default_properties = {} @default_network.each do |key, value| (default_properties[value] ||= []) << key end network_settings = {} @desired_reservations.each do |reservation| network_name = reservation.network.name network_settings[network_name] = reservation.network.network_settings(reservation, default_properties[network_name], @availability_zone) # Somewhat of a hack: for dynamic networks we might know IP address, Netmask & Gateway # if they're featured in agent state, in that case we put them into network spec to satisfy # ConfigurationHasher in both agent and director. if @state.is_a?(Hash) && @state['networks'].is_a?(Hash) && @state['networks'][network_name].is_a?(Hash) && network_settings[network_name]['type'] == 'dynamic' %w(ip netmask gateway).each do |key| network_settings[network_name][key] = @state['networks'][network_name][key] end end end network_settings end |