def _index_command(self, type, columns, index):
        """
        Add a new index command to the blueprint.

        :param type: The index type
        :type type: str

        :param columns: The index columns
        :type columns: list or str

        :param index: The index name
        :type index: str

        :rtype: Fluent
        """
        if not isinstance(columns, list):
            columns = [columns]

        if not index:
            index = self._create_index_name(type, columns)

        return self._add_command(type, index=index, columns=columns)
Add a new index command to the blueprint.

        :param type: The index type
        :type type: str

        :param columns: The index columns
        :type columns: list or str

        :param index: The index name
        :type index: str

        :rtype: Fluent