Module: SecureDataBag::DSL::DataQuery

Defined in:
lib/secure_data_bag/dsl/data_query.rb

Instance Method Summary collapse

Instance Method Details

#secure_data_bag_item(bag, item, cache: false) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/secure_data_bag/dsl/data_query.rb', line 5

def secure_data_bag_item(bag, item, cache: false)
  data_bag_item = begin
    node.run_state[:secure_data_bag] ||= {}
    node.run_state[:secure_data_bag][bag] ||= {}
    node.run_state[:secure_data_bag][bag][item]
  end if cache

  data_bag_item ||= begin
    Chef::DataBag.validate_name!(bag.to_s)
    SecureDataBag::Item.validate_id!(item)
    SecureDataBag::Item.load(bag, item)
  rescue StandardError
    Chef::Log.error("Failed to load secure data bag item: #{bag.inspect} #{item.inspect}")
    raise
  end

  node.run_state[:secure_data_bag][bag][item] ||= data_bag_item if cache
  data_bag_item
end

#secure_data_bag_item!(item, metadata = {}) ⇒ Object



25
26
27
28
# File 'lib/secure_data_bag/dsl/data_query.rb', line 25

def secure_data_bag_item!(item,  = {})
  secure = SecureDataBag::Item.from_item(item, )
  secure
end