Sha256: 3e9ed526e740aa4197a5e8ff0dc41320d147b2a395340bcad72e657c93fecfc8
Contents?: true
Size: 1.53 KB
Versions: 9
Compression:
Stored size: 1.53 KB
Contents
require 'netbox_client_ruby/entity' require 'netbox_client_ruby/api/ipam/role' require 'netbox_client_ruby/api/dcim/site' require 'netbox_client_ruby/api/ipam/vrf' require 'netbox_client_ruby/api/ipam/vlan' require 'netbox_client_ruby/api/ipam/vlan_group' require 'netbox_client_ruby/api/tenancy/tenant' require 'ipaddress' module NetboxClientRuby module IPAM class Prefix include Entity id id: :id deletable true path 'ipam/prefixes/:id.json' creation_path 'ipam/prefixes/' object_fields( site: proc { |raw_data| DCIM::Site.new raw_data['id'] }, vrf: proc { |raw_data| Vrf.new raw_data['id'] }, tenant: proc { |raw_data| Tenancy::Tenant.new raw_data['id'] }, vlan: proc { |raw_data| Vlan.new raw_data['id'] }, status: proc { |raw_data| PrefixStatus.new raw_data['value'] }, role: proc { |raw_data| Role.new raw_data['id'] }, prefix: proc { |raw_data| IPAddress.parse raw_data } ) readonly_fields :display_name end class PrefixStatus attr_reader :value, :label def initialize(status_value) @value = status_value @label = case status_value when 0 then 'Container'.freeze when 1 then 'Active'.freeze when 2 then 'Reserved'.freeze when 3 then 'Deprecated'.freeze else 'UNDEFINED'.freeze end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems