Module: Chef::Knife::RdsBase
- Included in:
- RdsCreate, RdsInstanceDelete, RdsInstanceFromDataBag, RdsInstanceList, RdsInstanceRestoreFromDataBag, RdsPgFromDataBag, RdsPgList, RdsSgFromDataBag, RdsSgList
- Defined in:
- lib/chef/knife/rds_base.rb
Constant Summary collapse
- APPLY_METHODS =
['immediate', 'pending-reboot']
Class Method Summary collapse
Instance Method Summary collapse
- #assert_name_args_at_least!(num, error = 'Incorrect number of name args.') ⇒ Object
-
#assert_valid_apply_method! ⇒ Object
Assert user supplied apply method is valid.
-
#authenticate!(required = [:aws_access_key_id, :aws_secret_access_key]) ⇒ Object
Ensure user is authenticated before proceededing.
- #connect! ⇒ Object
- #rds ⇒ Object
Class Method Details
.included(base) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/chef/knife/rds_base.rb', line 12 def self.included(base) base.class_eval do option :aws_access_key_id, :short => "-A ID", :long => "--aws-access-key-id ID", :description => "Your AWS Access Key ID", :proc => Proc.new { |key| Chef::Config[:knife][:aws_access_key_id] = key } option :aws_secret_access_key, :short => "-K SECRET", :long => "--aws-secret-access-key SECRET", :description => "Your AWS API Secret Access Key", :proc => Proc.new { |key| Chef::Config[:knife][:aws_secret_access_key] = key } end end |
Instance Method Details
#assert_name_args_at_least!(num, error = 'Incorrect number of name args.') ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/chef/knife/rds_base.rb', line 32 def assert_name_args_at_least!(num, error = 'Incorrect number of name args.') unless name_args.size >= num ui.fatal(error) show_usage exit 1 end end |
#assert_valid_apply_method! ⇒ Object
Assert user supplied apply method is valid
58 59 60 61 62 63 |
# File 'lib/chef/knife/rds_base.rb', line 58 def assert_valid_apply_method! unless APPLY_METHODS.include?(config[:apply_method]) ui.fatal("Unknown type of apply method #{config[:apply_method]}") exit 1 end end |
#authenticate!(required = [:aws_access_key_id, :aws_secret_access_key]) ⇒ Object
Ensure user is authenticated before proceededing
Raises ArgumentError
43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/chef/knife/rds_base.rb', line 43 def authenticate!(required = [:aws_access_key_id, :aws_secret_access_key]) errors = [] required.each do |k| if Chef::Config[:knife][k].nil? errors << "A valid #{k} is required." end end unless errors.empty? errors.each { |e| ui.error(e) } exit 1 end connect! end |
#connect! ⇒ Object
69 70 71 |
# File 'lib/chef/knife/rds_base.rb', line 69 def connect! AWS.config(aws_access_key_id: config[:aws_access_key_id], aws_secret_access_key: config[:aws_secret_access_key]) end |
#rds ⇒ Object
65 66 67 |
# File 'lib/chef/knife/rds_base.rb', line 65 def rds AWS::RDS.new end |