Skip to content

bwhaley/boundary.rb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

boundary.rb

A ruby library for the Boundary API.

Currently only meter list, search and delete are supported.

auth = {}
auth[:org] = ENV['BOUNDARY_ORG_ID'] 
auth[:key] = ENV['BOUNDARY_API_KEY']

meters = Boundary::Search.new(auth)
meters.search('host*')
=>
{
 "id": "8ECrJ6gMcKxTaoNtdA",
 "href"=>
  "https://api.boundary.com/68b42008f6e53fed/meters/8ECrJ6gMcKxTaoNtdA",
 "type"=>"meter",
 "body"=>
  {"os_distribution_name"=>"host",
   "os_machine"=>"x86_64",
   "os_version"=>"#1 SMP Tue Nov 20 10:06:15 UTC 2012",
   "os_release"=>"3.2.34-55.46.amzn1.x86_64",
   "os_nodename"=>"host",
   "os_sysname"=>"Linux",
   "meter_version"=>"1.0.0fi921",
   "export_address"=>"192.168.8.105",
   "connected_at"=>1369254172240,
   "obs_domain_id"=>"736",
   "name"=>"host.example.com",
   "date_minutely"=>"2012-12-04 22:31:00",
   "date_hourly"=>"2012-12-04 22:00:00",
   "date_daily"=>"2012-12-04 00:00:00",
   "date_monthly"=>"2012-12-01 00:00:00",
   ...
},{
  ...

meters = Boundary::MeterManager.new(auth)
meters.list
=> 
{
  "id": "8ECrJ6gMcKxTaoNtdA",
  "name": "somemeter",
  "obs_domain_id": "1",
  "cert_serial_number": "8ECrJ6gMcKxTaoNtdB",
  "org_id": "68b42008f6e53fed",
},{
  "id": "8ECrJ6gMcKxTaacREj",
  "name": "anothermeter",
  "obs_domain_id": "1",
  "cert_serial_number": "8ECrJ6gMcKxTaoNtdB",
  "org_id": "68b42008f6e53fed",
},{ 
...

meters.find_meter("host.example.com")
=> 
{
  "id": "8ECrJ6gMcKxTaoNtdA",
  "name": "host.example.com",
  "obs_domain_id": "1",
  "cert_serial_number": "8ECrJ6gMcKxTaoNtdB",
  "org_id": "68b42008f6e53fed",
}

meters.delete("host.example.com")

This may become more complete over time.

About

A ruby library for the Boundary API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages