Class: Bosh::OpenStackCloud::Network

Inherits:
Object
  • Object
show all
Includes:
Helpers
Defined in:
lib/cloud/openstack/network.rb

Overview

Represents OpenStack network.

Direct Known Subclasses

DynamicNetwork, ManualNetwork, VipNetwork

Constant Summary

Constants included from Helpers

Helpers::DEFAULT_RETRY_TIMEOUT, Helpers::DEFAULT_STATE_TIMEOUT, Helpers::MAX_RETRIES

Instance Method Summary collapse

Methods included from Helpers

#cloud_error, #parse_openstack_response, #task_checkpoint, #wait_resource, #with_openstack

Constructor Details

#initialize(name, spec) ⇒ Network

Creates a new network

Parameters:

  • name (String)

    Network name

  • spec (Hash)

    Raw network spec



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/cloud/openstack/network.rb', line 15

def initialize(name, spec)
  unless spec.is_a?(Hash)
    raise ArgumentError, "Invalid spec, Hash expected, " \
                         "#{spec.class} provided"
  end

  @logger = Bosh::Clouds::Config.logger

  @name = name
  @ip = spec["ip"]
  @cloud_properties = spec["cloud_properties"]
end

Instance Method Details

#configure(openstack, server) ⇒ Object

Configures given server

Parameters:

  • openstack (Fog::Compute::OpenStack)

    Fog OpenStack Compute client

  • server (Fog::Compute::OpenStack::Server)

    OpenStack server to configure



33
34
35
# File 'lib/cloud/openstack/network.rb', line 33

def configure(openstack, server)
  cloud_error("`configure' not implemented by #{self.class}")
end