Class: Fog::Vcloud::MockDataClasses::MockNetwork

Inherits:
Base
  • Object
show all
Defined in:
lib/fog/vcloud/mock_data_classes.rb

Instance Method Summary collapse

Methods inherited from Base

#_parent, base_url, #base_url, base_url=, #first, #href, #initialize, #inspect, #last

Constructor Details

This class inherits a constructor from Fog::Vcloud::MockDataClasses::Base

Instance Method Details

#addressObject



378
379
380
# File 'lib/fog/vcloud/mock_data_classes.rb', line 378

def address
  subnet_ips.first
end

#broadcastObject



382
383
384
# File 'lib/fog/vcloud/mock_data_classes.rb', line 382

def broadcast
  subnet_ips.last
end

#dnsObject



347
348
349
# File 'lib/fog/vcloud/mock_data_classes.rb', line 347

def dns
  "8.8.8.8"
end

#extensionsObject



361
362
363
# File 'lib/fog/vcloud/mock_data_classes.rb', line 361

def extensions
  @extensions ||= MockNetworkExtensions.new({}, self)
end

#featuresObject



351
352
353
354
355
# File 'lib/fog/vcloud/mock_data_classes.rb', line 351

def features
  [
   { :type => :FenceMode, :value => "isolated" }
  ]
end

#gatewayObject



339
340
341
# File 'lib/fog/vcloud/mock_data_classes.rb', line 339

def gateway
  self[:gateway] || subnet_ips[1]
end

#ip_collectionObject



357
358
359
# File 'lib/fog/vcloud/mock_data_classes.rb', line 357

def ip_collection
  @ip_collection ||= MockNetworkIps.new({}, self)
end

#nameObject



331
332
333
# File 'lib/fog/vcloud/mock_data_classes.rb', line 331

def name
  self[:name] || subnet
end

#netmaskObject



343
344
345
# File 'lib/fog/vcloud/mock_data_classes.rb', line 343

def netmask
  self[:netmask] || subnet_ipaddr.mask
end

#random_ipObject



365
366
367
# File 'lib/fog/vcloud/mock_data_classes.rb', line 365

def random_ip
  usable_subnet_ips[rand(usable_subnet_ips.length)]
end

#rnatObject

for TM eCloud. should probably be a subclass



370
371
372
# File 'lib/fog/vcloud/mock_data_classes.rb', line 370

def rnat
  self[:rnat]
end

#subnetObject



335
336
337
# File 'lib/fog/vcloud/mock_data_classes.rb', line 335

def subnet
  self[:subnet]
end

#usable_subnet_ipsObject



374
375
376
# File 'lib/fog/vcloud/mock_data_classes.rb', line 374

def usable_subnet_ips
  subnet_ips[3..-2]
end