Class: Nucleon::Action::Cloud::Images
- Inherits:
-
Object
- Object
- Nucleon::Action::Cloud::Images
- Defined in:
- lib/nucleon/action/cloud/images.rb
Class Method Summary collapse
-
.describe ⇒ Object
—————————————————————————– Info.
Instance Method Summary collapse
- #arguments ⇒ Object
-
#configure ⇒ Object
—————————————————————————– Settings.
-
#execute ⇒ Object
—————————————————————————– Operations.
-
#ignore ⇒ Object
—.
Class Method Details
.describe ⇒ Object
Info
10 11 12 |
# File 'lib/nucleon/action/cloud/images.rb', line 10 def self.describe super(:cloud, :images, 850) end |
Instance Method Details
#arguments ⇒ Object
35 36 37 |
# File 'lib/nucleon/action/cloud/images.rb', line 35 def arguments [ :node_provider, :search ] end |
#configure ⇒ Object
Settings
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/nucleon/action/cloud/images.rb', line 17 def configure super do codes :node_load_failure, :image_load_failure register :region, :str, nil register :match_case, :bool, false register :require_all, :bool, true register :search, :array, [] end end |
#execute ⇒ Object
Operations
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/nucleon/action/cloud/images.rb', line 42 def execute super do |local_node, network| info('corl.actions.images.start') ensure_network(network) do if node = network.test_node(settings[:node_provider], { :region => settings[:region] }) if images = node.images(settings[:search], settings) images.each do |image| info(node.render_image(image), { :prefix => false, :i18n => false }) end myself.result = images success('corl.actions.images.results', { :images => images.length }) if images.length > 1 else myself.status = code.image_load_failure end else myself.status = code.node_load_failure end end end end |
#ignore ⇒ Object
31 32 33 |
# File 'lib/nucleon/action/cloud/images.rb', line 31 def ignore node_ignore - [ :node_provider ] end |