Sha256: 08c50e9b7ed323396fcf50ead82cc5f5dcdd6cecd52c26257f718f21d46e3519

Contents?: true

Size: 1.15 KB

Versions: 14

Compression:

Stored size: 1.15 KB

Contents

module CORL
module Action
class Regions < Plugin::CloudAction

  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do
      codes :node_load_failure,
            :region_load_failure
    end
  end
  
  #---
  
  def ignore
    node_ignore - [ :node_provider ]
  end
  
  def arguments
    [ :node_provider ]
  end
  
  #-----------------------------------------------------------------------------
  # Operations
  
  def execute
    super do |local_node, network|
      info('corl.actions.regions.start')
      
      ensure_network(network) do
        if node = network.test_node(settings[:node_provider])
          if regions = node.regions
            regions.each do |region|
              render(sprintf("> %s", region), { :prefix => false })
            end
          
            myself.result = regions
            success('corl.actions.regions.results', { :regions => regions.length }) if regions.length > 1
          else
            myself.status = code.region_load_failure
          end
        else
          myself.status = code.node_load_failure
        end
      end
    end
  end
end
end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
corl-0.4.29 lib/CORL/action/regions.rb
corl-0.4.28 lib/CORL/action/regions.rb
corl-0.4.27 lib/CORL/action/regions.rb
corl-0.4.26 lib/CORL/action/regions.rb
corl-0.4.25 lib/CORL/action/regions.rb
corl-0.4.24 lib/CORL/action/regions.rb
corl-0.4.23 lib/CORL/action/regions.rb
corl-0.4.22 lib/CORL/action/regions.rb
corl-0.4.21 lib/CORL/action/regions.rb
corl-0.4.20 lib/CORL/action/regions.rb
corl-0.4.19 lib/CORL/action/regions.rb
corl-0.4.18 lib/CORL/action/regions.rb
corl-0.4.17 lib/CORL/action/regions.rb
corl-0.4.16 lib/CORL/action/regions.rb