Sha256: dd9e4130e84e58b38ada2e7626848a2e5ceff12a36a149b8e7a672cc09032d3b

Contents?: true

Size: 977 Bytes

Versions: 6

Compression:

Stored size: 977 Bytes

Contents

module Nucleon
module Action
module Node
class Build < Nucleon.plugin_class(:nucleon, :cloud_action)

  #-----------------------------------------------------------------------------
  # Info

  def self.describe
    super(:node, :build, 620)
  end

  #-----------------------------------------------------------------------------
  # Settings

  def configure
    super do
      register_str :environment
      register_array :providers
      register_bool :clean
    end
  end

  #---

  def arguments
    [ :environment ]
  end

  #-----------------------------------------------------------------------------
  # Operations

  def execute
    super do |node|
      info('start')

      ensure_node(node) do
        settings.delete(:environment) if settings[:environment] == ''

        if settings.has_key?(:environment)
          CORL.create_fact(:corl_environment, settings[:environment])
        end
        node.build(settings)
      end
    end
  end
end
end
end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
corl-0.5.18 lib/nucleon/action/node/build.rb
corl-0.5.17 lib/nucleon/action/node/build.rb
corl-0.5.16 lib/nucleon/action/node/build.rb
corl-0.5.15 lib/nucleon/action/node/build.rb
corl-0.5.14 lib/nucleon/action/node/build.rb
corl-0.5.13 lib/nucleon/action/node/build.rb