Creates a new, empty file system.

    name
        (string) - The name for the new file system

    performance_mode
        (string) - The PerformanceMode of the file system. Can be either
        generalPurpose or maxIO

    creation_token
        (string) - A unique name to be used as reference when creating an EFS.
        This will ensure idempotency. Set to name if not specified otherwise

    returns
        (dict) - A dict of the data for the elastic file system

    CLI Example:

    .. code-block:: bash

        salt 'my-minion' boto_efs.create_file_system efs-name generalPurpose

def create_file_system(name,
                       performance_mode='generalPurpose',
                       keyid=None,
                       key=None,
                       profile=None,
                       region=None,
                       creation_token=None,
                       **kwargs):
    '''
    Creates a new, empty file system.

    name
        (string) - The name for the new file system

    performance_mode
        (string) - The PerformanceMode of the file system. Can be either
        generalPurpose or maxIO

    creation_token
        (string) - A unique name to be used as reference when creating an EFS.
        This will ensure idempotency. Set to name if not specified otherwise

    returns
        (dict) - A dict of the data for the elastic file system

    CLI Example:

    .. code-block:: bash

        salt 'my-minion' boto_efs.create_file_system efs-name generalPurpose
    '''

    if creation_token is None:
        creation_token = name

    tags = {"Key": "Name", "Value": name}

    client = _get_conn(key=key, keyid=keyid, profile=profile, region=region)

    response = client.create_file_system(CreationToken=creation_token,
                                         PerformanceMode=performance_mode)

    if 'FileSystemId' in response:
        client.create_tags(FileSystemId=response['FileSystemId'], Tags=tags)

    if 'Name' in response:
        response['Name'] = name

    return response