Module: Packet::Client::Devices

Included in:
Packet::Client
Defined in:
lib/packet/client/devices.rb

Instance Method Summary collapse

Instance Method Details

#create_device(device) ⇒ Object



12
13
14
15
16
# File 'lib/packet/client/devices.rb', line 12

def create_device(device)
  post("projects/#{device.project_id}/devices", device.to_hash).tap do |response|
    device.update_attributes(response.body)
  end
end

#delete_device(device_or_id) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/packet/client/devices.rb', line 40

def delete_device(device_or_id)
  id = if device_or_id.is_a?(Packet::Device)
         device_or_id.id
       else
         device_or_id
       end
  delete("devices/#{id}")
end

#get_device(id, *args) ⇒ Object



8
9
10
# File 'lib/packet/client/devices.rb', line 8

def get_device(id, *args)
  Packet::Device.new(get("devices/#{id}", *args).body, self)
end

#list_devices(project_id, *args) ⇒ Object



4
5
6
# File 'lib/packet/client/devices.rb', line 4

def list_devices(project_id, *args)
  get("projects/#{project_id}/devices", *args).body['devices'].map { |p| Packet::Device.new(p, self) }
end

#power_off_device(device) ⇒ Object



36
37
38
# File 'lib/packet/client/devices.rb', line 36

def power_off_device(device)
  action(device, 'power_off')
end

#power_on_device(device) ⇒ Object



32
33
34
# File 'lib/packet/client/devices.rb', line 32

def power_on_device(device)
  action(device, 'power_on')
end

#reboot_device(device) ⇒ Object



24
25
26
# File 'lib/packet/client/devices.rb', line 24

def reboot_device(device)
  action(device, 'reboot')
end

#rescue_device(device) ⇒ Object



28
29
30
# File 'lib/packet/client/devices.rb', line 28

def rescue_device(device)
  action(device, 'rescue')
end

#update_device(device) ⇒ Object



18
19
20
21
22
# File 'lib/packet/client/devices.rb', line 18

def update_device(device)
  patch("devices/#{device.id}", device.to_hash).tap do |response|
    device.update_attributes(response.body)
  end
end