@robinmordasiewicz/f5xc-api-mcp 3.3.1 → 3.4.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 (235) hide show
  1. package/dist/generator/openapi-parser.d.ts +418 -0
  2. package/dist/generator/openapi-parser.d.ts.map +1 -1
  3. package/dist/generator/openapi-parser.js +132 -0
  4. package/dist/generator/openapi-parser.js.map +1 -1
  5. package/dist/generator/tool-generator.d.ts +29 -1
  6. package/dist/generator/tool-generator.d.ts.map +1 -1
  7. package/dist/generator/tool-generator.js +150 -7
  8. package/dist/generator/tool-generator.js.map +1 -1
  9. package/dist/tools/discovery/describe.d.ts +1 -0
  10. package/dist/tools/discovery/describe.d.ts.map +1 -1
  11. package/dist/tools/discovery/describe.js +10 -8
  12. package/dist/tools/discovery/describe.js.map +1 -1
  13. package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
  14. package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
  15. package/dist/tools/generated/admin_console_and_ui/index.js +285 -0
  16. package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
  17. package/dist/tools/generated/api/index.d.ts +8 -0
  18. package/dist/tools/generated/{vpn → api}/index.d.ts.map +1 -1
  19. package/dist/tools/generated/api/index.js +6668 -0
  20. package/dist/tools/generated/api/index.js.map +1 -0
  21. package/dist/tools/generated/authentication/index.d.ts +8 -0
  22. package/dist/tools/generated/authentication/index.d.ts.map +1 -0
  23. package/dist/tools/generated/authentication/index.js +1005 -0
  24. package/dist/tools/generated/authentication/index.js.map +1 -0
  25. package/dist/tools/generated/bigip/index.d.ts.map +1 -1
  26. package/dist/tools/generated/bigip/index.js +2045 -0
  27. package/dist/tools/generated/bigip/index.js.map +1 -1
  28. package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
  29. package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
  30. package/dist/tools/generated/billing_and_usage/index.js +2702 -0
  31. package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
  32. package/dist/tools/generated/blindfold/index.d.ts +8 -0
  33. package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
  34. package/dist/tools/generated/blindfold/index.js +3998 -0
  35. package/dist/tools/generated/blindfold/index.js.map +1 -0
  36. package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
  37. package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
  38. package/dist/tools/generated/bot_and_threat_defense/index.js +2584 -0
  39. package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
  40. package/dist/tools/generated/cdn/index.d.ts.map +1 -1
  41. package/dist/tools/generated/cdn/index.js +1904 -0
  42. package/dist/tools/generated/cdn/index.js.map +1 -1
  43. package/dist/tools/generated/ce_management/index.d.ts +8 -0
  44. package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
  45. package/dist/tools/generated/ce_management/index.js +3963 -0
  46. package/dist/tools/generated/ce_management/index.js.map +1 -0
  47. package/dist/tools/generated/certificates/index.d.ts +8 -0
  48. package/dist/tools/generated/certificates/index.d.ts.map +1 -0
  49. package/dist/tools/generated/certificates/index.js +2579 -0
  50. package/dist/tools/generated/certificates/index.js.map +1 -0
  51. package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
  52. package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
  53. package/dist/tools/generated/cloud_infrastructure/index.js +4124 -0
  54. package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
  55. package/dist/tools/generated/container_services/index.d.ts +8 -0
  56. package/dist/tools/generated/container_services/index.d.ts.map +1 -0
  57. package/dist/tools/generated/container_services/index.js +2054 -0
  58. package/dist/tools/generated/container_services/index.js.map +1 -0
  59. package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
  60. package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
  61. package/dist/tools/generated/data_and_privacy_security/index.js +1708 -0
  62. package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
  63. package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
  64. package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
  65. package/dist/tools/generated/data_intelligence/index.js +1770 -0
  66. package/dist/tools/generated/data_intelligence/index.js.map +1 -0
  67. package/dist/tools/generated/ddos/index.d.ts +8 -0
  68. package/dist/tools/generated/ddos/index.d.ts.map +1 -0
  69. package/dist/tools/generated/ddos/index.js +8511 -0
  70. package/dist/tools/generated/ddos/index.js.map +1 -0
  71. package/dist/tools/generated/dns/index.d.ts +8 -0
  72. package/dist/tools/generated/dns/index.d.ts.map +1 -0
  73. package/dist/tools/generated/dns/index.js +6460 -0
  74. package/dist/tools/generated/dns/index.js.map +1 -0
  75. package/dist/tools/generated/generative_ai/index.d.ts +8 -0
  76. package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
  77. package/dist/tools/generated/generative_ai/index.js +1215 -0
  78. package/dist/tools/generated/generative_ai/index.js.map +1 -0
  79. package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
  80. package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
  81. package/dist/tools/generated/managed_kubernetes/index.js +3233 -0
  82. package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
  83. package/dist/tools/generated/marketplace/index.d.ts +8 -0
  84. package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
  85. package/dist/tools/generated/marketplace/index.js +4580 -0
  86. package/dist/tools/generated/marketplace/index.js.map +1 -0
  87. package/dist/tools/generated/network/index.d.ts +8 -0
  88. package/dist/tools/generated/network/index.d.ts.map +1 -0
  89. package/dist/tools/generated/network/index.js +12616 -0
  90. package/dist/tools/generated/network/index.js.map +1 -0
  91. package/dist/tools/generated/network_security/index.d.ts +8 -0
  92. package/dist/tools/generated/network_security/index.d.ts.map +1 -0
  93. package/dist/tools/generated/network_security/index.js +8884 -0
  94. package/dist/tools/generated/network_security/index.js.map +1 -0
  95. package/dist/tools/generated/nginx_one/index.d.ts +8 -0
  96. package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
  97. package/dist/tools/generated/nginx_one/index.js +1820 -0
  98. package/dist/tools/generated/nginx_one/index.js.map +1 -0
  99. package/dist/tools/generated/object_storage/index.d.ts +8 -0
  100. package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
  101. package/dist/tools/generated/object_storage/index.js +1055 -0
  102. package/dist/tools/generated/object_storage/index.js.map +1 -0
  103. package/dist/tools/generated/observability/index.d.ts.map +1 -1
  104. package/dist/tools/generated/observability/index.js +4243 -4618
  105. package/dist/tools/generated/observability/index.js.map +1 -1
  106. package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
  107. package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
  108. package/dist/tools/generated/rate_limiting/index.js +1937 -0
  109. package/dist/tools/generated/rate_limiting/index.js.map +1 -0
  110. package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
  111. package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
  112. package/dist/tools/generated/secops_and_incident_response/index.js +653 -0
  113. package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
  114. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -1
  115. package/dist/tools/generated/service_mesh/index.js +4532 -438
  116. package/dist/tools/generated/service_mesh/index.js.map +1 -1
  117. package/dist/tools/generated/shape/index.d.ts +8 -0
  118. package/dist/tools/generated/shape/index.d.ts.map +1 -0
  119. package/dist/tools/generated/shape/index.js +21784 -0
  120. package/dist/tools/generated/shape/index.js.map +1 -0
  121. package/dist/tools/generated/sites/index.d.ts +8 -0
  122. package/dist/tools/generated/sites/index.d.ts.map +1 -0
  123. package/dist/tools/generated/sites/index.js +13252 -0
  124. package/dist/tools/generated/sites/index.js.map +1 -0
  125. package/dist/tools/generated/statistics/index.d.ts +8 -0
  126. package/dist/tools/generated/statistics/index.d.ts.map +1 -0
  127. package/dist/tools/generated/statistics/index.js +8837 -0
  128. package/dist/tools/generated/statistics/index.js.map +1 -0
  129. package/dist/tools/generated/support/index.d.ts +8 -0
  130. package/dist/tools/generated/support/index.d.ts.map +1 -0
  131. package/dist/tools/generated/support/index.js +6215 -0
  132. package/dist/tools/generated/support/index.js.map +1 -0
  133. package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
  134. package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
  135. package/dist/tools/generated/telemetry_and_insights/index.js +2773 -0
  136. package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
  137. package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
  138. package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
  139. package/dist/tools/generated/tenant_and_identity/index.js +20456 -0
  140. package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
  141. package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
  142. package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
  143. package/dist/tools/generated/threat_campaign/index.js +112 -0
  144. package/dist/tools/generated/threat_campaign/index.js.map +1 -0
  145. package/dist/tools/generated/users/index.d.ts +8 -0
  146. package/dist/tools/generated/users/index.d.ts.map +1 -0
  147. package/dist/tools/generated/users/index.js +1572 -0
  148. package/dist/tools/generated/users/index.js.map +1 -0
  149. package/dist/tools/generated/virtual/index.d.ts +8 -0
  150. package/dist/tools/generated/virtual/index.d.ts.map +1 -0
  151. package/dist/tools/generated/virtual/index.js +11540 -0
  152. package/dist/tools/generated/virtual/index.js.map +1 -0
  153. package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
  154. package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
  155. package/dist/tools/generated/vpm_and_node_management/index.js +98 -0
  156. package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
  157. package/dist/tools/generated/waf/index.d.ts +8 -0
  158. package/dist/tools/generated/waf/index.d.ts.map +1 -0
  159. package/dist/tools/generated/waf/index.js +4440 -0
  160. package/dist/tools/generated/waf/index.js.map +1 -0
  161. package/dist/tools/registry.d.ts.map +1 -1
  162. package/dist/tools/registry.js +68 -36
  163. package/dist/tools/registry.js.map +1 -1
  164. package/package.json +3 -1
  165. package/dist/tools/generated/ai_intelligence/index.d.ts +0 -8
  166. package/dist/tools/generated/ai_intelligence/index.d.ts.map +0 -1
  167. package/dist/tools/generated/ai_intelligence/index.js +0 -282
  168. package/dist/tools/generated/ai_intelligence/index.js.map +0 -1
  169. package/dist/tools/generated/api_security/index.d.ts +0 -8
  170. package/dist/tools/generated/api_security/index.d.ts.map +0 -1
  171. package/dist/tools/generated/api_security/index.js +0 -1852
  172. package/dist/tools/generated/api_security/index.js.map +0 -1
  173. package/dist/tools/generated/applications/index.d.ts +0 -8
  174. package/dist/tools/generated/applications/index.d.ts.map +0 -1
  175. package/dist/tools/generated/applications/index.js +0 -1589
  176. package/dist/tools/generated/applications/index.js.map +0 -1
  177. package/dist/tools/generated/billing/index.d.ts +0 -8
  178. package/dist/tools/generated/billing/index.d.ts.map +0 -1
  179. package/dist/tools/generated/billing/index.js +0 -759
  180. package/dist/tools/generated/billing/index.js.map +0 -1
  181. package/dist/tools/generated/config/index.d.ts +0 -8
  182. package/dist/tools/generated/config/index.d.ts.map +0 -1
  183. package/dist/tools/generated/config/index.js +0 -316
  184. package/dist/tools/generated/config/index.js.map +0 -1
  185. package/dist/tools/generated/identity/index.d.ts +0 -8
  186. package/dist/tools/generated/identity/index.d.ts.map +0 -1
  187. package/dist/tools/generated/identity/index.js +0 -5371
  188. package/dist/tools/generated/identity/index.js.map +0 -1
  189. package/dist/tools/generated/infrastructure/index.d.ts +0 -8
  190. package/dist/tools/generated/infrastructure/index.d.ts.map +0 -1
  191. package/dist/tools/generated/infrastructure/index.js +0 -5342
  192. package/dist/tools/generated/infrastructure/index.js.map +0 -1
  193. package/dist/tools/generated/infrastructure_protection/index.d.ts +0 -8
  194. package/dist/tools/generated/infrastructure_protection/index.d.ts.map +0 -1
  195. package/dist/tools/generated/infrastructure_protection/index.js +0 -2919
  196. package/dist/tools/generated/infrastructure_protection/index.js.map +0 -1
  197. package/dist/tools/generated/integrations/index.d.ts +0 -8
  198. package/dist/tools/generated/integrations/index.d.ts.map +0 -1
  199. package/dist/tools/generated/integrations/index.js +0 -1995
  200. package/dist/tools/generated/integrations/index.js.map +0 -1
  201. package/dist/tools/generated/load_balancer/index.d.ts +0 -8
  202. package/dist/tools/generated/load_balancer/index.d.ts.map +0 -1
  203. package/dist/tools/generated/load_balancer/index.js +0 -2269
  204. package/dist/tools/generated/load_balancer/index.js.map +0 -1
  205. package/dist/tools/generated/networking/index.d.ts +0 -8
  206. package/dist/tools/generated/networking/index.d.ts.map +0 -1
  207. package/dist/tools/generated/networking/index.js +0 -11289
  208. package/dist/tools/generated/networking/index.js.map +0 -1
  209. package/dist/tools/generated/nginx/index.d.ts +0 -8
  210. package/dist/tools/generated/nginx/index.d.ts.map +0 -1
  211. package/dist/tools/generated/nginx/index.js +0 -680
  212. package/dist/tools/generated/nginx/index.js.map +0 -1
  213. package/dist/tools/generated/operations/index.d.ts +0 -8
  214. package/dist/tools/generated/operations/index.d.ts.map +0 -1
  215. package/dist/tools/generated/operations/index.js +0 -1759
  216. package/dist/tools/generated/operations/index.js.map +0 -1
  217. package/dist/tools/generated/security/index.d.ts +0 -8
  218. package/dist/tools/generated/security/index.d.ts.map +0 -1
  219. package/dist/tools/generated/security/index.js +0 -9111
  220. package/dist/tools/generated/security/index.js.map +0 -1
  221. package/dist/tools/generated/shape_security/index.d.ts +0 -8
  222. package/dist/tools/generated/shape_security/index.d.ts.map +0 -1
  223. package/dist/tools/generated/shape_security/index.js +0 -4121
  224. package/dist/tools/generated/shape_security/index.js.map +0 -1
  225. package/dist/tools/generated/subscriptions/index.d.ts +0 -8
  226. package/dist/tools/generated/subscriptions/index.d.ts.map +0 -1
  227. package/dist/tools/generated/subscriptions/index.js +0 -778
  228. package/dist/tools/generated/subscriptions/index.js.map +0 -1
  229. package/dist/tools/generated/tenant_management/index.d.ts +0 -8
  230. package/dist/tools/generated/tenant_management/index.d.ts.map +0 -1
  231. package/dist/tools/generated/tenant_management/index.js +0 -2292
  232. package/dist/tools/generated/tenant_management/index.js.map +0 -1
  233. package/dist/tools/generated/vpn/index.d.ts +0 -8
  234. package/dist/tools/generated/vpn/index.js +0 -1183
  235. package/dist/tools/generated/vpn/index.js.map +0 -1
@@ -0,0 +1,2054 @@
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
+ cliExamples: [
46
+ {
47
+ command: "f5xcctl data usage create -f {file}.yaml",
48
+ description: "Create from YAML file",
49
+ use_case: "file_based",
50
+ },
51
+ {
52
+ command: "f5xcctl data usage create {name} --namespace {namespace}",
53
+ description: "Create usage",
54
+ use_case: "basic_create",
55
+ },
56
+ ],
57
+ confirmationRequired: false,
58
+ parameterExamples: {
59
+ namespace: "Ns1",
60
+ },
61
+ validationRules: {},
62
+ operationMetadata: {
63
+ common_errors: [
64
+ {
65
+ code: 401,
66
+ message: "Authentication required",
67
+ solution: "Provide valid API credentials",
68
+ },
69
+ {
70
+ code: 403,
71
+ message: "Permission denied",
72
+ solution: "Check access permissions for this operation",
73
+ },
74
+ {
75
+ code: 404,
76
+ message: "Resource not found",
77
+ solution: "Verify resource name, namespace, and path",
78
+ },
79
+ {
80
+ code: 409,
81
+ message: "Resource already exists",
82
+ solution: "Use different name or update existing resource",
83
+ },
84
+ {
85
+ code: 429,
86
+ message: "Rate limit exceeded",
87
+ solution: "Wait before retrying the operation",
88
+ },
89
+ {
90
+ code: 500,
91
+ message: "Server error",
92
+ solution: "Retry operation or contact support",
93
+ },
94
+ ],
95
+ conditions: {
96
+ postconditions: ["Usage resource created", "Resource assigned unique identifier"],
97
+ prerequisites: ["Active namespace"],
98
+ },
99
+ confirmation_required: false,
100
+ danger_level: "medium",
101
+ examples: [
102
+ {
103
+ command: "f5xcctl data usage create {name} --namespace {namespace}",
104
+ description: "Create usage",
105
+ use_case: "basic_create",
106
+ },
107
+ {
108
+ command: "f5xcctl data usage create -f {file}.yaml",
109
+ description: "Create from YAML file",
110
+ use_case: "file_based",
111
+ },
112
+ ],
113
+ field_docs: {},
114
+ optional_fields: [],
115
+ performance_impact: {
116
+ latency: "low",
117
+ resource_usage: "low",
118
+ },
119
+ purpose: "Create new usage",
120
+ required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
121
+ side_effects: {
122
+ creates: ["usage"],
123
+ },
124
+ },
125
+ },
126
+ {
127
+ toolName: "f5xc-api-containerservices-virtual-k8s-create",
128
+ method: "POST",
129
+ path: "/api/config/namespaces/{metadata.namespace}/virtual_k8ss",
130
+ operation: "create",
131
+ domain: "container_services",
132
+ resource: "virtual-k8s",
133
+ summary: "Create Virtual Kubernetes.",
134
+ description: "Create virtual_k8s will create the object in the storage backend for namespace metadata.namespace.",
135
+ pathParameters: [
136
+ {
137
+ 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 ""',
138
+ in: "path",
139
+ name: "metadata.namespace",
140
+ required: true,
141
+ schema: {
142
+ type: "string",
143
+ },
144
+ "x-displayname": "Namespace",
145
+ "x-ves-example": "Staging",
146
+ },
147
+ ],
148
+ queryParameters: [],
149
+ requestBodySchema: {
150
+ $ref: "#/components/schemas/virtual_k8sCreateRequest",
151
+ },
152
+ responseSchema: {
153
+ $ref: "#/components/schemas/virtual_k8sCreateResponse",
154
+ },
155
+ requiredParams: ["body", "metadata.namespace"],
156
+ operationId: "ves.io.schema.virtual_k8s.API.Create",
157
+ tags: ["Other"],
158
+ sourceFile: "domains/container_services.json",
159
+ displayName: null,
160
+ dangerLevel: "medium",
161
+ sideEffects: {
162
+ creates: ["virtual-k8s"],
163
+ },
164
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
165
+ cliExamples: [
166
+ {
167
+ command: "f5xcctl config virtual-k8s create -f {file}.yaml",
168
+ description: "Create from YAML file",
169
+ use_case: "file_based",
170
+ },
171
+ {
172
+ command: "f5xcctl config virtual-k8s create {name} --namespace {namespace}",
173
+ description: "Create virtual-k8s",
174
+ use_case: "basic_create",
175
+ },
176
+ ],
177
+ confirmationRequired: false,
178
+ parameterExamples: {
179
+ "metadata.namespace": "Staging",
180
+ },
181
+ validationRules: {},
182
+ operationMetadata: {
183
+ common_errors: [
184
+ {
185
+ code: 401,
186
+ message: "Authentication required",
187
+ solution: "Provide valid API credentials",
188
+ },
189
+ {
190
+ code: 403,
191
+ message: "Permission denied",
192
+ solution: "Check access permissions for this operation",
193
+ },
194
+ {
195
+ code: 404,
196
+ message: "Resource not found",
197
+ solution: "Verify resource name, namespace, and path",
198
+ },
199
+ {
200
+ code: 409,
201
+ message: "Resource already exists",
202
+ solution: "Use different name or update existing resource",
203
+ },
204
+ {
205
+ code: 429,
206
+ message: "Rate limit exceeded",
207
+ solution: "Wait before retrying the operation",
208
+ },
209
+ {
210
+ code: 500,
211
+ message: "Server error",
212
+ solution: "Retry operation or contact support",
213
+ },
214
+ ],
215
+ conditions: {
216
+ postconditions: ["Virtual-k8s resource created", "Resource assigned unique identifier"],
217
+ prerequisites: ["Active namespace"],
218
+ },
219
+ confirmation_required: false,
220
+ danger_level: "medium",
221
+ examples: [
222
+ {
223
+ command: "f5xcctl config virtual-k8s create {name} --namespace {namespace}",
224
+ description: "Create virtual-k8s",
225
+ use_case: "basic_create",
226
+ },
227
+ {
228
+ command: "f5xcctl config virtual-k8s create -f {file}.yaml",
229
+ description: "Create from YAML file",
230
+ use_case: "file_based",
231
+ },
232
+ ],
233
+ field_docs: {},
234
+ optional_fields: [],
235
+ performance_impact: {
236
+ latency: "low",
237
+ resource_usage: "low",
238
+ },
239
+ purpose: "Create new virtual-k8s",
240
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
241
+ side_effects: {
242
+ creates: ["virtual-k8s"],
243
+ },
244
+ },
245
+ },
246
+ {
247
+ toolName: "f5xc-api-containerservices-virtual-k8s-delete",
248
+ method: "DELETE",
249
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss/{name}",
250
+ operation: "delete",
251
+ domain: "container_services",
252
+ resource: "virtual-k8s",
253
+ summary: "DELETE Virtual Kubernetes.",
254
+ description: "DELETE the specified virtual_k8s.",
255
+ pathParameters: [
256
+ {
257
+ description: "Name\nName of the configuration object.",
258
+ in: "path",
259
+ name: "name",
260
+ required: true,
261
+ schema: {
262
+ type: "string",
263
+ },
264
+ "x-displayname": "Name",
265
+ "x-ves-example": "Name",
266
+ },
267
+ {
268
+ description: "Namespace\nNamespace in which the configuration object is present.",
269
+ in: "path",
270
+ name: "namespace",
271
+ required: true,
272
+ schema: {
273
+ type: "string",
274
+ },
275
+ "x-displayname": "Namespace",
276
+ "x-ves-example": "Ns1",
277
+ },
278
+ ],
279
+ queryParameters: [],
280
+ requestBodySchema: {
281
+ $ref: "#/components/schemas/virtual_k8sDeleteRequest",
282
+ },
283
+ responseSchema: {},
284
+ requiredParams: ["body", "name", "namespace"],
285
+ operationId: "ves.io.schema.virtual_k8s.API.Delete",
286
+ tags: ["Other"],
287
+ sourceFile: "domains/container_services.json",
288
+ displayName: null,
289
+ dangerLevel: "high",
290
+ sideEffects: {
291
+ deletes: ["virtual-k8s", "contained_resources"],
292
+ },
293
+ requiredFields: ["path.name", "path.namespace"],
294
+ cliExamples: [
295
+ {
296
+ command: "f5xcctl config virtual-k8s delete {name} --namespace {namespace}",
297
+ description: "Delete virtual-k8s",
298
+ use_case: "delete",
299
+ },
300
+ ],
301
+ confirmationRequired: true,
302
+ parameterExamples: {
303
+ name: "Name",
304
+ namespace: "Ns1",
305
+ },
306
+ validationRules: {},
307
+ operationMetadata: {
308
+ common_errors: [
309
+ {
310
+ code: 401,
311
+ message: "Authentication required",
312
+ solution: "Provide valid API credentials",
313
+ },
314
+ {
315
+ code: 403,
316
+ message: "Permission denied",
317
+ solution: "Check access permissions for this operation",
318
+ },
319
+ {
320
+ code: 404,
321
+ message: "Resource not found",
322
+ solution: "Verify resource name, namespace, and path",
323
+ },
324
+ {
325
+ code: 409,
326
+ message: "Resource already exists",
327
+ solution: "Use different name or update existing resource",
328
+ },
329
+ {
330
+ code: 429,
331
+ message: "Rate limit exceeded",
332
+ solution: "Wait before retrying the operation",
333
+ },
334
+ {
335
+ code: 500,
336
+ message: "Server error",
337
+ solution: "Retry operation or contact support",
338
+ },
339
+ ],
340
+ conditions: {
341
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
342
+ prerequisites: ["Active namespace"],
343
+ },
344
+ confirmation_required: true,
345
+ danger_level: "high",
346
+ examples: [
347
+ {
348
+ command: "f5xcctl config virtual-k8s delete {name} --namespace {namespace}",
349
+ description: "Delete virtual-k8s",
350
+ use_case: "delete",
351
+ },
352
+ ],
353
+ field_docs: {},
354
+ optional_fields: [],
355
+ performance_impact: {
356
+ latency: "high",
357
+ resource_usage: "moderate",
358
+ },
359
+ purpose: "Delete virtual-k8s",
360
+ required_fields: ["path.name", "path.namespace"],
361
+ side_effects: {
362
+ deletes: ["virtual-k8s", "contained_resources"],
363
+ },
364
+ },
365
+ },
366
+ {
367
+ toolName: "f5xc-api-containerservices-virtual-k8s-get",
368
+ method: "GET",
369
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss/{name}",
370
+ operation: "get",
371
+ domain: "container_services",
372
+ resource: "virtual-k8s",
373
+ summary: "GET Virtual Kubernetes.",
374
+ description: "GET virtual_k8s will GET the object from the storage backend for namesapce metadata.namespace.",
375
+ pathParameters: [
376
+ {
377
+ description: "Name\nThe name of the configuration object to be fetched.",
378
+ in: "path",
379
+ name: "name",
380
+ required: true,
381
+ schema: {
382
+ type: "string",
383
+ },
384
+ "x-displayname": "Name",
385
+ "x-ves-example": "Name",
386
+ },
387
+ {
388
+ description: "Namespace\nThe namespace in which the configuration object is present.",
389
+ in: "path",
390
+ name: "namespace",
391
+ required: true,
392
+ schema: {
393
+ type: "string",
394
+ },
395
+ "x-displayname": "Namespace",
396
+ "x-ves-example": "Ns1",
397
+ },
398
+ ],
399
+ queryParameters: [
400
+ {
401
+ 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.",
402
+ in: "query",
403
+ name: "response_format",
404
+ required: false,
405
+ schema: {
406
+ default: "GET_RSP_FORMAT_DEFAULT",
407
+ enum: [
408
+ "GET_RSP_FORMAT_DEFAULT",
409
+ "GET_RSP_FORMAT_FOR_CREATE",
410
+ "GET_RSP_FORMAT_FOR_REPLACE",
411
+ "GET_RSP_FORMAT_STATUS",
412
+ "GET_RSP_FORMAT_READ",
413
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
414
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
415
+ ],
416
+ type: "string",
417
+ },
418
+ "x-displayname": "Broken Referred Objects.",
419
+ },
420
+ ],
421
+ requestBodySchema: null,
422
+ responseSchema: {
423
+ $ref: "#/components/schemas/virtual_k8sGetResponse",
424
+ },
425
+ requiredParams: ["name", "namespace"],
426
+ operationId: "ves.io.schema.virtual_k8s.API.Get",
427
+ tags: ["Other"],
428
+ sourceFile: "domains/container_services.json",
429
+ displayName: null,
430
+ dangerLevel: "low",
431
+ sideEffects: null,
432
+ requiredFields: ["path.name", "path.namespace"],
433
+ cliExamples: [
434
+ {
435
+ command: "f5xcctl config virtual-k8s get {name} --namespace {namespace}",
436
+ description: "Get specific virtual-k8s",
437
+ use_case: "get_specific",
438
+ },
439
+ ],
440
+ confirmationRequired: false,
441
+ parameterExamples: {
442
+ name: "Name",
443
+ namespace: "Ns1",
444
+ },
445
+ validationRules: {},
446
+ operationMetadata: {
447
+ common_errors: [
448
+ {
449
+ code: 401,
450
+ message: "Authentication required",
451
+ solution: "Provide valid API credentials",
452
+ },
453
+ {
454
+ code: 403,
455
+ message: "Permission denied",
456
+ solution: "Check access permissions for this operation",
457
+ },
458
+ {
459
+ code: 404,
460
+ message: "Resource not found",
461
+ solution: "Verify resource name, namespace, and path",
462
+ },
463
+ {
464
+ code: 409,
465
+ message: "Resource already exists",
466
+ solution: "Use different name or update existing resource",
467
+ },
468
+ {
469
+ code: 429,
470
+ message: "Rate limit exceeded",
471
+ solution: "Wait before retrying the operation",
472
+ },
473
+ {
474
+ code: 500,
475
+ message: "Server error",
476
+ solution: "Retry operation or contact support",
477
+ },
478
+ ],
479
+ conditions: {
480
+ postconditions: [],
481
+ prerequisites: ["Active namespace"],
482
+ },
483
+ confirmation_required: false,
484
+ danger_level: "low",
485
+ examples: [
486
+ {
487
+ command: "f5xcctl config virtual-k8s get {name} --namespace {namespace}",
488
+ description: "Get specific virtual-k8s",
489
+ use_case: "get_specific",
490
+ },
491
+ ],
492
+ field_docs: {},
493
+ optional_fields: [],
494
+ performance_impact: {
495
+ latency: "low",
496
+ resource_usage: "low",
497
+ },
498
+ purpose: "Retrieve specific virtual-k8s",
499
+ required_fields: ["path.name", "path.namespace"],
500
+ side_effects: {},
501
+ },
502
+ },
503
+ {
504
+ toolName: "f5xc-api-containerservices-virtual-k8s-list",
505
+ method: "GET",
506
+ path: "/api/config/namespaces/{namespace}/virtual_k8ss",
507
+ operation: "list",
508
+ domain: "container_services",
509
+ resource: "virtual-k8s",
510
+ summary: "List Virtual Kubernetes.",
511
+ description: "List the set of virtual_k8s in a namespace.",
512
+ pathParameters: [
513
+ {
514
+ description: "Namespace\nNamespace to scope the listing of virtual_k8s.",
515
+ in: "path",
516
+ name: "namespace",
517
+ required: true,
518
+ schema: {
519
+ type: "string",
520
+ },
521
+ "x-displayname": "Namespace",
522
+ "x-ves-example": "Ns1",
523
+ },
524
+ ],
525
+ queryParameters: [
526
+ {
527
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
528
+ in: "query",
529
+ name: "label_filter",
530
+ required: false,
531
+ schema: {
532
+ type: "string",
533
+ },
534
+ "x-displayname": "Label Filter.",
535
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
536
+ },
537
+ {
538
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
539
+ in: "query",
540
+ name: "report_fields",
541
+ required: false,
542
+ schema: {
543
+ items: {
544
+ type: "string",
545
+ },
546
+ type: "array",
547
+ },
548
+ "x-displayname": "Report Fields.",
549
+ },
550
+ {
551
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
552
+ in: "query",
553
+ name: "report_status_fields",
554
+ required: false,
555
+ schema: {
556
+ items: {
557
+ type: "string",
558
+ },
559
+ type: "array",
560
+ },
561
+ "x-displayname": "Report Status Fields.",
562
+ },
563
+ ],
564
+ requestBodySchema: null,
565
+ responseSchema: {
566
+ $ref: "#/components/schemas/virtual_k8sListResponse",
567
+ },
568
+ requiredParams: ["namespace"],
569
+ operationId: "ves.io.schema.virtual_k8s.API.List",
570
+ tags: ["Other"],
571
+ sourceFile: "domains/container_services.json",
572
+ displayName: null,
573
+ dangerLevel: "low",
574
+ sideEffects: null,
575
+ requiredFields: ["path.namespace"],
576
+ cliExamples: [
577
+ {
578
+ command: "f5xcctl config virtual-k8s list --namespace {namespace}",
579
+ description: "List all virtual-k8ss",
580
+ use_case: "list_all",
581
+ },
582
+ ],
583
+ confirmationRequired: false,
584
+ parameterExamples: {
585
+ label_filter: "Env in (staging, testing), tier in (web, db)",
586
+ namespace: "Ns1",
587
+ },
588
+ validationRules: {},
589
+ operationMetadata: {
590
+ common_errors: [
591
+ {
592
+ code: 401,
593
+ message: "Authentication required",
594
+ solution: "Provide valid API credentials",
595
+ },
596
+ {
597
+ code: 403,
598
+ message: "Permission denied",
599
+ solution: "Check access permissions for this operation",
600
+ },
601
+ {
602
+ code: 404,
603
+ message: "Resource not found",
604
+ solution: "Verify resource name, namespace, and path",
605
+ },
606
+ {
607
+ code: 409,
608
+ message: "Resource already exists",
609
+ solution: "Use different name or update existing resource",
610
+ },
611
+ {
612
+ code: 429,
613
+ message: "Rate limit exceeded",
614
+ solution: "Wait before retrying the operation",
615
+ },
616
+ {
617
+ code: 500,
618
+ message: "Server error",
619
+ solution: "Retry operation or contact support",
620
+ },
621
+ ],
622
+ conditions: {
623
+ postconditions: [],
624
+ prerequisites: ["Active namespace"],
625
+ },
626
+ confirmation_required: false,
627
+ danger_level: "low",
628
+ examples: [
629
+ {
630
+ command: "f5xcctl config virtual-k8s list --namespace {namespace}",
631
+ description: "List all virtual-k8ss",
632
+ use_case: "list_all",
633
+ },
634
+ ],
635
+ field_docs: {},
636
+ optional_fields: [],
637
+ performance_impact: {
638
+ latency: "moderate",
639
+ resource_usage: "moderate",
640
+ },
641
+ purpose: "List all virtual-k8ss",
642
+ required_fields: ["path.namespace"],
643
+ side_effects: {},
644
+ },
645
+ },
646
+ {
647
+ toolName: "f5xc-api-containerservices-virtual-k8s-update",
648
+ method: "PUT",
649
+ path: "/api/config/namespaces/{metadata.namespace}/virtual_k8ss/{metadata.name}",
650
+ operation: "update",
651
+ domain: "container_services",
652
+ resource: "virtual-k8s",
653
+ summary: "Replace Virtual Kubernetes.",
654
+ 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.",
655
+ pathParameters: [
656
+ {
657
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
658
+ in: "path",
659
+ name: "metadata.name",
660
+ required: true,
661
+ schema: {
662
+ type: "string",
663
+ },
664
+ "x-displayname": "Name",
665
+ "x-ves-example": "Example-corp-web.",
666
+ },
667
+ {
668
+ 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 ""',
669
+ in: "path",
670
+ name: "metadata.namespace",
671
+ required: true,
672
+ schema: {
673
+ type: "string",
674
+ },
675
+ "x-displayname": "Namespace",
676
+ "x-ves-example": "Staging",
677
+ },
678
+ ],
679
+ queryParameters: [],
680
+ requestBodySchema: {
681
+ $ref: "#/components/schemas/virtual_k8sReplaceRequest",
682
+ },
683
+ responseSchema: {
684
+ $ref: "#/components/schemas/virtual_k8sReplaceResponse",
685
+ },
686
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
687
+ operationId: "ves.io.schema.virtual_k8s.API.Replace",
688
+ tags: ["Other"],
689
+ sourceFile: "domains/container_services.json",
690
+ displayName: null,
691
+ dangerLevel: "medium",
692
+ sideEffects: {
693
+ modifies: ["virtual-k8s"],
694
+ },
695
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
696
+ cliExamples: [
697
+ {
698
+ command: "f5xcctl config virtual-k8s update {name} --namespace {namespace} -f {file}.yaml",
699
+ description: "Update virtual-k8s",
700
+ use_case: "update",
701
+ },
702
+ ],
703
+ confirmationRequired: false,
704
+ parameterExamples: {
705
+ "metadata.name": "Example-corp-web.",
706
+ "metadata.namespace": "Staging",
707
+ },
708
+ validationRules: {},
709
+ operationMetadata: {
710
+ common_errors: [
711
+ {
712
+ code: 401,
713
+ message: "Authentication required",
714
+ solution: "Provide valid API credentials",
715
+ },
716
+ {
717
+ code: 403,
718
+ message: "Permission denied",
719
+ solution: "Check access permissions for this operation",
720
+ },
721
+ {
722
+ code: 404,
723
+ message: "Resource not found",
724
+ solution: "Verify resource name, namespace, and path",
725
+ },
726
+ {
727
+ code: 409,
728
+ message: "Resource already exists",
729
+ solution: "Use different name or update existing resource",
730
+ },
731
+ {
732
+ code: 429,
733
+ message: "Rate limit exceeded",
734
+ solution: "Wait before retrying the operation",
735
+ },
736
+ {
737
+ code: 500,
738
+ message: "Server error",
739
+ solution: "Retry operation or contact support",
740
+ },
741
+ ],
742
+ conditions: {
743
+ postconditions: ["Resource updated with new values"],
744
+ prerequisites: ["Active namespace"],
745
+ },
746
+ confirmation_required: false,
747
+ danger_level: "medium",
748
+ examples: [
749
+ {
750
+ command: "f5xcctl config virtual-k8s update {name} --namespace {namespace} -f {file}.yaml",
751
+ description: "Update virtual-k8s",
752
+ use_case: "update",
753
+ },
754
+ ],
755
+ field_docs: {},
756
+ optional_fields: [],
757
+ performance_impact: {
758
+ latency: "low",
759
+ resource_usage: "low",
760
+ },
761
+ purpose: "Replace existing virtual-k8s",
762
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
763
+ side_effects: {
764
+ modifies: ["virtual-k8s"],
765
+ },
766
+ },
767
+ },
768
+ {
769
+ toolName: "f5xc-api-containerservices-workload-create",
770
+ method: "POST",
771
+ path: "/api/config/namespaces/{metadata.namespace}/workloads",
772
+ operation: "create",
773
+ domain: "container_services",
774
+ resource: "workload",
775
+ summary: "Create Workload.",
776
+ description: "Shape of Workload.",
777
+ pathParameters: [
778
+ {
779
+ 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 ""',
780
+ in: "path",
781
+ name: "metadata.namespace",
782
+ required: true,
783
+ schema: {
784
+ type: "string",
785
+ },
786
+ "x-displayname": "Namespace",
787
+ "x-ves-example": "Staging",
788
+ },
789
+ ],
790
+ queryParameters: [],
791
+ requestBodySchema: {
792
+ $ref: "#/components/schemas/workloadCreateRequest",
793
+ },
794
+ responseSchema: {
795
+ $ref: "#/components/schemas/workloadCreateResponse",
796
+ },
797
+ requiredParams: ["body", "metadata.namespace"],
798
+ operationId: "ves.io.schema.views.workload.API.Create",
799
+ tags: ["Other"],
800
+ sourceFile: "domains/container_services.json",
801
+ displayName: null,
802
+ dangerLevel: "medium",
803
+ sideEffects: {
804
+ creates: ["workload"],
805
+ },
806
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
807
+ cliExamples: [
808
+ {
809
+ command: "f5xcctl config workload create -f {file}.yaml",
810
+ description: "Create from YAML file",
811
+ use_case: "file_based",
812
+ },
813
+ {
814
+ command: "f5xcctl config workload create {name} --namespace {namespace}",
815
+ description: "Create workload",
816
+ use_case: "basic_create",
817
+ },
818
+ ],
819
+ confirmationRequired: false,
820
+ parameterExamples: {
821
+ "metadata.namespace": "Staging",
822
+ },
823
+ validationRules: {},
824
+ operationMetadata: {
825
+ common_errors: [
826
+ {
827
+ code: 401,
828
+ message: "Authentication required",
829
+ solution: "Provide valid API credentials",
830
+ },
831
+ {
832
+ code: 403,
833
+ message: "Permission denied",
834
+ solution: "Check access permissions for this operation",
835
+ },
836
+ {
837
+ code: 404,
838
+ message: "Resource not found",
839
+ solution: "Verify resource name, namespace, and path",
840
+ },
841
+ {
842
+ code: 409,
843
+ message: "Resource already exists",
844
+ solution: "Use different name or update existing resource",
845
+ },
846
+ {
847
+ code: 429,
848
+ message: "Rate limit exceeded",
849
+ solution: "Wait before retrying the operation",
850
+ },
851
+ {
852
+ code: 500,
853
+ message: "Server error",
854
+ solution: "Retry operation or contact support",
855
+ },
856
+ ],
857
+ conditions: {
858
+ postconditions: ["Workload resource created", "Resource assigned unique identifier"],
859
+ prerequisites: ["Active namespace"],
860
+ },
861
+ confirmation_required: false,
862
+ danger_level: "medium",
863
+ examples: [
864
+ {
865
+ command: "f5xcctl config workload create {name} --namespace {namespace}",
866
+ description: "Create workload",
867
+ use_case: "basic_create",
868
+ },
869
+ {
870
+ command: "f5xcctl config workload create -f {file}.yaml",
871
+ description: "Create from YAML file",
872
+ use_case: "file_based",
873
+ },
874
+ ],
875
+ field_docs: {},
876
+ optional_fields: [],
877
+ performance_impact: {
878
+ latency: "low",
879
+ resource_usage: "low",
880
+ },
881
+ purpose: "Create new workload",
882
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
883
+ side_effects: {
884
+ creates: ["workload"],
885
+ },
886
+ },
887
+ },
888
+ {
889
+ toolName: "f5xc-api-containerservices-workload-delete",
890
+ method: "DELETE",
891
+ path: "/api/config/namespaces/{namespace}/workloads/{name}",
892
+ operation: "delete",
893
+ domain: "container_services",
894
+ resource: "workload",
895
+ summary: "DELETE Workload.",
896
+ description: "DELETE the specified workload.",
897
+ pathParameters: [
898
+ {
899
+ description: "Name\nName of the configuration object.",
900
+ in: "path",
901
+ name: "name",
902
+ required: true,
903
+ schema: {
904
+ type: "string",
905
+ },
906
+ "x-displayname": "Name",
907
+ "x-ves-example": "Name",
908
+ },
909
+ {
910
+ description: "Namespace\nNamespace in which the configuration object is present.",
911
+ in: "path",
912
+ name: "namespace",
913
+ required: true,
914
+ schema: {
915
+ type: "string",
916
+ },
917
+ "x-displayname": "Namespace",
918
+ "x-ves-example": "Ns1",
919
+ },
920
+ ],
921
+ queryParameters: [],
922
+ requestBodySchema: {
923
+ $ref: "#/components/schemas/workloadDeleteRequest",
924
+ },
925
+ responseSchema: {},
926
+ requiredParams: ["body", "name", "namespace"],
927
+ operationId: "ves.io.schema.views.workload.API.Delete",
928
+ tags: ["Other"],
929
+ sourceFile: "domains/container_services.json",
930
+ displayName: null,
931
+ dangerLevel: "high",
932
+ sideEffects: {
933
+ deletes: ["workload", "contained_resources"],
934
+ },
935
+ requiredFields: ["path.name", "path.namespace"],
936
+ cliExamples: [
937
+ {
938
+ command: "f5xcctl config workload delete {name} --namespace {namespace}",
939
+ description: "Delete workload",
940
+ use_case: "delete",
941
+ },
942
+ ],
943
+ confirmationRequired: true,
944
+ parameterExamples: {
945
+ name: "Name",
946
+ namespace: "Ns1",
947
+ },
948
+ validationRules: {},
949
+ operationMetadata: {
950
+ common_errors: [
951
+ {
952
+ code: 401,
953
+ message: "Authentication required",
954
+ solution: "Provide valid API credentials",
955
+ },
956
+ {
957
+ code: 403,
958
+ message: "Permission denied",
959
+ solution: "Check access permissions for this operation",
960
+ },
961
+ {
962
+ code: 404,
963
+ message: "Resource not found",
964
+ solution: "Verify resource name, namespace, and path",
965
+ },
966
+ {
967
+ code: 409,
968
+ message: "Resource already exists",
969
+ solution: "Use different name or update existing resource",
970
+ },
971
+ {
972
+ code: 429,
973
+ message: "Rate limit exceeded",
974
+ solution: "Wait before retrying the operation",
975
+ },
976
+ {
977
+ code: 500,
978
+ message: "Server error",
979
+ solution: "Retry operation or contact support",
980
+ },
981
+ ],
982
+ conditions: {
983
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
984
+ prerequisites: ["Active namespace"],
985
+ },
986
+ confirmation_required: true,
987
+ danger_level: "high",
988
+ examples: [
989
+ {
990
+ command: "f5xcctl config workload delete {name} --namespace {namespace}",
991
+ description: "Delete workload",
992
+ use_case: "delete",
993
+ },
994
+ ],
995
+ field_docs: {},
996
+ optional_fields: [],
997
+ performance_impact: {
998
+ latency: "high",
999
+ resource_usage: "moderate",
1000
+ },
1001
+ purpose: "Delete workload",
1002
+ required_fields: ["path.name", "path.namespace"],
1003
+ side_effects: {
1004
+ deletes: ["workload", "contained_resources"],
1005
+ },
1006
+ },
1007
+ },
1008
+ {
1009
+ toolName: "f5xc-api-containerservices-workload-flavor-create",
1010
+ method: "POST",
1011
+ path: "/api/config/namespaces/{metadata.namespace}/workload_flavors",
1012
+ operation: "create",
1013
+ domain: "container_services",
1014
+ resource: "workload-flavor",
1015
+ summary: "Create Workload Flavor.",
1016
+ description: "Create a workload_flavor.",
1017
+ pathParameters: [
1018
+ {
1019
+ 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 ""',
1020
+ in: "path",
1021
+ name: "metadata.namespace",
1022
+ required: true,
1023
+ schema: {
1024
+ type: "string",
1025
+ },
1026
+ "x-displayname": "Namespace",
1027
+ "x-ves-example": "Staging",
1028
+ },
1029
+ ],
1030
+ queryParameters: [],
1031
+ requestBodySchema: {
1032
+ $ref: "#/components/schemas/workload_flavorCreateRequest",
1033
+ },
1034
+ responseSchema: {
1035
+ $ref: "#/components/schemas/workload_flavorCreateResponse",
1036
+ },
1037
+ requiredParams: ["body", "metadata.namespace"],
1038
+ operationId: "ves.io.schema.workload_flavor.API.Create",
1039
+ tags: ["Other"],
1040
+ sourceFile: "domains/container_services.json",
1041
+ displayName: null,
1042
+ dangerLevel: "medium",
1043
+ sideEffects: {
1044
+ creates: ["workload-flavor"],
1045
+ },
1046
+ requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
1047
+ cliExamples: [
1048
+ {
1049
+ command: "f5xcctl config workload-flavor create -f {file}.yaml",
1050
+ description: "Create from YAML file",
1051
+ use_case: "file_based",
1052
+ },
1053
+ {
1054
+ command: "f5xcctl config workload-flavor create {name} --namespace {namespace}",
1055
+ description: "Create workload-flavor",
1056
+ use_case: "basic_create",
1057
+ },
1058
+ ],
1059
+ confirmationRequired: false,
1060
+ parameterExamples: {
1061
+ "metadata.namespace": "Staging",
1062
+ },
1063
+ validationRules: {},
1064
+ operationMetadata: {
1065
+ common_errors: [
1066
+ {
1067
+ code: 401,
1068
+ message: "Authentication required",
1069
+ solution: "Provide valid API credentials",
1070
+ },
1071
+ {
1072
+ code: 403,
1073
+ message: "Permission denied",
1074
+ solution: "Check access permissions for this operation",
1075
+ },
1076
+ {
1077
+ code: 404,
1078
+ message: "Resource not found",
1079
+ solution: "Verify resource name, namespace, and path",
1080
+ },
1081
+ {
1082
+ code: 409,
1083
+ message: "Resource already exists",
1084
+ solution: "Use different name or update existing resource",
1085
+ },
1086
+ {
1087
+ code: 429,
1088
+ message: "Rate limit exceeded",
1089
+ solution: "Wait before retrying the operation",
1090
+ },
1091
+ {
1092
+ code: 500,
1093
+ message: "Server error",
1094
+ solution: "Retry operation or contact support",
1095
+ },
1096
+ ],
1097
+ conditions: {
1098
+ postconditions: ["Workload-flavor resource created", "Resource assigned unique identifier"],
1099
+ prerequisites: ["Active namespace"],
1100
+ },
1101
+ confirmation_required: false,
1102
+ danger_level: "medium",
1103
+ examples: [
1104
+ {
1105
+ command: "f5xcctl config workload-flavor create {name} --namespace {namespace}",
1106
+ description: "Create workload-flavor",
1107
+ use_case: "basic_create",
1108
+ },
1109
+ {
1110
+ command: "f5xcctl config workload-flavor create -f {file}.yaml",
1111
+ description: "Create from YAML file",
1112
+ use_case: "file_based",
1113
+ },
1114
+ ],
1115
+ field_docs: {},
1116
+ optional_fields: [],
1117
+ performance_impact: {
1118
+ latency: "low",
1119
+ resource_usage: "low",
1120
+ },
1121
+ purpose: "Create new workload-flavor",
1122
+ required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
1123
+ side_effects: {
1124
+ creates: ["workload-flavor"],
1125
+ },
1126
+ },
1127
+ },
1128
+ {
1129
+ toolName: "f5xc-api-containerservices-workload-flavor-delete",
1130
+ method: "DELETE",
1131
+ path: "/api/config/namespaces/{namespace}/workload_flavors/{name}",
1132
+ operation: "delete",
1133
+ domain: "container_services",
1134
+ resource: "workload-flavor",
1135
+ summary: "DELETE Workload Flavor.",
1136
+ description: "DELETE the specified workload_flavor.",
1137
+ pathParameters: [
1138
+ {
1139
+ description: "Name\nName of the configuration object.",
1140
+ in: "path",
1141
+ name: "name",
1142
+ required: true,
1143
+ schema: {
1144
+ type: "string",
1145
+ },
1146
+ "x-displayname": "Name",
1147
+ "x-ves-example": "Name",
1148
+ },
1149
+ {
1150
+ description: "Namespace\nNamespace in which the configuration object is present.",
1151
+ in: "path",
1152
+ name: "namespace",
1153
+ required: true,
1154
+ schema: {
1155
+ type: "string",
1156
+ },
1157
+ "x-displayname": "Namespace",
1158
+ "x-ves-example": "Ns1",
1159
+ },
1160
+ ],
1161
+ queryParameters: [],
1162
+ requestBodySchema: {
1163
+ $ref: "#/components/schemas/workload_flavorDeleteRequest",
1164
+ },
1165
+ responseSchema: {},
1166
+ requiredParams: ["body", "name", "namespace"],
1167
+ operationId: "ves.io.schema.workload_flavor.API.Delete",
1168
+ tags: ["Other"],
1169
+ sourceFile: "domains/container_services.json",
1170
+ displayName: null,
1171
+ dangerLevel: "high",
1172
+ sideEffects: {
1173
+ deletes: ["workload-flavor", "contained_resources"],
1174
+ },
1175
+ requiredFields: ["path.name", "path.namespace"],
1176
+ cliExamples: [
1177
+ {
1178
+ command: "f5xcctl config workload-flavor delete {name} --namespace {namespace}",
1179
+ description: "Delete workload-flavor",
1180
+ use_case: "delete",
1181
+ },
1182
+ ],
1183
+ confirmationRequired: true,
1184
+ parameterExamples: {
1185
+ name: "Name",
1186
+ namespace: "Ns1",
1187
+ },
1188
+ validationRules: {},
1189
+ operationMetadata: {
1190
+ common_errors: [
1191
+ {
1192
+ code: 401,
1193
+ message: "Authentication required",
1194
+ solution: "Provide valid API credentials",
1195
+ },
1196
+ {
1197
+ code: 403,
1198
+ message: "Permission denied",
1199
+ solution: "Check access permissions for this operation",
1200
+ },
1201
+ {
1202
+ code: 404,
1203
+ message: "Resource not found",
1204
+ solution: "Verify resource name, namespace, and path",
1205
+ },
1206
+ {
1207
+ code: 409,
1208
+ message: "Resource already exists",
1209
+ solution: "Use different name or update existing resource",
1210
+ },
1211
+ {
1212
+ code: 429,
1213
+ message: "Rate limit exceeded",
1214
+ solution: "Wait before retrying the operation",
1215
+ },
1216
+ {
1217
+ code: 500,
1218
+ message: "Server error",
1219
+ solution: "Retry operation or contact support",
1220
+ },
1221
+ ],
1222
+ conditions: {
1223
+ postconditions: ["Resource removed from system", "Associated resources may be affected"],
1224
+ prerequisites: ["Active namespace"],
1225
+ },
1226
+ confirmation_required: true,
1227
+ danger_level: "high",
1228
+ examples: [
1229
+ {
1230
+ command: "f5xcctl config workload-flavor delete {name} --namespace {namespace}",
1231
+ description: "Delete workload-flavor",
1232
+ use_case: "delete",
1233
+ },
1234
+ ],
1235
+ field_docs: {},
1236
+ optional_fields: [],
1237
+ performance_impact: {
1238
+ latency: "high",
1239
+ resource_usage: "moderate",
1240
+ },
1241
+ purpose: "Delete workload-flavor",
1242
+ required_fields: ["path.name", "path.namespace"],
1243
+ side_effects: {
1244
+ deletes: ["workload-flavor", "contained_resources"],
1245
+ },
1246
+ },
1247
+ },
1248
+ {
1249
+ toolName: "f5xc-api-containerservices-workload-flavor-get",
1250
+ method: "GET",
1251
+ path: "/api/config/namespaces/{namespace}/workload_flavors/{name}",
1252
+ operation: "get",
1253
+ domain: "container_services",
1254
+ resource: "workload-flavor",
1255
+ summary: "GET Workload Flavor.",
1256
+ description: "GET Workload Flavor.",
1257
+ pathParameters: [
1258
+ {
1259
+ description: "Name\nThe name of the configuration object to be fetched.",
1260
+ in: "path",
1261
+ name: "name",
1262
+ required: true,
1263
+ schema: {
1264
+ type: "string",
1265
+ },
1266
+ "x-displayname": "Name",
1267
+ "x-ves-example": "Name",
1268
+ },
1269
+ {
1270
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1271
+ in: "path",
1272
+ name: "namespace",
1273
+ required: true,
1274
+ schema: {
1275
+ type: "string",
1276
+ },
1277
+ "x-displayname": "Namespace",
1278
+ "x-ves-example": "Ns1",
1279
+ },
1280
+ ],
1281
+ queryParameters: [
1282
+ {
1283
+ 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.",
1284
+ in: "query",
1285
+ name: "response_format",
1286
+ required: false,
1287
+ schema: {
1288
+ default: "GET_RSP_FORMAT_DEFAULT",
1289
+ enum: [
1290
+ "GET_RSP_FORMAT_DEFAULT",
1291
+ "GET_RSP_FORMAT_FOR_CREATE",
1292
+ "GET_RSP_FORMAT_FOR_REPLACE",
1293
+ "GET_RSP_FORMAT_STATUS",
1294
+ "GET_RSP_FORMAT_READ",
1295
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1296
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1297
+ ],
1298
+ type: "string",
1299
+ },
1300
+ "x-displayname": "Broken Referred Objects.",
1301
+ },
1302
+ ],
1303
+ requestBodySchema: null,
1304
+ responseSchema: {
1305
+ $ref: "#/components/schemas/workload_flavorGetResponse",
1306
+ },
1307
+ requiredParams: ["name", "namespace"],
1308
+ operationId: "ves.io.schema.workload_flavor.API.Get",
1309
+ tags: ["Other"],
1310
+ sourceFile: "domains/container_services.json",
1311
+ displayName: null,
1312
+ dangerLevel: "low",
1313
+ sideEffects: null,
1314
+ requiredFields: ["path.name", "path.namespace"],
1315
+ cliExamples: [
1316
+ {
1317
+ command: "f5xcctl config workload-flavor get {name} --namespace {namespace}",
1318
+ description: "Get specific workload-flavor",
1319
+ use_case: "get_specific",
1320
+ },
1321
+ ],
1322
+ confirmationRequired: false,
1323
+ parameterExamples: {
1324
+ name: "Name",
1325
+ namespace: "Ns1",
1326
+ },
1327
+ validationRules: {},
1328
+ operationMetadata: {
1329
+ common_errors: [
1330
+ {
1331
+ code: 401,
1332
+ message: "Authentication required",
1333
+ solution: "Provide valid API credentials",
1334
+ },
1335
+ {
1336
+ code: 403,
1337
+ message: "Permission denied",
1338
+ solution: "Check access permissions for this operation",
1339
+ },
1340
+ {
1341
+ code: 404,
1342
+ message: "Resource not found",
1343
+ solution: "Verify resource name, namespace, and path",
1344
+ },
1345
+ {
1346
+ code: 409,
1347
+ message: "Resource already exists",
1348
+ solution: "Use different name or update existing resource",
1349
+ },
1350
+ {
1351
+ code: 429,
1352
+ message: "Rate limit exceeded",
1353
+ solution: "Wait before retrying the operation",
1354
+ },
1355
+ {
1356
+ code: 500,
1357
+ message: "Server error",
1358
+ solution: "Retry operation or contact support",
1359
+ },
1360
+ ],
1361
+ conditions: {
1362
+ postconditions: [],
1363
+ prerequisites: ["Active namespace"],
1364
+ },
1365
+ confirmation_required: false,
1366
+ danger_level: "low",
1367
+ examples: [
1368
+ {
1369
+ command: "f5xcctl config workload-flavor get {name} --namespace {namespace}",
1370
+ description: "Get specific workload-flavor",
1371
+ use_case: "get_specific",
1372
+ },
1373
+ ],
1374
+ field_docs: {},
1375
+ optional_fields: [],
1376
+ performance_impact: {
1377
+ latency: "low",
1378
+ resource_usage: "low",
1379
+ },
1380
+ purpose: "Retrieve specific workload-flavor",
1381
+ required_fields: ["path.name", "path.namespace"],
1382
+ side_effects: {},
1383
+ },
1384
+ },
1385
+ {
1386
+ toolName: "f5xc-api-containerservices-workload-flavor-list",
1387
+ method: "GET",
1388
+ path: "/api/config/namespaces/{namespace}/workload_flavors",
1389
+ operation: "list",
1390
+ domain: "container_services",
1391
+ resource: "workload-flavor",
1392
+ summary: "List Workload Flavor.",
1393
+ description: "List the set of workload_flavor in a namespace.",
1394
+ pathParameters: [
1395
+ {
1396
+ description: "Namespace\nNamespace to scope the listing of workload_flavor.",
1397
+ in: "path",
1398
+ name: "namespace",
1399
+ required: true,
1400
+ schema: {
1401
+ type: "string",
1402
+ },
1403
+ "x-displayname": "Namespace",
1404
+ "x-ves-example": "Ns1",
1405
+ },
1406
+ ],
1407
+ queryParameters: [
1408
+ {
1409
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1410
+ in: "query",
1411
+ name: "label_filter",
1412
+ required: false,
1413
+ schema: {
1414
+ type: "string",
1415
+ },
1416
+ "x-displayname": "Label Filter.",
1417
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1418
+ },
1419
+ {
1420
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1421
+ in: "query",
1422
+ name: "report_fields",
1423
+ required: false,
1424
+ schema: {
1425
+ items: {
1426
+ type: "string",
1427
+ },
1428
+ type: "array",
1429
+ },
1430
+ "x-displayname": "Report Fields.",
1431
+ },
1432
+ {
1433
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1434
+ in: "query",
1435
+ name: "report_status_fields",
1436
+ required: false,
1437
+ schema: {
1438
+ items: {
1439
+ type: "string",
1440
+ },
1441
+ type: "array",
1442
+ },
1443
+ "x-displayname": "Report Status Fields.",
1444
+ },
1445
+ ],
1446
+ requestBodySchema: null,
1447
+ responseSchema: {
1448
+ $ref: "#/components/schemas/workload_flavorListResponse",
1449
+ },
1450
+ requiredParams: ["namespace"],
1451
+ operationId: "ves.io.schema.workload_flavor.API.List",
1452
+ tags: ["Other"],
1453
+ sourceFile: "domains/container_services.json",
1454
+ displayName: null,
1455
+ dangerLevel: "low",
1456
+ sideEffects: null,
1457
+ requiredFields: ["path.namespace"],
1458
+ cliExamples: [
1459
+ {
1460
+ command: "f5xcctl config workload-flavor list --namespace {namespace}",
1461
+ description: "List all workload-flavors",
1462
+ use_case: "list_all",
1463
+ },
1464
+ ],
1465
+ confirmationRequired: false,
1466
+ parameterExamples: {
1467
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1468
+ namespace: "Ns1",
1469
+ },
1470
+ validationRules: {},
1471
+ operationMetadata: {
1472
+ common_errors: [
1473
+ {
1474
+ code: 401,
1475
+ message: "Authentication required",
1476
+ solution: "Provide valid API credentials",
1477
+ },
1478
+ {
1479
+ code: 403,
1480
+ message: "Permission denied",
1481
+ solution: "Check access permissions for this operation",
1482
+ },
1483
+ {
1484
+ code: 404,
1485
+ message: "Resource not found",
1486
+ solution: "Verify resource name, namespace, and path",
1487
+ },
1488
+ {
1489
+ code: 409,
1490
+ message: "Resource already exists",
1491
+ solution: "Use different name or update existing resource",
1492
+ },
1493
+ {
1494
+ code: 429,
1495
+ message: "Rate limit exceeded",
1496
+ solution: "Wait before retrying the operation",
1497
+ },
1498
+ {
1499
+ code: 500,
1500
+ message: "Server error",
1501
+ solution: "Retry operation or contact support",
1502
+ },
1503
+ ],
1504
+ conditions: {
1505
+ postconditions: [],
1506
+ prerequisites: ["Active namespace"],
1507
+ },
1508
+ confirmation_required: false,
1509
+ danger_level: "low",
1510
+ examples: [
1511
+ {
1512
+ command: "f5xcctl config workload-flavor list --namespace {namespace}",
1513
+ description: "List all workload-flavors",
1514
+ use_case: "list_all",
1515
+ },
1516
+ ],
1517
+ field_docs: {},
1518
+ optional_fields: [],
1519
+ performance_impact: {
1520
+ latency: "moderate",
1521
+ resource_usage: "moderate",
1522
+ },
1523
+ purpose: "List all workload-flavors",
1524
+ required_fields: ["path.namespace"],
1525
+ side_effects: {},
1526
+ },
1527
+ },
1528
+ {
1529
+ toolName: "f5xc-api-containerservices-workload-flavor-update",
1530
+ method: "PUT",
1531
+ path: "/api/config/namespaces/{metadata.namespace}/workload_flavors/{metadata.name}",
1532
+ operation: "update",
1533
+ domain: "container_services",
1534
+ resource: "workload-flavor",
1535
+ summary: "Replace Flavor.",
1536
+ description: "Replace a K8s workload_flavor.",
1537
+ pathParameters: [
1538
+ {
1539
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1540
+ in: "path",
1541
+ name: "metadata.name",
1542
+ required: true,
1543
+ schema: {
1544
+ type: "string",
1545
+ },
1546
+ "x-displayname": "Name",
1547
+ "x-ves-example": "Example-corp-web.",
1548
+ },
1549
+ {
1550
+ 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 ""',
1551
+ in: "path",
1552
+ name: "metadata.namespace",
1553
+ required: true,
1554
+ schema: {
1555
+ type: "string",
1556
+ },
1557
+ "x-displayname": "Namespace",
1558
+ "x-ves-example": "Staging",
1559
+ },
1560
+ ],
1561
+ queryParameters: [],
1562
+ requestBodySchema: {
1563
+ $ref: "#/components/schemas/workload_flavorReplaceRequest",
1564
+ },
1565
+ responseSchema: {
1566
+ $ref: "#/components/schemas/workload_flavorReplaceResponse",
1567
+ },
1568
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1569
+ operationId: "ves.io.schema.workload_flavor.API.Replace",
1570
+ tags: ["Other"],
1571
+ sourceFile: "domains/container_services.json",
1572
+ displayName: null,
1573
+ dangerLevel: "medium",
1574
+ sideEffects: {
1575
+ modifies: ["workload-flavor"],
1576
+ },
1577
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1578
+ cliExamples: [
1579
+ {
1580
+ command: "f5xcctl config workload-flavor update {name} --namespace {namespace} -f {file}.yaml",
1581
+ description: "Update workload-flavor",
1582
+ use_case: "update",
1583
+ },
1584
+ ],
1585
+ confirmationRequired: false,
1586
+ parameterExamples: {
1587
+ "metadata.name": "Example-corp-web.",
1588
+ "metadata.namespace": "Staging",
1589
+ },
1590
+ validationRules: {},
1591
+ operationMetadata: {
1592
+ common_errors: [
1593
+ {
1594
+ code: 401,
1595
+ message: "Authentication required",
1596
+ solution: "Provide valid API credentials",
1597
+ },
1598
+ {
1599
+ code: 403,
1600
+ message: "Permission denied",
1601
+ solution: "Check access permissions for this operation",
1602
+ },
1603
+ {
1604
+ code: 404,
1605
+ message: "Resource not found",
1606
+ solution: "Verify resource name, namespace, and path",
1607
+ },
1608
+ {
1609
+ code: 409,
1610
+ message: "Resource already exists",
1611
+ solution: "Use different name or update existing resource",
1612
+ },
1613
+ {
1614
+ code: 429,
1615
+ message: "Rate limit exceeded",
1616
+ solution: "Wait before retrying the operation",
1617
+ },
1618
+ {
1619
+ code: 500,
1620
+ message: "Server error",
1621
+ solution: "Retry operation or contact support",
1622
+ },
1623
+ ],
1624
+ conditions: {
1625
+ postconditions: ["Resource updated with new values"],
1626
+ prerequisites: ["Active namespace"],
1627
+ },
1628
+ confirmation_required: false,
1629
+ danger_level: "medium",
1630
+ examples: [
1631
+ {
1632
+ command: "f5xcctl config workload-flavor update {name} --namespace {namespace} -f {file}.yaml",
1633
+ description: "Update workload-flavor",
1634
+ use_case: "update",
1635
+ },
1636
+ ],
1637
+ field_docs: {},
1638
+ optional_fields: [],
1639
+ performance_impact: {
1640
+ latency: "low",
1641
+ resource_usage: "low",
1642
+ },
1643
+ purpose: "Replace existing workload-flavor",
1644
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
1645
+ side_effects: {
1646
+ modifies: ["workload-flavor"],
1647
+ },
1648
+ },
1649
+ },
1650
+ {
1651
+ toolName: "f5xc-api-containerservices-workload-get",
1652
+ method: "GET",
1653
+ path: "/api/config/namespaces/{namespace}/workloads/{name}",
1654
+ operation: "get",
1655
+ domain: "container_services",
1656
+ resource: "workload",
1657
+ summary: "GET Workload.",
1658
+ description: "Shape of Workload.",
1659
+ pathParameters: [
1660
+ {
1661
+ description: "Name\nThe name of the configuration object to be fetched.",
1662
+ in: "path",
1663
+ name: "name",
1664
+ required: true,
1665
+ schema: {
1666
+ type: "string",
1667
+ },
1668
+ "x-displayname": "Name",
1669
+ "x-ves-example": "Name",
1670
+ },
1671
+ {
1672
+ description: "Namespace\nThe namespace in which the configuration object is present.",
1673
+ in: "path",
1674
+ name: "namespace",
1675
+ required: true,
1676
+ schema: {
1677
+ type: "string",
1678
+ },
1679
+ "x-displayname": "Namespace",
1680
+ "x-ves-example": "Ns1",
1681
+ },
1682
+ ],
1683
+ queryParameters: [
1684
+ {
1685
+ 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.",
1686
+ in: "query",
1687
+ name: "response_format",
1688
+ required: false,
1689
+ schema: {
1690
+ default: "GET_RSP_FORMAT_DEFAULT",
1691
+ enum: [
1692
+ "GET_RSP_FORMAT_DEFAULT",
1693
+ "GET_RSP_FORMAT_FOR_CREATE",
1694
+ "GET_RSP_FORMAT_FOR_REPLACE",
1695
+ "GET_RSP_FORMAT_STATUS",
1696
+ "GET_RSP_FORMAT_READ",
1697
+ "GET_RSP_FORMAT_REFERRING_OBJECTS",
1698
+ "GET_RSP_FORMAT_BROKEN_REFERENCES",
1699
+ ],
1700
+ type: "string",
1701
+ },
1702
+ "x-displayname": "Broken Referred Objects.",
1703
+ },
1704
+ ],
1705
+ requestBodySchema: null,
1706
+ responseSchema: {
1707
+ $ref: "#/components/schemas/workloadGetResponse",
1708
+ },
1709
+ requiredParams: ["name", "namespace"],
1710
+ operationId: "ves.io.schema.views.workload.API.Get",
1711
+ tags: ["Other"],
1712
+ sourceFile: "domains/container_services.json",
1713
+ displayName: null,
1714
+ dangerLevel: "low",
1715
+ sideEffects: null,
1716
+ requiredFields: ["path.name", "path.namespace"],
1717
+ cliExamples: [
1718
+ {
1719
+ command: "f5xcctl config workload get {name} --namespace {namespace}",
1720
+ description: "Get specific workload",
1721
+ use_case: "get_specific",
1722
+ },
1723
+ ],
1724
+ confirmationRequired: false,
1725
+ parameterExamples: {
1726
+ name: "Name",
1727
+ namespace: "Ns1",
1728
+ },
1729
+ validationRules: {},
1730
+ operationMetadata: {
1731
+ common_errors: [
1732
+ {
1733
+ code: 401,
1734
+ message: "Authentication required",
1735
+ solution: "Provide valid API credentials",
1736
+ },
1737
+ {
1738
+ code: 403,
1739
+ message: "Permission denied",
1740
+ solution: "Check access permissions for this operation",
1741
+ },
1742
+ {
1743
+ code: 404,
1744
+ message: "Resource not found",
1745
+ solution: "Verify resource name, namespace, and path",
1746
+ },
1747
+ {
1748
+ code: 409,
1749
+ message: "Resource already exists",
1750
+ solution: "Use different name or update existing resource",
1751
+ },
1752
+ {
1753
+ code: 429,
1754
+ message: "Rate limit exceeded",
1755
+ solution: "Wait before retrying the operation",
1756
+ },
1757
+ {
1758
+ code: 500,
1759
+ message: "Server error",
1760
+ solution: "Retry operation or contact support",
1761
+ },
1762
+ ],
1763
+ conditions: {
1764
+ postconditions: [],
1765
+ prerequisites: ["Active namespace"],
1766
+ },
1767
+ confirmation_required: false,
1768
+ danger_level: "low",
1769
+ examples: [
1770
+ {
1771
+ command: "f5xcctl config workload get {name} --namespace {namespace}",
1772
+ description: "Get specific workload",
1773
+ use_case: "get_specific",
1774
+ },
1775
+ ],
1776
+ field_docs: {},
1777
+ optional_fields: [],
1778
+ performance_impact: {
1779
+ latency: "low",
1780
+ resource_usage: "low",
1781
+ },
1782
+ purpose: "Retrieve specific workload",
1783
+ required_fields: ["path.name", "path.namespace"],
1784
+ side_effects: {},
1785
+ },
1786
+ },
1787
+ {
1788
+ toolName: "f5xc-api-containerservices-workload-list",
1789
+ method: "GET",
1790
+ path: "/api/config/namespaces/{namespace}/workloads",
1791
+ operation: "list",
1792
+ domain: "container_services",
1793
+ resource: "workload",
1794
+ summary: "List Workload.",
1795
+ description: "List the set of workload in a namespace.",
1796
+ pathParameters: [
1797
+ {
1798
+ description: "Namespace\nNamespace to scope the listing of workload.",
1799
+ in: "path",
1800
+ name: "namespace",
1801
+ required: true,
1802
+ schema: {
1803
+ type: "string",
1804
+ },
1805
+ "x-displayname": "Namespace",
1806
+ "x-ves-example": "Ns1",
1807
+ },
1808
+ ],
1809
+ queryParameters: [
1810
+ {
1811
+ description: "A LabelSelectorType expression that every item in list response will satisfy.",
1812
+ in: "query",
1813
+ name: "label_filter",
1814
+ required: false,
1815
+ schema: {
1816
+ type: "string",
1817
+ },
1818
+ "x-displayname": "Label Filter.",
1819
+ "x-ves-example": "Env in (staging, testing), tier in (web, db)",
1820
+ },
1821
+ {
1822
+ description: 'X-example: ""\nExtra fields to return along with summary fields.',
1823
+ in: "query",
1824
+ name: "report_fields",
1825
+ required: false,
1826
+ schema: {
1827
+ items: {
1828
+ type: "string",
1829
+ },
1830
+ type: "array",
1831
+ },
1832
+ "x-displayname": "Report Fields.",
1833
+ },
1834
+ {
1835
+ description: 'X-example: ""\nExtra status fields to return along with summary fields.',
1836
+ in: "query",
1837
+ name: "report_status_fields",
1838
+ required: false,
1839
+ schema: {
1840
+ items: {
1841
+ type: "string",
1842
+ },
1843
+ type: "array",
1844
+ },
1845
+ "x-displayname": "Report Status Fields.",
1846
+ },
1847
+ ],
1848
+ requestBodySchema: null,
1849
+ responseSchema: {
1850
+ $ref: "#/components/schemas/workloadListResponse",
1851
+ },
1852
+ requiredParams: ["namespace"],
1853
+ operationId: "ves.io.schema.views.workload.API.List",
1854
+ tags: ["Other"],
1855
+ sourceFile: "domains/container_services.json",
1856
+ displayName: null,
1857
+ dangerLevel: "low",
1858
+ sideEffects: null,
1859
+ requiredFields: ["path.namespace"],
1860
+ cliExamples: [
1861
+ {
1862
+ command: "f5xcctl config workload list --namespace {namespace}",
1863
+ description: "List all workloads",
1864
+ use_case: "list_all",
1865
+ },
1866
+ ],
1867
+ confirmationRequired: false,
1868
+ parameterExamples: {
1869
+ label_filter: "Env in (staging, testing), tier in (web, db)",
1870
+ namespace: "Ns1",
1871
+ },
1872
+ validationRules: {},
1873
+ operationMetadata: {
1874
+ common_errors: [
1875
+ {
1876
+ code: 401,
1877
+ message: "Authentication required",
1878
+ solution: "Provide valid API credentials",
1879
+ },
1880
+ {
1881
+ code: 403,
1882
+ message: "Permission denied",
1883
+ solution: "Check access permissions for this operation",
1884
+ },
1885
+ {
1886
+ code: 404,
1887
+ message: "Resource not found",
1888
+ solution: "Verify resource name, namespace, and path",
1889
+ },
1890
+ {
1891
+ code: 409,
1892
+ message: "Resource already exists",
1893
+ solution: "Use different name or update existing resource",
1894
+ },
1895
+ {
1896
+ code: 429,
1897
+ message: "Rate limit exceeded",
1898
+ solution: "Wait before retrying the operation",
1899
+ },
1900
+ {
1901
+ code: 500,
1902
+ message: "Server error",
1903
+ solution: "Retry operation or contact support",
1904
+ },
1905
+ ],
1906
+ conditions: {
1907
+ postconditions: [],
1908
+ prerequisites: ["Active namespace"],
1909
+ },
1910
+ confirmation_required: false,
1911
+ danger_level: "low",
1912
+ examples: [
1913
+ {
1914
+ command: "f5xcctl config workload list --namespace {namespace}",
1915
+ description: "List all workloads",
1916
+ use_case: "list_all",
1917
+ },
1918
+ ],
1919
+ field_docs: {},
1920
+ optional_fields: [],
1921
+ performance_impact: {
1922
+ latency: "moderate",
1923
+ resource_usage: "moderate",
1924
+ },
1925
+ purpose: "List all workloads",
1926
+ required_fields: ["path.namespace"],
1927
+ side_effects: {},
1928
+ },
1929
+ },
1930
+ {
1931
+ toolName: "f5xc-api-containerservices-workload-update",
1932
+ method: "PUT",
1933
+ path: "/api/config/namespaces/{metadata.namespace}/workloads/{metadata.name}",
1934
+ operation: "update",
1935
+ domain: "container_services",
1936
+ resource: "workload",
1937
+ summary: "Replace Workload.",
1938
+ description: "Shape of Workload.",
1939
+ pathParameters: [
1940
+ {
1941
+ description: "Name\nThe configuration object to be replaced will be looked up by name.",
1942
+ in: "path",
1943
+ name: "metadata.name",
1944
+ required: true,
1945
+ schema: {
1946
+ type: "string",
1947
+ },
1948
+ "x-displayname": "Name",
1949
+ "x-ves-example": "Example-corp-web.",
1950
+ },
1951
+ {
1952
+ 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 ""',
1953
+ in: "path",
1954
+ name: "metadata.namespace",
1955
+ required: true,
1956
+ schema: {
1957
+ type: "string",
1958
+ },
1959
+ "x-displayname": "Namespace",
1960
+ "x-ves-example": "Staging",
1961
+ },
1962
+ ],
1963
+ queryParameters: [],
1964
+ requestBodySchema: {
1965
+ $ref: "#/components/schemas/workloadReplaceRequest",
1966
+ },
1967
+ responseSchema: {
1968
+ $ref: "#/components/schemas/workloadReplaceResponse",
1969
+ },
1970
+ requiredParams: ["body", "metadata.name", "metadata.namespace"],
1971
+ operationId: "ves.io.schema.views.workload.API.Replace",
1972
+ tags: ["Other"],
1973
+ sourceFile: "domains/container_services.json",
1974
+ displayName: null,
1975
+ dangerLevel: "medium",
1976
+ sideEffects: {
1977
+ modifies: ["workload"],
1978
+ },
1979
+ requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1980
+ cliExamples: [
1981
+ {
1982
+ command: "f5xcctl config workload update {name} --namespace {namespace} -f {file}.yaml",
1983
+ description: "Update workload",
1984
+ use_case: "update",
1985
+ },
1986
+ ],
1987
+ confirmationRequired: false,
1988
+ parameterExamples: {
1989
+ "metadata.name": "Example-corp-web.",
1990
+ "metadata.namespace": "Staging",
1991
+ },
1992
+ validationRules: {},
1993
+ operationMetadata: {
1994
+ common_errors: [
1995
+ {
1996
+ code: 401,
1997
+ message: "Authentication required",
1998
+ solution: "Provide valid API credentials",
1999
+ },
2000
+ {
2001
+ code: 403,
2002
+ message: "Permission denied",
2003
+ solution: "Check access permissions for this operation",
2004
+ },
2005
+ {
2006
+ code: 404,
2007
+ message: "Resource not found",
2008
+ solution: "Verify resource name, namespace, and path",
2009
+ },
2010
+ {
2011
+ code: 409,
2012
+ message: "Resource already exists",
2013
+ solution: "Use different name or update existing resource",
2014
+ },
2015
+ {
2016
+ code: 429,
2017
+ message: "Rate limit exceeded",
2018
+ solution: "Wait before retrying the operation",
2019
+ },
2020
+ {
2021
+ code: 500,
2022
+ message: "Server error",
2023
+ solution: "Retry operation or contact support",
2024
+ },
2025
+ ],
2026
+ conditions: {
2027
+ postconditions: ["Resource updated with new values"],
2028
+ prerequisites: ["Active namespace"],
2029
+ },
2030
+ confirmation_required: false,
2031
+ danger_level: "medium",
2032
+ examples: [
2033
+ {
2034
+ command: "f5xcctl config workload update {name} --namespace {namespace} -f {file}.yaml",
2035
+ description: "Update workload",
2036
+ use_case: "update",
2037
+ },
2038
+ ],
2039
+ field_docs: {},
2040
+ optional_fields: [],
2041
+ performance_impact: {
2042
+ latency: "low",
2043
+ resource_usage: "low",
2044
+ },
2045
+ purpose: "Replace existing workload",
2046
+ required_fields: ["path.metadata.name", "path.metadata.namespace"],
2047
+ side_effects: {
2048
+ modifies: ["workload"],
2049
+ },
2050
+ },
2051
+ },
2052
+ ];
2053
+ export default container_servicesTools;
2054
+ //# sourceMappingURL=index.js.map