docs: def power_on(self, si, logger, session, vm_uuid, resource_fullname):
          """
          power on the specified vm
          :param si:
          :param logger:
          :param session:
          :param vm_uuid: the uuid of the vm
          :param resource_fullname: the full name of the deployed app resource
          :return:
          """
          logger.info('retrieving vm by uuid: {0}'.format(vm_uuid))
          vm = self.pv_service.find_by_uuid(si, vm_uuid)
  
          if vm.summary.runtime.powerState == 'poweredOn':
              logger.info('vm already powered on')
              task_result = 'Already powered on'
          else:
              logger.info('powering on vm')
              task = vm.PowerOn()
              task_result = self.synchronous_task_waiter.wait_for_task(task=task,
                                                                       logger=logger,
                                                                       action_name='Power On')
  
          return task_result