class Bim::Action::Node

Node class uses by Bim::Subcommands::Node

Constants

NODE_PATH
NODE_URI

Public Class Methods

create(name, address) click to toggle source
# File lib/bim/action/node.rb, line 21
def create(name, address)
  post(
    NODE_URI,
    { 'name' => name, 'address' => address }.to_json
  )
end
delete(name) click to toggle source
# File lib/bim/action/node.rb, line 28
def delete(name)
  self_link = JSON.parse(detail(name))&.fetch('selfLink')
  return "not found #{name} node" if self_link.nil?
  return "cancel delete #{name} node" unless yes_or_no?("you want to delete #{name} node? [y|n]")

  uri = URI(self_link.sub('localhost', Bim::BIGIP_HOST))
  req = request(uri, Bim::AUTH, 'application/json', 'DELETE')
  msg = http(uri).request(req).body
  msg.empty? ? "success delete #{name} node" : msg
end
detail(name) click to toggle source
# File lib/bim/action/node.rb, line 17
def detail(name)
  specify(NODE_URI) { |d| d['name'] == name }
end
ls() click to toggle source
# File lib/bim/action/node.rb, line 11
def ls
  map(NODE_URI) do |item|
    { name: item['name'], address: item['address'] }
  end
end