Sha256: 4ab0428cb768099c252336e4618bc74d7b8da5ad28a50296be6fd04ce25f72a5

Contents?: true

Size: 1.38 KB

Versions: 4

Compression:

Stored size: 1.38 KB

Contents

require 'netbox_client_ruby/entity'
require 'netbox_client_ruby/api/dcim/device_type'
require 'netbox_client_ruby/api/dcim/device_role'
require 'netbox_client_ruby/api/tenancy/tenant'
require 'netbox_client_ruby/api/dcim/platform'
require 'netbox_client_ruby/api/dcim/site'
require 'netbox_client_ruby/api/dcim/rack'
require 'netbox_client_ruby/api/ipam/ip_address'

module NetboxClientRuby
  class Device
    include NetboxClientRuby::Entity

    id id: :id
    deletable true
    path 'dcim/devices/:id.json'
    creation_path 'dcim/devices/'
    object_fields(
      device_type: proc { |raw_data| NetboxClientRuby::DeviceType.new raw_data['id'] },
      device_role: proc { |raw_data| NetboxClientRuby::DeviceRole.new raw_data['id'] },
      tenant: proc { |raw_data| NetboxClientRuby::Tenant.new raw_data['id'] },
      platform: proc { |raw_data| NetboxClientRuby::Platform.new raw_data['id'] },
      site: proc { |raw_data| NetboxClientRuby::Site.new raw_data['id'] },
      rack: proc { |raw_data| NetboxClientRuby::Rack.new raw_data['id'] },
      parent_device: proc { |raw_data| NetboxClientRuby::Device.new raw_data['id'] },
      primary_ip: proc { |raw_data| NetboxClientRuby::IpAddress.new raw_data['id'] },
      primary_ip4: proc { |raw_data| NetboxClientRuby::IpAddress.new raw_data['id'] },
      primary_ip6: proc { |raw_data| NetboxClientRuby::IpAddress.new raw_data['id'] }
    )
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
netbox-client-ruby-0.0.4 lib/netbox_client_ruby/api/dcim/device.rb
netbox-client-ruby-0.0.3 lib/netbox_client_ruby/api/dcim/device.rb
netbox-client-ruby-0.0.2 lib/netbox_client_ruby/api/dcim/device.rb
netbox-client-ruby-0.0.1 lib/netbox_client_ruby/api/dcim/device.rb