You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: state_machine.rb
    path of file: ./repos/manageiq/app/models/miq_provision
    
    the code of the file until where you have to start completion: module MiqProvision::StateMachine
  def run_provision
    self.source = get_source  # just in case automate changed src_vm_id in the opt
    
  def poll_destination_powered_off_in_vmdb
    update_and_notify_parent(:message => "Waiting for VMDB PowerOff of #{for_destination}")

    if destination.power_state == 'off'
      signal :post_provision
    else
      _log.info("#{destination_type} [#{dest_name}] is not yet powered off, will retry")
      EmsRefresh.queue_refresh(destination)
      requeue_phase
    end