Sha256: c39cd5be55a84d826fe0f8045aa5205f0fa8372c21548da0c493f831afae4f8f

Contents?: true

Size: 843 Bytes

Versions: 13

Compression:

Stored size: 843 Bytes

Contents

# The important methods in this class are stack_type, s3_bucket and first_run?
# We use stack_type and s3_bucket to get info for both the build and deploy CLI
# commands.
# first_run? will always make an API call.
module Jets::Commands::StackInfo
  include Jets::AwsServices

  def stack_type
    first_run? ? :minimal : :full
  end

  def s3_bucket
    return @s3_bucket if @s3_bucket
    return nil if first_run?
    return "fake-bucket" if ENV['JETS_BUILD_NO_INTERNET']

    resp = cfn.describe_stacks(stack_name: parent_stack_name)
    output = resp.stacks[0].outputs.find {|o| o.output_key == 'S3Bucket'}
    @s3_bucket = output.output_value # once an s3 bucket is found, cache it
  end

  # Always call API
  def first_run?
    !stack_exists?(parent_stack_name)
  end

  def parent_stack_name
    Jets::Names.parent_stack_name
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
jets-4.0.12 lib/jets/commands/stack_info.rb
jets-4.0.11 lib/jets/commands/stack_info.rb
jets-4.0.10 lib/jets/commands/stack_info.rb
jets-4.0.9 lib/jets/commands/stack_info.rb
jets-4.0.8 lib/jets/commands/stack_info.rb
jets-4.0.7 lib/jets/commands/stack_info.rb
jets-4.0.6 lib/jets/commands/stack_info.rb
jets-4.0.5 lib/jets/commands/stack_info.rb
jets-4.0.4 lib/jets/commands/stack_info.rb
jets-4.0.3 lib/jets/commands/stack_info.rb
jets-4.0.2 lib/jets/commands/stack_info.rb
jets-4.0.1 lib/jets/commands/stack_info.rb
jets-4.0.0 lib/jets/commands/stack_info.rb