Class: Fog::Compute::VcloudDirector::Vapp

Inherits:
Model
  • Object
show all
Defined in:
lib/fog/vcloud_director/models/compute/vapp.rb

Instance Method Summary collapse

Methods inherited from Model

#initialize, #inspect, #lazy_load_attrs, #make_attr_loaded_method, #make_lazy_load_method

Constructor Details

This class inherits a constructor from Fog::Compute::VcloudDirector::Model

Instance Method Details

#destroyObject



126
127
128
129
130
131
132
133
134
135
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 126

def destroy
  requires :id
  begin
    response = service.delete_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#power_offObject

Power off all VMs in the vApp.



55
56
57
58
59
60
61
62
63
64
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 55

def power_off
  requires :id
  begin
    response = service.post_power_off_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#power_onObject

Power on all VMs in the vApp.



67
68
69
70
71
72
73
74
75
76
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 67

def power_on
  requires :id
  begin
    response = service.post_power_on_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#rebootObject

Reboot all VMs in the vApp.



79
80
81
82
83
84
85
86
87
88
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 79

def reboot
  requires :id
  begin
    response = service.post_reboot_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#resetObject

Reset all VMs in the vApp.



91
92
93
94
95
96
97
98
99
100
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 91

def reset
  requires :id
  begin
    response = service.post_reset_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#shutdownObject

Shut down all VMs in the vApp.



103
104
105
106
107
108
109
110
111
112
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 103

def shutdown
  requires :id
  begin
    response = service.post_shutdown_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#suspendObject

Suspend all VMs in the vApp.



115
116
117
118
119
120
121
122
123
124
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 115

def suspend
  requires :id
  begin
    response = service.post_suspend_vapp(id)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#tagsObject



26
27
28
29
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 26

def tags
  requires :id
  service.tags(:vm => self)
end

#undeploy(action = 'powerOff') ⇒ Object

  • powerOff (Power off the virtual machines. This is the default action if this attribute is missing or empty)

  • suspend (Suspend the virtual machines)

  • shutdown (Shut down the virtual machines)

  • force (Attempt to power off the virtual machines. Failures in undeploying the virtual machine or associated networks are ignored. All references to the vApp and its virtual machines are removed from the database)

  • default (Use the actions, order, and delay specified in the StartupSection)

Parameters:

  • action (String) (defaults to: 'powerOff')

    The specified action is applied to all virtual machines in the vApp. All values other than default ignore actions, order, and delay specified in the StartupSection. One of:



44
45
46
47
48
49
50
51
52
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 44

def undeploy(action='powerOff')
  begin
    response = service.post_undeploy_vapp(id, :UndeployPowerAction => action)
  rescue Fog::Compute::VcloudDirector::BadRequest => ex
    Fog::Logger.debug(ex.message)
    return false
  end
  service.process_task(response.body)
end

#vmsObject



21
22
23
24
# File 'lib/fog/vcloud_director/models/compute/vapp.rb', line 21

def vms
  requires :id
  service.vms(:vapp => self)
end