Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save kskilling/e406be53261a159fc2ed17be51bdbdf6 to your computer and use it in GitHub Desktop.

Select an option

Save kskilling/e406be53261a159fc2ed17be51bdbdf6 to your computer and use it in GitHub Desktop.
Full code to execute the SOAP operation SetRecoverySettings on SRM using values retrieved from earlier workflows
var host = Server.findForType("SOAP:Host", "5116c12a-84be-430a-a4d9-e191af5a68ac");
if (host == null) throw "Host '5116c12a-84be-430a-a4d9-e191af5a68ac' not found!";
var operation = host.getOperation("SetRecoverySettings");
if (operation == null) throw "Operation 'SetRecoverySettings' not found!";
function formatDate(inDate){
if (!inDate) {
return null;
}
dateRfc822 = System.formatDate(inDate, "yyyy-MM-dd'T'HH:mm:ssZ")
return dateRfc822;
}
System.log("creating request...");
var request = operation.createSOAPRequest();
request.setInParameter("_this",_this);
request.addInParameterAttribute("_this", "type", _this_OP_type_CP_);
request.setInParameter("vm",vm);
request.addInParameterAttribute("vm", "type", vm_OP_type_CP_);
request.setInParameter("settings.changeVersion",settings_D_changeVersion);
request.setInParameter("settings.status",settings_D_status);
request.setInParameter("settings.recoveryPriority",settings_D_recoveryPriority);
request.setInParameter("settings.skipGuestShutdown",settings_D_skipGuestShutdown);
request.setInParameter("settings.powerOffTimeoutSeconds",settings_D_powerOffTimeoutSeconds);
request.setInParameter("settings.finalPowerState",settings_D_finalPowerState);
request.setInParameter("settings.localFaultToleranceState",settings_D_localFaultToleranceState);
request.setInParameter("settings.remoteFaultToleranceState",settings_D_remoteFaultToleranceState);
request.setInParameter("settings.powerOnTimeoutSeconds",settings_D_powerOnTimeoutSeconds);
request.setInParameter("settings.powerOnDelaySeconds",settings_D_powerOnDelaySeconds);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].siteUuid",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_siteUuid);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.hostName",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_hostName);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.dnsSuffixes[0]",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_dnsSuffixes_OB_0_CB_);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.nicCustomizationSpecs[0].deviceId",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_nicCustomizationSpecs_OB_0_CB__D_deviceId);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.nicCustomizationSpecs[0].ipV4AddressSpecs[0].staticAddressInfo.address",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_nicCustomizationSpecs_OB_0_CB__D_ipV4AddressSpecs_OB_0_CB__D_staticAddressInfo_D_address);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.nicCustomizationSpecs[0].ipV4AddressSpecs[0].staticAddressInfo.gateways[0]",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_nicCustomizationSpecs_OB_0_CB__D_ipV4AddressSpecs_OB_0_CB__D_staticAddressInfo_D_gateways_OB_0_CB_);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.nicCustomizationSpecs[0].ipV4AddressSpecs[0].staticAddressInfo.subnetMask",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_nicCustomizationSpecs_OB_0_CB__D_ipV4AddressSpecs_OB_0_CB__D_staticAddressInfo_D_subnetMask);
request.setInParameter("settings.vmIpCustomizationData.ipCustomizationMappings[0].ipCustomizationSpec.nicCustomizationSpecs[0].dnsServerList[0]",settings_D_vmIpCustomizationData_D_ipCustomizationMappings_OB_0_CB__D_ipCustomizationSpec_D_nicCustomizationSpecs_OB_0_CB__D_dnsServerList_OB_0_CB_);
request.setInParameter("settings.vmIpCustomizationData.useIpSubnetMapping",settings_D_vmIpCustomizationData_D_useIpSubnetMapping);
request.setHttpHeader("Cookie",token);
System.log("invoking '" + operation.name + "' operation...");
var response = operation.invoke(request);
System.log("operation '" + operation.name + "' successfully invoked.");
System.log("processing response...");
var result = new Properties();
//System.log("out headers...");
outHeaders = System.getModule("com.vmware.library.soap").processOutHeaders(response);
//System.log("out parameters...");
outParameters = System.getModule("com.vmware.library.soap").processOutParameters(response);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment