/** * Create a Scheduled Task using the poweroff method action and * the onetime scheduler, for the VM found. * * @param taskAction action to be performed when schedule executes * @param scheduler the scheduler used to execute the action * @ */ private void createScheduledTask(Vim25Api.Action taskAction, TaskScheduler scheduler) { try { // Create the Scheduled Task Spec and set a unique task name // and description, and enable the task as soon as it is created String taskName = cb.get_option("taskname"); ScheduledTaskSpec scheduleSpec = new ScheduledTaskSpec(); scheduleSpec.name = taskName; scheduleSpec.description = "PowerOff VM in 30 minutes"; scheduleSpec.enabled = true; // Set the PowerOff Method Task Action and the // Once scheduler in the spec scheduleSpec.action = taskAction; scheduleSpec.scheduler = scheduler; // Create ScheduledTask for the VirtualMachine we found earlier if (_virtualMachine != null) { ManagedObjectReference task = _service.CreateScheduledTask( _scheduleManager, _virtualMachine, scheduleSpec); // printout the MoRef id of the Scheduled Task Console.WriteLine("Successfully created Once Task: " + taskName); } else { Console.WriteLine("Virtual Machine " + cb.get_option("vmname") + " not found"); return; } } catch (SoapException e) { if (e.Detail.FirstChild.LocalName.Equals("InvalidRequestFault")) { Console.WriteLine(" InvalidRequest: VMname may be wrong"); } else if (e.Detail.FirstChild.LocalName.Equals("DuplicateNameFault")) { Console.WriteLine("Error :Task Name already Exists"); } } catch (Exception e) { Console.WriteLine("Error"); e.StackTrace.ToString(); } }
/** * Create a Scheduled Task using the reboot method action and * the weekly scheduler, for the VM found. * * @param taskAction action to be performed when schedule executes * @param scheduler the scheduler used to execute the action * @ */ private void createScheduledTask(Vim25Api.Action taskAction, TaskScheduler scheduler) { try { // Create the Scheduled Task Spec and set a unique task name // and description, and enable the task as soon as it is created String taskName = cb.get_option("taskname"); ScheduledTaskSpec scheduleSpec = new ScheduledTaskSpec(); scheduleSpec.name = taskName; scheduleSpec.description = "Reboot VM's Guest at 11.59pm every Saturday"; scheduleSpec.enabled = true; // Set the RebootGuest Method Task action and // the Weekly scheduler in the spec scheduleSpec.action = taskAction; scheduleSpec.scheduler = scheduler; // Create the ScheduledTask for the VirtualMachine we found earlier ManagedObjectReference task = _service.CreateScheduledTask( _scheduleManager, _virtualMachine, scheduleSpec); // printout the MoRef id of the Scheduled Task Console.WriteLine("Successfully created Weekly Task: " + taskName); } catch (SoapException e) { if (e.Detail.FirstChild.LocalName.Equals("InvalidRequestFault")) { Console.WriteLine(" InvalidRequest: vmPath may be wrong"); } else if (e.Detail.FirstChild.LocalName.Equals("DuplicateNameFault")) { Console.WriteLine("Task Name already Exists"); } } catch (Exception e) { Console.WriteLine("Error"); e.StackTrace.ToString(); } }
/** * Create a Scheduled Task using the poweroff method action and * the onetime scheduler, for the VM found. * * @param taskAction action to be performed when schedule executes * @param scheduler the scheduler used to execute the action * @ */ private void createScheduledTask(Vim25Api.Action taskAction, TaskScheduler scheduler) { try { // Create the Scheduled Task Spec and set a unique task name // and description, and enable the task as soon as it is created String taskName = cb.get_option("taskname"); ScheduledTaskSpec scheduleSpec = new ScheduledTaskSpec(); scheduleSpec.name=taskName; scheduleSpec.description="PowerOff VM in 30 minutes"; scheduleSpec.enabled=true; // Set the PowerOff Method Task Action and the // Once scheduler in the spec scheduleSpec.action=taskAction; scheduleSpec.scheduler=scheduler; // Create ScheduledTask for the VirtualMachine we found earlier if(_virtualMachine != null) { ManagedObjectReference task = _service.CreateScheduledTask( _scheduleManager, _virtualMachine, scheduleSpec); // printout the MoRef id of the Scheduled Task Console.WriteLine("Successfully created Once Task: " + taskName); } else { Console.WriteLine("Virtual Machine " + cb.get_option("vmname") + " not found"); return; } } catch (SoapException e) { if (e.Detail.FirstChild.LocalName.Equals("InvalidRequestFault")) { Console.WriteLine(" InvalidRequest: VMname may be wrong"); } else if (e.Detail.FirstChild.LocalName.Equals("DuplicateNameFault")) { Console.WriteLine("Error :Task Name already Exists"); } } catch(Exception e){ Console.WriteLine("Error"); e.StackTrace.ToString(); } }