import dynamix_sdk.base as _base


class CloudapiAuditGetResultModel(_base.BaseAPIResultModel):
    args: str
    api_url_path: str
    guid: str
    kwargs: str
    client_ip_addr: str
    execution_time_sec: float
    result: str
    status_code: int
    request_timestamp: float
    response_timestamp: float
    user_name: str
    request_datetime_iso8601: str

    @property
    def request_datetime(self):
        return self._get_datetime_from_timestamp(self.request_timestamp)

    @property
    def response_datetime(self):
        return self._get_datetime_from_timestamp(self.response_timestamp)


class CloudapiAuditGetProtocol(_base.BasePostAPIFunctionProtocol):
    def get(
        self,
        *,
        audit_guid: str,
    ) -> CloudapiAuditGetResultModel:
        ...
