def remove()

in Cleanup.py [0:0]


def remove(session, headers, endpoint, HOST, projectname, configfile):
    with open(os.path.join(sys.path[0], configfile), 'r') as ymlfile:
        config = yaml.load(ymlfile)
    
    # Get Projects
    r = requests.get(HOST + endpoint.format('projects'), headers=headers, cookies=session)
    if r.status_code != 200:
        print("ERROR: Failed to fetch the project....")
        sys.exit(1)
    try:
        # Get Project ID
        projects = json.loads(r.text)["items"]
        project_exist = False
        for project in projects:
            if project["name"] == projectname:
               project_id = project["id"]
               project_exist = True
        if project_exist == False:
            print("ERROR: Project Name does not exist....")
            sys.exit(2)
    except:
        print(sys.exc_info())
        sys.exit(6)

    m = requests.get(HOST + endpoint.format('projects/{}/machines').format(project_id), headers=headers, cookies=session)
    machine_status = 0
    for i in range(1, config["project"]["machinecount"]+1):
        index = "machine" + str(i)
        machine_exist = False
        for machine in json.loads(m.text)["items"]:
           if config[index]["machineName"] == machine['sourceProperties']['name']:
                  machine_exist = True
                  if 'lastCutoverDateTime' in machine["lifeCycle"]:
                      machine_data = {'machineIDs': [machine['id']]}
                      remove = requests.delete(HOST + endpoint.format('projects/{}/machines').format(project_id), data = json.dumps(machine_data), headers=headers, cookies=session)
                      if remove.status_code == 204:
                          print("Machine: " + machine['sourceProperties']['name'] + " has been removed from CloudEndure....")
                          machine_status += 1
                      else:
                          print("Machine: " + machine['sourceProperties']['name'] + " cleanup failed....")
                  else:
                      print("ERROR: Machine: " + machine['sourceProperties']['name'] + " has not been migrated to PROD environment....")
                      sys.exit(4)
        if machine_exist == False:
               print("ERROR: Machine: " + config[index]["machineName"] + " does not exist....")

    if machine_status == config["project"]["machinecount"]:
       print("All Machines in the config file have been removed from CloudEndure....")
    else:
       print("ERROR: Some machines in the config file do not exist or have NOT been migrated to the PROD environment....")
       sys.exit(5)