catocli 2.1.1__py3-none-any.whl → 2.1.3__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 (564) hide show
  1. catocli/Utils/clidriver.py +207 -211
  2. catocli/Utils/cliutils.py +178 -0
  3. catocli/__init__.py +1 -1
  4. catocli/parsers/custom/customLib.py +1 -1
  5. catocli/parsers/custom/export_sites/export_sites.py +121 -133
  6. catocli/parsers/customParserApiClient.py +1195 -0
  7. catocli/parsers/custom_private/__init__.py +2 -14
  8. catocli/parsers/mutation_accountManagement/__init__.py +45 -58
  9. catocli/parsers/mutation_accountManagement_addAccount/README.md +7 -5
  10. catocli/parsers/mutation_accountManagement_removeAccount/README.md +4 -5
  11. catocli/parsers/mutation_accountManagement_updateAccount/README.md +7 -5
  12. catocli/parsers/mutation_admin/__init__.py +84 -45
  13. catocli/parsers/mutation_admin_addAdmin/README.md +7 -5
  14. catocli/parsers/mutation_admin_addServicePrincipalAdmin/README.md +19 -0
  15. catocli/parsers/mutation_admin_removeAdmin/README.md +7 -5
  16. catocli/parsers/mutation_admin_removeServicePrincipalAdmin/README.md +19 -0
  17. catocli/parsers/mutation_admin_updateAdmin/README.md +8 -6
  18. catocli/parsers/mutation_admin_updateServicePrincipalAdmin/README.md +20 -0
  19. catocli/parsers/mutation_container/__init__.py +135 -135
  20. catocli/parsers/mutation_container_delete/README.md +7 -5
  21. catocli/parsers/mutation_container_fqdn_addValues/README.md +7 -5
  22. catocli/parsers/mutation_container_fqdn_createFromFile/README.md +7 -5
  23. catocli/parsers/mutation_container_fqdn_removeValues/README.md +7 -5
  24. catocli/parsers/mutation_container_fqdn_updateFromFile/README.md +7 -5
  25. catocli/parsers/mutation_container_ipAddressRange_addValues/README.md +7 -5
  26. catocli/parsers/mutation_container_ipAddressRange_createFromFile/README.md +7 -5
  27. catocli/parsers/mutation_container_ipAddressRange_removeValues/README.md +7 -5
  28. catocli/parsers/mutation_container_ipAddressRange_updateFromFile/README.md +7 -5
  29. catocli/parsers/mutation_enterpriseDirectory/README.md +7 -0
  30. catocli/parsers/mutation_enterpriseDirectory/__init__.py +61 -0
  31. catocli/parsers/mutation_enterpriseDirectory_archiveLocation/README.md +19 -0
  32. catocli/parsers/mutation_enterpriseDirectory_createLocation/README.md +19 -0
  33. catocli/parsers/mutation_enterpriseDirectory_restoreLocation/README.md +19 -0
  34. catocli/parsers/mutation_enterpriseDirectory_updateLocation/README.md +19 -0
  35. catocli/parsers/mutation_groups/__init__.py +45 -45
  36. catocli/parsers/mutation_groups_createGroup/README.md +8 -6
  37. catocli/parsers/mutation_groups_deleteGroup/README.md +8 -6
  38. catocli/parsers/mutation_groups_updateGroup/README.md +8 -6
  39. catocli/parsers/mutation_hardware/__init__.py +16 -16
  40. catocli/parsers/mutation_hardware_updateHardwareShipping/README.md +7 -5
  41. catocli/parsers/mutation_policy/__init__.py +1302 -1302
  42. catocli/parsers/mutation_policy_appTenantRestriction_addRule/README.md +8 -6
  43. catocli/parsers/mutation_policy_appTenantRestriction_addSection/README.md +8 -6
  44. catocli/parsers/mutation_policy_appTenantRestriction_createPolicyRevision/README.md +8 -6
  45. catocli/parsers/mutation_policy_appTenantRestriction_discardPolicyRevision/README.md +8 -6
  46. catocli/parsers/mutation_policy_appTenantRestriction_moveRule/README.md +8 -6
  47. catocli/parsers/mutation_policy_appTenantRestriction_moveSection/README.md +8 -6
  48. catocli/parsers/mutation_policy_appTenantRestriction_publishPolicyRevision/README.md +8 -6
  49. catocli/parsers/mutation_policy_appTenantRestriction_removeRule/README.md +8 -6
  50. catocli/parsers/mutation_policy_appTenantRestriction_removeSection/README.md +8 -6
  51. catocli/parsers/mutation_policy_appTenantRestriction_updatePolicy/README.md +8 -6
  52. catocli/parsers/mutation_policy_appTenantRestriction_updateRule/README.md +8 -6
  53. catocli/parsers/mutation_policy_appTenantRestriction_updateSection/README.md +8 -6
  54. catocli/parsers/mutation_policy_dynamicIpAllocation_addRule/README.md +8 -6
  55. catocli/parsers/mutation_policy_dynamicIpAllocation_addSection/README.md +8 -6
  56. catocli/parsers/mutation_policy_dynamicIpAllocation_createPolicyRevision/README.md +8 -6
  57. catocli/parsers/mutation_policy_dynamicIpAllocation_discardPolicyRevision/README.md +8 -6
  58. catocli/parsers/mutation_policy_dynamicIpAllocation_moveRule/README.md +8 -6
  59. catocli/parsers/mutation_policy_dynamicIpAllocation_moveSection/README.md +8 -6
  60. catocli/parsers/mutation_policy_dynamicIpAllocation_publishPolicyRevision/README.md +8 -6
  61. catocli/parsers/mutation_policy_dynamicIpAllocation_removeRule/README.md +8 -6
  62. catocli/parsers/mutation_policy_dynamicIpAllocation_removeSection/README.md +8 -6
  63. catocli/parsers/mutation_policy_dynamicIpAllocation_updatePolicy/README.md +8 -6
  64. catocli/parsers/mutation_policy_dynamicIpAllocation_updateRule/README.md +8 -6
  65. catocli/parsers/mutation_policy_dynamicIpAllocation_updateSection/README.md +8 -6
  66. catocli/parsers/mutation_policy_internetFirewall_addRule/README.md +8 -6
  67. catocli/parsers/mutation_policy_internetFirewall_addSection/README.md +8 -6
  68. catocli/parsers/mutation_policy_internetFirewall_createPolicyRevision/README.md +8 -6
  69. catocli/parsers/mutation_policy_internetFirewall_discardPolicyRevision/README.md +8 -6
  70. catocli/parsers/mutation_policy_internetFirewall_moveRule/README.md +8 -6
  71. catocli/parsers/mutation_policy_internetFirewall_moveSection/README.md +8 -6
  72. catocli/parsers/mutation_policy_internetFirewall_publishPolicyRevision/README.md +8 -6
  73. catocli/parsers/mutation_policy_internetFirewall_removeRule/README.md +8 -6
  74. catocli/parsers/mutation_policy_internetFirewall_removeSection/README.md +8 -6
  75. catocli/parsers/mutation_policy_internetFirewall_updatePolicy/README.md +8 -6
  76. catocli/parsers/mutation_policy_internetFirewall_updateRule/README.md +8 -6
  77. catocli/parsers/mutation_policy_internetFirewall_updateSection/README.md +8 -6
  78. catocli/parsers/mutation_policy_remotePortFwd_addRule/README.md +8 -6
  79. catocli/parsers/mutation_policy_remotePortFwd_addSection/README.md +8 -6
  80. catocli/parsers/mutation_policy_remotePortFwd_createPolicyRevision/README.md +8 -6
  81. catocli/parsers/mutation_policy_remotePortFwd_discardPolicyRevision/README.md +8 -6
  82. catocli/parsers/mutation_policy_remotePortFwd_moveRule/README.md +8 -6
  83. catocli/parsers/mutation_policy_remotePortFwd_moveSection/README.md +8 -6
  84. catocli/parsers/mutation_policy_remotePortFwd_publishPolicyRevision/README.md +8 -6
  85. catocli/parsers/mutation_policy_remotePortFwd_removeRule/README.md +8 -6
  86. catocli/parsers/mutation_policy_remotePortFwd_removeSection/README.md +8 -6
  87. catocli/parsers/mutation_policy_remotePortFwd_updatePolicy/README.md +8 -6
  88. catocli/parsers/mutation_policy_remotePortFwd_updateRule/README.md +8 -6
  89. catocli/parsers/mutation_policy_remotePortFwd_updateSection/README.md +8 -6
  90. catocli/parsers/mutation_policy_socketLan_addRule/README.md +8 -6
  91. catocli/parsers/mutation_policy_socketLan_addSection/README.md +8 -6
  92. catocli/parsers/mutation_policy_socketLan_createPolicyRevision/README.md +8 -6
  93. catocli/parsers/mutation_policy_socketLan_discardPolicyRevision/README.md +8 -6
  94. catocli/parsers/mutation_policy_socketLan_moveRule/README.md +8 -6
  95. catocli/parsers/mutation_policy_socketLan_moveSection/README.md +8 -6
  96. catocli/parsers/mutation_policy_socketLan_publishPolicyRevision/README.md +8 -6
  97. catocli/parsers/mutation_policy_socketLan_removeRule/README.md +8 -6
  98. catocli/parsers/mutation_policy_socketLan_removeSection/README.md +8 -6
  99. catocli/parsers/mutation_policy_socketLan_updatePolicy/README.md +8 -6
  100. catocli/parsers/mutation_policy_socketLan_updateRule/README.md +8 -6
  101. catocli/parsers/mutation_policy_socketLan_updateSection/README.md +8 -6
  102. catocli/parsers/mutation_policy_terminalServer_addRule/README.md +8 -6
  103. catocli/parsers/mutation_policy_terminalServer_addSection/README.md +8 -6
  104. catocli/parsers/mutation_policy_terminalServer_createPolicyRevision/README.md +8 -6
  105. catocli/parsers/mutation_policy_terminalServer_discardPolicyRevision/README.md +8 -6
  106. catocli/parsers/mutation_policy_terminalServer_moveRule/README.md +8 -6
  107. catocli/parsers/mutation_policy_terminalServer_moveSection/README.md +8 -6
  108. catocli/parsers/mutation_policy_terminalServer_publishPolicyRevision/README.md +8 -6
  109. catocli/parsers/mutation_policy_terminalServer_removeRule/README.md +8 -6
  110. catocli/parsers/mutation_policy_terminalServer_removeSection/README.md +8 -6
  111. catocli/parsers/mutation_policy_terminalServer_updatePolicy/README.md +8 -6
  112. catocli/parsers/mutation_policy_terminalServer_updateRule/README.md +8 -6
  113. catocli/parsers/mutation_policy_terminalServer_updateSection/README.md +8 -6
  114. catocli/parsers/mutation_policy_wanFirewall_addRule/README.md +8 -6
  115. catocli/parsers/mutation_policy_wanFirewall_addSection/README.md +8 -6
  116. catocli/parsers/mutation_policy_wanFirewall_createPolicyRevision/README.md +8 -6
  117. catocli/parsers/mutation_policy_wanFirewall_discardPolicyRevision/README.md +8 -6
  118. catocli/parsers/mutation_policy_wanFirewall_moveRule/README.md +8 -6
  119. catocli/parsers/mutation_policy_wanFirewall_moveSection/README.md +8 -6
  120. catocli/parsers/mutation_policy_wanFirewall_publishPolicyRevision/README.md +8 -6
  121. catocli/parsers/mutation_policy_wanFirewall_removeRule/README.md +8 -6
  122. catocli/parsers/mutation_policy_wanFirewall_removeSection/README.md +8 -6
  123. catocli/parsers/mutation_policy_wanFirewall_updatePolicy/README.md +8 -6
  124. catocli/parsers/mutation_policy_wanFirewall_updateRule/README.md +8 -6
  125. catocli/parsers/mutation_policy_wanFirewall_updateSection/README.md +8 -6
  126. catocli/parsers/mutation_policy_wanNetwork_addRule/README.md +8 -6
  127. catocli/parsers/mutation_policy_wanNetwork_addSection/README.md +8 -6
  128. catocli/parsers/mutation_policy_wanNetwork_createPolicyRevision/README.md +8 -6
  129. catocli/parsers/mutation_policy_wanNetwork_discardPolicyRevision/README.md +8 -6
  130. catocli/parsers/mutation_policy_wanNetwork_moveRule/README.md +8 -6
  131. catocli/parsers/mutation_policy_wanNetwork_moveSection/README.md +8 -6
  132. catocli/parsers/mutation_policy_wanNetwork_publishPolicyRevision/README.md +8 -6
  133. catocli/parsers/mutation_policy_wanNetwork_removeRule/README.md +8 -6
  134. catocli/parsers/mutation_policy_wanNetwork_removeSection/README.md +8 -6
  135. catocli/parsers/mutation_policy_wanNetwork_updatePolicy/README.md +8 -6
  136. catocli/parsers/mutation_policy_wanNetwork_updateRule/README.md +8 -6
  137. catocli/parsers/mutation_policy_wanNetwork_updateSection/README.md +8 -6
  138. catocli/parsers/mutation_sandbox/__init__.py +27 -27
  139. catocli/parsers/mutation_sandbox_deleteReport/README.md +7 -5
  140. catocli/parsers/mutation_sandbox_uploadFile/README.md +7 -5
  141. catocli/parsers/mutation_site/__init__.py +474 -474
  142. catocli/parsers/mutation_site_addBgpPeer/README.md +7 -5
  143. catocli/parsers/mutation_site_addCloudInterconnectPhysicalConnection/README.md +7 -5
  144. catocli/parsers/mutation_site_addCloudInterconnectSite/README.md +7 -5
  145. catocli/parsers/mutation_site_addIpsecIkeV2Site/README.md +7 -5
  146. catocli/parsers/mutation_site_addIpsecIkeV2SiteTunnels/README.md +8 -6
  147. catocli/parsers/mutation_site_addNetworkRange/README.md +8 -6
  148. catocli/parsers/mutation_site_addSecondaryAwsVSocket/README.md +7 -5
  149. catocli/parsers/mutation_site_addSecondaryAzureVSocket/README.md +7 -5
  150. catocli/parsers/mutation_site_addSocketAddOnCard/README.md +7 -5
  151. catocli/parsers/mutation_site_addSocketSite/README.md +7 -5
  152. catocli/parsers/mutation_site_addStaticHost/README.md +8 -6
  153. catocli/parsers/mutation_site_assignSiteBwLicense/README.md +7 -5
  154. catocli/parsers/mutation_site_removeBgpPeer/README.md +7 -5
  155. catocli/parsers/mutation_site_removeCloudInterconnectPhysicalConnection/README.md +7 -5
  156. catocli/parsers/mutation_site_removeIpsecIkeV2SiteTunnels/README.md +8 -6
  157. catocli/parsers/mutation_site_removeNetworkRange/README.md +7 -5
  158. catocli/parsers/mutation_site_removeSecondaryAwsVSocket/README.md +7 -5
  159. catocli/parsers/mutation_site_removeSecondaryAzureVSocket/README.md +7 -5
  160. catocli/parsers/mutation_site_removeSite/README.md +7 -5
  161. catocli/parsers/mutation_site_removeSiteBwLicense/README.md +7 -5
  162. catocli/parsers/mutation_site_removeSocketAddOnCard/README.md +7 -5
  163. catocli/parsers/mutation_site_removeStaticHost/README.md +7 -5
  164. catocli/parsers/mutation_site_replaceSiteBwLicense/README.md +7 -5
  165. catocli/parsers/mutation_site_startSiteUpgrade/README.md +7 -5
  166. catocli/parsers/mutation_site_updateBgpPeer/README.md +7 -5
  167. catocli/parsers/mutation_site_updateCloudInterconnectPhysicalConnection/README.md +7 -5
  168. catocli/parsers/mutation_site_updateHa/README.md +8 -6
  169. catocli/parsers/mutation_site_updateIpsecIkeV2SiteGeneralDetails/README.md +8 -6
  170. catocli/parsers/mutation_site_updateIpsecIkeV2SiteTunnels/README.md +8 -6
  171. catocli/parsers/mutation_site_updateNetworkRange/README.md +8 -6
  172. catocli/parsers/mutation_site_updateSecondaryAwsVSocket/README.md +7 -5
  173. catocli/parsers/mutation_site_updateSecondaryAzureVSocket/README.md +7 -5
  174. catocli/parsers/mutation_site_updateSiteBwLicense/README.md +7 -5
  175. catocli/parsers/mutation_site_updateSiteGeneralDetails/README.md +8 -6
  176. catocli/parsers/mutation_site_updateSocketInterface/README.md +9 -7
  177. catocli/parsers/mutation_site_updateStaticHost/README.md +8 -6
  178. catocli/parsers/mutation_sites/__init__.py +474 -474
  179. catocli/parsers/mutation_sites_addBgpPeer/README.md +7 -5
  180. catocli/parsers/mutation_sites_addCloudInterconnectPhysicalConnection/README.md +7 -5
  181. catocli/parsers/mutation_sites_addCloudInterconnectSite/README.md +7 -5
  182. catocli/parsers/mutation_sites_addIpsecIkeV2Site/README.md +7 -5
  183. catocli/parsers/mutation_sites_addIpsecIkeV2SiteTunnels/README.md +8 -6
  184. catocli/parsers/mutation_sites_addNetworkRange/README.md +8 -6
  185. catocli/parsers/mutation_sites_addSecondaryAwsVSocket/README.md +7 -5
  186. catocli/parsers/mutation_sites_addSecondaryAzureVSocket/README.md +7 -5
  187. catocli/parsers/mutation_sites_addSocketAddOnCard/README.md +7 -5
  188. catocli/parsers/mutation_sites_addSocketSite/README.md +7 -5
  189. catocli/parsers/mutation_sites_addStaticHost/README.md +8 -6
  190. catocli/parsers/mutation_sites_assignSiteBwLicense/README.md +7 -5
  191. catocli/parsers/mutation_sites_removeBgpPeer/README.md +7 -5
  192. catocli/parsers/mutation_sites_removeCloudInterconnectPhysicalConnection/README.md +7 -5
  193. catocli/parsers/mutation_sites_removeIpsecIkeV2SiteTunnels/README.md +8 -6
  194. catocli/parsers/mutation_sites_removeNetworkRange/README.md +7 -5
  195. catocli/parsers/mutation_sites_removeSecondaryAwsVSocket/README.md +7 -5
  196. catocli/parsers/mutation_sites_removeSecondaryAzureVSocket/README.md +7 -5
  197. catocli/parsers/mutation_sites_removeSite/README.md +7 -5
  198. catocli/parsers/mutation_sites_removeSiteBwLicense/README.md +7 -5
  199. catocli/parsers/mutation_sites_removeSocketAddOnCard/README.md +7 -5
  200. catocli/parsers/mutation_sites_removeStaticHost/README.md +7 -5
  201. catocli/parsers/mutation_sites_replaceSiteBwLicense/README.md +7 -5
  202. catocli/parsers/mutation_sites_startSiteUpgrade/README.md +7 -5
  203. catocli/parsers/mutation_sites_updateBgpPeer/README.md +7 -5
  204. catocli/parsers/mutation_sites_updateCloudInterconnectPhysicalConnection/README.md +7 -5
  205. catocli/parsers/mutation_sites_updateHa/README.md +8 -6
  206. catocli/parsers/mutation_sites_updateIpsecIkeV2SiteGeneralDetails/README.md +8 -6
  207. catocli/parsers/mutation_sites_updateIpsecIkeV2SiteTunnels/README.md +8 -6
  208. catocli/parsers/mutation_sites_updateNetworkRange/README.md +8 -6
  209. catocli/parsers/mutation_sites_updateSecondaryAwsVSocket/README.md +7 -5
  210. catocli/parsers/mutation_sites_updateSecondaryAzureVSocket/README.md +7 -5
  211. catocli/parsers/mutation_sites_updateSiteBwLicense/README.md +7 -5
  212. catocli/parsers/mutation_sites_updateSiteGeneralDetails/README.md +8 -6
  213. catocli/parsers/mutation_sites_updateSocketInterface/README.md +9 -7
  214. catocli/parsers/mutation_sites_updateStaticHost/README.md +8 -6
  215. catocli/parsers/mutation_xdr/__init__.py +45 -45
  216. catocli/parsers/mutation_xdr_addStoryComment/README.md +7 -5
  217. catocli/parsers/mutation_xdr_analystFeedback/README.md +7 -6
  218. catocli/parsers/mutation_xdr_deleteStoryComment/README.md +7 -5
  219. catocli/parsers/query_accountBySubdomain/README.md +7 -5
  220. catocli/parsers/query_accountBySubdomain/__init__.py +12 -12
  221. catocli/parsers/query_accountManagement/README.md +4 -5
  222. catocli/parsers/query_accountManagement/__init__.py +12 -12
  223. catocli/parsers/query_accountMetrics/README.md +20 -18
  224. catocli/parsers/query_accountMetrics/__init__.py +12 -12
  225. catocli/parsers/query_accountRoles/README.md +7 -5
  226. catocli/parsers/query_accountRoles/__init__.py +12 -12
  227. catocli/parsers/query_accountSnapshot/README.md +8 -6
  228. catocli/parsers/query_accountSnapshot/__init__.py +12 -12
  229. catocli/parsers/query_admin/README.md +7 -5
  230. catocli/parsers/query_admin/__init__.py +12 -12
  231. catocli/parsers/query_admins/README.md +11 -9
  232. catocli/parsers/query_admins/__init__.py +12 -12
  233. catocli/parsers/query_appStats/README.md +20 -11
  234. catocli/parsers/query_appStats/__init__.py +12 -12
  235. catocli/parsers/query_appStatsTimeSeries/README.md +21 -12
  236. catocli/parsers/query_appStatsTimeSeries/__init__.py +12 -12
  237. catocli/parsers/query_auditFeed/README.md +10 -8
  238. catocli/parsers/query_auditFeed/__init__.py +12 -12
  239. catocli/parsers/query_catalogs/README.md +9 -7
  240. catocli/parsers/query_catalogs/__init__.py +12 -12
  241. catocli/parsers/query_container/README.md +13 -11
  242. catocli/parsers/query_container/__init__.py +12 -12
  243. catocli/parsers/query_devices/README.md +10 -8
  244. catocli/parsers/query_devices/__init__.py +12 -12
  245. catocli/parsers/query_enterpriseDirectory/README.md +19 -0
  246. catocli/parsers/query_enterpriseDirectory/__init__.py +16 -0
  247. catocli/parsers/query_entityLookup/README.md +19 -17
  248. catocli/parsers/query_entityLookup/__init__.py +12 -12
  249. catocli/parsers/query_events/README.md +13 -11
  250. catocli/parsers/query_events/__init__.py +12 -12
  251. catocli/parsers/query_eventsFeed/README.md +9 -7
  252. catocli/parsers/query_eventsFeed/__init__.py +12 -12
  253. catocli/parsers/query_eventsTimeSeries/README.md +14 -12
  254. catocli/parsers/query_eventsTimeSeries/__init__.py +12 -12
  255. catocli/parsers/query_groups/__init__.py +51 -51
  256. catocli/parsers/query_groups_groupList/README.md +8 -6
  257. catocli/parsers/query_groups_group_members/README.md +8 -6
  258. catocli/parsers/query_groups_whereUsed/README.md +7 -5
  259. catocli/parsers/query_hardware/README.md +7 -5
  260. catocli/parsers/query_hardware/__init__.py +12 -12
  261. catocli/parsers/query_hardwareManagement/README.md +7 -5
  262. catocli/parsers/query_hardwareManagement/__init__.py +12 -12
  263. catocli/parsers/query_licensing/README.md +4 -5
  264. catocli/parsers/query_licensing/__init__.py +12 -12
  265. catocli/parsers/query_policy/__init__.py +158 -158
  266. catocli/parsers/query_policy_appTenantRestriction_policy/README.md +7 -5
  267. catocli/parsers/query_policy_dynamicIpAllocation_policy/README.md +7 -5
  268. catocli/parsers/query_policy_internetFirewall_policy/README.md +7 -5
  269. catocli/parsers/query_policy_remotePortFwd_policy/README.md +7 -5
  270. catocli/parsers/query_policy_socketLan_policy/README.md +7 -5
  271. catocli/parsers/query_policy_terminalServer_policy/README.md +7 -5
  272. catocli/parsers/query_policy_wanFirewall_policy/README.md +7 -5
  273. catocli/parsers/query_policy_wanNetwork_policy/README.md +7 -5
  274. catocli/parsers/query_popLocations/README.md +7 -5
  275. catocli/parsers/query_popLocations/__init__.py +12 -12
  276. catocli/parsers/query_sandbox/README.md +7 -5
  277. catocli/parsers/query_sandbox/__init__.py +12 -12
  278. catocli/parsers/query_servicePrincipalAdmin/README.md +19 -0
  279. catocli/parsers/query_servicePrincipalAdmin/__init__.py +16 -0
  280. catocli/parsers/query_site/__init__.py +123 -123
  281. catocli/parsers/query_siteLocation/__init__.py +10 -10
  282. catocli/parsers/query_site_availableVersionList/README.md +7 -5
  283. catocli/parsers/query_site_bgpPeer/README.md +7 -5
  284. catocli/parsers/query_site_bgpPeerList/README.md +7 -5
  285. catocli/parsers/query_site_cloudInterconnectConnectionConnectivity/README.md +7 -5
  286. catocli/parsers/query_site_cloudInterconnectPhysicalConnection/README.md +7 -5
  287. catocli/parsers/query_site_cloudInterconnectPhysicalConnectionId/README.md +7 -5
  288. catocli/parsers/query_site_secondaryAwsVSocket/README.md +7 -5
  289. catocli/parsers/query_site_secondaryAzureVSocket/README.md +7 -5
  290. catocli/parsers/query_site_siteBgpStatus/README.md +7 -5
  291. catocli/parsers/query_socketPortMetrics/README.md +13 -11
  292. catocli/parsers/query_socketPortMetrics/__init__.py +12 -12
  293. catocli/parsers/query_socketPortMetricsTimeSeries/README.md +14 -12
  294. catocli/parsers/query_socketPortMetricsTimeSeries/__init__.py +12 -12
  295. catocli/parsers/query_subDomains/README.md +7 -5
  296. catocli/parsers/query_subDomains/__init__.py +12 -12
  297. catocli/parsers/query_xdr/__init__.py +27 -27
  298. catocli/parsers/query_xdr_stories/README.md +7 -6
  299. catocli/parsers/query_xdr_story/README.md +9 -8
  300. catocli/parsers/raw/__init__.py +9 -9
  301. {catocli-2.1.1.dist-info → catocli-2.1.3.dist-info}/METADATA +1 -1
  302. catocli-2.1.3.dist-info/RECORD +660 -0
  303. models/mutation.accountManagement.addAccount.json +5 -15
  304. models/mutation.accountManagement.updateAccount.json +1 -3
  305. models/mutation.admin.addAdmin.json +14 -35
  306. models/mutation.admin.addServicePrincipalAdmin.json +2554 -0
  307. models/mutation.admin.removeAdmin.json +1 -1
  308. models/mutation.admin.removeServicePrincipalAdmin.json +201 -0
  309. models/mutation.admin.updateAdmin.json +13 -30
  310. models/mutation.admin.updateServicePrincipalAdmin.json +2554 -0
  311. models/mutation.container.delete.json +9 -435
  312. models/mutation.container.fqdn.addValues.json +6 -11
  313. models/mutation.container.fqdn.createFromFile.json +4 -12
  314. models/mutation.container.fqdn.removeValues.json +6 -11
  315. models/mutation.container.fqdn.updateFromFile.json +5 -15
  316. models/mutation.container.ipAddressRange.addValues.json +4 -12
  317. models/mutation.container.ipAddressRange.createFromFile.json +4 -12
  318. models/mutation.container.ipAddressRange.removeValues.json +4 -12
  319. models/mutation.container.ipAddressRange.updateFromFile.json +5 -15
  320. models/mutation.enterpriseDirectory.archiveLocation.json +1046 -0
  321. models/mutation.enterpriseDirectory.createLocation.json +2521 -0
  322. models/mutation.enterpriseDirectory.restoreLocation.json +1046 -0
  323. models/mutation.enterpriseDirectory.updateLocation.json +2567 -0
  324. models/mutation.groups.createGroup.json +39 -171
  325. models/mutation.groups.deleteGroup.json +36 -162
  326. models/mutation.groups.updateGroup.json +41 -177
  327. models/mutation.hardware.updateHardwareShipping.json +18 -47
  328. models/mutation.policy.appTenantRestriction.addRule.json +50 -136
  329. models/mutation.policy.appTenantRestriction.addSection.json +4 -12
  330. models/mutation.policy.appTenantRestriction.createPolicyRevision.json +3 -9
  331. models/mutation.policy.appTenantRestriction.discardPolicyRevision.json +2 -6
  332. models/mutation.policy.appTenantRestriction.moveRule.json +4 -12
  333. models/mutation.policy.appTenantRestriction.moveSection.json +4 -12
  334. models/mutation.policy.appTenantRestriction.publishPolicyRevision.json +3 -9
  335. models/mutation.policy.appTenantRestriction.removeRule.json +2 -6
  336. models/mutation.policy.appTenantRestriction.removeSection.json +2 -6
  337. models/mutation.policy.appTenantRestriction.updatePolicy.json +2 -6
  338. models/mutation.policy.appTenantRestriction.updateRule.json +49 -133
  339. models/mutation.policy.appTenantRestriction.updateSection.json +3 -9
  340. models/mutation.policy.dynamicIpAllocation.addRule.json +15 -45
  341. models/mutation.policy.dynamicIpAllocation.addSection.json +4 -12
  342. models/mutation.policy.dynamicIpAllocation.createPolicyRevision.json +3 -9
  343. models/mutation.policy.dynamicIpAllocation.discardPolicyRevision.json +2 -6
  344. models/mutation.policy.dynamicIpAllocation.moveRule.json +4 -12
  345. models/mutation.policy.dynamicIpAllocation.moveSection.json +4 -12
  346. models/mutation.policy.dynamicIpAllocation.publishPolicyRevision.json +3 -9
  347. models/mutation.policy.dynamicIpAllocation.removeRule.json +2 -6
  348. models/mutation.policy.dynamicIpAllocation.removeSection.json +2 -6
  349. models/mutation.policy.dynamicIpAllocation.updatePolicy.json +2 -6
  350. models/mutation.policy.dynamicIpAllocation.updateRule.json +14 -42
  351. models/mutation.policy.dynamicIpAllocation.updateSection.json +3 -9
  352. models/mutation.policy.internetFirewall.addRule.json +248 -542
  353. models/mutation.policy.internetFirewall.addSection.json +4 -12
  354. models/mutation.policy.internetFirewall.createPolicyRevision.json +3 -9
  355. models/mutation.policy.internetFirewall.discardPolicyRevision.json +2 -6
  356. models/mutation.policy.internetFirewall.moveRule.json +4 -12
  357. models/mutation.policy.internetFirewall.moveSection.json +4 -12
  358. models/mutation.policy.internetFirewall.publishPolicyRevision.json +3 -9
  359. models/mutation.policy.internetFirewall.removeRule.json +2 -6
  360. models/mutation.policy.internetFirewall.removeSection.json +2 -6
  361. models/mutation.policy.internetFirewall.updatePolicy.json +2 -6
  362. models/mutation.policy.internetFirewall.updateRule.json +247 -539
  363. models/mutation.policy.internetFirewall.updateSection.json +3 -9
  364. models/mutation.policy.remotePortFwd.addRule.json +35 -91
  365. models/mutation.policy.remotePortFwd.addSection.json +4 -12
  366. models/mutation.policy.remotePortFwd.createPolicyRevision.json +3 -9
  367. models/mutation.policy.remotePortFwd.discardPolicyRevision.json +2 -6
  368. models/mutation.policy.remotePortFwd.moveRule.json +4 -12
  369. models/mutation.policy.remotePortFwd.moveSection.json +4 -12
  370. models/mutation.policy.remotePortFwd.publishPolicyRevision.json +3 -9
  371. models/mutation.policy.remotePortFwd.removeRule.json +2 -6
  372. models/mutation.policy.remotePortFwd.removeSection.json +2 -6
  373. models/mutation.policy.remotePortFwd.updatePolicy.json +2 -6
  374. models/mutation.policy.remotePortFwd.updateRule.json +34 -88
  375. models/mutation.policy.remotePortFwd.updateSection.json +3 -9
  376. models/mutation.policy.socketLan.addRule.json +78 -185
  377. models/mutation.policy.socketLan.addSection.json +4 -12
  378. models/mutation.policy.socketLan.createPolicyRevision.json +3 -9
  379. models/mutation.policy.socketLan.discardPolicyRevision.json +2 -6
  380. models/mutation.policy.socketLan.moveRule.json +4 -12
  381. models/mutation.policy.socketLan.moveSection.json +4 -12
  382. models/mutation.policy.socketLan.publishPolicyRevision.json +3 -9
  383. models/mutation.policy.socketLan.removeRule.json +2 -6
  384. models/mutation.policy.socketLan.removeSection.json +2 -6
  385. models/mutation.policy.socketLan.updatePolicy.json +2 -6
  386. models/mutation.policy.socketLan.updateRule.json +77 -182
  387. models/mutation.policy.socketLan.updateSection.json +3 -9
  388. models/mutation.policy.terminalServer.addRule.json +10 -30
  389. models/mutation.policy.terminalServer.addSection.json +4 -12
  390. models/mutation.policy.terminalServer.createPolicyRevision.json +3 -9
  391. models/mutation.policy.terminalServer.discardPolicyRevision.json +2 -6
  392. models/mutation.policy.terminalServer.moveRule.json +4 -12
  393. models/mutation.policy.terminalServer.moveSection.json +4 -12
  394. models/mutation.policy.terminalServer.publishPolicyRevision.json +3 -9
  395. models/mutation.policy.terminalServer.removeRule.json +2 -6
  396. models/mutation.policy.terminalServer.removeSection.json +2 -6
  397. models/mutation.policy.terminalServer.updatePolicy.json +2 -6
  398. models/mutation.policy.terminalServer.updateRule.json +9 -27
  399. models/mutation.policy.terminalServer.updateSection.json +3 -9
  400. models/mutation.policy.wanFirewall.addRule.json +290 -654
  401. models/mutation.policy.wanFirewall.addSection.json +4 -12
  402. models/mutation.policy.wanFirewall.createPolicyRevision.json +3 -9
  403. models/mutation.policy.wanFirewall.discardPolicyRevision.json +2 -6
  404. models/mutation.policy.wanFirewall.moveRule.json +4 -12
  405. models/mutation.policy.wanFirewall.moveSection.json +4 -12
  406. models/mutation.policy.wanFirewall.publishPolicyRevision.json +3 -9
  407. models/mutation.policy.wanFirewall.removeRule.json +2 -6
  408. models/mutation.policy.wanFirewall.removeSection.json +2 -6
  409. models/mutation.policy.wanFirewall.updatePolicy.json +2 -6
  410. models/mutation.policy.wanFirewall.updateRule.json +289 -651
  411. models/mutation.policy.wanFirewall.updateSection.json +3 -9
  412. models/mutation.policy.wanNetwork.addRule.json +204 -514
  413. models/mutation.policy.wanNetwork.addSection.json +4 -12
  414. models/mutation.policy.wanNetwork.createPolicyRevision.json +3 -9
  415. models/mutation.policy.wanNetwork.discardPolicyRevision.json +2 -6
  416. models/mutation.policy.wanNetwork.moveRule.json +4 -12
  417. models/mutation.policy.wanNetwork.moveSection.json +4 -12
  418. models/mutation.policy.wanNetwork.publishPolicyRevision.json +3 -9
  419. models/mutation.policy.wanNetwork.removeRule.json +2 -6
  420. models/mutation.policy.wanNetwork.removeSection.json +2 -6
  421. models/mutation.policy.wanNetwork.updatePolicy.json +2 -6
  422. models/mutation.policy.wanNetwork.updateRule.json +203 -511
  423. models/mutation.policy.wanNetwork.updateSection.json +3 -9
  424. models/mutation.sandbox.deleteReport.json +1 -3
  425. models/mutation.sandbox.uploadFile.json +1 -3
  426. models/mutation.site.addBgpPeer.json +48 -123
  427. models/mutation.site.addCloudInterconnectPhysicalConnection.json +12 -36
  428. models/mutation.site.addCloudInterconnectSite.json +8 -24
  429. models/mutation.site.addIpsecIkeV2Site.json +10 -30
  430. models/mutation.site.addIpsecIkeV2SiteTunnels.json +14 -40
  431. models/mutation.site.addNetworkRange.json +15 -43
  432. models/mutation.site.addSecondaryAwsVSocket.json +5 -15
  433. models/mutation.site.addSecondaryAzureVSocket.json +4 -12
  434. models/mutation.site.addSocketAddOnCard.json +4 -12
  435. models/mutation.site.addSocketSite.json +12 -36
  436. models/mutation.site.addStaticHost.json +4 -10
  437. models/mutation.site.assignSiteBwLicense.json +120 -11782
  438. models/mutation.site.removeBgpPeer.json +1 -3
  439. models/mutation.site.removeCloudInterconnectPhysicalConnection.json +1 -3
  440. models/mutation.site.removeIpsecIkeV2SiteTunnels.json +2 -4
  441. models/mutation.site.removeNetworkRange.json +1 -1
  442. models/mutation.site.removeSecondaryAwsVSocket.json +1 -1
  443. models/mutation.site.removeSecondaryAzureVSocket.json +1 -1
  444. models/mutation.site.removeSite.json +1 -1
  445. models/mutation.site.removeSiteBwLicense.json +119 -11779
  446. models/mutation.site.removeSocketAddOnCard.json +3 -9
  447. models/mutation.site.removeStaticHost.json +1 -1
  448. models/mutation.site.replaceSiteBwLicense.json +121 -11785
  449. models/mutation.site.startSiteUpgrade.json +3 -9
  450. models/mutation.site.updateBgpPeer.json +47 -120
  451. models/mutation.site.updateCloudInterconnectPhysicalConnection.json +10 -30
  452. models/mutation.site.updateHa.json +4 -10
  453. models/mutation.site.updateIpsecIkeV2SiteGeneralDetails.json +11 -24
  454. models/mutation.site.updateIpsecIkeV2SiteTunnels.json +15 -43
  455. models/mutation.site.updateNetworkRange.json +15 -43
  456. models/mutation.site.updateSecondaryAwsVSocket.json +4 -12
  457. models/mutation.site.updateSecondaryAzureVSocket.json +3 -9
  458. models/mutation.site.updateSiteBwLicense.json +120 -11782
  459. models/mutation.site.updateSiteGeneralDetails.json +14 -40
  460. models/mutation.site.updateSocketInterface.json +26 -74
  461. models/mutation.site.updateStaticHost.json +4 -10
  462. models/mutation.sites.addBgpPeer.json +48 -123
  463. models/mutation.sites.addCloudInterconnectPhysicalConnection.json +12 -36
  464. models/mutation.sites.addCloudInterconnectSite.json +8 -24
  465. models/mutation.sites.addIpsecIkeV2Site.json +10 -30
  466. models/mutation.sites.addIpsecIkeV2SiteTunnels.json +14 -40
  467. models/mutation.sites.addNetworkRange.json +15 -43
  468. models/mutation.sites.addSecondaryAwsVSocket.json +5 -15
  469. models/mutation.sites.addSecondaryAzureVSocket.json +4 -12
  470. models/mutation.sites.addSocketAddOnCard.json +4 -12
  471. models/mutation.sites.addSocketSite.json +12 -36
  472. models/mutation.sites.addStaticHost.json +4 -10
  473. models/mutation.sites.assignSiteBwLicense.json +120 -11782
  474. models/mutation.sites.removeBgpPeer.json +1 -3
  475. models/mutation.sites.removeCloudInterconnectPhysicalConnection.json +1 -3
  476. models/mutation.sites.removeIpsecIkeV2SiteTunnels.json +2 -4
  477. models/mutation.sites.removeNetworkRange.json +1 -1
  478. models/mutation.sites.removeSecondaryAwsVSocket.json +1 -1
  479. models/mutation.sites.removeSecondaryAzureVSocket.json +1 -1
  480. models/mutation.sites.removeSite.json +1 -1
  481. models/mutation.sites.removeSiteBwLicense.json +119 -11779
  482. models/mutation.sites.removeSocketAddOnCard.json +3 -9
  483. models/mutation.sites.removeStaticHost.json +1 -1
  484. models/mutation.sites.replaceSiteBwLicense.json +121 -11785
  485. models/mutation.sites.startSiteUpgrade.json +3 -9
  486. models/mutation.sites.updateBgpPeer.json +47 -120
  487. models/mutation.sites.updateCloudInterconnectPhysicalConnection.json +10 -30
  488. models/mutation.sites.updateHa.json +4 -10
  489. models/mutation.sites.updateIpsecIkeV2SiteGeneralDetails.json +11 -24
  490. models/mutation.sites.updateIpsecIkeV2SiteTunnels.json +15 -43
  491. models/mutation.sites.updateNetworkRange.json +15 -43
  492. models/mutation.sites.updateSecondaryAwsVSocket.json +4 -12
  493. models/mutation.sites.updateSecondaryAzureVSocket.json +3 -9
  494. models/mutation.sites.updateSiteBwLicense.json +120 -11782
  495. models/mutation.sites.updateSiteGeneralDetails.json +14 -40
  496. models/mutation.sites.updateSocketInterface.json +26 -74
  497. models/mutation.sites.updateStaticHost.json +4 -10
  498. models/mutation.xdr.addStoryComment.json +15 -113
  499. models/mutation.xdr.analystFeedback.json +229 -26307
  500. models/mutation.xdr.deleteStoryComment.json +15 -113
  501. models/query.accountBySubdomain.json +2 -1
  502. models/query.accountMetrics.json +15 -12
  503. models/query.accountRoles.json +1 -1
  504. models/query.accountSnapshot.json +4 -2
  505. models/query.admin.json +1 -1
  506. models/query.admins.json +7 -10
  507. models/query.appStats.json +633 -33
  508. models/query.appStatsTimeSeries.json +15 -28
  509. models/query.auditFeed.json +225 -16
  510. models/query.catalogs.json +106 -215
  511. models/query.container.json +21 -471
  512. models/query.devices.json +333 -620
  513. models/query.enterpriseDirectory.json +3596 -0
  514. models/query.entityLookup.json +15 -27
  515. models/query.events.json +1875 -33
  516. models/query.eventsFeed.json +30 -14
  517. models/query.eventsTimeSeries.json +15 -28
  518. models/query.groups.group.members.json +23 -55
  519. models/query.groups.groupList.json +87 -266
  520. models/query.groups.whereUsed.json +2 -6
  521. models/query.hardware.json +92 -192
  522. models/query.hardwareManagement.json +21 -63
  523. models/query.licensing.json +76 -11721
  524. models/query.policy.appTenantRestriction.policy.json +2 -6
  525. models/query.policy.dynamicIpAllocation.policy.json +2 -6
  526. models/query.policy.internetFirewall.policy.json +2 -6
  527. models/query.policy.remotePortFwd.policy.json +2 -6
  528. models/query.policy.socketLan.policy.json +2 -6
  529. models/query.policy.terminalServer.policy.json +2 -6
  530. models/query.policy.wanFirewall.policy.json +2 -6
  531. models/query.policy.wanNetwork.policy.json +2 -6
  532. models/query.popLocations.json +34 -74
  533. models/query.sandbox.json +44 -83
  534. models/query.servicePrincipalAdmin.json +1098 -0
  535. models/query.site.availableVersionList.json +4 -5
  536. models/query.site.bgpPeer.json +2 -6
  537. models/query.site.bgpPeerList.json +2 -6
  538. models/query.site.cloudInterconnectConnectionConnectivity.json +1 -3
  539. models/query.site.cloudInterconnectPhysicalConnection.json +1 -3
  540. models/query.site.cloudInterconnectPhysicalConnectionId.json +3 -9
  541. models/query.site.secondaryAwsVSocket.json +1 -1
  542. models/query.site.secondaryAzureVSocket.json +1 -1
  543. models/query.site.siteBgpStatus.json +2 -6
  544. models/query.socketPortMetrics.json +465 -33
  545. models/query.socketPortMetricsTimeSeries.json +15 -28
  546. models/query.subDomains.json +1 -1
  547. models/query.xdr.stories.json +306 -26440
  548. models/query.xdr.story.json +40 -26100
  549. schema/catolib.py +1255 -972
  550. schema/importSchema.py +53 -48
  551. catocli/parsers/mutation/README.md +0 -4
  552. catocli/parsers/mutation_accountManagement_disableAccount/README.md +0 -16
  553. catocli/parsers/parserApiClient.py +0 -948
  554. catocli/parsers/query/README.md +0 -3
  555. catocli-2.1.1.dist-info/RECORD +0 -645
  556. models/mutation.accountManagement.disableAccount.json +0 -545
  557. models/query.policy.json +0 -40899
  558. models/query.site.json +0 -5688
  559. schema/remove_policyid.py +0 -89
  560. schema/remove_policyid_mutations.py +0 -89
  561. {catocli-2.1.1.dist-info → catocli-2.1.3.dist-info}/WHEEL +0 -0
  562. {catocli-2.1.1.dist-info → catocli-2.1.3.dist-info}/entry_points.txt +0 -0
  563. {catocli-2.1.1.dist-info → catocli-2.1.3.dist-info}/licenses/LICENSE +0 -0
  564. {catocli-2.1.1.dist-info → catocli-2.1.3.dist-info}/top_level.txt +0 -0
@@ -6,6 +6,7 @@ from datetime import datetime
6
6
  from graphql_client.api.call_api import ApiClient, CallApi
7
7
  from graphql_client.api_client import ApiException
8
8
  from ..customLib import writeDataToFile, makeCall, getAccountID
9
+ from ....Utils.cliutils import load_cli_settings
9
10
 
10
11
  def export_socket_site_to_json(args, configuration):
11
12
  """
@@ -18,11 +19,10 @@ def export_socket_site_to_json(args, configuration):
18
19
  'missing_data': 0,
19
20
  'missing_interface_details': []
20
21
  }
21
-
22
+
22
23
  try:
23
- settings = {}
24
- with open(os.path.join(os.path.dirname(__file__), '../../../../settings.json'), 'r', encoding='utf-8') as f:
25
- settings = json.load(f)
24
+ # Load CLI settings using the robust function
25
+ settings = load_cli_settings()
26
26
 
27
27
  account_id = getAccountID(args, configuration)
28
28
  # Get account snapshot with siteIDs if provided
@@ -46,20 +46,31 @@ def export_socket_site_to_json(args, configuration):
46
46
  ## Create processed_data object indexed by siteId with location ##
47
47
  ##################################################################
48
48
  for snapshot_site in snapshot_sites['data']['accountSnapshot']['sites']:
49
+ site_id = snapshot_site.get('id')
50
+ connectionType = snapshot_site.get('infoSiteSnapshot', {}).get('connType', "")
51
+ # if connectionType=="VSOCKET_VGX_AWS":
52
+ # connectionType = "SOCKET_AWS1500"
53
+ # elif connectionType=="VSOCKET_VGX_AZURE":
54
+ # connectionType = "SOCKET_AZ1500"
55
+ # elif connectionType=="VSOCKET_VGX_ESX":
56
+ # connectionType = "SOCKET_ESX1500"
57
+
49
58
  cur_site = {
50
59
  'wan_interfaces': [],
51
60
  'lan_interfaces': [],
61
+ 'native_range': {}
52
62
  }
53
- site_id = snapshot_site.get('id')
54
- connectionType = snapshot_site.get('infoSiteSnapshot', {}).get('connType', "")
55
- if connectionType not in settings["ignore_export_by_socket_type"]:
63
+
64
+ if connectionType in settings["export_by_socket_type"]:
56
65
  cur_site['id'] = site_id
57
66
  cur_site['name'] = snapshot_site.get('infoSiteSnapshot', {}).get('name')
58
67
  cur_site['description'] = snapshot_site.get('infoSiteSnapshot', {}).get('description')
59
- cur_site['connectionType'] = connectionType
68
+ cur_site['connection_type'] = connectionType
60
69
  cur_site['type'] = snapshot_site.get('infoSiteSnapshot', {}).get('type')
61
70
  cur_site = populateSiteLocationData(args, snapshot_site, cur_site)
62
-
71
+ # print("connectionType={connectionType} site_id={site_id} site_name={site_name}".format(connectionType=connectionType, site_id=site_id, site_name=cur_site['name']))
72
+ # if connectionType in settings["default_socket_interface_map"]:
73
+ # print("default_interface__index="+settings["default_socket_interface_map"][connectionType])
63
74
  site_interfaces = snapshot_site.get('infoSiteSnapshot', {}).get('interfaces', [])
64
75
  for wan_ni in site_interfaces:
65
76
  cur_wan_interface = {}
@@ -71,9 +82,9 @@ def export_socket_site_to_json(args, configuration):
71
82
  else:
72
83
  cur_wan_interface['id'] = site_id+":INT_"+ wan_ni.get('id', "")
73
84
  cur_wan_interface['name'] = wan_ni.get('name', "")
74
- cur_wan_interface['upstreamBandwidth'] = wan_ni.get('upstreamBandwidth', 0)
75
- cur_wan_interface['downstreamBandwidth'] = wan_ni.get('downstreamBandwidth', 0)
76
- cur_wan_interface['destType'] = wan_ni.get('destType', "")
85
+ cur_wan_interface['upstream_bandwidth'] = wan_ni.get('upstreamBandwidth', 0)
86
+ cur_wan_interface['downstream_bandwidth'] = wan_ni.get('downstreamBandwidth', 0)
87
+ cur_wan_interface['dest_type'] = wan_ni.get('destType', "")
77
88
  cur_wan_interface['role'] = role
78
89
  cur_site['wan_interfaces'].append(cur_wan_interface)
79
90
 
@@ -83,48 +94,36 @@ def export_socket_site_to_json(args, configuration):
83
94
  ##################################################################################
84
95
  ## Process entity lookup LAN network interfaces adding to site object by site_id##
85
96
  ##################################################################################
86
- interface_map = {}
87
97
  for lan_ni in entity_network_interfaces:
88
- cur_lan_interface = {
89
- 'network_ranges': [],
90
- }
91
- site_id = str(lan_ni.get("helperFields","").get('siteId', ""))
92
- id = str(lan_ni.get('entity', "").get('id', ""))
93
- interfaceName = lan_ni.get('helperFields', "").get('interfaceName', "")
94
- cur_lan_interface['id'] = id
95
- cur_lan_interface['name'] = interfaceName
96
- # Split interfaceName on " \ " and take the last element
97
- cur_lan_interface['index'] = lan_ni.get("helperFields","").get('interfaceId', "")
98
- cur_lan_interface['destType'] = lan_ni.get("helperFields","").get('destType', "")
99
-
100
- for range in entity_network_ranges:
101
- if hasattr(args, 'verbose') and args.verbose:
102
- print(f"Processing network range: {type(range)} - {range}")
103
- helper_fields = range.get("helperFields", {})
104
- entity_data = range.get('entity', {})
105
- range_name = entity_data.get('name', "")
106
- if range_name and " \\ " in range_name:
107
- range_name = range_name.split(" \\ ").pop()
108
- else:
109
- range_name = range_name
110
- network_range_site_id = str(helper_fields.get('siteId', ""))
111
- network_range_interface_name = str(helper_fields.get('interfaceName', ""))
112
- if site_id == network_range_site_id and interfaceName == network_range_interface_name and range_name == "Native Range":
113
- cur_lan_interface['subnet'] = helper_fields.get('subnet', "")
114
- cur_lan_interface['vlanTag'] = helper_fields.get('vlanTag', "")
115
- cur_lan_interface['microsegmentation'] = helper_fields.get('microsegmentation', "")
116
-
117
- # Create a composite key for interface mapping that includes site_id
118
- interface_key = f"{site_id}_{interfaceName}"
119
- interface_map[interface_key] = id
120
-
121
98
  # Only add interface if the site exists in processed_data
122
- site_entry = next((site for site in processed_data['sites'] if site['id'] == site_id), None)
123
- if site_entry:
124
- site_entry['lan_interfaces'].append(cur_lan_interface)
99
+ lan_ni_helper_fields = lan_ni.get("helperFields", {})
100
+ lan_ni_entity_data = lan_ni.get('entity', {})
101
+ lan_ni_site_id = str(lan_ni_helper_fields.get('siteId', ""))
102
+ cur_site_entry = next((site for site in processed_data['sites'] if site['id'] == lan_ni_site_id), None)
103
+ if cur_site_entry:
104
+ cur_lan_interface = {
105
+ 'network_ranges': []
106
+ }
107
+ ni_interface_id = lan_ni_entity_data.get('id', "")
108
+ ni_interface_name = lan_ni_helper_fields.get('interfaceName', "")
109
+ lan_ni_subnet = str(lan_ni_helper_fields.get('subnet', ""))
110
+ ni_index = lan_ni_helper_fields.get('interfaceId', "")
111
+ ni_index = f"INT_{ni_index}" if isinstance(ni_index, (int, str)) and str(ni_index).isdigit() else ni_index
112
+ if cur_site_entry["connection_type"] in settings["default_socket_interface_map"] and ni_index in settings["default_socket_interface_map"][cur_site["connection_type"]]:
113
+ cur_native_range = cur_site_entry["native_range"]
114
+ cur_site_entry["native_range"]["interface_id"] = ni_interface_id
115
+ cur_site_entry["native_range"]["interface_name"] = ni_interface_name
116
+ cur_site_entry["native_range"]["subnet"] = lan_ni_subnet
117
+ cur_site_entry["native_range"]["index"] = ni_index
118
+ else:
119
+ cur_lan_interface['id'] = ni_interface_id
120
+ cur_lan_interface['name'] = ni_interface_name
121
+ cur_lan_interface['index'] = ni_index
122
+ cur_lan_interface['dest_type'] = lan_ni_helper_fields.get('destType', "")
123
+ cur_site_entry['lan_interfaces'].append(cur_lan_interface)
125
124
  else:
126
125
  if hasattr(args, 'verbose') and args.verbose:
127
- print(f"WARNING: Site {site_id} not found in snapshot data, skipping interface {interfaceName} ({id})")
126
+ print(f"WARNING: Site {lan_ni_site_id} not found in snapshot data, skipping interface {ni_interface_name} ({id})")
128
127
 
129
128
  #############################################################################
130
129
  ## Process entity lookup network ranges populating by network interface id ##
@@ -132,91 +131,80 @@ def export_socket_site_to_json(args, configuration):
132
131
  for range in entity_network_ranges:
133
132
  if hasattr(args, 'verbose') and args.verbose:
134
133
  print(f"Processing network range: {type(range)} - {range}")
135
- cur_range = {}
136
- helper_fields = range.get("helperFields", {})
137
- entity_data = range.get('entity', {})
138
-
139
- if hasattr(args, 'verbose') and args.verbose:
140
- print(f" helperFields type: {type(helper_fields)}, value: {helper_fields}")
141
- print(f" entity type: {type(entity_data)}, value: {entity_data}")
142
-
143
- range_id = entity_data.get('id', "")
144
- site_id = str(helper_fields.get('siteId', ""))
145
- interface_name = str(helper_fields.get('interfaceName', ""))
146
- # Use the composite key to lookup interface_id
147
- interface_key = f"{site_id}_{interface_name}"
148
- interface_id = str(interface_map.get(interface_key, ""))
149
- cur_range['id'] = range_id
150
- range_name = entity_data.get('name', "")
151
- if range_name and " \\ " in range_name:
152
- cur_range['rangeName'] = range_name.split(" \\ ").pop()
153
- else:
154
- cur_range['rangeName'] = range_name
155
- cur_range['name'] = range_name
156
- cur_range['subnet'] = helper_fields.get('subnet', "")
157
- cur_range['vlanTag'] = helper_fields.get('vlanTag', "")
158
- cur_range['microsegmentation'] = helper_fields.get('microsegmentation', "")
159
-
160
- # Safely add to processed_data with existence checks
161
- if site_id and interface_id and range_id and cur_range['rangeName'] != "Native Range":
162
- site_entry = next((site for site in processed_data['sites'] if site['id'] == site_id), None)
163
- if not site_entry:
164
- # print(f"WARNING: Site ID {site_id} not found in processed_data")
165
- warning_stats['missing_sites'] += 1
166
- continue
167
-
168
- # Find the interface in the lan_interfaces array
169
- interface_entry = next((iface for iface in site_entry['lan_interfaces'] if iface['id'] == interface_id), None)
170
- if not interface_entry:
171
- print(f"WARNING: Interface {interface_id} (name: {interface_name}) not found in site {site_id}. Range {range_id} will be skipped.")
172
- warning_stats['missing_interfaces'] += 1
173
- warning_stats['missing_interface_details'].append({
174
- 'interface_id': interface_id,
175
- 'interface_name': interface_name,
176
- 'site_id': site_id,
177
- 'range_id': range_id
178
- })
179
- if hasattr(args, 'verbose') and args.verbose:
180
- available_interfaces = [iface['id'] for iface in site_entry['lan_interfaces']]
181
- print(f" Available interfaces in site {site_id}: {available_interfaces}")
182
- print(f" Looked up interface with key: {interface_key}")
183
- continue
184
- interface_entry['network_ranges'].append(cur_range)
185
- if hasattr(args, 'verbose') and args.verbose:
186
- print(f" Successfully added range {range_id} to site {site_id}, interface_name {interface_name} with interface_id {interface_id}")
187
- else:
188
- if not interface_id:
189
- print(f"WARNING: Interface lookup failed for range {range_id}. Site: {site_id}, Interface name: {interface_name}, Lookup key: {interface_key}")
190
- if hasattr(args, 'verbose') and args.verbose:
191
- print(f" Available interface keys: {list(interface_map.keys())[:10]}...") # Show first 10 keys
192
- else:
193
- print(f"WARNING: Missing required data for range: site_id={site_id}, interface_id={interface_id}, range_id={range_id}")
194
- warning_stats['missing_data'] += 1
134
+ nr_helper_fields = range.get("helperFields", {})
135
+ nr_entity_data = range.get('entity', {})
136
+ nr_interface_name = str(nr_helper_fields.get('interfaceName', ""))
137
+ nr_site_id = str(nr_helper_fields.get('siteId', ""))
138
+ nr_site_entry = next((site for site in processed_data['sites'] if site['id'] == nr_site_id), None)
139
+ if nr_site_entry:
140
+ nr_subnet = nr_helper_fields.get('subnet', "")
141
+ nr_vlan = nr_helper_fields.get('vlanTag', "")
142
+ nr_mdns_reflector = nr_helper_fields.get('mdnsReflector', False)
143
+ nr_dhcp_microsegmentation = nr_helper_fields.get('microsegmentation', False)
144
+ range_name = nr_entity_data.get('name', "")
145
+ if range_name and " \\ " in range_name:
146
+ range_name = range_name.split(" \\ ").pop()
147
+ range_id = nr_entity_data.get('id', "")
148
+ nr_interface_name = str(nr_helper_fields.get('interfaceName', ""))
195
149
 
196
- # Print warning summary
197
- total_warnings = warning_stats['missing_sites'] + warning_stats['missing_interfaces'] + warning_stats['missing_data']
198
- if total_warnings > 0:
199
- print(f"\n=== WARNING SUMMARY ===")
200
- print(f"Total warnings: {total_warnings}")
201
- print(f"- Missing sites: {warning_stats['missing_sites']}")
202
- print(f"- Missing interfaces: {warning_stats['missing_interfaces']}")
203
- print(f"- Missing data: {warning_stats['missing_data']}")
204
-
205
- if warning_stats['missing_interfaces'] > 0:
206
- print(f"\nMissing interface details:")
207
- unique_interfaces = {}
208
- for detail in warning_stats['missing_interface_details']:
209
- key = f"{detail['interface_id']} ({detail['interface_name']})"
210
- if key not in unique_interfaces:
211
- unique_interfaces[key] = []
212
- unique_interfaces[key].append(detail['site_id'])
150
+ # the following fields are missing from the schema, populating blank fields in the interim
151
+ nr_dhcp_type = nr_helper_fields.get('XXXXX', "")
152
+ nr_ip_range = nr_helper_fields.get('XXXXX', "")
153
+ nr_relay_group_id = nr_helper_fields.get('XXXXX', "")
154
+ nr_gateway = nr_helper_fields.get('XXXXX', "")
155
+ nr_range_type = nr_helper_fields.get('XXXXX', "")
156
+ nr_translated_subnet = nr_helper_fields.get('XXXXX', "")
157
+ nr_internet_only = nr_helper_fields.get('XXXXX', False)
158
+ nr_local_ip = nr_helper_fields.get('XXXXX', "")
159
+
160
+ site_native_range = nr_site_entry.get('native_range', {}) if nr_site_entry else {}
213
161
 
214
- for interface, sites in unique_interfaces.items():
215
- print(f" - Interface {interface} missing in sites: {', '.join(sites)}")
216
-
217
- print(f"\nThese warnings indicate network ranges that reference interfaces that don't exist in the site data.")
218
- print(f"This is usually caused by data inconsistencies and can be safely ignored if the export completes successfully.")
219
- print(f"=========================\n")
162
+ if site_native_range.get("interface_name", "") == nr_interface_name:
163
+ site_native_range['range_name'] = range_name
164
+ site_native_range['range_id'] = range_id
165
+ site_native_range['vlan'] = nr_vlan
166
+ site_native_range['mdns_reflector'] = nr_mdns_reflector
167
+ site_native_range['dhcp_microsegmentation'] = nr_dhcp_microsegmentation
168
+ site_native_range['gateway'] = nr_gateway
169
+ site_native_range['range_type'] = nr_range_type
170
+ site_native_range['translated_subnet'] = nr_translated_subnet
171
+ site_native_range['internet_only'] = nr_internet_only
172
+ site_native_range['local_ip'] = nr_local_ip
173
+ site_native_range['dhcp_settings'] = {
174
+ 'dhcp_type': nr_dhcp_type,
175
+ 'ip_range': nr_ip_range,
176
+ 'relay_group_id': nr_relay_group_id,
177
+ 'dhcp_microsegmentation': nr_dhcp_microsegmentation
178
+ }
179
+ else:
180
+ nr_lan_interface_entry = next((lan_nic for lan_nic in nr_site_entry["lan_interfaces"] if lan_nic['name'] == nr_interface_name), None)
181
+ # print(f"checking range: {network_range_site_id} - {network_range_interface_name}")
182
+ if nr_lan_interface_entry:
183
+ cur_range = {}
184
+ cur_range['id'] = range_id
185
+ cur_range['name'] = range_name
186
+ cur_range['subnet'] = nr_subnet
187
+ cur_range['vlan'] = nr_vlan
188
+ cur_range['mdns_reflector'] = nr_mdns_reflector
189
+ ## The folliowing fields are missing from the schema, populating blank fields in the interim
190
+ cur_range['gateway'] = nr_helper_fields.get('XXXXX', "")
191
+ cur_range['range_type'] = nr_helper_fields.get('XXXXX', "")
192
+ cur_range['translated_subnet'] = nr_helper_fields.get('XXXXX', "")
193
+ cur_range['internet_only'] = nr_helper_fields.get('XXXXX', "False")
194
+ cur_range['local_ip'] = nr_helper_fields.get('XXXXX', "")
195
+ cur_range['dhcp_settings'] = {
196
+ 'dhcp_type': nr_helper_fields.get('XXXXX', ""),
197
+ 'ip_range': nr_helper_fields.get('XXXXX', ""),
198
+ 'relay_group_id': nr_helper_fields.get('XXXXX', ""),
199
+ 'dhcp_microsegmentation': nr_dhcp_microsegmentation
200
+ }
201
+ nr_lan_interface_entry["network_ranges"].append(cur_range)
202
+ else:
203
+ # if hasattr(args, 'verbose') and args.verbose:
204
+ print(f"Skipping range {nr_entity_data.get('id', '')}: site_id {nr_site_id} and {nr_interface_name} not found in ")
205
+ else:
206
+ if hasattr(args, 'verbose') and args.verbose:
207
+ print(f"Skipping range, site_id is unsupported for export {nr_site_id}")
220
208
 
221
209
  # Handle timestamp in filename if requested
222
210
  filename_template = "socket_sites_{account_id}.json"