Sha256: ec86f040870e0e21e9a6cffcd801e9c28d8d21e060b553d60f82be545ebe3e56

Contents?: true

Size: 787 Bytes

Versions: 188

Compression:

Stored size: 787 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?

    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::Naming.parent_stack_name
  end
end

Version data entries

188 entries across 188 versions & 3 rubygems

Version Path
jets-2.2.5 lib/jets/commands/stack_info.rb
jets-2.2.4 lib/jets/commands/stack_info.rb
jets-2.2.3 lib/jets/commands/stack_info.rb
jets-2.2.2 lib/jets/commands/stack_info.rb
jets-2.2.1 lib/jets/commands/stack_info.rb
jets-2.2.0 lib/jets/commands/stack_info.rb
jets-2.1.7 lib/jets/commands/stack_info.rb
jets-2.1.6 lib/jets/commands/stack_info.rb
jets-2.1.5 lib/jets/commands/stack_info.rb
jets-2.1.4 lib/jets/commands/stack_info.rb
jets-2.1.3 lib/jets/commands/stack_info.rb
jets-2.1.2 lib/jets/commands/stack_info.rb
jets_bb_fork-0.0.4 lib/jets/commands/stack_info.rb
jets-2.1.1 lib/jets/commands/stack_info.rb
jets-2.1.0 lib/jets/commands/stack_info.rb
jets-2.0.6 lib/jets/commands/stack_info.rb
jets-2.0.5 lib/jets/commands/stack_info.rb
jets-2.0.4 lib/jets/commands/stack_info.rb
jets-2.0.3 lib/jets/commands/stack_info.rb
jets-2.0.1 lib/jets/commands/stack_info.rb