@robinmordasiewicz/f5xc-api-mcp 3.3.1 → 3.5.0

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 (262) hide show
  1. package/dist/generator/openapi-parser.d.ts +355 -0
  2. package/dist/generator/openapi-parser.d.ts.map +1 -1
  3. package/dist/generator/openapi-parser.js +202 -2
  4. package/dist/generator/openapi-parser.js.map +1 -1
  5. package/dist/generator/tool-generator.d.ts +29 -2
  6. package/dist/generator/tool-generator.d.ts.map +1 -1
  7. package/dist/generator/tool-generator.js +144 -28
  8. package/dist/generator/tool-generator.js.map +1 -1
  9. package/dist/index.d.ts +2 -10
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +28 -33
  12. package/dist/index.js.map +1 -1
  13. package/dist/prompts/workflows.d.ts.map +1 -1
  14. package/dist/prompts/workflows.js +30 -174
  15. package/dist/prompts/workflows.js.map +1 -1
  16. package/dist/resources/handlers.d.ts +0 -2
  17. package/dist/resources/handlers.d.ts.map +1 -1
  18. package/dist/resources/handlers.js +0 -51
  19. package/dist/resources/handlers.js.map +1 -1
  20. package/dist/server.d.ts +1 -1
  21. package/dist/server.d.ts.map +1 -1
  22. package/dist/server.js +1 -2
  23. package/dist/server.js.map +1 -1
  24. package/dist/tools/discovery/describe.d.ts +1 -0
  25. package/dist/tools/discovery/describe.d.ts.map +1 -1
  26. package/dist/tools/discovery/describe.js +10 -8
  27. package/dist/tools/discovery/describe.js.map +1 -1
  28. package/dist/tools/discovery/execute.d.ts +1 -3
  29. package/dist/tools/discovery/execute.d.ts.map +1 -1
  30. package/dist/tools/discovery/execute.js +1 -34
  31. package/dist/tools/discovery/execute.js.map +1 -1
  32. package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
  33. package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
  34. package/dist/tools/generated/admin_console_and_ui/index.js +259 -0
  35. package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
  36. package/dist/tools/generated/api/index.d.ts +8 -0
  37. package/dist/tools/generated/{vpn → api}/index.d.ts.map +1 -1
  38. package/dist/tools/generated/api/index.js +5812 -0
  39. package/dist/tools/generated/api/index.js.map +1 -0
  40. package/dist/tools/generated/authentication/index.d.ts +8 -0
  41. package/dist/tools/generated/authentication/index.d.ts.map +1 -0
  42. package/dist/tools/generated/authentication/index.js +858 -0
  43. package/dist/tools/generated/authentication/index.js.map +1 -0
  44. package/dist/tools/generated/bigip/index.d.ts.map +1 -1
  45. package/dist/tools/generated/bigip/index.js +1660 -0
  46. package/dist/tools/generated/bigip/index.js.map +1 -1
  47. package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
  48. package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
  49. package/dist/tools/generated/billing_and_usage/index.js +2283 -0
  50. package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
  51. package/dist/tools/generated/blindfold/index.d.ts +8 -0
  52. package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
  53. package/dist/tools/generated/blindfold/index.js +3462 -0
  54. package/dist/tools/generated/blindfold/index.js.map +1 -0
  55. package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
  56. package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
  57. package/dist/tools/generated/bot_and_threat_defense/index.js +2264 -0
  58. package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
  59. package/dist/tools/generated/cdn/index.d.ts.map +1 -1
  60. package/dist/tools/generated/cdn/index.js +1498 -0
  61. package/dist/tools/generated/cdn/index.js.map +1 -1
  62. package/dist/tools/generated/ce_management/index.d.ts +8 -0
  63. package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
  64. package/dist/tools/generated/ce_management/index.js +3437 -0
  65. package/dist/tools/generated/ce_management/index.js.map +1 -0
  66. package/dist/tools/generated/certificates/index.d.ts +8 -0
  67. package/dist/tools/generated/certificates/index.d.ts.map +1 -0
  68. package/dist/tools/generated/certificates/index.js +2279 -0
  69. package/dist/tools/generated/certificates/index.js.map +1 -0
  70. package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
  71. package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
  72. package/dist/tools/generated/cloud_infrastructure/index.js +3585 -0
  73. package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
  74. package/dist/tools/generated/container_services/index.d.ts +8 -0
  75. package/dist/tools/generated/container_services/index.d.ts.map +1 -0
  76. package/dist/tools/generated/container_services/index.js +1806 -0
  77. package/dist/tools/generated/container_services/index.js.map +1 -0
  78. package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
  79. package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
  80. package/dist/tools/generated/data_and_privacy_security/index.js +1519 -0
  81. package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
  82. package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
  83. package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
  84. package/dist/tools/generated/data_intelligence/index.js +1495 -0
  85. package/dist/tools/generated/data_intelligence/index.js.map +1 -0
  86. package/dist/tools/generated/ddos/index.d.ts +8 -0
  87. package/dist/tools/generated/ddos/index.d.ts.map +1 -0
  88. package/dist/tools/generated/ddos/index.js +7427 -0
  89. package/dist/tools/generated/ddos/index.js.map +1 -0
  90. package/dist/tools/generated/dns/index.d.ts +8 -0
  91. package/dist/tools/generated/dns/index.d.ts.map +1 -0
  92. package/dist/tools/generated/dns/index.js +5604 -0
  93. package/dist/tools/generated/dns/index.js.map +1 -0
  94. package/dist/tools/generated/generative_ai/index.d.ts +8 -0
  95. package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
  96. package/dist/tools/generated/generative_ai/index.js +972 -0
  97. package/dist/tools/generated/generative_ai/index.js.map +1 -0
  98. package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
  99. package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
  100. package/dist/tools/generated/managed_kubernetes/index.js +2858 -0
  101. package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
  102. package/dist/tools/generated/marketplace/index.d.ts +8 -0
  103. package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
  104. package/dist/tools/generated/marketplace/index.js +4022 -0
  105. package/dist/tools/generated/marketplace/index.js.map +1 -0
  106. package/dist/tools/generated/network/index.d.ts +8 -0
  107. package/dist/tools/generated/network/index.d.ts.map +1 -0
  108. package/dist/tools/generated/network/index.js +11132 -0
  109. package/dist/tools/generated/network/index.js.map +1 -0
  110. package/dist/tools/generated/network_security/index.d.ts +8 -0
  111. package/dist/tools/generated/network_security/index.d.ts.map +1 -0
  112. package/dist/tools/generated/network_security/index.js +7827 -0
  113. package/dist/tools/generated/network_security/index.js.map +1 -0
  114. package/dist/tools/generated/nginx_one/index.d.ts +8 -0
  115. package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
  116. package/dist/tools/generated/nginx_one/index.js +1598 -0
  117. package/dist/tools/generated/nginx_one/index.js.map +1 -0
  118. package/dist/tools/generated/object_storage/index.d.ts +8 -0
  119. package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
  120. package/dist/tools/generated/object_storage/index.js +964 -0
  121. package/dist/tools/generated/object_storage/index.js.map +1 -0
  122. package/dist/tools/generated/observability/index.d.ts.map +1 -1
  123. package/dist/tools/generated/observability/index.js +3521 -4641
  124. package/dist/tools/generated/observability/index.js.map +1 -1
  125. package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
  126. package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
  127. package/dist/tools/generated/rate_limiting/index.js +1712 -0
  128. package/dist/tools/generated/rate_limiting/index.js.map +1 -0
  129. package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
  130. package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
  131. package/dist/tools/generated/secops_and_incident_response/index.js +578 -0
  132. package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
  133. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -1
  134. package/dist/tools/generated/service_mesh/index.js +3810 -438
  135. package/dist/tools/generated/service_mesh/index.js.map +1 -1
  136. package/dist/tools/generated/shape/index.d.ts +8 -0
  137. package/dist/tools/generated/shape/index.d.ts.map +1 -0
  138. package/dist/tools/generated/shape/index.js +18464 -0
  139. package/dist/tools/generated/shape/index.js.map +1 -0
  140. package/dist/tools/generated/sites/index.d.ts +8 -0
  141. package/dist/tools/generated/sites/index.d.ts.map +1 -0
  142. package/dist/tools/generated/sites/index.js +11494 -0
  143. package/dist/tools/generated/sites/index.js.map +1 -0
  144. package/dist/tools/generated/statistics/index.d.ts +8 -0
  145. package/dist/tools/generated/statistics/index.d.ts.map +1 -0
  146. package/dist/tools/generated/statistics/index.js +7557 -0
  147. package/dist/tools/generated/statistics/index.js.map +1 -0
  148. package/dist/tools/generated/support/index.d.ts +8 -0
  149. package/dist/tools/generated/support/index.d.ts.map +1 -0
  150. package/dist/tools/generated/support/index.js +5334 -0
  151. package/dist/tools/generated/support/index.js.map +1 -0
  152. package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
  153. package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
  154. package/dist/tools/generated/telemetry_and_insights/index.js +2304 -0
  155. package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
  156. package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
  157. package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
  158. package/dist/tools/generated/tenant_and_identity/index.js +17560 -0
  159. package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
  160. package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
  161. package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
  162. package/dist/tools/generated/threat_campaign/index.js +99 -0
  163. package/dist/tools/generated/threat_campaign/index.js.map +1 -0
  164. package/dist/tools/generated/users/index.d.ts +8 -0
  165. package/dist/tools/generated/users/index.d.ts.map +1 -0
  166. package/dist/tools/generated/users/index.js +1376 -0
  167. package/dist/tools/generated/users/index.js.map +1 -0
  168. package/dist/tools/generated/virtual/index.d.ts +8 -0
  169. package/dist/tools/generated/virtual/index.d.ts.map +1 -0
  170. package/dist/tools/generated/virtual/index.js +10103 -0
  171. package/dist/tools/generated/virtual/index.js.map +1 -0
  172. package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
  173. package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
  174. package/dist/tools/generated/vpm_and_node_management/index.js +85 -0
  175. package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
  176. package/dist/tools/generated/waf/index.d.ts +8 -0
  177. package/dist/tools/generated/waf/index.d.ts.map +1 -0
  178. package/dist/tools/generated/waf/index.js +3802 -0
  179. package/dist/tools/generated/waf/index.js.map +1 -0
  180. package/dist/tools/registry.d.ts.map +1 -1
  181. package/dist/tools/registry.js +68 -36
  182. package/dist/tools/registry.js.map +1 -1
  183. package/package.json +3 -1
  184. package/dist/cli/index.d.ts +0 -16
  185. package/dist/cli/index.d.ts.map +0 -1
  186. package/dist/cli/index.js +0 -116
  187. package/dist/cli/index.js.map +0 -1
  188. package/dist/cli/setup.d.ts +0 -54
  189. package/dist/cli/setup.d.ts.map +0 -1
  190. package/dist/cli/setup.js +0 -347
  191. package/dist/cli/setup.js.map +0 -1
  192. package/dist/tools/generated/ai_intelligence/index.d.ts +0 -8
  193. package/dist/tools/generated/ai_intelligence/index.d.ts.map +0 -1
  194. package/dist/tools/generated/ai_intelligence/index.js +0 -282
  195. package/dist/tools/generated/ai_intelligence/index.js.map +0 -1
  196. package/dist/tools/generated/api_security/index.d.ts +0 -8
  197. package/dist/tools/generated/api_security/index.d.ts.map +0 -1
  198. package/dist/tools/generated/api_security/index.js +0 -1852
  199. package/dist/tools/generated/api_security/index.js.map +0 -1
  200. package/dist/tools/generated/applications/index.d.ts +0 -8
  201. package/dist/tools/generated/applications/index.d.ts.map +0 -1
  202. package/dist/tools/generated/applications/index.js +0 -1589
  203. package/dist/tools/generated/applications/index.js.map +0 -1
  204. package/dist/tools/generated/billing/index.d.ts +0 -8
  205. package/dist/tools/generated/billing/index.d.ts.map +0 -1
  206. package/dist/tools/generated/billing/index.js +0 -759
  207. package/dist/tools/generated/billing/index.js.map +0 -1
  208. package/dist/tools/generated/config/index.d.ts +0 -8
  209. package/dist/tools/generated/config/index.d.ts.map +0 -1
  210. package/dist/tools/generated/config/index.js +0 -316
  211. package/dist/tools/generated/config/index.js.map +0 -1
  212. package/dist/tools/generated/identity/index.d.ts +0 -8
  213. package/dist/tools/generated/identity/index.d.ts.map +0 -1
  214. package/dist/tools/generated/identity/index.js +0 -5371
  215. package/dist/tools/generated/identity/index.js.map +0 -1
  216. package/dist/tools/generated/infrastructure/index.d.ts +0 -8
  217. package/dist/tools/generated/infrastructure/index.d.ts.map +0 -1
  218. package/dist/tools/generated/infrastructure/index.js +0 -5342
  219. package/dist/tools/generated/infrastructure/index.js.map +0 -1
  220. package/dist/tools/generated/infrastructure_protection/index.d.ts +0 -8
  221. package/dist/tools/generated/infrastructure_protection/index.d.ts.map +0 -1
  222. package/dist/tools/generated/infrastructure_protection/index.js +0 -2919
  223. package/dist/tools/generated/infrastructure_protection/index.js.map +0 -1
  224. package/dist/tools/generated/integrations/index.d.ts +0 -8
  225. package/dist/tools/generated/integrations/index.d.ts.map +0 -1
  226. package/dist/tools/generated/integrations/index.js +0 -1995
  227. package/dist/tools/generated/integrations/index.js.map +0 -1
  228. package/dist/tools/generated/load_balancer/index.d.ts +0 -8
  229. package/dist/tools/generated/load_balancer/index.d.ts.map +0 -1
  230. package/dist/tools/generated/load_balancer/index.js +0 -2269
  231. package/dist/tools/generated/load_balancer/index.js.map +0 -1
  232. package/dist/tools/generated/networking/index.d.ts +0 -8
  233. package/dist/tools/generated/networking/index.d.ts.map +0 -1
  234. package/dist/tools/generated/networking/index.js +0 -11289
  235. package/dist/tools/generated/networking/index.js.map +0 -1
  236. package/dist/tools/generated/nginx/index.d.ts +0 -8
  237. package/dist/tools/generated/nginx/index.d.ts.map +0 -1
  238. package/dist/tools/generated/nginx/index.js +0 -680
  239. package/dist/tools/generated/nginx/index.js.map +0 -1
  240. package/dist/tools/generated/operations/index.d.ts +0 -8
  241. package/dist/tools/generated/operations/index.d.ts.map +0 -1
  242. package/dist/tools/generated/operations/index.js +0 -1759
  243. package/dist/tools/generated/operations/index.js.map +0 -1
  244. package/dist/tools/generated/security/index.d.ts +0 -8
  245. package/dist/tools/generated/security/index.d.ts.map +0 -1
  246. package/dist/tools/generated/security/index.js +0 -9111
  247. package/dist/tools/generated/security/index.js.map +0 -1
  248. package/dist/tools/generated/shape_security/index.d.ts +0 -8
  249. package/dist/tools/generated/shape_security/index.d.ts.map +0 -1
  250. package/dist/tools/generated/shape_security/index.js +0 -4121
  251. package/dist/tools/generated/shape_security/index.js.map +0 -1
  252. package/dist/tools/generated/subscriptions/index.d.ts +0 -8
  253. package/dist/tools/generated/subscriptions/index.d.ts.map +0 -1
  254. package/dist/tools/generated/subscriptions/index.js +0 -778
  255. package/dist/tools/generated/subscriptions/index.js.map +0 -1
  256. package/dist/tools/generated/tenant_management/index.d.ts +0 -8
  257. package/dist/tools/generated/tenant_management/index.d.ts.map +0 -1
  258. package/dist/tools/generated/tenant_management/index.js +0 -2292
  259. package/dist/tools/generated/tenant_management/index.js.map +0 -1
  260. package/dist/tools/generated/vpn/index.d.ts +0 -8
  261. package/dist/tools/generated/vpn/index.js +0 -1183
  262. package/dist/tools/generated/vpn/index.js.map +0 -1
@@ -0,0 +1,1376 @@
1
+ /**
2
+ * Generated tool definitions for users domain
3
+ * DO NOT EDIT - This file is auto-generated by scripts/generate.ts
4
+ */
5
+ export const usersTools = [
6
+ {
7
+ toolName: "f5xc-api-users-create-create",
8
+ method: "POST",
9
+ path: "/api/config/namespaces/{namespace}/known_label/create",
10
+ operation: "create",
11
+ domain: "users",
12
+ resource: "create",
13
+ summary: "Create",
14
+ description: "Create creates a new label in shared namespace. Any other namespace requested will return error.",
15
+ pathParameters: [
16
+ {
17
+ description: "Namespace\nNamespace in which to create the label.",
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/known_labelCreateRequest",
31
+ },
32
+ responseSchema: {
33
+ $ref: "#/components/schemas/known_labelCreateResponse",
34
+ },
35
+ requiredParams: ["body", "namespace"],
36
+ operationId: "ves.io.schema.known_label.CustomAPI.Create",
37
+ tags: ["Configuration"],
38
+ sourceFile: "domains/users.json",
39
+ displayName: null,
40
+ dangerLevel: "medium",
41
+ sideEffects: {
42
+ creates: ["create"],
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: ["Create 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 create",
96
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
97
+ side_effects: {
98
+ creates: ["create"],
99
+ },
100
+ },
101
+ curlExample: null,
102
+ },
103
+ {
104
+ toolName: "f5xc-api-users-delete-create",
105
+ method: "POST",
106
+ path: "/api/config/namespaces/{namespace}/known_label/delete",
107
+ operation: "create",
108
+ domain: "users",
109
+ resource: "delete",
110
+ summary: "DELETE",
111
+ description: "DELETE will DELETE a given label label key = label value from current tenants shared namespace.",
112
+ pathParameters: [
113
+ {
114
+ description: "Namespace\nNamespace of the label to be deleted.",
115
+ in: "path",
116
+ name: "namespace",
117
+ required: true,
118
+ schema: {
119
+ type: "string",
120
+ },
121
+ "x-displayname": "Namespace",
122
+ "x-ves-example": "Value",
123
+ },
124
+ ],
125
+ queryParameters: [],
126
+ requestBodySchema: {
127
+ $ref: "#/components/schemas/known_labelDeleteRequest",
128
+ },
129
+ responseSchema: {
130
+ $ref: "#/components/schemas/known_labelDeleteResponse",
131
+ },
132
+ requiredParams: ["body", "namespace"],
133
+ operationId: "ves.io.schema.known_label.CustomAPI.Delete",
134
+ tags: ["Configuration"],
135
+ sourceFile: "domains/users.json",
136
+ displayName: null,
137
+ dangerLevel: "medium",
138
+ sideEffects: {
139
+ creates: ["delete"],
140
+ },
141
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
142
+ confirmationRequired: false,
143
+ parameterExamples: {
144
+ namespace: "Value",
145
+ },
146
+ validationRules: {},
147
+ operationMetadata: {
148
+ common_errors: [
149
+ {
150
+ code: 401,
151
+ message: "Authentication required",
152
+ solution: "Provide valid API credentials",
153
+ },
154
+ {
155
+ code: 403,
156
+ message: "Permission denied",
157
+ solution: "Check access permissions for this operation",
158
+ },
159
+ {
160
+ code: 404,
161
+ message: "Resource not found",
162
+ solution: "Verify resource name, namespace, and path",
163
+ },
164
+ {
165
+ code: 409,
166
+ message: "Resource already exists",
167
+ solution: "Use different name or update existing resource",
168
+ },
169
+ {
170
+ code: 429,
171
+ message: "Rate limit exceeded",
172
+ solution: "Wait before retrying the operation",
173
+ },
174
+ {
175
+ code: 500,
176
+ message: "Server error",
177
+ solution: "Retry operation or contact support",
178
+ },
179
+ ],
180
+ conditions: {
181
+ postconditions: ["Delete resource created", "Resource assigned unique identifier"],
182
+ prerequisites: ["Active namespace"],
183
+ },
184
+ confirmation_required: false,
185
+ danger_level: "medium",
186
+ field_docs: {},
187
+ optional_fields: [],
188
+ performance_impact: {
189
+ latency: "low",
190
+ resource_usage: "low",
191
+ },
192
+ purpose: "Create new delete",
193
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
194
+ side_effects: {
195
+ creates: ["delete"],
196
+ },
197
+ },
198
+ curlExample: null,
199
+ },
200
+ {
201
+ toolName: "f5xc-api-users-get-cloud-init-config-list",
202
+ method: "GET",
203
+ path: "/api/register/namespaces/system/get-cloud-init-config",
204
+ operation: "list",
205
+ domain: "users",
206
+ resource: "get-cloud-init-config",
207
+ summary: "GET Cloud Init Config.",
208
+ description: "Returns cloud-init counfig for kvm provider with JWT token.",
209
+ pathParameters: [],
210
+ queryParameters: [
211
+ {
212
+ description: "Provider for that cloud-init config.",
213
+ in: "query",
214
+ name: "provider",
215
+ required: false,
216
+ schema: {
217
+ type: "string",
218
+ },
219
+ "x-displayname": "Provider",
220
+ "x-ves-example": "Kvm",
221
+ },
222
+ {
223
+ description: "Site name for this cloud-init config.",
224
+ in: "query",
225
+ name: "site_name",
226
+ required: false,
227
+ schema: {
228
+ type: "string",
229
+ },
230
+ "x-displayname": "Site Name",
231
+ },
232
+ ],
233
+ requestBodySchema: null,
234
+ responseSchema: {
235
+ $ref: "#/components/schemas/tokenGetCloudInitConfigResp",
236
+ },
237
+ requiredParams: [],
238
+ operationId: "ves.io.schema.token.CustomAPI.GetCloudInitConfig",
239
+ tags: ["Other"],
240
+ sourceFile: "domains/users.json",
241
+ displayName: null,
242
+ dangerLevel: "low",
243
+ sideEffects: null,
244
+ requiredFields: [],
245
+ confirmationRequired: false,
246
+ parameterExamples: {
247
+ provider: "Kvm",
248
+ },
249
+ validationRules: {},
250
+ operationMetadata: {
251
+ common_errors: [
252
+ {
253
+ code: 401,
254
+ message: "Authentication required",
255
+ solution: "Provide valid API credentials",
256
+ },
257
+ {
258
+ code: 403,
259
+ message: "Permission denied",
260
+ solution: "Check access permissions for this operation",
261
+ },
262
+ {
263
+ code: 404,
264
+ message: "Resource not found",
265
+ solution: "Verify resource name, namespace, and path",
266
+ },
267
+ {
268
+ code: 409,
269
+ message: "Resource already exists",
270
+ solution: "Use different name or update existing resource",
271
+ },
272
+ {
273
+ code: 429,
274
+ message: "Rate limit exceeded",
275
+ solution: "Wait before retrying the operation",
276
+ },
277
+ {
278
+ code: 500,
279
+ message: "Server error",
280
+ solution: "Retry operation or contact support",
281
+ },
282
+ ],
283
+ conditions: {
284
+ postconditions: [],
285
+ prerequisites: ["Active namespace"],
286
+ },
287
+ confirmation_required: false,
288
+ danger_level: "low",
289
+ field_docs: {},
290
+ optional_fields: [],
291
+ performance_impact: {
292
+ latency: "moderate",
293
+ resource_usage: "moderate",
294
+ },
295
+ purpose: "List all get-cloud-init-configs",
296
+ required_fields: [],
297
+ side_effects: {},
298
+ },
299
+ curlExample: null,
300
+ },
301
+ {
302
+ toolName: "f5xc-api-users-implicit-label-list",
303
+ method: "GET",
304
+ path: "/api/config/namespaces/system/implicit_labels",
305
+ operation: "list",
306
+ domain: "users",
307
+ resource: "implicit-label",
308
+ summary: "GET Implicit Labels.",
309
+ description: "GET is generic label query. Two types of queries are supported\n* Return label with exact matching entry label key = label value.\n* Return list of labels that have prefix of label key = label value.\nReturns list of labels. Query will look into current tenants shared namespace and VES-I/O shared.",
310
+ pathParameters: [],
311
+ queryParameters: [
312
+ {
313
+ description: "Key string in Query parameters.",
314
+ in: "query",
315
+ name: "key",
316
+ required: false,
317
+ schema: {
318
+ type: "string",
319
+ },
320
+ "x-displayname": "Key",
321
+ "x-ves-example": "Value",
322
+ },
323
+ {
324
+ description: 'Key classes\n\nIncludes label keys with generic names such as "example-key", "foobar-key" etc.\nKeys that are obtained using GET on /API/config/configconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfigconfignamespaces/shared/known_label_keys\nIncludes F5 Distributed Cloud-defined known label keys such as "F5 XC/app_type", "F5 XC/app" and "F5 XC/siteType" as well as tenant-defined known keys such as\n"example-key", "acme-key-foo" and "acme-key-bar". Note that tenant-defined known keys don\'t have any standard name format - they are known keys because they\nhave been explicitly created as known keys by the tenant and are stored in the configuration as known_label_keys.\nIncludes implicit geoip label keys "geoip.F5 XC/city", "geoip.F5 XC/region" and "geoip.F5 XC/country"\nIncludes implicit label keys associated with packets/requests by the infrastructure e.g. "implicit.F5 XC/namespace"\nInclude IP reputation label keys "ipreputation.F5 XC/threattype", "ipreputation.F5 XC/threatlevel"\nInclude URL reputation label keys "urlreputation.F5 XC/category", "urlreputation.F5 XC/reputationlevel"\nIncludes implicit geoip label keys "geoip.F5 XC/continent"\nIncludes implicit geoip label keys "geoip.F5 XC/region", "geoip.F5 XC/country" and "geoip.F5 XC/continent"\nImplicit AWS resource labels (dynamically queried). This may be VPC level tags and/or subnet level tags.',
325
+ in: "query",
326
+ name: "key_classes",
327
+ required: false,
328
+ schema: {
329
+ items: {
330
+ enum: [
331
+ "KEY_CLASS_GENERIC",
332
+ "KEY_CLASS_KNOWN",
333
+ "KEY_CLASS_GEOIP",
334
+ "KEY_CLASS_IMPLICIT",
335
+ "KEY_CLASS_IP_REPUTATION",
336
+ "KEY_CLASS_URL_REPUTATION",
337
+ "KEY_CLASS_GEOIP_EXTENDED",
338
+ "KEY_CLASS_DNS_GEOIP",
339
+ "KEY_CLASS_AWS",
340
+ ],
341
+ type: "string",
342
+ },
343
+ type: "array",
344
+ },
345
+ "x-displayname": "Key Class AWS.",
346
+ "x-ves-example": "Key classes.",
347
+ },
348
+ {
349
+ description: "Type of Query\n\nGET all available implicit labels\nGET exact match of label.key = label.value Or label.key(label.value)\nGET prefix match of label.key = label.value\nGET list of all keys\nGET list of all labels that exactly match the given key and substring match either 'value' or description provided in 'value' field\nGET list of all keys matching a substring.",
350
+ in: "query",
351
+ name: "query",
352
+ required: false,
353
+ schema: {
354
+ default: "QUERY_ALL_LABELS",
355
+ enum: [
356
+ "QUERY_ALL_LABELS",
357
+ "QUERY_EXACT_LABEL",
358
+ "QUERY_VALUE_PREFIX_LABELS",
359
+ "QUERY_KEYS_ONLY",
360
+ "QUERY_VALUE_OR_DESCRIPTION_SUBSTRING",
361
+ "QUERY_KEY_SUBSTRING",
362
+ ],
363
+ type: "string",
364
+ },
365
+ "x-displayname": "Key Substring.",
366
+ },
367
+ {
368
+ description: "Value string in Query parameters.",
369
+ in: "query",
370
+ name: "value",
371
+ required: false,
372
+ schema: {
373
+ type: "string",
374
+ },
375
+ "x-displayname": "Value",
376
+ "x-ves-example": "Value",
377
+ },
378
+ ],
379
+ requestBodySchema: null,
380
+ responseSchema: {
381
+ $ref: "#/components/schemas/implicit_labelGetResponse",
382
+ },
383
+ requiredParams: [],
384
+ operationId: "ves.io.schema.implicit_label.CustomAPI.Get",
385
+ tags: ["Other"],
386
+ sourceFile: "domains/users.json",
387
+ displayName: null,
388
+ dangerLevel: "low",
389
+ sideEffects: null,
390
+ requiredFields: [],
391
+ confirmationRequired: false,
392
+ parameterExamples: {
393
+ key: "Value",
394
+ key_classes: "Key classes.",
395
+ value: "Value",
396
+ },
397
+ validationRules: {},
398
+ operationMetadata: {
399
+ common_errors: [
400
+ {
401
+ code: 401,
402
+ message: "Authentication required",
403
+ solution: "Provide valid API credentials",
404
+ },
405
+ {
406
+ code: 403,
407
+ message: "Permission denied",
408
+ solution: "Check access permissions for this operation",
409
+ },
410
+ {
411
+ code: 404,
412
+ message: "Resource not found",
413
+ solution: "Verify resource name, namespace, and path",
414
+ },
415
+ {
416
+ code: 409,
417
+ message: "Resource already exists",
418
+ solution: "Use different name or update existing resource",
419
+ },
420
+ {
421
+ code: 429,
422
+ message: "Rate limit exceeded",
423
+ solution: "Wait before retrying the operation",
424
+ },
425
+ {
426
+ code: 500,
427
+ message: "Server error",
428
+ solution: "Retry operation or contact support",
429
+ },
430
+ ],
431
+ conditions: {
432
+ postconditions: [],
433
+ prerequisites: ["Active namespace"],
434
+ },
435
+ confirmation_required: false,
436
+ danger_level: "low",
437
+ field_docs: {},
438
+ optional_fields: [],
439
+ performance_impact: {
440
+ latency: "moderate",
441
+ resource_usage: "moderate",
442
+ },
443
+ purpose: "List all implicit-labels",
444
+ required_fields: [],
445
+ side_effects: {},
446
+ },
447
+ curlExample: null,
448
+ },
449
+ {
450
+ toolName: "f5xc-api-users-known-label-key-list",
451
+ method: "GET",
452
+ path: "/api/config/namespaces/{namespace}/known_label_keys",
453
+ operation: "list",
454
+ domain: "users",
455
+ resource: "known-label-key",
456
+ summary: "GET",
457
+ description: "GET is generic label key query. Two types of queries are supported\nReturn label with exact matching entry label key.\nReturn list of labels that have prefix of label key .\nReturns list of label keys. Query will look into current tenants shared namespace and VES-I/O shared.",
458
+ pathParameters: [
459
+ {
460
+ description: "Namespace\nNamespace in which to retrieve the label key.",
461
+ in: "path",
462
+ name: "namespace",
463
+ required: true,
464
+ schema: {
465
+ type: "string",
466
+ },
467
+ "x-displayname": "Namespace",
468
+ "x-ves-example": "Value",
469
+ },
470
+ ],
471
+ queryParameters: [
472
+ {
473
+ description: "Key to retrieve.",
474
+ in: "query",
475
+ name: "key",
476
+ required: false,
477
+ schema: {
478
+ type: "string",
479
+ },
480
+ "x-displayname": "Key",
481
+ "x-ves-example": "Value",
482
+ },
483
+ {
484
+ description: "Query Type\n\nGeneric GET of all available labels for a given tenant\nGET exact match of label.key = label.value Or label.key(label.value)\nGET prefix match of label.key.",
485
+ in: "query",
486
+ name: "query",
487
+ required: false,
488
+ schema: {
489
+ default: "QUERY_ALL_LABEL_KEYS",
490
+ enum: ["QUERY_ALL_LABEL_KEYS", "QUERY_EXACT_LABEL_KEY", "QUERY_PREFIX_LABEL_KEYS"],
491
+ type: "string",
492
+ },
493
+ "x-displayname": "Label Key Prefix.",
494
+ },
495
+ ],
496
+ requestBodySchema: null,
497
+ responseSchema: {
498
+ $ref: "#/components/schemas/known_label_keyGetResponse",
499
+ },
500
+ requiredParams: ["namespace"],
501
+ operationId: "ves.io.schema.known_label_key.CustomAPI.Get",
502
+ tags: ["Other"],
503
+ sourceFile: "domains/users.json",
504
+ displayName: null,
505
+ dangerLevel: "low",
506
+ sideEffects: null,
507
+ requiredFields: ["path.namespace"],
508
+ confirmationRequired: false,
509
+ parameterExamples: {
510
+ key: "Value",
511
+ namespace: "Value",
512
+ },
513
+ validationRules: {},
514
+ operationMetadata: {
515
+ common_errors: [
516
+ {
517
+ code: 401,
518
+ message: "Authentication required",
519
+ solution: "Provide valid API credentials",
520
+ },
521
+ {
522
+ code: 403,
523
+ message: "Permission denied",
524
+ solution: "Check access permissions for this operation",
525
+ },
526
+ {
527
+ code: 404,
528
+ message: "Resource not found",
529
+ solution: "Verify resource name, namespace, and path",
530
+ },
531
+ {
532
+ code: 409,
533
+ message: "Resource already exists",
534
+ solution: "Use different name or update existing resource",
535
+ },
536
+ {
537
+ code: 429,
538
+ message: "Rate limit exceeded",
539
+ solution: "Wait before retrying the operation",
540
+ },
541
+ {
542
+ code: 500,
543
+ message: "Server error",
544
+ solution: "Retry operation or contact support",
545
+ },
546
+ ],
547
+ conditions: {
548
+ postconditions: [],
549
+ prerequisites: ["Active namespace"],
550
+ },
551
+ confirmation_required: false,
552
+ danger_level: "low",
553
+ field_docs: {},
554
+ optional_fields: [],
555
+ performance_impact: {
556
+ latency: "moderate",
557
+ resource_usage: "moderate",
558
+ },
559
+ purpose: "List all known-label-keys",
560
+ required_fields: ["path.namespace"],
561
+ side_effects: {},
562
+ },
563
+ curlExample: null,
564
+ },
565
+ {
566
+ toolName: "f5xc-api-users-known-label-list",
567
+ method: "GET",
568
+ path: "/api/config/namespaces/{namespace}/known_labels",
569
+ operation: "list",
570
+ domain: "users",
571
+ resource: "known-label",
572
+ summary: "GET",
573
+ description: "GET is generic label query. Two types of queries are supported\nReturn label with exact matching entry label key = label value.\nReturn list of labels that have prefix of label key = label value.\nReturns list of labels. Query will look into current tenants shared namespace and VES-I/O shared.",
574
+ pathParameters: [
575
+ {
576
+ description: "Namespace\nNamespace for the label to be retrieved.",
577
+ in: "path",
578
+ name: "namespace",
579
+ required: true,
580
+ schema: {
581
+ type: "string",
582
+ },
583
+ "x-displayname": "Namespace",
584
+ "x-ves-example": "Value",
585
+ },
586
+ ],
587
+ queryParameters: [
588
+ {
589
+ description: "Key of the label to be retrieved.",
590
+ in: "query",
591
+ name: "key",
592
+ required: false,
593
+ schema: {
594
+ type: "string",
595
+ },
596
+ "x-displayname": "Key",
597
+ "x-ves-example": "F5 XC/region.",
598
+ },
599
+ {
600
+ description: "Query type\n\nGeneric GET of all available labels for a given tenant\nGET exact match of label.key = label.value Or label.key(label.value)\nGET prefix match of label.key = label.value\nGET prefix match of label.key.",
601
+ in: "query",
602
+ name: "query",
603
+ required: false,
604
+ schema: {
605
+ default: "QUERY_ALL_LABELS",
606
+ enum: [
607
+ "QUERY_ALL_LABELS",
608
+ "QUERY_EXACT_LABEL",
609
+ "QUERY_VALUE_PREFIX_LABELS",
610
+ "QUERY_KEY_PREFIX_LABELS",
611
+ ],
612
+ type: "string",
613
+ },
614
+ "x-displayname": "Label Key Prefix.",
615
+ },
616
+ {
617
+ description: "Value of the label to be retrieved.",
618
+ in: "query",
619
+ name: "value",
620
+ required: false,
621
+ schema: {
622
+ type: "string",
623
+ },
624
+ "x-displayname": "Value",
625
+ "x-ves-example": "VES-I/O-par.",
626
+ },
627
+ ],
628
+ requestBodySchema: null,
629
+ responseSchema: {
630
+ $ref: "#/components/schemas/known_labelGetResponse",
631
+ },
632
+ requiredParams: ["namespace"],
633
+ operationId: "ves.io.schema.known_label.CustomAPI.Get",
634
+ tags: ["Other"],
635
+ sourceFile: "domains/users.json",
636
+ displayName: null,
637
+ dangerLevel: "low",
638
+ sideEffects: null,
639
+ requiredFields: ["path.namespace"],
640
+ confirmationRequired: false,
641
+ parameterExamples: {
642
+ key: "F5 XC/region.",
643
+ namespace: "Value",
644
+ value: "VES-I/O-par.",
645
+ },
646
+ validationRules: {},
647
+ operationMetadata: {
648
+ common_errors: [
649
+ {
650
+ code: 401,
651
+ message: "Authentication required",
652
+ solution: "Provide valid API credentials",
653
+ },
654
+ {
655
+ code: 403,
656
+ message: "Permission denied",
657
+ solution: "Check access permissions for this operation",
658
+ },
659
+ {
660
+ code: 404,
661
+ message: "Resource not found",
662
+ solution: "Verify resource name, namespace, and path",
663
+ },
664
+ {
665
+ code: 409,
666
+ message: "Resource already exists",
667
+ solution: "Use different name or update existing resource",
668
+ },
669
+ {
670
+ code: 429,
671
+ message: "Rate limit exceeded",
672
+ solution: "Wait before retrying the operation",
673
+ },
674
+ {
675
+ code: 500,
676
+ message: "Server error",
677
+ solution: "Retry operation or contact support",
678
+ },
679
+ ],
680
+ conditions: {
681
+ postconditions: [],
682
+ prerequisites: ["Active namespace"],
683
+ },
684
+ confirmation_required: false,
685
+ danger_level: "low",
686
+ field_docs: {},
687
+ optional_fields: [],
688
+ performance_impact: {
689
+ latency: "moderate",
690
+ resource_usage: "moderate",
691
+ },
692
+ purpose: "List all known-labels",
693
+ required_fields: ["path.namespace"],
694
+ side_effects: {},
695
+ },
696
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/known_labels" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
697
+ },
698
+ {
699
+ toolName: "f5xc-api-users-state-create",
700
+ method: "POST",
701
+ path: "/api/register/namespaces/{namespace}/tokens/{name}/state",
702
+ operation: "create",
703
+ domain: "users",
704
+ resource: "state",
705
+ summary: "Set Token State.",
706
+ description: "TokenState changes token status, it can be used to disable token.",
707
+ pathParameters: [
708
+ {
709
+ description: "Token name\nToken object name to change, it's usually same as metadata.uid.",
710
+ in: "path",
711
+ name: "name",
712
+ required: true,
713
+ schema: {
714
+ type: "string",
715
+ },
716
+ "x-displayname": "Name",
717
+ "x-ves-example": "Value",
718
+ },
719
+ {
720
+ description: "Token namespace\nNamespace where token is residing.",
721
+ in: "path",
722
+ name: "namespace",
723
+ required: true,
724
+ schema: {
725
+ type: "string",
726
+ },
727
+ "x-displayname": "Namespace",
728
+ "x-ves-example": "Value",
729
+ },
730
+ ],
731
+ queryParameters: [],
732
+ requestBodySchema: {
733
+ $ref: "#/components/schemas/tokenStateReq",
734
+ },
735
+ responseSchema: {
736
+ $ref: "#/components/schemas/tokenObjectChangeResp",
737
+ },
738
+ requiredParams: ["body", "name", "namespace"],
739
+ operationId: "ves.io.schema.token.CustomAPI.TokenState",
740
+ tags: ["Other"],
741
+ sourceFile: "domains/users.json",
742
+ displayName: null,
743
+ dangerLevel: "medium",
744
+ sideEffects: {
745
+ creates: ["state"],
746
+ },
747
+ requiredFields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
748
+ confirmationRequired: false,
749
+ parameterExamples: {
750
+ name: "Value",
751
+ namespace: "Value",
752
+ },
753
+ validationRules: {},
754
+ operationMetadata: {
755
+ common_errors: [
756
+ {
757
+ code: 401,
758
+ message: "Authentication required",
759
+ solution: "Provide valid API credentials",
760
+ },
761
+ {
762
+ code: 403,
763
+ message: "Permission denied",
764
+ solution: "Check access permissions for this operation",
765
+ },
766
+ {
767
+ code: 404,
768
+ message: "Resource not found",
769
+ solution: "Verify resource name, namespace, and path",
770
+ },
771
+ {
772
+ code: 409,
773
+ message: "Resource already exists",
774
+ solution: "Use different name or update existing resource",
775
+ },
776
+ {
777
+ code: 429,
778
+ message: "Rate limit exceeded",
779
+ solution: "Wait before retrying the operation",
780
+ },
781
+ {
782
+ code: 500,
783
+ message: "Server error",
784
+ solution: "Retry operation or contact support",
785
+ },
786
+ ],
787
+ conditions: {
788
+ postconditions: ["State resource created", "Resource assigned unique identifier"],
789
+ prerequisites: ["Active namespace"],
790
+ },
791
+ confirmation_required: false,
792
+ danger_level: "medium",
793
+ field_docs: {},
794
+ optional_fields: [],
795
+ performance_impact: {
796
+ latency: "low",
797
+ resource_usage: "low",
798
+ },
799
+ purpose: "Create new state",
800
+ required_fields: ["metadata.name", "metadata.namespace", "path.name", "path.namespace"],
801
+ side_effects: {
802
+ creates: ["state"],
803
+ },
804
+ },
805
+ curlExample: null,
806
+ },
807
+ {
808
+ toolName: "f5xc-api-users-token-create",
809
+ method: "POST",
810
+ path: "/api/register/namespaces/{metadata.namespace}/tokens",
811
+ operation: "create",
812
+ domain: "users",
813
+ resource: "token",
814
+ summary: "Create Token.",
815
+ description: "Creates new token. Token object is used to manage site admission. User must generate token before provisioning and pass this\ntoken to site during it's registration.",
816
+ pathParameters: [
817
+ {
818
+ 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 ""',
819
+ in: "path",
820
+ name: "metadata.namespace",
821
+ required: true,
822
+ schema: {
823
+ type: "string",
824
+ },
825
+ "x-displayname": "Namespace",
826
+ "x-ves-example": "Staging",
827
+ },
828
+ ],
829
+ queryParameters: [],
830
+ requestBodySchema: {
831
+ $ref: "#/components/schemas/tokenCreateRequest",
832
+ },
833
+ responseSchema: {
834
+ $ref: "#/components/schemas/tokenCreateResponse",
835
+ },
836
+ requiredParams: ["body", "metadata.namespace"],
837
+ operationId: "ves.io.schema.token.API.Create",
838
+ tags: ["Other"],
839
+ sourceFile: "domains/users.json",
840
+ displayName: null,
841
+ dangerLevel: "medium",
842
+ sideEffects: {
843
+ creates: ["token"],
844
+ },
845
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
846
+ confirmationRequired: false,
847
+ parameterExamples: {
848
+ "metadata.namespace": "Staging",
849
+ },
850
+ validationRules: {},
851
+ operationMetadata: {
852
+ common_errors: [
853
+ {
854
+ code: 401,
855
+ message: "Authentication required",
856
+ solution: "Provide valid API credentials",
857
+ },
858
+ {
859
+ code: 403,
860
+ message: "Permission denied",
861
+ solution: "Check access permissions for this operation",
862
+ },
863
+ {
864
+ code: 404,
865
+ message: "Resource not found",
866
+ solution: "Verify resource name, namespace, and path",
867
+ },
868
+ {
869
+ code: 409,
870
+ message: "Resource already exists",
871
+ solution: "Use different name or update existing resource",
872
+ },
873
+ {
874
+ code: 429,
875
+ message: "Rate limit exceeded",
876
+ solution: "Wait before retrying the operation",
877
+ },
878
+ {
879
+ code: 500,
880
+ message: "Server error",
881
+ solution: "Retry operation or contact support",
882
+ },
883
+ ],
884
+ conditions: {
885
+ postconditions: ["Token resource created", "Resource assigned unique identifier"],
886
+ prerequisites: ["Active namespace"],
887
+ },
888
+ confirmation_required: false,
889
+ danger_level: "medium",
890
+ field_docs: {},
891
+ optional_fields: [],
892
+ performance_impact: {
893
+ latency: "low",
894
+ resource_usage: "low",
895
+ },
896
+ purpose: "Create new token",
897
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
898
+ side_effects: {
899
+ creates: ["token"],
900
+ },
901
+ },
902
+ curlExample: null,
903
+ },
904
+ {
905
+ toolName: "f5xc-api-users-token-delete",
906
+ method: "DELETE",
907
+ path: "/api/register/namespaces/{namespace}/tokens/{name}",
908
+ operation: "delete",
909
+ domain: "users",
910
+ resource: "token",
911
+ summary: "DELETE Token.",
912
+ description: "DELETE the specified token.",
913
+ pathParameters: [
914
+ {
915
+ description: "Name\nName of the configuration object.",
916
+ in: "path",
917
+ name: "name",
918
+ required: true,
919
+ schema: {
920
+ type: "string",
921
+ },
922
+ "x-displayname": "Name",
923
+ "x-ves-example": "Name",
924
+ },
925
+ {
926
+ description: "Namespace\nNamespace in which the configuration object is present.",
927
+ in: "path",
928
+ name: "namespace",
929
+ required: true,
930
+ schema: {
931
+ type: "string",
932
+ },
933
+ "x-displayname": "Namespace",
934
+ "x-ves-example": "Ns1",
935
+ },
936
+ ],
937
+ queryParameters: [],
938
+ requestBodySchema: {
939
+ $ref: "#/components/schemas/tokenDeleteRequest",
940
+ },
941
+ responseSchema: {},
942
+ requiredParams: ["body", "name", "namespace"],
943
+ operationId: "ves.io.schema.token.API.Delete",
944
+ tags: ["Other"],
945
+ sourceFile: "domains/users.json",
946
+ displayName: null,
947
+ dangerLevel: "high",
948
+ sideEffects: {
949
+ deletes: ["token", "contained_resources"],
950
+ },
951
+ requiredFields: ["path.name", "path.namespace"],
952
+ confirmationRequired: true,
953
+ parameterExamples: {
954
+ name: "Name",
955
+ namespace: "Ns1",
956
+ },
957
+ validationRules: {},
958
+ operationMetadata: {
959
+ common_errors: [
960
+ {
961
+ code: 401,
962
+ message: "Authentication required",
963
+ solution: "Provide valid API credentials",
964
+ },
965
+ {
966
+ code: 403,
967
+ message: "Permission denied",
968
+ solution: "Check access permissions for this operation",
969
+ },
970
+ {
971
+ code: 404,
972
+ message: "Resource not found",
973
+ solution: "Verify resource name, namespace, and path",
974
+ },
975
+ {
976
+ code: 409,
977
+ message: "Resource already exists",
978
+ solution: "Use different name or update existing resource",
979
+ },
980
+ {
981
+ code: 429,
982
+ message: "Rate limit exceeded",
983
+ solution: "Wait before retrying the operation",
984
+ },
985
+ {
986
+ code: 500,
987
+ message: "Server error",
988
+ solution: "Retry operation or contact support",
989
+ },
990
+ ],
991
+ conditions: {
992
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
993
+ prerequisites: ["Active namespace"],
994
+ },
995
+ confirmation_required: true,
996
+ danger_level: "high",
997
+ field_docs: {},
998
+ optional_fields: [],
999
+ performance_impact: {
1000
+ latency: "high",
1001
+ resource_usage: "moderate",
1002
+ },
1003
+ purpose: "Delete token",
1004
+ required_fields: ["path.name", "path.namespace"],
1005
+ side_effects: {
1006
+ deletes: ["token", "contained_resources"],
1007
+ },
1008
+ },
1009
+ curlExample: null,
1010
+ },
1011
+ {
1012
+ toolName: "f5xc-api-users-token-get",
1013
+ method: "GET",
1014
+ path: "/api/register/namespaces/{namespace}/tokens/{name}",
1015
+ operation: "get",
1016
+ domain: "users",
1017
+ resource: "token",
1018
+ summary: "GET Token",
1019
+ description: "GET token. Token object is used to manage site admission. User must generate token before provisioning and pass this\ntoken to site during it's registration.",
1020
+ pathParameters: [
1021
+ {
1022
+ description: "Name\nThe name of the configuration object to be fetched.",
1023
+ in: "path",
1024
+ name: "name",
1025
+ required: true,
1026
+ schema: {
1027
+ type: "string",
1028
+ },
1029
+ "x-displayname": "Name",
1030
+ "x-ves-example": "Name",
1031
+ },
1032
+ {
1033
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1034
+ in: "path",
1035
+ name: "namespace",
1036
+ required: true,
1037
+ schema: {
1038
+ type: "string",
1039
+ },
1040
+ "x-displayname": "Namespace",
1041
+ "x-ves-example": "Ns1",
1042
+ },
1043
+ ],
1044
+ queryParameters: [
1045
+ {
1046
+ 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.",
1047
+ in: "query",
1048
+ name: "response_format",
1049
+ required: false,
1050
+ schema: {
1051
+ default: "GET_RSP_FORMAT_DEFAULT",
1052
+ enum: [
1053
+ "GET_RSP_FORMAT_DEFAULT",
1054
+ "GET_RSP_FORMAT_FOR_CREATE",
1055
+ "GET_RSP_FORMAT_FOR_REPLACE",
1056
+ "GET_RSP_FORMAT_STATUS",
1057
+ "GET_RSP_FORMAT_READ",
1058
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1059
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1060
+ ],
1061
+ type: "string",
1062
+ },
1063
+ "x-displayname": "Broken Referred Objects.",
1064
+ },
1065
+ ],
1066
+ requestBodySchema: null,
1067
+ responseSchema: {
1068
+ $ref: "#/components/schemas/tokenGetResponse",
1069
+ },
1070
+ requiredParams: ["name", "namespace"],
1071
+ operationId: "ves.io.schema.token.API.Get",
1072
+ tags: ["Other"],
1073
+ sourceFile: "domains/users.json",
1074
+ displayName: null,
1075
+ dangerLevel: "low",
1076
+ sideEffects: null,
1077
+ requiredFields: ["path.name", "path.namespace"],
1078
+ confirmationRequired: false,
1079
+ parameterExamples: {
1080
+ name: "Name",
1081
+ namespace: "Ns1",
1082
+ },
1083
+ validationRules: {},
1084
+ operationMetadata: {
1085
+ common_errors: [
1086
+ {
1087
+ code: 401,
1088
+ message: "Authentication required",
1089
+ solution: "Provide valid API credentials",
1090
+ },
1091
+ {
1092
+ code: 403,
1093
+ message: "Permission denied",
1094
+ solution: "Check access permissions for this operation",
1095
+ },
1096
+ {
1097
+ code: 404,
1098
+ message: "Resource not found",
1099
+ solution: "Verify resource name, namespace, and path",
1100
+ },
1101
+ {
1102
+ code: 409,
1103
+ message: "Resource already exists",
1104
+ solution: "Use different name or update existing resource",
1105
+ },
1106
+ {
1107
+ code: 429,
1108
+ message: "Rate limit exceeded",
1109
+ solution: "Wait before retrying the operation",
1110
+ },
1111
+ {
1112
+ code: 500,
1113
+ message: "Server error",
1114
+ solution: "Retry operation or contact support",
1115
+ },
1116
+ ],
1117
+ conditions: {
1118
+ postconditions: [],
1119
+ prerequisites: ["Active namespace"],
1120
+ },
1121
+ confirmation_required: false,
1122
+ danger_level: "low",
1123
+ field_docs: {},
1124
+ optional_fields: [],
1125
+ performance_impact: {
1126
+ latency: "low",
1127
+ resource_usage: "low",
1128
+ },
1129
+ purpose: "Retrieve specific token",
1130
+ required_fields: ["path.name", "path.namespace"],
1131
+ side_effects: {},
1132
+ },
1133
+ curlExample: null,
1134
+ },
1135
+ {
1136
+ toolName: "f5xc-api-users-token-list",
1137
+ method: "GET",
1138
+ path: "/api/register/namespaces/{namespace}/tokens",
1139
+ operation: "list",
1140
+ domain: "users",
1141
+ resource: "token",
1142
+ summary: "List Token.",
1143
+ description: "List the set of token in a namespace.",
1144
+ pathParameters: [
1145
+ {
1146
+ description: "Namespace\nNamespace to scope the listing of token.",
1147
+ in: "path",
1148
+ name: "namespace",
1149
+ required: true,
1150
+ schema: {
1151
+ type: "string",
1152
+ },
1153
+ "x-displayname": "Namespace",
1154
+ "x-ves-example": "Ns1",
1155
+ },
1156
+ ],
1157
+ queryParameters: [
1158
+ {
1159
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1160
+ in: "query",
1161
+ name: "label_filter",
1162
+ required: false,
1163
+ schema: {
1164
+ type: "string",
1165
+ },
1166
+ "x-displayname": "Label Filter.",
1167
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1168
+ },
1169
+ {
1170
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1171
+ in: "query",
1172
+ name: "report_fields",
1173
+ required: false,
1174
+ schema: {
1175
+ items: {
1176
+ type: "string",
1177
+ },
1178
+ type: "array",
1179
+ },
1180
+ "x-displayname": "Report Fields.",
1181
+ },
1182
+ {
1183
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1184
+ in: "query",
1185
+ name: "report_status_fields",
1186
+ required: false,
1187
+ schema: {
1188
+ items: {
1189
+ type: "string",
1190
+ },
1191
+ type: "array",
1192
+ },
1193
+ "x-displayname": "Report Status Fields.",
1194
+ },
1195
+ ],
1196
+ requestBodySchema: null,
1197
+ responseSchema: {
1198
+ $ref: "#/components/schemas/tokenListResponse",
1199
+ },
1200
+ requiredParams: ["namespace"],
1201
+ operationId: "ves.io.schema.token.API.List",
1202
+ tags: ["Other"],
1203
+ sourceFile: "domains/users.json",
1204
+ displayName: null,
1205
+ dangerLevel: "low",
1206
+ sideEffects: null,
1207
+ requiredFields: ["path.namespace"],
1208
+ confirmationRequired: false,
1209
+ parameterExamples: {
1210
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1211
+ namespace: "Ns1",
1212
+ },
1213
+ validationRules: {},
1214
+ operationMetadata: {
1215
+ common_errors: [
1216
+ {
1217
+ code: 401,
1218
+ message: "Authentication required",
1219
+ solution: "Provide valid API credentials",
1220
+ },
1221
+ {
1222
+ code: 403,
1223
+ message: "Permission denied",
1224
+ solution: "Check access permissions for this operation",
1225
+ },
1226
+ {
1227
+ code: 404,
1228
+ message: "Resource not found",
1229
+ solution: "Verify resource name, namespace, and path",
1230
+ },
1231
+ {
1232
+ code: 409,
1233
+ message: "Resource already exists",
1234
+ solution: "Use different name or update existing resource",
1235
+ },
1236
+ {
1237
+ code: 429,
1238
+ message: "Rate limit exceeded",
1239
+ solution: "Wait before retrying the operation",
1240
+ },
1241
+ {
1242
+ code: 500,
1243
+ message: "Server error",
1244
+ solution: "Retry operation or contact support",
1245
+ },
1246
+ ],
1247
+ conditions: {
1248
+ postconditions: [],
1249
+ prerequisites: ["Active namespace"],
1250
+ },
1251
+ confirmation_required: false,
1252
+ danger_level: "low",
1253
+ field_docs: {},
1254
+ optional_fields: [],
1255
+ performance_impact: {
1256
+ latency: "moderate",
1257
+ resource_usage: "moderate",
1258
+ },
1259
+ purpose: "List all tokens",
1260
+ required_fields: ["path.namespace"],
1261
+ side_effects: {},
1262
+ },
1263
+ curlExample: null,
1264
+ },
1265
+ {
1266
+ toolName: "f5xc-api-users-token-update",
1267
+ method: "PUT",
1268
+ path: "/api/register/namespaces/{metadata.namespace}/tokens/{metadata.name}",
1269
+ operation: "update",
1270
+ domain: "users",
1271
+ resource: "token",
1272
+ summary: "Replace Token.",
1273
+ description: "Replaces token. Token object is used to manage site admission. User must generate token before provisioning and pass this\ntoken to site during it's registration.",
1274
+ pathParameters: [
1275
+ {
1276
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1277
+ in: "path",
1278
+ name: "metadata.name",
1279
+ required: true,
1280
+ schema: {
1281
+ type: "string",
1282
+ },
1283
+ "x-displayname": "Name",
1284
+ "x-ves-example": "Example-corp-web.",
1285
+ },
1286
+ {
1287
+ 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 ""',
1288
+ in: "path",
1289
+ name: "metadata.namespace",
1290
+ required: true,
1291
+ schema: {
1292
+ type: "string",
1293
+ },
1294
+ "x-displayname": "Namespace",
1295
+ "x-ves-example": "Staging",
1296
+ },
1297
+ ],
1298
+ queryParameters: [],
1299
+ requestBodySchema: {
1300
+ $ref: "#/components/schemas/tokenReplaceRequest",
1301
+ },
1302
+ responseSchema: {
1303
+ $ref: "#/components/schemas/tokenReplaceResponse",
1304
+ },
1305
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1306
+ operationId: "ves.io.schema.token.API.Replace",
1307
+ tags: ["Other"],
1308
+ sourceFile: "domains/users.json",
1309
+ displayName: null,
1310
+ dangerLevel: "medium",
1311
+ sideEffects: {
1312
+ modifies: ["token"],
1313
+ },
1314
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1315
+ confirmationRequired: false,
1316
+ parameterExamples: {
1317
+ "metadata.name": "Example-corp-web.",
1318
+ "metadata.namespace": "Staging",
1319
+ },
1320
+ validationRules: {},
1321
+ operationMetadata: {
1322
+ common_errors: [
1323
+ {
1324
+ code: 401,
1325
+ message: "Authentication required",
1326
+ solution: "Provide valid API credentials",
1327
+ },
1328
+ {
1329
+ code: 403,
1330
+ message: "Permission denied",
1331
+ solution: "Check access permissions for this operation",
1332
+ },
1333
+ {
1334
+ code: 404,
1335
+ message: "Resource not found",
1336
+ solution: "Verify resource name, namespace, and path",
1337
+ },
1338
+ {
1339
+ code: 409,
1340
+ message: "Resource already exists",
1341
+ solution: "Use different name or update existing resource",
1342
+ },
1343
+ {
1344
+ code: 429,
1345
+ message: "Rate limit exceeded",
1346
+ solution: "Wait before retrying the operation",
1347
+ },
1348
+ {
1349
+ code: 500,
1350
+ message: "Server error",
1351
+ solution: "Retry operation or contact support",
1352
+ },
1353
+ ],
1354
+ conditions: {
1355
+ postconditions: ["Resource updated with new values"],
1356
+ prerequisites: ["Active namespace"],
1357
+ },
1358
+ confirmation_required: false,
1359
+ danger_level: "medium",
1360
+ field_docs: {},
1361
+ optional_fields: [],
1362
+ performance_impact: {
1363
+ latency: "low",
1364
+ resource_usage: "low",
1365
+ },
1366
+ purpose: "Replace existing token",
1367
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
1368
+ side_effects: {
1369
+ modifies: ["token"],
1370
+ },
1371
+ },
1372
+ curlExample: null,
1373
+ },
1374
+ ];
1375
+ export default usersTools;
1376
+ //# sourceMappingURL=index.js.map