def deleteinstance(projectid, authorization, zone, instance): deletion_result = _destroy_virtual_machine(authorization, instance) populated_response = operations.create_response( projectid=projectid, operationid=deletion_result['destroyvirtualmachineresponse']['jobid'], authorization=authorization ) return helper.create_response(data=populated_response)
def addinstance(authorization, projectid, zone): data = json.loads(request.data) print data args = {} args['name'] = data['name'] args['serviceoffering'] = data['machineType'].rsplit('/', 1)[1] args['template'] = data['disks'][0]['initializeParams']['sourceImage'].rsplit('/', 1)[1] args['zone'] = zone network = data['networkInterfaces'][0]['network'].rsplit('/', 1)[1] if network is not 'default': args['network'] = network deployment_result = _deploy_virtual_machine(authorization, args, projectid) if 'errortext' in deployment_result['deployvirtualmachineresponse']: populated_response = { 'kind': 'compute#operation', 'operationType': 'insert', 'targetLink': '', 'status': 'DONE', 'progress': 100, 'error': { 'errors': [{ 'code': 'RESOURCE_ALREADY_EXISTS', 'message': 'the resource \'projects/\'' + projectid + '/zones/' + zone + '/instances/' + args['name'] }] } } else: populated_response = operations.create_response( projectid=projectid, operationid=deployment_result[ 'deployvirtualmachineresponse']['jobid'], authorization=authorization ) return helper.create_response(data=populated_response)