Class: Deltacloud::DSL::InstanceDefinition

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/instance_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration, &block) ⇒ InstanceDefinition

Returns a new instance of InstanceDefinition.



9
10
11
12
13
# File 'lib/instance_definition.rb', line 9

def initialize(configuration, &block)
  @instances = []
  @configuration = Deltacloud::DSL::Configuration(configuration)
  define &block
end

Instance Attribute Details

#configurationObject (readonly)

Returns the value of attribute configuration.



7
8
9
# File 'lib/instance_definition.rb', line 7

def configuration
  @configuration
end

#instancesObject (readonly)

Returns the value of attribute instances.



7
8
9
# File 'lib/instance_definition.rb', line 7

def instances
  @instances
end

Instance Method Details

#<<(instance) ⇒ Object

Add more instances to this instance definition

end



26
27
28
# File 'lib/instance_definition.rb', line 26

def <<(instance)
  @instances << instance
end

#define(&block) ⇒ Object



15
16
17
# File 'lib/instance_definition.rb', line 15

def define(&block)
  instance_eval(&block) if block_given?
end

#each(&block) ⇒ Object

Make instance definition enumerative for instances



38
39
40
# File 'lib/instance_definition.rb', line 38

def each(&block)
  @instances.each { |instance| block.call(instance) }
end

#instance(name, &block) ⇒ Object

Syntax suggar for adding new instances to instance definition



32
33
34
# File 'lib/instance_definition.rb', line 32

def instance(name, &block)
  self << Deltacloud::DSL::Instance(name, &block) if block_given?
end