catocli 2.0.2__py3-none-any.whl → 2.0.3__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (55) hide show
  1. catocli/Utils/clidriver.py +4 -1
  2. catocli/__init__.py +1 -1
  3. catocli/parsers/custom/__init__.py +4 -3
  4. catocli/parsers/custom/customLib.py +239 -1
  5. catocli/parsers/custom/export_rules/export_rules.py +1 -1
  6. catocli/parsers/custom/export_sites/export_sites.py +186 -54
  7. catocli/parsers/custom/import_rules_to_tf/__init__.py +1 -1
  8. catocli/parsers/custom/import_rules_to_tf/import_rules_to_tf.py +1 -137
  9. catocli/parsers/custom/import_sites_to_tf/__init__.py +45 -0
  10. catocli/parsers/custom/import_sites_to_tf/import_sites_to_tf.py +891 -0
  11. catocli/parsers/mutation_accountManagement/__init__.py +6 -6
  12. catocli/parsers/mutation_admin/__init__.py +6 -6
  13. catocli/parsers/mutation_container/__init__.py +2 -2
  14. catocli/parsers/mutation_hardware/__init__.py +2 -2
  15. catocli/parsers/mutation_policy/__init__.py +192 -192
  16. catocli/parsers/mutation_sandbox/__init__.py +4 -4
  17. catocli/parsers/mutation_site/__init__.py +56 -56
  18. catocli/parsers/mutation_sites/__init__.py +56 -56
  19. catocli/parsers/mutation_xdr/__init__.py +6 -6
  20. catocli/parsers/parserApiClient.py +36 -11
  21. catocli/parsers/query_accountBySubdomain/__init__.py +2 -2
  22. catocli/parsers/query_accountManagement/__init__.py +2 -2
  23. catocli/parsers/query_accountMetrics/__init__.py +2 -2
  24. catocli/parsers/query_accountRoles/__init__.py +2 -2
  25. catocli/parsers/query_accountSnapshot/__init__.py +2 -2
  26. catocli/parsers/query_admin/__init__.py +2 -2
  27. catocli/parsers/query_admins/__init__.py +2 -2
  28. catocli/parsers/query_appStats/__init__.py +2 -2
  29. catocli/parsers/query_appStatsTimeSeries/__init__.py +2 -2
  30. catocli/parsers/query_auditFeed/__init__.py +2 -2
  31. catocli/parsers/query_catalogs/__init__.py +2 -2
  32. catocli/parsers/query_container/__init__.py +2 -2
  33. catocli/parsers/query_devices/__init__.py +2 -2
  34. catocli/parsers/query_entityLookup/__init__.py +2 -2
  35. catocli/parsers/query_events/__init__.py +2 -2
  36. catocli/parsers/query_eventsFeed/__init__.py +2 -2
  37. catocli/parsers/query_eventsTimeSeries/__init__.py +2 -2
  38. catocli/parsers/query_hardware/__init__.py +2 -2
  39. catocli/parsers/query_hardwareManagement/__init__.py +2 -2
  40. catocli/parsers/query_licensing/__init__.py +2 -2
  41. catocli/parsers/query_policy/__init__.py +2 -2
  42. catocli/parsers/query_sandbox/__init__.py +2 -2
  43. catocli/parsers/query_site/__init__.py +2 -2
  44. catocli/parsers/query_siteLocation/__init__.py +2 -2
  45. catocli/parsers/query_subDomains/__init__.py +2 -2
  46. catocli/parsers/query_xdr/__init__.py +4 -4
  47. catocli/parsers/raw/README.md +4 -0
  48. catocli/parsers/raw/__init__.py +3 -2
  49. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/METADATA +1 -1
  50. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/RECORD +55 -53
  51. schema/catolib.py +14 -9
  52. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/LICENSE +0 -0
  53. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/WHEEL +0 -0
  54. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/entry_points.txt +0 -0
  55. {catocli-2.0.2.dist-info → catocli-2.0.3.dist-info}/top_level.txt +0 -0
schema/catolib.py CHANGED
@@ -717,12 +717,13 @@ def writeOperationParsers(catoApiSchema):
717
717
  from ..parserApiClient import createRawRequest, get_help
718
718
 
719
719
  def raw_parse(raw_parser):
720
- raw_parser.add_argument('json', help='Query, Variables and opertaionName in JSON format.')
721
- raw_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print test request preview without sending api call')
720
+ raw_parser.add_argument('json', nargs='?', default='{{}}', help='Query, Variables and opertaionName in JSON format (defaults to empty object if not provided).')
721
+ raw_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print GraphQL query without sending API call')
722
722
  raw_parser.add_argument('-v', const=True, default=False, nargs='?', help='Verbose output')
723
723
  raw_parser.add_argument('-p', const=True, default=False, nargs='?', help='Pretty print')
724
724
  raw_parser.add_argument('-H', '--header', action='append', dest='headers', help='Add custom headers in "Key: Value" format. Can be used multiple times.')
725
725
  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.')
726
+ raw_parser.add_argument('--endpoint', dest='endpoint', help='Override the API endpoint URL (e.g., https://api.catonetworks.com/api/v1/graphql2)')
726
727
  raw_parser.set_defaults(func=createRawRequest,operation_name='raw')
727
728
  """
728
729
  parserPath = "../catocli/parsers/raw"
@@ -738,9 +739,9 @@ def query_siteLocation_parse(query_subparsers):
738
739
  query_siteLocation_parser = query_subparsers.add_parser('siteLocation',
739
740
  help='siteLocation local cli query',
740
741
  usage=get_help("query_siteLocation"))
741
- query_siteLocation_parser.add_argument('json', help='Variables in JSON format.')
742
+ query_siteLocation_parser.add_argument('json', nargs='?', default='{{}}', help='Variables in JSON format (defaults to empty object if not provided).')
742
743
  query_siteLocation_parser.add_argument('-accountID', help='Override the CATO_ACCOUNT_ID environment variable with this value.')
743
- query_siteLocation_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print test request preview without sending api call')
744
+ query_siteLocation_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print GraphQL query without sending API call')
744
745
  query_siteLocation_parser.add_argument('-v', const=True, default=False, nargs='?', help='Verbose output')
745
746
  query_siteLocation_parser.add_argument('-p', const=True, default=False, nargs='?', help='Pretty print')
746
747
  query_siteLocation_parser.set_defaults(func=querySiteLocation,operation_name='query.siteLocation')
@@ -768,9 +769,9 @@ def {parserName}_parse({operationType}_subparsers):
768
769
  """
769
770
  if "path" in parser:
770
771
  cliDriverStr += f"""
771
- {parserName}_parser.add_argument('json', help='Variables in JSON format.')
772
+ {parserName}_parser.add_argument('json', nargs='?', default='{{}}', help='Variables in JSON format (defaults to empty object if not provided).')
772
773
  {parserName}_parser.add_argument('-accountID', help='Override the CATO_ACCOUNT_ID environment variable with this value.')
773
- {parserName}_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print test request preview without sending api call')
774
+ {parserName}_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print GraphQL query without sending API call')
774
775
  {parserName}_parser.add_argument('-v', const=True, default=False, nargs='?', help='Verbose output')
775
776
  {parserName}_parser.add_argument('-p', const=True, default=False, nargs='?', help='Pretty print')
776
777
  {parserName}_parser.add_argument('-H', '--header', action='append', dest='headers', help='Add custom headers in "Key: Value" format. Can be used multiple times.')
@@ -799,9 +800,9 @@ def renderSubParser(subParser,parentParserPath):
799
800
  if "path" in subOperation:
800
801
  command = parentParserPath.replace("_"," ")+" "+subOperationName
801
802
  cliDriverStr += f"""
802
- {subParserPath}_parser.add_argument('json', help='Variables in JSON format.')
803
+ {subParserPath}_parser.add_argument('json', nargs='?', default='{{}}', help='Variables in JSON format (defaults to empty object if not provided).')
803
804
  {subParserPath}_parser.add_argument('-accountID', help='Override the CATO_ACCOUNT_ID environment variable with this value.')
804
- {subParserPath}_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print test request preview without sending api call')
805
+ {subParserPath}_parser.add_argument('-t', const=True, default=False, nargs='?', help='Print GraphQL query without sending API call')
805
806
  {subParserPath}_parser.add_argument('-v', const=True, default=False, nargs='?', help='Verbose output')
806
807
  {subParserPath}_parser.add_argument('-p', const=True, default=False, nargs='?', help='Pretty print')
807
808
  {subParserPath}_parser.add_argument('-H', '--header', action='append', dest='headers', help='Add custom headers in "Key: Value" format. Can be used multiple times.')
@@ -831,6 +832,10 @@ def writeReadmes(catoApiSchema):
831
832
  `catocli raw '{ "query": "query operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
832
833
 
833
834
  `catocli raw '{ "query": "mutation operationNameHere($yourArgument:String!) { field1 field2 }", "variables": { "yourArgument": "string", "accountID": "10949" }, "operationName": "operationNameHere" } '`
835
+
836
+ #### Override API endpoint
837
+
838
+ `catocli raw --endpoint https://custom-api.example.com/graphql '<json>'`
834
839
  """
835
840
  parserPath = "../catocli/parsers/raw"
836
841
  if not os.path.exists(parserPath):
@@ -1037,7 +1042,7 @@ def generateGraphqlPayload(variablesObj,operation,operationName):
1037
1042
  queryStr += ") {\n" + renderArgsAndFields("", variablesObj, operation, operation["type"]["definition"], " ") + " }"
1038
1043
  queryStr += indent + "\n}";
1039
1044
  body = {
1040
- "query":queryStr.replace("\n", " ").replace("\t", " ").replace(" ", " ").replace(" ", " ").replace(" ", " "),
1045
+ "query":queryStr,
1041
1046
  "variables":variablesObj,
1042
1047
  "operationName":renderCamelCase(".".join(operationAry)),
1043
1048
  }