class OVH::Provisioner::APIObject::IP

Represent an OVH IP

Attributes

can_be_terminated[R]
country[R]
description[R]
kind[R]
organisation_id[R]
reverse[R]
routed_to[R]
type[R]

Public Instance Methods

add_reverse(reverse) click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 30
def add_reverse(reverse)
  body = {
    'ipReverse' => id.split('/').first,
    'reverse' => reverse
  }
  response = post('reverse', body)
  unless response['reverse'].nil?
    response = "#{id} - reverse #{reverse} has been added"
    @reverse = reverse['reverse']
  end
  response
end
rm_reverse() click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 43
def rm_reverse
  response = delete("reverse/#{id.split('/').first}")
  response ||= "#{id} - reverse #{reverse} has been removed"
  response
end
to_s() click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 49
def to_s
  base = "#{id} - #{routed_to}(#{type}) - #{endable}"
  %i[organisation_id country reverse description].each do |key|
    value = send(key)
    base += "\n  #{key}: #{value}" unless value.nil?
  end
  base
end

Private Instance Methods

endable() click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 77
def endable
  can_be_terminated ? 'endable' : 'non endable'
end
set_general() click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 60
def set_general
  general = get
  @organisation_id = general['organisationId']
  @country = general['country']
  routed = general['routedTo']
  @routed_to = routed.nil? ? nil : routed['serviceName']
  @can_be_terminated = general['canBeTerminated']
  @type = general['type']
  @description = general['description']
  @kind = id.include?(':') ? 'ipv6' : 'ipv4'
end
set_reverse() click to toggle source
# File lib/ovh/provisioner/api_object/ip.rb, line 72
def set_reverse
  reverse = get("reverse/#{id.split('/').first}")
  @reverse = reverse['reverse']
end