summaryrefslogtreecommitdiff
path: root/lib/chef/data_bag.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/data_bag.rb')
-rw-r--r--lib/chef/data_bag.rb19
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