forked from cisco-en-programmability/catalystcenter-ansible
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathreports_workflow_manager.py
More file actions
11117 lines (9548 loc) · 450 KB
/
Copy pathreports_workflow_manager.py
File metadata and controls
11117 lines (9548 loc) · 450 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright (c) 2025, Cisco Systems
# GNU General Public License v3.0+ (see LICENSE or https://www.gnu.org/licenses/gpl-3.0.txt)
"""Ansible module to manage Report configurations in Cisco Catalyst Center."""
from __future__ import absolute_import, division, print_function
__metaclass__ = type
__author__ = ["Megha Kandari, Madhan Sankaranarayanan"]
DOCUMENTATION = r"""
---
module: reports_workflow_manager
short_description: Resource module for managing Reports in Cisco Catalyst Center.
description:
- This module manages Report configurations in Cisco Catalyst Center.
- It allows you to create and schedule customized reports across wired and
wireless network entities.
- Supports configuration of report name, scheduling, entity selection,
filters, field groups, and output format options.
- Enables scheduling with immediate, later, or recurring execution patterns.
- Provides delivery methods including local download, email notification,
and webhook integration.
- Reports help monitor network and client health, device behavior,
compliance status, and utilization trends.
- Applicable from Cisco Catalyst Center version 2.3.7.9 and later.
version_added: '6.41.0'
extends_documentation_fragment:
- cisco.catalystcenter.workflow_manager_params
author:
- Megha Kandari (@kandarimegha)
- Madhan Sankaranarayanan (@madhansansel)
options:
config_verify:
description:
- Set to C(True) to enable configuration verification on Cisco
Catalyst Center after applying the playbook config.
- This will ensure that the system validates the configuration state
after the change is applied.
type: bool
default: false
state:
description:
- Specifies the desired state for the configuration.
- If C(merged), the module will create or schedule new reports.
- If C(deleted), the module will remove existing scheduled reports.
type: str
choices: [merged, deleted]
default: merged
config:
description:
- A list of configuration settings for generating reports in Cisco
Catalyst Center.
- Each configuration defines report metadata, scheduling, delivery
options, view selections, format, and applicable filters.
- Supports creating, scheduling, and downloading customized network
reports across various data categories.
type: list
elements: dict
required: true
suboptions:
generate_report:
description:
- List of report configurations to be created or scheduled.
- Each entry represents a single report with its complete
configuration.
- Reports are processed sequentially, not in parallel,
which ensures data consistency.
type: list
elements: dict
required: true
suboptions:
name:
description:
- The name of the report to be generated.
- Must be unique within the Catalyst Center instance.
- If not provided, it will be automatically generated using
the format "<data_category> - <view_name> - <timestamp>".
- Example auto-generated name "Network - DeviceView - Jul 20
2025 08:26 PM".
type: str
required: false
new_report:
description:
- Specifies whether to create a new report when a report with the same name already exists.
- If set to C(True) and a report with the same name is found,
a new report is created with a unique timestamp suffix appended to its name.
type: bool
required: false
default: true
view_group_name:
description:
- The name of the view group as defined in Catalyst Center. For example, C(Inventory)
- Used to identify the viewGroupId via API calls.
- Determines the category of data included in the report.
type: str
required: true
choices:
- Compliance
- Executive Summary
- Inventory
- SWIM
- Access Point
- Long Term
- Network Devices
- Group Pair Communication Analytics
- Telemetry
- Group Communication Summary
- EoX
- Rogue and aWIPS
- Licensing
- AI Endpoint Analytics
- Audit Log
- Configuration Archive
- Client
- Security Advisories
tags:
description:
- Optional list of tags to filter reports.
- Tags help categorize and organize reports for easier management.
type: list
elements: str
required: false
view_group_version:
description:
- The version of the view group to be used for the report.
- Defaults to C(2.0.0) if not specified.
type: str
required: false
schedule:
description:
- Defines when the report should be executed (immediately, later, or
on a recurring basis).
- Controls the timing and frequency of report generation.
type: dict
required: true
suboptions:
schedule_type:
description:
- The scheduling type for the report execution.
- C(SCHEDULE_NOW) executes immediately, C(SCHEDULE_LATER) executes
at a specific time, C(SCHEDULE_RECURRENCE) executes repeatedly.
choices:
- SCHEDULE_NOW
- SCHEDULE_LATER
- SCHEDULE_RECURRENCE
type: str
required: true
date_time:
description:
- Scheduled time for report execution.
- Required if schedule_type is C(SCHEDULE_LATER) or
C(SCHEDULE_RECURRENCE).
- Must be in 'YYYY-MM-DD HH:MM AM/PM' format.
- Example "2025-09-02 07:30 PM".
- Only future dates are allowed.
type: str
required: false
time_zone:
description:
- Time zone identifier for the schedule.
- Uses standard time zone identifiers like C(Asia/Calcutta),
C(America/New_York), etc. For a complete list of supported time zones,
please refer to the time_zone field in the Inventory Workflow Manager documentation
https://galaxy.ansible.com/ui/repo/published/cisco/catalystcenter/content/module/inventory_workflow_manager.
type: str
required: true
recurrence:
description:
- Recurrence settings for scheduled reports.
- Required only when schedule_type is C(SCHEDULE_RECURRENCE).
- Defines the pattern and frequency of recurring executions.
type: dict
required: false
suboptions:
recurrence_type:
description:
- Type of recurrence pattern.
- C(WEEKLY) for daily execution via weekly pattern with all
7 days.
- C(MONTHLY) for monthly execution on specific day or last day.
choices:
- WEEKLY
- MONTHLY
type: str
required: false
days:
description:
- List of days for weekly recurrence.
- Required for C(WEEKLY) recurrence_type.
- Can specify individual days or use C(DAILY) for all seven days.
- Must include all 7 days for daily execution or DAILY.
["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] or ["DAILY"].
type: list
elements: str
required: false
last_day_of_month:
description:
- Whether to run on the last day of the month.
- Only applicable for C(MONTHLY) recurrence_type.
- When true, ignores day_of_month setting.
type: bool
required: false
day_of_month:
description:
- Specific day of the month to run the report.
- Only applicable for C(MONTHLY) recurrence_type when
last_day_of_month is false.
- Must be an integer between 1 and 31.
type: int
required: false
time:
description:
- Epoch time in milliseconds for scheduled execution.
- Automatically generated from date_time during processing.
- Used internally by the API for recurring schedules.
type: int
required: false
start_date:
description:
- Epoch start date in milliseconds for recurring schedules.
- Automatically generated from date_time during processing.
- Used internally by the API to determine recurrence start point.
type: int
required: false
deliveries:
description:
- Specifies how the generated report should be delivered.
- Must be a list containing exactly one delivery configuration.
- Supports three delivery methods DOWNLOAD, NOTIFICATION (email),
and WEBHOOK.
type: list
elements: dict
required: true
suboptions:
delivery_type:
description:
- Delivery type for the report.
- C(DOWNLOAD) saves report to local file system.
- C(NOTIFICATION) sends report via email notification.
- C(WEBHOOK) triggers a configured webhook endpoint.
choices:
- DOWNLOAD
- NOTIFICATION
- WEBHOOK
type: str
required: true
file_path:
description:
- Local file system path where the report should be downloaded.
- Required only when delivery_type is C(DOWNLOAD).
- Must be a valid directory path where the user has write
permissions.
type: str
required: false
notification_endpoints:
description:
- Required when delivery_type is C(NOTIFICATION).
- Must be a list containing exactly one email endpoint
configuration.
- Specifies email recipients and notification preferences.
type: list
elements: dict
required: false
suboptions:
email_addresses:
description:
- List of email recipients for the notification.
- Required when delivery_type is C(NOTIFICATION).
- Each email address must be in valid email format.
type: list
elements: str
required: false
email_attach:
description:
- Whether the report should be attached in the notification email.
type: bool
required: false
default: false
notify:
description:
- List of report execution statuses that will trigger
a notification.
- If not specified, notifications are sent for all statuses.
- C(IN_QUEUE) notifies when report is queued for execution.
- C(IN_PROGRESS) notifies when report execution starts.
- C(COMPLETED) notifies when report execution finishes.
choices:
- IN_QUEUE
- IN_PROGRESS
- COMPLETED
type: list
elements: str
required: false
webhook_name:
description:
- The name of the webhook to be triggered for the report.
- Required when delivery_type is C(WEBHOOK).
- Must reference an existing webhook configured in Catalyst
Center.
- The webhook will be called when the report is generated.
type: str
required: false
view:
description:
- Contains view details such as view selection, field groups, filters,
and output format for the report.
- Defines what data to include and how to present it in the final report.
type: dict
required: true
suboptions:
view_name:
description:
- The view name from which C(viewId) is derived via API calls.
- Must match exactly with available views in the specified view group.
- Determines the specific data subset and available fields for
the report.
type: str
required: true
choices:
- Network Device Compliance # viewName in viewGroup Compliance
- Network Device Availability # viewName in viewGroup Network Devices
- Channel Change Count # viewName in viewGroup Network Devices
- Transmit Power Change Count # viewName in viewGroup Network Devices
- VLAN # viewName in viewGroup Network Devices
- Port Capacity # viewName in viewGroup Network Devices
- Energy Management # viewName in viewGroup Network Devices
- PoE # viewName in viewGroup Network Devices
- Device CPU and Memory Utilization # viewName in viewGroup Network Devices
- Network Interface Utilization # viewName in viewGroup Network Devices
- Executive Summary # viewName in viewGroup Executive Summary
- All Data # viewName in viewGroup Inventory
- Port Reclaim View # viewName in viewGroup Inventory
- All Data Version 2.0 # viewName in viewGroup Inventory
- All Data # viewName in viewGroup SWIM
- All Data Version 2.0 # viewName in viewGroup SWIM
- AP # viewName in viewGroup Access Point
- AP Radio # viewName in viewGroup Access Point
- AP - Usage and Client Breakdown # viewName in viewGroup Access Point
- Worst Interferers # viewName in viewGroup Access Point
- AP RRM Events # viewName in viewGroup Access Point
- AP Performance Report # viewName in viewGroup Long Term
- Long Term AP Detail # viewName in viewGroup Long Term
- Long Term AP Radio # viewName in viewGroup Long Term
- Long Term AP Usage and Client Breakdown # viewName in viewGroup Long Term
- Long Term Client Detail # viewName in viewGroup Long Term
- Long Term Client Session # viewName in viewGroup Long Term
- Long Term Network Device Availability # viewName in viewGroup Long Term
- Security Group to Security Group # viewName in viewGroup Group Pair Communication Analytics
- Security Group to ISE Endpoint Profile Group # viewName in viewGroup Group Pair Communication Analytics
- Security Group to Host Group # viewName in viewGroup Group Pair Communication Analytics
- ISE Endpoint Profile Group to Security Group # viewName in viewGroup Group Pair Communication Analytics
- ISE Endpoint Profile Group to ISE Endpoint Profile Group # viewName in viewGroup Group Pair Communication Analytics
- ISE Endpoint Profile Group to Host Group # viewName in viewGroup Group Pair Communication Analytics
- Host Group to Security Group # viewName in viewGroup Group Pair Communication Analytics
- Host Group to ISE Endpoint Profile Group # viewName in viewGroup Group Pair Communication Analytics
- Host Group to Host Group # viewName in viewGroup Group Pair Communication Analytics
- Device Lifecycle Information # viewName in viewGroup Telemetry
- Security Group to Security Groups # viewName in viewGroup Group Communication Summary
- Security Group to ISE Endpoint Profile Groups # viewName in viewGroup Group Communication Summary
- Security Group to Host Groups # viewName in viewGroup Group Communication Summary
- ISE Endpoint Profile Group to Security Groups # viewName in viewGroup Group Communication Summary
- ISE Endpoint Profile Group to ISE Endpoint Profile Groups # viewName in viewGroup Group Communication Summary
- ISE Endpoint Profile Group to Host Groups # viewName in viewGroup Group Communication Summary
- Host Group to Security Groups # viewName in viewGroup Group Communication Summary
- Host Group to ISE Endpoint Profile Group # viewName in viewGroup Group Communication Summary
- Host Group to Host Group # viewName in viewGroup Group Communication Summary
- EoX Data # viewName in viewGroup EoX
- Threat Detail # viewName in viewGroup Rogue and aWIPS
- New Threat # viewName in viewGroup Rogue and aWIPS
- Rogue Additional Detail # viewName in viewGroup Rogue and aWIPS
- Non Compliant Devices # viewName in viewGroup Licensing
- Non Compliance Summary # viewName in viewGroup Licensing
- AireOS Controllers Licenses # viewName in viewGroup Licensing
- License Usage Upload Details # viewName in viewGroup Licensing
- License Historical Usage # viewName in viewGroup Licensing
- Endpoint Profiling # viewName in viewGroup AI Endpoint Analytics
- Audit Log # viewName in viewGroup Audit Log
- Configuration Archive # viewName in viewGroup Configuration Archive
- Client Summary # viewName in viewGroup Client
- Top N Summary # viewName in viewGroup Client
- Client Detail # viewName in viewGroup Client
- Client Trend # viewName in viewGroup Client
- Client Session # viewName in viewGroup Client
- Busiest Client # viewName in viewGroup Client
- Unique Clients and Users Summary # viewName in viewGroup Client
- Security Advisories Data # viewName in viewGroup Security Advisories
field_groups:
description:
- Groups of fields to include in the report, as defined in the
selected view.
- Can be empty list to include all available fields for the view.
- Field group availability depends on the selected view_name.
type: list
elements: dict
required: false
suboptions:
field_group_name:
description:
- The internal name of the field group as defined in the view metadata.
- Must match exactly with the available field_groups for the selected view.
type: str
required: false
field_group_display_name:
description:
- The display name shown in the UI for the field group.
- Optional but recommended for readability.
type: str
required: false
fields:
description:
- List of specific fields to include within the field group.
- Can be empty list to include all fields in the group.
- Field availability depends on the selected field group.
type: list
elements: dict
required: false
suboptions:
name:
description:
- Field identifier as defined in the view metadata.
- Must match exactly with available fields in the group.
type: str
required: false
display_name:
description:
- Optional UI-friendly display label for the field.
- Used only for readability; API uses `name`.
type: str
required: false
format:
description:
- Specifies the output format of the report.
- Determines how the report data will be structured and presented.
type: dict
required: true
suboptions:
format_type:
description:
- Type of format to be used for the report output.
- C(CSV) for comma-separated values
- C(PDF) for document format
- C(JSON) for structured data
- C(TDE) for Tableau data extract.
choices:
- CSV
- PDF
- JSON
- TDE
type: str
required: true
filters:
description:
- Filters to be applied to narrow down the report data.
- Optional parameter to refine report content based on specific
criteria.
- Filter availability depends on the selected view_name.
type: list
elements: dict
required: false
suboptions:
name:
description:
- Name of the filter as defined in the view metadata.
- Common filters include Location, Time Range, Device Type, etc.
type: str
required: false
display_name:
description:
- Human-readable name of the filter shown in the UI.
type: str
required: false
filter_type:
description:
- Type of the filter determining how values are selected.
- C(MULTI_SELECT) allows multiple discrete values.
- C(MULTI_SELECT_TREE) allows hierarchical multi-selection.
- C(SINGLE_SELECT_ARRAY) allows single value from array.
- C(TIME_RANGE) allows date/time range specification.
- C(REGULAR) allows exact match filtering with single values for specific field types.
Used primarily for Port Reclaim View filters like hostname and family.
choices:
- MULTI_SELECT
- MULTI_SELECT_TREE
- SINGLE_SELECT_ARRAY
- TIME_RANGE
- REGULAR
type: str
required: false
value:
description:
- Value(s) to apply in the filter based on filter_type.
- For C(TIME_RANGE), this is a dict with time_range_option,
start_date_time, end_date_time, and time_zone.
- For other types, this is a list of dicts with C(value) and
C(display_value) keys.
- Location filters are automatically resolved to site hierarchy IDs.
type: list
elements: dict
required: false
suboptions:
value:
description:
- API-compatible internal value (e.g., DeviceFamily = SWITCHES)
type: str
required: false
display_value:
description:
- Human-readable value (e.g., "Switches" or "Global/India")
type: str
required: false
requirements:
- catalystcentersdk >= 3.1.6.0.2
- python >= 3.12
notes:
- SDK Methods used are
reports.Reports.get_all_view_groups
reports.Reports.get_views_for_a_given_view_group
reports.Reports.get_view_details_for_a_given_view_group_and_view
reports.Reports.create_or_schedule_a_report
reports.Reports.delete_a_scheduled_report
reports.Reports.download_report_content
reports.Reports.get_execution_id_by_report_id
- Paths used are
GET /dna/intent/api/v1/data/view-groups
GET /dna/intent/api/v1/data/view-groups/{viewGroupId}
GET /dna/intent/api/v1/data/view-groups/{viewGroupId}/views/{viewId}
POST /dna/intent/api/v1/data/reports
DELETE /dna/intent/api/v1/data/reports/{reportId}
GET /dna/intent/api/v1/data/reports/{reportId}/executions/{executionId}
"""
"""
Mapping of View Names to Mandatory Filters and Available Filters:
View Name Mandatory Filters Available Filters
--------- ----------------- -----------------
Network Device Availability Location, TimeRange Location, TimeRange, NwDeviceType
Channel Change Count Location, TimeRange Location, Band, TimeRange
Transmit Power Change Count Location, TimeRange Location, Band, TimeRange
VLAN N/A Location, DeviceFamily, DeviceType
Port Capacity utilizationLevel Location, DeviceFamily, Devicerole, utilizationLevel
Energy Management TimeRange Locations, DeviceCategory, TimeRange
PoE Location Location
Device CPU and Memory Utilization Location, SortBy, Limit, TimeRange Location, DeviceFamily, DeviceRole, SortBy, Limit, TimeRange
Network Interface Utilization All Location, SortBy, SortOrder, Limit, TimeRange
Executive Summary N/A Location, TimeRange, SSID, Band, GroupBy
All Data (inventory) N/A Location, DeviceFamily, DeviceType, SoftwareVersion
All Data Version 2.0 (inventory) N/A siteId, deviceType, deviceFamily, softwareVersion
Port Reclaim View N/A family, hostname
AP Location, TimeRange Location, Wlc, AP, TimeRange
AP Radio Location, SortBy, Limit, TimeRange Location, Wlc, AP, Band, SortBy, Limit, TimeRange
AP - Usage and Client Breakdown Location, AP, TimeRange Location, Wlc, AP, TimeRange
Worst Interferers Location, TimeRange Location, Wlc, AP, Band, TimeRange
AP RRM Events Location, TimeRange Location, Wlc, AP, eventType, Band, TimeRange
Threat Detail TimeRange Location, ThreatType, ThreatLevel, TimeRange
New Threat TimeRange Location, ThreatLevel, ThreatType, TimeRange
Rogue Additional Detail TimeRange Location, ThreatType, ThreatLevel, TimeRange
Security Advisories Data N/A DeviceType, Location, Impact
Audit Log TimeRange domain, category, sortBy, order, TimeRange
Network Device Compliance N/A complianceStatus, complianceType, family, DeviceType
Configuration Archive N/A configChangeType, family, DeviceType
EoX Data N/A DeviceType, Location
All Data (swim) N/A Location, DeviceFamily, DeviceRole
All Data Version 2.0 (swim) N/A Location1, DeviceFamily, DeviceRole
Busiest Client Location, TimeRange Location, clientMacAddress, DeviceType, SSID, Band, SortBy, Limit, TimeRange
Client Detail Location, TimeRange Location, clientMacAddress, DeviceType, SSID, Band, TimeRange
Client Session Location, TimeRange Location, clientMacAddress, SSID, Band, TimeRange
Client Summary Location, GroupBy, TimeRange Location, clientMacAddress, DeviceType, SSID, Band, GroupBy, TimeRange
Client Trend Location, TimeRange Location, clientMacAddress, ConnectionType, SSID, Band, TimeRange
Top N Summary Location, GroupBy, TimeRange Location, clientMacAddress, DeviceType, SSID, Band, GroupBy, TimeRange
Unique Clients and Users Summary Location, TimeRange Location, clientMacAddress, ConnectionType, SSID, Band, TimeRange
AireOS Controllers Licenses N/A N/A
License Usage Upload Details N/A N/A
Non Compliance Summary N/A N/A
Non Compliant Devices N/A N/A
License Historical Usage All smartaccountuser, smartaccountname, Mode, TimeRange
# The above available filters are for according to the Inspected UI api payload data as of Jan 2026.
# Following are additional view names and their filters according to UI data as of Jan 2026.
# Group Communication Summary and Analytics Reports
Host Group to Host Group All Host Group Name, Direction, Time Range
Host Group to Security Group Host Group, SGT Host Group, SGT, VN, Time Range
Host Group to ISE Endpoint Profile Group Host Group, Endpoint Profile Host Group, Endpoint Profile, VN, Time Range
ISE Endpoint Profile Group to Security Group Endpoint Profile, SGT Endpoint Profile, SGT, VN, Time Range
ISE Endpoint Profile Group to
ISE Endpoint Profile Group Endpoint Profile Endpoint Profile, VN, Time Range
ISE Endpoint Profile Group to Host Group Endpoint Profile, Host Group Endpoint Profile, Host Group, VN, Time Range
Security Group to Security Group Source/Destination SGT SGT, VN, Time Range
Security Group to ISE Endpoint Profile Group SGT, Endpoint Profile SGT, Endpoint Profile, VN, Time Range
Security Group to Host Group SGT, Host Group SGT, Host Group, VN, Time Range
#Long Term Reports
AP Performance Report Location Location, AP Name, Time Range
Long Term AP Detail Location Location, AP Name, Controller, Time Range
Long Term AP Radio Location Location, AP Name, Radio Band, Time Range
Long Term AP Usage and Client Breakdown Location, AP Name Location, AP Name, Time Range
Long Term Client Detail Location, Time Range Location, Client MAC, User Name, Time Range
Long Term Client Session Location, Time Range Location, Client MAC, Session ID, Time Range
Long Term Network Device Availability Location Location, Device Type, Time Range
Device Lifecycle Information Location Location, Device Type, Hardware Info
# Group Pair Communication Analytics Reports
Security Group to Security Groups SGT SGT, VN, Time Range
Security Group to ISE Endpoint Profile Groups SGT, Endpoint Profile SGT, Endpoint Profile, VN, Time Range
Security Group to Host Groups SGT, Host Group SGT, Host Group, VN, Time Range
ISE Endpoint Profile Group to Security Groups Endpoint Profile, SGT Endpoint Profile, SGT, VN, Time Range
ISE Endpoint Profile Group to
ISE Endpoint Profile Groups Endpoint Profile Endpoint Profile, VN, Time Range
ISE Endpoint Profile Group to Host Groups Endpoint Profile, Host Group Endpoint Profile, Host Group, VN, Time Range
Host Group to Security Groups Host Group, SGT Host Group, SGT, VN, Time Range
Host Group to ISE Endpoint Profile Group Host Group, Endpoint Profile Host Group, Endpoint Profile, VN, Time Range
Host Group to Host Group Host Group Host Group, VN, Time Range
Endpoint Profiling Location Location, Device Type, Profile Name, Time Range
"""
"""Filter types for each filter category in Cisco Catalyst Center Reports:
Filter Name: Location
Filter Type: MULTI_SELECT_TREE
Description: Hierarchical selection of network locations/sites
Filter Name: Device Type
Filter Type: MULTI_SELECT
Description: Selection of device categories (Switch, Router, AP, etc.)
Filter Name: Device Family
Filter Type: MULTI_SELECT
Description: Device family classification
Filter Name: Time Range
Filter Type: TIME_RANGE
Description: Date/time range specification for historical data
Filter Name: Collection Status
Filter Type: MULTI_SELECT
Description: Device collection status (Collected, Not Collected, etc.)
Filter Name: Software Version
Filter Type: MULTI_SELECT
Description: Device software/firmware versions
Filter Name: Interface Type
Filter Type: MULTI_SELECT
Description: Network interface categories (Ethernet, Wireless, etc.)
Filter Name: Image Name
Filter Type: MULTI_SELECT
Description: Software image names for SWIM reports
Filter Name: AP Name
Filter Type: MULTI_SELECT
Description: Access Point device names
Filter Name: Model
Filter Type: MULTI_SELECT
Description: Device hardware model numbers
Filter Name: Controller
Filter Type: MULTI_SELECT
Description: Wireless controller names
Filter Name: Band
Filter Type: MULTI_SELECT
Description: Wireless frequency bands (2.4GHz, 5GHz, 6GHz)
Filter Name: SSID
Filter Type: MULTI_SELECT
Description: Wireless network SSID names
Filter Name: SGT (Security Group Tag)
Filter Type: MULTI_SELECT
Description: Cisco TrustSec security group tags
Filter Name: Endpoint Profile
Filter Type: MULTI_SELECT
Description: ISE endpoint profile groups
Filter Name: Host Group
Filter Type: MULTI_SELECT
Description: Host group classifications
Filter Name: VN (Virtual Network)
Filter Type: MULTI_SELECT
Description: Virtual network identifiers
Filter Name: Hardware Info
Filter Type: MULTI_SELECT
Description: Device hardware information categories
Filter Name: EoX Type
Filter Type: MULTI_SELECT
Description: End of Life/Support announcement types
Filter Name: Bulletin ID
Filter Type: SINGLE_SELECT_ARRAY
Description: Security bulletin identifiers
Filter Name: Threat Type
Filter Type: MULTI_SELECT
Description: Security threat categories
Filter Name: Severity
Filter Type: MULTI_SELECT
Description: Threat/alert severity levels
Filter Name: MAC Address
Filter Type: MULTI_SELECT
Description: Device MAC addresses
Filter Name: License Type
Filter Type: MULTI_SELECT
Description: Software license categories
Filter Name: Compliance Status
Filter Type: MULTI_SELECT
Description: Compliance or license compliance states
Filter Name: Compliance Category
Filter Type: MULTI_SELECT
Description: Compliance category classification
Filter Name: Status
Filter Type: MULTI_SELECT
Description: General status indicators
Filter Name: Upload Date
Filter Type: TIME_RANGE
Description: File or image upload date ranges
Filter Name: Usage Type
Filter Type: MULTI_SELECT
Description: License usage categories
Filter Name: Profile Name
Filter Type: MULTI_SELECT
Description: AI Endpoint Analytics profile names
Filter Name: User Name
Filter Type: MULTI_SELECT
Description: User account names
Filter Name: Event Category
Filter Type: MULTI_SELECT
Description: Audit log event categories
Filter Name: Domain
Filter Type: MULTI_SELECT
Description: Audit log domain classification
Filter Name: Category
Filter Type: MULTI_SELECT
Description: Audit or configuration category
Filter Name: Object Type
Filter Type: MULTI_SELECT
Description: Audit log object types
Filter Name: Device Name
Filter Type: MULTI_SELECT
Description: Network device names
Filter Name: Archive Status
Filter Type: MULTI_SELECT
Description: Configuration archive status
Filter Name: Client MAC
Filter Type: MULTI_SELECT
Description: Client device MAC addresses
Filter Name: Connection Status
Filter Type: MULTI_SELECT
Description: Client connection states
Filter Name: Group By
Filter Type: SINGLE_SELECT_ARRAY
Description: Aggregation key for report results
Filter Name: Sort By
Filter Type: SINGLE_SELECT_ARRAY
Description: Field used to sort report output
Filter Name: Order By
Filter Type: SINGLE_SELECT_ARRAY
Description: Sorting order (Ascending / Descending)
Filter Name: Limit
Filter Type: REGULAR
Description: Maximum number of records to return
Filter Name: Session ID
Filter Type: MULTI_SELECT
Description: Client session identifiers
Filter Name: Traffic Type
Filter Type: MULTI_SELECT
Description: Network traffic categories
Filter Name: Client MAC
Filter Type: SINGLE_INPUT
Description: Comma-separated client MAC addresses (max 100)
Filter Name: MAC Address
Filter Type: SINGLE_INPUT
Description: Comma-separated device MAC addresses
Filter Name: IP Address
Filter Type: SINGLE_INPUT
Description: Device or client IP address input
Filter Name: Serial Number
Filter Type: SINGLE_INPUT
Description: Device serial number input
Filter Name: User Defined Tags
Filter Type: SINGLE_INPUT
Description: Free-text license or device tags
Filter Name: Reason
Filter Type: SINGLE_INPUT
Description: Reason or remarks field
Note:
- MULTI_SELECT: Allows selection of multiple discrete values
- MULTI_SELECT_TREE: Allows hierarchical multi-selection (like site locations)
- SINGLE_SELECT_ARRAY: Allows single value selection from an array
- REGULAR: Accepts scalar input values (e.g., limit)
- TIME_RANGE: Allows date/time range specification with start_date_time, end_date_time, and time_zone
- SINGLE_INPUT: Accepts comma-separated values in a single string input, which will be parsed into a list by the module
"""
REPORT_TYPES_AND_FORMATS = r'''
Report Types with View Names and Eligible Format Types:
COMPLIANCE REPORTS:
- View Name: "Network Device Compliance"
- View Group: "Compliance"
- Available Formats: CSV, PDF, JSON
EXECUTIVE SUMMARY REPORTS:
- View Name: "Executive Summary"
- View Group: "Executive Summary"
- Available Formats: PDF
INVENTORY REPORTS:
- View Name: "All Data"
- View Group: "Inventory"
- Available Formats: PDF, CSV, TDE
- View Name: "Port Reclaim View"
- View Group: "Inventory"
- Available Formats: CSV, JSON, TDE
- View Name: "All Data Version 2.0"
- View Group: "Inventory"
- Available Formats: CSV, PDF, TDE
SWIM REPORTS:
- View Name: "All Data"
- View Group: "SWIM"
- Available Formats: CSV, PDF, TDE
- View Name: "All Data Version 2.0"
- View Group: "SWIM"
- Available Formats: CSV, JSON, TDE
ACCESS POINT REPORTS:
- View Name: "AP"
- View Group: "Access Point"
- Available Formats: CSV, JSON, TDE
- View Name: "AP Radio"
- View Group: "Access Point"
- Available Formats: CSV, JSON, TDE
- View Name: "AP - Usage and Client Breakdown"
- View Group: "Access Point"
- Available Formats: CSV, PDF, JSON, TDE
- View Name: "Worst Interferers"
- View Group: "Access Point"
- Available Formats: CSV, JSON, TDE
- View Name: "AP RRM Events"
- View Group: "Access Point"
- Available Formats: CSV, JSON, TDE
NETWORK DEVICE REPORTS:
- View Name: "Network Device Availability"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "Channel Change Count"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "Transmit Power Change Count"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "VLAN"
- View Group: "Network Devices"
- Available Formats: CSV, TDE
- View Name: "Port Capacity"
- View Group: "Network Devices"
- Available Formats: CSV, TDE
- View Name: "Energy Management"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "PoE"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "Device CPU and Memory Utilization"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
- View Name: "Network Interface Utilization"
- View Group: "Network Devices"
- Available Formats: CSV, JSON, TDE
LONG TERM REPORTS:
- View Name: "AP Performance Report"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
- View Name: "Long Term AP Detail"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
- View Name: "Long Term AP Radio"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
- View Name: "Long Term AP Usage and Client Breakdown"
- View Group: "Long Term"
- Available Formats: CSV, PDF, JSON, TDE
- View Name: "Long Term Client Detail"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
- View Name: "Long Term Client Session"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
- View Name: "Long Term Network Device Availability"
- View Group: "Long Term"
- Available Formats: CSV, JSON, TDE
GROUP PAIR COMMUNICATION ANALYTICS REPORTS:
- View Name: "Security Group to Security Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "Security Group to ISE Endpoint Profile Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "Security Group to Host Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "ISE Endpoint Profile Group to Security Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "ISE Endpoint Profile Group to ISE Endpoint Profile Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "ISE Endpoint Profile Group to Host Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "Host Group to Security Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "Host Group to ISE Endpoint Profile Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
- View Name: "Host Group to Host Group"
- View Group: "Group Pair Communication Analytics"
- Available Formats: CSV
TELEMETRY REPORTS:
- View Name: "Device Lifecycle Information"
- View Group: "Telemetry"
- Available Formats: JSON
GROUP COMMUNICATION SUMMARY REPORTS:
- View Name: "Security Group to Security Groups"
- View Group: "Group Communication Summary"
- Available Formats: CSV