Class: Vultr::KubernetesResource

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

#config(vke_id:) ⇒ Object



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

def config(vke_id:)
  Object.new get_request("kubernetes/clusters/#{vke_id}/config").body
end

#create(**attributes) ⇒ Object



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

def create(**attributes)
  KubernetesCluster.new post_request("kubernetes/clusters", body: attributes).body.dig("vke_cluster")
end

#create_node_pool(vke_id:, **attributes) ⇒ Object



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

def create_node_pool(vke_id:, **attributes)
  Object.new post_request("kubernetes/clusters/#{vke_id}/node-pools", body: attributes).body.dig("node_pool")
end

#delete(vke_id:) ⇒ Object



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

def delete(vke_id:)
  delete_request("kubernetes/clusters/#{vke_id}")
end

#delete_node_pool(vke_id:, nodepool_id:) ⇒ Object



49
50
51
# File 'lib/vultr/resources/kubernetes.rb', line 49

def delete_node_pool(vke_id:, nodepool_id:)
  delete_request("kubernetes/clusters/#{vke_id}/node-pools/#{nodepool_id}")
end

#delete_node_pool_instance(vke_id:, nodepool_id:, node_id:) ⇒ Object



53
54
55
# File 'lib/vultr/resources/kubernetes.rb', line 53

def delete_node_pool_instance(vke_id:, nodepool_id:, node_id:)
  delete_request("kubernetes/clusters/#{vke_id}/node-pools/#{nodepool_id}/nodes/#{node_id}")
end

#list(**params) ⇒ Object



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

def list(**params)
  response = get_request("kubernetes/clusters", params: params)
  Collection.from_response(response, key: "vke_clusters", type: KubernetesCluster)
end

#list_node_pools(vke_id:, **params) ⇒ Object



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

def list_node_pools(vke_id:, **params)
  response = get_request("kubernetes/clusters/#{vke_id}/node-pools", params: params)
  Collection.from_response(response, key: "node_pools", type: Object)
end

#list_resources(vke_id:) ⇒ Object



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

def list_resources(vke_id:)
  Object.new get_request("kubernetes/clusters/#{vke_id}/resources").body.dig("resources")
end

#recycle_node_pool_instance(vke_id:, nodepool_id:, node_id:) ⇒ Object



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

def recycle_node_pool_instance(vke_id:, nodepool_id:, node_id:)
  post_request("kubernetes/clusters/#{vke_id}/node-pools/#{nodepool_id}/nodes/#{node_id}/recycle", body: {})
end

#retrieve(vke_id:) ⇒ Object



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

def retrieve(vke_id:)
  KubernetesCluster.new get_request("kubernetes/clusters/#{vke_id}").body.dig("vke_cluster")
end

#retrieve_node_pool(vke_id:, nodepool_id:) ⇒ Object



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

def retrieve_node_pool(vke_id:, nodepool_id:)
  Object.new get_request("kubernetes/clusters/#{vke_id}/node-pools/#{nodepool_id}").body.dig("node_pool")
end

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



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

def update(vke_id:, **attributes)
  put_request("kubernetes/clusters/#{vke_id}", body: attributes)
end

#update_node_pool(vke_id:, nodepool_id:, **attributes) ⇒ Object



45
46
47
# File 'lib/vultr/resources/kubernetes.rb', line 45

def update_node_pool(vke_id:, nodepool_id:, **attributes)
  Object.new patch_request("kubernetes/clusters/#{vke_id}/node-pools/#{nodepool_id}", body: attributes).body.dig("node_pool")
end