====== Models ====== .. code:: python from typing import Any, Dict, List, Literal, Optional, Union ReportStatus = Literal[ "completed", "failed", "in_progress", "not_scheduled", "scheduled" ] ActiveStatus = Literal["active", "cancelled"] FileType = Literal["csv", "pdf"] ScheduleType = Literal[ "on_demand", "reoccur_daily", "reoccur_monthly", "reoccur_onetime", "reoccur_weekly", ] TemplateType = Literal[ "app_usage", "executive_summary", "firewall_enforcement", "internet_browsing", "ips_events_collected", "link_availability", "link_sla", "link_utilization", "malware_files_collected", "site_availability", ] TimeRange = Literal["one_day", "one_month", "one_week"] class ReportSummaryInfo: """ Report summary information """ business_hours: str file_type: str # If the report template has running task records or not has_task: bool # Report next running timestamp next_run_time: int # vManage which scheduled report generating tasks on_vmanage: str # The report UUID for report template report_id: str # The report template name report_name: str # Report schedule status(not_scheduled/scheduled/in_progress/completed/failed)) report_status: ReportStatus # Report schedule information schedule: str # The number of scheduled tasks for report template task_num: int template_type: str # Report time frame(7 Days/30 Days) time_frame: str # Email address list to receive the report files email_recipient: Optional[List[str]] class ReportSummaryResponse: """ Query all reports summary information response """ # Report List reports: List[ReportSummaryInfo] header: Optional[Dict[str, Any]] class ReportBusinessHours: """ Report business hours for data generating """ end_time: str start_time: str class ScheduleConfig1: """ On-demand schedule """ # Schedule type schedule_type: ScheduleType class ScheduleConfig2: # Schedule type schedule_type: ScheduleType # startTime string format is yyyy-MM-dd HH:mm:ss,UTC timezone start_time: str class ScheduleConfig3: # Schedule type schedule_type: ScheduleType # startTime string format is HH:mm:ss start_time: str class ScheduleConfig4: # The day number of a week, mapping is as 1 - Sun, 2 - Mon, 3 - Tus, 4 - Wed, 5 - Thu, 6 - Fri, 7 - Sat day_of_week: int # Schedule type schedule_type: ScheduleType # startTime string format is HH:mm:ss start_time: str class ScheduleConfig5: # Schedule type schedule_type: ScheduleType # startTime string format is (yyyy-MM-dd HH:mm:ss), time zone is UTC start_time: str class ExecutiveSummaryReport: """ Executive summary report template """ # Email address list to receive the report files email_recipient: List[str] # Report Name report_name: str # schedule config schedule_config: Union[ ScheduleConfig1, ScheduleConfig2, ScheduleConfig3, ScheduleConfig4, ScheduleConfig5, ] # Time range for report(one_week/one_month) time_range: TimeRange # Report business hours for data generating business_hours: Optional[ReportBusinessHours] file_type: Optional[FileType] # Filtering by Site ID list is optional, if no site Id is included, all site ID will be used for report generating. site_ids: Optional[List[int]] template_type: Optional[TemplateType] class ReportInfo: """ Report Template detail info """ # Report active status(active,cancelled) active_status: ActiveStatus # user name for who created the report template. created_by: str # If the report template has running task records or not has_task: bool # Report template last update timestamp last_update_time: int # Report next running timestamp next_run_time: int # vManage which scheduled report generating tasks on_vmanage: str # Executive summary report template report_config: ExecutiveSummaryReport # The report UUID for report template report_id: str # Report schedule status(not_scheduled/scheduled/in_progress/completed/failed)) report_status: ReportStatus debug_info: Optional[str] file_type: Optional[FileType] need_run_immediately: Optional[bool] task_num: Optional[int] template_type: Optional[TemplateType] class UpdateReportTemplateResponse: # Report ID report_id: str