Module: FogExtensions::Cloudstack::Server
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/fog_extensions/cloudstack/server.rb
Instance Method Summary collapse
- #created_at ⇒ Object
- #flavor_with_object ⇒ Object
- #ip_address ⇒ Object
- #ip_addresses ⇒ Object
- #network ⇒ Object
- #pause ⇒ Object
- #reset ⇒ Object
- #security_group ⇒ Object
-
#security_groups_with_no_id ⇒ Object
the original method requires a server ID, however we want to be able to call this method on new instances too.
- #start ⇒ Object
- #stop ⇒ Object
- #tenant ⇒ Object
- #test_method ⇒ Object
-
#to_s ⇒ Object
included do alias_method_chain :security_groups, :no_id attr_writer :security_group, :network # floating IP end.
- #vm_description ⇒ Object
Instance Method Details
#created_at ⇒ Object
55 56 57 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 55 def created_at Time.parse attributes['created'] end |
#flavor_with_object ⇒ Object
51 52 53 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 51 def flavor_with_object service.flavors.get attributes[:flavor]['id'] end |
#ip_address ⇒ Object
15 16 17 18 19 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 15 def ip_address logger.info "BG inspect nics:" logger.info nics.inspect return nics[0]["ipaddress"] end |
#ip_addresses ⇒ Object
25 26 27 28 29 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 25 def ip_addresses logger.info "BG inspect nics:" logger.info nics.inspect nics.map { |n| n.ipaddress } end |
#network ⇒ Object
66 67 68 69 70 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 66 def network return @network if @network # in case we didnt submitting the form again after an error. return networks.try(:first).try(:name) if persisted? nil end |
#pause ⇒ Object
43 44 45 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 43 def pause service.pause_server(id) end |
#reset ⇒ Object
78 79 80 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 78 def reset reboot('HARD') end |
#security_group ⇒ Object
72 73 74 75 76 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 72 def security_group return @security_group if @security_group # in case we didnt submitting the form again after an error. return security_groups.try(:first).try(:name) if persisted? nil end |
#security_groups_with_no_id ⇒ Object
the original method requires a server ID, however we want to be able to call this method on new instances too
60 61 62 63 64 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 60 def security_groups_with_no_id return [] if id.nil? security_groups_without_no_id end |
#start ⇒ Object
31 32 33 34 35 36 37 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 31 def start if state.downcase == 'paused' service.unpause_server(id) else service.resume_server(id) end end |
#stop ⇒ Object
39 40 41 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 39 def stop service.suspend_server(id) end |
#tenant ⇒ Object
47 48 49 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 47 def tenant service.tenants.detect{|t| t.id == tenant_id } end |
#test_method ⇒ Object
21 22 23 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 21 def test_method nics[0]["ipaddress"] end |
#to_s ⇒ Object
included do alias_method_chain :security_groups, :no_id attr_writer :security_group, :network # floating IP end
11 12 13 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 11 def to_s name end |
#vm_description ⇒ Object
82 83 84 |
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 82 def vm_description "" end |