Sha256: 320a31e1003364c84764699e5d427b7cf24c3251f903d6d05ac7532c88a3ef6f
Contents?: true
Size: 1.12 KB
Versions: 12
Compression:
Stored size: 1.12 KB
Contents
module Fog module Compute class Vsphere # ClusterRuleInfo class Rule < Fog::Model identity :key attribute :datacenter attribute :cluster attribute :name attribute :enabled # Type should be a class - either # - RbVmomi::VIM::ClusterAntiAffinityRuleSpec # - RbVmomi::VIM::ClusterAffinityRuleSpec attribute :type attribute :vm_ids def vms vm_ids.map {|id| service.servers.get(id, datacenter) } end def vms=(vms) self.vm_ids = vms.map(&:instance_uuid) end def save requires :datacenter, :cluster, :name, :enabled, :type, :vm_ids if vm_ids.length < 2 raise ArgumentError, "A rule must have at least 2 VMs" end if persisted? raise "Update is not supported yet" else self.key = service.create_rule(attributes) end reload end def destroy service.destroy_rule(attributes) end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems