Class: AWS::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/breeze/fog_extensions/aws.rb

Instance Method Summary collapse

Instance Method Details

#breeze_data(new_values = nil) ⇒ Object

Get or set meta data that is saved in a tag.



22
23
24
25
26
27
28
29
30
# File 'lib/breeze/fog_extensions/aws.rb', line 22

def breeze_data(new_values=nil)
  if new_values
    tags['breeze-data'] = new_values.map{ |k,v| v.nil? ? v : "#{k}:#{v}" }.compact.join(';')
    # thor("server:tag:create #{id} breeze-data '#{tags['breeze-data']}'")
    Breeze::Server::Tag.new.create(id, 'breeze-data', tags['breeze-data'])
  else
    Hash[tags['breeze-data'].to_s.split(';').map{ |s| s.split(':') }]
  end
end

#breeze_state(new_state = nil) ⇒ Object

Get or set the state tag.



41
42
43
44
45
46
47
# File 'lib/breeze/fog_extensions/aws.rb', line 41

def breeze_state(new_state=nil)
  if new_state
    breeze_data(breeze_data.merge('state' => new_state))
  else
    breeze_data['state']
  end
end

#display_nameObject



13
14
15
16
# File 'lib/breeze/fog_extensions/aws.rb', line 13

def display_name
  return "#{state}:#{name}" if name and state != 'running'
  name || public_ip_address || "#{state} #{flavor_id} #{id}"
end

#nameObject



9
10
11
# File 'lib/breeze/fog_extensions/aws.rb', line 9

def name
  breeze_data['name'] || tags['Name']
end

#running?Boolean

Returns:

  • (Boolean)


18
# File 'lib/breeze/fog_extensions/aws.rb', line 18

def running? ; current_state == 'running' ; end

#spare_for_rollback!Object



32
33
34
# File 'lib/breeze/fog_extensions/aws.rb', line 32

def spare_for_rollback!
  breeze_state('spare_for_rollback')
end

#spare_for_rollback?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/breeze/fog_extensions/aws.rb', line 36

def spare_for_rollback?
  breeze_state == 'spare_for_rollback'
end

#stopped?Boolean

Returns:

  • (Boolean)


19
# File 'lib/breeze/fog_extensions/aws.rb', line 19

def stopped? ; current_state == 'stopped' ; end