def enable_mfa()

in force_user_mfa/ForceUserMFA.py [0:0]


def enable_mfa(userName, mfaArn, seed):
    """Summary

    Args:
        userName (TYPE): Description
        mfaArn (TYPE): Description
        seed (TYPE): Description

    Returns:
        TYPE: Description
    """
    # Get token 1
    token1 = generate_token(seed)
    x = 0
    fail = False
    while (len(str(token1)) != 6):
        token1 = generate_token(seed)
        time.sleep(5)
        x = x + 1
        if x > 20:
            fail = True
            break
    if fail:
        print("Token1 creation failed. Token1 = " + str(token1))
        return "token1 fail"

    # Get token 2
    time.sleep(5)
    token2 = generate_token(seed)
    x = 0
    fail = False
    while (token1 == token2) or (len(str(token2)) != 6):
        time.sleep(5)
        token2 = generate_token(seed)
        x = x + 1
        if x > 20:
            fail = True
            break
    if fail:
        print("Token2 creation failed. Token1 = " + str(token2))
        return "token2 fail"
    print("Token enabled")

    # Attach to user
    try:
        response = IAM_CLIENT.enable_mfa_device(
            UserName=userName,
            SerialNumber=mfaArn,
            AuthenticationCode1=str(token1),
            AuthenticationCode2=str(token2)
        )
    except:
        response = str(sys.exc_info()[0])
        print("Attach to user failed for user: " + userName)
        print("Will try 10 times")
        print(response)
    else:
        response = "Success"
        print("Token assigned to user: " + userName)
    return response