Method: Staypuft::InterfaceAssigner#initialize

Defined in:
app/models/staypuft/interface_assigner.rb

#initialize(deployment, interface, subnet) ⇒ InterfaceAssigner

Returns a new instance of InterfaceAssigner.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/models/staypuft/interface_assigner.rb', line 5

def initialize(deployment, interface, subnet)
  @deployment = deployment
  if interface.is_a?(Nic::Base)
    @interface = interface
  else
    # interface may be Host::Managed which means primary interface, so we create pseudo-interface object
    @interface = Nic::Managed.new(
            :mac => interface.mac,
            :virtual => false,
            :identifier => interface.primary_interface,
            :host => interface,
            :subnet => interface.subnet)
  end

  @host = @interface.host
  @subnet = subnet
  @errors = []
end