class Vultr::InstancesResource

Public Instance Methods

attach_iso(instance_id:, iso_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 116
def attach_iso(instance_id:, iso_id:)
  Object.new post_request("instances/#{instance_id}/iso/attach", body: {iso_id: iso_id}).body.dig("iso_status")
end
attach_private_network(instance_id:, network_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 104
def attach_private_network(instance_id:, network_id:)
  post_request("instances/#{instance_id}/private-networks/attach", body: {network_id: network_id})
end
backup_schedule(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 124
def backup_schedule(instance_id:)
  Object.new get_request("instances/#{instance_id}/backup-schedule").body.dig("backup_schedule")
end
bandwidth(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 44
def bandwidth(instance_id:)
  Object.new get_request("instances/#{instance_id}/bandwidth").body.dig("bandwidth")
end
create(**attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 8
def create(**attributes)
  Instance.new post_request("instances", body: attributes).body.dig("instance")
end
create_ipv4(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 65
def create_ipv4(instance_id:, **params)
  Object.new post_request("instances/#{instance_id}/ipv4", body: params).body.dig("ipv4")
end
create_ipv4_reverse(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 73
def create_ipv4_reverse(instance_id:, **params)
  post_request("instances/#{instance_id}/ipv4/reverse", body: params)
end
create_ipv6_reverse(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 91
def create_ipv6_reverse(instance_id:, **params)
  post_request("instances/#{instance_id}/ipv6/reverse", body: params)
end
delete(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 20
def delete(instance_id:)
  delete_request("instances/#{instance_id}")
end
delete_ipv4(instance_id:, ipv4:) click to toggle source
# File lib/vultr/resources/instances.rb, line 69
def delete_ipv4(instance_id:, ipv4:)
  delete_request("instances/#{instance_id}/ipv4/#{ipv4}")
end
delete_ipv6_reverse(instance_id:, ipv6:) click to toggle source
# File lib/vultr/resources/instances.rb, line 95
def delete_ipv6_reverse(instance_id:, ipv6:)
  delete_request("instances/#{instance_id}/ipv6/reverse/#{ipv6}")
end
detach_iso(instance_id:, iso_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 120
def detach_iso(instance_id:, iso_id:)
  Object.new post_request("instances/#{instance_id}/iso/detach", body: {iso_id: iso_id}).body.dig("iso_status")
end
detach_private_network(instance_id:, network_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 108
def detach_private_network(instance_id:, network_id:)
  post_request("instances/#{instance_id}/private-networks/detach", body: {network_id: network_id})
end
halt(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 40
def halt(instance_id:, **attributes)
  post_request("instances/#{instance_id}/halt", body: attributes)
end
halt_instances(instance_ids:) click to toggle source

Bulk operations

# File lib/vultr/resources/instances.rb, line 133
def halt_instances(instance_ids:)
  post_request("instances/halt", body: {instance_ids: Array(instance_ids)})
end
ipv6_reverse(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 86
def ipv6_reverse(instance_id:)
  response = get_request("instances/#{instance_id}/ipv6/reverse")
  Collection.from_response(response, key: "reverse_ipv6s", type: Object)
end
iso(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 112
def iso(instance_id:)
  Object.new get_request("instances/#{instance_id}/iso").body.dig("iso_status")
end
list(**params) click to toggle source
# File lib/vultr/resources/instances.rb, line 3
def list(**params)
  response = get_request("instances", params: params)
  Collection.from_response(response, key: "instances", type: Instance)
end
list_ipv4(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 60
def list_ipv4(instance_id:, **params)
  response = get_request("instances/#{instance_id}/ipv4", params: params)
  Collection.from_response(response, key: "ipv4s", type: Object)
end
list_ipv6(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 81
def list_ipv6(instance_id:, **params)
  response = get_request("instances/#{instance_id}/ipv6", params: params)
  Collection.from_response(response, key: "ipv6s", type: Object)
end
list_private_networks(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 99
def list_private_networks(instance_id:, **params)
  response = get_request("instances/#{instance_id}/private-networks", params: params)
  Collection.from_response(response, key: "private_networks", type: PrivateNetwork)
end
neighbors(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 48
def neighbors(instance_id:)
  get_request("instances/#{instance_id}/neighbors").body.dig("neighbors")
end
reboot(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 28
def reboot(instance_id:, **attributes)
  post_request("instances/#{instance_id}/reboot", body: attributes)
end
reboot_instances(instance_ids:) click to toggle source
# File lib/vultr/resources/instances.rb, line 137
def reboot_instances(instance_ids:)
  post_request("instances/reboot", body: {instance_ids: Array(instance_ids)})
end
reinstall(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 32
def reinstall(instance_id:, **attributes)
  Instance.new post_request("instances/#{instance_id}/reinstall", body: attributes).body.dig("instance")
end
restore(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 36
def restore(instance_id:, **attributes)
  Object.new post_request("instances/#{instance_id}/restore", body: attributes).body.dig("status")
end
retrieve(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 12
def retrieve(instance_id:)
  Instance.new get_request("instances/#{instance_id}").body.dig("instance")
end
set_backup_schedule(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 128
def set_backup_schedule(instance_id:, **attributes)
  post_request("instances/#{instance_id}/backup-schedule", body: attributes)
end
set_default_reverse_dns_entry(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 77
def set_default_reverse_dns_entry(instance_id:, **params)
  post_request("instances/#{instance_id}/ipv4/reverse/default", body: params)
end
start(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 24
def start(instance_id:, **attributes)
  post_request("instances/#{instance_id}/start", body: attributes)
end
start_instances(instance_ids:) click to toggle source
# File lib/vultr/resources/instances.rb, line 141
def start_instances(instance_ids:)
  post_request("instances/start", body: {instance_ids: Array(instance_ids)})
end
update(instance_id:, **attributes) click to toggle source
# File lib/vultr/resources/instances.rb, line 16
def update(instance_id:, **attributes)
  patch_request("instances/#{instance_id}", body: attributes)
end
upgrades(instance_id:, **params) click to toggle source
# File lib/vultr/resources/instances.rb, line 56
def upgrades(instance_id:, **params)
  Object.new get_request("instances/#{instance_id}/upgrades", params: params).body.dig("upgrades")
end
user_data(instance_id:) click to toggle source
# File lib/vultr/resources/instances.rb, line 52
def user_data(instance_id:)
  Object.new get_request("instances/#{instance_id}/user-data").body.dig("user_data")
end