Chef::REST::Client
1.1
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(<env_name>,'cookbooks' , <cookbook_name>)->details;
$obj->environments(<env_name>,'cookbooks_versions'
,{ 'method' => 'post'
, 'data' => { 'runlist' => [ 'ms-scribe'] }
}
);
$obj->roles(<role_name>)->details->override_attributes;
This is the interface to the Chef server api methods listed on opscode documentation opscode Chef Api currently it provides implementation for only GET methods
returns new Chef::REST::Client::role object used by other classes
makes a GET request to the chef server for all the @roles and returns and 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
/roles
$obj->roles->list
/roles/<role\_name>
$obj->roles(<role\_name>)->details
$obj->roles(<role\_name>)->details->run\_list;
$obj->roles(<role\_name>)->details->override\_attributes;
returns new Chef::REST::Client::runlist object. it takes a list of recipies as parameter. used by other classes
returns new Chef::REST::Client::sandboxes object. $obj->sandboxes->list;
/sandboxes
$obj->sandboxes->list
/sandboxes/<id>
$obj->sandboxes(<id>)->details
returns new Chef::REST::Client::search
/search
$obj->search->listen
/search/<index>
$obj->search(<index>)->details
/search/ query id:centrify and get rows 1
$obj->search( 'secrets' , { q => 'id:centrify', rows => 1 } )->details
returns new Chef::REST::Client::recipe object. used by other classes
returns new Chef::REST::Client::principals object. $obj->principals->details;
/principals
$obj->principals->list
/principals/<name>
$obj->principals(<name>)->details
returns new Chef::REST::Client::node object. $obj->node->details; used by other classes
returns new Chef::REST::Client::nodes object. $obj->nodes->list;
/nodes
$obj->nodes->listen
/nodes/<node\_name>
$obj->nodes(<node\_name>)->details
returns new Chef::REST::Client::envrunnlist object. used by other classes
returns new Chef::REST::Client::environment object. used by other classes
returns new Chef::REST::Client::environments object.
/environment/<env\_name>
$obj->environments(<env\_name>)->details;
/environment/<env\_name>/cookbooks/<cookbook\_name>
$obj->environments(<env\_name>,'cookbooks' , <cookbook\_name>)->details;
/environment/<env\_name>/cookbooks
$obj->environments(<env\_name>,'cookbooks')
POST /environments/<env\_name>/cookbooks\_versions
$obj->environments(<env\_name>,'cookbooks\_versions'
,{ 'method' => 'post'
, 'data' => { 'runlist' => \[ 'ms-scribe'\] }
}
);
returns new Chef::REST::Client::databag object.
returns new Chef::REST::Client::data object.
/data
$obj->data->list
/data/<var\_name>
$obj->data( <var\_name> )->details
returns new Chef::REST::Client::cookbook object.
returns new Chef::REST::Client::cookbooks object.
/cookbooks
$obj->cookbooks->list
/cookbooks/<cookbook\_name>
$obj->cookbooks(<cookbook\_name>)->details
$obj->cookbooks(<cookbook\_name> , '\_latest' )->details->recipes;
$obj->cookbooks(<cookbook\_name> , '\_latest' )->details->attributes;
returns new Chef::REST::Client::cookbook_version object. used by other classes
returns new Chef::REST::Client::cookbook_versions object. collection of Chef::REST::Client::cookbook_version
returns new Chef::REST::Client::clients object.
/clients
$obj->clients->list
/clients/<client\_name>/
$obj->clients(<client\_name>)->details
returns new Chef::REST::Client::attribute object. used by other classes to structure data
returns new Chef::REST::Client::attributes object. collection of Chef::REST::Client::attribute
open a github ticket or email comments to Bhavin Patel bpatel10@nyit.edu
This Software is free to use , licensed under : The Artisic License 2.0 (GPL Compatible)