<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create(self, dashboard_data):
 """ This API endpoint creates a dashboard and all defined widgets. :type dashboard: dict :param dashboard: Dashboard Dictionary :rtype dict :return: The JSON response of the API :: { "dashboard": { "id": "integer", "title": "string", "description": "string", "icon": "string", "created_at": "time", "updated_at": "time", "visibility": "string", "editable": "string", "ui_url": "string", "api_url": "string", "owner_email": "string", "metadata": { "version": "integer" }, "widgets": [ { "visualization": "string", "layout": { "width": "integer", "height": "integer", "row": "integer", "column": "integer" }, "widget_id": "integer", "account_id": "integer", "data": [ "nrql": "string" ], "presentation": { "title": "string", "notes": "string" } } ], "filter": { "event_types": ["string"], "attributes": ["string"] } } } """

        return self._post(
            url='{0}dashboards.json'.format(self.URL),
            headers=self.headers,
            data=dashboard_data,
        )