catocli 2.1.0__py3-none-any.whl → 2.1.2__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 (567) hide show
  1. catocli/Utils/clidriver.py +217 -194
  2. catocli/Utils/version_checker.py +1 -1
  3. catocli/__init__.py +1 -1
  4. catocli/parsers/custom/customLib.py +1 -1
  5. catocli/parsers/custom/export_sites/export_sites.py +118 -130
  6. catocli/parsers/custom/import_rules_to_tf/import_rules_to_tf.py +13 -2
  7. catocli/parsers/custom/import_sites_to_tf/import_sites_to_tf.py +8 -1
  8. catocli/parsers/customParserApiClient.py +1195 -0
  9. catocli/parsers/custom_private/__init__.py +134 -0
  10. catocli/parsers/mutation_accountManagement/__init__.py +45 -58
  11. catocli/parsers/mutation_accountManagement_addAccount/README.md +7 -5
  12. catocli/parsers/mutation_accountManagement_removeAccount/README.md +4 -5
  13. catocli/parsers/mutation_accountManagement_updateAccount/README.md +7 -5
  14. catocli/parsers/mutation_admin/__init__.py +84 -45
  15. catocli/parsers/mutation_admin_addAdmin/README.md +7 -5
  16. catocli/parsers/mutation_admin_addServicePrincipalAdmin/README.md +19 -0
  17. catocli/parsers/mutation_admin_removeAdmin/README.md +7 -5
  18. catocli/parsers/mutation_admin_removeServicePrincipalAdmin/README.md +19 -0
  19. catocli/parsers/mutation_admin_updateAdmin/README.md +8 -6
  20. catocli/parsers/mutation_admin_updateServicePrincipalAdmin/README.md +20 -0
  21. catocli/parsers/mutation_container/__init__.py +135 -135
  22. catocli/parsers/mutation_container_delete/README.md +7 -5
  23. catocli/parsers/mutation_container_fqdn_addValues/README.md +7 -5
  24. catocli/parsers/mutation_container_fqdn_createFromFile/README.md +7 -5
  25. catocli/parsers/mutation_container_fqdn_removeValues/README.md +7 -5
  26. catocli/parsers/mutation_container_fqdn_updateFromFile/README.md +7 -5
  27. catocli/parsers/mutation_container_ipAddressRange_addValues/README.md +7 -5
  28. catocli/parsers/mutation_container_ipAddressRange_createFromFile/README.md +7 -5
  29. catocli/parsers/mutation_container_ipAddressRange_removeValues/README.md +7 -5
  30. catocli/parsers/mutation_container_ipAddressRange_updateFromFile/README.md +7 -5
  31. catocli/parsers/mutation_enterpriseDirectory/README.md +7 -0
  32. catocli/parsers/mutation_enterpriseDirectory/__init__.py +61 -0
  33. catocli/parsers/mutation_enterpriseDirectory_archiveLocation/README.md +19 -0
  34. catocli/parsers/mutation_enterpriseDirectory_createLocation/README.md +19 -0
  35. catocli/parsers/mutation_enterpriseDirectory_restoreLocation/README.md +19 -0
  36. catocli/parsers/mutation_enterpriseDirectory_updateLocation/README.md +19 -0
  37. catocli/parsers/mutation_groups/__init__.py +45 -45
  38. catocli/parsers/mutation_groups_createGroup/README.md +8 -6
  39. catocli/parsers/mutation_groups_deleteGroup/README.md +8 -6
  40. catocli/parsers/mutation_groups_updateGroup/README.md +8 -6
  41. catocli/parsers/mutation_hardware/__init__.py +16 -16
  42. catocli/parsers/mutation_hardware_updateHardwareShipping/README.md +7 -5
  43. catocli/parsers/mutation_policy/__init__.py +1302 -1302
  44. catocli/parsers/mutation_policy_appTenantRestriction_addRule/README.md +8 -6
  45. catocli/parsers/mutation_policy_appTenantRestriction_addSection/README.md +8 -6
  46. catocli/parsers/mutation_policy_appTenantRestriction_createPolicyRevision/README.md +8 -6
  47. catocli/parsers/mutation_policy_appTenantRestriction_discardPolicyRevision/README.md +8 -6
  48. catocli/parsers/mutation_policy_appTenantRestriction_moveRule/README.md +8 -6
  49. catocli/parsers/mutation_policy_appTenantRestriction_moveSection/README.md +8 -6
  50. catocli/parsers/mutation_policy_appTenantRestriction_publishPolicyRevision/README.md +8 -6
  51. catocli/parsers/mutation_policy_appTenantRestriction_removeRule/README.md +8 -6
  52. catocli/parsers/mutation_policy_appTenantRestriction_removeSection/README.md +8 -6
  53. catocli/parsers/mutation_policy_appTenantRestriction_updatePolicy/README.md +8 -6
  54. catocli/parsers/mutation_policy_appTenantRestriction_updateRule/README.md +8 -6
  55. catocli/parsers/mutation_policy_appTenantRestriction_updateSection/README.md +8 -6
  56. catocli/parsers/mutation_policy_dynamicIpAllocation_addRule/README.md +8 -6
  57. catocli/parsers/mutation_policy_dynamicIpAllocation_addSection/README.md +8 -6
  58. catocli/parsers/mutation_policy_dynamicIpAllocation_createPolicyRevision/README.md +8 -6
  59. catocli/parsers/mutation_policy_dynamicIpAllocation_discardPolicyRevision/README.md +8 -6
  60. catocli/parsers/mutation_policy_dynamicIpAllocation_moveRule/README.md +8 -6
  61. catocli/parsers/mutation_policy_dynamicIpAllocation_moveSection/README.md +8 -6
  62. catocli/parsers/mutation_policy_dynamicIpAllocation_publishPolicyRevision/README.md +8 -6
  63. catocli/parsers/mutation_policy_dynamicIpAllocation_removeRule/README.md +8 -6
  64. catocli/parsers/mutation_policy_dynamicIpAllocation_removeSection/README.md +8 -6
  65. catocli/parsers/mutation_policy_dynamicIpAllocation_updatePolicy/README.md +8 -6
  66. catocli/parsers/mutation_policy_dynamicIpAllocation_updateRule/README.md +8 -6
  67. catocli/parsers/mutation_policy_dynamicIpAllocation_updateSection/README.md +8 -6
  68. catocli/parsers/mutation_policy_internetFirewall_addRule/README.md +8 -6
  69. catocli/parsers/mutation_policy_internetFirewall_addSection/README.md +8 -6
  70. catocli/parsers/mutation_policy_internetFirewall_createPolicyRevision/README.md +8 -6
  71. catocli/parsers/mutation_policy_internetFirewall_discardPolicyRevision/README.md +8 -6
  72. catocli/parsers/mutation_policy_internetFirewall_moveRule/README.md +8 -6
  73. catocli/parsers/mutation_policy_internetFirewall_moveSection/README.md +8 -6
  74. catocli/parsers/mutation_policy_internetFirewall_publishPolicyRevision/README.md +8 -6
  75. catocli/parsers/mutation_policy_internetFirewall_removeRule/README.md +8 -6
  76. catocli/parsers/mutation_policy_internetFirewall_removeSection/README.md +8 -6
  77. catocli/parsers/mutation_policy_internetFirewall_updatePolicy/README.md +8 -6
  78. catocli/parsers/mutation_policy_internetFirewall_updateRule/README.md +8 -6
  79. catocli/parsers/mutation_policy_internetFirewall_updateSection/README.md +8 -6
  80. catocli/parsers/mutation_policy_remotePortFwd_addRule/README.md +8 -6
  81. catocli/parsers/mutation_policy_remotePortFwd_addSection/README.md +8 -6
  82. catocli/parsers/mutation_policy_remotePortFwd_createPolicyRevision/README.md +8 -6
  83. catocli/parsers/mutation_policy_remotePortFwd_discardPolicyRevision/README.md +8 -6
  84. catocli/parsers/mutation_policy_remotePortFwd_moveRule/README.md +8 -6
  85. catocli/parsers/mutation_policy_remotePortFwd_moveSection/README.md +8 -6
  86. catocli/parsers/mutation_policy_remotePortFwd_publishPolicyRevision/README.md +8 -6
  87. catocli/parsers/mutation_policy_remotePortFwd_removeRule/README.md +8 -6
  88. catocli/parsers/mutation_policy_remotePortFwd_removeSection/README.md +8 -6
  89. catocli/parsers/mutation_policy_remotePortFwd_updatePolicy/README.md +8 -6
  90. catocli/parsers/mutation_policy_remotePortFwd_updateRule/README.md +8 -6
  91. catocli/parsers/mutation_policy_remotePortFwd_updateSection/README.md +8 -6
  92. catocli/parsers/mutation_policy_socketLan_addRule/README.md +8 -6
  93. catocli/parsers/mutation_policy_socketLan_addSection/README.md +8 -6
  94. catocli/parsers/mutation_policy_socketLan_createPolicyRevision/README.md +8 -6
  95. catocli/parsers/mutation_policy_socketLan_discardPolicyRevision/README.md +8 -6
  96. catocli/parsers/mutation_policy_socketLan_moveRule/README.md +8 -6
  97. catocli/parsers/mutation_policy_socketLan_moveSection/README.md +8 -6
  98. catocli/parsers/mutation_policy_socketLan_publishPolicyRevision/README.md +8 -6
  99. catocli/parsers/mutation_policy_socketLan_removeRule/README.md +8 -6
  100. catocli/parsers/mutation_policy_socketLan_removeSection/README.md +8 -6
  101. catocli/parsers/mutation_policy_socketLan_updatePolicy/README.md +8 -6
  102. catocli/parsers/mutation_policy_socketLan_updateRule/README.md +8 -6
  103. catocli/parsers/mutation_policy_socketLan_updateSection/README.md +8 -6
  104. catocli/parsers/mutation_policy_terminalServer_addRule/README.md +8 -6
  105. catocli/parsers/mutation_policy_terminalServer_addSection/README.md +8 -6
  106. catocli/parsers/mutation_policy_terminalServer_createPolicyRevision/README.md +8 -6
  107. catocli/parsers/mutation_policy_terminalServer_discardPolicyRevision/README.md +8 -6
  108. catocli/parsers/mutation_policy_terminalServer_moveRule/README.md +8 -6
  109. catocli/parsers/mutation_policy_terminalServer_moveSection/README.md +8 -6
  110. catocli/parsers/mutation_policy_terminalServer_publishPolicyRevision/README.md +8 -6
  111. catocli/parsers/mutation_policy_terminalServer_removeRule/README.md +8 -6
  112. catocli/parsers/mutation_policy_terminalServer_removeSection/README.md +8 -6
  113. catocli/parsers/mutation_policy_terminalServer_updatePolicy/README.md +8 -6
  114. catocli/parsers/mutation_policy_terminalServer_updateRule/README.md +8 -6
  115. catocli/parsers/mutation_policy_terminalServer_updateSection/README.md +8 -6
  116. catocli/parsers/mutation_policy_wanFirewall_addRule/README.md +8 -6
  117. catocli/parsers/mutation_policy_wanFirewall_addSection/README.md +8 -6
  118. catocli/parsers/mutation_policy_wanFirewall_createPolicyRevision/README.md +8 -6
  119. catocli/parsers/mutation_policy_wanFirewall_discardPolicyRevision/README.md +8 -6
  120. catocli/parsers/mutation_policy_wanFirewall_moveRule/README.md +8 -6
  121. catocli/parsers/mutation_policy_wanFirewall_moveSection/README.md +8 -6
  122. catocli/parsers/mutation_policy_wanFirewall_publishPolicyRevision/README.md +8 -6
  123. catocli/parsers/mutation_policy_wanFirewall_removeRule/README.md +8 -6
  124. catocli/parsers/mutation_policy_wanFirewall_removeSection/README.md +8 -6
  125. catocli/parsers/mutation_policy_wanFirewall_updatePolicy/README.md +8 -6
  126. catocli/parsers/mutation_policy_wanFirewall_updateRule/README.md +8 -6
  127. catocli/parsers/mutation_policy_wanFirewall_updateSection/README.md +8 -6
  128. catocli/parsers/mutation_policy_wanNetwork_addRule/README.md +8 -6
  129. catocli/parsers/mutation_policy_wanNetwork_addSection/README.md +8 -6
  130. catocli/parsers/mutation_policy_wanNetwork_createPolicyRevision/README.md +8 -6
  131. catocli/parsers/mutation_policy_wanNetwork_discardPolicyRevision/README.md +8 -6
  132. catocli/parsers/mutation_policy_wanNetwork_moveRule/README.md +8 -6
  133. catocli/parsers/mutation_policy_wanNetwork_moveSection/README.md +8 -6
  134. catocli/parsers/mutation_policy_wanNetwork_publishPolicyRevision/README.md +8 -6
  135. catocli/parsers/mutation_policy_wanNetwork_removeRule/README.md +8 -6
  136. catocli/parsers/mutation_policy_wanNetwork_removeSection/README.md +8 -6
  137. catocli/parsers/mutation_policy_wanNetwork_updatePolicy/README.md +8 -6
  138. catocli/parsers/mutation_policy_wanNetwork_updateRule/README.md +8 -6
  139. catocli/parsers/mutation_policy_wanNetwork_updateSection/README.md +8 -6
  140. catocli/parsers/mutation_sandbox/__init__.py +27 -27
  141. catocli/parsers/mutation_sandbox_deleteReport/README.md +7 -5
  142. catocli/parsers/mutation_sandbox_uploadFile/README.md +7 -5
  143. catocli/parsers/mutation_site/__init__.py +474 -474
  144. catocli/parsers/mutation_site_addBgpPeer/README.md +7 -5
  145. catocli/parsers/mutation_site_addCloudInterconnectPhysicalConnection/README.md +7 -5
  146. catocli/parsers/mutation_site_addCloudInterconnectSite/README.md +7 -5
  147. catocli/parsers/mutation_site_addIpsecIkeV2Site/README.md +7 -5
  148. catocli/parsers/mutation_site_addIpsecIkeV2SiteTunnels/README.md +8 -6
  149. catocli/parsers/mutation_site_addNetworkRange/README.md +8 -6
  150. catocli/parsers/mutation_site_addSecondaryAwsVSocket/README.md +7 -5
  151. catocli/parsers/mutation_site_addSecondaryAzureVSocket/README.md +7 -5
  152. catocli/parsers/mutation_site_addSocketAddOnCard/README.md +7 -5
  153. catocli/parsers/mutation_site_addSocketSite/README.md +7 -5
  154. catocli/parsers/mutation_site_addStaticHost/README.md +8 -6
  155. catocli/parsers/mutation_site_assignSiteBwLicense/README.md +7 -5
  156. catocli/parsers/mutation_site_removeBgpPeer/README.md +7 -5
  157. catocli/parsers/mutation_site_removeCloudInterconnectPhysicalConnection/README.md +7 -5
  158. catocli/parsers/mutation_site_removeIpsecIkeV2SiteTunnels/README.md +8 -6
  159. catocli/parsers/mutation_site_removeNetworkRange/README.md +7 -5
  160. catocli/parsers/mutation_site_removeSecondaryAwsVSocket/README.md +7 -5
  161. catocli/parsers/mutation_site_removeSecondaryAzureVSocket/README.md +7 -5
  162. catocli/parsers/mutation_site_removeSite/README.md +7 -5
  163. catocli/parsers/mutation_site_removeSiteBwLicense/README.md +7 -5
  164. catocli/parsers/mutation_site_removeSocketAddOnCard/README.md +7 -5
  165. catocli/parsers/mutation_site_removeStaticHost/README.md +7 -5
  166. catocli/parsers/mutation_site_replaceSiteBwLicense/README.md +7 -5
  167. catocli/parsers/mutation_site_startSiteUpgrade/README.md +7 -5
  168. catocli/parsers/mutation_site_updateBgpPeer/README.md +7 -5
  169. catocli/parsers/mutation_site_updateCloudInterconnectPhysicalConnection/README.md +7 -5
  170. catocli/parsers/mutation_site_updateHa/README.md +8 -6
  171. catocli/parsers/mutation_site_updateIpsecIkeV2SiteGeneralDetails/README.md +8 -6
  172. catocli/parsers/mutation_site_updateIpsecIkeV2SiteTunnels/README.md +8 -6
  173. catocli/parsers/mutation_site_updateNetworkRange/README.md +8 -6
  174. catocli/parsers/mutation_site_updateSecondaryAwsVSocket/README.md +7 -5
  175. catocli/parsers/mutation_site_updateSecondaryAzureVSocket/README.md +7 -5
  176. catocli/parsers/mutation_site_updateSiteBwLicense/README.md +7 -5
  177. catocli/parsers/mutation_site_updateSiteGeneralDetails/README.md +8 -6
  178. catocli/parsers/mutation_site_updateSocketInterface/README.md +9 -7
  179. catocli/parsers/mutation_site_updateStaticHost/README.md +8 -6
  180. catocli/parsers/mutation_sites/__init__.py +474 -474
  181. catocli/parsers/mutation_sites_addBgpPeer/README.md +7 -5
  182. catocli/parsers/mutation_sites_addCloudInterconnectPhysicalConnection/README.md +7 -5
  183. catocli/parsers/mutation_sites_addCloudInterconnectSite/README.md +7 -5
  184. catocli/parsers/mutation_sites_addIpsecIkeV2Site/README.md +7 -5
  185. catocli/parsers/mutation_sites_addIpsecIkeV2SiteTunnels/README.md +8 -6
  186. catocli/parsers/mutation_sites_addNetworkRange/README.md +8 -6
  187. catocli/parsers/mutation_sites_addSecondaryAwsVSocket/README.md +7 -5
  188. catocli/parsers/mutation_sites_addSecondaryAzureVSocket/README.md +7 -5
  189. catocli/parsers/mutation_sites_addSocketAddOnCard/README.md +7 -5
  190. catocli/parsers/mutation_sites_addSocketSite/README.md +7 -5
  191. catocli/parsers/mutation_sites_addStaticHost/README.md +8 -6
  192. catocli/parsers/mutation_sites_assignSiteBwLicense/README.md +7 -5
  193. catocli/parsers/mutation_sites_removeBgpPeer/README.md +7 -5
  194. catocli/parsers/mutation_sites_removeCloudInterconnectPhysicalConnection/README.md +7 -5
  195. catocli/parsers/mutation_sites_removeIpsecIkeV2SiteTunnels/README.md +8 -6
  196. catocli/parsers/mutation_sites_removeNetworkRange/README.md +7 -5
  197. catocli/parsers/mutation_sites_removeSecondaryAwsVSocket/README.md +7 -5
  198. catocli/parsers/mutation_sites_removeSecondaryAzureVSocket/README.md +7 -5
  199. catocli/parsers/mutation_sites_removeSite/README.md +7 -5
  200. catocli/parsers/mutation_sites_removeSiteBwLicense/README.md +7 -5
  201. catocli/parsers/mutation_sites_removeSocketAddOnCard/README.md +7 -5
  202. catocli/parsers/mutation_sites_removeStaticHost/README.md +7 -5
  203. catocli/parsers/mutation_sites_replaceSiteBwLicense/README.md +7 -5
  204. catocli/parsers/mutation_sites_startSiteUpgrade/README.md +7 -5
  205. catocli/parsers/mutation_sites_updateBgpPeer/README.md +7 -5
  206. catocli/parsers/mutation_sites_updateCloudInterconnectPhysicalConnection/README.md +7 -5
  207. catocli/parsers/mutation_sites_updateHa/README.md +8 -6
  208. catocli/parsers/mutation_sites_updateIpsecIkeV2SiteGeneralDetails/README.md +8 -6
  209. catocli/parsers/mutation_sites_updateIpsecIkeV2SiteTunnels/README.md +8 -6
  210. catocli/parsers/mutation_sites_updateNetworkRange/README.md +8 -6
  211. catocli/parsers/mutation_sites_updateSecondaryAwsVSocket/README.md +7 -5
  212. catocli/parsers/mutation_sites_updateSecondaryAzureVSocket/README.md +7 -5
  213. catocli/parsers/mutation_sites_updateSiteBwLicense/README.md +7 -5
  214. catocli/parsers/mutation_sites_updateSiteGeneralDetails/README.md +8 -6
  215. catocli/parsers/mutation_sites_updateSocketInterface/README.md +9 -7
  216. catocli/parsers/mutation_sites_updateStaticHost/README.md +8 -6
  217. catocli/parsers/mutation_xdr/__init__.py +45 -45
  218. catocli/parsers/mutation_xdr_addStoryComment/README.md +7 -5
  219. catocli/parsers/mutation_xdr_analystFeedback/README.md +7 -6
  220. catocli/parsers/mutation_xdr_deleteStoryComment/README.md +7 -5
  221. catocli/parsers/query_accountBySubdomain/README.md +7 -5
  222. catocli/parsers/query_accountBySubdomain/__init__.py +12 -12
  223. catocli/parsers/query_accountManagement/README.md +4 -5
  224. catocli/parsers/query_accountManagement/__init__.py +12 -12
  225. catocli/parsers/query_accountMetrics/README.md +20 -18
  226. catocli/parsers/query_accountMetrics/__init__.py +12 -12
  227. catocli/parsers/query_accountRoles/README.md +7 -5
  228. catocli/parsers/query_accountRoles/__init__.py +12 -12
  229. catocli/parsers/query_accountSnapshot/README.md +8 -6
  230. catocli/parsers/query_accountSnapshot/__init__.py +12 -12
  231. catocli/parsers/query_admin/README.md +7 -5
  232. catocli/parsers/query_admin/__init__.py +12 -12
  233. catocli/parsers/query_admins/README.md +11 -9
  234. catocli/parsers/query_admins/__init__.py +12 -12
  235. catocli/parsers/query_appStats/README.md +20 -11
  236. catocli/parsers/query_appStats/__init__.py +12 -12
  237. catocli/parsers/query_appStatsTimeSeries/README.md +21 -12
  238. catocli/parsers/query_appStatsTimeSeries/__init__.py +12 -12
  239. catocli/parsers/query_auditFeed/README.md +10 -8
  240. catocli/parsers/query_auditFeed/__init__.py +12 -12
  241. catocli/parsers/query_catalogs/README.md +9 -7
  242. catocli/parsers/query_catalogs/__init__.py +12 -12
  243. catocli/parsers/query_container/README.md +13 -11
  244. catocli/parsers/query_container/__init__.py +12 -12
  245. catocli/parsers/query_devices/README.md +10 -8
  246. catocli/parsers/query_devices/__init__.py +12 -12
  247. catocli/parsers/query_enterpriseDirectory/README.md +19 -0
  248. catocli/parsers/query_enterpriseDirectory/__init__.py +16 -0
  249. catocli/parsers/query_entityLookup/README.md +19 -17
  250. catocli/parsers/query_entityLookup/__init__.py +12 -12
  251. catocli/parsers/query_events/README.md +13 -11
  252. catocli/parsers/query_events/__init__.py +12 -12
  253. catocli/parsers/query_eventsFeed/README.md +9 -7
  254. catocli/parsers/query_eventsFeed/__init__.py +12 -12
  255. catocli/parsers/query_eventsTimeSeries/README.md +14 -12
  256. catocli/parsers/query_eventsTimeSeries/__init__.py +12 -12
  257. catocli/parsers/query_groups/__init__.py +51 -51
  258. catocli/parsers/query_groups_groupList/README.md +8 -6
  259. catocli/parsers/query_groups_group_members/README.md +8 -6
  260. catocli/parsers/query_groups_whereUsed/README.md +7 -5
  261. catocli/parsers/query_hardware/README.md +7 -5
  262. catocli/parsers/query_hardware/__init__.py +12 -12
  263. catocli/parsers/query_hardwareManagement/README.md +7 -5
  264. catocli/parsers/query_hardwareManagement/__init__.py +12 -12
  265. catocli/parsers/query_licensing/README.md +4 -5
  266. catocli/parsers/query_licensing/__init__.py +12 -12
  267. catocli/parsers/query_policy/__init__.py +158 -158
  268. catocli/parsers/query_policy_appTenantRestriction_policy/README.md +7 -5
  269. catocli/parsers/query_policy_dynamicIpAllocation_policy/README.md +7 -5
  270. catocli/parsers/query_policy_internetFirewall_policy/README.md +7 -5
  271. catocli/parsers/query_policy_remotePortFwd_policy/README.md +7 -5
  272. catocli/parsers/query_policy_socketLan_policy/README.md +7 -5
  273. catocli/parsers/query_policy_terminalServer_policy/README.md +7 -5
  274. catocli/parsers/query_policy_wanFirewall_policy/README.md +7 -5
  275. catocli/parsers/query_policy_wanNetwork_policy/README.md +7 -5
  276. catocli/parsers/query_popLocations/README.md +7 -5
  277. catocli/parsers/query_popLocations/__init__.py +12 -12
  278. catocli/parsers/query_sandbox/README.md +7 -5
  279. catocli/parsers/query_sandbox/__init__.py +12 -12
  280. catocli/parsers/query_servicePrincipalAdmin/README.md +19 -0
  281. catocli/parsers/query_servicePrincipalAdmin/__init__.py +16 -0
  282. catocli/parsers/query_site/__init__.py +123 -123
  283. catocli/parsers/query_siteLocation/__init__.py +10 -10
  284. catocli/parsers/query_site_availableVersionList/README.md +7 -5
  285. catocli/parsers/query_site_bgpPeer/README.md +7 -5
  286. catocli/parsers/query_site_bgpPeerList/README.md +7 -5
  287. catocli/parsers/query_site_cloudInterconnectConnectionConnectivity/README.md +7 -5
  288. catocli/parsers/query_site_cloudInterconnectPhysicalConnection/README.md +7 -5
  289. catocli/parsers/query_site_cloudInterconnectPhysicalConnectionId/README.md +7 -5
  290. catocli/parsers/query_site_secondaryAwsVSocket/README.md +7 -5
  291. catocli/parsers/query_site_secondaryAzureVSocket/README.md +7 -5
  292. catocli/parsers/query_site_siteBgpStatus/README.md +7 -5
  293. catocli/parsers/query_socketPortMetrics/README.md +13 -11
  294. catocli/parsers/query_socketPortMetrics/__init__.py +12 -12
  295. catocli/parsers/query_socketPortMetricsTimeSeries/README.md +14 -12
  296. catocli/parsers/query_socketPortMetricsTimeSeries/__init__.py +12 -12
  297. catocli/parsers/query_subDomains/README.md +7 -5
  298. catocli/parsers/query_subDomains/__init__.py +12 -12
  299. catocli/parsers/query_xdr/__init__.py +27 -27
  300. catocli/parsers/query_xdr_stories/README.md +7 -6
  301. catocli/parsers/query_xdr_story/README.md +9 -8
  302. catocli/parsers/raw/__init__.py +9 -9
  303. {catocli-2.1.0.dist-info → catocli-2.1.2.dist-info}/METADATA +1 -1
  304. catocli-2.1.2.dist-info/RECORD +659 -0
  305. graphql_client/api/call_api.py +20 -2
  306. models/mutation.accountManagement.addAccount.json +5 -15
  307. models/mutation.accountManagement.updateAccount.json +1 -3
  308. models/mutation.admin.addAdmin.json +14 -35
  309. models/mutation.admin.addServicePrincipalAdmin.json +2554 -0
  310. models/mutation.admin.removeAdmin.json +1 -1
  311. models/mutation.admin.removeServicePrincipalAdmin.json +201 -0
  312. models/mutation.admin.updateAdmin.json +13 -30
  313. models/mutation.admin.updateServicePrincipalAdmin.json +2554 -0
  314. models/mutation.container.delete.json +9 -435
  315. models/mutation.container.fqdn.addValues.json +6 -11
  316. models/mutation.container.fqdn.createFromFile.json +4 -12
  317. models/mutation.container.fqdn.removeValues.json +6 -11
  318. models/mutation.container.fqdn.updateFromFile.json +5 -15
  319. models/mutation.container.ipAddressRange.addValues.json +4 -12
  320. models/mutation.container.ipAddressRange.createFromFile.json +4 -12
  321. models/mutation.container.ipAddressRange.removeValues.json +4 -12
  322. models/mutation.container.ipAddressRange.updateFromFile.json +5 -15
  323. models/mutation.enterpriseDirectory.archiveLocation.json +1046 -0
  324. models/mutation.enterpriseDirectory.createLocation.json +2521 -0
  325. models/mutation.enterpriseDirectory.restoreLocation.json +1046 -0
  326. models/mutation.enterpriseDirectory.updateLocation.json +2567 -0
  327. models/mutation.groups.createGroup.json +39 -171
  328. models/mutation.groups.deleteGroup.json +36 -162
  329. models/mutation.groups.updateGroup.json +41 -177
  330. models/mutation.hardware.updateHardwareShipping.json +18 -47
  331. models/mutation.policy.appTenantRestriction.addRule.json +50 -136
  332. models/mutation.policy.appTenantRestriction.addSection.json +4 -12
  333. models/mutation.policy.appTenantRestriction.createPolicyRevision.json +3 -9
  334. models/mutation.policy.appTenantRestriction.discardPolicyRevision.json +2 -6
  335. models/mutation.policy.appTenantRestriction.moveRule.json +4 -12
  336. models/mutation.policy.appTenantRestriction.moveSection.json +4 -12
  337. models/mutation.policy.appTenantRestriction.publishPolicyRevision.json +3 -9
  338. models/mutation.policy.appTenantRestriction.removeRule.json +2 -6
  339. models/mutation.policy.appTenantRestriction.removeSection.json +2 -6
  340. models/mutation.policy.appTenantRestriction.updatePolicy.json +2 -6
  341. models/mutation.policy.appTenantRestriction.updateRule.json +49 -133
  342. models/mutation.policy.appTenantRestriction.updateSection.json +3 -9
  343. models/mutation.policy.dynamicIpAllocation.addRule.json +15 -45
  344. models/mutation.policy.dynamicIpAllocation.addSection.json +4 -12
  345. models/mutation.policy.dynamicIpAllocation.createPolicyRevision.json +3 -9
  346. models/mutation.policy.dynamicIpAllocation.discardPolicyRevision.json +2 -6
  347. models/mutation.policy.dynamicIpAllocation.moveRule.json +4 -12
  348. models/mutation.policy.dynamicIpAllocation.moveSection.json +4 -12
  349. models/mutation.policy.dynamicIpAllocation.publishPolicyRevision.json +3 -9
  350. models/mutation.policy.dynamicIpAllocation.removeRule.json +2 -6
  351. models/mutation.policy.dynamicIpAllocation.removeSection.json +2 -6
  352. models/mutation.policy.dynamicIpAllocation.updatePolicy.json +2 -6
  353. models/mutation.policy.dynamicIpAllocation.updateRule.json +14 -42
  354. models/mutation.policy.dynamicIpAllocation.updateSection.json +3 -9
  355. models/mutation.policy.internetFirewall.addRule.json +248 -542
  356. models/mutation.policy.internetFirewall.addSection.json +4 -12
  357. models/mutation.policy.internetFirewall.createPolicyRevision.json +3 -9
  358. models/mutation.policy.internetFirewall.discardPolicyRevision.json +2 -6
  359. models/mutation.policy.internetFirewall.moveRule.json +4 -12
  360. models/mutation.policy.internetFirewall.moveSection.json +4 -12
  361. models/mutation.policy.internetFirewall.publishPolicyRevision.json +3 -9
  362. models/mutation.policy.internetFirewall.removeRule.json +2 -6
  363. models/mutation.policy.internetFirewall.removeSection.json +2 -6
  364. models/mutation.policy.internetFirewall.updatePolicy.json +2 -6
  365. models/mutation.policy.internetFirewall.updateRule.json +247 -539
  366. models/mutation.policy.internetFirewall.updateSection.json +3 -9
  367. models/mutation.policy.remotePortFwd.addRule.json +35 -91
  368. models/mutation.policy.remotePortFwd.addSection.json +4 -12
  369. models/mutation.policy.remotePortFwd.createPolicyRevision.json +3 -9
  370. models/mutation.policy.remotePortFwd.discardPolicyRevision.json +2 -6
  371. models/mutation.policy.remotePortFwd.moveRule.json +4 -12
  372. models/mutation.policy.remotePortFwd.moveSection.json +4 -12
  373. models/mutation.policy.remotePortFwd.publishPolicyRevision.json +3 -9
  374. models/mutation.policy.remotePortFwd.removeRule.json +2 -6
  375. models/mutation.policy.remotePortFwd.removeSection.json +2 -6
  376. models/mutation.policy.remotePortFwd.updatePolicy.json +2 -6
  377. models/mutation.policy.remotePortFwd.updateRule.json +34 -88
  378. models/mutation.policy.remotePortFwd.updateSection.json +3 -9
  379. models/mutation.policy.socketLan.addRule.json +78 -185
  380. models/mutation.policy.socketLan.addSection.json +4 -12
  381. models/mutation.policy.socketLan.createPolicyRevision.json +3 -9
  382. models/mutation.policy.socketLan.discardPolicyRevision.json +2 -6
  383. models/mutation.policy.socketLan.moveRule.json +4 -12
  384. models/mutation.policy.socketLan.moveSection.json +4 -12
  385. models/mutation.policy.socketLan.publishPolicyRevision.json +3 -9
  386. models/mutation.policy.socketLan.removeRule.json +2 -6
  387. models/mutation.policy.socketLan.removeSection.json +2 -6
  388. models/mutation.policy.socketLan.updatePolicy.json +2 -6
  389. models/mutation.policy.socketLan.updateRule.json +77 -182
  390. models/mutation.policy.socketLan.updateSection.json +3 -9
  391. models/mutation.policy.terminalServer.addRule.json +10 -30
  392. models/mutation.policy.terminalServer.addSection.json +4 -12
  393. models/mutation.policy.terminalServer.createPolicyRevision.json +3 -9
  394. models/mutation.policy.terminalServer.discardPolicyRevision.json +2 -6
  395. models/mutation.policy.terminalServer.moveRule.json +4 -12
  396. models/mutation.policy.terminalServer.moveSection.json +4 -12
  397. models/mutation.policy.terminalServer.publishPolicyRevision.json +3 -9
  398. models/mutation.policy.terminalServer.removeRule.json +2 -6
  399. models/mutation.policy.terminalServer.removeSection.json +2 -6
  400. models/mutation.policy.terminalServer.updatePolicy.json +2 -6
  401. models/mutation.policy.terminalServer.updateRule.json +9 -27
  402. models/mutation.policy.terminalServer.updateSection.json +3 -9
  403. models/mutation.policy.wanFirewall.addRule.json +290 -654
  404. models/mutation.policy.wanFirewall.addSection.json +4 -12
  405. models/mutation.policy.wanFirewall.createPolicyRevision.json +3 -9
  406. models/mutation.policy.wanFirewall.discardPolicyRevision.json +2 -6
  407. models/mutation.policy.wanFirewall.moveRule.json +4 -12
  408. models/mutation.policy.wanFirewall.moveSection.json +4 -12
  409. models/mutation.policy.wanFirewall.publishPolicyRevision.json +3 -9
  410. models/mutation.policy.wanFirewall.removeRule.json +2 -6
  411. models/mutation.policy.wanFirewall.removeSection.json +2 -6
  412. models/mutation.policy.wanFirewall.updatePolicy.json +2 -6
  413. models/mutation.policy.wanFirewall.updateRule.json +289 -651
  414. models/mutation.policy.wanFirewall.updateSection.json +3 -9
  415. models/mutation.policy.wanNetwork.addRule.json +204 -514
  416. models/mutation.policy.wanNetwork.addSection.json +4 -12
  417. models/mutation.policy.wanNetwork.createPolicyRevision.json +3 -9
  418. models/mutation.policy.wanNetwork.discardPolicyRevision.json +2 -6
  419. models/mutation.policy.wanNetwork.moveRule.json +4 -12
  420. models/mutation.policy.wanNetwork.moveSection.json +4 -12
  421. models/mutation.policy.wanNetwork.publishPolicyRevision.json +3 -9
  422. models/mutation.policy.wanNetwork.removeRule.json +2 -6
  423. models/mutation.policy.wanNetwork.removeSection.json +2 -6
  424. models/mutation.policy.wanNetwork.updatePolicy.json +2 -6
  425. models/mutation.policy.wanNetwork.updateRule.json +203 -511
  426. models/mutation.policy.wanNetwork.updateSection.json +3 -9
  427. models/mutation.sandbox.deleteReport.json +1 -3
  428. models/mutation.sandbox.uploadFile.json +1 -3
  429. models/mutation.site.addBgpPeer.json +48 -123
  430. models/mutation.site.addCloudInterconnectPhysicalConnection.json +12 -36
  431. models/mutation.site.addCloudInterconnectSite.json +8 -24
  432. models/mutation.site.addIpsecIkeV2Site.json +10 -30
  433. models/mutation.site.addIpsecIkeV2SiteTunnels.json +14 -40
  434. models/mutation.site.addNetworkRange.json +15 -43
  435. models/mutation.site.addSecondaryAwsVSocket.json +5 -15
  436. models/mutation.site.addSecondaryAzureVSocket.json +4 -12
  437. models/mutation.site.addSocketAddOnCard.json +4 -12
  438. models/mutation.site.addSocketSite.json +12 -36
  439. models/mutation.site.addStaticHost.json +4 -10
  440. models/mutation.site.assignSiteBwLicense.json +120 -11782
  441. models/mutation.site.removeBgpPeer.json +1 -3
  442. models/mutation.site.removeCloudInterconnectPhysicalConnection.json +1 -3
  443. models/mutation.site.removeIpsecIkeV2SiteTunnels.json +2 -4
  444. models/mutation.site.removeNetworkRange.json +1 -1
  445. models/mutation.site.removeSecondaryAwsVSocket.json +1 -1
  446. models/mutation.site.removeSecondaryAzureVSocket.json +1 -1
  447. models/mutation.site.removeSite.json +1 -1
  448. models/mutation.site.removeSiteBwLicense.json +119 -11779
  449. models/mutation.site.removeSocketAddOnCard.json +3 -9
  450. models/mutation.site.removeStaticHost.json +1 -1
  451. models/mutation.site.replaceSiteBwLicense.json +121 -11785
  452. models/mutation.site.startSiteUpgrade.json +3 -9
  453. models/mutation.site.updateBgpPeer.json +47 -120
  454. models/mutation.site.updateCloudInterconnectPhysicalConnection.json +10 -30
  455. models/mutation.site.updateHa.json +4 -10
  456. models/mutation.site.updateIpsecIkeV2SiteGeneralDetails.json +11 -24
  457. models/mutation.site.updateIpsecIkeV2SiteTunnels.json +15 -43
  458. models/mutation.site.updateNetworkRange.json +15 -43
  459. models/mutation.site.updateSecondaryAwsVSocket.json +4 -12
  460. models/mutation.site.updateSecondaryAzureVSocket.json +3 -9
  461. models/mutation.site.updateSiteBwLicense.json +120 -11782
  462. models/mutation.site.updateSiteGeneralDetails.json +14 -40
  463. models/mutation.site.updateSocketInterface.json +26 -74
  464. models/mutation.site.updateStaticHost.json +4 -10
  465. models/mutation.sites.addBgpPeer.json +48 -123
  466. models/mutation.sites.addCloudInterconnectPhysicalConnection.json +12 -36
  467. models/mutation.sites.addCloudInterconnectSite.json +8 -24
  468. models/mutation.sites.addIpsecIkeV2Site.json +10 -30
  469. models/mutation.sites.addIpsecIkeV2SiteTunnels.json +14 -40
  470. models/mutation.sites.addNetworkRange.json +15 -43
  471. models/mutation.sites.addSecondaryAwsVSocket.json +5 -15
  472. models/mutation.sites.addSecondaryAzureVSocket.json +4 -12
  473. models/mutation.sites.addSocketAddOnCard.json +4 -12
  474. models/mutation.sites.addSocketSite.json +12 -36
  475. models/mutation.sites.addStaticHost.json +4 -10
  476. models/mutation.sites.assignSiteBwLicense.json +120 -11782
  477. models/mutation.sites.removeBgpPeer.json +1 -3
  478. models/mutation.sites.removeCloudInterconnectPhysicalConnection.json +1 -3
  479. models/mutation.sites.removeIpsecIkeV2SiteTunnels.json +2 -4
  480. models/mutation.sites.removeNetworkRange.json +1 -1
  481. models/mutation.sites.removeSecondaryAwsVSocket.json +1 -1
  482. models/mutation.sites.removeSecondaryAzureVSocket.json +1 -1
  483. models/mutation.sites.removeSite.json +1 -1
  484. models/mutation.sites.removeSiteBwLicense.json +119 -11779
  485. models/mutation.sites.removeSocketAddOnCard.json +3 -9
  486. models/mutation.sites.removeStaticHost.json +1 -1
  487. models/mutation.sites.replaceSiteBwLicense.json +121 -11785
  488. models/mutation.sites.startSiteUpgrade.json +3 -9
  489. models/mutation.sites.updateBgpPeer.json +47 -120
  490. models/mutation.sites.updateCloudInterconnectPhysicalConnection.json +10 -30
  491. models/mutation.sites.updateHa.json +4 -10
  492. models/mutation.sites.updateIpsecIkeV2SiteGeneralDetails.json +11 -24
  493. models/mutation.sites.updateIpsecIkeV2SiteTunnels.json +15 -43
  494. models/mutation.sites.updateNetworkRange.json +15 -43
  495. models/mutation.sites.updateSecondaryAwsVSocket.json +4 -12
  496. models/mutation.sites.updateSecondaryAzureVSocket.json +3 -9
  497. models/mutation.sites.updateSiteBwLicense.json +120 -11782
  498. models/mutation.sites.updateSiteGeneralDetails.json +14 -40
  499. models/mutation.sites.updateSocketInterface.json +26 -74
  500. models/mutation.sites.updateStaticHost.json +4 -10
  501. models/mutation.xdr.addStoryComment.json +15 -113
  502. models/mutation.xdr.analystFeedback.json +229 -26307
  503. models/mutation.xdr.deleteStoryComment.json +15 -113
  504. models/query.accountBySubdomain.json +2 -1
  505. models/query.accountMetrics.json +15 -12
  506. models/query.accountRoles.json +1 -1
  507. models/query.accountSnapshot.json +4 -2
  508. models/query.admin.json +1 -1
  509. models/query.admins.json +7 -10
  510. models/query.appStats.json +633 -33
  511. models/query.appStatsTimeSeries.json +15 -28
  512. models/query.auditFeed.json +225 -16
  513. models/query.catalogs.json +106 -215
  514. models/query.container.json +21 -471
  515. models/query.devices.json +333 -620
  516. models/query.enterpriseDirectory.json +3596 -0
  517. models/query.entityLookup.json +15 -27
  518. models/query.events.json +1875 -33
  519. models/query.eventsFeed.json +30 -14
  520. models/query.eventsTimeSeries.json +15 -28
  521. models/query.groups.group.members.json +23 -55
  522. models/query.groups.groupList.json +87 -266
  523. models/query.groups.whereUsed.json +2 -6
  524. models/query.hardware.json +92 -192
  525. models/query.hardwareManagement.json +21 -63
  526. models/query.licensing.json +76 -11721
  527. models/query.policy.appTenantRestriction.policy.json +2 -6
  528. models/query.policy.dynamicIpAllocation.policy.json +2 -6
  529. models/query.policy.internetFirewall.policy.json +2 -6
  530. models/query.policy.remotePortFwd.policy.json +2 -6
  531. models/query.policy.socketLan.policy.json +2 -6
  532. models/query.policy.terminalServer.policy.json +2 -6
  533. models/query.policy.wanFirewall.policy.json +2 -6
  534. models/query.policy.wanNetwork.policy.json +2 -6
  535. models/query.popLocations.json +34 -74
  536. models/query.sandbox.json +44 -83
  537. models/query.servicePrincipalAdmin.json +1098 -0
  538. models/query.site.availableVersionList.json +4 -5
  539. models/query.site.bgpPeer.json +2 -6
  540. models/query.site.bgpPeerList.json +2 -6
  541. models/query.site.cloudInterconnectConnectionConnectivity.json +1 -3
  542. models/query.site.cloudInterconnectPhysicalConnection.json +1 -3
  543. models/query.site.cloudInterconnectPhysicalConnectionId.json +3 -9
  544. models/query.site.secondaryAwsVSocket.json +1 -1
  545. models/query.site.secondaryAzureVSocket.json +1 -1
  546. models/query.site.siteBgpStatus.json +2 -6
  547. models/query.socketPortMetrics.json +465 -33
  548. models/query.socketPortMetricsTimeSeries.json +15 -28
  549. models/query.subDomains.json +1 -1
  550. models/query.xdr.stories.json +306 -26440
  551. models/query.xdr.story.json +40 -26100
  552. schema/catolib.py +1266 -956
  553. schema/importSchema.py +53 -48
  554. catocli/parsers/mutation/README.md +0 -4
  555. catocli/parsers/mutation_accountManagement_disableAccount/README.md +0 -16
  556. catocli/parsers/parserApiClient.py +0 -522
  557. catocli/parsers/query/README.md +0 -3
  558. catocli-2.1.0.dist-info/RECORD +0 -644
  559. models/mutation.accountManagement.disableAccount.json +0 -545
  560. models/query.policy.json +0 -40899
  561. models/query.site.json +0 -5688
  562. schema/remove_policyid.py +0 -89
  563. schema/remove_policyid_mutations.py +0 -89
  564. {catocli-2.1.0.dist-info → catocli-2.1.2.dist-info}/WHEEL +0 -0
  565. {catocli-2.1.0.dist-info → catocli-2.1.2.dist-info}/entry_points.txt +0 -0
  566. {catocli-2.1.0.dist-info → catocli-2.1.2.dist-info}/licenses/LICENSE +0 -0
  567. {catocli-2.1.0.dist-info → catocli-2.1.2.dist-info}/top_level.txt +0 -0
@@ -18,7 +18,7 @@ def export_socket_site_to_json(args, configuration):
18
18
  'missing_data': 0,
19
19
  'missing_interface_details': []
20
20
  }
21
-
21
+
22
22
  try:
23
23
  settings = {}
24
24
  with open(os.path.join(os.path.dirname(__file__), '../../../../settings.json'), 'r', encoding='utf-8') as f:
@@ -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"
@@ -107,6 +107,9 @@ def run_terraform_import(resource_address, resource_id, timeout=60, verbose=Fals
107
107
  print(f"Error: {result.stderr}")
108
108
  return False, result.stdout, result.stderr
109
109
 
110
+ except KeyboardInterrupt:
111
+ print(f"\nImport cancelled by user (Ctrl+C)")
112
+ raise # Re-raise to allow higher-level handling
110
113
  except subprocess.TimeoutExpired:
111
114
  print(f"Timeout: {resource_address} (exceeded {timeout}s)")
112
115
  return False, "", f"Command timed out after {timeout} seconds"
@@ -267,7 +270,11 @@ def import_if_rules_to_tf(args, configuration):
267
270
  "total_failed": total_failed,
268
271
  "module_name": args.module_name
269
272
  }]
270
-
273
+
274
+ except KeyboardInterrupt:
275
+ print("\nImport process cancelled by user (Ctrl+C).")
276
+ print("Partial imports may have been completed.")
277
+ return [{"success": False, "error": "Import cancelled by user"}]
271
278
  except Exception as e:
272
279
  print(f"ERROR: {str(e)}")
273
280
  return [{"success": False, "error": str(e)}]
@@ -445,7 +452,11 @@ def import_wf_rules_to_tf(args, configuration):
445
452
  "total_failed": total_failed,
446
453
  "module_name": args.module_name
447
454
  }]
448
-
455
+
456
+ except KeyboardInterrupt:
457
+ print("\nImport process cancelled by user (Ctrl+C).")
458
+ print("Partial imports may have been completed.")
459
+ return [{"success": False, "error": "Import cancelled by user"}]
449
460
  except Exception as e:
450
461
  print(f"ERROR: {str(e)}")
451
462
  return [{"success": False, "error": str(e)}]
@@ -174,6 +174,9 @@ def run_terraform_import(resource_address, resource_id, timeout=60, verbose=Fals
174
174
  print(f"Error: {result.stderr}")
175
175
  return False, result.stdout, result.stderr
176
176
 
177
+ except KeyboardInterrupt:
178
+ print(f"\nImport cancelled by user (Ctrl+C)")
179
+ raise # Re-raise to allow higher-level handling
177
180
  except subprocess.TimeoutExpired:
178
181
  print(f"Timeout: {resource_address} (exceeded {timeout}s)")
179
182
  return False, "", f"Command timed out after {timeout} seconds"
@@ -951,7 +954,11 @@ def import_socket_sites_to_tf(args, configuration):
951
954
  "total_failed": total_failed,
952
955
  "module_name": args.module_name
953
956
  }]
954
-
957
+
958
+ except KeyboardInterrupt:
959
+ print("\nImport process cancelled by user (Ctrl+C).")
960
+ print("Partial imports may have been completed.")
961
+ return [{"success": False, "error": "Import cancelled by user"}]
955
962
  except Exception as e:
956
963
  print(f"ERROR: {str(e)}")
957
964
  return [{"success": False, "error": str(e)}]