Module: Chef::Knife::RdsBaseDataBag::ClassMethods

Defined in:
lib/chef/knife/rds_base_data_bag.rb

Overview

ClassMethods

Instance Method Summary collapse

Instance Method Details

#define_params(*params) ⇒ Object



19
20
21
# File 'lib/chef/knife/rds_base_data_bag.rb', line 19

def define_params(*params)
  include_params_for(params, @@data_bag_params)
end

#defined_paramsObject

Helper method for returning the parameters defined for type

type - String type of parameter (ex. :string or :integer)

Returns array



52
53
54
55
56
57
58
# File 'lib/chef/knife/rds_base_data_bag.rb', line 52

def defined_params
  if @@data_bag_params[task_name].nil?
    []
  else
    @@data_bag_params[task_name].uniq
  end
end

#include_params_for(params, attribute) ⇒ Object

Helper method for building attribute list for the task

params - Array of parameter names attribute - Class variable



31
32
33
34
35
36
# File 'lib/chef/knife/rds_base_data_bag.rb', line 31

def include_params_for(params, attribute)
  attribute[task_name] ||= []
  Array(params).flatten.each do |param|
    attribute[task_name] << param.to_s
  end
end

#require_in_data_bag(*params) ⇒ Object



23
24
25
# File 'lib/chef/knife/rds_base_data_bag.rb', line 23

def require_in_data_bag(*params)
  include_params_for(params, @@required_data_bag_options)
end

#required_data_bag_optionsObject

Return array of options that must exist in data bag



39
40
41
42
43
44
45
# File 'lib/chef/knife/rds_base_data_bag.rb', line 39

def required_data_bag_options
  if @@required_data_bag_options[task_name].nil?
    []
  else
    @@required_data_bag_options[task_name].uniq
  end
end

#task_nameObject

Safe string name for the task



15
16
17
# File 'lib/chef/knife/rds_base_data_bag.rb', line 15

def task_name
  name.to_s.downcase.gsub(/:/, '')
end