Class: Vultr::LoadBalancersResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/vultr/resources/load_balancers.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

#create(**attributes) ⇒ Object



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

def create(**attributes)
  LoadBalancer.new post_request("load-balancers", body: attributes).body.dig("load_balancer")
end

#create_forwarding_rule(load_balancer_id:, **attributes) ⇒ Object



29
30
31
# File 'lib/vultr/resources/load_balancers.rb', line 29

def create_forwarding_rule(load_balancer_id:, **attributes)
  Object.new post_request("load-balancers/#{load_balancer_id}/forwarding-rules", body: attributes).body.dig("forwarding_rule")
end

#delete(load_balancer_id:) ⇒ Object



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

def delete(load_balancer_id:)
  delete_request("load-balancers/#{load_balancer_id}")
end

#delete_forwarding_rule(load_balancer_id:, forwarding_rule_id:) ⇒ Object



37
38
39
# File 'lib/vultr/resources/load_balancers.rb', line 37

def delete_forwarding_rule(load_balancer_id:, forwarding_rule_id:)
  delete_request("load-balancers/#{load_balancer_id}/forwarding-rules/#{forwarding_rule_id}")
end

#list(**params) ⇒ Object



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

def list(**params)
  response = get_request("load-balancers", params: params)
  Collection.from_response(response, key: "load_balancers", type: LoadBalancer)
end

#list_firewall_rules(load_balancer_id:, **params) ⇒ Object



41
42
43
44
# File 'lib/vultr/resources/load_balancers.rb', line 41

def list_firewall_rules(load_balancer_id:, **params)
  response = get_request("load-balancers/#{load_balancer_id}/firewall-rules", params: params)
  Collection.from_response(response, key: "firewall_rules", type: Object)
end

#list_forwarding_rules(load_balancer_id:, **params) ⇒ Object



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

def list_forwarding_rules(load_balancer_id:, **params)
  response = get_request("load-balancers/#{load_balancer_id}/forwarding-rules", params: params)
  Collection.from_response(response, key: "forwarding_rules", type: Object)
end

#retrieve(load_balancer_id:) ⇒ Object



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

def retrieve(load_balancer_id:)
  LoadBalancer.new get_request("load-balancers/#{load_balancer_id}").body.dig("load_balancer")
end

#retrieve_firewall_rule(load_balancer_id:, firewall_rule_id:) ⇒ Object



46
47
48
# File 'lib/vultr/resources/load_balancers.rb', line 46

def retrieve_firewall_rule(load_balancer_id:, firewall_rule_id:)
  Object.new get_request("load-balancers/#{load_balancer_id}/firewall-rules/#{firewall_rule_id}").body.dig("firewall_rule")
end

#retrieve_forwarding_rule(load_balancer_id:, forwarding_rule_id:) ⇒ Object



33
34
35
# File 'lib/vultr/resources/load_balancers.rb', line 33

def retrieve_forwarding_rule(load_balancer_id:, forwarding_rule_id:)
  Object.new get_request("load-balancers/#{load_balancer_id}/forwarding-rules/#{forwarding_rule_id}").body.dig("forwarding_rule")
end

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



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

def update(load_balancer_id:, **attributes)
  LoadBalancer.new patch_request("load-balancers/#{load_balancer_id}", body: attributes).body.dig("load_balancer")
end