Revision 5823e0d2 lib/rapi/rlib2.py

b/lib/rapi/rlib2.py
991 991
    return baserlib.SubmitJob([op])
992 992

  
993 993

  
994
def _ParseMigrateInstanceRequest(name, data):
995
  """Parses a request for an instance migration.
996

  
997
  @rtype: L{opcodes.OpMigrateInstance}
998
  @return: Instance migration opcode
999

  
1000
  """
1001
  mode = baserlib.CheckParameter(data, "mode", default=None)
1002
  cleanup = baserlib.CheckParameter(data, "cleanup", exptype=bool,
1003
                                    default=False)
1004

  
1005
  return opcodes.OpMigrateInstance(instance_name=name, mode=mode,
1006
                                   cleanup=cleanup)
1007

  
1008

  
1009
class R_2_instances_name_migrate(baserlib.R_Generic):
1010
  """/2/instances/[instance_name]/migrate resource.
1011

  
1012
  """
1013
  def PUT(self):
1014
    """Migrates an instance.
1015

  
1016
    @return: a job id
1017

  
1018
    """
1019
    baserlib.CheckType(self.request_body, dict, "Body contents")
1020

  
1021
    op = _ParseMigrateInstanceRequest(self.items[0], self.request_body)
1022

  
1023
    return baserlib.SubmitJob([op])
1024

  
1025

  
994 1026
class _R_Tags(baserlib.R_Generic):
995 1027
  """ Quasiclass for tagging resources
996 1028

  

Also available in: Unified diff