diff options
Diffstat (limited to 'lib/chef/data_bag.rb')
-rw-r--r-- | lib/chef/data_bag.rb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/chef/data_bag.rb b/lib/chef/data_bag.rb index 401ba6f63f..9d0dc53da5 100644 --- a/lib/chef/data_bag.rb +++ b/lib/chef/data_bag.rb @@ -24,6 +24,7 @@ require 'chef/mixin/from_file' require 'chef/data_bag_item' require 'chef/mash' require 'chef/json_compat' +require 'chef/server_api' class Chef class DataBag @@ -70,15 +71,19 @@ class Chef end def chef_server_rest - @chef_server_rest ||= Chef::REST.new(Chef::Config[:chef_server_url]) + @chef_server_rest ||= Chef::ServerAPI.new(Chef::Config[:chef_server_url]) end def self.chef_server_rest - Chef::REST.new(Chef::Config[:chef_server_url]) + Chef::ServerAPI.new(Chef::Config[:chef_server_url]) end # Create a Chef::Role from JSON def self.json_create(o) + from_hash(o) + end + + def self.from_hash(o) bag = new bag.name(o["name"]) bag @@ -104,7 +109,7 @@ class Chef response end else - Chef::REST.new(Chef::Config[:chef_server_url]).get_rest("data") + Chef::ServerAPI.new(Chef::Config[:chef_server_url]).get("data") end end end @@ -120,7 +125,7 @@ class Chef end Dir.glob(File.join(Chef::Util::PathHelper.escape_glob(path, name.to_s), "*.json")).inject({}) do |bag, f| - item = Chef::JSONCompat.from_json(IO.read(f)) + item = Chef::JSONCompat.parse(IO.read(f)) # Check if we have multiple items with similar names (ids) and raise if their content differs if data_bag.has_key?(item["id"]) && data_bag[item["id"]] != item @@ -132,12 +137,12 @@ class Chef end return data_bag else - Chef::REST.new(Chef::Config[:chef_server_url]).get_rest("data/#{name}") + Chef::ServerAPI.new(Chef::Config[:chef_server_url]).get("data/#{name}") end end def destroy - chef_server_rest.delete_rest("data/#{@name}") + chef_server_rest.delete("data/#{@name}") end # Save the Data Bag via RESTful API @@ -156,7 +161,7 @@ class Chef #create a data bag via RESTful API def create - chef_server_rest.post_rest("data", self) + chef_server_rest.post("data", self) self end |