Class: Vultr::BareMetalResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/vultr/resources/bare_metal.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Vultr::Resource

Instance Method Details

#bandwidth(baremetal_id:) ⇒ Object



40
41
42
# File 'lib/vultr/resources/bare_metal.rb', line 40

def bandwidth(baremetal_id:)
  Object.new get_request("bare-metals/#{baremetal_id}/bandwidth").body.dig("bandwidth")
end

#create(**attributes) ⇒ Object



8
9
10
# File 'lib/vultr/resources/bare_metal.rb', line 8

def create(**attributes)
  BareMetal.new post_request("bare-metals", body: attributes).body.dig("bare_metal")
end

#delete(baremetal_id:) ⇒ Object



20
21
22
# File 'lib/vultr/resources/bare_metal.rb', line 20

def delete(baremetal_id:)
  delete_request("bare-metals/#{baremetal_id}")
end

#halt(baremetal_id:) ⇒ Object



36
37
38
# File 'lib/vultr/resources/bare_metal.rb', line 36

def halt(baremetal_id:)
  post_request("bare-metals/#{baremetal_id}/halt", body: {})
end

#halt_instances(baremetal_ids:) ⇒ Object

Bulk operations



67
68
69
# File 'lib/vultr/resources/bare_metal.rb', line 67

def halt_instances(baremetal_ids:)
  post_request("bare-metals/halt", body: {baremetal_ids: Array(baremetal_ids)})
end

#list(**params) ⇒ Object



3
4
5
6
# File 'lib/vultr/resources/bare_metal.rb', line 3

def list(**params)
  response = get_request("bare-metals", params: params)
  Collection.from_response(response, key: "bare_metals", type: BareMetal)
end

#list_ipv4(baremetal_id:) ⇒ Object



56
57
58
59
# File 'lib/vultr/resources/bare_metal.rb', line 56

def list_ipv4(baremetal_id:)
  response = get_request("bare-metals/#{baremetal_id}/ipv4")
  Collection.from_response(response, key: "ipv4s", type: Object)
end

#list_ipv6(baremetal_id:) ⇒ Object



61
62
63
64
# File 'lib/vultr/resources/bare_metal.rb', line 61

def list_ipv6(baremetal_id:)
  response = get_request("bare-metals/#{baremetal_id}/ipv6")
  Collection.from_response(response, key: "ipv6s", type: Object)
end

#reboot(baremetal_id:) ⇒ Object



28
29
30
# File 'lib/vultr/resources/bare_metal.rb', line 28

def reboot(baremetal_id:)
  post_request("bare-metals/#{baremetal_id}/reboot", body: {})
end

#reboot_instances(baremetal_ids:) ⇒ Object



71
72
73
# File 'lib/vultr/resources/bare_metal.rb', line 71

def reboot_instances(baremetal_ids:)
  post_request("bare-metals/reboot", body: {baremetal_ids: Array(baremetal_ids)})
end

#reinstall(baremetal_id:) ⇒ Object



32
33
34
# File 'lib/vultr/resources/bare_metal.rb', line 32

def reinstall(baremetal_id:)
  BareMetal.new post_request("bare-metals/#{baremetal_id}/reinstall", body: {}).body.dig("bare_metal")
end

#retrieve(baremetal_id:) ⇒ Object



12
13
14
# File 'lib/vultr/resources/bare_metal.rb', line 12

def retrieve(baremetal_id:)
  BareMetal.new get_request("bare-metals/#{baremetal_id}").body.dig("bare_metal")
end

#start(baremetal_id:) ⇒ Object



24
25
26
# File 'lib/vultr/resources/bare_metal.rb', line 24

def start(baremetal_id:)
  post_request("bare-metals/#{baremetal_id}/start", body: {})
end

#start_instances(baremetal_ids:) ⇒ Object



75
76
77
# File 'lib/vultr/resources/bare_metal.rb', line 75

def start_instances(baremetal_ids:)
  post_request("bare-metals/start", body: {baremetal_ids: Array(baremetal_ids)})
end

#update(baremetal_id:, **attributes) ⇒ Object



16
17
18
# File 'lib/vultr/resources/bare_metal.rb', line 16

def update(baremetal_id:, **attributes)
  BareMetal.new patch_request("bare-metals/#{baremetal_id}", body: attributes).body.dig("bare_metal")
end

#upgrades(baremetal_id:, **params) ⇒ Object



48
49
50
# File 'lib/vultr/resources/bare_metal.rb', line 48

def upgrades(baremetal_id:, **params)
  Object.new get_request("bare-metals/#{baremetal_id}/upgrades", params: params).body.dig("upgrades")
end

#user_data(baremetal_id:) ⇒ Object



44
45
46
# File 'lib/vultr/resources/bare_metal.rb', line 44

def user_data(baremetal_id:)
  Object.new get_request("bare-metals/#{baremetal_id}/user-data").body.dig("user_data")
end

#vnc(baremetal_id:) ⇒ Object



52
53
54
# File 'lib/vultr/resources/bare_metal.rb', line 52

def vnc(baremetal_id:)
  Object.new get_request("bare-metals/#{baremetal_id}/vnc").body.dig("vnc")
end