Sha256: ac7b567feb2bdc1c6d2ab6504c509cfe9bf41e79444772e6cc4ad4f1e97aaf07

Contents?: true

Size: 904 Bytes

Versions: 12

Compression:

Stored size: 904 Bytes

Contents

module Fog
  module Compute
    class Vsphere
      class Real
        def list_rules(filters = {})
          cluster = get_raw_cluster(filters[:cluster], filters[:datacenter])
          cluster.configurationEx.rule.map {|r| rule_attributes r, filters}
        end

        protected
      
        def rule_attributes(rule, filters)
          {
            datacenter: filters[:datacenter],
            cluster:    filters[:cluster],
            key:        rule[:key],
            name:       rule[:name],
            enabled:    rule[:enabled],
            type:       rule.class,
            vm_ids:     rule[:vm].map {|vm| vm.config.instanceUuid }
          }
        end
      end
      class Mock
        def list_rules(filters = {})
          self.data[:rules].values.select {|r| r[:datacenter] == filters[:datacenter] && r[:cluster] == filters[:cluster]}
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
fog-vsphere-1.0.1 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-1.0.0 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.8.1 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.8.0 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.7.0 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.6.4 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.6.3 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.6.2 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.6.1 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.6.0 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.5.0 lib/fog/vsphere/requests/compute/list_rules.rb
fog-vsphere-0.4.0 lib/fog/vsphere/requests/compute/list_rules.rb