Sha256: 463cdaf26ffb64349fb2ab0f672e4cbb50e8ebc1079b98e5137a80ddcf841dce

Contents?: true

Size: 882 Bytes

Versions: 41

Compression:

Stored size: 882 Bytes

Contents

module Fog
  module Compute
    class Vsphere
      class Rules < Fog::Collection
        autoload :Rule, File.expand_path('../rule', __FILE__)
        
        model Fog::Compute::Vsphere::Rule
        attribute :datacenter
        attribute :cluster
        
        def all(filters = {})
          requires :datacenter, :cluster
          load service.list_rules(:datacenter => datacenter, :cluster => cluster)
        end
        
        def get(key_or_name)
          all.find {|rule| [rule.key, rule.name].include? key_or_name } or
            raise Fog::Compute::Vsphere::NotFound, "no such rule #{key_or_name}"
        end
        
        # Pass datacenter/cluster to every new rule
        def new(attributes={})
          requires :datacenter, :cluster
          super(attributes.merge(datacenter: datacenter, cluster: cluster))
        end

      end
    end
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
fog-vsphere-1.7.0.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-2.1.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-2.1.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-2.0.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-2.0.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.13.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.13.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.12.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.11.3 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.11.2 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.11.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.11.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.10.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.9.2 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.9.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.9.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.8.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.7.1 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.7.0 lib/fog/vsphere/models/compute/rules.rb
fog-vsphere-1.6.0 lib/fog/vsphere/models/compute/rules.rb