Hello,
we have the same problem when we use VC:VirtualMachine object as the machineEntity when we create the scheduled task :
CODE :
// INPUT
// vcVirtualMachine - vc:vcVirtualMachine
// taskRunAt - Date
// emailRequester - string
// Find the managed entity on which the action is performed.
managedObjectReference = vcVirtualMachine.moref;
managedObjectReferenceType = managedObjectReference.type;
managedObjectReferenceValue = managedObjectReference.value;
managedObjectReferenceServerGuid = managedObjectReference.serverGuid;
System.debug("managedObjectReference found : " + managedObjectReference + " for the Virtual Machine : " + vcVirtualMachine.name);
System.debug("managedObjectReferenceType found : " + managedObjectReferenceType + " for the Virtual Machine : " + vcVirtualMachine.name);
System.debug("managedObjectReferenceValue found : " + managedObjectReferenceValue + " for the Virtual Machine : " + vcVirtualMachine.name);
System.debug("managedObjectReferenceServerGuid found : " + managedObjectReferenceServerGuid + " for the Virtual Machine : " + vcVirtualMachine.name);
// Build the managed entity on which the action is performed.
machineEntity = new VcManagedObjectReference() ;
machineEntity.type = managedObjectReferenceType;
machineEntity.value = managedObjectReferenceValue;
System.debug("machineEntity found : " + machineEntity + " for the Virtual Machine : " + vcVirtualMachine.name);
// Build the schedule task
onceTaskScheduler = new VcOnceTaskScheduler();
onceTaskScheduler.RunAt = taskRunAt;
System.debug("onceTaskScheduler found : " + onceTaskScheduler + " for the Virtual Machine : " + vcVirtualMachine.name);
// Build the Action task
actionTask = new VcMethodAction();
actionTask.name = "RebootGuest";
System.debug("actionTask found : " + actionTask + " for the Virtual Machine : " + vcVirtualMachine.name);
// Build the scheduler Task specs
scheduledTaskSpec = new VcScheduledTaskSpec();
scheduledTaskSpec.name = 'insa021 - Restart Guest OS';
scheduledTaskSpec.description = 'Restart Guest OS - Task created from OneCloud Portal.';
scheduledTaskSpec.enabled = true;
scheduledTaskSpec.scheduler = onceTaskScheduler;
scheduledTaskSpec.action = actionTask;
scheduledTaskSpec.notification = emailRequester;
System.debug("scheduledTaskSpec found : " + scheduledTaskSpec + " for the Virtual Machine : " + vcVirtualMachine.name);
// Create vCenter Schedule Task.
vcScheduledTaskManager = new VcScheduledTaskManager() ;
vcScheduledTaskManager.createScheduledTask(vcVirtualMachine,scheduledTaskSpec);
Workflow log :
[2019-12-11 11:50:11.389] [D] managedObjectReference found : DynamicWrapper (Instance) : [VcManagedObjectReference]-[class com.vmware.vim.binding.vmodl.ManagedObjectReference] -- VALUE : ManagedObjectReference: type = VirtualMachine, value = vm-1641, serverGuid = null for the Virtual Machine : insa021
[2019-12-11 11:50:11.390] [D] managedObjectReferenceType found : VirtualMachine for the Virtual Machine : insa021
[2019-12-11 11:50:11.393] [D] managedObjectReferenceValue found : vm-1641 for the Virtual Machine : insa021
[2019-12-11 11:50:11.394] [D] managedObjectReferenceServerGuid found : null for the Virtual Machine : insa021
[2019-12-11 11:50:11.399] [D] machineEntity found : DynamicWrapper (Instance) : [VcManagedObjectReference]-[class com.vmware.vim.binding.vmodl.ManagedObjectReference] -- VALUE : ManagedObjectReference: type = VirtualMachine, value = vm-1641, serverGuid = null for the Virtual Machine : insa021
[2019-12-11 11:50:11.402] [D] onceTaskScheduler found : DynamicWrapper (Instance) : [VcOnceTaskScheduler]-[class com.vmware.o11n.plugin.vsphere_gen.OnceTaskScheduler_Wrapper] -- VALUE : (vim.scheduler.OnceTaskScheduler) {
dynamicType = null,
dynamicProperty = null,
activeTime = null,
expireTime = null,
runAt = java.util.GregorianCalendar[time=1576074545000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH=11,DAY_OF_YEAR=345,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=29,SECOND=5,MILLISECOND=0,ZONE_OFFSET=3600000,DST_OFFSET=0]
} for the Virtual Machine : insa021
[2019-12-11 11:50:11.404] [D] actionTask found : DynamicWrapper (Instance) : [VcMethodAction]-[class com.vmware.o11n.plugin.vsphere_gen.MethodAction_Wrapper] -- VALUE : (vim.action.MethodAction) {
dynamicType = null,
dynamicProperty = null,
name = RebootGuest,
argument = null
} for the Virtual Machine : insa021
[2019-12-11 11:50:11.407] [D] scheduledTaskSpec found : DynamicWrapper (Instance) : [VcScheduledTaskSpec]-[class com.vmware.o11n.plugin.vsphere_gen.ScheduledTaskSpec_Wrapper] -- VALUE : (vim.scheduler.ScheduledTaskSpec) {
dynamicType = null,
dynamicProperty = null,
name = insa021 - Restart Guest OS,
description = Restart Guest OS - Task created from OneCloud Portal.,
enabled = true,
scheduler = (vim.scheduler.OnceTaskScheduler) {
dynamicType = null,
dynamicProperty = null,
activeTime = null,
expireTime = null,
runAt = java.util.GregorianCalendar[time=1576074545000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2019,MONTH=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH=11,DAY_OF_YEAR=345,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,MINUTE=29,SECOND=5,MILLISECOND=0,ZONE_OFFSET=3600000,DST_OFFSET=0]
},
action = (vim.action.MethodAction) {
dynamicType = null,
dynamicProperty = null,
name = RebootGuest,
argument = null
},
notification = yann.michalak@adp.com
} for the Virtual Machine : insa021
[2019-12-11 11:50:11.409] [E] Error in (Workflow:YMK - Schedule Task - Restart Guest OS - DEBUG / Scriptable task (item1)#57) java.lang.NullPointerException
[2019-12-11 11:50:11.417] [E] Workflow execution stack:
***
item: 'YMK - Schedule Task - Restart Guest OS - DEBUG/item1', state: 'failed', business state: 'null', exception: 'java.lang.NullPointerException (Workflow:YMK - Schedule Task - Restart Guest OS - DEBUG / Scriptable task (item1)#57)'
workflow: 'YMK - Schedule Task - Restart Guest OS - DEBUG' (c5a4f8c4-6304-486b-8cf0-491886494f0b)