Has anyone successfully modifed an existing DRS rule and added a new VM to a rule? I can add a new one with a duplicate name, but I cannot seem to modify an existing rule. If I run the following it does nothing to the DRS rule.
var antiaffinitySpec = new VcClusterAntiAffinityRuleSpec()
antiaffinitySpec.enabled = true
antiaffinitySpec.name = rulename
antiaffinitySpec.userCreated = true
antiaffinitySpec.vm = groupArray
var clusterRuleSpec = new Array(new VcClusterRuleSpec());
clusterRuleSpec[0] = new VcClusterRuleSpec()
// If I change this to VcArrayUpdateOperation.add it will add a rule with a duplicate name
clusterRuleSpec[0].operation = VcArrayUpdateOperation.edit;
clusterRuleSpec[0].info = antiaffinitySpec;
var clusterConfigSpec = new VcClusterConfigSpecEx();
clusterConfigSpec.rulesSpec = clusterRuleSpec;
att_task = cluster.reconfigureComputeResource_Task(clusterConfigSpec, true);
var affinitySpec = new VcClusterAntiAffinityRuleSpec()
affinitySpec.enabled = true
affinitySpec.name = rulename
affinitySpec.userCreated = true
affinitySpec.vm = groupArray
var clusterRuleSpec = new Array(new VcClusterRuleSpec());
clusterRuleSpec[0] = new VcClusterRuleSpec()
clusterRuleSpec[0].operation = VcArrayUpdateOperation.remove;
clusterRuleSpec[0].info = affinitySpec;
var clusterConfigSpec = new VcClusterConfigSpecEx();
clusterConfigSpec.rulesSpec = clusterRuleSpec;
//clusterConfigSpec.groupSpec =clusterGroupSpec;
//clusterConfigSpec.groupSpec[0].operation = VcArrayUpdateOperation.edit
att_task = cluster.reconfigureComputeResource_Task(clusterConfigSpec, true);