def list_virtual_mfa_devices(AssignmentStatus=None, Marker=None, MaxItems=None
    ):
    """
    Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the action returns a list of all virtual MFA devices. Assignment status can be Assigned , Unassigned , or Any .
    You can paginate the results using the MaxItems and Marker parameters.
    See also: AWS API Documentation
    
    Examples
    The following command lists the virtual MFA devices that have been configured for the current account.
    Expected Output:
    
    :example: response = client.list_virtual_mfa_devices(
        AssignmentStatus='Assigned'|'Unassigned'|'Any',
        Marker='string',
        MaxItems=123
    )
    
    
    :type AssignmentStatus: string
    :param AssignmentStatus: The status (Unassigned or Assigned ) of the devices to list. If you do not specify an AssignmentStatus , the action defaults to Any which lists both assigned and unassigned virtual MFA devices.

    :type Marker: string
    :param Marker: Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

    :type MaxItems: integer
    :param MaxItems: (Optional) Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true .
            If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.
            

    :rtype: dict
    :return: {
        'VirtualMFADevices': [
            {
                'SerialNumber': 'string',
                'Base32StringSeed': b'bytes',
                'QRCodePNG': b'bytes',
                'User': {
                    'Path': 'string',
                    'UserName': 'string',
                    'UserId': 'string',
                    'Arn': 'string',
                    'CreateDate': datetime(2015, 1, 1),
                    'PasswordLastUsed': datetime(2015, 1, 1)
                },
                'EnableDate': datetime(2015, 1, 1)
            },
        ],
        'IsTruncated': True|False,
        'Marker': 'string'
    }
    
    
    :returns: 
    The user does not have a password
    The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014
    there is no sign-in data associated with the user
    
    """
    pass
