Class: VSphereCloud::DrsRule
- Inherits:
-
Object
- Object
- VSphereCloud::DrsRule
- Defined in:
- lib/cloud/vsphere/drs_rules/drs_rule.rb
Constant Summary collapse
- CUSTOM_ATTRIBUTE_NAME =
'drs_rule'
Instance Method Summary collapse
- #add_vm(vm) ⇒ Object
-
#initialize(rule_name, client, cloud_searcher, datacenter_cluster, logger) ⇒ DrsRule
constructor
A new instance of DrsRule.
Constructor Details
#initialize(rule_name, client, cloud_searcher, datacenter_cluster, logger) ⇒ DrsRule
Returns a new instance of DrsRule.
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/cloud/vsphere/drs_rules/drs_rule.rb', line 9 def initialize(rule_name, client, cloud_searcher, datacenter_cluster, logger) @rule_name = rule_name @client = client @cloud_searcher = cloud_searcher @datacenter_cluster = datacenter_cluster @logger = logger @vm_attribute_manager = VMAttributeManager.new( client.service_content.custom_fields_manager, @logger ) end |
Instance Method Details
#add_vm(vm) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/cloud/vsphere/drs_rules/drs_rule.rb', line 22 def add_vm(vm) tag_vm(vm) DrsLock.new(@vm_attribute_manager, @logger).with_drs_lock do rule = find_rule if rule update_rule(rule.key) else add_rule end end end |