catocli 2.0.3__tar.gz → 2.0.4__tar.gz

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.
Files changed (529) hide show
  1. {catocli-2.0.3/catocli.egg-info → catocli-2.0.4}/PKG-INFO +1 -1
  2. {catocli-2.0.3 → catocli-2.0.4}/catocli/__init__.py +1 -1
  3. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/export_rules/__init__.py +2 -0
  4. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/export_rules/export_rules.py +29 -5
  5. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/export_sites/__init__.py +1 -0
  6. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/export_sites/export_sites.py +8 -1
  7. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/parserApiClient.py +163 -1
  8. catocli-2.0.4/catocli/parsers/raw/README.md +33 -0
  9. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/raw/__init__.py +2 -0
  10. {catocli-2.0.3 → catocli-2.0.4/catocli.egg-info}/PKG-INFO +1 -1
  11. catocli-2.0.3/catocli/parsers/raw/README.md +0 -19
  12. {catocli-2.0.3 → catocli-2.0.4}/LICENSE +0 -0
  13. {catocli-2.0.3 → catocli-2.0.4}/MANIFEST.in +0 -0
  14. {catocli-2.0.3 → catocli-2.0.4}/README.md +0 -0
  15. {catocli-2.0.3 → catocli-2.0.4}/catocli/Utils/clidriver.py +0 -0
  16. {catocli-2.0.3 → catocli-2.0.4}/catocli/Utils/profile_manager.py +0 -0
  17. {catocli-2.0.3 → catocli-2.0.4}/catocli/Utils/version_checker.py +0 -0
  18. {catocli-2.0.3 → catocli-2.0.4}/catocli/__main__.py +0 -0
  19. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/configure/__init__.py +0 -0
  20. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/configure/configure.py +0 -0
  21. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/README.md +0 -0
  22. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/__init__.py +0 -0
  23. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/customLib.py +0 -0
  24. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/import_rules_to_tf/__init__.py +0 -0
  25. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/import_rules_to_tf/import_rules_to_tf.py +0 -0
  26. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/import_sites_to_tf/__init__.py +0 -0
  27. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/custom/import_sites_to_tf/import_sites_to_tf.py +0 -0
  28. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation/README.md +0 -0
  29. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_accountManagement/README.md +0 -0
  30. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_accountManagement/__init__.py +0 -0
  31. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_accountManagement_addAccount/README.md +0 -0
  32. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_accountManagement_removeAccount/README.md +0 -0
  33. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_accountManagement_updateAccount/README.md +0 -0
  34. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_admin/README.md +0 -0
  35. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_admin/__init__.py +0 -0
  36. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_admin_addAdmin/README.md +0 -0
  37. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_admin_removeAdmin/README.md +0 -0
  38. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_admin_updateAdmin/README.md +0 -0
  39. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_container/README.md +0 -0
  40. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_container/__init__.py +0 -0
  41. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_container_delete/README.md +0 -0
  42. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_hardware/README.md +0 -0
  43. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_hardware/__init__.py +0 -0
  44. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_hardware_updateHardwareShipping/README.md +0 -0
  45. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy/README.md +0 -0
  46. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy/__init__.py +0 -0
  47. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction/README.md +0 -0
  48. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_addRule/README.md +0 -0
  49. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_addSection/README.md +0 -0
  50. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_createPolicyRevision/README.md +0 -0
  51. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_discardPolicyRevision/README.md +0 -0
  52. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_moveRule/README.md +0 -0
  53. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_moveSection/README.md +0 -0
  54. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_publishPolicyRevision/README.md +0 -0
  55. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_removeRule/README.md +0 -0
  56. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_removeSection/README.md +0 -0
  57. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_updatePolicy/README.md +0 -0
  58. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_updateRule/README.md +0 -0
  59. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_appTenantRestriction_updateSection/README.md +0 -0
  60. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation/README.md +0 -0
  61. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_addRule/README.md +0 -0
  62. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_addSection/README.md +0 -0
  63. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_createPolicyRevision/README.md +0 -0
  64. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_discardPolicyRevision/README.md +0 -0
  65. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_moveRule/README.md +0 -0
  66. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_moveSection/README.md +0 -0
  67. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_publishPolicyRevision/README.md +0 -0
  68. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_removeRule/README.md +0 -0
  69. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_removeSection/README.md +0 -0
  70. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_updatePolicy/README.md +0 -0
  71. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_updateRule/README.md +0 -0
  72. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_dynamicIpAllocation_updateSection/README.md +0 -0
  73. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall/README.md +0 -0
  74. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_addRule/README.md +0 -0
  75. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_addSection/README.md +0 -0
  76. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_createPolicyRevision/README.md +0 -0
  77. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_discardPolicyRevision/README.md +0 -0
  78. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_moveRule/README.md +0 -0
  79. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_moveSection/README.md +0 -0
  80. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_publishPolicyRevision/README.md +0 -0
  81. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_removeRule/README.md +0 -0
  82. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_removeSection/README.md +0 -0
  83. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_updatePolicy/README.md +0 -0
  84. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_updateRule/README.md +0 -0
  85. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_internetFirewall_updateSection/README.md +0 -0
  86. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd/README.md +0 -0
  87. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_addRule/README.md +0 -0
  88. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_addSection/README.md +0 -0
  89. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_createPolicyRevision/README.md +0 -0
  90. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_discardPolicyRevision/README.md +0 -0
  91. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_moveRule/README.md +0 -0
  92. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_moveSection/README.md +0 -0
  93. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_publishPolicyRevision/README.md +0 -0
  94. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_removeRule/README.md +0 -0
  95. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_removeSection/README.md +0 -0
  96. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_updatePolicy/README.md +0 -0
  97. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_updateRule/README.md +0 -0
  98. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_remotePortFwd_updateSection/README.md +0 -0
  99. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan/README.md +0 -0
  100. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_addRule/README.md +0 -0
  101. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_addSection/README.md +0 -0
  102. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_createPolicyRevision/README.md +0 -0
  103. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_discardPolicyRevision/README.md +0 -0
  104. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_moveRule/README.md +0 -0
  105. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_moveSection/README.md +0 -0
  106. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_publishPolicyRevision/README.md +0 -0
  107. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_removeRule/README.md +0 -0
  108. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_removeSection/README.md +0 -0
  109. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_updatePolicy/README.md +0 -0
  110. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_updateRule/README.md +0 -0
  111. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_socketLan_updateSection/README.md +0 -0
  112. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer/README.md +0 -0
  113. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_addRule/README.md +0 -0
  114. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_addSection/README.md +0 -0
  115. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_createPolicyRevision/README.md +0 -0
  116. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_discardPolicyRevision/README.md +0 -0
  117. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_moveRule/README.md +0 -0
  118. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_moveSection/README.md +0 -0
  119. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_publishPolicyRevision/README.md +0 -0
  120. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_removeRule/README.md +0 -0
  121. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_removeSection/README.md +0 -0
  122. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_updatePolicy/README.md +0 -0
  123. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_updateRule/README.md +0 -0
  124. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_terminalServer_updateSection/README.md +0 -0
  125. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall/README.md +0 -0
  126. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_addRule/README.md +0 -0
  127. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_addSection/README.md +0 -0
  128. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_createPolicyRevision/README.md +0 -0
  129. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_discardPolicyRevision/README.md +0 -0
  130. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_moveRule/README.md +0 -0
  131. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_moveSection/README.md +0 -0
  132. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_publishPolicyRevision/README.md +0 -0
  133. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_removeRule/README.md +0 -0
  134. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_removeSection/README.md +0 -0
  135. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_updatePolicy/README.md +0 -0
  136. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_updateRule/README.md +0 -0
  137. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanFirewall_updateSection/README.md +0 -0
  138. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork/README.md +0 -0
  139. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_addRule/README.md +0 -0
  140. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_addSection/README.md +0 -0
  141. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_createPolicyRevision/README.md +0 -0
  142. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_discardPolicyRevision/README.md +0 -0
  143. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_moveRule/README.md +0 -0
  144. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_moveSection/README.md +0 -0
  145. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_publishPolicyRevision/README.md +0 -0
  146. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_removeRule/README.md +0 -0
  147. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_removeSection/README.md +0 -0
  148. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_updatePolicy/README.md +0 -0
  149. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_updateRule/README.md +0 -0
  150. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_policy_wanNetwork_updateSection/README.md +0 -0
  151. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sandbox/README.md +0 -0
  152. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sandbox/__init__.py +0 -0
  153. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sandbox_deleteReport/README.md +0 -0
  154. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sandbox_uploadFile/README.md +0 -0
  155. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site/README.md +0 -0
  156. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site/__init__.py +0 -0
  157. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addBgpPeer/README.md +0 -0
  158. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addCloudInterconnectPhysicalConnection/README.md +0 -0
  159. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addCloudInterconnectSite/README.md +0 -0
  160. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addIpsecIkeV2Site/README.md +0 -0
  161. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addIpsecIkeV2SiteTunnels/README.md +0 -0
  162. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addNetworkRange/README.md +0 -0
  163. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addSecondaryAwsVSocket/README.md +0 -0
  164. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addSecondaryAzureVSocket/README.md +0 -0
  165. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addSocketAddOnCard/README.md +0 -0
  166. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addSocketSite/README.md +0 -0
  167. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_addStaticHost/README.md +0 -0
  168. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeBgpPeer/README.md +0 -0
  169. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeCloudInterconnectPhysicalConnection/README.md +0 -0
  170. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeIpsecIkeV2SiteTunnels/README.md +0 -0
  171. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeNetworkRange/README.md +0 -0
  172. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeSite/README.md +0 -0
  173. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeSocketAddOnCard/README.md +0 -0
  174. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_removeStaticHost/README.md +0 -0
  175. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_startSiteUpgrade/README.md +0 -0
  176. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateBgpPeer/README.md +0 -0
  177. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateCloudInterconnectPhysicalConnection/README.md +0 -0
  178. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateHa/README.md +0 -0
  179. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateIpsecIkeV2SiteGeneralDetails/README.md +0 -0
  180. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateIpsecIkeV2SiteTunnels/README.md +0 -0
  181. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateNetworkRange/README.md +0 -0
  182. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateSiteGeneralDetails/README.md +0 -0
  183. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateSocketInterface/README.md +0 -0
  184. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_site_updateStaticHost/README.md +0 -0
  185. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites/README.md +0 -0
  186. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites/__init__.py +0 -0
  187. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addBgpPeer/README.md +0 -0
  188. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addCloudInterconnectPhysicalConnection/README.md +0 -0
  189. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addCloudInterconnectSite/README.md +0 -0
  190. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addIpsecIkeV2Site/README.md +0 -0
  191. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addIpsecIkeV2SiteTunnels/README.md +0 -0
  192. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addNetworkRange/README.md +0 -0
  193. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addSecondaryAwsVSocket/README.md +0 -0
  194. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addSecondaryAzureVSocket/README.md +0 -0
  195. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addSocketAddOnCard/README.md +0 -0
  196. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addSocketSite/README.md +0 -0
  197. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_addStaticHost/README.md +0 -0
  198. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeBgpPeer/README.md +0 -0
  199. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeCloudInterconnectPhysicalConnection/README.md +0 -0
  200. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeIpsecIkeV2SiteTunnels/README.md +0 -0
  201. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeNetworkRange/README.md +0 -0
  202. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeSite/README.md +0 -0
  203. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeSocketAddOnCard/README.md +0 -0
  204. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_removeStaticHost/README.md +0 -0
  205. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_startSiteUpgrade/README.md +0 -0
  206. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateBgpPeer/README.md +0 -0
  207. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateCloudInterconnectPhysicalConnection/README.md +0 -0
  208. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateHa/README.md +0 -0
  209. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateIpsecIkeV2SiteGeneralDetails/README.md +0 -0
  210. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateIpsecIkeV2SiteTunnels/README.md +0 -0
  211. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateNetworkRange/README.md +0 -0
  212. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateSiteGeneralDetails/README.md +0 -0
  213. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateSocketInterface/README.md +0 -0
  214. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_sites_updateStaticHost/README.md +0 -0
  215. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_xdr/README.md +0 -0
  216. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_xdr/__init__.py +0 -0
  217. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_xdr_addStoryComment/README.md +0 -0
  218. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_xdr_analystFeedback/README.md +0 -0
  219. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/mutation_xdr_deleteStoryComment/README.md +0 -0
  220. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query/README.md +0 -0
  221. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountBySubdomain/README.md +0 -0
  222. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountBySubdomain/__init__.py +0 -0
  223. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountManagement/README.md +0 -0
  224. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountManagement/__init__.py +0 -0
  225. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountMetrics/README.md +0 -0
  226. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountMetrics/__init__.py +0 -0
  227. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountRoles/README.md +0 -0
  228. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountRoles/__init__.py +0 -0
  229. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountSnapshot/README.md +0 -0
  230. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_accountSnapshot/__init__.py +0 -0
  231. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_admin/README.md +0 -0
  232. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_admin/__init__.py +0 -0
  233. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_admins/README.md +0 -0
  234. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_admins/__init__.py +0 -0
  235. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_appStats/README.md +0 -0
  236. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_appStats/__init__.py +0 -0
  237. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_appStatsTimeSeries/README.md +0 -0
  238. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_appStatsTimeSeries/__init__.py +0 -0
  239. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_auditFeed/README.md +0 -0
  240. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_auditFeed/__init__.py +0 -0
  241. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_catalogs/README.md +0 -0
  242. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_catalogs/__init__.py +0 -0
  243. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_container/README.md +0 -0
  244. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_container/__init__.py +0 -0
  245. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_devices/README.md +0 -0
  246. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_devices/__init__.py +0 -0
  247. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_entityLookup/README.md +0 -0
  248. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_entityLookup/__init__.py +0 -0
  249. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_events/README.md +0 -0
  250. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_events/__init__.py +0 -0
  251. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_eventsFeed/README.md +0 -0
  252. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_eventsFeed/__init__.py +0 -0
  253. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_eventsTimeSeries/README.md +0 -0
  254. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_eventsTimeSeries/__init__.py +0 -0
  255. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_hardware/README.md +0 -0
  256. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_hardware/__init__.py +0 -0
  257. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_hardwareManagement/README.md +0 -0
  258. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_hardwareManagement/__init__.py +0 -0
  259. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_licensing/README.md +0 -0
  260. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_licensing/__init__.py +0 -0
  261. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_policy/README.md +0 -0
  262. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_policy/__init__.py +0 -0
  263. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_sandbox/README.md +0 -0
  264. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_sandbox/__init__.py +0 -0
  265. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_site/README.md +0 -0
  266. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_site/__init__.py +0 -0
  267. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_siteLocation/README.md +0 -0
  268. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_siteLocation/__init__.py +0 -0
  269. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_subDomains/README.md +0 -0
  270. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_subDomains/__init__.py +0 -0
  271. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_xdr/README.md +0 -0
  272. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_xdr/__init__.py +0 -0
  273. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_xdr_stories/README.md +0 -0
  274. {catocli-2.0.3 → catocli-2.0.4}/catocli/parsers/query_xdr_story/README.md +0 -0
  275. {catocli-2.0.3 → catocli-2.0.4}/catocli.egg-info/SOURCES.txt +0 -0
  276. {catocli-2.0.3 → catocli-2.0.4}/catocli.egg-info/dependency_links.txt +0 -0
  277. {catocli-2.0.3 → catocli-2.0.4}/catocli.egg-info/entry_points.txt +0 -0
  278. {catocli-2.0.3 → catocli-2.0.4}/catocli.egg-info/requires.txt +0 -0
  279. {catocli-2.0.3 → catocli-2.0.4}/catocli.egg-info/top_level.txt +0 -0
  280. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/__init__.py +0 -0
  281. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/api/__init__.py +0 -0
  282. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/api/call_api.py +0 -0
  283. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/api_client.py +0 -0
  284. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/api_client_types.py +0 -0
  285. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/configuration.py +0 -0
  286. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/models/__init__.py +0 -0
  287. {catocli-2.0.3 → catocli-2.0.4}/graphql_client/models/no_schema.py +0 -0
  288. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.accountManagement.addAccount.json +0 -0
  289. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.accountManagement.removeAccount.json +0 -0
  290. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.accountManagement.updateAccount.json +0 -0
  291. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.admin.addAdmin.json +0 -0
  292. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.admin.removeAdmin.json +0 -0
  293. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.admin.updateAdmin.json +0 -0
  294. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.container.delete.json +0 -0
  295. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.hardware.updateHardwareShipping.json +0 -0
  296. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.addRule.json +0 -0
  297. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.addSection.json +0 -0
  298. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.createPolicyRevision.json +0 -0
  299. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.discardPolicyRevision.json +0 -0
  300. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.moveRule.json +0 -0
  301. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.moveSection.json +0 -0
  302. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.publishPolicyRevision.json +0 -0
  303. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.removeRule.json +0 -0
  304. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.removeSection.json +0 -0
  305. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.updatePolicy.json +0 -0
  306. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.updateRule.json +0 -0
  307. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.appTenantRestriction.updateSection.json +0 -0
  308. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.addRule.json +0 -0
  309. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.addSection.json +0 -0
  310. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.createPolicyRevision.json +0 -0
  311. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.discardPolicyRevision.json +0 -0
  312. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.moveRule.json +0 -0
  313. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.moveSection.json +0 -0
  314. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.publishPolicyRevision.json +0 -0
  315. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.removeRule.json +0 -0
  316. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.removeSection.json +0 -0
  317. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.updatePolicy.json +0 -0
  318. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.updateRule.json +0 -0
  319. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.dynamicIpAllocation.updateSection.json +0 -0
  320. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.addRule.json +0 -0
  321. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.addSection.json +0 -0
  322. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.createPolicyRevision.json +0 -0
  323. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.discardPolicyRevision.json +0 -0
  324. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.moveRule.json +0 -0
  325. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.moveSection.json +0 -0
  326. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.publishPolicyRevision.json +0 -0
  327. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.removeRule.json +0 -0
  328. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.removeSection.json +0 -0
  329. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.updatePolicy.json +0 -0
  330. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.updateRule.json +0 -0
  331. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.internetFirewall.updateSection.json +0 -0
  332. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.addRule.json +0 -0
  333. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.addSection.json +0 -0
  334. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.createPolicyRevision.json +0 -0
  335. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.discardPolicyRevision.json +0 -0
  336. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.moveRule.json +0 -0
  337. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.moveSection.json +0 -0
  338. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.publishPolicyRevision.json +0 -0
  339. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.removeRule.json +0 -0
  340. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.removeSection.json +0 -0
  341. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.updatePolicy.json +0 -0
  342. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.updateRule.json +0 -0
  343. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.remotePortFwd.updateSection.json +0 -0
  344. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.addRule.json +0 -0
  345. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.addSection.json +0 -0
  346. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.createPolicyRevision.json +0 -0
  347. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.discardPolicyRevision.json +0 -0
  348. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.moveRule.json +0 -0
  349. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.moveSection.json +0 -0
  350. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.publishPolicyRevision.json +0 -0
  351. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.removeRule.json +0 -0
  352. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.removeSection.json +0 -0
  353. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.updatePolicy.json +0 -0
  354. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.updateRule.json +0 -0
  355. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.socketLan.updateSection.json +0 -0
  356. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.addRule.json +0 -0
  357. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.addSection.json +0 -0
  358. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.createPolicyRevision.json +0 -0
  359. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.discardPolicyRevision.json +0 -0
  360. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.moveRule.json +0 -0
  361. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.moveSection.json +0 -0
  362. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.publishPolicyRevision.json +0 -0
  363. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.removeRule.json +0 -0
  364. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.removeSection.json +0 -0
  365. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.updatePolicy.json +0 -0
  366. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.updateRule.json +0 -0
  367. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.terminalServer.updateSection.json +0 -0
  368. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.addRule.json +0 -0
  369. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.addSection.json +0 -0
  370. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.createPolicyRevision.json +0 -0
  371. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.discardPolicyRevision.json +0 -0
  372. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.moveRule.json +0 -0
  373. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.moveSection.json +0 -0
  374. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.publishPolicyRevision.json +0 -0
  375. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.removeRule.json +0 -0
  376. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.removeSection.json +0 -0
  377. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.updatePolicy.json +0 -0
  378. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.updateRule.json +0 -0
  379. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanFirewall.updateSection.json +0 -0
  380. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.addRule.json +0 -0
  381. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.addSection.json +0 -0
  382. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.createPolicyRevision.json +0 -0
  383. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.discardPolicyRevision.json +0 -0
  384. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.moveRule.json +0 -0
  385. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.moveSection.json +0 -0
  386. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.publishPolicyRevision.json +0 -0
  387. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.removeRule.json +0 -0
  388. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.removeSection.json +0 -0
  389. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.updatePolicy.json +0 -0
  390. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.updateRule.json +0 -0
  391. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.policy.wanNetwork.updateSection.json +0 -0
  392. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sandbox.deleteReport.json +0 -0
  393. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sandbox.uploadFile.json +0 -0
  394. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addBgpPeer.json +0 -0
  395. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addCloudInterconnectPhysicalConnection.json +0 -0
  396. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addCloudInterconnectSite.json +0 -0
  397. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addIpsecIkeV2Site.json +0 -0
  398. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addIpsecIkeV2SiteTunnels.json +0 -0
  399. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addNetworkRange.json +0 -0
  400. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addSecondaryAwsVSocket.json +0 -0
  401. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addSecondaryAzureVSocket.json +0 -0
  402. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addSocketAddOnCard.json +0 -0
  403. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addSocketSite.json +0 -0
  404. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.addStaticHost.json +0 -0
  405. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeBgpPeer.json +0 -0
  406. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeCloudInterconnectPhysicalConnection.json +0 -0
  407. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeIpsecIkeV2SiteTunnels.json +0 -0
  408. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeNetworkRange.json +0 -0
  409. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeSite.json +0 -0
  410. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeSocketAddOnCard.json +0 -0
  411. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.removeStaticHost.json +0 -0
  412. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.startSiteUpgrade.json +0 -0
  413. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateBgpPeer.json +0 -0
  414. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateCloudInterconnectPhysicalConnection.json +0 -0
  415. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateHa.json +0 -0
  416. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateIpsecIkeV2SiteGeneralDetails.json +0 -0
  417. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateIpsecIkeV2SiteTunnels.json +0 -0
  418. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateNetworkRange.json +0 -0
  419. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateSiteGeneralDetails.json +0 -0
  420. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateSocketInterface.json +0 -0
  421. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.site.updateStaticHost.json +0 -0
  422. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addBgpPeer.json +0 -0
  423. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addCloudInterconnectPhysicalConnection.json +0 -0
  424. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addCloudInterconnectSite.json +0 -0
  425. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addIpsecIkeV2Site.json +0 -0
  426. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addIpsecIkeV2SiteTunnels.json +0 -0
  427. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addNetworkRange.json +0 -0
  428. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addSecondaryAwsVSocket.json +0 -0
  429. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addSecondaryAzureVSocket.json +0 -0
  430. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addSocketAddOnCard.json +0 -0
  431. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addSocketSite.json +0 -0
  432. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.addStaticHost.json +0 -0
  433. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeBgpPeer.json +0 -0
  434. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeCloudInterconnectPhysicalConnection.json +0 -0
  435. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeIpsecIkeV2SiteTunnels.json +0 -0
  436. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeNetworkRange.json +0 -0
  437. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeSite.json +0 -0
  438. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeSocketAddOnCard.json +0 -0
  439. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.removeStaticHost.json +0 -0
  440. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.startSiteUpgrade.json +0 -0
  441. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateBgpPeer.json +0 -0
  442. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateCloudInterconnectPhysicalConnection.json +0 -0
  443. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateHa.json +0 -0
  444. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateIpsecIkeV2SiteGeneralDetails.json +0 -0
  445. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateIpsecIkeV2SiteTunnels.json +0 -0
  446. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateNetworkRange.json +0 -0
  447. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateSiteGeneralDetails.json +0 -0
  448. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateSocketInterface.json +0 -0
  449. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.sites.updateStaticHost.json +0 -0
  450. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.xdr.addStoryComment.json +0 -0
  451. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.xdr.analystFeedback.json +0 -0
  452. {catocli-2.0.3 → catocli-2.0.4}/models/mutation.xdr.deleteStoryComment.json +0 -0
  453. {catocli-2.0.3 → catocli-2.0.4}/models/query.accountBySubdomain.json +0 -0
  454. {catocli-2.0.3 → catocli-2.0.4}/models/query.accountManagement.json +0 -0
  455. {catocli-2.0.3 → catocli-2.0.4}/models/query.accountMetrics.json +0 -0
  456. {catocli-2.0.3 → catocli-2.0.4}/models/query.accountRoles.json +0 -0
  457. {catocli-2.0.3 → catocli-2.0.4}/models/query.accountSnapshot.json +0 -0
  458. {catocli-2.0.3 → catocli-2.0.4}/models/query.admin.json +0 -0
  459. {catocli-2.0.3 → catocli-2.0.4}/models/query.admins.json +0 -0
  460. {catocli-2.0.3 → catocli-2.0.4}/models/query.appStats.json +0 -0
  461. {catocli-2.0.3 → catocli-2.0.4}/models/query.appStatsTimeSeries.json +0 -0
  462. {catocli-2.0.3 → catocli-2.0.4}/models/query.auditFeed.json +0 -0
  463. {catocli-2.0.3 → catocli-2.0.4}/models/query.catalogs.json +0 -0
  464. {catocli-2.0.3 → catocli-2.0.4}/models/query.container.json +0 -0
  465. {catocli-2.0.3 → catocli-2.0.4}/models/query.devices.json +0 -0
  466. {catocli-2.0.3 → catocli-2.0.4}/models/query.entityLookup.json +0 -0
  467. {catocli-2.0.3 → catocli-2.0.4}/models/query.events.json +0 -0
  468. {catocli-2.0.3 → catocli-2.0.4}/models/query.eventsFeed.json +0 -0
  469. {catocli-2.0.3 → catocli-2.0.4}/models/query.eventsTimeSeries.json +0 -0
  470. {catocli-2.0.3 → catocli-2.0.4}/models/query.hardware.json +0 -0
  471. {catocli-2.0.3 → catocli-2.0.4}/models/query.hardwareManagement.json +0 -0
  472. {catocli-2.0.3 → catocli-2.0.4}/models/query.licensing.json +0 -0
  473. {catocli-2.0.3 → catocli-2.0.4}/models/query.policy.json +0 -0
  474. {catocli-2.0.3 → catocli-2.0.4}/models/query.sandbox.json +0 -0
  475. {catocli-2.0.3 → catocli-2.0.4}/models/query.site.json +0 -0
  476. {catocli-2.0.3 → catocli-2.0.4}/models/query.siteLocation.json +0 -0
  477. {catocli-2.0.3 → catocli-2.0.4}/models/query.subDomains.json +0 -0
  478. {catocli-2.0.3 → catocli-2.0.4}/models/query.xdr.stories.json +0 -0
  479. {catocli-2.0.3 → catocli-2.0.4}/models/query.xdr.story.json +0 -0
  480. {catocli-2.0.3 → catocli-2.0.4}/schema/catolib.py +0 -0
  481. {catocli-2.0.3 → catocli-2.0.4}/schema/importSchema.py +0 -0
  482. {catocli-2.0.3 → catocli-2.0.4}/scripts/catolib.py +0 -0
  483. {catocli-2.0.3 → catocli-2.0.4}/scripts/export_if_rules_to_json.py +0 -0
  484. {catocli-2.0.3 → catocli-2.0.4}/scripts/export_wf_rules_to_json.py +0 -0
  485. {catocli-2.0.3 → catocli-2.0.4}/scripts/import_wf_rules_to_tfstate.py +0 -0
  486. {catocli-2.0.3 → catocli-2.0.4}/setup.cfg +0 -0
  487. {catocli-2.0.3 → catocli-2.0.4}/setup.py +0 -0
  488. {catocli-2.0.3 → catocli-2.0.4}/vendor/certifi/__init__.py +0 -0
  489. {catocli-2.0.3 → catocli-2.0.4}/vendor/certifi/__main__.py +0 -0
  490. {catocli-2.0.3 → catocli-2.0.4}/vendor/certifi/core.py +0 -0
  491. {catocli-2.0.3 → catocli-2.0.4}/vendor/certifi/py.typed +0 -0
  492. {catocli-2.0.3 → catocli-2.0.4}/vendor/six.py +0 -0
  493. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/__init__.py +0 -0
  494. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/_base_connection.py +0 -0
  495. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/_collections.py +0 -0
  496. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/_request_methods.py +0 -0
  497. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/_version.py +0 -0
  498. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/connection.py +0 -0
  499. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/connectionpool.py +0 -0
  500. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/__init__.py +0 -0
  501. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/emscripten/__init__.py +0 -0
  502. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/emscripten/connection.py +0 -0
  503. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/emscripten/fetch.py +0 -0
  504. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/emscripten/request.py +0 -0
  505. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/emscripten/response.py +0 -0
  506. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/pyopenssl.py +0 -0
  507. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/contrib/socks.py +0 -0
  508. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/exceptions.py +0 -0
  509. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/fields.py +0 -0
  510. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/filepost.py +0 -0
  511. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/http2/__init__.py +0 -0
  512. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/http2/connection.py +0 -0
  513. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/http2/probe.py +0 -0
  514. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/poolmanager.py +0 -0
  515. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/py.typed +0 -0
  516. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/response.py +0 -0
  517. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/__init__.py +0 -0
  518. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/connection.py +0 -0
  519. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/proxy.py +0 -0
  520. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/request.py +0 -0
  521. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/response.py +0 -0
  522. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/retry.py +0 -0
  523. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/ssl_.py +0 -0
  524. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/ssl_match_hostname.py +0 -0
  525. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/ssltransport.py +0 -0
  526. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/timeout.py +0 -0
  527. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/url.py +0 -0
  528. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/util.py +0 -0
  529. {catocli-2.0.3 → catocli-2.0.4}/vendor/urllib3/util/wait.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: catocli
3
- Version: 2.0.3
3
+ Version: 2.0.4
4
4
  Summary: Cato Networks cli wrapper for the GraphQL API.
5
5
  Home-page: https://github.com/Cato-Networks/cato-cli
6
6
  Author: Cato Networks
@@ -1,2 +1,2 @@
1
- __version__ = "2.0.3"
1
+ __version__ = "2.0.4"
2
2
  __cato_host__ = "https://api.catonetworks.com/api/v1/graphql2"
@@ -20,6 +20,7 @@ def export_rules_parse(subparsers):
20
20
 
21
21
  if_rules_parser.add_argument('-accountID', help='Account ID to export rules from (uses CATO_ACCOUNT_ID environment variable if not specified)', required=False)
22
22
  if_rules_parser.add_argument('--output-file-path', help='Full path including filename and extension for output file. If not specified, uses default: config_data/all_ifw_rules_and_sections_{account_id}.json')
23
+ if_rules_parser.add_argument('--append-timestamp', action='store_true', help='Append timestamp to the filename after account ID (format: YYYY-MM-DD_HH-MM-SS)')
23
24
  if_rules_parser.add_argument('-v', '--verbose', action='store_true', help='Verbose output')
24
25
 
25
26
  if_rules_parser.set_defaults(func=export_rules.export_if_rules_to_json)
@@ -33,6 +34,7 @@ def export_rules_parse(subparsers):
33
34
 
34
35
  wf_rules_parser.add_argument('-accountID', help='Account ID to export rules from (uses CATO_ACCOUNT_ID environment variable if not specified)', required=False)
35
36
  wf_rules_parser.add_argument('--output-file-path', help='Full path including filename and extension for output file. If not specified, uses default: config_data/all_wf_rules_and_sections_{account_id}.json')
37
+ wf_rules_parser.add_argument('--append-timestamp', action='store_true', help='Append timestamp to the filename after account ID (format: YYYY-MM-DD_HH-MM-SS)')
36
38
  wf_rules_parser.add_argument('-v', '--verbose', action='store_true', help='Verbose output')
37
39
 
38
40
  wf_rules_parser.set_defaults(func=export_rules.export_wf_rules_to_json)
@@ -1,6 +1,7 @@
1
1
  import os
2
2
  import json
3
3
  import sys
4
+ from datetime import datetime
4
5
  from graphql_client.api.call_api import ApiClient, CallApi
5
6
  from graphql_client.api_client import ApiException
6
7
  from ..customLib import writeDataToFile, makeCall, getAccountID
@@ -64,10 +65,15 @@ def export_if_rules_to_json(args, configuration):
64
65
  processed_data['data']['policy']['internetFirewall']['policy']['rules'] = filtered_rules
65
66
 
66
67
  # Add index_in_section to each rule
67
- # Group rules by section and add index_in_section
68
+ # Handle empty section names by assigning a default section name
68
69
  section_counters = {}
69
70
  for rule_data in processed_data['data']['policy']['internetFirewall']['policy']['rules']:
70
71
  section_name = rule_data['rule']['section']['name']
72
+ # If section name is empty, use "Default Section" as the section name
73
+ if not section_name or section_name.strip() == "":
74
+ section_name = "Default Section"
75
+ rule_data['rule']['section']['name'] = section_name
76
+
71
77
  if section_name not in section_counters:
72
78
  section_counters[section_name] = 0
73
79
  section_counters[section_name] += 1
@@ -104,12 +110,18 @@ def export_if_rules_to_json(args, configuration):
104
110
 
105
111
  # Replace the original sections array with the reformatted one
106
112
  processed_data['data']['policy']['internetFirewall']['policy']['sections'] = processed_sections
113
+
114
+ # Handle timestamp in filename if requested
115
+ filename_template = "all_ifw_rules_and_sections_{account_id}.json"
116
+ if hasattr(args, 'append_timestamp') and args.append_timestamp:
117
+ timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
118
+ filename_template = "all_ifw_rules_and_sections_{account_id}_" + timestamp + ".json"
107
119
 
108
120
  output_file = writeDataToFile(
109
121
  data=processed_data,
110
122
  args=args,
111
123
  account_id=account_id,
112
- default_filename_template="all_ifw_rules_and_sections_{account_id}.json",
124
+ default_filename_template=filename_template,
113
125
  default_directory="config_data"
114
126
  )
115
127
 
@@ -157,9 +169,15 @@ def export_wf_rules_to_json(args, configuration):
157
169
  processed_data['data']['policy']['wanFirewall']['policy']['rules'] = filtered_rules
158
170
 
159
171
  # Add index_in_section to each rule
172
+ # Handle empty section names by assigning a default section name
160
173
  section_counters = {}
161
174
  for rule_data in processed_data['data']['policy']['wanFirewall']['policy']['rules']:
162
175
  section_name = rule_data['rule']['section']['name']
176
+ # If section name is empty, use "Default Section" as the section name
177
+ if not section_name or section_name.strip() == "":
178
+ section_name = "Default Section"
179
+ rule_data['rule']['section']['name'] = section_name
180
+
163
181
  if section_name not in section_counters:
164
182
  section_counters[section_name] = 0
165
183
  section_counters[section_name] += 1
@@ -174,8 +192,8 @@ def export_wf_rules_to_json(args, configuration):
174
192
  "section_name": rule_info['section']['name'],
175
193
  "rule_name": rule_info['name']
176
194
  })
177
- # rule_info.pop("index_in_section", None)
178
- # rule_info.pop("index", None)
195
+ rule_info.pop("index_in_section", None)
196
+ rule_info.pop("index", None)
179
197
  # rule_info["enabled"] = True
180
198
 
181
199
  # Add rules_in_sections to the policy structure
@@ -194,12 +212,18 @@ def export_wf_rules_to_json(args, configuration):
194
212
 
195
213
  # Replace the original sections array with the reformatted one
196
214
  processed_data['data']['policy']['wanFirewall']['policy']['sections'] = processed_sections
215
+
216
+ # Handle timestamp in filename if requested
217
+ filename_template = "all_wf_rules_and_sections_{account_id}.json"
218
+ if hasattr(args, 'append_timestamp') and args.append_timestamp:
219
+ timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
220
+ filename_template = "all_wf_rules_and_sections_{account_id}_" + timestamp + ".json"
197
221
 
198
222
  output_file = writeDataToFile(
199
223
  data=processed_data,
200
224
  args=args,
201
225
  account_id=account_id,
202
- default_filename_template="all_wf_rules_and_sections_{account_id}.json",
226
+ default_filename_template=filename_template,
203
227
  default_directory="config_data"
204
228
  )
205
229
 
@@ -13,6 +13,7 @@ def export_sites_parse(subparsers):
13
13
  socket_sites_parser.add_argument('-accountID', help='Account ID to export data from (uses CATO_ACCOUNT_ID environment variable if not specified)', required=False)
14
14
  socket_sites_parser.add_argument('-siteIDs', help='Comma-separated list of site IDs to export (e.g., "132606,132964,133511")', required=False)
15
15
  socket_sites_parser.add_argument('--output-file-path', help='Full path including filename and extension for output file. If not specified, uses default: config_data/socket_site_data_{account_id}.json')
16
+ socket_sites_parser.add_argument('--append-timestamp', action='store_true', help='Append timestamp to the filename after account ID (format: YYYY-MM-DD_HH-MM-SS)')
16
17
  socket_sites_parser.add_argument('-v', '--verbose', action='store_true', help='Verbose output')
17
18
 
18
19
  socket_sites_parser.set_defaults(func=export_sites.export_socket_site_to_json)
@@ -2,6 +2,7 @@ import os
2
2
  import json
3
3
  import traceback
4
4
  import sys
5
+ from datetime import datetime
5
6
  from graphql_client.api.call_api import ApiClient, CallApi
6
7
  from graphql_client.api_client import ApiException
7
8
  from ..customLib import writeDataToFile, makeCall, getAccountID
@@ -200,12 +201,18 @@ def export_socket_site_to_json(args, configuration):
200
201
  print(f"This is usually caused by data inconsistencies and can be safely ignored if the export completes successfully.")
201
202
  print(f"=========================\n")
202
203
 
204
+ # Handle timestamp in filename if requested
205
+ filename_template = "socket_sites_{account_id}.json"
206
+ if hasattr(args, 'append_timestamp') and args.append_timestamp:
207
+ timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
208
+ filename_template = "socket_sites_{account_id}_" + timestamp + ".json"
209
+
203
210
  # Write the processed data to file using the general-purpose function
204
211
  output_file = writeDataToFile(
205
212
  data=processed_data,
206
213
  args=args,
207
214
  account_id=account_id,
208
- default_filename_template="socket_sites_{account_id}.json",
215
+ default_filename_template=filename_template,
209
216
  default_directory="config_data"
210
217
  )
211
218
 
@@ -6,6 +6,8 @@ from graphql_client import ApiClient, CallApi
6
6
  from graphql_client.api_client import ApiException
7
7
  import logging
8
8
  import pprint
9
+ import uuid
10
+ from urllib3.filepost import encode_multipart_formdata
9
11
 
10
12
  def createRequest(args, configuration):
11
13
  params = vars(args)
@@ -134,6 +136,11 @@ def createRawRequest(args, configuration):
134
136
  # Handle endpoint override
135
137
  if hasattr(args, 'endpoint') and args.endpoint:
136
138
  configuration.host = args.endpoint
139
+
140
+ # Check if binary/multipart mode is enabled
141
+ if hasattr(args, 'binary') and args.binary:
142
+ return createRawBinaryRequest(args, configuration)
143
+
137
144
  instance = CallApi(ApiClient(configuration))
138
145
  isOk = False
139
146
  try:
@@ -334,4 +341,159 @@ def renderArgsAndFields(responseArgStr, variablesObj, curOperation, definition,
334
341
  responseArgStr += indent + " }\n"
335
342
  responseArgStr += indent + "}\n"
336
343
  responseArgStr += "\n"
337
- return responseArgStr
344
+ return responseArgStr
345
+
346
+ def createRawBinaryRequest(args, configuration):
347
+ """Handle multipart/form-data requests for file uploads and binary content"""
348
+ params = vars(args)
349
+
350
+
351
+ # Parse the JSON body
352
+ try:
353
+ body = json.loads(params["json"])
354
+ except ValueError as e:
355
+ print("ERROR: JSON argument must be valid json. ", e)
356
+ return
357
+ except Exception as e:
358
+ print("ERROR: ", e)
359
+ return
360
+
361
+ # Build form data
362
+ form_fields = {}
363
+ files = []
364
+
365
+ # Add the operations field containing the GraphQL payload
366
+ form_fields['operations'] = json.dumps(body)
367
+
368
+ # Handle file mappings if files are specified
369
+ if hasattr(args, 'files') and args.files:
370
+ # Build the map object for file uploads
371
+ file_map = {}
372
+ for i, (field_name, file_path) in enumerate(args.files):
373
+ file_index = str(i + 1)
374
+ file_map[file_index] = [field_name]
375
+
376
+ # Read file content
377
+ try:
378
+ with open(file_path, 'rb') as f:
379
+ file_content = f.read()
380
+ files.append((file_index, (os.path.basename(file_path), file_content, 'application/octet-stream')))
381
+ except IOError as e:
382
+ print(f"ERROR: Could not read file {file_path}: {e}")
383
+ return
384
+
385
+ # Add the map field
386
+ form_fields['map'] = json.dumps(file_map)
387
+
388
+ # Test mode - just print the request structure
389
+ if params.get("t") == True:
390
+ print("Multipart form data request:")
391
+ if params.get("p") == True:
392
+ print(f"Operations: {json.dumps(json.loads(form_fields.get('operations')), indent=2)}")
393
+ else:
394
+ print(f"Operations: {form_fields.get('operations')}")
395
+ if 'map' in form_fields:
396
+ print(f"Map: {form_fields.get('map')}")
397
+ if files:
398
+ print(f"Files: {[f[0] + ': ' + f[1][0] for f in files]}")
399
+ return None
400
+
401
+ # Perform the multipart request
402
+ try:
403
+ return sendMultipartRequest(configuration, form_fields, files, params)
404
+ except Exception as e:
405
+ # Safely handle exception string conversion
406
+ try:
407
+ error_str = str(e)
408
+ except Exception:
409
+ error_str = f"Exception of type {type(e).__name__}"
410
+
411
+ if params.get("v") == True:
412
+ import traceback
413
+ print(f"ERROR: Failed to send multipart request: {error_str}")
414
+ traceback.print_exc()
415
+ else:
416
+ print(f"ERROR: Failed to send multipart request: {error_str}")
417
+ return None
418
+
419
+ def sendMultipartRequest(configuration, form_fields, files, params):
420
+ """Send a multipart/form-data request directly using urllib3"""
421
+ import urllib3
422
+
423
+ # Create pool manager
424
+ pool_manager = urllib3.PoolManager(
425
+ cert_reqs='CERT_NONE' if not getattr(configuration, 'verify_ssl', False) else 'CERT_REQUIRED'
426
+ )
427
+
428
+ # Prepare form data
429
+ fields = []
430
+ for key, value in form_fields.items():
431
+ fields.append((key, value))
432
+
433
+ for file_key, (filename, content, content_type) in files:
434
+ fields.append((file_key, (filename, content, content_type)))
435
+
436
+ # Encode multipart data
437
+ body_data, content_type = encode_multipart_formdata(fields)
438
+
439
+ # Prepare headers
440
+ headers = {
441
+ 'Content-Type': content_type,
442
+ 'User-Agent': f"Cato-CLI-v{getattr(configuration, 'version', 'unknown')}"
443
+ }
444
+
445
+ # Add API key if not using headers file
446
+ if hasattr(configuration, 'api_key') and hasattr(configuration, 'api_key') and configuration.api_key and 'x-api-key' in configuration.api_key:
447
+ headers['x-api-key'] = configuration.api_key['x-api-key']
448
+
449
+ # Add custom headers
450
+ if hasattr(configuration, 'custom_headers') and configuration.custom_headers:
451
+ headers.update(configuration.custom_headers)
452
+
453
+ # Verbose output
454
+ if params.get("v") == True:
455
+ print(f"Host: {getattr(configuration, 'host', 'unknown')}")
456
+ masked_headers = headers.copy()
457
+ if 'x-api-key' in masked_headers:
458
+ masked_headers['x-api-key'] = '***MASKED***'
459
+ print(f"Request Headers: {json.dumps(masked_headers, indent=4, sort_keys=True)}")
460
+ print(f"Content-Type: {content_type}")
461
+ print(f"Form fields: {list(form_fields.keys())}")
462
+ print(f"Files: {[f[0] for f in files]}\n")
463
+
464
+ try:
465
+ # Make the request
466
+ resp = pool_manager.request(
467
+ 'POST',
468
+ getattr(configuration, 'host', 'https://api.catonetworks.com/api/v1/graphql'),
469
+ body=body_data,
470
+ headers=headers
471
+ )
472
+
473
+ # Parse response
474
+ if resp.status < 200 or resp.status >= 300:
475
+ reason = resp.reason if resp.reason is not None else "Unknown Error"
476
+ error_msg = f"HTTP {resp.status}: {reason}"
477
+ if resp.data:
478
+ try:
479
+ error_msg += f"\n{resp.data.decode('utf-8')}"
480
+ except Exception:
481
+ error_msg += f"\n{resp.data}"
482
+ print(f"ERROR: {error_msg}")
483
+ return None
484
+
485
+ try:
486
+ response_data = json.loads(resp.data.decode('utf-8'))
487
+ except json.JSONDecodeError:
488
+ response_data = resp.data.decode('utf-8')
489
+
490
+ return [response_data]
491
+
492
+ except Exception as e:
493
+ # Safely handle exception string conversion
494
+ try:
495
+ error_str = str(e)
496
+ except Exception:
497
+ error_str = f"Exception of type {type(e).__name__}"
498
+ print(f"ERROR: Network/request error: {error_str}")
499
+ return None
@@ -0,0 +1,33 @@
1
+
2
+ ## CATO-CLI - raw.graphql
3
+ [Click here](https://api.catonetworks.com/documentation/) for documentation on this operation.
4
+
5
+ ### Usage for raw.graphql
6
+
7
+ `catocli raw -h`
8
+
9
+ `catocli raw <json>`
10
+
11
+ `catocli raw "$(cat < rawGraphqQL.json)"`
12
+
13
+ `catocli raw '{ "query": "query operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
14
+
15
+ `catocli raw '{ "query": "mutation operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
16
+
17
+ #### Override API endpoint
18
+
19
+ `catocli raw --endpoint https://custom-api.example.com/graphql '<json>'`
20
+
21
+ #### Binary content and file uploads
22
+
23
+ Use `--binary` flag for multipart/form-data requests with file uploads:
24
+
25
+ `catocli raw --binary --file privateKey /path/to/file.pem '{ "operationName": "accountUpdate", "variables": { "update": { "cloudAccessConfiguration": { "cloudApplications": { "items": [{ "privateKey": null }] } } } }, "query": "mutation accountUpdate($update: AccountInput!) { accountUpdate(update: $update) { id } }" }'`
26
+
27
+ `catocli raw --binary --file 1 /path/to/file.pem '{ "operationName": "accountUpdate", "variables": { "update": { "version": "1234" } }, "query": "mutation { accountUpdate { id } }" }'`
28
+
29
+ The `--binary` flag enables multipart/form-data mode which is required for file uploads. Files are specified using `--file field_name file_path` where:
30
+ - `field_name` is the GraphQL variable path where the file should be mapped
31
+ - `file_path` is the local path to the file to upload
32
+
33
+ Multiple files can be uploaded by using multiple `--file` arguments.
@@ -9,4 +9,6 @@ def raw_parse(raw_parser):
9
9
  raw_parser.add_argument('-H', '--header', action='append', dest='headers', help='Add custom headers in "Key: Value" format. Can be used multiple times.')
10
10
  raw_parser.add_argument('--headers-file', dest='headers_file', help='Load headers from a file. Each line should contain a header in "Key: Value" format.')
11
11
  raw_parser.add_argument('--endpoint', dest='endpoint', help='Override the API endpoint URL (e.g., https://api.catonetworks.com/api/v1/graphql2)')
12
+ raw_parser.add_argument('--binary', action='store_true', help='Send multipart/form-data request for file uploads and binary content')
13
+ raw_parser.add_argument('--file', action='append', nargs=2, metavar=('FIELD', 'PATH'), dest='files', help='Add file for multipart upload. Format: --file field_name file_path')
12
14
  raw_parser.set_defaults(func=createRawRequest,operation_name='raw')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: catocli
3
- Version: 2.0.3
3
+ Version: 2.0.4
4
4
  Summary: Cato Networks cli wrapper for the GraphQL API.
5
5
  Home-page: https://github.com/Cato-Networks/cato-cli
6
6
  Author: Cato Networks
@@ -1,19 +0,0 @@
1
-
2
- ## CATO-CLI - raw.graphql
3
- [Click here](https://api.catonetworks.com/documentation/) for documentation on this operation.
4
-
5
- ### Usage for raw.graphql
6
-
7
- `catocli raw -h`
8
-
9
- `catocli raw <json>`
10
-
11
- `catocli raw "$(cat < rawGraphqQL.json)"`
12
-
13
- `catocli raw '{ "query": "query operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
14
-
15
- `catocli raw '{ "query": "mutation operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
16
-
17
- #### Override API endpoint
18
-
19
- `catocli raw --endpoint https://custom-api.example.com/graphql '<json>'`
File without changes
File without changes
File without changes
File without changes