Class: StackMaster::StackDefinition
- Inherits:
-
Object
- Object
- StackMaster::StackDefinition
- Includes:
- Utils::Initializable
- Defined in:
- lib/stack_master/stack_definition.rb
Instance Attribute Summary collapse
-
#additional_parameter_lookup_dirs ⇒ Object
Returns the value of attribute additional_parameter_lookup_dirs.
-
#base_dir ⇒ Object
Returns the value of attribute base_dir.
-
#compiler_options ⇒ Object
Returns the value of attribute compiler_options.
-
#files ⇒ Object
Returns the value of attribute files.
-
#notification_arns ⇒ Object
Returns the value of attribute notification_arns.
-
#region ⇒ Object
Returns the value of attribute region.
-
#role_arn ⇒ Object
Returns the value of attribute role_arn.
-
#s3 ⇒ Object
Returns the value of attribute s3.
-
#secret_file ⇒ Object
Returns the value of attribute secret_file.
-
#stack_name ⇒ Object
Returns the value of attribute stack_name.
-
#stack_policy_file ⇒ Object
Returns the value of attribute stack_policy_file.
-
#tags ⇒ Object
Returns the value of attribute tags.
-
#template ⇒ Object
Returns the value of attribute template.
-
#template_dir ⇒ Object
Returns the value of attribute template_dir.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #files_dir ⇒ Object
-
#initialize(attributes = {}) ⇒ StackDefinition
constructor
A new instance of StackDefinition.
- #parameter_files ⇒ Object
- #s3_configured? ⇒ Boolean
- #s3_files ⇒ Object
- #s3_template_file_name ⇒ Object
- #stack_policy_file_path ⇒ Object
- #template_file_path ⇒ Object
Methods included from Utils::Initializable
Constructor Details
#initialize(attributes = {}) ⇒ StackDefinition
Returns a new instance of StackDefinition.
20 21 22 23 24 25 26 27 28 |
# File 'lib/stack_master/stack_definition.rb', line 20 def initialize(attributes = {}) @additional_parameter_lookup_dirs = [] @compiler_options = {} @notification_arns = [] @s3 = {} @files = [] super @template_dir ||= File.join(@base_dir, 'templates') end |
Instance Attribute Details
#additional_parameter_lookup_dirs ⇒ Object
Returns the value of attribute additional_parameter_lookup_dirs.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def additional_parameter_lookup_dirs @additional_parameter_lookup_dirs end |
#base_dir ⇒ Object
Returns the value of attribute base_dir.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def base_dir @base_dir end |
#compiler_options ⇒ Object
Returns the value of attribute compiler_options.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def @compiler_options end |
#files ⇒ Object
Returns the value of attribute files.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def files @files end |
#notification_arns ⇒ Object
Returns the value of attribute notification_arns.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def notification_arns @notification_arns end |
#region ⇒ Object
Returns the value of attribute region.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def region @region end |
#role_arn ⇒ Object
Returns the value of attribute role_arn.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def role_arn @role_arn end |
#s3 ⇒ Object
Returns the value of attribute s3.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def s3 @s3 end |
#secret_file ⇒ Object
Returns the value of attribute secret_file.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def secret_file @secret_file end |
#stack_name ⇒ Object
Returns the value of attribute stack_name.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def stack_name @stack_name end |
#stack_policy_file ⇒ Object
Returns the value of attribute stack_policy_file.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def stack_policy_file @stack_policy_file end |
#tags ⇒ Object
Returns the value of attribute tags.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def @tags end |
#template ⇒ Object
Returns the value of attribute template.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def template @template end |
#template_dir ⇒ Object
Returns the value of attribute template_dir.
3 4 5 |
# File 'lib/stack_master/stack_definition.rb', line 3 def template_dir @template_dir end |
Instance Method Details
#==(other) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/stack_master/stack_definition.rb', line 30 def ==(other) self.class === other && @region == other.region && @stack_name == other.stack_name && @template == other.template && @tags == other. && @role_arn == other.role_arn && @notification_arns == other.notification_arns && @base_dir == other.base_dir && @secret_file == other.secret_file && @stack_policy_file == other.stack_policy_file && @additional_parameter_lookup_dirs == other.additional_parameter_lookup_dirs && @s3 == other.s3 && @compiler_options == other. end |
#files_dir ⇒ Object
50 51 52 |
# File 'lib/stack_master/stack_definition.rb', line 50 def files_dir File.join(base_dir, 'files') end |
#parameter_files ⇒ Object
70 71 72 |
# File 'lib/stack_master/stack_definition.rb', line 70 def parameter_files [ default_parameter_file_path, region_parameter_file_path, additional_parameter_lookup_file_paths ].flatten.compact end |
#s3_configured? ⇒ Boolean
78 79 80 |
# File 'lib/stack_master/stack_definition.rb', line 78 def s3_configured? !s3.nil? end |
#s3_files ⇒ Object
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/stack_master/stack_definition.rb', line 54 def s3_files files.inject({}) do |hash, file| path = File.join(files_dir, file) hash[file] = { path: path, body: File.read(path) } hash end end |
#s3_template_file_name ⇒ Object
65 66 67 68 |
# File 'lib/stack_master/stack_definition.rb', line 65 def s3_template_file_name return template if ['.json', '.yaml', '.yml'].include?(File.extname(template)) Utils.change_extension(template, 'json') end |
#stack_policy_file_path ⇒ Object
74 75 76 |
# File 'lib/stack_master/stack_definition.rb', line 74 def stack_policy_file_path File.join(base_dir, 'policies', stack_policy_file) if stack_policy_file end |
#template_file_path ⇒ Object
46 47 48 |
# File 'lib/stack_master/stack_definition.rb', line 46 def template_file_path File.(File.join(template_dir, template)) end |