'Returns attributes of all stacks.
It supports pagination (``limit`` and ``marker``),
sorting (``sort_keys`` and ``sort_dir``) and filtering (``filters``)
of the results.
:param cnxt: RPC context
:param limit: the number of stacks to list (integer or string)
:param marker: the ID of the last item in the previous page
:param sort_keys: an array of fields used to sort the list
:param sort_dir: the direction of the sort (\'asc\' or \'desc\')
:param filters: a dict with attribute:value to filter the list
:param tenant_safe: DEPRECATED, if true, scope the request by
the current tenant
:param show_deleted: if true, show soft-deleted stacks
:param show_nested: if true, show nested stacks
:param show_hidden: if true, show hidden stacks
:param tags: show stacks containing these tags. If multiple tags
are passed, they will be combined using the boolean AND expression
:param tags_any: show stacks containing these tags. If multiple tags
are passed, they will be combined using the boolean OR expression
:param not_tags: show stacks not containing these tags. If multiple
tags are passed, they will be combined using the boolean AND
expression
:param not_tags_any: show stacks not containing these tags. If
multiple tags are passed, they will be combined using the boolean
OR expression
:returns: a list of formatted stacks'

@context.request_context
def list_stacks(self, cnxt, limit=None, marker=None, sort_keys=None, sort_dir=None, filters=None, tenant_safe=True, show_deleted=False, show_nested=False, show_hidden=False, tags=None, tags_any=None, not_tags=None, not_tags_any=None):

    if (filters is not None):
        filters = api.translate_filters(filters)
    if (not tenant_safe):
        cnxt = context.get_admin_context()
    stacks = stack_object.Stack.get_all(cnxt, limit=limit, sort_keys=sort_keys, marker=marker, sort_dir=sort_dir, filters=filters, show_deleted=show_deleted, show_nested=show_nested, show_hidden=show_hidden, tags=tags, tags_any=tags_any, not_tags=not_tags, not_tags_any=not_tags_any)
    return [api.format_stack_db_object(stack) for stack in stacks]
