catocli 1.0.4__py3-none-any.whl → 1.0.5__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 (92) hide show
  1. build/lib/catocli/Utils/clidriver.py +103 -0
  2. build/lib/catocli/__init__.py +2 -0
  3. build/lib/catocli/__main__.py +12 -0
  4. build/lib/catocli/parsers/custom/__init__.py +42 -0
  5. build/lib/catocli/parsers/custom/customLib.py +71 -0
  6. build/lib/catocli/parsers/mutation_admin/__init__.py +51 -0
  7. build/lib/catocli/parsers/mutation_container/__init__.py +23 -0
  8. build/lib/catocli/parsers/mutation_policy/__init__.py +357 -0
  9. build/lib/catocli/parsers/mutation_site/__init__.py +219 -0
  10. build/lib/catocli/parsers/mutation_sites/__init__.py +219 -0
  11. build/lib/catocli/parsers/parserApiClient.py +312 -0
  12. build/lib/catocli/parsers/query_accountBySubdomain/__init__.py +17 -0
  13. build/lib/catocli/parsers/query_accountMetrics/__init__.py +17 -0
  14. build/lib/catocli/parsers/query_accountRoles/__init__.py +17 -0
  15. build/lib/catocli/parsers/query_accountSnapshot/__init__.py +17 -0
  16. build/lib/catocli/parsers/query_admin/__init__.py +17 -0
  17. build/lib/catocli/parsers/query_admins/__init__.py +17 -0
  18. build/lib/catocli/parsers/query_appStats/__init__.py +17 -0
  19. build/lib/catocli/parsers/query_appStatsTimeSeries/__init__.py +17 -0
  20. build/lib/catocli/parsers/query_auditFeed/__init__.py +17 -0
  21. build/lib/catocli/parsers/query_container/__init__.py +17 -0
  22. build/lib/catocli/parsers/query_entityLookup/__init__.py +17 -0
  23. build/lib/catocli/parsers/query_events/__init__.py +17 -0
  24. build/lib/catocli/parsers/query_eventsFeed/__init__.py +17 -0
  25. build/lib/catocli/parsers/query_eventsTimeSeries/__init__.py +17 -0
  26. build/lib/catocli/parsers/query_hardwareManagement/__init__.py +17 -0
  27. build/lib/catocli/parsers/query_licensing/__init__.py +17 -0
  28. build/lib/catocli/parsers/query_policy/__init__.py +17 -0
  29. build/lib/catocli/parsers/query_siteLocation/__init__.py +17 -0
  30. build/lib/catocli/parsers/query_subDomains/__init__.py +17 -0
  31. build/lib/catocli/parsers/query_xdr/__init__.py +37 -0
  32. build/lib/catocli/parsers/raw/__init__.py +9 -0
  33. build/lib/graphql_client/__init__.py +11 -0
  34. build/lib/graphql_client/api/__init__.py +3 -0
  35. build/lib/graphql_client/api/call_api.py +73 -0
  36. build/lib/graphql_client/api_client.py +192 -0
  37. build/lib/graphql_client/api_client_types.py +404 -0
  38. build/lib/graphql_client/configuration.py +230 -0
  39. build/lib/graphql_client/models/__init__.py +13 -0
  40. build/lib/graphql_client/models/no_schema.py +71 -0
  41. build/lib/schema/catolib.py +1002 -0
  42. build/lib/schema/importSchema.py +60 -0
  43. build/lib/vendor/certifi/__init__.py +4 -0
  44. build/lib/vendor/certifi/__main__.py +12 -0
  45. build/lib/vendor/certifi/core.py +114 -0
  46. build/lib/vendor/certifi/py.typed +0 -0
  47. build/lib/vendor/six.py +998 -0
  48. build/lib/vendor/urllib3/__init__.py +211 -0
  49. build/lib/vendor/urllib3/_base_connection.py +172 -0
  50. build/lib/vendor/urllib3/_collections.py +483 -0
  51. build/lib/vendor/urllib3/_request_methods.py +278 -0
  52. build/lib/vendor/urllib3/_version.py +16 -0
  53. build/lib/vendor/urllib3/connection.py +1033 -0
  54. build/lib/vendor/urllib3/connectionpool.py +1182 -0
  55. build/lib/vendor/urllib3/contrib/__init__.py +0 -0
  56. build/lib/vendor/urllib3/contrib/emscripten/__init__.py +18 -0
  57. build/lib/vendor/urllib3/contrib/emscripten/connection.py +254 -0
  58. build/lib/vendor/urllib3/contrib/emscripten/fetch.py +418 -0
  59. build/lib/vendor/urllib3/contrib/emscripten/request.py +22 -0
  60. build/lib/vendor/urllib3/contrib/emscripten/response.py +285 -0
  61. build/lib/vendor/urllib3/contrib/pyopenssl.py +552 -0
  62. build/lib/vendor/urllib3/contrib/socks.py +228 -0
  63. build/lib/vendor/urllib3/exceptions.py +321 -0
  64. build/lib/vendor/urllib3/fields.py +341 -0
  65. build/lib/vendor/urllib3/filepost.py +89 -0
  66. build/lib/vendor/urllib3/http2/__init__.py +53 -0
  67. build/lib/vendor/urllib3/http2/connection.py +356 -0
  68. build/lib/vendor/urllib3/http2/probe.py +87 -0
  69. build/lib/vendor/urllib3/poolmanager.py +637 -0
  70. build/lib/vendor/urllib3/py.typed +2 -0
  71. build/lib/vendor/urllib3/response.py +1265 -0
  72. build/lib/vendor/urllib3/util/__init__.py +42 -0
  73. build/lib/vendor/urllib3/util/connection.py +137 -0
  74. build/lib/vendor/urllib3/util/proxy.py +43 -0
  75. build/lib/vendor/urllib3/util/request.py +256 -0
  76. build/lib/vendor/urllib3/util/response.py +101 -0
  77. build/lib/vendor/urllib3/util/retry.py +533 -0
  78. build/lib/vendor/urllib3/util/ssl_.py +513 -0
  79. build/lib/vendor/urllib3/util/ssl_match_hostname.py +159 -0
  80. build/lib/vendor/urllib3/util/ssltransport.py +276 -0
  81. build/lib/vendor/urllib3/util/timeout.py +275 -0
  82. build/lib/vendor/urllib3/util/url.py +471 -0
  83. build/lib/vendor/urllib3/util/util.py +42 -0
  84. build/lib/vendor/urllib3/util/wait.py +124 -0
  85. catocli/__init__.py +1 -1
  86. catocli/parsers/parserApiClient.py +7 -4
  87. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/METADATA +1 -1
  88. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/RECORD +92 -8
  89. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/top_level.txt +1 -0
  90. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/LICENSE +0 -0
  91. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/WHEEL +0 -0
  92. {catocli-1.0.4.dist-info → catocli-1.0.5.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,219 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def mutation_sites_parse(mutation_subparsers):
5
+ mutation_sites_parser = mutation_subparsers.add_parser('sites',
6
+ help='sites() mutation operation',
7
+ usage=get_help("mutation_sites"))
8
+
9
+ mutation_sites_subparsers = mutation_sites_parser.add_subparsers()
10
+
11
+ mutation_sites_addIpsecIkeV2Site_parser = mutation_sites_subparsers.add_parser('addIpsecIkeV2Site',
12
+ help='addIpsecIkeV2Site() sites operation',
13
+ usage=get_help("mutation_sites_addIpsecIkeV2Site"))
14
+
15
+ mutation_sites_addIpsecIkeV2Site_parser.add_argument('accountID', help='The Account ID.')
16
+ mutation_sites_addIpsecIkeV2Site_parser.add_argument('json', help='Variables in JSON format.')
17
+ mutation_sites_addIpsecIkeV2Site_parser.add_argument('-t', const=True, default=False, nargs='?',
18
+ help='Print test request preview without sending api call')
19
+ mutation_sites_addIpsecIkeV2Site_parser.add_argument('-v', const=True, default=False, nargs='?',
20
+ help='Verbose output')
21
+ mutation_sites_addIpsecIkeV2Site_parser.add_argument('-p', const=True, default=False, nargs='?',
22
+ help='Pretty print')
23
+ mutation_sites_addIpsecIkeV2Site_parser.set_defaults(func=createRequest,operation_name='mutation.sites.addIpsecIkeV2Site')
24
+
25
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser = mutation_sites_subparsers.add_parser('addIpsecIkeV2SiteTunnels',
26
+ help='addIpsecIkeV2SiteTunnels() sites operation',
27
+ usage=get_help("mutation_sites_addIpsecIkeV2SiteTunnels"))
28
+
29
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.add_argument('accountID', help='The Account ID.')
30
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.add_argument('json', help='Variables in JSON format.')
31
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.add_argument('-t', const=True, default=False, nargs='?',
32
+ help='Print test request preview without sending api call')
33
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.add_argument('-v', const=True, default=False, nargs='?',
34
+ help='Verbose output')
35
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.add_argument('-p', const=True, default=False, nargs='?',
36
+ help='Pretty print')
37
+ mutation_sites_addIpsecIkeV2SiteTunnels_parser.set_defaults(func=createRequest,operation_name='mutation.sites.addIpsecIkeV2SiteTunnels')
38
+
39
+ mutation_sites_addNetworkRange_parser = mutation_sites_subparsers.add_parser('addNetworkRange',
40
+ help='addNetworkRange() sites operation',
41
+ usage=get_help("mutation_sites_addNetworkRange"))
42
+
43
+ mutation_sites_addNetworkRange_parser.add_argument('accountID', help='The Account ID.')
44
+ mutation_sites_addNetworkRange_parser.add_argument('json', help='Variables in JSON format.')
45
+ mutation_sites_addNetworkRange_parser.add_argument('-t', const=True, default=False, nargs='?',
46
+ help='Print test request preview without sending api call')
47
+ mutation_sites_addNetworkRange_parser.add_argument('-v', const=True, default=False, nargs='?',
48
+ help='Verbose output')
49
+ mutation_sites_addNetworkRange_parser.add_argument('-p', const=True, default=False, nargs='?',
50
+ help='Pretty print')
51
+ mutation_sites_addNetworkRange_parser.set_defaults(func=createRequest,operation_name='mutation.sites.addNetworkRange')
52
+
53
+ mutation_sites_addSocketSite_parser = mutation_sites_subparsers.add_parser('addSocketSite',
54
+ help='addSocketSite() sites operation',
55
+ usage=get_help("mutation_sites_addSocketSite"))
56
+
57
+ mutation_sites_addSocketSite_parser.add_argument('accountID', help='The Account ID.')
58
+ mutation_sites_addSocketSite_parser.add_argument('json', help='Variables in JSON format.')
59
+ mutation_sites_addSocketSite_parser.add_argument('-t', const=True, default=False, nargs='?',
60
+ help='Print test request preview without sending api call')
61
+ mutation_sites_addSocketSite_parser.add_argument('-v', const=True, default=False, nargs='?',
62
+ help='Verbose output')
63
+ mutation_sites_addSocketSite_parser.add_argument('-p', const=True, default=False, nargs='?',
64
+ help='Pretty print')
65
+ mutation_sites_addSocketSite_parser.set_defaults(func=createRequest,operation_name='mutation.sites.addSocketSite')
66
+
67
+ mutation_sites_addStaticHost_parser = mutation_sites_subparsers.add_parser('addStaticHost',
68
+ help='addStaticHost() sites operation',
69
+ usage=get_help("mutation_sites_addStaticHost"))
70
+
71
+ mutation_sites_addStaticHost_parser.add_argument('accountID', help='The Account ID.')
72
+ mutation_sites_addStaticHost_parser.add_argument('json', help='Variables in JSON format.')
73
+ mutation_sites_addStaticHost_parser.add_argument('-t', const=True, default=False, nargs='?',
74
+ help='Print test request preview without sending api call')
75
+ mutation_sites_addStaticHost_parser.add_argument('-v', const=True, default=False, nargs='?',
76
+ help='Verbose output')
77
+ mutation_sites_addStaticHost_parser.add_argument('-p', const=True, default=False, nargs='?',
78
+ help='Pretty print')
79
+ mutation_sites_addStaticHost_parser.set_defaults(func=createRequest,operation_name='mutation.sites.addStaticHost')
80
+
81
+ mutation_sites_removeNetworkRange_parser = mutation_sites_subparsers.add_parser('removeNetworkRange',
82
+ help='removeNetworkRange() sites operation',
83
+ usage=get_help("mutation_sites_removeNetworkRange"))
84
+
85
+ mutation_sites_removeNetworkRange_parser.add_argument('accountID', help='The Account ID.')
86
+ mutation_sites_removeNetworkRange_parser.add_argument('json', help='Variables in JSON format.')
87
+ mutation_sites_removeNetworkRange_parser.add_argument('-t', const=True, default=False, nargs='?',
88
+ help='Print test request preview without sending api call')
89
+ mutation_sites_removeNetworkRange_parser.add_argument('-v', const=True, default=False, nargs='?',
90
+ help='Verbose output')
91
+ mutation_sites_removeNetworkRange_parser.add_argument('-p', const=True, default=False, nargs='?',
92
+ help='Pretty print')
93
+ mutation_sites_removeNetworkRange_parser.set_defaults(func=createRequest,operation_name='mutation.sites.removeNetworkRange')
94
+
95
+ mutation_sites_removeSite_parser = mutation_sites_subparsers.add_parser('removeSite',
96
+ help='removeSite() sites operation',
97
+ usage=get_help("mutation_sites_removeSite"))
98
+
99
+ mutation_sites_removeSite_parser.add_argument('accountID', help='The Account ID.')
100
+ mutation_sites_removeSite_parser.add_argument('json', help='Variables in JSON format.')
101
+ mutation_sites_removeSite_parser.add_argument('-t', const=True, default=False, nargs='?',
102
+ help='Print test request preview without sending api call')
103
+ mutation_sites_removeSite_parser.add_argument('-v', const=True, default=False, nargs='?',
104
+ help='Verbose output')
105
+ mutation_sites_removeSite_parser.add_argument('-p', const=True, default=False, nargs='?',
106
+ help='Pretty print')
107
+ mutation_sites_removeSite_parser.set_defaults(func=createRequest,operation_name='mutation.sites.removeSite')
108
+
109
+ mutation_sites_removeStaticHost_parser = mutation_sites_subparsers.add_parser('removeStaticHost',
110
+ help='removeStaticHost() sites operation',
111
+ usage=get_help("mutation_sites_removeStaticHost"))
112
+
113
+ mutation_sites_removeStaticHost_parser.add_argument('accountID', help='The Account ID.')
114
+ mutation_sites_removeStaticHost_parser.add_argument('json', help='Variables in JSON format.')
115
+ mutation_sites_removeStaticHost_parser.add_argument('-t', const=True, default=False, nargs='?',
116
+ help='Print test request preview without sending api call')
117
+ mutation_sites_removeStaticHost_parser.add_argument('-v', const=True, default=False, nargs='?',
118
+ help='Verbose output')
119
+ mutation_sites_removeStaticHost_parser.add_argument('-p', const=True, default=False, nargs='?',
120
+ help='Pretty print')
121
+ mutation_sites_removeStaticHost_parser.set_defaults(func=createRequest,operation_name='mutation.sites.removeStaticHost')
122
+
123
+ mutation_sites_updateHa_parser = mutation_sites_subparsers.add_parser('updateHa',
124
+ help='updateHa() sites operation',
125
+ usage=get_help("mutation_sites_updateHa"))
126
+
127
+ mutation_sites_updateHa_parser.add_argument('accountID', help='The Account ID.')
128
+ mutation_sites_updateHa_parser.add_argument('json', help='Variables in JSON format.')
129
+ mutation_sites_updateHa_parser.add_argument('-t', const=True, default=False, nargs='?',
130
+ help='Print test request preview without sending api call')
131
+ mutation_sites_updateHa_parser.add_argument('-v', const=True, default=False, nargs='?',
132
+ help='Verbose output')
133
+ mutation_sites_updateHa_parser.add_argument('-p', const=True, default=False, nargs='?',
134
+ help='Pretty print')
135
+ mutation_sites_updateHa_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateHa')
136
+
137
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser = mutation_sites_subparsers.add_parser('updateIpsecIkeV2SiteGeneralDetails',
138
+ help='updateIpsecIkeV2SiteGeneralDetails() sites operation',
139
+ usage=get_help("mutation_sites_updateIpsecIkeV2SiteGeneralDetails"))
140
+
141
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.add_argument('accountID', help='The Account ID.')
142
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.add_argument('json', help='Variables in JSON format.')
143
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.add_argument('-t', const=True, default=False, nargs='?',
144
+ help='Print test request preview without sending api call')
145
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.add_argument('-v', const=True, default=False, nargs='?',
146
+ help='Verbose output')
147
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.add_argument('-p', const=True, default=False, nargs='?',
148
+ help='Pretty print')
149
+ mutation_sites_updateIpsecIkeV2SiteGeneralDetails_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateIpsecIkeV2SiteGeneralDetails')
150
+
151
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser = mutation_sites_subparsers.add_parser('updateIpsecIkeV2SiteTunnels',
152
+ help='updateIpsecIkeV2SiteTunnels() sites operation',
153
+ usage=get_help("mutation_sites_updateIpsecIkeV2SiteTunnels"))
154
+
155
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.add_argument('accountID', help='The Account ID.')
156
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.add_argument('json', help='Variables in JSON format.')
157
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.add_argument('-t', const=True, default=False, nargs='?',
158
+ help='Print test request preview without sending api call')
159
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.add_argument('-v', const=True, default=False, nargs='?',
160
+ help='Verbose output')
161
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.add_argument('-p', const=True, default=False, nargs='?',
162
+ help='Pretty print')
163
+ mutation_sites_updateIpsecIkeV2SiteTunnels_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateIpsecIkeV2SiteTunnels')
164
+
165
+ mutation_sites_updateNetworkRange_parser = mutation_sites_subparsers.add_parser('updateNetworkRange',
166
+ help='updateNetworkRange() sites operation',
167
+ usage=get_help("mutation_sites_updateNetworkRange"))
168
+
169
+ mutation_sites_updateNetworkRange_parser.add_argument('accountID', help='The Account ID.')
170
+ mutation_sites_updateNetworkRange_parser.add_argument('json', help='Variables in JSON format.')
171
+ mutation_sites_updateNetworkRange_parser.add_argument('-t', const=True, default=False, nargs='?',
172
+ help='Print test request preview without sending api call')
173
+ mutation_sites_updateNetworkRange_parser.add_argument('-v', const=True, default=False, nargs='?',
174
+ help='Verbose output')
175
+ mutation_sites_updateNetworkRange_parser.add_argument('-p', const=True, default=False, nargs='?',
176
+ help='Pretty print')
177
+ mutation_sites_updateNetworkRange_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateNetworkRange')
178
+
179
+ mutation_sites_updateSiteGeneralDetails_parser = mutation_sites_subparsers.add_parser('updateSiteGeneralDetails',
180
+ help='updateSiteGeneralDetails() sites operation',
181
+ usage=get_help("mutation_sites_updateSiteGeneralDetails"))
182
+
183
+ mutation_sites_updateSiteGeneralDetails_parser.add_argument('accountID', help='The Account ID.')
184
+ mutation_sites_updateSiteGeneralDetails_parser.add_argument('json', help='Variables in JSON format.')
185
+ mutation_sites_updateSiteGeneralDetails_parser.add_argument('-t', const=True, default=False, nargs='?',
186
+ help='Print test request preview without sending api call')
187
+ mutation_sites_updateSiteGeneralDetails_parser.add_argument('-v', const=True, default=False, nargs='?',
188
+ help='Verbose output')
189
+ mutation_sites_updateSiteGeneralDetails_parser.add_argument('-p', const=True, default=False, nargs='?',
190
+ help='Pretty print')
191
+ mutation_sites_updateSiteGeneralDetails_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateSiteGeneralDetails')
192
+
193
+ mutation_sites_updateSocketInterface_parser = mutation_sites_subparsers.add_parser('updateSocketInterface',
194
+ help='updateSocketInterface() sites operation',
195
+ usage=get_help("mutation_sites_updateSocketInterface"))
196
+
197
+ mutation_sites_updateSocketInterface_parser.add_argument('accountID', help='The Account ID.')
198
+ mutation_sites_updateSocketInterface_parser.add_argument('json', help='Variables in JSON format.')
199
+ mutation_sites_updateSocketInterface_parser.add_argument('-t', const=True, default=False, nargs='?',
200
+ help='Print test request preview without sending api call')
201
+ mutation_sites_updateSocketInterface_parser.add_argument('-v', const=True, default=False, nargs='?',
202
+ help='Verbose output')
203
+ mutation_sites_updateSocketInterface_parser.add_argument('-p', const=True, default=False, nargs='?',
204
+ help='Pretty print')
205
+ mutation_sites_updateSocketInterface_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateSocketInterface')
206
+
207
+ mutation_sites_updateStaticHost_parser = mutation_sites_subparsers.add_parser('updateStaticHost',
208
+ help='updateStaticHost() sites operation',
209
+ usage=get_help("mutation_sites_updateStaticHost"))
210
+
211
+ mutation_sites_updateStaticHost_parser.add_argument('accountID', help='The Account ID.')
212
+ mutation_sites_updateStaticHost_parser.add_argument('json', help='Variables in JSON format.')
213
+ mutation_sites_updateStaticHost_parser.add_argument('-t', const=True, default=False, nargs='?',
214
+ help='Print test request preview without sending api call')
215
+ mutation_sites_updateStaticHost_parser.add_argument('-v', const=True, default=False, nargs='?',
216
+ help='Verbose output')
217
+ mutation_sites_updateStaticHost_parser.add_argument('-p', const=True, default=False, nargs='?',
218
+ help='Pretty print')
219
+ mutation_sites_updateStaticHost_parser.set_defaults(func=createRequest,operation_name='mutation.sites.updateStaticHost')
@@ -0,0 +1,312 @@
1
+ import codecs
2
+ import json
3
+ import os
4
+ import sys
5
+ from graphql_client import ApiClient, CallApi
6
+ from graphql_client.api_client import ApiException
7
+ import logging
8
+ import pprint
9
+
10
+ def createRequest(args, configuration):
11
+ params = vars(args)
12
+ instance = CallApi(ApiClient(configuration))
13
+ operationName = params["operation_name"]
14
+ operation = loadJSON("models/"+operationName+".json")
15
+ try:
16
+ variablesObj = json.loads(params["json"])
17
+ except ValueError as e:
18
+ print("ERROR: Query argument must be valid json in quotes. ",e,'\n\nExample: \'{"yourKey":"yourValue"}\'')
19
+ exit()
20
+ if "accountID" in operation["operationArgs"]:
21
+ variablesObj["accountID"] = params["accountID"]
22
+ elif "accountId" in operation["args"]:
23
+ variablesObj["accountId"] = params["accountID"]
24
+ isOk, invalidVars, message = validateArgs(variablesObj,operation)
25
+ if isOk==True:
26
+ body = generateGraphqlPayload(variablesObj,operation,operationName)
27
+ if params["t"]==True:
28
+ if params["p"]==True:
29
+ print(json.dumps(body,indent=2,sort_keys=True).replace("\\n", "\n").replace("\\t", " "))
30
+ else:
31
+ print(json.dumps(body).replace("\\n", " ").replace("\\t", " ").replace(" "," ").replace(" "," "))
32
+ return None
33
+ else:
34
+ try:
35
+ return instance.call_api(body,params)
36
+ except ApiException as e:
37
+ return e
38
+ else:
39
+ print("ERROR: "+message,", ".join(invalidVars))
40
+
41
+ def querySiteLocation(args, configuration):
42
+ params = vars(args)
43
+ operationName = params["operation_name"]
44
+ operation = loadJSON("models/"+operationName+".json")
45
+ try:
46
+ variablesObj = json.loads(params["json"])
47
+ except ValueError as e:
48
+ print("ERROR: Query argument must be valid json in quotes. ",e,'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'')
49
+ exit()
50
+ if not variablesObj.get("filters"):
51
+ print("ERROR: Missing argument, must include filters array. ",e,'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'')
52
+ exit()
53
+ if not isinstance(variablesObj.get("filters"), list):
54
+ print("ERROR: Invalid argument, must include filters array. ",e,'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'')
55
+ exit()
56
+ requiredFields = ["search","field","operation"]
57
+ for filter in variablesObj["filters"]:
58
+ if not isinstance(filter, dict):
59
+ print("ERROR: Invalid filter '"+str(filter)+"', filters must be valid json and include 'search', 'field', and 'operation'. ",'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'',type(filter))
60
+ exit()
61
+ for param in filter:
62
+ if param not in requiredFields:
63
+ print("ERROR: Invalid field '"+param+"', filters must include 'search', 'field', and 'operation'. ",'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'')
64
+ exit()
65
+ for filter in variablesObj["filters"]:
66
+ for param in filter:
67
+ val = filter.get(param)
68
+ if param=="search" and (not isinstance(val, str) or len(val)<3):
69
+ print("ERROR: Invalid search '"+val+"', must be a string value and at least 3 characters in lengh. ",'\n\nExample: \'{filters:[{"search": "Your city here","field":"city","opeation":"exact"}}\'')
70
+ exit()
71
+ if param=="field" and (not isinstance(val, str) or val not in [ 'countryName', 'stateName', 'city']):
72
+ print("ERROR: Invalid field '"+val+"', must be one of the following: 'countryName', 'stateName', or 'city'.",'\n\nExample: \'{"search":"your query here","field":"city"}\'')
73
+ exit()
74
+ if param=="operation" and (not isinstance(val, str) or val not in [ 'startsWith', 'endsWith', 'exact', 'contains' ]):
75
+ print("ERROR: Invalid operation '"+val+"', must be one of the following: 'startsWith', 'endsWith', 'exact', 'contains'.",'\n\nExample: \'{"search": "Your search here","field":"city","operation":"exact"}\'')
76
+ exit()
77
+ response = {"data":[]}
78
+ for key, siteObj in operation.items():
79
+ isOk = True
80
+ for filter in variablesObj["filters"]:
81
+ search = filter.get("search")
82
+ field = filter.get("field")
83
+ operation = filter.get("operation")
84
+ if field in siteObj:
85
+ if operation=="startsWith" and not siteObj[field].startswith(search):
86
+ isOk = False
87
+ break
88
+ elif operation=="endsWith" and not siteObj[field].endswith(search):
89
+ isOk = False
90
+ break
91
+ elif operation=="exact" and not siteObj[field]==search:
92
+ isOk = False
93
+ break
94
+ elif operation=="contains" and not search in siteObj[field]:
95
+ isOk = False
96
+ break
97
+ else:
98
+ isOk = False
99
+ break
100
+ if isOk==False:
101
+ break
102
+ if isOk==True:
103
+ response["data"].append(siteObj)
104
+ if params["p"]==True:
105
+ responseStr = json.dumps(response,indent=2,sort_keys=True,ensure_ascii=False).encode('utf8')
106
+ print(responseStr.decode())
107
+ else:
108
+ responseStr = json.dumps(response,ensure_ascii=False).encode('utf8')
109
+ print(responseStr.decode())
110
+
111
+ def createRawRequest(args, configuration):
112
+ params = vars(args)
113
+ instance = CallApi(ApiClient(configuration))
114
+ isOk = False
115
+ try:
116
+ body = json.loads(params["json"])
117
+ isOk = True
118
+ except ValueError as e:
119
+ print("ERROR: Argument must be valid json. ",e)
120
+ isOk=False
121
+ except Exception as e:
122
+ isOk=False
123
+ print("ERROR: ",e)
124
+ if isOk==True:
125
+ if params["t"]==True:
126
+ if params["p"]==True:
127
+ print(json.dumps(body,indent=2,sort_keys=True).replace("\\n", "\n").replace("\\t", "\t"))
128
+ else:
129
+ print(json.dumps(body).replace("\\n", " ").replace("\\t", " ").replace(" "," ").replace(" "," "))
130
+ return None
131
+ else:
132
+ try:
133
+ return instance.call_api(body,params)
134
+ except ApiException as e:
135
+ print(e)
136
+ exit()
137
+
138
+ def generateGraphqlPayload(variablesObj,operation,operationName):
139
+ indent = " "
140
+ queryStr = ""
141
+ variableStr = ""
142
+ for varName in variablesObj:
143
+ if (varName in operation["operationArgs"]):
144
+ variableStr += operation["operationArgs"][varName]["requestStr"]
145
+ operationAry = operationName.split(".")
146
+ operationType = operationAry.pop(0)
147
+ queryStr = operationType + " "
148
+ queryStr += renderCamelCase(".".join(operationAry))
149
+ queryStr += " ( " + variableStr + ") {\n"
150
+ queryStr += indent + operation["name"] + " ( "
151
+ for argName in operation["args"]:
152
+ arg = operation["args"][argName]
153
+ if arg["varName"] in variablesObj:
154
+ queryStr += arg["responseStr"]
155
+ queryStr += ") {\n" + renderArgsAndFields("", variablesObj, operation, operation["type"]["definition"], " ") + " }"
156
+ queryStr += indent + "\n}";
157
+ body = {
158
+ "query":queryStr,
159
+ "variables":variablesObj,
160
+ "operationName":renderCamelCase(".".join(operationAry)),
161
+ }
162
+ return body
163
+
164
+ def get_help(path):
165
+ matchCmd = "catocli "+path.replace("_"," ")
166
+ import os
167
+ pwd = os.path.dirname(__file__)
168
+ doc = path+"/README.md"
169
+ abs_path = os.path.join(pwd, doc)
170
+ new_line = "\nEXAMPLES:\n"
171
+ lines = open(abs_path, "r").readlines()
172
+ for line in lines:
173
+ if f"{matchCmd}" in line:
174
+ clean_line = line.replace("<br /><br />", "").replace("`","")
175
+ new_line += f"{clean_line}\n"
176
+ # matchArg = path.replace("_",".")
177
+ # for line in lines:
178
+ # if f"`{matchArg}" in line:
179
+ # clean_line = line.replace("<br /><br />", "").replace("`","")
180
+ # new_line += f"{clean_line}\n"
181
+ return new_line
182
+
183
+ def validateArgs(variablesObj,operation):
184
+ isOk = True
185
+ invalidVars = []
186
+ message = "Arguments are missing or have invalid values: "
187
+ for varName in variablesObj:
188
+ if varName not in operation["operationArgs"]:
189
+ isOk = False
190
+ invalidVars.append('"'+varName+'"')
191
+ message = "Invalid argument names: "
192
+ if isOk==True:
193
+ for varName in operation["operationArgs"]:
194
+ if operation["operationArgs"][varName]["required"] and varName not in variablesObj:
195
+ isOk = False
196
+ invalidVars.append('"'+varName+'"')
197
+ else:
198
+ if varName in variablesObj:
199
+ value = variablesObj[varName]
200
+ if operation["operationArgs"][varName]["required"] and value=="":
201
+ isOk = False
202
+ invalidVars.append('"'+varName+'":"'+str(value)+'"')
203
+ return isOk, invalidVars, message
204
+
205
+ def loadJSON(file):
206
+ CONFIG = {}
207
+ module_dir_ary = os.path.dirname(__file__).split("/")
208
+ del module_dir_ary[-1]
209
+ del module_dir_ary[-1]
210
+ module_dir = "/".join(module_dir_ary)
211
+ try:
212
+ with open(module_dir+'/'+file, 'r') as data:
213
+ CONFIG = json.load(data)
214
+ return CONFIG
215
+ except:
216
+ logging.warning("File \""+module_dir+'/'+file+"\" not found.")
217
+ exit()
218
+
219
+ def renderCamelCase(pathStr):
220
+ str = "";
221
+ pathAry = pathStr.split(".")
222
+ for i, path in enumerate(pathAry):
223
+ if i == 0:
224
+ str += path
225
+ else:
226
+ str += path[0].upper() + path[1:]
227
+ return str
228
+
229
+ def renderArgsAndFields(responseArgStr, variablesObj, curOperation, definition, indent):
230
+ for fieldName in definition['fields']:
231
+ field = definition['fields'][fieldName]
232
+ field_name = field['alias'] if 'alias' in field else field['name']
233
+ responseArgStr += indent + field_name
234
+ if field.get("args") and not isinstance(field['args'], list):
235
+ if (len(list(field['args'].keys()))>0):
236
+ argsPresent = False
237
+ argStr = " ( "
238
+ for argName in field['args']:
239
+ arg = field['args'][argName]
240
+ if arg["varName"] in variablesObj:
241
+ argStr += arg['responseStr'] + " "
242
+ argsPresent = True
243
+ argStr += ") "
244
+ if argsPresent==True:
245
+ responseArgStr += argStr
246
+ if field.get("type") and field['type'].get('definition') and field['type']['definition']['fields'] is not None:
247
+ responseArgStr += " {\n"
248
+ for subfieldIndex in field['type']['definition']['fields']:
249
+ subfield = field['type']['definition']['fields'][subfieldIndex]
250
+ subfield_name = subfield['alias'] if 'alias' in subfield else subfield['name']
251
+ responseArgStr += indent + " " + subfield_name
252
+ if subfield.get("args") and len(list(subfield["args"].keys()))>0:
253
+ argsPresent = False
254
+ subArgStr = " ( "
255
+ for argName in subfield['args']:
256
+ arg = subfield['args'][argName]
257
+ if arg["varName"] in variablesObj:
258
+ argsPresent = True
259
+ subArgStr += arg['responseStr'] + " "
260
+ subArgStr += " )"
261
+ if argsPresent==True:
262
+ responseArgStr += subArgStr
263
+ if subfield.get("type") and subfield['type'].get("definition") and (subfield['type']['definition'].get("fields") or subfield['type']['definition'].get('inputFields')):
264
+ responseArgStr += " {\n"
265
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, subfield['type']['definition'], indent + " ")
266
+ if subfield['type']['definition'].get('possibleTypes'):
267
+ for possibleTypeName in subfield['type']['definition']['possibleTypes']:
268
+ possibleType = subfield['type']['definition']['possibleTypes'][possibleTypeName]
269
+ responseArgStr += indent + " ... on " + possibleType['name'] + " {\n"
270
+ if possibleType.get('fields') or possibleType.get('inputFields'):
271
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, possibleType, indent + " ")
272
+ responseArgStr += indent + " }\n"
273
+ responseArgStr += indent + " }"
274
+ elif subfield.get('type') and subfield['type'].get('definition') and subfield['type']['definition'].get('possibleTypes'):
275
+ responseArgStr += " {\n"
276
+ responseArgStr += indent + " __typename\n"
277
+ for possibleTypeName in subfield['type']['definition']['possibleTypes']:
278
+ possibleType = subfield['type']['definition']['possibleTypes'][possibleTypeName]
279
+ responseArgStr += indent + " ... on " + possibleType['name'] + " {\n"
280
+ if possibleType.get('fields') or possibleType.get('inputFields'):
281
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, possibleType, indent + " ")
282
+ responseArgStr += indent + " }\n"
283
+ responseArgStr += indent + " }\n"
284
+ responseArgStr += "\n"
285
+ if field['type']['definition'].get('possibleTypes'):
286
+ for possibleTypeName in field['type']['definition']['possibleTypes']:
287
+ possibleType = field['type']['definition']['possibleTypes'][possibleTypeName]
288
+ responseArgStr += indent + " ... on " + possibleType['name'] + " {\n"
289
+ if possibleType.get('fields') or possibleType.get('inputFields'):
290
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, possibleType, indent + " ")
291
+ responseArgStr += indent + " }\n"
292
+ responseArgStr += indent + "}\n"
293
+ if field.get('type') and field['type'].get('definition') and field['type']['definition'].get('inputFields'):
294
+ responseArgStr += " {\n"
295
+ for subfieldName in field['type']['definition'].get('inputFields'):
296
+ subfield = field['type']['definition']['inputFields'][subfieldName]
297
+ subfield_name = subfield['alias'] if 'alias' in subfield else subfield['name']
298
+ responseArgStr += indent + " " + subfield_name
299
+ if subfield.get('type') and subfield['type'].get('definition') and (subfield['type']['definition'].get('fields') or subfield['type']['definition'].get('inputFields')):
300
+ responseArgStr += " {\n"
301
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, subfield['type']['definition'], indent + " ")
302
+ responseArgStr += indent + " }\n"
303
+ if field['type']['definition'].get('possibleTypes'):
304
+ for possibleTypeName in field['type']['definition']['possibleTypes']:
305
+ possibleType = field['type']['definition']['possibleTypes'][possibleTypeName]
306
+ responseArgStr += indent + "... on " + possibleType['name'] + " {\n"
307
+ if possibleType.get('fields') or possibleType.get('inputFields'):
308
+ responseArgStr = renderArgsAndFields(responseArgStr, variablesObj, curOperation, possibleType, indent + " ")
309
+ responseArgStr += indent + " }\n"
310
+ responseArgStr += indent + "}\n"
311
+ responseArgStr += "\n"
312
+ return responseArgStr
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_accountBySubdomain_parse(query_subparsers):
5
+ query_accountBySubdomain_parser = query_subparsers.add_parser('accountBySubdomain',
6
+ help='accountBySubdomain() query operation',
7
+ usage=get_help("query_accountBySubdomain"))
8
+
9
+ query_accountBySubdomain_parser.add_argument('accountID', help='The Account ID.')
10
+ query_accountBySubdomain_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_accountBySubdomain_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_accountBySubdomain_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_accountBySubdomain_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_accountBySubdomain_parser.set_defaults(func=createRequest,operation_name='query.accountBySubdomain')
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_accountMetrics_parse(query_subparsers):
5
+ query_accountMetrics_parser = query_subparsers.add_parser('accountMetrics',
6
+ help='accountMetrics() query operation',
7
+ usage=get_help("query_accountMetrics"))
8
+
9
+ query_accountMetrics_parser.add_argument('accountID', help='The Account ID.')
10
+ query_accountMetrics_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_accountMetrics_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_accountMetrics_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_accountMetrics_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_accountMetrics_parser.set_defaults(func=createRequest,operation_name='query.accountMetrics')
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_accountRoles_parse(query_subparsers):
5
+ query_accountRoles_parser = query_subparsers.add_parser('accountRoles',
6
+ help='accountRoles() query operation',
7
+ usage=get_help("query_accountRoles"))
8
+
9
+ query_accountRoles_parser.add_argument('accountID', help='The Account ID.')
10
+ query_accountRoles_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_accountRoles_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_accountRoles_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_accountRoles_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_accountRoles_parser.set_defaults(func=createRequest,operation_name='query.accountRoles')
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_accountSnapshot_parse(query_subparsers):
5
+ query_accountSnapshot_parser = query_subparsers.add_parser('accountSnapshot',
6
+ help='accountSnapshot() query operation',
7
+ usage=get_help("query_accountSnapshot"))
8
+
9
+ query_accountSnapshot_parser.add_argument('accountID', help='The Account ID.')
10
+ query_accountSnapshot_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_accountSnapshot_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_accountSnapshot_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_accountSnapshot_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_accountSnapshot_parser.set_defaults(func=createRequest,operation_name='query.accountSnapshot')
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_admin_parse(query_subparsers):
5
+ query_admin_parser = query_subparsers.add_parser('admin',
6
+ help='admin() query operation',
7
+ usage=get_help("query_admin"))
8
+
9
+ query_admin_parser.add_argument('accountID', help='The Account ID.')
10
+ query_admin_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_admin_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_admin_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_admin_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_admin_parser.set_defaults(func=createRequest,operation_name='query.admin')
@@ -0,0 +1,17 @@
1
+
2
+ from ..parserApiClient import createRequest, get_help
3
+
4
+ def query_admins_parse(query_subparsers):
5
+ query_admins_parser = query_subparsers.add_parser('admins',
6
+ help='admins() query operation',
7
+ usage=get_help("query_admins"))
8
+
9
+ query_admins_parser.add_argument('accountID', help='The Account ID.')
10
+ query_admins_parser.add_argument('json', help='Variables in JSON format.')
11
+ query_admins_parser.add_argument('-t', const=True, default=False, nargs='?',
12
+ help='Print test request preview without sending api call')
13
+ query_admins_parser.add_argument('-v', const=True, default=False, nargs='?',
14
+ help='Verbose output')
15
+ query_admins_parser.add_argument('-p', const=True, default=False, nargs='?',
16
+ help='Pretty print')
17
+ query_admins_parser.set_defaults(func=createRequest,operation_name='query.admins')