@robinmordasiewicz/f5xc-api-mcp 3.4.0 → 3.6.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 (170) hide show
  1. package/dist/generator/dependency-extractor.d.ts +103 -0
  2. package/dist/generator/dependency-extractor.d.ts.map +1 -0
  3. package/dist/generator/dependency-extractor.js +473 -0
  4. package/dist/generator/dependency-extractor.js.map +1 -0
  5. package/dist/generator/dependency-graph.d.ts +67 -0
  6. package/dist/generator/dependency-graph.d.ts.map +1 -0
  7. package/dist/generator/dependency-graph.js +330 -0
  8. package/dist/generator/dependency-graph.js.map +1 -0
  9. package/dist/generator/dependency-types.d.ts +206 -0
  10. package/dist/generator/dependency-types.d.ts.map +1 -0
  11. package/dist/generator/dependency-types.js +37 -0
  12. package/dist/generator/dependency-types.js.map +1 -0
  13. package/dist/generator/openapi-parser.d.ts +21 -77
  14. package/dist/generator/openapi-parser.d.ts.map +1 -1
  15. package/dist/generator/openapi-parser.js +126 -17
  16. package/dist/generator/openapi-parser.js.map +1 -1
  17. package/dist/generator/tool-generator.d.ts +19 -3
  18. package/dist/generator/tool-generator.d.ts.map +1 -1
  19. package/dist/generator/tool-generator.js +26 -28
  20. package/dist/generator/tool-generator.js.map +1 -1
  21. package/dist/index.d.ts +2 -10
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +28 -33
  24. package/dist/index.js.map +1 -1
  25. package/dist/prompts/workflows.d.ts.map +1 -1
  26. package/dist/prompts/workflows.js +30 -174
  27. package/dist/prompts/workflows.js.map +1 -1
  28. package/dist/resources/handlers.d.ts +0 -2
  29. package/dist/resources/handlers.d.ts.map +1 -1
  30. package/dist/resources/handlers.js +0 -51
  31. package/dist/resources/handlers.js.map +1 -1
  32. package/dist/server.d.ts +1 -1
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +1 -2
  35. package/dist/server.js.map +1 -1
  36. package/dist/tools/discovery/dependencies.d.ts +113 -0
  37. package/dist/tools/discovery/dependencies.d.ts.map +1 -0
  38. package/dist/tools/discovery/dependencies.js +258 -0
  39. package/dist/tools/discovery/dependencies.js.map +1 -0
  40. package/dist/tools/discovery/execute.d.ts +1 -3
  41. package/dist/tools/discovery/execute.d.ts.map +1 -1
  42. package/dist/tools/discovery/execute.js +1 -34
  43. package/dist/tools/discovery/execute.js.map +1 -1
  44. package/dist/tools/discovery/index.d.ts +33 -0
  45. package/dist/tools/discovery/index.d.ts.map +1 -1
  46. package/dist/tools/discovery/index.js +43 -0
  47. package/dist/tools/discovery/index.js.map +1 -1
  48. package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -1
  49. package/dist/tools/generated/admin_console_and_ui/index.js +8 -28
  50. package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -1
  51. package/dist/tools/generated/api/index.d.ts.map +1 -1
  52. package/dist/tools/generated/api/index.js +1256 -908
  53. package/dist/tools/generated/api/index.js.map +1 -1
  54. package/dist/tools/generated/authentication/index.d.ts.map +1 -1
  55. package/dist/tools/generated/authentication/index.js +58 -156
  56. package/dist/tools/generated/authentication/index.js.map +1 -1
  57. package/dist/tools/generated/bigip/index.d.ts.map +1 -1
  58. package/dist/tools/generated/bigip/index.js +344 -410
  59. package/dist/tools/generated/bigip/index.js.map +1 -1
  60. package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -1
  61. package/dist/tools/generated/billing_and_usage/index.js +192 -442
  62. package/dist/tools/generated/billing_and_usage/index.js.map +1 -1
  63. package/dist/tools/generated/blindfold/index.d.ts.map +1 -1
  64. package/dist/tools/generated/blindfold/index.js +360 -568
  65. package/dist/tools/generated/blindfold/index.js.map +1 -1
  66. package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -1
  67. package/dist/tools/generated/bot_and_threat_defense/index.js +502 -340
  68. package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -1
  69. package/dist/tools/generated/cdn/index.d.ts.map +1 -1
  70. package/dist/tools/generated/cdn/index.js +369 -428
  71. package/dist/tools/generated/cdn/index.js.map +1 -1
  72. package/dist/tools/generated/ce_management/index.d.ts.map +1 -1
  73. package/dist/tools/generated/ce_management/index.js +407 -558
  74. package/dist/tools/generated/ce_management/index.js.map +1 -1
  75. package/dist/tools/generated/certificates/index.d.ts.map +1 -1
  76. package/dist/tools/generated/certificates/index.js +288 -320
  77. package/dist/tools/generated/certificates/index.js.map +1 -1
  78. package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -1
  79. package/dist/tools/generated/cloud_infrastructure/index.js +407 -572
  80. package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -1
  81. package/dist/tools/generated/container_services/index.d.ts.map +1 -1
  82. package/dist/tools/generated/container_services/index.js +228 -264
  83. package/dist/tools/generated/container_services/index.js.map +1 -1
  84. package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -1
  85. package/dist/tools/generated/data_and_privacy_security/index.js +156 -202
  86. package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -1
  87. package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -1
  88. package/dist/tools/generated/data_intelligence/index.js +120 -290
  89. package/dist/tools/generated/data_intelligence/index.js.map +1 -1
  90. package/dist/tools/generated/ddos/index.d.ts.map +1 -1
  91. package/dist/tools/generated/ddos/index.js +732 -1152
  92. package/dist/tools/generated/ddos/index.js.map +1 -1
  93. package/dist/tools/generated/dns/index.d.ts.map +1 -1
  94. package/dist/tools/generated/dns/index.js +544 -908
  95. package/dist/tools/generated/dns/index.js.map +1 -1
  96. package/dist/tools/generated/generative_ai/index.d.ts.map +1 -1
  97. package/dist/tools/generated/generative_ai/index.js +58 -254
  98. package/dist/tools/generated/generative_ai/index.js.map +1 -1
  99. package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -1
  100. package/dist/tools/generated/managed_kubernetes/index.js +535 -400
  101. package/dist/tools/generated/managed_kubernetes/index.js.map +1 -1
  102. package/dist/tools/generated/marketplace/index.d.ts.map +1 -1
  103. package/dist/tools/generated/marketplace/index.js +343 -594
  104. package/dist/tools/generated/marketplace/index.js.map +1 -1
  105. package/dist/tools/generated/network/index.d.ts.map +1 -1
  106. package/dist/tools/generated/network/index.js +1398 -1590
  107. package/dist/tools/generated/network/index.js.map +1 -1
  108. package/dist/tools/generated/network_security/index.d.ts.map +1 -1
  109. package/dist/tools/generated/network_security/index.js +1879 -1126
  110. package/dist/tools/generated/network_security/index.js.map +1 -1
  111. package/dist/tools/generated/nginx_one/index.d.ts.map +1 -1
  112. package/dist/tools/generated/nginx_one/index.js +108 -236
  113. package/dist/tools/generated/nginx_one/index.js.map +1 -1
  114. package/dist/tools/generated/object_storage/index.d.ts.map +1 -1
  115. package/dist/tools/generated/object_storage/index.js +39 -98
  116. package/dist/tools/generated/object_storage/index.js.map +1 -1
  117. package/dist/tools/generated/observability/index.d.ts.map +1 -1
  118. package/dist/tools/generated/observability/index.js +310 -790
  119. package/dist/tools/generated/observability/index.js.map +1 -1
  120. package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -1
  121. package/dist/tools/generated/rate_limiting/index.js +411 -240
  122. package/dist/tools/generated/rate_limiting/index.js.map +1 -1
  123. package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -1
  124. package/dist/tools/generated/secops_and_incident_response/index.js +137 -80
  125. package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -1
  126. package/dist/tools/generated/service_mesh/index.d.ts.map +1 -1
  127. package/dist/tools/generated/service_mesh/index.js +1118 -778
  128. package/dist/tools/generated/service_mesh/index.js.map +1 -1
  129. package/dist/tools/generated/shape/index.d.ts.map +1 -1
  130. package/dist/tools/generated/shape/index.js +1101 -3504
  131. package/dist/tools/generated/shape/index.js.map +1 -1
  132. package/dist/tools/generated/sites/index.d.ts.map +1 -1
  133. package/dist/tools/generated/sites/index.js +1780 -1872
  134. package/dist/tools/generated/sites/index.js.map +1 -1
  135. package/dist/tools/generated/statistics/index.d.ts.map +1 -1
  136. package/dist/tools/generated/statistics/index.js +644 -1350
  137. package/dist/tools/generated/statistics/index.js.map +1 -1
  138. package/dist/tools/generated/support/index.d.ts.map +1 -1
  139. package/dist/tools/generated/support/index.js +321 -928
  140. package/dist/tools/generated/support/index.js.map +1 -1
  141. package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -1
  142. package/dist/tools/generated/telemetry_and_insights/index.js +123 -492
  143. package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -1
  144. package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -1
  145. package/dist/tools/generated/tenant_and_identity/index.js +1568 -3086
  146. package/dist/tools/generated/tenant_and_identity/index.js.map +1 -1
  147. package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -1
  148. package/dist/tools/generated/threat_campaign/index.js +4 -14
  149. package/dist/tools/generated/threat_campaign/index.js.map +1 -1
  150. package/dist/tools/generated/users/index.d.ts.map +1 -1
  151. package/dist/tools/generated/users/index.js +151 -208
  152. package/dist/tools/generated/users/index.js.map +1 -1
  153. package/dist/tools/generated/virtual/index.d.ts.map +1 -1
  154. package/dist/tools/generated/virtual/index.js +1256 -1533
  155. package/dist/tools/generated/virtual/index.js.map +1 -1
  156. package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -1
  157. package/dist/tools/generated/vpm_and_node_management/index.js +4 -14
  158. package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -1
  159. package/dist/tools/generated/waf/index.d.ts.map +1 -1
  160. package/dist/tools/generated/waf/index.js +821 -675
  161. package/dist/tools/generated/waf/index.js.map +1 -1
  162. package/package.json +1 -1
  163. package/dist/cli/index.d.ts +0 -16
  164. package/dist/cli/index.d.ts.map +0 -1
  165. package/dist/cli/index.js +0 -116
  166. package/dist/cli/index.js.map +0 -1
  167. package/dist/cli/setup.d.ts +0 -54
  168. package/dist/cli/setup.d.ts.map +0 -1
  169. package/dist/cli/setup.js +0 -347
  170. package/dist/cli/setup.js.map +0 -1
@@ -42,18 +42,6 @@ export const rate_limitingTools = [
42
42
  creates: ["policer"],
43
43
  },
44
44
  requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
45
- cliExamples: [
46
- {
47
- command: "f5xcctl config policer create -f {file}.yaml",
48
- description: "Create from YAML file",
49
- use_case: "file_based",
50
- },
51
- {
52
- command: "f5xcctl config policer create {name} --namespace {namespace}",
53
- description: "Create policer",
54
- use_case: "basic_create",
55
- },
56
- ],
57
45
  confirmationRequired: false,
58
46
  parameterExamples: {
59
47
  "metadata.namespace": "Staging",
@@ -98,18 +86,6 @@ export const rate_limitingTools = [
98
86
  },
99
87
  confirmation_required: false,
100
88
  danger_level: "medium",
101
- examples: [
102
- {
103
- command: "f5xcctl config policer create {name} --namespace {namespace}",
104
- description: "Create policer",
105
- use_case: "basic_create",
106
- },
107
- {
108
- command: "f5xcctl config policer create -f {file}.yaml",
109
- description: "Create from YAML file",
110
- use_case: "file_based",
111
- },
112
- ],
113
89
  field_docs: {},
114
90
  optional_fields: [],
115
91
  performance_impact: {
@@ -122,6 +98,45 @@ export const rate_limitingTools = [
122
98
  creates: ["policer"],
123
99
  },
124
100
  },
101
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
102
+ dependencies: [
103
+ {
104
+ domain: "",
105
+ fieldPath: "",
106
+ inline: false,
107
+ required: false,
108
+ resourceType: "policer",
109
+ },
110
+ {
111
+ domain: "",
112
+ fieldPath: "metadata",
113
+ inline: false,
114
+ required: false,
115
+ resourceType: "schema-object-create-meta",
116
+ },
117
+ {
118
+ domain: "",
119
+ fieldPath: "spec",
120
+ inline: false,
121
+ required: false,
122
+ resourceType: "policer-create",
123
+ },
124
+ ],
125
+ oneOfGroups: [],
126
+ subscriptionRequirements: [
127
+ {
128
+ addonService: "f5xc_waap_standard",
129
+ displayName: "F5XC WAAP Standard",
130
+ required: false,
131
+ tier: "standard",
132
+ },
133
+ {
134
+ addonService: "f5xc_waap_advanced",
135
+ displayName: "F5XC WAAP Advanced",
136
+ required: false,
137
+ tier: "advanced",
138
+ },
139
+ ],
125
140
  },
126
141
  {
127
142
  toolName: "f5xc-api-ratelimiting-policer-delete",
@@ -171,13 +186,6 @@ export const rate_limitingTools = [
171
186
  deletes: ["policer", "contained_resources"],
172
187
  },
173
188
  requiredFields: ["path.name", "path.namespace"],
174
- cliExamples: [
175
- {
176
- command: "f5xcctl config policer delete {name} --namespace {namespace}",
177
- description: "Delete policer",
178
- use_case: "delete",
179
- },
180
- ],
181
189
  confirmationRequired: true,
182
190
  parameterExamples: {
183
191
  name: "Name",
@@ -223,13 +231,6 @@ export const rate_limitingTools = [
223
231
  },
224
232
  confirmation_required: true,
225
233
  danger_level: "high",
226
- examples: [
227
- {
228
- command: "f5xcctl config policer delete {name} --namespace {namespace}",
229
- description: "Delete policer",
230
- use_case: "delete",
231
- },
232
- ],
233
234
  field_docs: {},
234
235
  optional_fields: [],
235
236
  performance_impact: {
@@ -242,6 +243,31 @@ export const rate_limitingTools = [
242
243
  deletes: ["policer", "contained_resources"],
243
244
  },
244
245
  },
246
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
247
+ dependencies: [
248
+ {
249
+ domain: "",
250
+ fieldPath: "",
251
+ inline: false,
252
+ required: false,
253
+ resourceType: "policer",
254
+ },
255
+ ],
256
+ oneOfGroups: [],
257
+ subscriptionRequirements: [
258
+ {
259
+ addonService: "f5xc_waap_standard",
260
+ displayName: "F5XC WAAP Standard",
261
+ required: false,
262
+ tier: "standard",
263
+ },
264
+ {
265
+ addonService: "f5xc_waap_advanced",
266
+ displayName: "F5XC WAAP Advanced",
267
+ required: false,
268
+ tier: "advanced",
269
+ },
270
+ ],
245
271
  },
246
272
  {
247
273
  toolName: "f5xc-api-ratelimiting-policer-get",
@@ -310,13 +336,6 @@ export const rate_limitingTools = [
310
336
  dangerLevel: "low",
311
337
  sideEffects: null,
312
338
  requiredFields: ["path.name", "path.namespace"],
313
- cliExamples: [
314
- {
315
- command: "f5xcctl config policer get {name} --namespace {namespace}",
316
- description: "Get specific policer",
317
- use_case: "get_specific",
318
- },
319
- ],
320
339
  confirmationRequired: false,
321
340
  parameterExamples: {
322
341
  name: "Name",
@@ -362,13 +381,6 @@ export const rate_limitingTools = [
362
381
  },
363
382
  confirmation_required: false,
364
383
  danger_level: "low",
365
- examples: [
366
- {
367
- command: "f5xcctl config policer get {name} --namespace {namespace}",
368
- description: "Get specific policer",
369
- use_case: "get_specific",
370
- },
371
- ],
372
384
  field_docs: {},
373
385
  optional_fields: [],
374
386
  performance_impact: {
@@ -379,6 +391,23 @@ export const rate_limitingTools = [
379
391
  required_fields: ["path.name", "path.namespace"],
380
392
  side_effects: {},
381
393
  },
394
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
395
+ dependencies: [],
396
+ oneOfGroups: [],
397
+ subscriptionRequirements: [
398
+ {
399
+ addonService: "f5xc_waap_standard",
400
+ displayName: "F5XC WAAP Standard",
401
+ required: false,
402
+ tier: "standard",
403
+ },
404
+ {
405
+ addonService: "f5xc_waap_advanced",
406
+ displayName: "F5XC WAAP Advanced",
407
+ required: false,
408
+ tier: "advanced",
409
+ },
410
+ ],
382
411
  },
383
412
  {
384
413
  toolName: "f5xc-api-ratelimiting-policer-list",
@@ -453,13 +482,6 @@ export const rate_limitingTools = [
453
482
  dangerLevel: "low",
454
483
  sideEffects: null,
455
484
  requiredFields: ["path.namespace"],
456
- cliExamples: [
457
- {
458
- command: "f5xcctl config policer list --namespace {namespace}",
459
- description: "List all policers",
460
- use_case: "list_all",
461
- },
462
- ],
463
485
  confirmationRequired: false,
464
486
  parameterExamples: {
465
487
  label_filter: "Env in (staging, testing), tier in (web, db)",
@@ -505,13 +527,6 @@ export const rate_limitingTools = [
505
527
  },
506
528
  confirmation_required: false,
507
529
  danger_level: "low",
508
- examples: [
509
- {
510
- command: "f5xcctl config policer list --namespace {namespace}",
511
- description: "List all policers",
512
- use_case: "list_all",
513
- },
514
- ],
515
530
  field_docs: {},
516
531
  optional_fields: [],
517
532
  performance_impact: {
@@ -522,6 +537,23 @@ export const rate_limitingTools = [
522
537
  required_fields: ["path.namespace"],
523
538
  side_effects: {},
524
539
  },
540
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
541
+ dependencies: [],
542
+ oneOfGroups: [],
543
+ subscriptionRequirements: [
544
+ {
545
+ addonService: "f5xc_waap_standard",
546
+ displayName: "F5XC WAAP Standard",
547
+ required: false,
548
+ tier: "standard",
549
+ },
550
+ {
551
+ addonService: "f5xc_waap_advanced",
552
+ displayName: "F5XC WAAP Advanced",
553
+ required: false,
554
+ tier: "advanced",
555
+ },
556
+ ],
525
557
  },
526
558
  {
527
559
  toolName: "f5xc-api-ratelimiting-policer-update",
@@ -573,13 +605,6 @@ export const rate_limitingTools = [
573
605
  modifies: ["policer"],
574
606
  },
575
607
  requiredFields: ["path.metadata.name", "path.metadata.namespace"],
576
- cliExamples: [
577
- {
578
- command: "f5xcctl config policer update {name} --namespace {namespace} -f {file}.yaml",
579
- description: "Update policer",
580
- use_case: "update",
581
- },
582
- ],
583
608
  confirmationRequired: false,
584
609
  parameterExamples: {
585
610
  "metadata.name": "Example-corp-web.",
@@ -625,13 +650,6 @@ export const rate_limitingTools = [
625
650
  },
626
651
  confirmation_required: false,
627
652
  danger_level: "medium",
628
- examples: [
629
- {
630
- command: "f5xcctl config policer update {name} --namespace {namespace} -f {file}.yaml",
631
- description: "Update policer",
632
- use_case: "update",
633
- },
634
- ],
635
653
  field_docs: {},
636
654
  optional_fields: [],
637
655
  performance_impact: {
@@ -644,6 +662,45 @@ export const rate_limitingTools = [
644
662
  modifies: ["policer"],
645
663
  },
646
664
  },
665
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
666
+ dependencies: [
667
+ {
668
+ domain: "",
669
+ fieldPath: "",
670
+ inline: false,
671
+ required: false,
672
+ resourceType: "policer",
673
+ },
674
+ {
675
+ domain: "",
676
+ fieldPath: "metadata",
677
+ inline: false,
678
+ required: false,
679
+ resourceType: "schema-object-replace-meta",
680
+ },
681
+ {
682
+ domain: "",
683
+ fieldPath: "spec",
684
+ inline: false,
685
+ required: false,
686
+ resourceType: "policer-replace",
687
+ },
688
+ ],
689
+ oneOfGroups: [],
690
+ subscriptionRequirements: [
691
+ {
692
+ addonService: "f5xc_waap_standard",
693
+ displayName: "F5XC WAAP Standard",
694
+ required: false,
695
+ tier: "standard",
696
+ },
697
+ {
698
+ addonService: "f5xc_waap_advanced",
699
+ displayName: "F5XC WAAP Advanced",
700
+ required: false,
701
+ tier: "advanced",
702
+ },
703
+ ],
647
704
  },
648
705
  {
649
706
  toolName: "f5xc-api-ratelimiting-protocol-policer-create",
@@ -684,18 +741,6 @@ export const rate_limitingTools = [
684
741
  creates: ["protocol-policer"],
685
742
  },
686
743
  requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
687
- cliExamples: [
688
- {
689
- command: "f5xcctl config protocol-policer create -f {file}.yaml",
690
- description: "Create from YAML file",
691
- use_case: "file_based",
692
- },
693
- {
694
- command: "f5xcctl config protocol-policer create {name} --namespace {namespace}",
695
- description: "Create protocol-policer",
696
- use_case: "basic_create",
697
- },
698
- ],
699
744
  confirmationRequired: false,
700
745
  parameterExamples: {
701
746
  "metadata.namespace": "Staging",
@@ -743,18 +788,6 @@ export const rate_limitingTools = [
743
788
  },
744
789
  confirmation_required: false,
745
790
  danger_level: "medium",
746
- examples: [
747
- {
748
- command: "f5xcctl config protocol-policer create {name} --namespace {namespace}",
749
- description: "Create protocol-policer",
750
- use_case: "basic_create",
751
- },
752
- {
753
- command: "f5xcctl config protocol-policer create -f {file}.yaml",
754
- description: "Create from YAML file",
755
- use_case: "file_based",
756
- },
757
- ],
758
791
  field_docs: {},
759
792
  optional_fields: [],
760
793
  performance_impact: {
@@ -767,6 +800,45 @@ export const rate_limitingTools = [
767
800
  creates: ["protocol-policer"],
768
801
  },
769
802
  },
803
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/protocol_policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
804
+ dependencies: [
805
+ {
806
+ domain: "",
807
+ fieldPath: "",
808
+ inline: false,
809
+ required: false,
810
+ resourceType: "protocol-policer",
811
+ },
812
+ {
813
+ domain: "",
814
+ fieldPath: "metadata",
815
+ inline: false,
816
+ required: false,
817
+ resourceType: "schema-object-create-meta",
818
+ },
819
+ {
820
+ domain: "",
821
+ fieldPath: "spec",
822
+ inline: false,
823
+ required: false,
824
+ resourceType: "protocol-policer-create",
825
+ },
826
+ ],
827
+ oneOfGroups: [],
828
+ subscriptionRequirements: [
829
+ {
830
+ addonService: "f5xc_waap_standard",
831
+ displayName: "F5XC WAAP Standard",
832
+ required: false,
833
+ tier: "standard",
834
+ },
835
+ {
836
+ addonService: "f5xc_waap_advanced",
837
+ displayName: "F5XC WAAP Advanced",
838
+ required: false,
839
+ tier: "advanced",
840
+ },
841
+ ],
770
842
  },
771
843
  {
772
844
  toolName: "f5xc-api-ratelimiting-protocol-policer-delete",
@@ -816,13 +888,6 @@ export const rate_limitingTools = [
816
888
  deletes: ["protocol-policer", "contained_resources"],
817
889
  },
818
890
  requiredFields: ["path.name", "path.namespace"],
819
- cliExamples: [
820
- {
821
- command: "f5xcctl config protocol-policer delete {name} --namespace {namespace}",
822
- description: "Delete protocol-policer",
823
- use_case: "delete",
824
- },
825
- ],
826
891
  confirmationRequired: true,
827
892
  parameterExamples: {
828
893
  name: "Name",
@@ -868,13 +933,6 @@ export const rate_limitingTools = [
868
933
  },
869
934
  confirmation_required: true,
870
935
  danger_level: "high",
871
- examples: [
872
- {
873
- command: "f5xcctl config protocol-policer delete {name} --namespace {namespace}",
874
- description: "Delete protocol-policer",
875
- use_case: "delete",
876
- },
877
- ],
878
936
  field_docs: {},
879
937
  optional_fields: [],
880
938
  performance_impact: {
@@ -887,6 +945,31 @@ export const rate_limitingTools = [
887
945
  deletes: ["protocol-policer", "contained_resources"],
888
946
  },
889
947
  },
948
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/protocol_policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
949
+ dependencies: [
950
+ {
951
+ domain: "",
952
+ fieldPath: "",
953
+ inline: false,
954
+ required: false,
955
+ resourceType: "protocol-policer",
956
+ },
957
+ ],
958
+ oneOfGroups: [],
959
+ subscriptionRequirements: [
960
+ {
961
+ addonService: "f5xc_waap_standard",
962
+ displayName: "F5XC WAAP Standard",
963
+ required: false,
964
+ tier: "standard",
965
+ },
966
+ {
967
+ addonService: "f5xc_waap_advanced",
968
+ displayName: "F5XC WAAP Advanced",
969
+ required: false,
970
+ tier: "advanced",
971
+ },
972
+ ],
890
973
  },
891
974
  {
892
975
  toolName: "f5xc-api-ratelimiting-protocol-policer-get",
@@ -955,13 +1038,6 @@ export const rate_limitingTools = [
955
1038
  dangerLevel: "low",
956
1039
  sideEffects: null,
957
1040
  requiredFields: ["path.name", "path.namespace"],
958
- cliExamples: [
959
- {
960
- command: "f5xcctl config protocol-policer get {name} --namespace {namespace}",
961
- description: "Get specific protocol-policer",
962
- use_case: "get_specific",
963
- },
964
- ],
965
1041
  confirmationRequired: false,
966
1042
  parameterExamples: {
967
1043
  name: "Name",
@@ -1007,13 +1083,6 @@ export const rate_limitingTools = [
1007
1083
  },
1008
1084
  confirmation_required: false,
1009
1085
  danger_level: "low",
1010
- examples: [
1011
- {
1012
- command: "f5xcctl config protocol-policer get {name} --namespace {namespace}",
1013
- description: "Get specific protocol-policer",
1014
- use_case: "get_specific",
1015
- },
1016
- ],
1017
1086
  field_docs: {},
1018
1087
  optional_fields: [],
1019
1088
  performance_impact: {
@@ -1024,6 +1093,23 @@ export const rate_limitingTools = [
1024
1093
  required_fields: ["path.name", "path.namespace"],
1025
1094
  side_effects: {},
1026
1095
  },
1096
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/protocol_policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1097
+ dependencies: [],
1098
+ oneOfGroups: [],
1099
+ subscriptionRequirements: [
1100
+ {
1101
+ addonService: "f5xc_waap_standard",
1102
+ displayName: "F5XC WAAP Standard",
1103
+ required: false,
1104
+ tier: "standard",
1105
+ },
1106
+ {
1107
+ addonService: "f5xc_waap_advanced",
1108
+ displayName: "F5XC WAAP Advanced",
1109
+ required: false,
1110
+ tier: "advanced",
1111
+ },
1112
+ ],
1027
1113
  },
1028
1114
  {
1029
1115
  toolName: "f5xc-api-ratelimiting-protocol-policer-list",
@@ -1098,13 +1184,6 @@ export const rate_limitingTools = [
1098
1184
  dangerLevel: "low",
1099
1185
  sideEffects: null,
1100
1186
  requiredFields: ["path.namespace"],
1101
- cliExamples: [
1102
- {
1103
- command: "f5xcctl config protocol-policer list --namespace {namespace}",
1104
- description: "List all protocol-policers",
1105
- use_case: "list_all",
1106
- },
1107
- ],
1108
1187
  confirmationRequired: false,
1109
1188
  parameterExamples: {
1110
1189
  label_filter: "Env in (staging, testing), tier in (web, db)",
@@ -1150,13 +1229,6 @@ export const rate_limitingTools = [
1150
1229
  },
1151
1230
  confirmation_required: false,
1152
1231
  danger_level: "low",
1153
- examples: [
1154
- {
1155
- command: "f5xcctl config protocol-policer list --namespace {namespace}",
1156
- description: "List all protocol-policers",
1157
- use_case: "list_all",
1158
- },
1159
- ],
1160
1232
  field_docs: {},
1161
1233
  optional_fields: [],
1162
1234
  performance_impact: {
@@ -1167,6 +1239,23 @@ export const rate_limitingTools = [
1167
1239
  required_fields: ["path.namespace"],
1168
1240
  side_effects: {},
1169
1241
  },
1242
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/protocol_policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1243
+ dependencies: [],
1244
+ oneOfGroups: [],
1245
+ subscriptionRequirements: [
1246
+ {
1247
+ addonService: "f5xc_waap_standard",
1248
+ displayName: "F5XC WAAP Standard",
1249
+ required: false,
1250
+ tier: "standard",
1251
+ },
1252
+ {
1253
+ addonService: "f5xc_waap_advanced",
1254
+ displayName: "F5XC WAAP Advanced",
1255
+ required: false,
1256
+ tier: "advanced",
1257
+ },
1258
+ ],
1170
1259
  },
1171
1260
  {
1172
1261
  toolName: "f5xc-api-ratelimiting-protocol-policer-update",
@@ -1218,13 +1307,6 @@ export const rate_limitingTools = [
1218
1307
  modifies: ["protocol-policer"],
1219
1308
  },
1220
1309
  requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1221
- cliExamples: [
1222
- {
1223
- command: "f5xcctl config protocol-policer update {name} --namespace {namespace} -f {file}.yaml",
1224
- description: "Update protocol-policer",
1225
- use_case: "update",
1226
- },
1227
- ],
1228
1310
  confirmationRequired: false,
1229
1311
  parameterExamples: {
1230
1312
  "metadata.name": "Example-corp-web.",
@@ -1270,13 +1352,6 @@ export const rate_limitingTools = [
1270
1352
  },
1271
1353
  confirmation_required: false,
1272
1354
  danger_level: "medium",
1273
- examples: [
1274
- {
1275
- command: "f5xcctl config protocol-policer update {name} --namespace {namespace} -f {file}.yaml",
1276
- description: "Update protocol-policer",
1277
- use_case: "update",
1278
- },
1279
- ],
1280
1355
  field_docs: {},
1281
1356
  optional_fields: [],
1282
1357
  performance_impact: {
@@ -1289,6 +1364,45 @@ export const rate_limitingTools = [
1289
1364
  modifies: ["protocol-policer"],
1290
1365
  },
1291
1366
  },
1367
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/protocol_policers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1368
+ dependencies: [
1369
+ {
1370
+ domain: "",
1371
+ fieldPath: "",
1372
+ inline: false,
1373
+ required: false,
1374
+ resourceType: "protocol-policer",
1375
+ },
1376
+ {
1377
+ domain: "",
1378
+ fieldPath: "metadata",
1379
+ inline: false,
1380
+ required: false,
1381
+ resourceType: "schema-object-replace-meta",
1382
+ },
1383
+ {
1384
+ domain: "",
1385
+ fieldPath: "spec",
1386
+ inline: false,
1387
+ required: false,
1388
+ resourceType: "protocol-policer-replace",
1389
+ },
1390
+ ],
1391
+ oneOfGroups: [],
1392
+ subscriptionRequirements: [
1393
+ {
1394
+ addonService: "f5xc_waap_standard",
1395
+ displayName: "F5XC WAAP Standard",
1396
+ required: false,
1397
+ tier: "standard",
1398
+ },
1399
+ {
1400
+ addonService: "f5xc_waap_advanced",
1401
+ displayName: "F5XC WAAP Advanced",
1402
+ required: false,
1403
+ tier: "advanced",
1404
+ },
1405
+ ],
1292
1406
  },
1293
1407
  {
1294
1408
  toolName: "f5xc-api-ratelimiting-rate-limiter-create",
@@ -1329,18 +1443,6 @@ export const rate_limitingTools = [
1329
1443
  creates: ["rate-limiter"],
1330
1444
  },
1331
1445
  requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
1332
- cliExamples: [
1333
- {
1334
- command: "f5xcctl config rate-limiter create -f {file}.yaml",
1335
- description: "Create from YAML file",
1336
- use_case: "file_based",
1337
- },
1338
- {
1339
- command: "f5xcctl config rate-limiter create {name} --namespace {namespace}",
1340
- description: "Create rate-limiter",
1341
- use_case: "basic_create",
1342
- },
1343
- ],
1344
1446
  confirmationRequired: false,
1345
1447
  parameterExamples: {
1346
1448
  "metadata.namespace": "Staging",
@@ -1385,18 +1487,6 @@ export const rate_limitingTools = [
1385
1487
  },
1386
1488
  confirmation_required: false,
1387
1489
  danger_level: "medium",
1388
- examples: [
1389
- {
1390
- command: "f5xcctl config rate-limiter create {name} --namespace {namespace}",
1391
- description: "Create rate-limiter",
1392
- use_case: "basic_create",
1393
- },
1394
- {
1395
- command: "f5xcctl config rate-limiter create -f {file}.yaml",
1396
- description: "Create from YAML file",
1397
- use_case: "file_based",
1398
- },
1399
- ],
1400
1490
  field_docs: {},
1401
1491
  optional_fields: [],
1402
1492
  performance_impact: {
@@ -1409,6 +1499,45 @@ export const rate_limitingTools = [
1409
1499
  creates: ["rate-limiter"],
1410
1500
  },
1411
1501
  },
1502
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/rate_limiters" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1503
+ dependencies: [
1504
+ {
1505
+ domain: "",
1506
+ fieldPath: "",
1507
+ inline: false,
1508
+ required: false,
1509
+ resourceType: "rate-limiter",
1510
+ },
1511
+ {
1512
+ domain: "",
1513
+ fieldPath: "metadata",
1514
+ inline: false,
1515
+ required: false,
1516
+ resourceType: "schema-object-create-meta",
1517
+ },
1518
+ {
1519
+ domain: "",
1520
+ fieldPath: "spec",
1521
+ inline: false,
1522
+ required: false,
1523
+ resourceType: "rate-limiter-create",
1524
+ },
1525
+ ],
1526
+ oneOfGroups: [],
1527
+ subscriptionRequirements: [
1528
+ {
1529
+ addonService: "f5xc_waap_standard",
1530
+ displayName: "F5XC WAAP Standard",
1531
+ required: false,
1532
+ tier: "standard",
1533
+ },
1534
+ {
1535
+ addonService: "f5xc_waap_advanced",
1536
+ displayName: "F5XC WAAP Advanced",
1537
+ required: false,
1538
+ tier: "advanced",
1539
+ },
1540
+ ],
1412
1541
  },
1413
1542
  {
1414
1543
  toolName: "f5xc-api-ratelimiting-rate-limiter-delete",
@@ -1458,13 +1587,6 @@ export const rate_limitingTools = [
1458
1587
  deletes: ["rate-limiter", "contained_resources"],
1459
1588
  },
1460
1589
  requiredFields: ["path.name", "path.namespace"],
1461
- cliExamples: [
1462
- {
1463
- command: "f5xcctl config rate-limiter delete {name} --namespace {namespace}",
1464
- description: "Delete rate-limiter",
1465
- use_case: "delete",
1466
- },
1467
- ],
1468
1590
  confirmationRequired: true,
1469
1591
  parameterExamples: {
1470
1592
  name: "Name",
@@ -1510,13 +1632,6 @@ export const rate_limitingTools = [
1510
1632
  },
1511
1633
  confirmation_required: true,
1512
1634
  danger_level: "high",
1513
- examples: [
1514
- {
1515
- command: "f5xcctl config rate-limiter delete {name} --namespace {namespace}",
1516
- description: "Delete rate-limiter",
1517
- use_case: "delete",
1518
- },
1519
- ],
1520
1635
  field_docs: {},
1521
1636
  optional_fields: [],
1522
1637
  performance_impact: {
@@ -1529,6 +1644,31 @@ export const rate_limitingTools = [
1529
1644
  deletes: ["rate-limiter", "contained_resources"],
1530
1645
  },
1531
1646
  },
1647
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/rate_limiters" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1648
+ dependencies: [
1649
+ {
1650
+ domain: "",
1651
+ fieldPath: "",
1652
+ inline: false,
1653
+ required: false,
1654
+ resourceType: "rate-limiter",
1655
+ },
1656
+ ],
1657
+ oneOfGroups: [],
1658
+ subscriptionRequirements: [
1659
+ {
1660
+ addonService: "f5xc_waap_standard",
1661
+ displayName: "F5XC WAAP Standard",
1662
+ required: false,
1663
+ tier: "standard",
1664
+ },
1665
+ {
1666
+ addonService: "f5xc_waap_advanced",
1667
+ displayName: "F5XC WAAP Advanced",
1668
+ required: false,
1669
+ tier: "advanced",
1670
+ },
1671
+ ],
1532
1672
  },
1533
1673
  {
1534
1674
  toolName: "f5xc-api-ratelimiting-rate-limiter-get",
@@ -1597,13 +1737,6 @@ export const rate_limitingTools = [
1597
1737
  dangerLevel: "low",
1598
1738
  sideEffects: null,
1599
1739
  requiredFields: ["path.name", "path.namespace"],
1600
- cliExamples: [
1601
- {
1602
- command: "f5xcctl config rate-limiter get {name} --namespace {namespace}",
1603
- description: "Get specific rate-limiter",
1604
- use_case: "get_specific",
1605
- },
1606
- ],
1607
1740
  confirmationRequired: false,
1608
1741
  parameterExamples: {
1609
1742
  name: "Name",
@@ -1649,13 +1782,6 @@ export const rate_limitingTools = [
1649
1782
  },
1650
1783
  confirmation_required: false,
1651
1784
  danger_level: "low",
1652
- examples: [
1653
- {
1654
- command: "f5xcctl config rate-limiter get {name} --namespace {namespace}",
1655
- description: "Get specific rate-limiter",
1656
- use_case: "get_specific",
1657
- },
1658
- ],
1659
1785
  field_docs: {},
1660
1786
  optional_fields: [],
1661
1787
  performance_impact: {
@@ -1666,6 +1792,23 @@ export const rate_limitingTools = [
1666
1792
  required_fields: ["path.name", "path.namespace"],
1667
1793
  side_effects: {},
1668
1794
  },
1795
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/rate_limiters" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1796
+ dependencies: [],
1797
+ oneOfGroups: [],
1798
+ subscriptionRequirements: [
1799
+ {
1800
+ addonService: "f5xc_waap_standard",
1801
+ displayName: "F5XC WAAP Standard",
1802
+ required: false,
1803
+ tier: "standard",
1804
+ },
1805
+ {
1806
+ addonService: "f5xc_waap_advanced",
1807
+ displayName: "F5XC WAAP Advanced",
1808
+ required: false,
1809
+ tier: "advanced",
1810
+ },
1811
+ ],
1669
1812
  },
1670
1813
  {
1671
1814
  toolName: "f5xc-api-ratelimiting-rate-limiter-list",
@@ -1740,13 +1883,6 @@ export const rate_limitingTools = [
1740
1883
  dangerLevel: "low",
1741
1884
  sideEffects: null,
1742
1885
  requiredFields: ["path.namespace"],
1743
- cliExamples: [
1744
- {
1745
- command: "f5xcctl config rate-limiter list --namespace {namespace}",
1746
- description: "List all rate-limiters",
1747
- use_case: "list_all",
1748
- },
1749
- ],
1750
1886
  confirmationRequired: false,
1751
1887
  parameterExamples: {
1752
1888
  label_filter: "Env in (staging, testing), tier in (web, db)",
@@ -1792,13 +1928,6 @@ export const rate_limitingTools = [
1792
1928
  },
1793
1929
  confirmation_required: false,
1794
1930
  danger_level: "low",
1795
- examples: [
1796
- {
1797
- command: "f5xcctl config rate-limiter list --namespace {namespace}",
1798
- description: "List all rate-limiters",
1799
- use_case: "list_all",
1800
- },
1801
- ],
1802
1931
  field_docs: {},
1803
1932
  optional_fields: [],
1804
1933
  performance_impact: {
@@ -1809,6 +1938,23 @@ export const rate_limitingTools = [
1809
1938
  required_fields: ["path.namespace"],
1810
1939
  side_effects: {},
1811
1940
  },
1941
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/rate_limiters" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
1942
+ dependencies: [],
1943
+ oneOfGroups: [],
1944
+ subscriptionRequirements: [
1945
+ {
1946
+ addonService: "f5xc_waap_standard",
1947
+ displayName: "F5XC WAAP Standard",
1948
+ required: false,
1949
+ tier: "standard",
1950
+ },
1951
+ {
1952
+ addonService: "f5xc_waap_advanced",
1953
+ displayName: "F5XC WAAP Advanced",
1954
+ required: false,
1955
+ tier: "advanced",
1956
+ },
1957
+ ],
1812
1958
  },
1813
1959
  {
1814
1960
  toolName: "f5xc-api-ratelimiting-rate-limiter-update",
@@ -1860,13 +2006,6 @@ export const rate_limitingTools = [
1860
2006
  modifies: ["rate-limiter"],
1861
2007
  },
1862
2008
  requiredFields: ["path.metadata.name", "path.metadata.namespace"],
1863
- cliExamples: [
1864
- {
1865
- command: "f5xcctl config rate-limiter update {name} --namespace {namespace} -f {file}.yaml",
1866
- description: "Update rate-limiter",
1867
- use_case: "update",
1868
- },
1869
- ],
1870
2009
  confirmationRequired: false,
1871
2010
  parameterExamples: {
1872
2011
  "metadata.name": "Example-corp-web.",
@@ -1912,13 +2051,6 @@ export const rate_limitingTools = [
1912
2051
  },
1913
2052
  confirmation_required: false,
1914
2053
  danger_level: "medium",
1915
- examples: [
1916
- {
1917
- command: "f5xcctl config rate-limiter update {name} --namespace {namespace} -f {file}.yaml",
1918
- description: "Update rate-limiter",
1919
- use_case: "update",
1920
- },
1921
- ],
1922
2054
  field_docs: {},
1923
2055
  optional_fields: [],
1924
2056
  performance_impact: {
@@ -1931,6 +2063,45 @@ export const rate_limitingTools = [
1931
2063
  modifies: ["rate-limiter"],
1932
2064
  },
1933
2065
  },
2066
+ curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/rate_limiters" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
2067
+ dependencies: [
2068
+ {
2069
+ domain: "",
2070
+ fieldPath: "",
2071
+ inline: false,
2072
+ required: false,
2073
+ resourceType: "rate-limiter",
2074
+ },
2075
+ {
2076
+ domain: "",
2077
+ fieldPath: "metadata",
2078
+ inline: false,
2079
+ required: false,
2080
+ resourceType: "schema-object-replace-meta",
2081
+ },
2082
+ {
2083
+ domain: "",
2084
+ fieldPath: "spec",
2085
+ inline: false,
2086
+ required: false,
2087
+ resourceType: "rate-limiter-replace",
2088
+ },
2089
+ ],
2090
+ oneOfGroups: [],
2091
+ subscriptionRequirements: [
2092
+ {
2093
+ addonService: "f5xc_waap_standard",
2094
+ displayName: "F5XC WAAP Standard",
2095
+ required: false,
2096
+ tier: "standard",
2097
+ },
2098
+ {
2099
+ addonService: "f5xc_waap_advanced",
2100
+ displayName: "F5XC WAAP Advanced",
2101
+ required: false,
2102
+ tier: "advanced",
2103
+ },
2104
+ ],
1934
2105
  },
1935
2106
  ];
1936
2107
  export default rate_limitingTools;