Module: StackMaster

Extended by:
StackMaster
Included in:
StackMaster
Defined in:
lib/stack_master.rb,
lib/stack_master/cli.rb,
lib/stack_master/diff.rb,
lib/stack_master/stack.rb,
lib/stack_master/utils.rb,
lib/stack_master/config.rb,
lib/stack_master/ctrl_c.rb,
lib/stack_master/command.rb,
lib/stack_master/version.rb,
lib/stack_master/identity.rb,
lib/stack_master/prompter.rb,
lib/stack_master/validator.rb,
lib/stack_master/change_set.rb,
lib/stack_master/commands/nag.rb,
lib/stack_master/role_assumer.rb,
lib/stack_master/stack_differ.rb,
lib/stack_master/stack_states.rb,
lib/stack_master/stack_status.rb,
lib/stack_master/aws_driver/s3.rb,
lib/stack_master/commands/diff.rb,
lib/stack_master/commands/init.rb,
lib/stack_master/commands/lint.rb,
lib/stack_master/commands/tidy.rb,
lib/stack_master/commands/apply.rb,
lib/stack_master/commands/drift.rb,
lib/stack_master/resolver_array.rb,
lib/stack_master/template_utils.rb,
lib/stack_master/test_driver/s3.rb,
lib/stack_master/commands/delete.rb,
lib/stack_master/commands/events.rb,
lib/stack_master/commands/status.rb,
lib/stack_master/commands/compile.rb,
lib/stack_master/commands/outputs.rb,
lib/stack_master/parameter_loader.rb,
lib/stack_master/sns_topic_finder.rb,
lib/stack_master/stack_definition.rb,
lib/stack_master/commands/validate.rb,
lib/stack_master/template_compiler.rb,
lib/stack_master/commands/resources.rb,
lib/stack_master/parameter_resolver.rb,
lib/stack_master/parameter_validator.rb,
lib/stack_master/commands/list_stacks.rb,
lib/stack_master/stack_events/fetcher.rb,
lib/stack_master/security_group_finder.rb,
lib/stack_master/stack_events/streamer.rb,
lib/stack_master/stack_events/presenter.rb,
lib/stack_master/parameter_resolvers/env.rb,
lib/stack_master/commands/terminal_helper.rb,
lib/stack_master/parameter_resolvers/ejson.rb,
lib/stack_master/aws_driver/cloud_formation.rb,
lib/stack_master/paged_response_accumulator.rb,
lib/stack_master/test_driver/cloud_formation.rb,
lib/stack_master/cloudformation_template_eruby.rb,
lib/stack_master/parameter_resolvers/ami_finder.rb,
lib/stack_master/parameter_resolvers/latest_ami.rb,
lib/stack_master/sparkle_formation/template_file.rb,
lib/stack_master/parameter_resolvers/one_password.rb,
lib/stack_master/parameter_resolvers/stack_output.rb,
lib/stack_master/cloudformation_interpolating_eruby.rb,
lib/stack_master/parameter_resolvers/security_group.rb,
lib/stack_master/parameter_resolvers/sns_topic_name.rb,
lib/stack_master/parameter_resolvers/acm_certificate.rb,
lib/stack_master/parameter_resolvers/parameter_store.rb,
lib/stack_master/parameter_resolvers/latest_container.rb,
lib/stack_master/parameter_resolvers/latest_ami_by_tags.rb,
lib/stack_master/sparkle_formation/compile_time/state_builder.rb,
lib/stack_master/sparkle_formation/compile_time/value_builder.rb,
lib/stack_master/sparkle_formation/compile_time/empty_validator.rb,
lib/stack_master/sparkle_formation/compile_time/value_validator.rb,
lib/stack_master/sparkle_formation/compile_time/number_validator.rb,
lib/stack_master/sparkle_formation/compile_time/string_validator.rb,
lib/stack_master/sparkle_formation/compile_time/max_size_validator.rb,
lib/stack_master/sparkle_formation/compile_time/min_size_validator.rb,
lib/stack_master/sparkle_formation/compile_time/max_length_validator.rb,
lib/stack_master/sparkle_formation/compile_time/min_length_validator.rb,
lib/stack_master/sparkle_formation/compile_time/parameters_validator.rb,
lib/stack_master/sparkle_formation/compile_time/definitions_validator.rb,
lib/stack_master/sparkle_formation/compile_time/value_validator_factory.rb,
lib/stack_master/sparkle_formation/compile_time/allowed_values_validator.rb,
lib/stack_master/sparkle_formation/compile_time/allowed_pattern_validator.rb

Defined Under Namespace

Modules: AwsDriver, Command, Commands, ParameterResolvers, Prompter, SparkleFormation, StackEvents, StackStates, TemplateCompilers, TemplateUtils, TestDriver, Utils Classes: CLI, ChangeSet, CloudFormationInterpolatingEruby, CloudFormationTemplateEruby, Config, CtrlC, Diff, Identity, PagedResponseAccumulator, ParameterLoader, ParameterResolver, ParameterValidator, RoleAssumer, SecurityGroupFinder, SnsTopicFinder, Stack, StackDefinition, StackDiffer, StackStatus, TemplateCompiler, Validator

Constant Summary collapse

NON_INTERACTIVE_DEFAULT =
false
DEBUG_DEFAULT =
false
QUIET_DEFAULT =
false
SKIP_ACCOUNT_CHECK_DEFAULT =
false
VERSION =
"2.14.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#non_interactive_answerObject

Returns the value of attribute non_interactive_answer.



166
167
168
# File 'lib/stack_master.rb', line 166

def non_interactive_answer
  @non_interactive_answer
end

Instance Method Details

#base_dirObject



169
170
171
# File 'lib/stack_master.rb', line 169

def base_dir
  File.expand_path(File.join(File.dirname(__FILE__), ".."))
end

#cloud_formation_driverObject



173
174
175
# File 'lib/stack_master.rb', line 173

def cloud_formation_driver
  @cloud_formation_driver ||= AwsDriver::CloudFormation.new
end

#cloud_formation_driver=(value) ⇒ Object



177
178
179
# File 'lib/stack_master.rb', line 177

def cloud_formation_driver=(value)
  @cloud_formation_driver = value
end

#colorize(text, color) ⇒ Object



209
210
211
212
213
214
215
# File 'lib/stack_master.rb', line 209

def colorize(text, color)
  if colorize?
    Rainbow(text).color(color)
  else
    text
  end
end

#colorize?Boolean

Returns:

  • (Boolean)


217
218
219
# File 'lib/stack_master.rb', line 217

def colorize?
  ENV.fetch('COLORIZE') { 'true' } == 'true'
end

#debug(message) ⇒ Object



138
139
140
141
# File 'lib/stack_master.rb', line 138

def debug(message)
  return unless debug?
  stderr.puts Rainbow("[DEBUG] #{message}").color(:green)
end

#debug!Object



129
130
131
# File 'lib/stack_master.rb', line 129

def debug!
  @debug = true
end

#debug?Boolean

Returns:

  • (Boolean)


134
135
136
# File 'lib/stack_master.rb', line 134

def debug?
  @debug
end

#interactive?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/stack_master.rb', line 116

def interactive?
  !non_interactive?
end

#non_interactive!Object



125
126
127
# File 'lib/stack_master.rb', line 125

def non_interactive!
  @non_interactive = true
end

#non_interactive?Boolean

Returns:

  • (Boolean)


120
121
122
# File 'lib/stack_master.rb', line 120

def non_interactive?
  @non_interactive
end

#quiet!Object



143
144
145
# File 'lib/stack_master.rb', line 143

def quiet!
  @quiet = true
end

#quiet?Boolean

Returns:

  • (Boolean)


148
149
150
# File 'lib/stack_master.rb', line 148

def quiet?
  @quiet
end

#reset_flagsObject



152
153
154
155
# File 'lib/stack_master.rb', line 152

def reset_flags
  @quiet = QUIET_DEFAULT
  @skip_account_check = SKIP_ACCOUNT_CHECK_DEFAULT
end

#s3_driverObject



181
182
183
# File 'lib/stack_master.rb', line 181

def s3_driver
  @s3_driver ||= AwsDriver::S3.new
end

#s3_driver=(value) ⇒ Object



185
186
187
# File 'lib/stack_master.rb', line 185

def s3_driver=(value)
  @s3_driver = value
end

#skip_account_check!Object



157
158
159
# File 'lib/stack_master.rb', line 157

def 
  @skip_account_check = true
end

#skip_account_check?Boolean

Returns:

  • (Boolean)


162
163
164
# File 'lib/stack_master.rb', line 162

def 
  @skip_account_check
end

#stderrObject



201
202
203
# File 'lib/stack_master.rb', line 201

def stderr
  @stderr || $stderr
end

#stderr=(io) ⇒ Object



205
206
207
# File 'lib/stack_master.rb', line 205

def stderr=(io)
  @stderr = io
end

#stdinObject



197
198
199
# File 'lib/stack_master.rb', line 197

def stdin
  $stdin
end

#stdoutObject



189
190
191
# File 'lib/stack_master.rb', line 189

def stdout
  @stdout || $stdout
end

#stdout=(io) ⇒ Object



193
194
195
# File 'lib/stack_master.rb', line 193

def stdout=(io)
  @stdout = io
end