def edit(self):
        """
        Edits the usage report. To edit a usage report, you need to submit
        the complete JSON representation of the usage report which
        includes updates to the usage report properties. The name of the
        report cannot be changed when editing the usage report.

        Values are changed in the class, to edit a property like
        metrics, pass in a new value.  Changed values to not take until the
        edit() is called.

        Inputs:
           None
        """

        usagereport_dict = {
            "reportname": self.reportname,
            "queries": self._queries,
            "since": self.since,
            "metadata": self._metadata,
            "to" : self._to,
            "from" : self._from,
            "aggregationInterval" : self._aggregationInterval
        }
        params = {
            "f" : "json",
            "usagereport" : json.dumps(usagereport_dict)
        }
        url = self._url + "/edit"
        return self._post(url=url,
                             param_dict=params,
                             securityHandler=self._securityHandler,
                             proxy_url=self._proxy_url,
                             proxy_port=self._proxy_port)
Edits the usage report. To edit a usage report, you need to submit
        the complete JSON representation of the usage report which
        includes updates to the usage report properties. The name of the
        report cannot be changed when editing the usage report.

        Values are changed in the class, to edit a property like
        metrics, pass in a new value.  Changed values to not take until the
        edit() is called.

        Inputs:
           None