def describe_directories(DirectoryIds=None, NextToken=None, Limit=None):
    """
    Obtains information about the directories that belong to this account.
    You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned.
    This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken member contains a token that you pass in the next call to  DescribeDirectories to retrieve the next set of items.
    You can also specify a maximum number of return results with the Limit parameter.
    See also: AWS API Documentation
    
    
    :example: response = client.describe_directories(
        DirectoryIds=[
            'string',
        ],
        NextToken='string',
        Limit=123
    )
    
    
    :type DirectoryIds: list
    :param DirectoryIds: A list of identifiers of the directories for which to obtain the information. If this member is null, all directories that belong to the current account are returned.
            An empty list results in an InvalidParameterException being thrown.
            (string) --
            

    :type NextToken: string
    :param NextToken: The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories . Pass null if this is the first call.

    :type Limit: integer
    :param Limit: The maximum number of items to return. If this value is zero, the maximum number of items is specified by the limitations of the operation.

    :rtype: dict
    :return: {
        'DirectoryDescriptions': [
            {
                'DirectoryId': 'string',
                'Name': 'string',
                'ShortName': 'string',
                'Size': 'Small'|'Large',
                'Alias': 'string',
                'AccessUrl': 'string',
                'Description': 'string',
                'DnsIpAddrs': [
                    'string',
                ],
                'Stage': 'Requested'|'Creating'|'Created'|'Active'|'Inoperable'|'Impaired'|'Restoring'|'RestoreFailed'|'Deleting'|'Deleted'|'Failed',
                'LaunchTime': datetime(2015, 1, 1),
                'StageLastUpdatedDateTime': datetime(2015, 1, 1),
                'Type': 'SimpleAD'|'ADConnector'|'MicrosoftAD',
                'VpcSettings': {
                    'VpcId': 'string',
                    'SubnetIds': [
                        'string',
                    ],
                    'SecurityGroupId': 'string',
                    'AvailabilityZones': [
                        'string',
                    ]
                },
                'ConnectSettings': {
                    'VpcId': 'string',
                    'SubnetIds': [
                        'string',
                    ],
                    'CustomerUserName': 'string',
                    'SecurityGroupId': 'string',
                    'AvailabilityZones': [
                        'string',
                    ],
                    'ConnectIps': [
                        'string',
                    ]
                },
                'RadiusSettings': {
                    'RadiusServers': [
                        'string',
                    ],
                    'RadiusPort': 123,
                    'RadiusTimeout': 123,
                    'RadiusRetries': 123,
                    'SharedSecret': 'string',
                    'AuthenticationProtocol': 'PAP'|'CHAP'|'MS-CHAPv1'|'MS-CHAPv2',
                    'DisplayLabel': 'string',
                    'UseSameUsername': True|False
                },
                'RadiusStatus': 'Creating'|'Completed'|'Failed',
                'StageReason': 'string',
                'SsoEnabled': True|False
            },
        ],
        'NextToken': 'string'
    }
    
    
    :returns: 
    (string) --
    
    """
    pass
