catocli 2.1.3__py3-none-any.whl → 2.1.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of catocli might be problematic. Click here for more details.

Files changed (98) hide show
  1. catocli/Utils/clidriver.py +16 -7
  2. catocli/Utils/cliutils.py +1 -14
  3. catocli/Utils/csv_formatter.py +652 -0
  4. catocli/__init__.py +1 -1
  5. catocli/parsers/custom/export_rules/__init__.py +0 -4
  6. catocli/parsers/custom/export_sites/__init__.py +4 -3
  7. catocli/parsers/custom/export_sites/export_sites.py +195 -52
  8. catocli/parsers/custom/import_sites_to_tf/import_sites_to_tf.py +473 -393
  9. catocli/parsers/customParserApiClient.py +444 -38
  10. catocli/parsers/custom_private/__init__.py +18 -0
  11. catocli/parsers/mutation_accountManagement/__init__.py +21 -0
  12. catocli/parsers/mutation_accountManagement_disableAccount/README.md +15 -0
  13. catocli/parsers/mutation_admin/__init__.py +12 -0
  14. catocli/parsers/mutation_container/__init__.py +18 -0
  15. catocli/parsers/mutation_enterpriseDirectory/__init__.py +8 -0
  16. catocli/parsers/mutation_groups/__init__.py +6 -0
  17. catocli/parsers/mutation_hardware/__init__.py +2 -0
  18. catocli/parsers/mutation_policy/__init__.py +378 -0
  19. catocli/parsers/mutation_policy_antiMalwareFileHash_addRule/README.md +20 -0
  20. catocli/parsers/mutation_policy_antiMalwareFileHash_addSection/README.md +20 -0
  21. catocli/parsers/mutation_policy_antiMalwareFileHash_createPolicyRevision/README.md +20 -0
  22. catocli/parsers/mutation_policy_antiMalwareFileHash_discardPolicyRevision/README.md +20 -0
  23. catocli/parsers/mutation_policy_antiMalwareFileHash_moveRule/README.md +20 -0
  24. catocli/parsers/mutation_policy_antiMalwareFileHash_moveSection/README.md +20 -0
  25. catocli/parsers/mutation_policy_antiMalwareFileHash_publishPolicyRevision/README.md +20 -0
  26. catocli/parsers/mutation_policy_antiMalwareFileHash_removeRule/README.md +20 -0
  27. catocli/parsers/mutation_policy_antiMalwareFileHash_removeSection/README.md +20 -0
  28. catocli/parsers/mutation_policy_antiMalwareFileHash_updatePolicy/README.md +20 -0
  29. catocli/parsers/mutation_policy_antiMalwareFileHash_updateRule/README.md +20 -0
  30. catocli/parsers/mutation_policy_antiMalwareFileHash_updateSection/README.md +20 -0
  31. catocli/parsers/mutation_sandbox/__init__.py +4 -0
  32. catocli/parsers/mutation_site/__init__.py +72 -0
  33. catocli/parsers/mutation_sites/__init__.py +72 -0
  34. catocli/parsers/mutation_xdr/__init__.py +6 -0
  35. catocli/parsers/query_accountBySubdomain/__init__.py +2 -0
  36. catocli/parsers/query_accountManagement/__init__.py +2 -0
  37. catocli/parsers/query_accountMetrics/__init__.py +6 -0
  38. catocli/parsers/query_accountRoles/__init__.py +2 -0
  39. catocli/parsers/query_accountSnapshot/__init__.py +2 -0
  40. catocli/parsers/query_admin/__init__.py +2 -0
  41. catocli/parsers/query_admins/__init__.py +2 -0
  42. catocli/parsers/query_appStats/__init__.py +6 -0
  43. catocli/parsers/query_appStatsTimeSeries/README.md +3 -0
  44. catocli/parsers/query_appStatsTimeSeries/__init__.py +6 -0
  45. catocli/parsers/query_auditFeed/__init__.py +2 -0
  46. catocli/parsers/query_catalogs/__init__.py +2 -0
  47. catocli/parsers/query_container/__init__.py +2 -0
  48. catocli/parsers/query_devices/README.md +1 -1
  49. catocli/parsers/query_devices/__init__.py +2 -0
  50. catocli/parsers/query_enterpriseDirectory/__init__.py +2 -0
  51. catocli/parsers/query_entityLookup/__init__.py +2 -0
  52. catocli/parsers/query_events/__init__.py +2 -0
  53. catocli/parsers/query_eventsFeed/__init__.py +2 -0
  54. catocli/parsers/query_eventsTimeSeries/__init__.py +2 -0
  55. catocli/parsers/query_groups/__init__.py +6 -0
  56. catocli/parsers/query_hardware/README.md +1 -1
  57. catocli/parsers/query_hardware/__init__.py +2 -0
  58. catocli/parsers/query_hardwareManagement/__init__.py +2 -0
  59. catocli/parsers/query_licensing/__init__.py +2 -0
  60. catocli/parsers/query_policy/__init__.py +37 -0
  61. catocli/parsers/query_policy_antiMalwareFileHash_policy/README.md +19 -0
  62. catocli/parsers/query_popLocations/__init__.py +2 -0
  63. catocli/parsers/query_sandbox/__init__.py +2 -0
  64. catocli/parsers/query_servicePrincipalAdmin/__init__.py +2 -0
  65. catocli/parsers/query_site/__init__.py +33 -0
  66. catocli/parsers/query_siteLocation/__init__.py +2 -0
  67. catocli/parsers/query_site_siteGeneralDetails/README.md +19 -0
  68. catocli/parsers/query_socketPortMetrics/__init__.py +2 -0
  69. catocli/parsers/query_socketPortMetricsTimeSeries/__init__.py +6 -0
  70. catocli/parsers/query_subDomains/__init__.py +2 -0
  71. catocli/parsers/query_xdr/__init__.py +4 -0
  72. catocli/parsers/raw/__init__.py +3 -1
  73. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/METADATA +1 -1
  74. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/RECORD +98 -67
  75. models/mutation.accountManagement.disableAccount.json +545 -0
  76. models/mutation.policy.antiMalwareFileHash.addRule.json +2068 -0
  77. models/mutation.policy.antiMalwareFileHash.addSection.json +1350 -0
  78. models/mutation.policy.antiMalwareFileHash.createPolicyRevision.json +1822 -0
  79. models/mutation.policy.antiMalwareFileHash.discardPolicyRevision.json +1758 -0
  80. models/mutation.policy.antiMalwareFileHash.moveRule.json +1552 -0
  81. models/mutation.policy.antiMalwareFileHash.moveSection.json +1251 -0
  82. models/mutation.policy.antiMalwareFileHash.publishPolicyRevision.json +1813 -0
  83. models/mutation.policy.antiMalwareFileHash.removeRule.json +1204 -0
  84. models/mutation.policy.antiMalwareFileHash.removeSection.json +954 -0
  85. models/mutation.policy.antiMalwareFileHash.updatePolicy.json +1834 -0
  86. models/mutation.policy.antiMalwareFileHash.updateRule.json +1757 -0
  87. models/mutation.policy.antiMalwareFileHash.updateSection.json +1105 -0
  88. models/mutation.site.updateSiteGeneralDetails.json +3 -3
  89. models/mutation.sites.updateSiteGeneralDetails.json +3 -3
  90. models/query.devices.json +249 -2
  91. models/query.hardware.json +224 -0
  92. models/query.policy.antiMalwareFileHash.policy.json +1583 -0
  93. models/query.site.siteGeneralDetails.json +899 -0
  94. schema/catolib.py +51 -4
  95. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/WHEEL +0 -0
  96. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/entry_points.txt +0 -0
  97. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/licenses/LICENSE +0 -0
  98. {catocli-2.1.3.dist-info → catocli-2.1.4.dist-info}/top_level.txt +0 -0
@@ -49,18 +49,18 @@ from ..parsers.query_devices import query_devices_parse
49
49
  from ..parsers.query_catalogs import query_catalogs_parse
50
50
  from ..parsers.query_site import query_site_parse
51
51
  from ..parsers.query_xdr import query_xdr_parse
52
- from ..parsers.query_policy import query_policy_parse
53
52
  from ..parsers.query_groups import query_groups_parse
53
+ from ..parsers.query_policy import query_policy_parse
54
54
  from ..parsers.mutation_xdr import mutation_xdr_parse
55
- from ..parsers.mutation_site import mutation_site_parse
56
55
  from ..parsers.mutation_sites import mutation_sites_parse
56
+ from ..parsers.mutation_site import mutation_site_parse
57
57
  from ..parsers.mutation_container import mutation_container_parse
58
58
  from ..parsers.mutation_admin import mutation_admin_parse
59
- from ..parsers.mutation_policy import mutation_policy_parse
60
59
  from ..parsers.mutation_accountManagement import mutation_accountManagement_parse
61
60
  from ..parsers.mutation_sandbox import mutation_sandbox_parse
62
61
  from ..parsers.mutation_hardware import mutation_hardware_parse
63
62
  from ..parsers.mutation_groups import mutation_groups_parse
63
+ from ..parsers.mutation_policy import mutation_policy_parse
64
64
  from ..parsers.mutation_enterpriseDirectory import mutation_enterpriseDirectory_parse
65
65
 
66
66
  def show_version_info(args, configuration=None):
@@ -134,6 +134,8 @@ parser = argparse.ArgumentParser(prog='catocli', usage='%(prog)s <operationType>
134
134
  parser.add_argument('--version', action='version', version=catocli.__version__)
135
135
  parser.add_argument('-H', '--header', action='append', dest='headers', help='Add custom headers in "Key: Value" format. Can be used multiple times.')
136
136
  parser.add_argument('--headers-file', dest='headers_file', help='Load headers from a file. Each line should contain a header in "Key: Value" format.')
137
+ parser.add_argument('-n', '--stream-events', dest='stream_events', help='Send events over network to host:port TCP')
138
+ parser.add_argument('-z', '--sentinel', dest='sentinel', help='Send events to Sentinel customerid:sharedkey')
137
139
  subparsers = parser.add_subparsers()
138
140
 
139
141
  # Version command - enhanced with update checking
@@ -181,18 +183,18 @@ query_devices_parser = query_devices_parse(query_subparsers)
181
183
  query_catalogs_parser = query_catalogs_parse(query_subparsers)
182
184
  query_site_parser = query_site_parse(query_subparsers)
183
185
  query_xdr_parser = query_xdr_parse(query_subparsers)
184
- query_policy_parser = query_policy_parse(query_subparsers)
185
186
  query_groups_parser = query_groups_parse(query_subparsers)
187
+ query_policy_parser = query_policy_parse(query_subparsers)
186
188
  mutation_xdr_parser = mutation_xdr_parse(mutation_subparsers)
187
- mutation_site_parser = mutation_site_parse(mutation_subparsers)
188
189
  mutation_sites_parser = mutation_sites_parse(mutation_subparsers)
190
+ mutation_site_parser = mutation_site_parse(mutation_subparsers)
189
191
  mutation_container_parser = mutation_container_parse(mutation_subparsers)
190
192
  mutation_admin_parser = mutation_admin_parse(mutation_subparsers)
191
- mutation_policy_parser = mutation_policy_parse(mutation_subparsers)
192
193
  mutation_accountManagement_parser = mutation_accountManagement_parse(mutation_subparsers)
193
194
  mutation_sandbox_parser = mutation_sandbox_parse(mutation_subparsers)
194
195
  mutation_hardware_parser = mutation_hardware_parse(mutation_subparsers)
195
196
  mutation_groups_parser = mutation_groups_parse(mutation_subparsers)
197
+ mutation_policy_parser = mutation_policy_parse(mutation_subparsers)
196
198
  mutation_enterpriseDirectory_parser = mutation_enterpriseDirectory_parse(mutation_subparsers)
197
199
 
198
200
 
@@ -276,7 +278,14 @@ def main(args=None):
276
278
  print(response)
277
279
  else:
278
280
  if response!=None:
279
- print(json.dumps(response[0], sort_keys=True, indent=4))
281
+ # Check if this is CSV output
282
+ if (isinstance(response, list) and len(response) > 0 and
283
+ isinstance(response[0], dict) and "__csv_output__" in response[0]):
284
+ # Print CSV output directly without JSON formatting
285
+ print(response[0]["__csv_output__"], end='')
286
+ else:
287
+ # Standard JSON output
288
+ print(json.dumps(response[0], sort_keys=True, indent=4))
280
289
  except KeyboardInterrupt:
281
290
  print('Operation cancelled by user (Ctrl+C).')
282
291
  exit(130) # Standard exit code for SIGINT
catocli/Utils/cliutils.py CHANGED
@@ -60,20 +60,7 @@ def load_cli_settings():
60
60
  continue
61
61
 
62
62
  # If all locations fail, return default settings for socket export
63
- return {
64
- "export_by_socket_type": {
65
- "SOCKET_X1500": True,
66
- "SOCKET_X1600": True,
67
- "SOCKET_X1600_LTE": True,
68
- "SOCKET_X1700": True
69
- },
70
- "default_socket_interface_map": {
71
- "SOCKET_X1500": "LAN1",
72
- "SOCKET_X1600": "INT_5",
73
- "SOCKET_X1600_LTE": "INT_5",
74
- "SOCKET_X1700": "INT_3"
75
- }
76
- }
63
+ return {}
77
64
 
78
65
 
79
66
  def get_cli_settings_path():