@robinmordasiewicz/f5xc-api-mcp 1.0.82-2512312028

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 (329) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +415 -0
  3. package/dist/auth/credential-manager.d.ts +151 -0
  4. package/dist/auth/credential-manager.d.ts.map +1 -0
  5. package/dist/auth/credential-manager.js +330 -0
  6. package/dist/auth/credential-manager.js.map +1 -0
  7. package/dist/auth/http-client.d.ts +81 -0
  8. package/dist/auth/http-client.d.ts.map +1 -0
  9. package/dist/auth/http-client.js +197 -0
  10. package/dist/auth/http-client.js.map +1 -0
  11. package/dist/auth/index.d.ts +8 -0
  12. package/dist/auth/index.d.ts.map +1 -0
  13. package/dist/auth/index.js +6 -0
  14. package/dist/auth/index.js.map +1 -0
  15. package/dist/config/config-manager.d.ts +72 -0
  16. package/dist/config/config-manager.d.ts.map +1 -0
  17. package/dist/config/config-manager.js +247 -0
  18. package/dist/config/config-manager.js.map +1 -0
  19. package/dist/config/index.d.ts +7 -0
  20. package/dist/config/index.d.ts.map +1 -0
  21. package/dist/config/index.js +7 -0
  22. package/dist/config/index.js.map +1 -0
  23. package/dist/config/schema.d.ts +74 -0
  24. package/dist/config/schema.d.ts.map +1 -0
  25. package/dist/config/schema.js +75 -0
  26. package/dist/config/schema.js.map +1 -0
  27. package/dist/config/types.d.ts +77 -0
  28. package/dist/config/types.d.ts.map +1 -0
  29. package/dist/config/types.js +31 -0
  30. package/dist/config/types.js.map +1 -0
  31. package/dist/generator/dependency-extractor.d.ts +103 -0
  32. package/dist/generator/dependency-extractor.d.ts.map +1 -0
  33. package/dist/generator/dependency-extractor.js +473 -0
  34. package/dist/generator/dependency-extractor.js.map +1 -0
  35. package/dist/generator/dependency-graph.d.ts +67 -0
  36. package/dist/generator/dependency-graph.d.ts.map +1 -0
  37. package/dist/generator/dependency-graph.js +330 -0
  38. package/dist/generator/dependency-graph.js.map +1 -0
  39. package/dist/generator/dependency-types.d.ts +206 -0
  40. package/dist/generator/dependency-types.d.ts.map +1 -0
  41. package/dist/generator/dependency-types.js +37 -0
  42. package/dist/generator/dependency-types.js.map +1 -0
  43. package/dist/generator/index.d.ts +7 -0
  44. package/dist/generator/index.d.ts.map +1 -0
  45. package/dist/generator/index.js +7 -0
  46. package/dist/generator/index.js.map +1 -0
  47. package/dist/generator/naming/acronyms.d.ts +81 -0
  48. package/dist/generator/naming/acronyms.d.ts.map +1 -0
  49. package/dist/generator/naming/acronyms.js +253 -0
  50. package/dist/generator/naming/acronyms.js.map +1 -0
  51. package/dist/generator/naming/index.d.ts +6 -0
  52. package/dist/generator/naming/index.d.ts.map +1 -0
  53. package/dist/generator/naming/index.js +6 -0
  54. package/dist/generator/naming/index.js.map +1 -0
  55. package/dist/generator/naming/volterra-mapping.d.ts +102 -0
  56. package/dist/generator/naming/volterra-mapping.d.ts.map +1 -0
  57. package/dist/generator/naming/volterra-mapping.js +259 -0
  58. package/dist/generator/naming/volterra-mapping.js.map +1 -0
  59. package/dist/generator/openapi-parser.d.ts +701 -0
  60. package/dist/generator/openapi-parser.d.ts.map +1 -0
  61. package/dist/generator/openapi-parser.js +704 -0
  62. package/dist/generator/openapi-parser.js.map +1 -0
  63. package/dist/generator/tool-generator.d.ts +118 -0
  64. package/dist/generator/tool-generator.d.ts.map +1 -0
  65. package/dist/generator/tool-generator.js +529 -0
  66. package/dist/generator/tool-generator.js.map +1 -0
  67. package/dist/generator/transformers/index.d.ts +7 -0
  68. package/dist/generator/transformers/index.d.ts.map +1 -0
  69. package/dist/generator/transformers/index.js +7 -0
  70. package/dist/generator/transformers/index.js.map +1 -0
  71. package/dist/generator/transformers/normalize-examples.d.ts +48 -0
  72. package/dist/generator/transformers/normalize-examples.d.ts.map +1 -0
  73. package/dist/generator/transformers/normalize-examples.js +66 -0
  74. package/dist/generator/transformers/normalize-examples.js.map +1 -0
  75. package/dist/index.d.ts +22 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +101 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/prompts/error-resolution.d.ts +70 -0
  80. package/dist/prompts/error-resolution.d.ts.map +1 -0
  81. package/dist/prompts/error-resolution.js +350 -0
  82. package/dist/prompts/error-resolution.js.map +1 -0
  83. package/dist/prompts/index.d.ts +8 -0
  84. package/dist/prompts/index.d.ts.map +1 -0
  85. package/dist/prompts/index.js +7 -0
  86. package/dist/prompts/index.js.map +1 -0
  87. package/dist/prompts/workflows.d.ts +59 -0
  88. package/dist/prompts/workflows.d.ts.map +1 -0
  89. package/dist/prompts/workflows.js +441 -0
  90. package/dist/prompts/workflows.js.map +1 -0
  91. package/dist/resources/handlers.d.ts +70 -0
  92. package/dist/resources/handlers.d.ts.map +1 -0
  93. package/dist/resources/handlers.js +270 -0
  94. package/dist/resources/handlers.js.map +1 -0
  95. package/dist/resources/index.d.ts +8 -0
  96. package/dist/resources/index.d.ts.map +1 -0
  97. package/dist/resources/index.js +6 -0
  98. package/dist/resources/index.js.map +1 -0
  99. package/dist/resources/templates.d.ts +86 -0
  100. package/dist/resources/templates.d.ts.map +1 -0
  101. package/dist/resources/templates.js +248 -0
  102. package/dist/resources/templates.js.map +1 -0
  103. package/dist/server.d.ts +78 -0
  104. package/dist/server.d.ts.map +1 -0
  105. package/dist/server.js +721 -0
  106. package/dist/server.js.map +1 -0
  107. package/dist/tools/discovery/best-practices.d.ts +140 -0
  108. package/dist/tools/discovery/best-practices.d.ts.map +1 -0
  109. package/dist/tools/discovery/best-practices.js +499 -0
  110. package/dist/tools/discovery/best-practices.js.map +1 -0
  111. package/dist/tools/discovery/consolidate.d.ts +97 -0
  112. package/dist/tools/discovery/consolidate.d.ts.map +1 -0
  113. package/dist/tools/discovery/consolidate.js +200 -0
  114. package/dist/tools/discovery/consolidate.js.map +1 -0
  115. package/dist/tools/discovery/cost-estimator.d.ts +114 -0
  116. package/dist/tools/discovery/cost-estimator.d.ts.map +1 -0
  117. package/dist/tools/discovery/cost-estimator.js +273 -0
  118. package/dist/tools/discovery/cost-estimator.js.map +1 -0
  119. package/dist/tools/discovery/dependencies.d.ts +113 -0
  120. package/dist/tools/discovery/dependencies.d.ts.map +1 -0
  121. package/dist/tools/discovery/dependencies.js +258 -0
  122. package/dist/tools/discovery/dependencies.js.map +1 -0
  123. package/dist/tools/discovery/describe.d.ts +133 -0
  124. package/dist/tools/discovery/describe.d.ts.map +1 -0
  125. package/dist/tools/discovery/describe.js +208 -0
  126. package/dist/tools/discovery/describe.js.map +1 -0
  127. package/dist/tools/discovery/execute.d.ts +96 -0
  128. package/dist/tools/discovery/execute.d.ts.map +1 -0
  129. package/dist/tools/discovery/execute.js +220 -0
  130. package/dist/tools/discovery/execute.js.map +1 -0
  131. package/dist/tools/discovery/index-loader.d.ts +28 -0
  132. package/dist/tools/discovery/index-loader.d.ts.map +1 -0
  133. package/dist/tools/discovery/index-loader.js +72 -0
  134. package/dist/tools/discovery/index-loader.js.map +1 -0
  135. package/dist/tools/discovery/index.d.ts +363 -0
  136. package/dist/tools/discovery/index.d.ts.map +1 -0
  137. package/dist/tools/discovery/index.js +361 -0
  138. package/dist/tools/discovery/index.js.map +1 -0
  139. package/dist/tools/discovery/resolver.d.ts +119 -0
  140. package/dist/tools/discovery/resolver.d.ts.map +1 -0
  141. package/dist/tools/discovery/resolver.js +369 -0
  142. package/dist/tools/discovery/resolver.js.map +1 -0
  143. package/dist/tools/discovery/search.d.ts +41 -0
  144. package/dist/tools/discovery/search.d.ts.map +1 -0
  145. package/dist/tools/discovery/search.js +176 -0
  146. package/dist/tools/discovery/search.js.map +1 -0
  147. package/dist/tools/discovery/types.d.ts +91 -0
  148. package/dist/tools/discovery/types.d.ts.map +1 -0
  149. package/dist/tools/discovery/types.js +9 -0
  150. package/dist/tools/discovery/types.js.map +1 -0
  151. package/dist/tools/discovery/validate.d.ts +63 -0
  152. package/dist/tools/discovery/validate.d.ts.map +1 -0
  153. package/dist/tools/discovery/validate.js +239 -0
  154. package/dist/tools/discovery/validate.js.map +1 -0
  155. package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
  156. package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
  157. package/dist/tools/generated/admin_console_and_ui/index.js +265 -0
  158. package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
  159. package/dist/tools/generated/api/index.d.ts +8 -0
  160. package/dist/tools/generated/api/index.d.ts.map +1 -0
  161. package/dist/tools/generated/api/index.js +7016 -0
  162. package/dist/tools/generated/api/index.js.map +1 -0
  163. package/dist/tools/generated/authentication/index.d.ts +8 -0
  164. package/dist/tools/generated/authentication/index.d.ts.map +1 -0
  165. package/dist/tools/generated/authentication/index.js +907 -0
  166. package/dist/tools/generated/authentication/index.js.map +1 -0
  167. package/dist/tools/generated/bigip/index.d.ts +8 -0
  168. package/dist/tools/generated/bigip/index.d.ts.map +1 -0
  169. package/dist/tools/generated/bigip/index.js +3152 -0
  170. package/dist/tools/generated/bigip/index.js.map +1 -0
  171. package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
  172. package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
  173. package/dist/tools/generated/billing_and_usage/index.js +2452 -0
  174. package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
  175. package/dist/tools/generated/blindfold/index.d.ts +8 -0
  176. package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
  177. package/dist/tools/generated/blindfold/index.js +3790 -0
  178. package/dist/tools/generated/blindfold/index.js.map +1 -0
  179. package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
  180. package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
  181. package/dist/tools/generated/bot_and_threat_defense/index.js +2746 -0
  182. package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
  183. package/dist/tools/generated/cdn/index.d.ts +8 -0
  184. package/dist/tools/generated/cdn/index.d.ts.map +1 -0
  185. package/dist/tools/generated/cdn/index.js +2686 -0
  186. package/dist/tools/generated/cdn/index.js.map +1 -0
  187. package/dist/tools/generated/ce_management/index.d.ts +8 -0
  188. package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
  189. package/dist/tools/generated/ce_management/index.js +3812 -0
  190. package/dist/tools/generated/ce_management/index.js.map +1 -0
  191. package/dist/tools/generated/certificates/index.d.ts +8 -0
  192. package/dist/tools/generated/certificates/index.d.ts.map +1 -0
  193. package/dist/tools/generated/certificates/index.js +2547 -0
  194. package/dist/tools/generated/certificates/index.js.map +1 -0
  195. package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
  196. package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
  197. package/dist/tools/generated/cloud_infrastructure/index.js +3959 -0
  198. package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
  199. package/dist/tools/generated/container_services/index.d.ts +8 -0
  200. package/dist/tools/generated/container_services/index.d.ts.map +1 -0
  201. package/dist/tools/generated/container_services/index.js +2018 -0
  202. package/dist/tools/generated/container_services/index.js.map +1 -0
  203. package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
  204. package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
  205. package/dist/tools/generated/data_and_privacy_security/index.js +1662 -0
  206. package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
  207. package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
  208. package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
  209. package/dist/tools/generated/data_intelligence/index.js +1600 -0
  210. package/dist/tools/generated/data_intelligence/index.js.map +1 -0
  211. package/dist/tools/generated/ddos/index.d.ts +8 -0
  212. package/dist/tools/generated/ddos/index.d.ts.map +1 -0
  213. package/dist/tools/generated/ddos/index.js +8091 -0
  214. package/dist/tools/generated/ddos/index.js.map +1 -0
  215. package/dist/tools/generated/dependency-graph.json +26358 -0
  216. package/dist/tools/generated/dns/index.d.ts +8 -0
  217. package/dist/tools/generated/dns/index.d.ts.map +1 -0
  218. package/dist/tools/generated/dns/index.js +6096 -0
  219. package/dist/tools/generated/dns/index.js.map +1 -0
  220. package/dist/tools/generated/generative_ai/index.d.ts +8 -0
  221. package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
  222. package/dist/tools/generated/generative_ai/index.js +1019 -0
  223. package/dist/tools/generated/generative_ai/index.js.map +1 -0
  224. package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
  225. package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
  226. package/dist/tools/generated/managed_kubernetes/index.js +3368 -0
  227. package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
  228. package/dist/tools/generated/marketplace/index.d.ts +8 -0
  229. package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
  230. package/dist/tools/generated/marketplace/index.js +4329 -0
  231. package/dist/tools/generated/marketplace/index.js.map +1 -0
  232. package/dist/tools/generated/network/index.d.ts +8 -0
  233. package/dist/tools/generated/network/index.d.ts.map +1 -0
  234. package/dist/tools/generated/network/index.js +12424 -0
  235. package/dist/tools/generated/network/index.js.map +1 -0
  236. package/dist/tools/generated/network_security/index.d.ts +8 -0
  237. package/dist/tools/generated/network_security/index.d.ts.map +1 -0
  238. package/dist/tools/generated/network_security/index.js +9637 -0
  239. package/dist/tools/generated/network_security/index.js.map +1 -0
  240. package/dist/tools/generated/nginx_one/index.d.ts +8 -0
  241. package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
  242. package/dist/tools/generated/nginx_one/index.js +1692 -0
  243. package/dist/tools/generated/nginx_one/index.js.map +1 -0
  244. package/dist/tools/generated/object_storage/index.d.ts +8 -0
  245. package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
  246. package/dist/tools/generated/object_storage/index.js +996 -0
  247. package/dist/tools/generated/object_storage/index.js.map +1 -0
  248. package/dist/tools/generated/observability/index.d.ts +8 -0
  249. package/dist/tools/generated/observability/index.d.ts.map +1 -0
  250. package/dist/tools/generated/observability/index.js +5285 -0
  251. package/dist/tools/generated/observability/index.js.map +1 -0
  252. package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
  253. package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
  254. package/dist/tools/generated/rate_limiting/index.js +2108 -0
  255. package/dist/tools/generated/rate_limiting/index.js.map +1 -0
  256. package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
  257. package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
  258. package/dist/tools/generated/secops_and_incident_response/index.js +710 -0
  259. package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
  260. package/dist/tools/generated/service_mesh/index.d.ts +8 -0
  261. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -0
  262. package/dist/tools/generated/service_mesh/index.js +6062 -0
  263. package/dist/tools/generated/service_mesh/index.js.map +1 -0
  264. package/dist/tools/generated/shape/index.d.ts +8 -0
  265. package/dist/tools/generated/shape/index.d.ts.map +1 -0
  266. package/dist/tools/generated/shape/index.js +19381 -0
  267. package/dist/tools/generated/shape/index.js.map +1 -0
  268. package/dist/tools/generated/sites/index.d.ts +8 -0
  269. package/dist/tools/generated/sites/index.d.ts.map +1 -0
  270. package/dist/tools/generated/sites/index.js +13160 -0
  271. package/dist/tools/generated/sites/index.js.map +1 -0
  272. package/dist/tools/generated/statistics/index.d.ts +8 -0
  273. package/dist/tools/generated/statistics/index.d.ts.map +1 -0
  274. package/dist/tools/generated/statistics/index.js +8131 -0
  275. package/dist/tools/generated/statistics/index.js.map +1 -0
  276. package/dist/tools/generated/support/index.d.ts +8 -0
  277. package/dist/tools/generated/support/index.d.ts.map +1 -0
  278. package/dist/tools/generated/support/index.js +5608 -0
  279. package/dist/tools/generated/support/index.js.map +1 -0
  280. package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
  281. package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
  282. package/dist/tools/generated/telemetry_and_insights/index.js +2404 -0
  283. package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
  284. package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
  285. package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
  286. package/dist/tools/generated/tenant_and_identity/index.js +18938 -0
  287. package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
  288. package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
  289. package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
  290. package/dist/tools/generated/threat_campaign/index.js +102 -0
  291. package/dist/tools/generated/threat_campaign/index.js.map +1 -0
  292. package/dist/tools/generated/users/index.d.ts +8 -0
  293. package/dist/tools/generated/users/index.d.ts.map +1 -0
  294. package/dist/tools/generated/users/index.js +1515 -0
  295. package/dist/tools/generated/users/index.js.map +1 -0
  296. package/dist/tools/generated/virtual/index.d.ts +8 -0
  297. package/dist/tools/generated/virtual/index.d.ts.map +1 -0
  298. package/dist/tools/generated/virtual/index.js +11263 -0
  299. package/dist/tools/generated/virtual/index.js.map +1 -0
  300. package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
  301. package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
  302. package/dist/tools/generated/vpm_and_node_management/index.js +88 -0
  303. package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
  304. package/dist/tools/generated/waf/index.d.ts +8 -0
  305. package/dist/tools/generated/waf/index.d.ts.map +1 -0
  306. package/dist/tools/generated/waf/index.js +4586 -0
  307. package/dist/tools/generated/waf/index.js.map +1 -0
  308. package/dist/tools/index.d.ts +7 -0
  309. package/dist/tools/index.d.ts.map +1 -0
  310. package/dist/tools/index.js +6 -0
  311. package/dist/tools/index.js.map +1 -0
  312. package/dist/tools/registry.d.ts +27 -0
  313. package/dist/tools/registry.d.ts.map +1 -0
  314. package/dist/tools/registry.js +115 -0
  315. package/dist/tools/registry.js.map +1 -0
  316. package/dist/utils/error-handling.d.ts +109 -0
  317. package/dist/utils/error-handling.d.ts.map +1 -0
  318. package/dist/utils/error-handling.js +239 -0
  319. package/dist/utils/error-handling.js.map +1 -0
  320. package/dist/utils/index.d.ts +7 -0
  321. package/dist/utils/index.d.ts.map +1 -0
  322. package/dist/utils/index.js +6 -0
  323. package/dist/utils/index.js.map +1 -0
  324. package/dist/utils/logging.d.ts +75 -0
  325. package/dist/utils/logging.d.ts.map +1 -0
  326. package/dist/utils/logging.js +131 -0
  327. package/dist/utils/logging.js.map +1 -0
  328. package/manifest.json +143 -0
  329. package/package.json +110 -0
@@ -0,0 +1,2686 @@
1
+ /**
2
+ * Generated tool definitions for cdn domain
3
+ * DO NOT EDIT - This file is auto-generated by scripts/generate.ts
4
+ */
5
+ export const cdnTools = [
6
+ {
7
+ toolName: "f5xc-api-cdn-access-log-create",
8
+ method: "POST",
9
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/access_logs",
10
+ operation: "create",
11
+ domain: "cdn",
12
+ resource: "access-log",
13
+ summary: "GET CDN Access Logs.",
14
+ description: "Retrieve CDN Load-Balancer Access logs.",
15
+ pathParameters: [
16
+ {
17
+ description: "Namespace\nfetch access logs for a given namespace.",
18
+ in: "path",
19
+ name: "namespace",
20
+ required: true,
21
+ schema: {
22
+ type: "string",
23
+ },
24
+ "x-displayname": "Namespace",
25
+ "x-ves-example": "Value",
26
+ },
27
+ ],
28
+ queryParameters: [],
29
+ requestBodySchema: {
30
+ $ref: "#/components/schemas/cdn_loadbalancerCDNAccessLogRequest",
31
+ },
32
+ responseSchema: {
33
+ $ref: "#/components/schemas/cdn_loadbalancerCDNLogResponse",
34
+ },
35
+ requiredParams: ["body", "namespace"],
36
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogs",
37
+ tags: ["CDN"],
38
+ sourceFile: "domains/cdn.json",
39
+ displayName: null,
40
+ dangerLevel: "medium",
41
+ sideEffects: {
42
+ creates: ["access-log"],
43
+ },
44
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
45
+ confirmationRequired: false,
46
+ parameterExamples: {
47
+ namespace: "Value",
48
+ },
49
+ validationRules: {},
50
+ operationMetadata: {
51
+ common_errors: [
52
+ {
53
+ code: 401,
54
+ message: "Authentication required",
55
+ solution: "Provide valid API credentials",
56
+ },
57
+ {
58
+ code: 403,
59
+ message: "Permission denied",
60
+ solution: "Check access permissions for this operation",
61
+ },
62
+ {
63
+ code: 404,
64
+ message: "Resource not found",
65
+ solution: "Verify resource name, namespace, and path",
66
+ },
67
+ {
68
+ code: 409,
69
+ message: "Resource already exists",
70
+ solution: "Use different name or update existing resource",
71
+ },
72
+ {
73
+ code: 429,
74
+ message: "Rate limit exceeded",
75
+ solution: "Wait before retrying the operation",
76
+ },
77
+ {
78
+ code: 500,
79
+ message: "Server error",
80
+ solution: "Retry operation or contact support",
81
+ },
82
+ ],
83
+ conditions: {
84
+ postconditions: ["Access-log resource created", "Resource assigned unique identifier"],
85
+ prerequisites: ["Active namespace"],
86
+ },
87
+ confirmation_required: false,
88
+ danger_level: "medium",
89
+ field_docs: {},
90
+ optional_fields: [],
91
+ performance_impact: {
92
+ latency: "low",
93
+ resource_usage: "low",
94
+ },
95
+ purpose: "Create new access-log",
96
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
97
+ side_effects: {
98
+ creates: ["access-log"],
99
+ },
100
+ },
101
+ curlExample: null,
102
+ dependencies: [],
103
+ oneOfGroups: [],
104
+ subscriptionRequirements: [
105
+ {
106
+ addonService: "f5xc_content_delivery_network_standard",
107
+ displayName: "F5XC Content Delivery Network Standard",
108
+ required: false,
109
+ tier: "standard",
110
+ },
111
+ ],
112
+ },
113
+ {
114
+ toolName: "f5xc-api-cdn-aggregation-create",
115
+ method: "POST",
116
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/access_logs/aggregation",
117
+ operation: "create",
118
+ domain: "cdn",
119
+ resource: "aggregation",
120
+ summary: "CDN Access Log Aggregation Query.",
121
+ description: "Request to GET summary/analytics data for the CDN access logs that matches the query in request for a given namespace.",
122
+ pathParameters: [
123
+ {
124
+ description: "Namespace\nGET aggregation data for a given namespace.",
125
+ in: "path",
126
+ name: "namespace",
127
+ required: true,
128
+ schema: {
129
+ type: "string",
130
+ },
131
+ "x-displayname": "Namespace",
132
+ "x-ves-example": "Value",
133
+ },
134
+ ],
135
+ queryParameters: [],
136
+ requestBodySchema: {
137
+ $ref: "#/components/schemas/cdn_loadbalancerCDNAccessLogAggregationRequest",
138
+ },
139
+ responseSchema: {
140
+ $ref: "#/components/schemas/cdn_loadbalancerCDNLogAggregationResponse",
141
+ },
142
+ requiredParams: ["body", "namespace"],
143
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNAccessLogAggregationQuery",
144
+ tags: ["CDN"],
145
+ sourceFile: "domains/cdn.json",
146
+ displayName: null,
147
+ dangerLevel: "medium",
148
+ sideEffects: {
149
+ creates: ["aggregation"],
150
+ },
151
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
152
+ confirmationRequired: false,
153
+ parameterExamples: {
154
+ namespace: "Value",
155
+ },
156
+ validationRules: {},
157
+ operationMetadata: {
158
+ common_errors: [
159
+ {
160
+ code: 401,
161
+ message: "Authentication required",
162
+ solution: "Provide valid API credentials",
163
+ },
164
+ {
165
+ code: 403,
166
+ message: "Permission denied",
167
+ solution: "Check access permissions for this operation",
168
+ },
169
+ {
170
+ code: 404,
171
+ message: "Resource not found",
172
+ solution: "Verify resource name, namespace, and path",
173
+ },
174
+ {
175
+ code: 409,
176
+ message: "Resource already exists",
177
+ solution: "Use different name or update existing resource",
178
+ },
179
+ {
180
+ code: 429,
181
+ message: "Rate limit exceeded",
182
+ solution: "Wait before retrying the operation",
183
+ },
184
+ {
185
+ code: 500,
186
+ message: "Server error",
187
+ solution: "Retry operation or contact support",
188
+ },
189
+ ],
190
+ conditions: {
191
+ postconditions: ["Aggregation resource created", "Resource assigned unique identifier"],
192
+ prerequisites: ["Active namespace"],
193
+ },
194
+ confirmation_required: false,
195
+ danger_level: "medium",
196
+ field_docs: {},
197
+ optional_fields: [],
198
+ performance_impact: {
199
+ latency: "low",
200
+ resource_usage: "low",
201
+ },
202
+ purpose: "Create new aggregation",
203
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
204
+ side_effects: {
205
+ creates: ["aggregation"],
206
+ },
207
+ },
208
+ curlExample: null,
209
+ dependencies: [],
210
+ oneOfGroups: [],
211
+ subscriptionRequirements: [
212
+ {
213
+ addonService: "f5xc_content_delivery_network_standard",
214
+ displayName: "F5XC Content Delivery Network Standard",
215
+ required: false,
216
+ tier: "standard",
217
+ },
218
+ ],
219
+ },
220
+ {
221
+ toolName: "f5xc-api-cdn-cache-purge-create",
222
+ method: "POST",
223
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/{name}/cache-purge",
224
+ operation: "create",
225
+ domain: "cdn",
226
+ resource: "cache-purge",
227
+ summary: "Purge CDN Cache.",
228
+ description: "Initiate Purge for Edge CDN Cache.",
229
+ pathParameters: [
230
+ {
231
+ description: "CDN Distribution Name\nx-required\nFormat: string.",
232
+ in: "path",
233
+ name: "name",
234
+ required: true,
235
+ schema: {
236
+ type: "string",
237
+ },
238
+ "x-displayname": "Name of the CDN distrubition.",
239
+ "x-ves-example": "CDN-1",
240
+ },
241
+ {
242
+ description: "Namespace\nx-required\nNamespace scope of the metric request.",
243
+ in: "path",
244
+ name: "namespace",
245
+ required: true,
246
+ schema: {
247
+ type: "string",
248
+ },
249
+ "x-displayname": "Namespace",
250
+ "x-ves-example": "Default",
251
+ },
252
+ ],
253
+ queryParameters: [],
254
+ requestBodySchema: {
255
+ $ref: "#/components/schemas/common_cdnLilacCDNCachePurgeRequest",
256
+ },
257
+ responseSchema: {
258
+ $ref: "#/components/schemas/common_cdnLilacCDNCachePurgeResponse",
259
+ },
260
+ requiredParams: ["body", "name", "namespace"],
261
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNCachePurge",
262
+ tags: ["CDN"],
263
+ sourceFile: "domains/cdn.json",
264
+ displayName: null,
265
+ dangerLevel: "medium",
266
+ sideEffects: {
267
+ creates: ["cache-purge"],
268
+ },
269
+ requiredFields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
270
+ confirmationRequired: false,
271
+ parameterExamples: {
272
+ name: "CDN-1",
273
+ namespace: "Default",
274
+ },
275
+ validationRules: {},
276
+ operationMetadata: {
277
+ common_errors: [
278
+ {
279
+ code: 401,
280
+ message: "Authentication required",
281
+ solution: "Provide valid API credentials",
282
+ },
283
+ {
284
+ code: 403,
285
+ message: "Permission denied",
286
+ solution: "Check access permissions for this operation",
287
+ },
288
+ {
289
+ code: 404,
290
+ message: "Resource not found",
291
+ solution: "Verify resource name, namespace, and path",
292
+ },
293
+ {
294
+ code: 409,
295
+ message: "Resource already exists",
296
+ solution: "Use different name or update existing resource",
297
+ },
298
+ {
299
+ code: 429,
300
+ message: "Rate limit exceeded",
301
+ solution: "Wait before retrying the operation",
302
+ },
303
+ {
304
+ code: 500,
305
+ message: "Server error",
306
+ solution: "Retry operation or contact support",
307
+ },
308
+ ],
309
+ conditions: {
310
+ postconditions: ["Cache-purge resource created", "Resource assigned unique identifier"],
311
+ prerequisites: ["Active namespace"],
312
+ },
313
+ confirmation_required: false,
314
+ danger_level: "medium",
315
+ field_docs: {},
316
+ optional_fields: [],
317
+ performance_impact: {
318
+ latency: "low",
319
+ resource_usage: "low",
320
+ },
321
+ purpose: "Create new cache-purge",
322
+ required_fields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
323
+ side_effects: {
324
+ creates: ["cache-purge"],
325
+ },
326
+ },
327
+ curlExample: null,
328
+ dependencies: [],
329
+ oneOfGroups: [
330
+ {
331
+ choiceField: "pattern_type",
332
+ fieldPath: "pattern_type",
333
+ options: ["hostname", "pattern", "purge_all", "url"],
334
+ },
335
+ {
336
+ choiceField: "purge_type",
337
+ fieldPath: "purge_type",
338
+ options: ["hard_purge", "soft_purge"],
339
+ },
340
+ ],
341
+ subscriptionRequirements: [
342
+ {
343
+ addonService: "f5xc_content_delivery_network_standard",
344
+ displayName: "F5XC Content Delivery Network Standard",
345
+ required: false,
346
+ tier: "standard",
347
+ },
348
+ ],
349
+ },
350
+ {
351
+ toolName: "f5xc-api-cdn-cdn-cache-rule-create",
352
+ method: "POST",
353
+ path: "/api/config/namespaces/{metadata.namespace}/cdn_cache_rules",
354
+ operation: "create",
355
+ domain: "cdn",
356
+ resource: "cdn-cache-rule",
357
+ summary: "Create CDN cache rule.",
358
+ description: "Shape of the CDN loadbalancer specification.",
359
+ pathParameters: [
360
+ {
361
+ description: 'Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be ""',
362
+ in: "path",
363
+ name: "metadata.namespace",
364
+ required: true,
365
+ schema: {
366
+ type: "string",
367
+ },
368
+ "x-displayname": "Namespace",
369
+ "x-ves-example": "Staging",
370
+ },
371
+ ],
372
+ queryParameters: [],
373
+ requestBodySchema: {
374
+ $ref: "#/components/schemas/cdn_cache_ruleCreateRequest",
375
+ },
376
+ responseSchema: {
377
+ $ref: "#/components/schemas/cdn_cache_ruleCreateResponse",
378
+ },
379
+ requiredParams: ["body", "metadata.namespace"],
380
+ operationId: "ves.io.schema.cdn_cache_rule.API.Create",
381
+ tags: ["Other"],
382
+ sourceFile: "domains/cdn.json",
383
+ displayName: null,
384
+ dangerLevel: "medium",
385
+ sideEffects: {
386
+ creates: ["cdn-cache-rule"],
387
+ },
388
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
389
+ confirmationRequired: false,
390
+ parameterExamples: {
391
+ "metadata.namespace": "Staging",
392
+ },
393
+ validationRules: {},
394
+ operationMetadata: {
395
+ common_errors: [
396
+ {
397
+ code: 401,
398
+ message: "Authentication required",
399
+ solution: "Provide valid API credentials",
400
+ },
401
+ {
402
+ code: 403,
403
+ message: "Permission denied",
404
+ solution: "Check access permissions for this operation",
405
+ },
406
+ {
407
+ code: 404,
408
+ message: "Resource not found",
409
+ solution: "Verify resource name, namespace, and path",
410
+ },
411
+ {
412
+ code: 409,
413
+ message: "Resource already exists",
414
+ solution: "Use different name or update existing resource",
415
+ },
416
+ {
417
+ code: 429,
418
+ message: "Rate limit exceeded",
419
+ solution: "Wait before retrying the operation",
420
+ },
421
+ {
422
+ code: 500,
423
+ message: "Server error",
424
+ solution: "Retry operation or contact support",
425
+ },
426
+ ],
427
+ conditions: {
428
+ postconditions: ["Cdn-cache-rule resource created", "Resource assigned unique identifier"],
429
+ prerequisites: ["Active namespace", "Policy parameters defined"],
430
+ },
431
+ confirmation_required: false,
432
+ danger_level: "medium",
433
+ field_docs: {},
434
+ optional_fields: [],
435
+ performance_impact: {
436
+ latency: "low",
437
+ resource_usage: "low",
438
+ },
439
+ purpose: "Create new cdn-cache-rule",
440
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
441
+ side_effects: {
442
+ creates: ["cdn-cache-rule"],
443
+ },
444
+ },
445
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_cache_rules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
446
+ dependencies: [
447
+ {
448
+ domain: "",
449
+ fieldPath: "",
450
+ inline: false,
451
+ required: false,
452
+ resourceType: "cdn-cache-rule",
453
+ },
454
+ {
455
+ domain: "",
456
+ fieldPath: "metadata",
457
+ inline: false,
458
+ required: false,
459
+ resourceType: "schema-object-create-meta",
460
+ },
461
+ {
462
+ domain: "",
463
+ fieldPath: "spec",
464
+ inline: false,
465
+ required: false,
466
+ resourceType: "schemacdn-cache-rule-create",
467
+ },
468
+ ],
469
+ oneOfGroups: [],
470
+ subscriptionRequirements: [
471
+ {
472
+ addonService: "f5xc_content_delivery_network_standard",
473
+ displayName: "F5XC Content Delivery Network Standard",
474
+ required: false,
475
+ tier: "standard",
476
+ },
477
+ ],
478
+ },
479
+ {
480
+ toolName: "f5xc-api-cdn-cdn-cache-rule-delete",
481
+ method: "DELETE",
482
+ path: "/api/config/namespaces/{namespace}/cdn_cache_rules/{name}",
483
+ operation: "delete",
484
+ domain: "cdn",
485
+ resource: "cdn-cache-rule",
486
+ summary: "DELETE CDN cache rule.",
487
+ description: "DELETE the specified cdn_cache_rule.",
488
+ pathParameters: [
489
+ {
490
+ description: "Name\nName of the configuration object.",
491
+ in: "path",
492
+ name: "name",
493
+ required: true,
494
+ schema: {
495
+ type: "string",
496
+ },
497
+ "x-displayname": "Name",
498
+ "x-ves-example": "Name",
499
+ },
500
+ {
501
+ description: "Namespace\nNamespace in which the configuration object is present.",
502
+ in: "path",
503
+ name: "namespace",
504
+ required: true,
505
+ schema: {
506
+ type: "string",
507
+ },
508
+ "x-displayname": "Namespace",
509
+ "x-ves-example": "Ns1",
510
+ },
511
+ ],
512
+ queryParameters: [],
513
+ requestBodySchema: {
514
+ $ref: "#/components/schemas/cdn_cache_ruleDeleteRequest",
515
+ },
516
+ responseSchema: {},
517
+ requiredParams: ["body", "name", "namespace"],
518
+ operationId: "ves.io.schema.cdn_cache_rule.API.Delete",
519
+ tags: ["Other"],
520
+ sourceFile: "domains/cdn.json",
521
+ displayName: null,
522
+ dangerLevel: "high",
523
+ sideEffects: {
524
+ deletes: ["cdn-cache-rule", "contained_resources"],
525
+ },
526
+ requiredFields: ["path.name", "path.namespace"],
527
+ confirmationRequired: true,
528
+ parameterExamples: {
529
+ name: "Name",
530
+ namespace: "Ns1",
531
+ },
532
+ validationRules: {},
533
+ operationMetadata: {
534
+ common_errors: [
535
+ {
536
+ code: 401,
537
+ message: "Authentication required",
538
+ solution: "Provide valid API credentials",
539
+ },
540
+ {
541
+ code: 403,
542
+ message: "Permission denied",
543
+ solution: "Check access permissions for this operation",
544
+ },
545
+ {
546
+ code: 404,
547
+ message: "Resource not found",
548
+ solution: "Verify resource name, namespace, and path",
549
+ },
550
+ {
551
+ code: 409,
552
+ message: "Resource already exists",
553
+ solution: "Use different name or update existing resource",
554
+ },
555
+ {
556
+ code: 429,
557
+ message: "Rate limit exceeded",
558
+ solution: "Wait before retrying the operation",
559
+ },
560
+ {
561
+ code: 500,
562
+ message: "Server error",
563
+ solution: "Retry operation or contact support",
564
+ },
565
+ ],
566
+ conditions: {
567
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
568
+ prerequisites: ["Active namespace", "Policy parameters defined"],
569
+ },
570
+ confirmation_required: true,
571
+ danger_level: "high",
572
+ field_docs: {},
573
+ optional_fields: [],
574
+ performance_impact: {
575
+ latency: "high",
576
+ resource_usage: "moderate",
577
+ },
578
+ purpose: "Delete cdn-cache-rule",
579
+ required_fields: ["path.name", "path.namespace"],
580
+ side_effects: {
581
+ deletes: ["cdn-cache-rule", "contained_resources"],
582
+ },
583
+ },
584
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_cache_rules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
585
+ dependencies: [
586
+ {
587
+ domain: "",
588
+ fieldPath: "",
589
+ inline: false,
590
+ required: false,
591
+ resourceType: "cdn-cache-rule",
592
+ },
593
+ ],
594
+ oneOfGroups: [],
595
+ subscriptionRequirements: [
596
+ {
597
+ addonService: "f5xc_content_delivery_network_standard",
598
+ displayName: "F5XC Content Delivery Network Standard",
599
+ required: false,
600
+ tier: "standard",
601
+ },
602
+ ],
603
+ },
604
+ {
605
+ toolName: "f5xc-api-cdn-cdn-cache-rule-get",
606
+ method: "GET",
607
+ path: "/api/config/namespaces/{namespace}/cdn_cache_rules/{name}",
608
+ operation: "get",
609
+ domain: "cdn",
610
+ resource: "cdn-cache-rule",
611
+ summary: "GET CDN cache rule.",
612
+ description: "Shape of the CDN loadbalancer specification.",
613
+ pathParameters: [
614
+ {
615
+ description: "Name\nThe name of the configuration object to be fetched.",
616
+ in: "path",
617
+ name: "name",
618
+ required: true,
619
+ schema: {
620
+ type: "string",
621
+ },
622
+ "x-displayname": "Name",
623
+ "x-ves-example": "Name",
624
+ },
625
+ {
626
+ description: "Namespace\nThe namespace in which the configuration object is present.",
627
+ in: "path",
628
+ name: "namespace",
629
+ required: true,
630
+ schema: {
631
+ type: "string",
632
+ },
633
+ "x-displayname": "Namespace",
634
+ "x-ves-example": "Ns1",
635
+ },
636
+ ],
637
+ queryParameters: [
638
+ {
639
+ description: "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referrred by this object.",
640
+ in: "query",
641
+ name: "response_format",
642
+ required: false,
643
+ schema: {
644
+ default: "GET_RSP_FORMAT_DEFAULT",
645
+ enum: [
646
+ "GET_RSP_FORMAT_DEFAULT",
647
+ "GET_RSP_FORMAT_FOR_CREATE",
648
+ "GET_RSP_FORMAT_FOR_REPLACE",
649
+ "GET_RSP_FORMAT_READ",
650
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
651
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
652
+ ],
653
+ type: "string",
654
+ },
655
+ "x-displayname": "Broken Referred Objects.",
656
+ },
657
+ ],
658
+ requestBodySchema: null,
659
+ responseSchema: {
660
+ $ref: "#/components/schemas/cdn_cache_ruleGetResponse",
661
+ },
662
+ requiredParams: ["name", "namespace"],
663
+ operationId: "ves.io.schema.cdn_cache_rule.API.Get",
664
+ tags: ["Other"],
665
+ sourceFile: "domains/cdn.json",
666
+ displayName: null,
667
+ dangerLevel: "low",
668
+ sideEffects: null,
669
+ requiredFields: ["path.name", "path.namespace"],
670
+ confirmationRequired: false,
671
+ parameterExamples: {
672
+ name: "Name",
673
+ namespace: "Ns1",
674
+ },
675
+ validationRules: {},
676
+ operationMetadata: {
677
+ common_errors: [
678
+ {
679
+ code: 401,
680
+ message: "Authentication required",
681
+ solution: "Provide valid API credentials",
682
+ },
683
+ {
684
+ code: 403,
685
+ message: "Permission denied",
686
+ solution: "Check access permissions for this operation",
687
+ },
688
+ {
689
+ code: 404,
690
+ message: "Resource not found",
691
+ solution: "Verify resource name, namespace, and path",
692
+ },
693
+ {
694
+ code: 409,
695
+ message: "Resource already exists",
696
+ solution: "Use different name or update existing resource",
697
+ },
698
+ {
699
+ code: 429,
700
+ message: "Rate limit exceeded",
701
+ solution: "Wait before retrying the operation",
702
+ },
703
+ {
704
+ code: 500,
705
+ message: "Server error",
706
+ solution: "Retry operation or contact support",
707
+ },
708
+ ],
709
+ conditions: {
710
+ postconditions: [],
711
+ prerequisites: ["Active namespace", "Policy parameters defined"],
712
+ },
713
+ confirmation_required: false,
714
+ danger_level: "low",
715
+ field_docs: {},
716
+ optional_fields: [],
717
+ performance_impact: {
718
+ latency: "low",
719
+ resource_usage: "low",
720
+ },
721
+ purpose: "Retrieve specific cdn-cache-rule",
722
+ required_fields: ["path.name", "path.namespace"],
723
+ side_effects: {},
724
+ },
725
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_cache_rules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
726
+ dependencies: [],
727
+ oneOfGroups: [],
728
+ subscriptionRequirements: [
729
+ {
730
+ addonService: "f5xc_content_delivery_network_standard",
731
+ displayName: "F5XC Content Delivery Network Standard",
732
+ required: false,
733
+ tier: "standard",
734
+ },
735
+ ],
736
+ },
737
+ {
738
+ toolName: "f5xc-api-cdn-cdn-cache-rule-list",
739
+ method: "GET",
740
+ path: "/api/config/namespaces/{namespace}/cdn_cache_rules",
741
+ operation: "list",
742
+ domain: "cdn",
743
+ resource: "cdn-cache-rule",
744
+ summary: "List CDN cache rule.",
745
+ description: "List the set of cdn_cache_rule in a namespace.",
746
+ pathParameters: [
747
+ {
748
+ description: "Namespace\nNamespace to scope the listing of cdn_cache_rule.",
749
+ in: "path",
750
+ name: "namespace",
751
+ required: true,
752
+ schema: {
753
+ type: "string",
754
+ },
755
+ "x-displayname": "Namespace",
756
+ "x-ves-example": "Ns1",
757
+ },
758
+ ],
759
+ queryParameters: [
760
+ {
761
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
762
+ in: "query",
763
+ name: "label_filter",
764
+ required: false,
765
+ schema: {
766
+ type: "string",
767
+ },
768
+ "x-displayname": "Label Filter.",
769
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
770
+ },
771
+ {
772
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
773
+ in: "query",
774
+ name: "report_fields",
775
+ required: false,
776
+ schema: {
777
+ items: {
778
+ type: "string",
779
+ },
780
+ type: "array",
781
+ },
782
+ "x-displayname": "Report Fields.",
783
+ },
784
+ {
785
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
786
+ in: "query",
787
+ name: "report_status_fields",
788
+ required: false,
789
+ schema: {
790
+ items: {
791
+ type: "string",
792
+ },
793
+ type: "array",
794
+ },
795
+ "x-displayname": "Report Status Fields.",
796
+ },
797
+ ],
798
+ requestBodySchema: null,
799
+ responseSchema: {
800
+ $ref: "#/components/schemas/cdn_cache_ruleListResponse",
801
+ },
802
+ requiredParams: ["namespace"],
803
+ operationId: "ves.io.schema.cdn_cache_rule.API.List",
804
+ tags: ["Other"],
805
+ sourceFile: "domains/cdn.json",
806
+ displayName: null,
807
+ dangerLevel: "low",
808
+ sideEffects: null,
809
+ requiredFields: ["path.namespace"],
810
+ confirmationRequired: false,
811
+ parameterExamples: {
812
+ label_filter: "Env in (staging, testing), tier in (web, db)",
813
+ namespace: "Ns1",
814
+ },
815
+ validationRules: {},
816
+ operationMetadata: {
817
+ common_errors: [
818
+ {
819
+ code: 401,
820
+ message: "Authentication required",
821
+ solution: "Provide valid API credentials",
822
+ },
823
+ {
824
+ code: 403,
825
+ message: "Permission denied",
826
+ solution: "Check access permissions for this operation",
827
+ },
828
+ {
829
+ code: 404,
830
+ message: "Resource not found",
831
+ solution: "Verify resource name, namespace, and path",
832
+ },
833
+ {
834
+ code: 409,
835
+ message: "Resource already exists",
836
+ solution: "Use different name or update existing resource",
837
+ },
838
+ {
839
+ code: 429,
840
+ message: "Rate limit exceeded",
841
+ solution: "Wait before retrying the operation",
842
+ },
843
+ {
844
+ code: 500,
845
+ message: "Server error",
846
+ solution: "Retry operation or contact support",
847
+ },
848
+ ],
849
+ conditions: {
850
+ postconditions: [],
851
+ prerequisites: ["Active namespace", "Policy parameters defined"],
852
+ },
853
+ confirmation_required: false,
854
+ danger_level: "low",
855
+ field_docs: {},
856
+ optional_fields: [],
857
+ performance_impact: {
858
+ latency: "moderate",
859
+ resource_usage: "moderate",
860
+ },
861
+ purpose: "List all cdn-cache-rules",
862
+ required_fields: ["path.namespace"],
863
+ side_effects: {},
864
+ },
865
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_cache_rules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
866
+ dependencies: [],
867
+ oneOfGroups: [],
868
+ subscriptionRequirements: [
869
+ {
870
+ addonService: "f5xc_content_delivery_network_standard",
871
+ displayName: "F5XC Content Delivery Network Standard",
872
+ required: false,
873
+ tier: "standard",
874
+ },
875
+ ],
876
+ },
877
+ {
878
+ toolName: "f5xc-api-cdn-cdn-cache-rule-update",
879
+ method: "PUT",
880
+ path: "/api/config/namespaces/{metadata.namespace}/cdn_cache_rules/{metadata.name}",
881
+ operation: "update",
882
+ domain: "cdn",
883
+ resource: "cdn-cache-rule",
884
+ summary: "Replace CDN cache rule.",
885
+ description: "Shape of the CDN loadbalancer specification.",
886
+ pathParameters: [
887
+ {
888
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
889
+ in: "path",
890
+ name: "metadata.name",
891
+ required: true,
892
+ schema: {
893
+ type: "string",
894
+ },
895
+ "x-displayname": "Name",
896
+ "x-ves-example": "Example-corp-web.",
897
+ },
898
+ {
899
+ description: 'Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be ""',
900
+ in: "path",
901
+ name: "metadata.namespace",
902
+ required: true,
903
+ schema: {
904
+ type: "string",
905
+ },
906
+ "x-displayname": "Namespace",
907
+ "x-ves-example": "Staging",
908
+ },
909
+ ],
910
+ queryParameters: [],
911
+ requestBodySchema: {
912
+ $ref: "#/components/schemas/cdn_cache_ruleReplaceRequest",
913
+ },
914
+ responseSchema: {
915
+ $ref: "#/components/schemas/cdn_cache_ruleReplaceResponse",
916
+ },
917
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
918
+ operationId: "ves.io.schema.cdn_cache_rule.API.Replace",
919
+ tags: ["Other"],
920
+ sourceFile: "domains/cdn.json",
921
+ displayName: null,
922
+ dangerLevel: "medium",
923
+ sideEffects: {
924
+ modifies: ["cdn-cache-rule"],
925
+ },
926
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
927
+ confirmationRequired: false,
928
+ parameterExamples: {
929
+ "metadata.name": "Example-corp-web.",
930
+ "metadata.namespace": "Staging",
931
+ },
932
+ validationRules: {},
933
+ operationMetadata: {
934
+ common_errors: [
935
+ {
936
+ code: 401,
937
+ message: "Authentication required",
938
+ solution: "Provide valid API credentials",
939
+ },
940
+ {
941
+ code: 403,
942
+ message: "Permission denied",
943
+ solution: "Check access permissions for this operation",
944
+ },
945
+ {
946
+ code: 404,
947
+ message: "Resource not found",
948
+ solution: "Verify resource name, namespace, and path",
949
+ },
950
+ {
951
+ code: 409,
952
+ message: "Resource already exists",
953
+ solution: "Use different name or update existing resource",
954
+ },
955
+ {
956
+ code: 429,
957
+ message: "Rate limit exceeded",
958
+ solution: "Wait before retrying the operation",
959
+ },
960
+ {
961
+ code: 500,
962
+ message: "Server error",
963
+ solution: "Retry operation or contact support",
964
+ },
965
+ ],
966
+ conditions: {
967
+ postconditions: ["Resource updated with new values"],
968
+ prerequisites: ["Active namespace", "Policy parameters defined"],
969
+ },
970
+ confirmation_required: false,
971
+ danger_level: "medium",
972
+ field_docs: {},
973
+ optional_fields: [],
974
+ performance_impact: {
975
+ latency: "low",
976
+ resource_usage: "low",
977
+ },
978
+ purpose: "Replace existing cdn-cache-rule",
979
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
980
+ side_effects: {
981
+ modifies: ["cdn-cache-rule"],
982
+ },
983
+ },
984
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_cache_rules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
985
+ dependencies: [
986
+ {
987
+ domain: "",
988
+ fieldPath: "",
989
+ inline: false,
990
+ required: false,
991
+ resourceType: "cdn-cache-rule",
992
+ },
993
+ {
994
+ domain: "",
995
+ fieldPath: "metadata",
996
+ inline: false,
997
+ required: false,
998
+ resourceType: "schema-object-replace-meta",
999
+ },
1000
+ {
1001
+ domain: "",
1002
+ fieldPath: "spec",
1003
+ inline: false,
1004
+ required: false,
1005
+ resourceType: "schemacdn-cache-rule-replace",
1006
+ },
1007
+ ],
1008
+ oneOfGroups: [],
1009
+ subscriptionRequirements: [
1010
+ {
1011
+ addonService: "f5xc_content_delivery_network_standard",
1012
+ displayName: "F5XC Content Delivery Network Standard",
1013
+ required: false,
1014
+ tier: "standard",
1015
+ },
1016
+ ],
1017
+ },
1018
+ {
1019
+ toolName: "f5xc-api-cdn-cdn-loadbalancer-create",
1020
+ method: "POST",
1021
+ path: "/api/config/namespaces/{metadata.namespace}/cdn_loadbalancers",
1022
+ operation: "create",
1023
+ domain: "cdn",
1024
+ resource: "cdn-loadbalancer",
1025
+ summary: "Create CDN Loadbalancer.",
1026
+ description: "Shape of the CDN loadbalancer specification.",
1027
+ pathParameters: [
1028
+ {
1029
+ description: 'Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be ""',
1030
+ in: "path",
1031
+ name: "metadata.namespace",
1032
+ required: true,
1033
+ schema: {
1034
+ type: "string",
1035
+ },
1036
+ "x-displayname": "Namespace",
1037
+ "x-ves-example": "Staging",
1038
+ },
1039
+ ],
1040
+ queryParameters: [],
1041
+ requestBodySchema: {
1042
+ $ref: "#/components/schemas/cdn_loadbalancerCreateRequest",
1043
+ },
1044
+ responseSchema: {
1045
+ $ref: "#/components/schemas/cdn_loadbalancerCreateResponse",
1046
+ },
1047
+ requiredParams: ["body", "metadata.namespace"],
1048
+ operationId: "ves.io.schema.views.cdn_loadbalancer.API.Create",
1049
+ tags: ["Other"],
1050
+ sourceFile: "domains/cdn.json",
1051
+ displayName: null,
1052
+ dangerLevel: "medium",
1053
+ sideEffects: {
1054
+ creates: ["cdn-loadbalancer"],
1055
+ },
1056
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
1057
+ confirmationRequired: false,
1058
+ parameterExamples: {
1059
+ "metadata.namespace": "Staging",
1060
+ },
1061
+ validationRules: {},
1062
+ operationMetadata: {
1063
+ common_errors: [
1064
+ {
1065
+ code: 401,
1066
+ message: "Authentication required",
1067
+ solution: "Provide valid API credentials",
1068
+ },
1069
+ {
1070
+ code: 403,
1071
+ message: "Permission denied",
1072
+ solution: "Check access permissions for this operation",
1073
+ },
1074
+ {
1075
+ code: 404,
1076
+ message: "Resource not found",
1077
+ solution: "Verify resource name, namespace, and path",
1078
+ },
1079
+ {
1080
+ code: 409,
1081
+ message: "Resource already exists",
1082
+ solution: "Use different name or update existing resource",
1083
+ },
1084
+ {
1085
+ code: 429,
1086
+ message: "Rate limit exceeded",
1087
+ solution: "Wait before retrying the operation",
1088
+ },
1089
+ {
1090
+ code: 500,
1091
+ message: "Server error",
1092
+ solution: "Retry operation or contact support",
1093
+ },
1094
+ ],
1095
+ conditions: {
1096
+ postconditions: [
1097
+ "Cdn-loadbalancer resource created",
1098
+ "Resource assigned unique identifier",
1099
+ ],
1100
+ prerequisites: ["Active namespace"],
1101
+ },
1102
+ confirmation_required: false,
1103
+ danger_level: "medium",
1104
+ field_docs: {},
1105
+ optional_fields: [],
1106
+ performance_impact: {
1107
+ latency: "low",
1108
+ resource_usage: "low",
1109
+ },
1110
+ purpose: "Create new cdn-loadbalancer",
1111
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
1112
+ side_effects: {
1113
+ creates: ["cdn-loadbalancer"],
1114
+ },
1115
+ },
1116
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_loadbalancers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1117
+ dependencies: [
1118
+ {
1119
+ domain: "",
1120
+ fieldPath: "",
1121
+ inline: false,
1122
+ required: false,
1123
+ resourceType: "cdn-loadbalancer",
1124
+ },
1125
+ {
1126
+ domain: "",
1127
+ fieldPath: "metadata",
1128
+ inline: false,
1129
+ required: false,
1130
+ resourceType: "schema-object-create-meta",
1131
+ },
1132
+ {
1133
+ domain: "",
1134
+ fieldPath: "spec",
1135
+ inline: false,
1136
+ required: false,
1137
+ resourceType: "viewscdn-loadbalancer-create",
1138
+ },
1139
+ ],
1140
+ oneOfGroups: [],
1141
+ subscriptionRequirements: [
1142
+ {
1143
+ addonService: "f5xc_content_delivery_network_standard",
1144
+ displayName: "F5XC Content Delivery Network Standard",
1145
+ required: false,
1146
+ tier: "standard",
1147
+ },
1148
+ ],
1149
+ },
1150
+ {
1151
+ toolName: "f5xc-api-cdn-cdn-loadbalancer-delete",
1152
+ method: "DELETE",
1153
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}",
1154
+ operation: "delete",
1155
+ domain: "cdn",
1156
+ resource: "cdn-loadbalancer",
1157
+ summary: "DELETE CDN Loadbalancer.",
1158
+ description: "DELETE the specified cdn_loadbalancer.",
1159
+ pathParameters: [
1160
+ {
1161
+ description: "Name\nName of the configuration object.",
1162
+ in: "path",
1163
+ name: "name",
1164
+ required: true,
1165
+ schema: {
1166
+ type: "string",
1167
+ },
1168
+ "x-displayname": "Name",
1169
+ "x-ves-example": "Name",
1170
+ },
1171
+ {
1172
+ description: "Namespace\nNamespace in which the configuration object is present.",
1173
+ in: "path",
1174
+ name: "namespace",
1175
+ required: true,
1176
+ schema: {
1177
+ type: "string",
1178
+ },
1179
+ "x-displayname": "Namespace",
1180
+ "x-ves-example": "Ns1",
1181
+ },
1182
+ ],
1183
+ queryParameters: [],
1184
+ requestBodySchema: {
1185
+ $ref: "#/components/schemas/cdn_loadbalancerDeleteRequest",
1186
+ },
1187
+ responseSchema: {},
1188
+ requiredParams: ["body", "name", "namespace"],
1189
+ operationId: "ves.io.schema.views.cdn_loadbalancer.API.Delete",
1190
+ tags: ["Other"],
1191
+ sourceFile: "domains/cdn.json",
1192
+ displayName: null,
1193
+ dangerLevel: "high",
1194
+ sideEffects: {
1195
+ deletes: ["cdn-loadbalancer", "contained_resources"],
1196
+ },
1197
+ requiredFields: ["path.name", "path.namespace"],
1198
+ confirmationRequired: true,
1199
+ parameterExamples: {
1200
+ name: "Name",
1201
+ namespace: "Ns1",
1202
+ },
1203
+ validationRules: {},
1204
+ operationMetadata: {
1205
+ common_errors: [
1206
+ {
1207
+ code: 401,
1208
+ message: "Authentication required",
1209
+ solution: "Provide valid API credentials",
1210
+ },
1211
+ {
1212
+ code: 403,
1213
+ message: "Permission denied",
1214
+ solution: "Check access permissions for this operation",
1215
+ },
1216
+ {
1217
+ code: 404,
1218
+ message: "Resource not found",
1219
+ solution: "Verify resource name, namespace, and path",
1220
+ },
1221
+ {
1222
+ code: 409,
1223
+ message: "Resource already exists",
1224
+ solution: "Use different name or update existing resource",
1225
+ },
1226
+ {
1227
+ code: 429,
1228
+ message: "Rate limit exceeded",
1229
+ solution: "Wait before retrying the operation",
1230
+ },
1231
+ {
1232
+ code: 500,
1233
+ message: "Server error",
1234
+ solution: "Retry operation or contact support",
1235
+ },
1236
+ ],
1237
+ conditions: {
1238
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
1239
+ prerequisites: ["Active namespace"],
1240
+ },
1241
+ confirmation_required: true,
1242
+ danger_level: "high",
1243
+ field_docs: {},
1244
+ optional_fields: [],
1245
+ performance_impact: {
1246
+ latency: "high",
1247
+ resource_usage: "moderate",
1248
+ },
1249
+ purpose: "Delete cdn-loadbalancer",
1250
+ required_fields: ["path.name", "path.namespace"],
1251
+ side_effects: {
1252
+ deletes: ["cdn-loadbalancer", "contained_resources"],
1253
+ },
1254
+ },
1255
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_loadbalancers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1256
+ dependencies: [
1257
+ {
1258
+ domain: "",
1259
+ fieldPath: "",
1260
+ inline: false,
1261
+ required: false,
1262
+ resourceType: "cdn-loadbalancer",
1263
+ },
1264
+ ],
1265
+ oneOfGroups: [],
1266
+ subscriptionRequirements: [
1267
+ {
1268
+ addonService: "f5xc_content_delivery_network_standard",
1269
+ displayName: "F5XC Content Delivery Network Standard",
1270
+ required: false,
1271
+ tier: "standard",
1272
+ },
1273
+ ],
1274
+ },
1275
+ {
1276
+ toolName: "f5xc-api-cdn-cdn-loadbalancer-get",
1277
+ method: "GET",
1278
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}",
1279
+ operation: "get",
1280
+ domain: "cdn",
1281
+ resource: "cdn-loadbalancer",
1282
+ summary: "GET CDN Loadbalancer.",
1283
+ description: "Shape of the CDN loadbalancer specification.",
1284
+ pathParameters: [
1285
+ {
1286
+ description: "Name\nThe name of the configuration object to be fetched.",
1287
+ in: "path",
1288
+ name: "name",
1289
+ required: true,
1290
+ schema: {
1291
+ type: "string",
1292
+ },
1293
+ "x-displayname": "Name",
1294
+ "x-ves-example": "Name",
1295
+ },
1296
+ {
1297
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1298
+ in: "path",
1299
+ name: "namespace",
1300
+ required: true,
1301
+ schema: {
1302
+ type: "string",
1303
+ },
1304
+ "x-displayname": "Namespace",
1305
+ "x-ves-example": "Ns1",
1306
+ },
1307
+ ],
1308
+ queryParameters: [
1309
+ {
1310
+ description: "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in StatusObject(s) format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referrred by this object.",
1311
+ in: "query",
1312
+ name: "response_format",
1313
+ required: false,
1314
+ schema: {
1315
+ default: "GET_RSP_FORMAT_DEFAULT",
1316
+ enum: [
1317
+ "GET_RSP_FORMAT_DEFAULT",
1318
+ "GET_RSP_FORMAT_FOR_CREATE",
1319
+ "GET_RSP_FORMAT_FOR_REPLACE",
1320
+ "GET_RSP_FORMAT_STATUS",
1321
+ "GET_RSP_FORMAT_READ",
1322
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1323
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1324
+ ],
1325
+ type: "string",
1326
+ },
1327
+ "x-displayname": "Broken Referred Objects.",
1328
+ },
1329
+ ],
1330
+ requestBodySchema: null,
1331
+ responseSchema: {
1332
+ $ref: "#/components/schemas/cdn_loadbalancerGetResponse",
1333
+ },
1334
+ requiredParams: ["name", "namespace"],
1335
+ operationId: "ves.io.schema.views.cdn_loadbalancer.API.Get",
1336
+ tags: ["Other"],
1337
+ sourceFile: "domains/cdn.json",
1338
+ displayName: null,
1339
+ dangerLevel: "low",
1340
+ sideEffects: null,
1341
+ requiredFields: ["path.name", "path.namespace"],
1342
+ confirmationRequired: false,
1343
+ parameterExamples: {
1344
+ name: "Name",
1345
+ namespace: "Ns1",
1346
+ },
1347
+ validationRules: {},
1348
+ operationMetadata: {
1349
+ common_errors: [
1350
+ {
1351
+ code: 401,
1352
+ message: "Authentication required",
1353
+ solution: "Provide valid API credentials",
1354
+ },
1355
+ {
1356
+ code: 403,
1357
+ message: "Permission denied",
1358
+ solution: "Check access permissions for this operation",
1359
+ },
1360
+ {
1361
+ code: 404,
1362
+ message: "Resource not found",
1363
+ solution: "Verify resource name, namespace, and path",
1364
+ },
1365
+ {
1366
+ code: 409,
1367
+ message: "Resource already exists",
1368
+ solution: "Use different name or update existing resource",
1369
+ },
1370
+ {
1371
+ code: 429,
1372
+ message: "Rate limit exceeded",
1373
+ solution: "Wait before retrying the operation",
1374
+ },
1375
+ {
1376
+ code: 500,
1377
+ message: "Server error",
1378
+ solution: "Retry operation or contact support",
1379
+ },
1380
+ ],
1381
+ conditions: {
1382
+ postconditions: [],
1383
+ prerequisites: ["Active namespace"],
1384
+ },
1385
+ confirmation_required: false,
1386
+ danger_level: "low",
1387
+ field_docs: {},
1388
+ optional_fields: [],
1389
+ performance_impact: {
1390
+ latency: "low",
1391
+ resource_usage: "low",
1392
+ },
1393
+ purpose: "Retrieve specific cdn-loadbalancer",
1394
+ required_fields: ["path.name", "path.namespace"],
1395
+ side_effects: {},
1396
+ },
1397
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_loadbalancers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1398
+ dependencies: [],
1399
+ oneOfGroups: [],
1400
+ subscriptionRequirements: [
1401
+ {
1402
+ addonService: "f5xc_content_delivery_network_standard",
1403
+ displayName: "F5XC Content Delivery Network Standard",
1404
+ required: false,
1405
+ tier: "standard",
1406
+ },
1407
+ ],
1408
+ },
1409
+ {
1410
+ toolName: "f5xc-api-cdn-cdn-loadbalancer-list",
1411
+ method: "GET",
1412
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers",
1413
+ operation: "list",
1414
+ domain: "cdn",
1415
+ resource: "cdn-loadbalancer",
1416
+ summary: "List CDN Loadbalancer.",
1417
+ description: "List the set of cdn_loadbalancer in a namespace.",
1418
+ pathParameters: [
1419
+ {
1420
+ description: "Namespace\nNamespace to scope the listing of cdn_loadbalancer.",
1421
+ in: "path",
1422
+ name: "namespace",
1423
+ required: true,
1424
+ schema: {
1425
+ type: "string",
1426
+ },
1427
+ "x-displayname": "Namespace",
1428
+ "x-ves-example": "Ns1",
1429
+ },
1430
+ ],
1431
+ queryParameters: [
1432
+ {
1433
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1434
+ in: "query",
1435
+ name: "label_filter",
1436
+ required: false,
1437
+ schema: {
1438
+ type: "string",
1439
+ },
1440
+ "x-displayname": "Label Filter.",
1441
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1442
+ },
1443
+ {
1444
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1445
+ in: "query",
1446
+ name: "report_fields",
1447
+ required: false,
1448
+ schema: {
1449
+ items: {
1450
+ type: "string",
1451
+ },
1452
+ type: "array",
1453
+ },
1454
+ "x-displayname": "Report Fields.",
1455
+ },
1456
+ {
1457
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1458
+ in: "query",
1459
+ name: "report_status_fields",
1460
+ required: false,
1461
+ schema: {
1462
+ items: {
1463
+ type: "string",
1464
+ },
1465
+ type: "array",
1466
+ },
1467
+ "x-displayname": "Report Status Fields.",
1468
+ },
1469
+ ],
1470
+ requestBodySchema: null,
1471
+ responseSchema: {
1472
+ $ref: "#/components/schemas/cdn_loadbalancerListResponse",
1473
+ },
1474
+ requiredParams: ["namespace"],
1475
+ operationId: "ves.io.schema.views.cdn_loadbalancer.API.List",
1476
+ tags: ["Other"],
1477
+ sourceFile: "domains/cdn.json",
1478
+ displayName: null,
1479
+ dangerLevel: "low",
1480
+ sideEffects: null,
1481
+ requiredFields: ["path.namespace"],
1482
+ confirmationRequired: false,
1483
+ parameterExamples: {
1484
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1485
+ namespace: "Ns1",
1486
+ },
1487
+ validationRules: {},
1488
+ operationMetadata: {
1489
+ common_errors: [
1490
+ {
1491
+ code: 401,
1492
+ message: "Authentication required",
1493
+ solution: "Provide valid API credentials",
1494
+ },
1495
+ {
1496
+ code: 403,
1497
+ message: "Permission denied",
1498
+ solution: "Check access permissions for this operation",
1499
+ },
1500
+ {
1501
+ code: 404,
1502
+ message: "Resource not found",
1503
+ solution: "Verify resource name, namespace, and path",
1504
+ },
1505
+ {
1506
+ code: 409,
1507
+ message: "Resource already exists",
1508
+ solution: "Use different name or update existing resource",
1509
+ },
1510
+ {
1511
+ code: 429,
1512
+ message: "Rate limit exceeded",
1513
+ solution: "Wait before retrying the operation",
1514
+ },
1515
+ {
1516
+ code: 500,
1517
+ message: "Server error",
1518
+ solution: "Retry operation or contact support",
1519
+ },
1520
+ ],
1521
+ conditions: {
1522
+ postconditions: [],
1523
+ prerequisites: ["Active namespace"],
1524
+ },
1525
+ confirmation_required: false,
1526
+ danger_level: "low",
1527
+ field_docs: {},
1528
+ optional_fields: [],
1529
+ performance_impact: {
1530
+ latency: "moderate",
1531
+ resource_usage: "moderate",
1532
+ },
1533
+ purpose: "List all cdn-loadbalancers",
1534
+ required_fields: ["path.namespace"],
1535
+ side_effects: {},
1536
+ },
1537
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_loadbalancers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1538
+ dependencies: [],
1539
+ oneOfGroups: [],
1540
+ subscriptionRequirements: [
1541
+ {
1542
+ addonService: "f5xc_content_delivery_network_standard",
1543
+ displayName: "F5XC Content Delivery Network Standard",
1544
+ required: false,
1545
+ tier: "standard",
1546
+ },
1547
+ ],
1548
+ },
1549
+ {
1550
+ toolName: "f5xc-api-cdn-cdn-loadbalancer-update",
1551
+ method: "PUT",
1552
+ path: "/api/config/namespaces/{metadata.namespace}/cdn_loadbalancers/{metadata.name}",
1553
+ operation: "update",
1554
+ domain: "cdn",
1555
+ resource: "cdn-loadbalancer",
1556
+ summary: "Replace CDN Loadbalancer.",
1557
+ description: "Shape of the CDN loadbalancer specification.",
1558
+ pathParameters: [
1559
+ {
1560
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1561
+ in: "path",
1562
+ name: "metadata.name",
1563
+ required: true,
1564
+ schema: {
1565
+ type: "string",
1566
+ },
1567
+ "x-displayname": "Name",
1568
+ "x-ves-example": "Example-corp-web.",
1569
+ },
1570
+ {
1571
+ description: 'Namespace\nThis defines the workspace within which each the configuration object is to be created.\nMust be a DNS_LABEL format. For a namespace object itself, namespace value will be ""',
1572
+ in: "path",
1573
+ name: "metadata.namespace",
1574
+ required: true,
1575
+ schema: {
1576
+ type: "string",
1577
+ },
1578
+ "x-displayname": "Namespace",
1579
+ "x-ves-example": "Staging",
1580
+ },
1581
+ ],
1582
+ queryParameters: [],
1583
+ requestBodySchema: {
1584
+ $ref: "#/components/schemas/cdn_loadbalancerReplaceRequest",
1585
+ },
1586
+ responseSchema: {
1587
+ $ref: "#/components/schemas/cdn_loadbalancerReplaceResponse",
1588
+ },
1589
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1590
+ operationId: "ves.io.schema.views.cdn_loadbalancer.API.Replace",
1591
+ tags: ["Other"],
1592
+ sourceFile: "domains/cdn.json",
1593
+ displayName: null,
1594
+ dangerLevel: "medium",
1595
+ sideEffects: {
1596
+ modifies: ["cdn-loadbalancer"],
1597
+ },
1598
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1599
+ confirmationRequired: false,
1600
+ parameterExamples: {
1601
+ "metadata.name": "Example-corp-web.",
1602
+ "metadata.namespace": "Staging",
1603
+ },
1604
+ validationRules: {},
1605
+ operationMetadata: {
1606
+ common_errors: [
1607
+ {
1608
+ code: 401,
1609
+ message: "Authentication required",
1610
+ solution: "Provide valid API credentials",
1611
+ },
1612
+ {
1613
+ code: 403,
1614
+ message: "Permission denied",
1615
+ solution: "Check access permissions for this operation",
1616
+ },
1617
+ {
1618
+ code: 404,
1619
+ message: "Resource not found",
1620
+ solution: "Verify resource name, namespace, and path",
1621
+ },
1622
+ {
1623
+ code: 409,
1624
+ message: "Resource already exists",
1625
+ solution: "Use different name or update existing resource",
1626
+ },
1627
+ {
1628
+ code: 429,
1629
+ message: "Rate limit exceeded",
1630
+ solution: "Wait before retrying the operation",
1631
+ },
1632
+ {
1633
+ code: 500,
1634
+ message: "Server error",
1635
+ solution: "Retry operation or contact support",
1636
+ },
1637
+ ],
1638
+ conditions: {
1639
+ postconditions: ["Resource updated with new values"],
1640
+ prerequisites: ["Active namespace"],
1641
+ },
1642
+ confirmation_required: false,
1643
+ danger_level: "medium",
1644
+ field_docs: {},
1645
+ optional_fields: [],
1646
+ performance_impact: {
1647
+ latency: "low",
1648
+ resource_usage: "low",
1649
+ },
1650
+ purpose: "Replace existing cdn-loadbalancer",
1651
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
1652
+ side_effects: {
1653
+ modifies: ["cdn-loadbalancer"],
1654
+ },
1655
+ },
1656
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/cdn_loadbalancers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1657
+ dependencies: [
1658
+ {
1659
+ domain: "",
1660
+ fieldPath: "",
1661
+ inline: false,
1662
+ required: false,
1663
+ resourceType: "cdn-loadbalancer",
1664
+ },
1665
+ {
1666
+ domain: "",
1667
+ fieldPath: "metadata",
1668
+ inline: false,
1669
+ required: false,
1670
+ resourceType: "schema-object-replace-meta",
1671
+ },
1672
+ {
1673
+ domain: "",
1674
+ fieldPath: "spec",
1675
+ inline: false,
1676
+ required: false,
1677
+ resourceType: "viewscdn-loadbalancer-replace",
1678
+ },
1679
+ ],
1680
+ oneOfGroups: [],
1681
+ subscriptionRequirements: [
1682
+ {
1683
+ addonService: "f5xc_content_delivery_network_standard",
1684
+ displayName: "F5XC Content Delivery Network Standard",
1685
+ required: false,
1686
+ tier: "standard",
1687
+ },
1688
+ ],
1689
+ },
1690
+ {
1691
+ toolName: "f5xc-api-cdn-dos-automitigation-rule-delete",
1692
+ method: "DELETE",
1693
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/dos_automitigation_rules/{dos_automitigation_rule_name}",
1694
+ operation: "delete",
1695
+ domain: "cdn",
1696
+ resource: "dos-automitigation-rule",
1697
+ summary: "DELETE DoS Auto-Mitigation Rule for CDN Load Balancer.",
1698
+ description: "DELETE the corresponding DoS Auto-Mitigation Rule for the given CDN load balancer.",
1699
+ pathParameters: [
1700
+ {
1701
+ description: "DoS Mitigation Rule Name\nName of the DoS Mitigation Rule.",
1702
+ in: "path",
1703
+ name: "dos_automitigation_rule_name",
1704
+ required: true,
1705
+ schema: {
1706
+ type: "string",
1707
+ },
1708
+ "x-displayname": "DoS Mitigation Rule Name.",
1709
+ "x-ves-example": "Dos-auto-mitigation-VES-I/O-HTTP-loadbalancer-ce22.",
1710
+ },
1711
+ {
1712
+ description: "Name\nName of the Load Balancer.",
1713
+ in: "path",
1714
+ name: "name",
1715
+ required: true,
1716
+ schema: {
1717
+ type: "string",
1718
+ },
1719
+ "x-displayname": "Name",
1720
+ "x-ves-example": "Blogging-app.",
1721
+ },
1722
+ {
1723
+ description: "Namespace\nNamespace of the Load Balancer.",
1724
+ in: "path",
1725
+ name: "namespace",
1726
+ required: true,
1727
+ schema: {
1728
+ type: "string",
1729
+ },
1730
+ "x-displayname": "Namespace",
1731
+ "x-ves-example": "Shared",
1732
+ },
1733
+ ],
1734
+ queryParameters: [],
1735
+ requestBodySchema: null,
1736
+ responseSchema: {
1737
+ $ref: "#/components/schemas/common_securityDeleteDoSAutoMitigationRuleRsp",
1738
+ },
1739
+ requiredParams: ["dos_automitigation_rule_name", "name", "namespace"],
1740
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.DeleteCDNDoSAutoMitigationRule",
1741
+ tags: ["Other"],
1742
+ sourceFile: "domains/cdn.json",
1743
+ displayName: null,
1744
+ dangerLevel: "high",
1745
+ sideEffects: {
1746
+ deletes: ["dos-automitigation-rule", "contained_resources"],
1747
+ },
1748
+ requiredFields: ["path.dos_automitigation_rule_name", "path.name", "path.namespace"],
1749
+ confirmationRequired: true,
1750
+ parameterExamples: {
1751
+ dos_automitigation_rule_name: "Dos-auto-mitigation-VES-I/O-HTTP-loadbalancer-ce22.",
1752
+ name: "Blogging-app.",
1753
+ namespace: "Shared",
1754
+ },
1755
+ validationRules: {},
1756
+ operationMetadata: {
1757
+ common_errors: [
1758
+ {
1759
+ code: 401,
1760
+ message: "Authentication required",
1761
+ solution: "Provide valid API credentials",
1762
+ },
1763
+ {
1764
+ code: 403,
1765
+ message: "Permission denied",
1766
+ solution: "Check access permissions for this operation",
1767
+ },
1768
+ {
1769
+ code: 404,
1770
+ message: "Resource not found",
1771
+ solution: "Verify resource name, namespace, and path",
1772
+ },
1773
+ {
1774
+ code: 409,
1775
+ message: "Resource already exists",
1776
+ solution: "Use different name or update existing resource",
1777
+ },
1778
+ {
1779
+ code: 429,
1780
+ message: "Rate limit exceeded",
1781
+ solution: "Wait before retrying the operation",
1782
+ },
1783
+ {
1784
+ code: 500,
1785
+ message: "Server error",
1786
+ solution: "Retry operation or contact support",
1787
+ },
1788
+ ],
1789
+ conditions: {
1790
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
1791
+ prerequisites: ["Active namespace", "Policy parameters defined"],
1792
+ },
1793
+ confirmation_required: true,
1794
+ danger_level: "high",
1795
+ field_docs: {},
1796
+ optional_fields: [],
1797
+ performance_impact: {
1798
+ latency: "high",
1799
+ resource_usage: "moderate",
1800
+ },
1801
+ purpose: "Delete dos-automitigation-rule",
1802
+ required_fields: ["path.dos_automitigation_rule_name", "path.name", "path.namespace"],
1803
+ side_effects: {
1804
+ deletes: ["dos-automitigation-rule", "contained_resources"],
1805
+ },
1806
+ },
1807
+ curlExample: null,
1808
+ dependencies: [],
1809
+ oneOfGroups: [],
1810
+ subscriptionRequirements: [
1811
+ {
1812
+ addonService: "f5xc_content_delivery_network_standard",
1813
+ displayName: "F5XC Content Delivery Network Standard",
1814
+ required: false,
1815
+ tier: "standard",
1816
+ },
1817
+ ],
1818
+ },
1819
+ {
1820
+ toolName: "f5xc-api-cdn-dos-automitigation-rule-get",
1821
+ method: "GET",
1822
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/dos_automitigation_rules",
1823
+ operation: "get",
1824
+ domain: "cdn",
1825
+ resource: "dos-automitigation-rule",
1826
+ summary: "GET DoS Auto-Mitigation Rules for CDN Load Balancer.",
1827
+ description: "GET the corresponding DoS Auto-Mitigation Rules for the given CDN load balancer.",
1828
+ pathParameters: [
1829
+ {
1830
+ description: "Name\nName of the Load Balancer.",
1831
+ in: "path",
1832
+ name: "name",
1833
+ required: true,
1834
+ schema: {
1835
+ type: "string",
1836
+ },
1837
+ "x-displayname": "Name",
1838
+ "x-ves-example": "Blogging-app.",
1839
+ },
1840
+ {
1841
+ description: "Namespace\nNamespace of the Load Balancer.",
1842
+ in: "path",
1843
+ name: "namespace",
1844
+ required: true,
1845
+ schema: {
1846
+ type: "string",
1847
+ },
1848
+ "x-displayname": "Namespace",
1849
+ "x-ves-example": "Shared",
1850
+ },
1851
+ ],
1852
+ queryParameters: [],
1853
+ requestBodySchema: null,
1854
+ responseSchema: {
1855
+ $ref: "#/components/schemas/common_securityGetDoSAutoMitigationRulesRsp",
1856
+ },
1857
+ requiredParams: ["name", "namespace"],
1858
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNDoSAutoMitigationRules",
1859
+ tags: ["Other"],
1860
+ sourceFile: "domains/cdn.json",
1861
+ displayName: null,
1862
+ dangerLevel: "low",
1863
+ sideEffects: null,
1864
+ requiredFields: ["path.name", "path.namespace"],
1865
+ confirmationRequired: false,
1866
+ parameterExamples: {
1867
+ name: "Blogging-app.",
1868
+ namespace: "Shared",
1869
+ },
1870
+ validationRules: {},
1871
+ operationMetadata: {
1872
+ common_errors: [
1873
+ {
1874
+ code: 401,
1875
+ message: "Authentication required",
1876
+ solution: "Provide valid API credentials",
1877
+ },
1878
+ {
1879
+ code: 403,
1880
+ message: "Permission denied",
1881
+ solution: "Check access permissions for this operation",
1882
+ },
1883
+ {
1884
+ code: 404,
1885
+ message: "Resource not found",
1886
+ solution: "Verify resource name, namespace, and path",
1887
+ },
1888
+ {
1889
+ code: 409,
1890
+ message: "Resource already exists",
1891
+ solution: "Use different name or update existing resource",
1892
+ },
1893
+ {
1894
+ code: 429,
1895
+ message: "Rate limit exceeded",
1896
+ solution: "Wait before retrying the operation",
1897
+ },
1898
+ {
1899
+ code: 500,
1900
+ message: "Server error",
1901
+ solution: "Retry operation or contact support",
1902
+ },
1903
+ ],
1904
+ conditions: {
1905
+ postconditions: [],
1906
+ prerequisites: ["Active namespace", "Policy parameters defined"],
1907
+ },
1908
+ confirmation_required: false,
1909
+ danger_level: "low",
1910
+ field_docs: {},
1911
+ optional_fields: [],
1912
+ performance_impact: {
1913
+ latency: "moderate",
1914
+ resource_usage: "moderate",
1915
+ },
1916
+ purpose: "Retrieve specific dos-automitigation-rule",
1917
+ required_fields: ["path.name", "path.namespace"],
1918
+ side_effects: {},
1919
+ },
1920
+ curlExample: null,
1921
+ dependencies: [],
1922
+ oneOfGroups: [],
1923
+ subscriptionRequirements: [
1924
+ {
1925
+ addonService: "f5xc_content_delivery_network_standard",
1926
+ displayName: "F5XC Content Delivery Network Standard",
1927
+ required: false,
1928
+ tier: "standard",
1929
+ },
1930
+ ],
1931
+ },
1932
+ {
1933
+ toolName: "f5xc-api-cdn-get-security-config-create",
1934
+ method: "POST",
1935
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/get_security_config",
1936
+ operation: "create",
1937
+ domain: "cdn",
1938
+ resource: "get-security-config",
1939
+ summary: "GET Security Config for CDN Load Balancer.",
1940
+ description: "Fetch the corresponding Security Config for the given CDN load balancers.",
1941
+ pathParameters: [
1942
+ {
1943
+ description: "Namespace\nNamespace of the CDN Load Balancer for current request.",
1944
+ in: "path",
1945
+ name: "namespace",
1946
+ required: true,
1947
+ schema: {
1948
+ type: "string",
1949
+ },
1950
+ "x-displayname": "Namespace",
1951
+ "x-ves-example": "Shared",
1952
+ },
1953
+ ],
1954
+ queryParameters: [],
1955
+ requestBodySchema: {
1956
+ $ref: "#/components/schemas/cdn_loadbalancerGetCDNSecurityConfigReq",
1957
+ },
1958
+ responseSchema: {
1959
+ $ref: "#/components/schemas/common_securityGetSecurityConfigRsp",
1960
+ },
1961
+ requiredParams: ["body", "namespace"],
1962
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomCDNWAAPAPI.GetCDNSecurityConfig",
1963
+ tags: ["Other"],
1964
+ sourceFile: "domains/cdn.json",
1965
+ displayName: null,
1966
+ dangerLevel: "medium",
1967
+ sideEffects: {
1968
+ creates: ["get-security-config"],
1969
+ },
1970
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
1971
+ confirmationRequired: false,
1972
+ parameterExamples: {
1973
+ namespace: "Shared",
1974
+ },
1975
+ validationRules: {},
1976
+ operationMetadata: {
1977
+ common_errors: [
1978
+ {
1979
+ code: 401,
1980
+ message: "Authentication required",
1981
+ solution: "Provide valid API credentials",
1982
+ },
1983
+ {
1984
+ code: 403,
1985
+ message: "Permission denied",
1986
+ solution: "Check access permissions for this operation",
1987
+ },
1988
+ {
1989
+ code: 404,
1990
+ message: "Resource not found",
1991
+ solution: "Verify resource name, namespace, and path",
1992
+ },
1993
+ {
1994
+ code: 409,
1995
+ message: "Resource already exists",
1996
+ solution: "Use different name or update existing resource",
1997
+ },
1998
+ {
1999
+ code: 429,
2000
+ message: "Rate limit exceeded",
2001
+ solution: "Wait before retrying the operation",
2002
+ },
2003
+ {
2004
+ code: 500,
2005
+ message: "Server error",
2006
+ solution: "Retry operation or contact support",
2007
+ },
2008
+ ],
2009
+ conditions: {
2010
+ postconditions: [
2011
+ "Get-security-config resource created",
2012
+ "Resource assigned unique identifier",
2013
+ ],
2014
+ prerequisites: ["Active namespace"],
2015
+ },
2016
+ confirmation_required: false,
2017
+ danger_level: "medium",
2018
+ field_docs: {},
2019
+ optional_fields: [],
2020
+ performance_impact: {
2021
+ latency: "low",
2022
+ resource_usage: "low",
2023
+ },
2024
+ purpose: "Create new get-security-config",
2025
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
2026
+ side_effects: {
2027
+ creates: ["get-security-config"],
2028
+ },
2029
+ },
2030
+ curlExample: null,
2031
+ dependencies: [],
2032
+ oneOfGroups: [
2033
+ {
2034
+ choiceField: "loadbalancer_choice",
2035
+ fieldPath: "loadbalancer_choice",
2036
+ options: ["all_cdn_loadbalancers", "cdn_loadbalancers_list"],
2037
+ },
2038
+ ],
2039
+ subscriptionRequirements: [
2040
+ {
2041
+ addonService: "f5xc_content_delivery_network_standard",
2042
+ displayName: "F5XC Content Delivery Network Standard",
2043
+ required: false,
2044
+ tier: "standard",
2045
+ },
2046
+ ],
2047
+ },
2048
+ {
2049
+ toolName: "f5xc-api-cdn-get-service-operation-statu-create",
2050
+ method: "POST",
2051
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/get-service-operation-status",
2052
+ operation: "create",
2053
+ domain: "cdn",
2054
+ resource: "get-service-operation-statu",
2055
+ summary: "GET Service Operation Status.",
2056
+ description: "GET status of an operation command for a given CDN Loadbalancer.",
2057
+ pathParameters: [
2058
+ {
2059
+ description: "Namespace\nx-required\nNamespace scope of the operation request.",
2060
+ in: "path",
2061
+ name: "namespace",
2062
+ required: true,
2063
+ schema: {
2064
+ type: "string",
2065
+ },
2066
+ "x-displayname": "Namespace",
2067
+ "x-ves-example": "Default",
2068
+ },
2069
+ ],
2070
+ queryParameters: [],
2071
+ requestBodySchema: {
2072
+ $ref: "#/components/schemas/common_cdnGetServiceOperationReq",
2073
+ },
2074
+ responseSchema: {
2075
+ $ref: "#/components/schemas/common_cdnGetServiceOperationRsp",
2076
+ },
2077
+ requiredParams: ["body", "namespace"],
2078
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.GetServiceOperation",
2079
+ tags: ["CDN"],
2080
+ sourceFile: "domains/cdn.json",
2081
+ displayName: null,
2082
+ dangerLevel: "medium",
2083
+ sideEffects: {
2084
+ creates: ["get-service-operation-statu"],
2085
+ },
2086
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
2087
+ confirmationRequired: false,
2088
+ parameterExamples: {
2089
+ namespace: "Default",
2090
+ },
2091
+ validationRules: {},
2092
+ operationMetadata: {
2093
+ common_errors: [
2094
+ {
2095
+ code: 401,
2096
+ message: "Authentication required",
2097
+ solution: "Provide valid API credentials",
2098
+ },
2099
+ {
2100
+ code: 403,
2101
+ message: "Permission denied",
2102
+ solution: "Check access permissions for this operation",
2103
+ },
2104
+ {
2105
+ code: 404,
2106
+ message: "Resource not found",
2107
+ solution: "Verify resource name, namespace, and path",
2108
+ },
2109
+ {
2110
+ code: 409,
2111
+ message: "Resource already exists",
2112
+ solution: "Use different name or update existing resource",
2113
+ },
2114
+ {
2115
+ code: 429,
2116
+ message: "Rate limit exceeded",
2117
+ solution: "Wait before retrying the operation",
2118
+ },
2119
+ {
2120
+ code: 500,
2121
+ message: "Server error",
2122
+ solution: "Retry operation or contact support",
2123
+ },
2124
+ ],
2125
+ conditions: {
2126
+ postconditions: [
2127
+ "Get-service-operation-statu resource created",
2128
+ "Resource assigned unique identifier",
2129
+ ],
2130
+ prerequisites: ["Active namespace"],
2131
+ },
2132
+ confirmation_required: false,
2133
+ danger_level: "medium",
2134
+ field_docs: {},
2135
+ optional_fields: [],
2136
+ performance_impact: {
2137
+ latency: "low",
2138
+ resource_usage: "low",
2139
+ },
2140
+ purpose: "Create new get-service-operation-statu",
2141
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
2142
+ side_effects: {
2143
+ creates: ["get-service-operation-statu"],
2144
+ },
2145
+ },
2146
+ curlExample: null,
2147
+ dependencies: [],
2148
+ oneOfGroups: [],
2149
+ subscriptionRequirements: [
2150
+ {
2151
+ addonService: "f5xc_content_delivery_network_standard",
2152
+ displayName: "F5XC Content Delivery Network Standard",
2153
+ required: false,
2154
+ tier: "standard",
2155
+ },
2156
+ ],
2157
+ },
2158
+ {
2159
+ toolName: "f5xc-api-cdn-list-service-operations-statu-create",
2160
+ method: "POST",
2161
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/list-service-operations-status",
2162
+ operation: "create",
2163
+ domain: "cdn",
2164
+ resource: "list-service-operations-statu",
2165
+ summary: "List of CDN Operation Commands.",
2166
+ description: "List of service operations for a given CDN LB.",
2167
+ pathParameters: [
2168
+ {
2169
+ description: "Namespace\nx-required\nThe namespace this item belongs to.",
2170
+ in: "path",
2171
+ name: "namespace",
2172
+ required: true,
2173
+ schema: {
2174
+ type: "string",
2175
+ },
2176
+ "x-displayname": "Namespace",
2177
+ "x-ves-example": "Ns1",
2178
+ },
2179
+ ],
2180
+ queryParameters: [],
2181
+ requestBodySchema: {
2182
+ $ref: "#/components/schemas/common_cdnListServiceOperationsReq",
2183
+ },
2184
+ responseSchema: {
2185
+ $ref: "#/components/schemas/common_cdnListServiceOperationsRsp",
2186
+ },
2187
+ requiredParams: ["body", "namespace"],
2188
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.ListServiceOperations",
2189
+ tags: ["CDN"],
2190
+ sourceFile: "domains/cdn.json",
2191
+ displayName: null,
2192
+ dangerLevel: "medium",
2193
+ sideEffects: {
2194
+ creates: ["list-service-operations-statu"],
2195
+ },
2196
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
2197
+ confirmationRequired: false,
2198
+ parameterExamples: {
2199
+ namespace: "Ns1",
2200
+ },
2201
+ validationRules: {},
2202
+ operationMetadata: {
2203
+ common_errors: [
2204
+ {
2205
+ code: 401,
2206
+ message: "Authentication required",
2207
+ solution: "Provide valid API credentials",
2208
+ },
2209
+ {
2210
+ code: 403,
2211
+ message: "Permission denied",
2212
+ solution: "Check access permissions for this operation",
2213
+ },
2214
+ {
2215
+ code: 404,
2216
+ message: "Resource not found",
2217
+ solution: "Verify resource name, namespace, and path",
2218
+ },
2219
+ {
2220
+ code: 409,
2221
+ message: "Resource already exists",
2222
+ solution: "Use different name or update existing resource",
2223
+ },
2224
+ {
2225
+ code: 429,
2226
+ message: "Rate limit exceeded",
2227
+ solution: "Wait before retrying the operation",
2228
+ },
2229
+ {
2230
+ code: 500,
2231
+ message: "Server error",
2232
+ solution: "Retry operation or contact support",
2233
+ },
2234
+ ],
2235
+ conditions: {
2236
+ postconditions: [
2237
+ "List-service-operations-statu resource created",
2238
+ "Resource assigned unique identifier",
2239
+ ],
2240
+ prerequisites: ["Active namespace"],
2241
+ },
2242
+ confirmation_required: false,
2243
+ danger_level: "medium",
2244
+ field_docs: {},
2245
+ optional_fields: [],
2246
+ performance_impact: {
2247
+ latency: "low",
2248
+ resource_usage: "low",
2249
+ },
2250
+ purpose: "Create new list-service-operations-statu",
2251
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
2252
+ side_effects: {
2253
+ creates: ["list-service-operations-statu"],
2254
+ },
2255
+ },
2256
+ curlExample: null,
2257
+ dependencies: [],
2258
+ oneOfGroups: [
2259
+ {
2260
+ choiceField: "options",
2261
+ fieldPath: "options",
2262
+ options: ["lastn", "time_range"],
2263
+ },
2264
+ ],
2265
+ subscriptionRequirements: [
2266
+ {
2267
+ addonService: "f5xc_content_delivery_network_standard",
2268
+ displayName: "F5XC Content Delivery Network Standard",
2269
+ required: false,
2270
+ tier: "standard",
2271
+ },
2272
+ ],
2273
+ },
2274
+ {
2275
+ toolName: "f5xc-api-cdn-metric-create",
2276
+ method: "POST",
2277
+ path: "/api/cdn/namespaces/{namespace}/cdn_loadbalancer/metrics",
2278
+ operation: "create",
2279
+ domain: "cdn",
2280
+ resource: "metric",
2281
+ summary: "GET CDN Metrics.",
2282
+ description: "Initial metrics request for CDN loadbalancers.",
2283
+ pathParameters: [
2284
+ {
2285
+ description: "Namespace\nx-required\nNamespace scope of the metric request.",
2286
+ in: "path",
2287
+ name: "namespace",
2288
+ required: true,
2289
+ schema: {
2290
+ type: "string",
2291
+ },
2292
+ "x-displayname": "Namespace",
2293
+ "x-ves-example": "Default",
2294
+ },
2295
+ ],
2296
+ queryParameters: [],
2297
+ requestBodySchema: {
2298
+ $ref: "#/components/schemas/cdn_loadbalancerLilacCDNMetricsRequest",
2299
+ },
2300
+ responseSchema: {
2301
+ $ref: "#/components/schemas/cdn_loadbalancerLilacCDNMetricsResponse",
2302
+ },
2303
+ requiredParams: ["body", "namespace"],
2304
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.CDNMetrics",
2305
+ tags: ["CDN"],
2306
+ sourceFile: "domains/cdn.json",
2307
+ displayName: null,
2308
+ dangerLevel: "medium",
2309
+ sideEffects: {
2310
+ creates: ["metric"],
2311
+ },
2312
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
2313
+ confirmationRequired: false,
2314
+ parameterExamples: {
2315
+ namespace: "Default",
2316
+ },
2317
+ validationRules: {},
2318
+ operationMetadata: {
2319
+ common_errors: [
2320
+ {
2321
+ code: 401,
2322
+ message: "Authentication required",
2323
+ solution: "Provide valid API credentials",
2324
+ },
2325
+ {
2326
+ code: 403,
2327
+ message: "Permission denied",
2328
+ solution: "Check access permissions for this operation",
2329
+ },
2330
+ {
2331
+ code: 404,
2332
+ message: "Resource not found",
2333
+ solution: "Verify resource name, namespace, and path",
2334
+ },
2335
+ {
2336
+ code: 409,
2337
+ message: "Resource already exists",
2338
+ solution: "Use different name or update existing resource",
2339
+ },
2340
+ {
2341
+ code: 429,
2342
+ message: "Rate limit exceeded",
2343
+ solution: "Wait before retrying the operation",
2344
+ },
2345
+ {
2346
+ code: 500,
2347
+ message: "Server error",
2348
+ solution: "Retry operation or contact support",
2349
+ },
2350
+ ],
2351
+ conditions: {
2352
+ postconditions: ["Metric resource created", "Resource assigned unique identifier"],
2353
+ prerequisites: ["Active namespace"],
2354
+ },
2355
+ confirmation_required: false,
2356
+ danger_level: "medium",
2357
+ field_docs: {},
2358
+ optional_fields: [],
2359
+ performance_impact: {
2360
+ latency: "low",
2361
+ resource_usage: "low",
2362
+ },
2363
+ purpose: "Create new metric",
2364
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
2365
+ side_effects: {
2366
+ creates: ["metric"],
2367
+ },
2368
+ },
2369
+ curlExample: null,
2370
+ dependencies: [],
2371
+ oneOfGroups: [],
2372
+ subscriptionRequirements: [
2373
+ {
2374
+ addonService: "f5xc_content_delivery_network_standard",
2375
+ displayName: "F5XC Content Delivery Network Standard",
2376
+ required: false,
2377
+ tier: "standard",
2378
+ },
2379
+ ],
2380
+ },
2381
+ {
2382
+ toolName: "f5xc-api-cdn-subscribe-create",
2383
+ method: "POST",
2384
+ path: "/api/cdn/namespaces/system/lilac-cdn/addon/subscribe",
2385
+ operation: "create",
2386
+ domain: "cdn",
2387
+ resource: "subscribe",
2388
+ summary: "Subscribe to CDN Loadbalancer.",
2389
+ description: "Subscribe to CDN Loadbalancer.",
2390
+ pathParameters: [],
2391
+ queryParameters: [],
2392
+ requestBodySchema: {
2393
+ $ref: "#/components/schemas/cdn_loadbalancerSubscribeRequest",
2394
+ },
2395
+ responseSchema: {
2396
+ $ref: "#/components/schemas/cdn_loadbalancerSubscribeResponse",
2397
+ },
2398
+ requiredParams: ["body"],
2399
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Subscribe",
2400
+ tags: ["Other"],
2401
+ sourceFile: "domains/cdn.json",
2402
+ displayName: null,
2403
+ dangerLevel: "medium",
2404
+ sideEffects: {
2405
+ creates: ["subscribe"],
2406
+ },
2407
+ requiredFields: ["metadata.name", "metadata.namespace"],
2408
+ confirmationRequired: false,
2409
+ parameterExamples: {},
2410
+ validationRules: {},
2411
+ operationMetadata: {
2412
+ common_errors: [
2413
+ {
2414
+ code: 401,
2415
+ message: "Authentication required",
2416
+ solution: "Provide valid API credentials",
2417
+ },
2418
+ {
2419
+ code: 403,
2420
+ message: "Permission denied",
2421
+ solution: "Check access permissions for this operation",
2422
+ },
2423
+ {
2424
+ code: 404,
2425
+ message: "Resource not found",
2426
+ solution: "Verify resource name, namespace, and path",
2427
+ },
2428
+ {
2429
+ code: 409,
2430
+ message: "Resource already exists",
2431
+ solution: "Use different name or update existing resource",
2432
+ },
2433
+ {
2434
+ code: 429,
2435
+ message: "Rate limit exceeded",
2436
+ solution: "Wait before retrying the operation",
2437
+ },
2438
+ {
2439
+ code: 500,
2440
+ message: "Server error",
2441
+ solution: "Retry operation or contact support",
2442
+ },
2443
+ ],
2444
+ conditions: {
2445
+ postconditions: ["Subscribe resource created", "Resource assigned unique identifier"],
2446
+ prerequisites: ["Active namespace"],
2447
+ },
2448
+ confirmation_required: false,
2449
+ danger_level: "medium",
2450
+ field_docs: {},
2451
+ optional_fields: [],
2452
+ performance_impact: {
2453
+ latency: "low",
2454
+ resource_usage: "low",
2455
+ },
2456
+ purpose: "Create new subscribe",
2457
+ required_fields: ["metadata.name", "metadata.namespace"],
2458
+ side_effects: {
2459
+ creates: ["subscribe"],
2460
+ },
2461
+ },
2462
+ curlExample: null,
2463
+ dependencies: [],
2464
+ oneOfGroups: [],
2465
+ subscriptionRequirements: [
2466
+ {
2467
+ addonService: "f5xc_content_delivery_network_standard",
2468
+ displayName: "F5XC Content Delivery Network Standard",
2469
+ required: false,
2470
+ tier: "standard",
2471
+ },
2472
+ ],
2473
+ },
2474
+ {
2475
+ toolName: "f5xc-api-cdn-suggestion-create",
2476
+ method: "POST",
2477
+ path: "/api/config/namespaces/{namespace}/cdn_loadbalancers/{name}/block_client/suggestion",
2478
+ operation: "create",
2479
+ domain: "cdn",
2480
+ resource: "suggestion",
2481
+ summary: "Suggest block client rule.",
2482
+ description: "Suggest blocking SimpleClientSrcRule for a given IP/ASN.",
2483
+ pathParameters: [
2484
+ {
2485
+ description: "Name\nHTTP load balancer for which this WAF exclusion will be applied.",
2486
+ in: "path",
2487
+ name: "name",
2488
+ required: true,
2489
+ schema: {
2490
+ type: "string",
2491
+ },
2492
+ "x-displayname": "HTTP Load Balancer Name.",
2493
+ "x-ves-example": "VES-I/O-frontend.",
2494
+ },
2495
+ {
2496
+ description: "Namespace\nNamespace of the App type for current request.",
2497
+ in: "path",
2498
+ name: "namespace",
2499
+ required: true,
2500
+ schema: {
2501
+ type: "string",
2502
+ },
2503
+ "x-displayname": "Namespace",
2504
+ "x-ves-example": "Shared",
2505
+ },
2506
+ ],
2507
+ queryParameters: [],
2508
+ requestBodySchema: null,
2509
+ responseSchema: {
2510
+ $ref: "#/components/schemas/app_securityGetSuggestedBlockClientRuleRsp",
2511
+ },
2512
+ requiredParams: ["name", "namespace"],
2513
+ operationId: "ves.io.schema.app_security.AppSecurityClientRuleAPI.GetSuggestedBlockClientRuleForCDN",
2514
+ tags: ["Other"],
2515
+ sourceFile: "domains/cdn.json",
2516
+ displayName: null,
2517
+ dangerLevel: "medium",
2518
+ sideEffects: {
2519
+ creates: ["suggestion"],
2520
+ },
2521
+ requiredFields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
2522
+ confirmationRequired: false,
2523
+ parameterExamples: {
2524
+ name: "VES-I/O-frontend.",
2525
+ namespace: "Shared",
2526
+ },
2527
+ validationRules: {},
2528
+ operationMetadata: {
2529
+ common_errors: [
2530
+ {
2531
+ code: 401,
2532
+ message: "Authentication required",
2533
+ solution: "Provide valid API credentials",
2534
+ },
2535
+ {
2536
+ code: 403,
2537
+ message: "Permission denied",
2538
+ solution: "Check access permissions for this operation",
2539
+ },
2540
+ {
2541
+ code: 404,
2542
+ message: "Resource not found",
2543
+ solution: "Verify resource name, namespace, and path",
2544
+ },
2545
+ {
2546
+ code: 409,
2547
+ message: "Resource already exists",
2548
+ solution: "Use different name or update existing resource",
2549
+ },
2550
+ {
2551
+ code: 429,
2552
+ message: "Rate limit exceeded",
2553
+ solution: "Wait before retrying the operation",
2554
+ },
2555
+ {
2556
+ code: 500,
2557
+ message: "Server error",
2558
+ solution: "Retry operation or contact support",
2559
+ },
2560
+ ],
2561
+ conditions: {
2562
+ postconditions: ["Suggestion resource created", "Resource assigned unique identifier"],
2563
+ prerequisites: ["Active namespace"],
2564
+ },
2565
+ confirmation_required: false,
2566
+ danger_level: "medium",
2567
+ field_docs: {},
2568
+ optional_fields: [],
2569
+ performance_impact: {
2570
+ latency: "low",
2571
+ resource_usage: "low",
2572
+ },
2573
+ purpose: "Create new suggestion",
2574
+ required_fields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
2575
+ side_effects: {
2576
+ creates: ["suggestion"],
2577
+ },
2578
+ },
2579
+ curlExample: null,
2580
+ dependencies: [],
2581
+ oneOfGroups: [],
2582
+ subscriptionRequirements: [
2583
+ {
2584
+ addonService: "f5xc_content_delivery_network_standard",
2585
+ displayName: "F5XC Content Delivery Network Standard",
2586
+ required: false,
2587
+ tier: "standard",
2588
+ },
2589
+ ],
2590
+ },
2591
+ {
2592
+ toolName: "f5xc-api-cdn-unsubscribe-create",
2593
+ method: "POST",
2594
+ path: "/api/cdn/namespaces/system/lilac-cdn/addon/unsubscribe",
2595
+ operation: "create",
2596
+ domain: "cdn",
2597
+ resource: "unsubscribe",
2598
+ summary: "Unsubscribe to CDN Loadbalancer.",
2599
+ description: "Unsubscribe to CDN Loadbalancer.",
2600
+ pathParameters: [],
2601
+ queryParameters: [],
2602
+ requestBodySchema: {
2603
+ $ref: "#/components/schemas/cdn_loadbalancerUnsubscribeRequest",
2604
+ },
2605
+ responseSchema: {
2606
+ $ref: "#/components/schemas/cdn_loadbalancerUnsubscribeResponse",
2607
+ },
2608
+ requiredParams: ["body"],
2609
+ operationId: "ves.io.schema.views.cdn_loadbalancer.CustomAPI.Unsubscribe",
2610
+ tags: ["Other"],
2611
+ sourceFile: "domains/cdn.json",
2612
+ displayName: null,
2613
+ dangerLevel: "medium",
2614
+ sideEffects: {
2615
+ creates: ["unsubscribe"],
2616
+ },
2617
+ requiredFields: ["metadata.name", "metadata.namespace"],
2618
+ confirmationRequired: false,
2619
+ parameterExamples: {},
2620
+ validationRules: {},
2621
+ operationMetadata: {
2622
+ common_errors: [
2623
+ {
2624
+ code: 401,
2625
+ message: "Authentication required",
2626
+ solution: "Provide valid API credentials",
2627
+ },
2628
+ {
2629
+ code: 403,
2630
+ message: "Permission denied",
2631
+ solution: "Check access permissions for this operation",
2632
+ },
2633
+ {
2634
+ code: 404,
2635
+ message: "Resource not found",
2636
+ solution: "Verify resource name, namespace, and path",
2637
+ },
2638
+ {
2639
+ code: 409,
2640
+ message: "Resource already exists",
2641
+ solution: "Use different name or update existing resource",
2642
+ },
2643
+ {
2644
+ code: 429,
2645
+ message: "Rate limit exceeded",
2646
+ solution: "Wait before retrying the operation",
2647
+ },
2648
+ {
2649
+ code: 500,
2650
+ message: "Server error",
2651
+ solution: "Retry operation or contact support",
2652
+ },
2653
+ ],
2654
+ conditions: {
2655
+ postconditions: ["Unsubscribe resource created", "Resource assigned unique identifier"],
2656
+ prerequisites: ["Active namespace"],
2657
+ },
2658
+ confirmation_required: false,
2659
+ danger_level: "medium",
2660
+ field_docs: {},
2661
+ optional_fields: [],
2662
+ performance_impact: {
2663
+ latency: "low",
2664
+ resource_usage: "low",
2665
+ },
2666
+ purpose: "Create new unsubscribe",
2667
+ required_fields: ["metadata.name", "metadata.namespace"],
2668
+ side_effects: {
2669
+ creates: ["unsubscribe"],
2670
+ },
2671
+ },
2672
+ curlExample: null,
2673
+ dependencies: [],
2674
+ oneOfGroups: [],
2675
+ subscriptionRequirements: [
2676
+ {
2677
+ addonService: "f5xc_content_delivery_network_standard",
2678
+ displayName: "F5XC Content Delivery Network Standard",
2679
+ required: false,
2680
+ tier: "standard",
2681
+ },
2682
+ ],
2683
+ },
2684
+ ];
2685
+ export default cdnTools;
2686
+ //# sourceMappingURL=index.js.map