class Bim::Action::Snat
Snat
class uses by Bim::Subcommands::Node
Constants
- SNAT_PATH
- SNAT_URI
Public Class Methods
add_address(name, addresses)
click to toggle source
# File lib/bim/action/snat.rb, line 52 def add_address(name, addresses) origins = specify_link_by_name(SNAT_URI, name, %(origins)) j = { 'origins': origins.push(addresses.map { |address| { 'name': address } }).flatten } self_patch(name, SNAT_URI, j.to_json) end
create(name, translation, address_list, vlans)
click to toggle source
# File lib/bim/action/snat.rb, line 26 def create(name, translation, address_list, vlans) j = { 'name': name, 'translation': translation, 'origins': address_list.map { |address| { 'name': address } } } unless vlans.nil? j['vlansEnabled'] = true j['vlans'] = vlans.map { |vlan| "/Common/#{vlan}" } end post(SNAT_URI, j.to_json) end
detail(name)
click to toggle source
# File lib/bim/action/snat.rb, line 22 def detail(name) specify(SNAT_URI) { |d| d['name'] == name } end
ls()
click to toggle source
# File lib/bim/action/snat.rb, line 11 def ls map(SNAT_URI) do |item| { 'name': item['name'], 'translation': item['translation'], 'address_list': item['origins'].map { |origin| origin['name'] }, 'vlans': item['vlans'] } end end
remove_address(name, addresses)
click to toggle source
# File lib/bim/action/snat.rb, line 58 def remove_address(name, addresses) origins = specify_link_by_name(SNAT_URI, name, %(origins)) j = { 'origins': (origins.map { |origin| origin['name'] } - addresses).map { |address| { 'name': address } } } self_patch(name, SNAT_URI, j.to_json) end
update(name, translation, address_list, vlans)
click to toggle source
# File lib/bim/action/snat.rb, line 39 def update(name, translation, address_list, vlans) j = {} if address_list j['origins'] = address_list.map { |address| { 'name': address } } end j['translation'] = translation if translation unless vlans.nil? j['vlansEnabled'] = true j['vlans'] = vlans.map { |vlan| "/Common/#{vlan}" } end self_patch(name, SNAT_URI, j.to_json) end