class Bosh::Director::DeploymentPlan::VipNetwork

Attributes

cloud_properties[R]

@return [Hash] Network cloud properties

Public Class Methods

new(network_spec, logger) click to toggle source

Creates a new network.

@param [Hash] network_spec parsed deployment manifest network section @param [Logger] logger

# File lib/bosh/director/deployment_plan/vip_network.rb, line 14
def initialize(network_spec, logger)
  super(safe_property(network_spec, "name", :class => String), logger)

  @cloud_properties = safe_property(network_spec, "cloud_properties",
    class: Hash, default: {})
  @reserved_ips = Set.new
  @logger = TaggedLogger.new(logger, 'network-configuration')
end

Public Instance Methods

has_azs?(az_names) click to toggle source
# File lib/bosh/director/deployment_plan/vip_network.rb, line 46
def has_azs?(az_names)
  true
end
ip_type(_) click to toggle source
# File lib/bosh/director/deployment_plan/vip_network.rb, line 42
def ip_type(_)
  :static
end
network_settings(reservation, default_properties = VALID_DEFAULTS, availability_zone = nil) click to toggle source

Returns the network settings for the specific reservation.

@param [NetworkReservation] reservation @param [Array<String>] default_properties @return [Hash] network settings that will be passed to the BOSH Agent

# File lib/bosh/director/deployment_plan/vip_network.rb, line 29
def network_settings(reservation, default_properties = VALID_DEFAULTS, availability_zone = nil)
  if default_properties && !default_properties.empty?
    raise NetworkReservationVipDefaultProvided,
          "Can't provide any defaults since this is a VIP network"
  end

  {
    "type" => "vip",
    "ip" => ip_to_netaddr(reservation.ip).ip,
    "cloud_properties" => @cloud_properties
  }
end