# NAME Chef::REST::Client # VERSION 1.0 # SYNOPSIS use Chef::REST::Client; my $obj = new Chef::REST::Client ( 'chef\_client\_name' => $chef\_client\_name ) $obj->name( $chef\_client\_name ); $obj->roles('vagrant')->details; $obj->roles('vagrant','environments')->details $obj->roles->list; $obj->search( 'secrets' , { q => 'id:centrify', rows => 1 } )->details $obj->environments(,'cookbooks' , )->details; $obj->environments(,'cookbooks_versions' ,{ 'method' => 'post' , 'data' => { 'runlist' => [ 'ms-scribe'] } } ); $obj->roles()->details->override_attributes; # DESCRIPTION This is the interface to the Chef server api methods listed on opscode documentation [opscode Chef Api](http://docs.opscode.com/api\_chef\_server.html) currently it provides implementation for only GET methods # METHODS ## role( $role ) returns new [Chef::REST::Client::role](http://search.cpan.org/perldoc?Chef::REST::Client::role) object used by other classes ## roles ( @roles ) makes a GET request to the chef server for all the @roles and returns and [Chef::REST::Client::roles](http://search.cpan.org/perldoc?Chef::REST::Client::roles) object. you can directly get details for all the roles as $obj->role( 'role1', 'role2' )->details; this inturn will return [Chef::REST::Client::role](http://search.cpan.org/perldoc?Chef::REST::Client::role) /roles $obj->roles->list /roles/ $obj->roles()->details $obj->roles()->details->run\_list; $obj->roles()->details->override\_attributes; ## runlist ( @$recipes ) returns new [Chef::REST::Client::runlist](http://search.cpan.org/perldoc?Chef::REST::Client::runlist) object. it takes a list of recipies as parameter. used by other classes ## sandboxes returns new [Chef::REST::Client::sandboxes](http://search.cpan.org/perldoc?Chef::REST::Client::sandboxes) object. $obj->sandboxes->list; /sandboxes $obj->sandboxes->list /sandboxes/ $obj->sandboxes()->details ## search returns new [Chef::REST::Client::search](http://search.cpan.org/perldoc?Chef::REST::Client::search) /search $obj->search->listen /search/ $obj->search()->details /search/ query id:centrify and get rows 1 $obj->search( 'secrets' , { q => 'id:centrify', rows => 1 } )->details ## recipe returns new [Chef::REST::Client::recipe](http://search.cpan.org/perldoc?Chef::REST::Client::recipe) object. used by other classes ## principals returns new [Chef::REST::Client::principals](http://search.cpan.org/perldoc?Chef::REST::Client::principals) object. $obj->principals->details; /principals $obj->principals->list /principals/ $obj->principals()->details ## node returns new [Chef::REST::Client::node](http://search.cpan.org/perldoc?Chef::REST::Client::node) object. $obj->node->details; used by other classes ## nodes returns new [Chef::REST::Client::nodes](http://search.cpan.org/perldoc?Chef::REST::Client::nodes) object. $obj->nodes->list; /nodes $obj->nodes->listen /nodes/ $obj->nodes()->details ## envrunlist returns new [Chef::REST::Client::envrunnlist](http://search.cpan.org/perldoc?Chef::REST::Client::envrunnlist) object. used by other classes ## environment returns new [Chef::REST::Client::environment](http://search.cpan.org/perldoc?Chef::REST::Client::environment) object. used by other classes ## environments returns new [Chef::REST::Client::environments](http://search.cpan.org/perldoc?Chef::REST::Client::environments) object. /environment/ $obj->environments()->details; /environment//cookbooks/ $obj->environments(,'cookbooks' , )->details; /environment//cookbooks $obj->environments(,'cookbooks') POST /environments//cookbooks\_versions $obj->environments(,'cookbooks\_versions' ,{ 'method' => 'post' , 'data' => { 'runlist' => \[ 'ms-scribe'\] } } ); ## databag returns new [Chef::REST::Client::databag](http://search.cpan.org/perldoc?Chef::REST::Client::databag) object. ## data returns new [Chef::REST::Client::data](http://search.cpan.org/perldoc?Chef::REST::Client::data) object. /data $obj->data->list /data/ $obj->data( )->details ## cookbook returns new [Chef::REST::Client::cookbook](http://search.cpan.org/perldoc?Chef::REST::Client::cookbook) object. ## cookbooks returns new [Chef::REST::Client::cookbooks](http://search.cpan.org/perldoc?Chef::REST::Client::cookbooks) object. /cookbooks $obj->cookbooks->list /cookbooks/ $obj->cookbooks()->details $obj->cookbooks( , '\_latest' )->details->recipes; $obj->cookbooks( , '\_latest' )->details->attributes; ## cookbook\_version returns new [Chef::REST::Client::cookbook\_version](http://search.cpan.org/perldoc?Chef::REST::Client::cookbook\_version) object. used by other classes ## cookbook\_versions returns new [Chef::REST::Client::cookbook\_versions](http://search.cpan.org/perldoc?Chef::REST::Client::cookbook\_versions) object. collection of [Chef::REST::Client::cookbook\_version](http://search.cpan.org/perldoc?Chef::REST::Client::cookbook\_version) ## clients returns new [Chef::REST::Client::clients](http://search.cpan.org/perldoc?Chef::REST::Client::clients) object. /clients $obj->clients->list /clients// $obj->clients()->details ## attribute returns new [Chef::REST::Client::attribute](http://search.cpan.org/perldoc?Chef::REST::Client::attribute) object. used by other classes to structure data ## attributes returns new [Chef::REST::Client::attributes](http://search.cpan.org/perldoc?Chef::REST::Client::attributes) object. collection of [Chef::REST::Client::attribute](http://search.cpan.org/perldoc?Chef::REST::Client::attribute) # KNOWN BUGS # SUPPORT open a github ticket or email comments to Bhavin Patel # COPYRIGHT AND LICENSE This Software is free to use , licensed under : The Artisic License 2.0 (GPL Compatible)