Sha256: c39d6f83ec98b8a9eaf2f78ce50abcf47d8abe628e2c189a62ee71efe11b620f

Contents?: true

Size: 1.8 KB

Versions: 3

Compression:

Stored size: 1.8 KB

Contents

require 'sfn'

module Sfn
  class Config
    # Update command configuration
    class Update < Validate

      attribute(
        :apply_stack, String,
        :multiple => true,
        :description => 'Apply outputs from stack to input parameters',
        :short_flag => 'A'
      )
      attribute(
        :apply_mapping, Smash,
        :description => 'Customize apply stack mapping as [StackName__]OutputName:ParameterName'
      )
      attribute(
        :parameter, Smash,
        :multiple => true,
        :description => '[DEPRECATED - use `parameters`] Pass template parameters directly (ParamName:ParamValue)',
        :coerce => lambda{|v, inst|
          result = inst.data[:parameter] || Array.new
          case v
          when String
            v.split(',').each do |item|
              result.push(Smash[*item.split(/[=:]/, 2)])
            end
          else
            result.push(v.to_smash)
          end
          {:bogo_multiple => result}
        },
        :short_flag => 'R'
      )
      attribute(
        :parameters, Smash,
        :description => 'Pass template parameters directly',
        :short_flag => 'm'
      )
      attribute(
        :plan, [TrueClass, FalseClass],
        :default => true,
        :description => 'Provide planning information prior to update',
        :short_flag => 'l'
      )
      attribute(
        :plan_only, [TrueClass, FalseClass],
        :default => false,
        :description => 'Exit after plan display'
      )
      attribute(
        :diffs, [TrueClass, FalseClass],
        :description => 'Show planner content diff',
        :short_flag => 'D'
      )
      attribute(
        :merge_api_options, [TrueClass, FalseClass],
        :description => 'Merge API options defined within configuration on update',
        :default => false
      )

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sfn-3.0.4 lib/sfn/config/update.rb
sfn-3.0.2 lib/sfn/config/update.rb
sfn-3.0.0 lib/sfn/config/update.rb