Sha256: dfb4f345bfae37d9e3c5853537a2507ab3cada16a185a16f23a8d6828d4dbc85

Contents?: true

Size: 1.22 KB

Versions: 21

Compression:

Stored size: 1.22 KB

Contents

require 'sfn'

module Sfn
  # Interface for generating plan report
  class Planner

    autoload :Aws, 'sfn/planner/aws'

    # Value to flag runtime modification
    RUNTIME_MODIFIED = '__MODIFIED_REFERENCE_VALUE__'

    # @return [Bogo::Ui]
    attr_reader :ui
    # @return [Smash]
    attr_reader :config
    # @return [Array<String>] CLI arguments
    attr_reader :arguments
    # @return [Miasma::Models::Orchestration::Stack] existing remote stack
    attr_reader :origin_stack
    # @return [Hash] custom options
    attr_reader :options

    # Create a new planner instance
    #
    # @param ui [Bogo::Ui]
    # @param config [Smash]
    # @param arguments [Array<String>]
    # @param stack [Miasma::Models::Orchestration::Stack]
    # @param opts [Hash]
    #
    # @return [self]
    def initialize(ui, config, arguments, stack, opts={})
      @ui = ui
      @config = config
      @arguments = arguments
      @origin_stack = stack
      @options = opts
    end

    # Generate update report
    #
    # @param template [Hash] updated template
    # @param parameters [Hash] runtime parameters for update
    #
    # @return [Hash] report
    def generate_plan(template, parameters)
      raise NotImplementedError
    end

  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
sfn-3.0.28 lib/sfn/planner.rb
sfn-3.0.26 lib/sfn/planner.rb
sfn-3.0.24 lib/sfn/planner.rb
sfn-3.0.22 lib/sfn/planner.rb
sfn-3.0.20 lib/sfn/planner.rb
sfn-3.0.18 lib/sfn/planner.rb
sfn-3.0.16 lib/sfn/planner.rb
sfn-3.0.14 lib/sfn/planner.rb
sfn-3.0.12 lib/sfn/planner.rb
sfn-3.0.10 lib/sfn/planner.rb
sfn-3.0.8 lib/sfn/planner.rb
sfn-3.0.6 lib/sfn/planner.rb
sfn-3.0.4 lib/sfn/planner.rb
sfn-3.0.2 lib/sfn/planner.rb
sfn-3.0.0 lib/sfn/planner.rb
sfn-2.2.0 lib/sfn/planner.rb
sfn-2.1.12 lib/sfn/planner.rb
sfn-2.1.10 lib/sfn/planner.rb
sfn-2.1.8 lib/sfn/planner.rb
sfn-2.1.6 lib/sfn/planner.rb