Sha256: e61f04f51cb8540818e356fd462e03bc520e47ea923b206d671f8714c18b27ae

Contents?: true

Size: 770 Bytes

Versions: 16

Compression:

Stored size: 770 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
            when :rds        then Rds
            when :openstack  then OpenStack
            when :static     then Static
            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

16 entries across 16 versions & 1 rubygems

Version Path
ironfan-6.1.9 lib/ironfan/dsl/cloud.rb
ironfan-6.0.9 lib/ironfan/dsl/cloud.rb
ironfan-6.1.7 lib/ironfan/dsl/cloud.rb
ironfan-6.1.6 lib/ironfan/dsl/cloud.rb
ironfan-6.0.8 lib/ironfan/dsl/cloud.rb
ironfan-6.1.5 lib/ironfan/dsl/cloud.rb
ironfan-6.1.4 lib/ironfan/dsl/cloud.rb
ironfan-6.1.3 lib/ironfan/dsl/cloud.rb
ironfan-6.1.0 lib/ironfan/dsl/cloud.rb
ironfan-6.0.7 lib/ironfan/dsl/cloud.rb
ironfan-6.0.6 lib/ironfan/dsl/cloud.rb
ironfan-6.0.5 lib/ironfan/dsl/cloud.rb
ironfan-6.0.4 lib/ironfan/dsl/cloud.rb
ironfan-6.0.3 lib/ironfan/dsl/cloud.rb
ironfan-6.0.1 lib/ironfan/dsl/cloud.rb
ironfan-6.0.0 lib/ironfan/dsl/cloud.rb