@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,1806 @@
1
+ /**
2
+ * Generated tool definitions for container_services domain
3
+ * DO NOT EDIT - This file is auto-generated by scripts/generate.ts
4
+ */
5
+ export const container_servicesTools = [
6
+ {
7
+ toolName: "f5xc-api-containerservices-usage-create",
8
+ method: "POST",
9
+ path: "/api/data/namespaces/{namespace}/workloads/usage",
10
+ operation: "create",
11
+ domain: "container_services",
12
+ resource: "usage",
13
+ summary: "Usage Metrics.",
14
+ description: "GET the workload usage.",
15
+ pathParameters: [
16
+ {
17
+ description: "Namespace\nnamespace is used to scope the workload usage to 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": "Ns1",
26
+ },
27
+ ],
28
+ queryParameters: [],
29
+ requestBodySchema: {
30
+ $ref: "#/components/schemas/workloadUsageRequest",
31
+ },
32
+ responseSchema: {
33
+ $ref: "#/components/schemas/workloadUsageResponse",
34
+ },
35
+ requiredParams: ["body", "namespace"],
36
+ operationId: "ves.io.schema.views.workload.CustomDataAPI.Usage",
37
+ tags: ["Other"],
38
+ sourceFile: "domains/container_services.json",
39
+ displayName: null,
40
+ dangerLevel: "medium",
41
+ sideEffects: {
42
+ creates: ["usage"],
43
+ },
44
+ requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
45
+ confirmationRequired: false,
46
+ parameterExamples: {
47
+ namespace: "Ns1",
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: ["Usage 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 usage",
96
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
97
+ side_effects: {
98
+ creates: ["usage"],
99
+ },
100
+ },
101
+ curlExample: null,
102
+ },
103
+ {
104
+ toolName: "f5xc-api-containerservices-virtual-k8s-create",
105
+ method: "POST",
106
+ path: "/api/config/namespaces/{metadata.namespace}/virtual_k8ss",
107
+ operation: "create",
108
+ domain: "container_services",
109
+ resource: "virtual-k8s",
110
+ summary: "Create Virtual Kubernetes.",
111
+ description: "Create virtual_k8s will create the object in the storage backend for namespace metadata.namespace.",
112
+ pathParameters: [
113
+ {
114
+ 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 ""',
115
+ in: "path",
116
+ name: "metadata.namespace",
117
+ required: true,
118
+ schema: {
119
+ type: "string",
120
+ },
121
+ "x-displayname": "Namespace",
122
+ "x-ves-example": "Staging",
123
+ },
124
+ ],
125
+ queryParameters: [],
126
+ requestBodySchema: {
127
+ $ref: "#/components/schemas/virtual_k8sCreateRequest",
128
+ },
129
+ responseSchema: {
130
+ $ref: "#/components/schemas/virtual_k8sCreateResponse",
131
+ },
132
+ requiredParams: ["body", "metadata.namespace"],
133
+ operationId: "ves.io.schema.virtual_k8s.API.Create",
134
+ tags: ["Other"],
135
+ sourceFile: "domains/container_services.json",
136
+ displayName: null,
137
+ dangerLevel: "medium",
138
+ sideEffects: {
139
+ creates: ["virtual-k8s"],
140
+ },
141
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
142
+ confirmationRequired: false,
143
+ parameterExamples: {
144
+ "metadata.namespace": "Staging",
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: ["Virtual-k8s 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 virtual-k8s",
193
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
194
+ side_effects: {
195
+ creates: ["virtual-k8s"],
196
+ },
197
+ },
198
+ curlExample: null,
199
+ },
200
+ {
201
+ toolName: "f5xc-api-containerservices-virtual-k8s-delete",
202
+ method: "DELETE",
203
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss/{name}",
204
+ operation: "delete",
205
+ domain: "container_services",
206
+ resource: "virtual-k8s",
207
+ summary: "DELETE Virtual Kubernetes.",
208
+ description: "DELETE the specified virtual_k8s.",
209
+ pathParameters: [
210
+ {
211
+ description: "Name\nName of the configuration object.",
212
+ in: "path",
213
+ name: "name",
214
+ required: true,
215
+ schema: {
216
+ type: "string",
217
+ },
218
+ "x-displayname": "Name",
219
+ "x-ves-example": "Name",
220
+ },
221
+ {
222
+ description: "Namespace\nNamespace in which the configuration object is present.",
223
+ in: "path",
224
+ name: "namespace",
225
+ required: true,
226
+ schema: {
227
+ type: "string",
228
+ },
229
+ "x-displayname": "Namespace",
230
+ "x-ves-example": "Ns1",
231
+ },
232
+ ],
233
+ queryParameters: [],
234
+ requestBodySchema: {
235
+ $ref: "#/components/schemas/virtual_k8sDeleteRequest",
236
+ },
237
+ responseSchema: {},
238
+ requiredParams: ["body", "name", "namespace"],
239
+ operationId: "ves.io.schema.virtual_k8s.API.Delete",
240
+ tags: ["Other"],
241
+ sourceFile: "domains/container_services.json",
242
+ displayName: null,
243
+ dangerLevel: "high",
244
+ sideEffects: {
245
+ deletes: ["virtual-k8s", "contained_resources"],
246
+ },
247
+ requiredFields: ["path.name", "path.namespace"],
248
+ confirmationRequired: true,
249
+ parameterExamples: {
250
+ name: "Name",
251
+ namespace: "Ns1",
252
+ },
253
+ validationRules: {},
254
+ operationMetadata: {
255
+ common_errors: [
256
+ {
257
+ code: 401,
258
+ message: "Authentication required",
259
+ solution: "Provide valid API credentials",
260
+ },
261
+ {
262
+ code: 403,
263
+ message: "Permission denied",
264
+ solution: "Check access permissions for this operation",
265
+ },
266
+ {
267
+ code: 404,
268
+ message: "Resource not found",
269
+ solution: "Verify resource name, namespace, and path",
270
+ },
271
+ {
272
+ code: 409,
273
+ message: "Resource already exists",
274
+ solution: "Use different name or update existing resource",
275
+ },
276
+ {
277
+ code: 429,
278
+ message: "Rate limit exceeded",
279
+ solution: "Wait before retrying the operation",
280
+ },
281
+ {
282
+ code: 500,
283
+ message: "Server error",
284
+ solution: "Retry operation or contact support",
285
+ },
286
+ ],
287
+ conditions: {
288
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
289
+ prerequisites: ["Active namespace"],
290
+ },
291
+ confirmation_required: true,
292
+ danger_level: "high",
293
+ field_docs: {},
294
+ optional_fields: [],
295
+ performance_impact: {
296
+ latency: "high",
297
+ resource_usage: "moderate",
298
+ },
299
+ purpose: "Delete virtual-k8s",
300
+ required_fields: ["path.name", "path.namespace"],
301
+ side_effects: {
302
+ deletes: ["virtual-k8s", "contained_resources"],
303
+ },
304
+ },
305
+ curlExample: null,
306
+ },
307
+ {
308
+ toolName: "f5xc-api-containerservices-virtual-k8s-get",
309
+ method: "GET",
310
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss/{name}",
311
+ operation: "get",
312
+ domain: "container_services",
313
+ resource: "virtual-k8s",
314
+ summary: "GET Virtual Kubernetes.",
315
+ description: "GET virtual_k8s will GET the object from the storage backend for namesapce metadata.namespace.",
316
+ pathParameters: [
317
+ {
318
+ description: "Name\nThe name of the configuration object to be fetched.",
319
+ in: "path",
320
+ name: "name",
321
+ required: true,
322
+ schema: {
323
+ type: "string",
324
+ },
325
+ "x-displayname": "Name",
326
+ "x-ves-example": "Name",
327
+ },
328
+ {
329
+ description: "Namespace\nThe namespace in which the configuration object is present.",
330
+ in: "path",
331
+ name: "namespace",
332
+ required: true,
333
+ schema: {
334
+ type: "string",
335
+ },
336
+ "x-displayname": "Namespace",
337
+ "x-ves-example": "Ns1",
338
+ },
339
+ ],
340
+ queryParameters: [
341
+ {
342
+ 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.",
343
+ in: "query",
344
+ name: "response_format",
345
+ required: false,
346
+ schema: {
347
+ default: "GET_RSP_FORMAT_DEFAULT",
348
+ enum: [
349
+ "GET_RSP_FORMAT_DEFAULT",
350
+ "GET_RSP_FORMAT_FOR_CREATE",
351
+ "GET_RSP_FORMAT_FOR_REPLACE",
352
+ "GET_RSP_FORMAT_STATUS",
353
+ "GET_RSP_FORMAT_READ",
354
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
355
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
356
+ ],
357
+ type: "string",
358
+ },
359
+ "x-displayname": "Broken Referred Objects.",
360
+ },
361
+ ],
362
+ requestBodySchema: null,
363
+ responseSchema: {
364
+ $ref: "#/components/schemas/virtual_k8sGetResponse",
365
+ },
366
+ requiredParams: ["name", "namespace"],
367
+ operationId: "ves.io.schema.virtual_k8s.API.Get",
368
+ tags: ["Other"],
369
+ sourceFile: "domains/container_services.json",
370
+ displayName: null,
371
+ dangerLevel: "low",
372
+ sideEffects: null,
373
+ requiredFields: ["path.name", "path.namespace"],
374
+ confirmationRequired: false,
375
+ parameterExamples: {
376
+ name: "Name",
377
+ namespace: "Ns1",
378
+ },
379
+ validationRules: {},
380
+ operationMetadata: {
381
+ common_errors: [
382
+ {
383
+ code: 401,
384
+ message: "Authentication required",
385
+ solution: "Provide valid API credentials",
386
+ },
387
+ {
388
+ code: 403,
389
+ message: "Permission denied",
390
+ solution: "Check access permissions for this operation",
391
+ },
392
+ {
393
+ code: 404,
394
+ message: "Resource not found",
395
+ solution: "Verify resource name, namespace, and path",
396
+ },
397
+ {
398
+ code: 409,
399
+ message: "Resource already exists",
400
+ solution: "Use different name or update existing resource",
401
+ },
402
+ {
403
+ code: 429,
404
+ message: "Rate limit exceeded",
405
+ solution: "Wait before retrying the operation",
406
+ },
407
+ {
408
+ code: 500,
409
+ message: "Server error",
410
+ solution: "Retry operation or contact support",
411
+ },
412
+ ],
413
+ conditions: {
414
+ postconditions: [],
415
+ prerequisites: ["Active namespace"],
416
+ },
417
+ confirmation_required: false,
418
+ danger_level: "low",
419
+ field_docs: {},
420
+ optional_fields: [],
421
+ performance_impact: {
422
+ latency: "low",
423
+ resource_usage: "low",
424
+ },
425
+ purpose: "Retrieve specific virtual-k8s",
426
+ required_fields: ["path.name", "path.namespace"],
427
+ side_effects: {},
428
+ },
429
+ curlExample: null,
430
+ },
431
+ {
432
+ toolName: "f5xc-api-containerservices-virtual-k8s-list",
433
+ method: "GET",
434
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss",
435
+ operation: "list",
436
+ domain: "container_services",
437
+ resource: "virtual-k8s",
438
+ summary: "List Virtual Kubernetes.",
439
+ description: "List the set of virtual_k8s in a namespace.",
440
+ pathParameters: [
441
+ {
442
+ description: "Namespace\nNamespace to scope the listing of virtual_k8s.",
443
+ in: "path",
444
+ name: "namespace",
445
+ required: true,
446
+ schema: {
447
+ type: "string",
448
+ },
449
+ "x-displayname": "Namespace",
450
+ "x-ves-example": "Ns1",
451
+ },
452
+ ],
453
+ queryParameters: [
454
+ {
455
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
456
+ in: "query",
457
+ name: "label_filter",
458
+ required: false,
459
+ schema: {
460
+ type: "string",
461
+ },
462
+ "x-displayname": "Label Filter.",
463
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
464
+ },
465
+ {
466
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
467
+ in: "query",
468
+ name: "report_fields",
469
+ required: false,
470
+ schema: {
471
+ items: {
472
+ type: "string",
473
+ },
474
+ type: "array",
475
+ },
476
+ "x-displayname": "Report Fields.",
477
+ },
478
+ {
479
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
480
+ in: "query",
481
+ name: "report_status_fields",
482
+ required: false,
483
+ schema: {
484
+ items: {
485
+ type: "string",
486
+ },
487
+ type: "array",
488
+ },
489
+ "x-displayname": "Report Status Fields.",
490
+ },
491
+ ],
492
+ requestBodySchema: null,
493
+ responseSchema: {
494
+ $ref: "#/components/schemas/virtual_k8sListResponse",
495
+ },
496
+ requiredParams: ["namespace"],
497
+ operationId: "ves.io.schema.virtual_k8s.API.List",
498
+ tags: ["Other"],
499
+ sourceFile: "domains/container_services.json",
500
+ displayName: null,
501
+ dangerLevel: "low",
502
+ sideEffects: null,
503
+ requiredFields: ["path.namespace"],
504
+ confirmationRequired: false,
505
+ parameterExamples: {
506
+ label_filter: "Env in (staging, testing), tier in (web, db)",
507
+ namespace: "Ns1",
508
+ },
509
+ validationRules: {},
510
+ operationMetadata: {
511
+ common_errors: [
512
+ {
513
+ code: 401,
514
+ message: "Authentication required",
515
+ solution: "Provide valid API credentials",
516
+ },
517
+ {
518
+ code: 403,
519
+ message: "Permission denied",
520
+ solution: "Check access permissions for this operation",
521
+ },
522
+ {
523
+ code: 404,
524
+ message: "Resource not found",
525
+ solution: "Verify resource name, namespace, and path",
526
+ },
527
+ {
528
+ code: 409,
529
+ message: "Resource already exists",
530
+ solution: "Use different name or update existing resource",
531
+ },
532
+ {
533
+ code: 429,
534
+ message: "Rate limit exceeded",
535
+ solution: "Wait before retrying the operation",
536
+ },
537
+ {
538
+ code: 500,
539
+ message: "Server error",
540
+ solution: "Retry operation or contact support",
541
+ },
542
+ ],
543
+ conditions: {
544
+ postconditions: [],
545
+ prerequisites: ["Active namespace"],
546
+ },
547
+ confirmation_required: false,
548
+ danger_level: "low",
549
+ field_docs: {},
550
+ optional_fields: [],
551
+ performance_impact: {
552
+ latency: "moderate",
553
+ resource_usage: "moderate",
554
+ },
555
+ purpose: "List all virtual-k8ss",
556
+ required_fields: ["path.namespace"],
557
+ side_effects: {},
558
+ },
559
+ curlExample: null,
560
+ },
561
+ {
562
+ toolName: "f5xc-api-containerservices-virtual-k8s-update",
563
+ method: "PUT",
564
+ path: "/api/config/namespaces/{metadata.namespace}/virtual_k8ss/{metadata.name}",
565
+ operation: "update",
566
+ domain: "container_services",
567
+ resource: "virtual-k8s",
568
+ summary: "Replace Virtual Kubernetes.",
569
+ description: "Replacing an endpoint object will update the object by replacing the existing spec with the provided one.\nFor read-then-write operations a resourceVersion mismatch will occur if the object was modified between the read and write.",
570
+ pathParameters: [
571
+ {
572
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
573
+ in: "path",
574
+ name: "metadata.name",
575
+ required: true,
576
+ schema: {
577
+ type: "string",
578
+ },
579
+ "x-displayname": "Name",
580
+ "x-ves-example": "Example-corp-web.",
581
+ },
582
+ {
583
+ 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 ""',
584
+ in: "path",
585
+ name: "metadata.namespace",
586
+ required: true,
587
+ schema: {
588
+ type: "string",
589
+ },
590
+ "x-displayname": "Namespace",
591
+ "x-ves-example": "Staging",
592
+ },
593
+ ],
594
+ queryParameters: [],
595
+ requestBodySchema: {
596
+ $ref: "#/components/schemas/virtual_k8sReplaceRequest",
597
+ },
598
+ responseSchema: {
599
+ $ref: "#/components/schemas/virtual_k8sReplaceResponse",
600
+ },
601
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
602
+ operationId: "ves.io.schema.virtual_k8s.API.Replace",
603
+ tags: ["Other"],
604
+ sourceFile: "domains/container_services.json",
605
+ displayName: null,
606
+ dangerLevel: "medium",
607
+ sideEffects: {
608
+ modifies: ["virtual-k8s"],
609
+ },
610
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
611
+ confirmationRequired: false,
612
+ parameterExamples: {
613
+ "metadata.name": "Example-corp-web.",
614
+ "metadata.namespace": "Staging",
615
+ },
616
+ validationRules: {},
617
+ operationMetadata: {
618
+ common_errors: [
619
+ {
620
+ code: 401,
621
+ message: "Authentication required",
622
+ solution: "Provide valid API credentials",
623
+ },
624
+ {
625
+ code: 403,
626
+ message: "Permission denied",
627
+ solution: "Check access permissions for this operation",
628
+ },
629
+ {
630
+ code: 404,
631
+ message: "Resource not found",
632
+ solution: "Verify resource name, namespace, and path",
633
+ },
634
+ {
635
+ code: 409,
636
+ message: "Resource already exists",
637
+ solution: "Use different name or update existing resource",
638
+ },
639
+ {
640
+ code: 429,
641
+ message: "Rate limit exceeded",
642
+ solution: "Wait before retrying the operation",
643
+ },
644
+ {
645
+ code: 500,
646
+ message: "Server error",
647
+ solution: "Retry operation or contact support",
648
+ },
649
+ ],
650
+ conditions: {
651
+ postconditions: ["Resource updated with new values"],
652
+ prerequisites: ["Active namespace"],
653
+ },
654
+ confirmation_required: false,
655
+ danger_level: "medium",
656
+ field_docs: {},
657
+ optional_fields: [],
658
+ performance_impact: {
659
+ latency: "low",
660
+ resource_usage: "low",
661
+ },
662
+ purpose: "Replace existing virtual-k8s",
663
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
664
+ side_effects: {
665
+ modifies: ["virtual-k8s"],
666
+ },
667
+ },
668
+ curlExample: null,
669
+ },
670
+ {
671
+ toolName: "f5xc-api-containerservices-workload-create",
672
+ method: "POST",
673
+ path: "/api/config/namespaces/{metadata.namespace}/workloads",
674
+ operation: "create",
675
+ domain: "container_services",
676
+ resource: "workload",
677
+ summary: "Create Workload.",
678
+ description: "Shape of Workload.",
679
+ pathParameters: [
680
+ {
681
+ 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 ""',
682
+ in: "path",
683
+ name: "metadata.namespace",
684
+ required: true,
685
+ schema: {
686
+ type: "string",
687
+ },
688
+ "x-displayname": "Namespace",
689
+ "x-ves-example": "Staging",
690
+ },
691
+ ],
692
+ queryParameters: [],
693
+ requestBodySchema: {
694
+ $ref: "#/components/schemas/workloadCreateRequest",
695
+ },
696
+ responseSchema: {
697
+ $ref: "#/components/schemas/workloadCreateResponse",
698
+ },
699
+ requiredParams: ["body", "metadata.namespace"],
700
+ operationId: "ves.io.schema.views.workload.API.Create",
701
+ tags: ["Other"],
702
+ sourceFile: "domains/container_services.json",
703
+ displayName: null,
704
+ dangerLevel: "medium",
705
+ sideEffects: {
706
+ creates: ["workload"],
707
+ },
708
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
709
+ confirmationRequired: false,
710
+ parameterExamples: {
711
+ "metadata.namespace": "Staging",
712
+ },
713
+ validationRules: {},
714
+ operationMetadata: {
715
+ common_errors: [
716
+ {
717
+ code: 401,
718
+ message: "Authentication required",
719
+ solution: "Provide valid API credentials",
720
+ },
721
+ {
722
+ code: 403,
723
+ message: "Permission denied",
724
+ solution: "Check access permissions for this operation",
725
+ },
726
+ {
727
+ code: 404,
728
+ message: "Resource not found",
729
+ solution: "Verify resource name, namespace, and path",
730
+ },
731
+ {
732
+ code: 409,
733
+ message: "Resource already exists",
734
+ solution: "Use different name or update existing resource",
735
+ },
736
+ {
737
+ code: 429,
738
+ message: "Rate limit exceeded",
739
+ solution: "Wait before retrying the operation",
740
+ },
741
+ {
742
+ code: 500,
743
+ message: "Server error",
744
+ solution: "Retry operation or contact support",
745
+ },
746
+ ],
747
+ conditions: {
748
+ postconditions: ["Workload resource created", "Resource assigned unique identifier"],
749
+ prerequisites: ["Active namespace"],
750
+ },
751
+ confirmation_required: false,
752
+ danger_level: "medium",
753
+ field_docs: {},
754
+ optional_fields: [],
755
+ performance_impact: {
756
+ latency: "low",
757
+ resource_usage: "low",
758
+ },
759
+ purpose: "Create new workload",
760
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
761
+ side_effects: {
762
+ creates: ["workload"],
763
+ },
764
+ },
765
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workloads" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
766
+ },
767
+ {
768
+ toolName: "f5xc-api-containerservices-workload-delete",
769
+ method: "DELETE",
770
+ path: "/api/config/namespaces/{namespace}/workloads/{name}",
771
+ operation: "delete",
772
+ domain: "container_services",
773
+ resource: "workload",
774
+ summary: "DELETE Workload.",
775
+ description: "DELETE the specified workload.",
776
+ pathParameters: [
777
+ {
778
+ description: "Name\nName of the configuration object.",
779
+ in: "path",
780
+ name: "name",
781
+ required: true,
782
+ schema: {
783
+ type: "string",
784
+ },
785
+ "x-displayname": "Name",
786
+ "x-ves-example": "Name",
787
+ },
788
+ {
789
+ description: "Namespace\nNamespace in which the configuration object is present.",
790
+ in: "path",
791
+ name: "namespace",
792
+ required: true,
793
+ schema: {
794
+ type: "string",
795
+ },
796
+ "x-displayname": "Namespace",
797
+ "x-ves-example": "Ns1",
798
+ },
799
+ ],
800
+ queryParameters: [],
801
+ requestBodySchema: {
802
+ $ref: "#/components/schemas/workloadDeleteRequest",
803
+ },
804
+ responseSchema: {},
805
+ requiredParams: ["body", "name", "namespace"],
806
+ operationId: "ves.io.schema.views.workload.API.Delete",
807
+ tags: ["Other"],
808
+ sourceFile: "domains/container_services.json",
809
+ displayName: null,
810
+ dangerLevel: "high",
811
+ sideEffects: {
812
+ deletes: ["workload", "contained_resources"],
813
+ },
814
+ requiredFields: ["path.name", "path.namespace"],
815
+ confirmationRequired: true,
816
+ parameterExamples: {
817
+ name: "Name",
818
+ namespace: "Ns1",
819
+ },
820
+ validationRules: {},
821
+ operationMetadata: {
822
+ common_errors: [
823
+ {
824
+ code: 401,
825
+ message: "Authentication required",
826
+ solution: "Provide valid API credentials",
827
+ },
828
+ {
829
+ code: 403,
830
+ message: "Permission denied",
831
+ solution: "Check access permissions for this operation",
832
+ },
833
+ {
834
+ code: 404,
835
+ message: "Resource not found",
836
+ solution: "Verify resource name, namespace, and path",
837
+ },
838
+ {
839
+ code: 409,
840
+ message: "Resource already exists",
841
+ solution: "Use different name or update existing resource",
842
+ },
843
+ {
844
+ code: 429,
845
+ message: "Rate limit exceeded",
846
+ solution: "Wait before retrying the operation",
847
+ },
848
+ {
849
+ code: 500,
850
+ message: "Server error",
851
+ solution: "Retry operation or contact support",
852
+ },
853
+ ],
854
+ conditions: {
855
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
856
+ prerequisites: ["Active namespace"],
857
+ },
858
+ confirmation_required: true,
859
+ danger_level: "high",
860
+ field_docs: {},
861
+ optional_fields: [],
862
+ performance_impact: {
863
+ latency: "high",
864
+ resource_usage: "moderate",
865
+ },
866
+ purpose: "Delete workload",
867
+ required_fields: ["path.name", "path.namespace"],
868
+ side_effects: {
869
+ deletes: ["workload", "contained_resources"],
870
+ },
871
+ },
872
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workloads" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
873
+ },
874
+ {
875
+ toolName: "f5xc-api-containerservices-workload-flavor-create",
876
+ method: "POST",
877
+ path: "/api/config/namespaces/{metadata.namespace}/workload_flavors",
878
+ operation: "create",
879
+ domain: "container_services",
880
+ resource: "workload-flavor",
881
+ summary: "Create Workload Flavor.",
882
+ description: "Create a workload_flavor.",
883
+ pathParameters: [
884
+ {
885
+ 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 ""',
886
+ in: "path",
887
+ name: "metadata.namespace",
888
+ required: true,
889
+ schema: {
890
+ type: "string",
891
+ },
892
+ "x-displayname": "Namespace",
893
+ "x-ves-example": "Staging",
894
+ },
895
+ ],
896
+ queryParameters: [],
897
+ requestBodySchema: {
898
+ $ref: "#/components/schemas/workload_flavorCreateRequest",
899
+ },
900
+ responseSchema: {
901
+ $ref: "#/components/schemas/workload_flavorCreateResponse",
902
+ },
903
+ requiredParams: ["body", "metadata.namespace"],
904
+ operationId: "ves.io.schema.workload_flavor.API.Create",
905
+ tags: ["Other"],
906
+ sourceFile: "domains/container_services.json",
907
+ displayName: null,
908
+ dangerLevel: "medium",
909
+ sideEffects: {
910
+ creates: ["workload-flavor"],
911
+ },
912
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
913
+ confirmationRequired: false,
914
+ parameterExamples: {
915
+ "metadata.namespace": "Staging",
916
+ },
917
+ validationRules: {},
918
+ operationMetadata: {
919
+ common_errors: [
920
+ {
921
+ code: 401,
922
+ message: "Authentication required",
923
+ solution: "Provide valid API credentials",
924
+ },
925
+ {
926
+ code: 403,
927
+ message: "Permission denied",
928
+ solution: "Check access permissions for this operation",
929
+ },
930
+ {
931
+ code: 404,
932
+ message: "Resource not found",
933
+ solution: "Verify resource name, namespace, and path",
934
+ },
935
+ {
936
+ code: 409,
937
+ message: "Resource already exists",
938
+ solution: "Use different name or update existing resource",
939
+ },
940
+ {
941
+ code: 429,
942
+ message: "Rate limit exceeded",
943
+ solution: "Wait before retrying the operation",
944
+ },
945
+ {
946
+ code: 500,
947
+ message: "Server error",
948
+ solution: "Retry operation or contact support",
949
+ },
950
+ ],
951
+ conditions: {
952
+ postconditions: ["Workload-flavor resource created", "Resource assigned unique identifier"],
953
+ prerequisites: ["Active namespace"],
954
+ },
955
+ confirmation_required: false,
956
+ danger_level: "medium",
957
+ field_docs: {},
958
+ optional_fields: [],
959
+ performance_impact: {
960
+ latency: "low",
961
+ resource_usage: "low",
962
+ },
963
+ purpose: "Create new workload-flavor",
964
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
965
+ side_effects: {
966
+ creates: ["workload-flavor"],
967
+ },
968
+ },
969
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workload_flavors" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
970
+ },
971
+ {
972
+ toolName: "f5xc-api-containerservices-workload-flavor-delete",
973
+ method: "DELETE",
974
+ path: "/api/config/namespaces/{namespace}/workload_flavors/{name}",
975
+ operation: "delete",
976
+ domain: "container_services",
977
+ resource: "workload-flavor",
978
+ summary: "DELETE Workload Flavor.",
979
+ description: "DELETE the specified workload_flavor.",
980
+ pathParameters: [
981
+ {
982
+ description: "Name\nName of the configuration object.",
983
+ in: "path",
984
+ name: "name",
985
+ required: true,
986
+ schema: {
987
+ type: "string",
988
+ },
989
+ "x-displayname": "Name",
990
+ "x-ves-example": "Name",
991
+ },
992
+ {
993
+ description: "Namespace\nNamespace in which the configuration object is present.",
994
+ in: "path",
995
+ name: "namespace",
996
+ required: true,
997
+ schema: {
998
+ type: "string",
999
+ },
1000
+ "x-displayname": "Namespace",
1001
+ "x-ves-example": "Ns1",
1002
+ },
1003
+ ],
1004
+ queryParameters: [],
1005
+ requestBodySchema: {
1006
+ $ref: "#/components/schemas/workload_flavorDeleteRequest",
1007
+ },
1008
+ responseSchema: {},
1009
+ requiredParams: ["body", "name", "namespace"],
1010
+ operationId: "ves.io.schema.workload_flavor.API.Delete",
1011
+ tags: ["Other"],
1012
+ sourceFile: "domains/container_services.json",
1013
+ displayName: null,
1014
+ dangerLevel: "high",
1015
+ sideEffects: {
1016
+ deletes: ["workload-flavor", "contained_resources"],
1017
+ },
1018
+ requiredFields: ["path.name", "path.namespace"],
1019
+ confirmationRequired: true,
1020
+ parameterExamples: {
1021
+ name: "Name",
1022
+ namespace: "Ns1",
1023
+ },
1024
+ validationRules: {},
1025
+ operationMetadata: {
1026
+ common_errors: [
1027
+ {
1028
+ code: 401,
1029
+ message: "Authentication required",
1030
+ solution: "Provide valid API credentials",
1031
+ },
1032
+ {
1033
+ code: 403,
1034
+ message: "Permission denied",
1035
+ solution: "Check access permissions for this operation",
1036
+ },
1037
+ {
1038
+ code: 404,
1039
+ message: "Resource not found",
1040
+ solution: "Verify resource name, namespace, and path",
1041
+ },
1042
+ {
1043
+ code: 409,
1044
+ message: "Resource already exists",
1045
+ solution: "Use different name or update existing resource",
1046
+ },
1047
+ {
1048
+ code: 429,
1049
+ message: "Rate limit exceeded",
1050
+ solution: "Wait before retrying the operation",
1051
+ },
1052
+ {
1053
+ code: 500,
1054
+ message: "Server error",
1055
+ solution: "Retry operation or contact support",
1056
+ },
1057
+ ],
1058
+ conditions: {
1059
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
1060
+ prerequisites: ["Active namespace"],
1061
+ },
1062
+ confirmation_required: true,
1063
+ danger_level: "high",
1064
+ field_docs: {},
1065
+ optional_fields: [],
1066
+ performance_impact: {
1067
+ latency: "high",
1068
+ resource_usage: "moderate",
1069
+ },
1070
+ purpose: "Delete workload-flavor",
1071
+ required_fields: ["path.name", "path.namespace"],
1072
+ side_effects: {
1073
+ deletes: ["workload-flavor", "contained_resources"],
1074
+ },
1075
+ },
1076
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workload_flavors" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1077
+ },
1078
+ {
1079
+ toolName: "f5xc-api-containerservices-workload-flavor-get",
1080
+ method: "GET",
1081
+ path: "/api/config/namespaces/{namespace}/workload_flavors/{name}",
1082
+ operation: "get",
1083
+ domain: "container_services",
1084
+ resource: "workload-flavor",
1085
+ summary: "GET Workload Flavor.",
1086
+ description: "GET Workload Flavor.",
1087
+ pathParameters: [
1088
+ {
1089
+ description: "Name\nThe name of the configuration object to be fetched.",
1090
+ in: "path",
1091
+ name: "name",
1092
+ required: true,
1093
+ schema: {
1094
+ type: "string",
1095
+ },
1096
+ "x-displayname": "Name",
1097
+ "x-ves-example": "Name",
1098
+ },
1099
+ {
1100
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1101
+ in: "path",
1102
+ name: "namespace",
1103
+ required: true,
1104
+ schema: {
1105
+ type: "string",
1106
+ },
1107
+ "x-displayname": "Namespace",
1108
+ "x-ves-example": "Ns1",
1109
+ },
1110
+ ],
1111
+ queryParameters: [
1112
+ {
1113
+ 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.",
1114
+ in: "query",
1115
+ name: "response_format",
1116
+ required: false,
1117
+ schema: {
1118
+ default: "GET_RSP_FORMAT_DEFAULT",
1119
+ enum: [
1120
+ "GET_RSP_FORMAT_DEFAULT",
1121
+ "GET_RSP_FORMAT_FOR_CREATE",
1122
+ "GET_RSP_FORMAT_FOR_REPLACE",
1123
+ "GET_RSP_FORMAT_STATUS",
1124
+ "GET_RSP_FORMAT_READ",
1125
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1126
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1127
+ ],
1128
+ type: "string",
1129
+ },
1130
+ "x-displayname": "Broken Referred Objects.",
1131
+ },
1132
+ ],
1133
+ requestBodySchema: null,
1134
+ responseSchema: {
1135
+ $ref: "#/components/schemas/workload_flavorGetResponse",
1136
+ },
1137
+ requiredParams: ["name", "namespace"],
1138
+ operationId: "ves.io.schema.workload_flavor.API.Get",
1139
+ tags: ["Other"],
1140
+ sourceFile: "domains/container_services.json",
1141
+ displayName: null,
1142
+ dangerLevel: "low",
1143
+ sideEffects: null,
1144
+ requiredFields: ["path.name", "path.namespace"],
1145
+ confirmationRequired: false,
1146
+ parameterExamples: {
1147
+ name: "Name",
1148
+ namespace: "Ns1",
1149
+ },
1150
+ validationRules: {},
1151
+ operationMetadata: {
1152
+ common_errors: [
1153
+ {
1154
+ code: 401,
1155
+ message: "Authentication required",
1156
+ solution: "Provide valid API credentials",
1157
+ },
1158
+ {
1159
+ code: 403,
1160
+ message: "Permission denied",
1161
+ solution: "Check access permissions for this operation",
1162
+ },
1163
+ {
1164
+ code: 404,
1165
+ message: "Resource not found",
1166
+ solution: "Verify resource name, namespace, and path",
1167
+ },
1168
+ {
1169
+ code: 409,
1170
+ message: "Resource already exists",
1171
+ solution: "Use different name or update existing resource",
1172
+ },
1173
+ {
1174
+ code: 429,
1175
+ message: "Rate limit exceeded",
1176
+ solution: "Wait before retrying the operation",
1177
+ },
1178
+ {
1179
+ code: 500,
1180
+ message: "Server error",
1181
+ solution: "Retry operation or contact support",
1182
+ },
1183
+ ],
1184
+ conditions: {
1185
+ postconditions: [],
1186
+ prerequisites: ["Active namespace"],
1187
+ },
1188
+ confirmation_required: false,
1189
+ danger_level: "low",
1190
+ field_docs: {},
1191
+ optional_fields: [],
1192
+ performance_impact: {
1193
+ latency: "low",
1194
+ resource_usage: "low",
1195
+ },
1196
+ purpose: "Retrieve specific workload-flavor",
1197
+ required_fields: ["path.name", "path.namespace"],
1198
+ side_effects: {},
1199
+ },
1200
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workload_flavors" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1201
+ },
1202
+ {
1203
+ toolName: "f5xc-api-containerservices-workload-flavor-list",
1204
+ method: "GET",
1205
+ path: "/api/config/namespaces/{namespace}/workload_flavors",
1206
+ operation: "list",
1207
+ domain: "container_services",
1208
+ resource: "workload-flavor",
1209
+ summary: "List Workload Flavor.",
1210
+ description: "List the set of workload_flavor in a namespace.",
1211
+ pathParameters: [
1212
+ {
1213
+ description: "Namespace\nNamespace to scope the listing of workload_flavor.",
1214
+ in: "path",
1215
+ name: "namespace",
1216
+ required: true,
1217
+ schema: {
1218
+ type: "string",
1219
+ },
1220
+ "x-displayname": "Namespace",
1221
+ "x-ves-example": "Ns1",
1222
+ },
1223
+ ],
1224
+ queryParameters: [
1225
+ {
1226
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1227
+ in: "query",
1228
+ name: "label_filter",
1229
+ required: false,
1230
+ schema: {
1231
+ type: "string",
1232
+ },
1233
+ "x-displayname": "Label Filter.",
1234
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1235
+ },
1236
+ {
1237
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1238
+ in: "query",
1239
+ name: "report_fields",
1240
+ required: false,
1241
+ schema: {
1242
+ items: {
1243
+ type: "string",
1244
+ },
1245
+ type: "array",
1246
+ },
1247
+ "x-displayname": "Report Fields.",
1248
+ },
1249
+ {
1250
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1251
+ in: "query",
1252
+ name: "report_status_fields",
1253
+ required: false,
1254
+ schema: {
1255
+ items: {
1256
+ type: "string",
1257
+ },
1258
+ type: "array",
1259
+ },
1260
+ "x-displayname": "Report Status Fields.",
1261
+ },
1262
+ ],
1263
+ requestBodySchema: null,
1264
+ responseSchema: {
1265
+ $ref: "#/components/schemas/workload_flavorListResponse",
1266
+ },
1267
+ requiredParams: ["namespace"],
1268
+ operationId: "ves.io.schema.workload_flavor.API.List",
1269
+ tags: ["Other"],
1270
+ sourceFile: "domains/container_services.json",
1271
+ displayName: null,
1272
+ dangerLevel: "low",
1273
+ sideEffects: null,
1274
+ requiredFields: ["path.namespace"],
1275
+ confirmationRequired: false,
1276
+ parameterExamples: {
1277
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1278
+ namespace: "Ns1",
1279
+ },
1280
+ validationRules: {},
1281
+ operationMetadata: {
1282
+ common_errors: [
1283
+ {
1284
+ code: 401,
1285
+ message: "Authentication required",
1286
+ solution: "Provide valid API credentials",
1287
+ },
1288
+ {
1289
+ code: 403,
1290
+ message: "Permission denied",
1291
+ solution: "Check access permissions for this operation",
1292
+ },
1293
+ {
1294
+ code: 404,
1295
+ message: "Resource not found",
1296
+ solution: "Verify resource name, namespace, and path",
1297
+ },
1298
+ {
1299
+ code: 409,
1300
+ message: "Resource already exists",
1301
+ solution: "Use different name or update existing resource",
1302
+ },
1303
+ {
1304
+ code: 429,
1305
+ message: "Rate limit exceeded",
1306
+ solution: "Wait before retrying the operation",
1307
+ },
1308
+ {
1309
+ code: 500,
1310
+ message: "Server error",
1311
+ solution: "Retry operation or contact support",
1312
+ },
1313
+ ],
1314
+ conditions: {
1315
+ postconditions: [],
1316
+ prerequisites: ["Active namespace"],
1317
+ },
1318
+ confirmation_required: false,
1319
+ danger_level: "low",
1320
+ field_docs: {},
1321
+ optional_fields: [],
1322
+ performance_impact: {
1323
+ latency: "moderate",
1324
+ resource_usage: "moderate",
1325
+ },
1326
+ purpose: "List all workload-flavors",
1327
+ required_fields: ["path.namespace"],
1328
+ side_effects: {},
1329
+ },
1330
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workload_flavors" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1331
+ },
1332
+ {
1333
+ toolName: "f5xc-api-containerservices-workload-flavor-update",
1334
+ method: "PUT",
1335
+ path: "/api/config/namespaces/{metadata.namespace}/workload_flavors/{metadata.name}",
1336
+ operation: "update",
1337
+ domain: "container_services",
1338
+ resource: "workload-flavor",
1339
+ summary: "Replace Flavor.",
1340
+ description: "Replace a K8s workload_flavor.",
1341
+ pathParameters: [
1342
+ {
1343
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1344
+ in: "path",
1345
+ name: "metadata.name",
1346
+ required: true,
1347
+ schema: {
1348
+ type: "string",
1349
+ },
1350
+ "x-displayname": "Name",
1351
+ "x-ves-example": "Example-corp-web.",
1352
+ },
1353
+ {
1354
+ 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 ""',
1355
+ in: "path",
1356
+ name: "metadata.namespace",
1357
+ required: true,
1358
+ schema: {
1359
+ type: "string",
1360
+ },
1361
+ "x-displayname": "Namespace",
1362
+ "x-ves-example": "Staging",
1363
+ },
1364
+ ],
1365
+ queryParameters: [],
1366
+ requestBodySchema: {
1367
+ $ref: "#/components/schemas/workload_flavorReplaceRequest",
1368
+ },
1369
+ responseSchema: {
1370
+ $ref: "#/components/schemas/workload_flavorReplaceResponse",
1371
+ },
1372
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1373
+ operationId: "ves.io.schema.workload_flavor.API.Replace",
1374
+ tags: ["Other"],
1375
+ sourceFile: "domains/container_services.json",
1376
+ displayName: null,
1377
+ dangerLevel: "medium",
1378
+ sideEffects: {
1379
+ modifies: ["workload-flavor"],
1380
+ },
1381
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1382
+ confirmationRequired: false,
1383
+ parameterExamples: {
1384
+ "metadata.name": "Example-corp-web.",
1385
+ "metadata.namespace": "Staging",
1386
+ },
1387
+ validationRules: {},
1388
+ operationMetadata: {
1389
+ common_errors: [
1390
+ {
1391
+ code: 401,
1392
+ message: "Authentication required",
1393
+ solution: "Provide valid API credentials",
1394
+ },
1395
+ {
1396
+ code: 403,
1397
+ message: "Permission denied",
1398
+ solution: "Check access permissions for this operation",
1399
+ },
1400
+ {
1401
+ code: 404,
1402
+ message: "Resource not found",
1403
+ solution: "Verify resource name, namespace, and path",
1404
+ },
1405
+ {
1406
+ code: 409,
1407
+ message: "Resource already exists",
1408
+ solution: "Use different name or update existing resource",
1409
+ },
1410
+ {
1411
+ code: 429,
1412
+ message: "Rate limit exceeded",
1413
+ solution: "Wait before retrying the operation",
1414
+ },
1415
+ {
1416
+ code: 500,
1417
+ message: "Server error",
1418
+ solution: "Retry operation or contact support",
1419
+ },
1420
+ ],
1421
+ conditions: {
1422
+ postconditions: ["Resource updated with new values"],
1423
+ prerequisites: ["Active namespace"],
1424
+ },
1425
+ confirmation_required: false,
1426
+ danger_level: "medium",
1427
+ field_docs: {},
1428
+ optional_fields: [],
1429
+ performance_impact: {
1430
+ latency: "low",
1431
+ resource_usage: "low",
1432
+ },
1433
+ purpose: "Replace existing workload-flavor",
1434
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
1435
+ side_effects: {
1436
+ modifies: ["workload-flavor"],
1437
+ },
1438
+ },
1439
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workload_flavors" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1440
+ },
1441
+ {
1442
+ toolName: "f5xc-api-containerservices-workload-get",
1443
+ method: "GET",
1444
+ path: "/api/config/namespaces/{namespace}/workloads/{name}",
1445
+ operation: "get",
1446
+ domain: "container_services",
1447
+ resource: "workload",
1448
+ summary: "GET Workload.",
1449
+ description: "Shape of Workload.",
1450
+ pathParameters: [
1451
+ {
1452
+ description: "Name\nThe name of the configuration object to be fetched.",
1453
+ in: "path",
1454
+ name: "name",
1455
+ required: true,
1456
+ schema: {
1457
+ type: "string",
1458
+ },
1459
+ "x-displayname": "Name",
1460
+ "x-ves-example": "Name",
1461
+ },
1462
+ {
1463
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1464
+ in: "path",
1465
+ name: "namespace",
1466
+ required: true,
1467
+ schema: {
1468
+ type: "string",
1469
+ },
1470
+ "x-displayname": "Namespace",
1471
+ "x-ves-example": "Ns1",
1472
+ },
1473
+ ],
1474
+ queryParameters: [
1475
+ {
1476
+ 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.",
1477
+ in: "query",
1478
+ name: "response_format",
1479
+ required: false,
1480
+ schema: {
1481
+ default: "GET_RSP_FORMAT_DEFAULT",
1482
+ enum: [
1483
+ "GET_RSP_FORMAT_DEFAULT",
1484
+ "GET_RSP_FORMAT_FOR_CREATE",
1485
+ "GET_RSP_FORMAT_FOR_REPLACE",
1486
+ "GET_RSP_FORMAT_STATUS",
1487
+ "GET_RSP_FORMAT_READ",
1488
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1489
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1490
+ ],
1491
+ type: "string",
1492
+ },
1493
+ "x-displayname": "Broken Referred Objects.",
1494
+ },
1495
+ ],
1496
+ requestBodySchema: null,
1497
+ responseSchema: {
1498
+ $ref: "#/components/schemas/workloadGetResponse",
1499
+ },
1500
+ requiredParams: ["name", "namespace"],
1501
+ operationId: "ves.io.schema.views.workload.API.Get",
1502
+ tags: ["Other"],
1503
+ sourceFile: "domains/container_services.json",
1504
+ displayName: null,
1505
+ dangerLevel: "low",
1506
+ sideEffects: null,
1507
+ requiredFields: ["path.name", "path.namespace"],
1508
+ confirmationRequired: false,
1509
+ parameterExamples: {
1510
+ name: "Name",
1511
+ namespace: "Ns1",
1512
+ },
1513
+ validationRules: {},
1514
+ operationMetadata: {
1515
+ common_errors: [
1516
+ {
1517
+ code: 401,
1518
+ message: "Authentication required",
1519
+ solution: "Provide valid API credentials",
1520
+ },
1521
+ {
1522
+ code: 403,
1523
+ message: "Permission denied",
1524
+ solution: "Check access permissions for this operation",
1525
+ },
1526
+ {
1527
+ code: 404,
1528
+ message: "Resource not found",
1529
+ solution: "Verify resource name, namespace, and path",
1530
+ },
1531
+ {
1532
+ code: 409,
1533
+ message: "Resource already exists",
1534
+ solution: "Use different name or update existing resource",
1535
+ },
1536
+ {
1537
+ code: 429,
1538
+ message: "Rate limit exceeded",
1539
+ solution: "Wait before retrying the operation",
1540
+ },
1541
+ {
1542
+ code: 500,
1543
+ message: "Server error",
1544
+ solution: "Retry operation or contact support",
1545
+ },
1546
+ ],
1547
+ conditions: {
1548
+ postconditions: [],
1549
+ prerequisites: ["Active namespace"],
1550
+ },
1551
+ confirmation_required: false,
1552
+ danger_level: "low",
1553
+ field_docs: {},
1554
+ optional_fields: [],
1555
+ performance_impact: {
1556
+ latency: "low",
1557
+ resource_usage: "low",
1558
+ },
1559
+ purpose: "Retrieve specific workload",
1560
+ required_fields: ["path.name", "path.namespace"],
1561
+ side_effects: {},
1562
+ },
1563
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workloads" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1564
+ },
1565
+ {
1566
+ toolName: "f5xc-api-containerservices-workload-list",
1567
+ method: "GET",
1568
+ path: "/api/config/namespaces/{namespace}/workloads",
1569
+ operation: "list",
1570
+ domain: "container_services",
1571
+ resource: "workload",
1572
+ summary: "List Workload.",
1573
+ description: "List the set of workload in a namespace.",
1574
+ pathParameters: [
1575
+ {
1576
+ description: "Namespace\nNamespace to scope the listing of workload.",
1577
+ in: "path",
1578
+ name: "namespace",
1579
+ required: true,
1580
+ schema: {
1581
+ type: "string",
1582
+ },
1583
+ "x-displayname": "Namespace",
1584
+ "x-ves-example": "Ns1",
1585
+ },
1586
+ ],
1587
+ queryParameters: [
1588
+ {
1589
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1590
+ in: "query",
1591
+ name: "label_filter",
1592
+ required: false,
1593
+ schema: {
1594
+ type: "string",
1595
+ },
1596
+ "x-displayname": "Label Filter.",
1597
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1598
+ },
1599
+ {
1600
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1601
+ in: "query",
1602
+ name: "report_fields",
1603
+ required: false,
1604
+ schema: {
1605
+ items: {
1606
+ type: "string",
1607
+ },
1608
+ type: "array",
1609
+ },
1610
+ "x-displayname": "Report Fields.",
1611
+ },
1612
+ {
1613
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1614
+ in: "query",
1615
+ name: "report_status_fields",
1616
+ required: false,
1617
+ schema: {
1618
+ items: {
1619
+ type: "string",
1620
+ },
1621
+ type: "array",
1622
+ },
1623
+ "x-displayname": "Report Status Fields.",
1624
+ },
1625
+ ],
1626
+ requestBodySchema: null,
1627
+ responseSchema: {
1628
+ $ref: "#/components/schemas/workloadListResponse",
1629
+ },
1630
+ requiredParams: ["namespace"],
1631
+ operationId: "ves.io.schema.views.workload.API.List",
1632
+ tags: ["Other"],
1633
+ sourceFile: "domains/container_services.json",
1634
+ displayName: null,
1635
+ dangerLevel: "low",
1636
+ sideEffects: null,
1637
+ requiredFields: ["path.namespace"],
1638
+ confirmationRequired: false,
1639
+ parameterExamples: {
1640
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1641
+ namespace: "Ns1",
1642
+ },
1643
+ validationRules: {},
1644
+ operationMetadata: {
1645
+ common_errors: [
1646
+ {
1647
+ code: 401,
1648
+ message: "Authentication required",
1649
+ solution: "Provide valid API credentials",
1650
+ },
1651
+ {
1652
+ code: 403,
1653
+ message: "Permission denied",
1654
+ solution: "Check access permissions for this operation",
1655
+ },
1656
+ {
1657
+ code: 404,
1658
+ message: "Resource not found",
1659
+ solution: "Verify resource name, namespace, and path",
1660
+ },
1661
+ {
1662
+ code: 409,
1663
+ message: "Resource already exists",
1664
+ solution: "Use different name or update existing resource",
1665
+ },
1666
+ {
1667
+ code: 429,
1668
+ message: "Rate limit exceeded",
1669
+ solution: "Wait before retrying the operation",
1670
+ },
1671
+ {
1672
+ code: 500,
1673
+ message: "Server error",
1674
+ solution: "Retry operation or contact support",
1675
+ },
1676
+ ],
1677
+ conditions: {
1678
+ postconditions: [],
1679
+ prerequisites: ["Active namespace"],
1680
+ },
1681
+ confirmation_required: false,
1682
+ danger_level: "low",
1683
+ field_docs: {},
1684
+ optional_fields: [],
1685
+ performance_impact: {
1686
+ latency: "moderate",
1687
+ resource_usage: "moderate",
1688
+ },
1689
+ purpose: "List all workloads",
1690
+ required_fields: ["path.namespace"],
1691
+ side_effects: {},
1692
+ },
1693
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workloads" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1694
+ },
1695
+ {
1696
+ toolName: "f5xc-api-containerservices-workload-update",
1697
+ method: "PUT",
1698
+ path: "/api/config/namespaces/{metadata.namespace}/workloads/{metadata.name}",
1699
+ operation: "update",
1700
+ domain: "container_services",
1701
+ resource: "workload",
1702
+ summary: "Replace Workload.",
1703
+ description: "Shape of Workload.",
1704
+ pathParameters: [
1705
+ {
1706
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1707
+ in: "path",
1708
+ name: "metadata.name",
1709
+ required: true,
1710
+ schema: {
1711
+ type: "string",
1712
+ },
1713
+ "x-displayname": "Name",
1714
+ "x-ves-example": "Example-corp-web.",
1715
+ },
1716
+ {
1717
+ 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 ""',
1718
+ in: "path",
1719
+ name: "metadata.namespace",
1720
+ required: true,
1721
+ schema: {
1722
+ type: "string",
1723
+ },
1724
+ "x-displayname": "Namespace",
1725
+ "x-ves-example": "Staging",
1726
+ },
1727
+ ],
1728
+ queryParameters: [],
1729
+ requestBodySchema: {
1730
+ $ref: "#/components/schemas/workloadReplaceRequest",
1731
+ },
1732
+ responseSchema: {
1733
+ $ref: "#/components/schemas/workloadReplaceResponse",
1734
+ },
1735
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1736
+ operationId: "ves.io.schema.views.workload.API.Replace",
1737
+ tags: ["Other"],
1738
+ sourceFile: "domains/container_services.json",
1739
+ displayName: null,
1740
+ dangerLevel: "medium",
1741
+ sideEffects: {
1742
+ modifies: ["workload"],
1743
+ },
1744
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1745
+ confirmationRequired: false,
1746
+ parameterExamples: {
1747
+ "metadata.name": "Example-corp-web.",
1748
+ "metadata.namespace": "Staging",
1749
+ },
1750
+ validationRules: {},
1751
+ operationMetadata: {
1752
+ common_errors: [
1753
+ {
1754
+ code: 401,
1755
+ message: "Authentication required",
1756
+ solution: "Provide valid API credentials",
1757
+ },
1758
+ {
1759
+ code: 403,
1760
+ message: "Permission denied",
1761
+ solution: "Check access permissions for this operation",
1762
+ },
1763
+ {
1764
+ code: 404,
1765
+ message: "Resource not found",
1766
+ solution: "Verify resource name, namespace, and path",
1767
+ },
1768
+ {
1769
+ code: 409,
1770
+ message: "Resource already exists",
1771
+ solution: "Use different name or update existing resource",
1772
+ },
1773
+ {
1774
+ code: 429,
1775
+ message: "Rate limit exceeded",
1776
+ solution: "Wait before retrying the operation",
1777
+ },
1778
+ {
1779
+ code: 500,
1780
+ message: "Server error",
1781
+ solution: "Retry operation or contact support",
1782
+ },
1783
+ ],
1784
+ conditions: {
1785
+ postconditions: ["Resource updated with new values"],
1786
+ prerequisites: ["Active namespace"],
1787
+ },
1788
+ confirmation_required: false,
1789
+ danger_level: "medium",
1790
+ field_docs: {},
1791
+ optional_fields: [],
1792
+ performance_impact: {
1793
+ latency: "low",
1794
+ resource_usage: "low",
1795
+ },
1796
+ purpose: "Replace existing workload",
1797
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
1798
+ side_effects: {
1799
+ modifies: ["workload"],
1800
+ },
1801
+ },
1802
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/workloads" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1803
+ },
1804
+ ];
1805
+ export default container_servicesTools;
1806
+ //# sourceMappingURL=index.js.map