'MatrixFeature models a row in the matrix
This initialises ``self.implementations``, which is a dict of
(MatrixTarget.key, MatrixImplementation)
This is the list of cells for the given row of the matrix.
:param key: used as the HTML id for the details, and so in the URL
:param title: human friendly short title, used in the matrix
:param notes: Arbitrarily long string describing the feature
:param cli: list of cli commands related to the feature
:param maturity: incomplete, experimental, complete or deprecated
for a full definition see the rst doc
:param api_doc_link: URL to the API ref for this feature
:param admin_doc_link: URL to the admin docs for using this feature
:param tempest_test_uuids: uuids for tests that validate this feature'

def __init__(self, key, title, notes=None, cli=None, maturity=None, api_doc_link=None, admin_doc_link=None, tempest_test_uuids=None):

    if (cli is None):
        cli = []
    if (tempest_test_uuids is None):
        tempest_test_uuids = []
    self.key = key
    self.title = title
    self.notes = notes
    self.implementations = {}
    self.cli = cli
    self.maturity = maturity
    self.api_doc_link = api_doc_link
    self.admin_doc_link = admin_doc_link
    self.tempest_test_uuids = tempest_test_uuids
