def _get_include_attributes(cls, args, extra_attributes=None):
        """
        Return a list of attributes to send to the API using ?include_attributes filter.

        If None / empty list is returned it's assumed no filtering is to be performed and all
        attributes are to be retrieved.

        :param extra_attributes: Additional include attributes which should always be included.
        :type extra_attributes: ``list`` of ``str``
        """
        extra_attributes = extra_attributes or []

        include_attributes = []

        if extra_attributes:
            include_attributes.extend(extra_attributes)

        # If user specifies which attributes to retrieve via CLI --attr / -a argument, take that
        # into account

        # Special case for "all"
        if "all" in args.attr:
            return None

        for attr in args.attr:
            include_attributes.append(attr)

        if include_attributes:
            return include_attributes

        display_attributes = getattr(cls, "display_attributes", [])

        if display_attributes:
            include_attributes += display_attributes

        include_attributes = list(OrderedSet(include_attributes))

        return include_attributes

        Return a list of attributes to send to the API using ?include_attributes filter.

        If None / empty list is returned it's assumed no filtering is to be performed and all
        attributes are to be retrieved.

        :param extra_attributes: Additional include attributes which should always be included.
        :type extra_attributes: ``list`` of ``str``
        
st2client/st2client/commands/resource.py