Create a dataport resource.
           "format" and "retention" are required
            {
                "format": "float" | "integer" | "string",
                "meta": string = "",
                "name": string = "",
                "preprocess": list = [],
                "public": boolean = false,
                "retention": {
                    "count": number | "infinity",
                    "duration": number | "infinity"
                },
                "subscribe": <ResourceID> |  null = null
            }

def createDataport(self, auth, desc, defer=False):
        """Create a dataport resource.
           "format" and "retention" are required
            {
                "format": "float" | "integer" | "string",
                "meta": string = "",
                "name": string = "",
                "preprocess": list = [],
                "public": boolean = false,
                "retention": {
                    "count": number | "infinity",
                    "duration": number | "infinity"
                },
                "subscribe": <ResourceID> |  null = null
            }
        """
        return self._call('create', auth, ['dataport', desc], defer)