def describe_identity_pools(IdentityPoolName, IdentityPoolId=None,
               region=None, key=None, keyid=None, profile=None):

    '''
    Given an identity pool name, (optionally if an identity pool id is given,
    the given name will be ignored)

    Returns a list of matched identity pool name's pool properties

    CLI Example:

    .. code-block:: bash

        salt myminion boto_cognitoidentity.describe_identity_pools my_id_pool_name
        salt myminion boto_cognitoidentity.describe_identity_pools '' IdentityPoolId=my_id_pool_id

    '''
    conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)

    try:
        ids = _find_identity_pool_ids(IdentityPoolName, IdentityPoolId, conn)

        if ids:
            results = []
            for pool_id in ids:
                response = conn.describe_identity_pool(IdentityPoolId=pool_id)
                response.pop('ResponseMetadata', None)
                results.append(response)
            return {'identity_pools': results}
        else:
            return {'identity_pools': None}
    except ClientError as e:
        return {'error': __utils__['boto3.get_error'](e)}