Sha256: 5a6c743c2daca72eae15513b2c99758beb7a64b2829fc5b5d29c09a337167149

Contents?: true

Size: 647 Bytes

Versions: 14

Compression:

Stored size: 647 Bytes

Contents

module Ironfan
  class Dsl

    class Cloud < Ironfan::Dsl
      magic :default_cloud,           :boolean,       :default => false

      # Factory out to subclasses
      def self.receive(obj, &block)
        if obj.is_a?(Hash)
          obj = obj.symbolize_keys
          obj[:_type] ||=
            case obj[:name]
            when :ec2        then Ec2
            when :virtualbox then VirtualBox
            when :vsphere    then Vsphere
            else raise "Unsupported cloud #{obj[:name]}"
            end
        end
        super
      end

      def implied_volumes()     Ironfan.noop(self,__method__,*p);      end
    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
ironfan-4.10.3 lib/ironfan/dsl/cloud.rb
ironfan-4.10.2 lib/ironfan/dsl/cloud.rb
ironfan-4.10.1 lib/ironfan/dsl/cloud.rb
ironfan-4.9.10 lib/ironfan/dsl/cloud.rb
ironfan-4.9.9 lib/ironfan/dsl/cloud.rb
ironfan-4.9.8 lib/ironfan/dsl/cloud.rb
ironfan-4.9.7 lib/ironfan/dsl/cloud.rb
ironfan-4.9.6 lib/ironfan/dsl/cloud.rb
ironfan-4.9.5 lib/ironfan/dsl/cloud.rb
ironfan-4.9.4 lib/ironfan/dsl/cloud.rb
ironfan-4.9.3 lib/ironfan/dsl/cloud.rb
ironfan-4.9.2 lib/ironfan/dsl/cloud.rb
ironfan-4.9.1 lib/ironfan/dsl/cloud.rb
ironfan-4.9.0 lib/ironfan/dsl/cloud.rb