Class: Shared::Instance

Inherits:
StateResource show all
Defined in:
lib/vas/shared/instances.rb

Instance Attribute Summary collapse

Attributes inherited from Resource

#location, #security

Instance Method Summary collapse

Methods inherited from StateResource

#start, #state, #stop

Constructor Details

#initialize(location, client, group_class, installation_class, live_configurations_class, pending_configurations_class, node_instance_class, node_instance_type) ⇒ Instance

Returns a new instance of Instance.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/vas/shared/instances.rb', line 37

def initialize(location, client,
    group_class,
    installation_class,
    live_configurations_class,
    pending_configurations_class,
    node_instance_class,
    node_instance_type) #:nodoc:
  super(location, client)

  @name = details["name"]
  @live_configurations = live_configurations_class.new(Util::LinkUtils.get_link_href(details, "live-configurations"), client)
  @pending_configurations = pending_configurations_class.new(Util::LinkUtils.get_link_href(details, "pending-configurations"), client)
  @group = group_class.new(Util::LinkUtils.get_link_href(details, "group"), client)
  @installation_class = installation_class
  @node_instance_class = node_instance_class
  @node_instance_type = node_instance_type
end

Instance Attribute Details

#groupObject (readonly)

The group that contains this instance



32
33
34
# File 'lib/vas/shared/instances.rb', line 32

def group
  @group
end

#live_configurationsObject (readonly)

The instance’s live configurations



26
27
28
# File 'lib/vas/shared/instances.rb', line 26

def live_configurations
  @live_configurations
end

#nameObject (readonly)

The instance’s name



23
24
25
# File 'lib/vas/shared/instances.rb', line 23

def name
  @name
end

#node_instancesObject (readonly)

An array of the instance’s individual node instances



35
36
37
# File 'lib/vas/shared/instances.rb', line 35

def node_instances
  @node_instances
end

#pending_configurationsObject (readonly)

The instance’s pending configurations



29
30
31
# File 'lib/vas/shared/instances.rb', line 29

def pending_configurations
  @pending_configurations
end

Instance Method Details

#installationObject

The installation that this instance is using



56
57
58
# File 'lib/vas/shared/instances.rb', line 56

def installation
  @installation_class.new(Util::LinkUtils.get_link_href(client.get(location), 'installation'), client)
end

#to_sObject

:nodoc:



68
69
70
# File 'lib/vas/shared/instances.rb', line 68

def to_s #:nodoc:
  "#<#{self.class} name='#@name'>"
end