@robinmordasiewicz/f5xc-api-mcp 1.0.82-2512312028
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +74 -0
- package/README.md +415 -0
- package/dist/auth/credential-manager.d.ts +151 -0
- package/dist/auth/credential-manager.d.ts.map +1 -0
- package/dist/auth/credential-manager.js +330 -0
- package/dist/auth/credential-manager.js.map +1 -0
- package/dist/auth/http-client.d.ts +81 -0
- package/dist/auth/http-client.d.ts.map +1 -0
- package/dist/auth/http-client.js +197 -0
- package/dist/auth/http-client.js.map +1 -0
- package/dist/auth/index.d.ts +8 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +6 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/config/config-manager.d.ts +72 -0
- package/dist/config/config-manager.d.ts.map +1 -0
- package/dist/config/config-manager.js +247 -0
- package/dist/config/config-manager.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/schema.d.ts +74 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +75 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/types.d.ts +77 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +31 -0
- package/dist/config/types.js.map +1 -0
- package/dist/generator/dependency-extractor.d.ts +103 -0
- package/dist/generator/dependency-extractor.d.ts.map +1 -0
- package/dist/generator/dependency-extractor.js +473 -0
- package/dist/generator/dependency-extractor.js.map +1 -0
- package/dist/generator/dependency-graph.d.ts +67 -0
- package/dist/generator/dependency-graph.d.ts.map +1 -0
- package/dist/generator/dependency-graph.js +330 -0
- package/dist/generator/dependency-graph.js.map +1 -0
- package/dist/generator/dependency-types.d.ts +206 -0
- package/dist/generator/dependency-types.d.ts.map +1 -0
- package/dist/generator/dependency-types.js +37 -0
- package/dist/generator/dependency-types.js.map +1 -0
- package/dist/generator/index.d.ts +7 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +7 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/naming/acronyms.d.ts +81 -0
- package/dist/generator/naming/acronyms.d.ts.map +1 -0
- package/dist/generator/naming/acronyms.js +253 -0
- package/dist/generator/naming/acronyms.js.map +1 -0
- package/dist/generator/naming/index.d.ts +6 -0
- package/dist/generator/naming/index.d.ts.map +1 -0
- package/dist/generator/naming/index.js +6 -0
- package/dist/generator/naming/index.js.map +1 -0
- package/dist/generator/naming/volterra-mapping.d.ts +102 -0
- package/dist/generator/naming/volterra-mapping.d.ts.map +1 -0
- package/dist/generator/naming/volterra-mapping.js +259 -0
- package/dist/generator/naming/volterra-mapping.js.map +1 -0
- package/dist/generator/openapi-parser.d.ts +701 -0
- package/dist/generator/openapi-parser.d.ts.map +1 -0
- package/dist/generator/openapi-parser.js +704 -0
- package/dist/generator/openapi-parser.js.map +1 -0
- package/dist/generator/tool-generator.d.ts +118 -0
- package/dist/generator/tool-generator.d.ts.map +1 -0
- package/dist/generator/tool-generator.js +529 -0
- package/dist/generator/tool-generator.js.map +1 -0
- package/dist/generator/transformers/index.d.ts +7 -0
- package/dist/generator/transformers/index.d.ts.map +1 -0
- package/dist/generator/transformers/index.js +7 -0
- package/dist/generator/transformers/index.js.map +1 -0
- package/dist/generator/transformers/normalize-examples.d.ts +48 -0
- package/dist/generator/transformers/normalize-examples.d.ts.map +1 -0
- package/dist/generator/transformers/normalize-examples.js +66 -0
- package/dist/generator/transformers/normalize-examples.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +101 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/error-resolution.d.ts +70 -0
- package/dist/prompts/error-resolution.d.ts.map +1 -0
- package/dist/prompts/error-resolution.js +350 -0
- package/dist/prompts/error-resolution.js.map +1 -0
- package/dist/prompts/index.d.ts +8 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/workflows.d.ts +59 -0
- package/dist/prompts/workflows.d.ts.map +1 -0
- package/dist/prompts/workflows.js +441 -0
- package/dist/prompts/workflows.js.map +1 -0
- package/dist/resources/handlers.d.ts +70 -0
- package/dist/resources/handlers.d.ts.map +1 -0
- package/dist/resources/handlers.js +270 -0
- package/dist/resources/handlers.js.map +1 -0
- package/dist/resources/index.d.ts +8 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +6 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/templates.d.ts +86 -0
- package/dist/resources/templates.d.ts.map +1 -0
- package/dist/resources/templates.js +248 -0
- package/dist/resources/templates.js.map +1 -0
- package/dist/server.d.ts +78 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +721 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/discovery/best-practices.d.ts +140 -0
- package/dist/tools/discovery/best-practices.d.ts.map +1 -0
- package/dist/tools/discovery/best-practices.js +499 -0
- package/dist/tools/discovery/best-practices.js.map +1 -0
- package/dist/tools/discovery/consolidate.d.ts +97 -0
- package/dist/tools/discovery/consolidate.d.ts.map +1 -0
- package/dist/tools/discovery/consolidate.js +200 -0
- package/dist/tools/discovery/consolidate.js.map +1 -0
- package/dist/tools/discovery/cost-estimator.d.ts +114 -0
- package/dist/tools/discovery/cost-estimator.d.ts.map +1 -0
- package/dist/tools/discovery/cost-estimator.js +273 -0
- package/dist/tools/discovery/cost-estimator.js.map +1 -0
- package/dist/tools/discovery/dependencies.d.ts +113 -0
- package/dist/tools/discovery/dependencies.d.ts.map +1 -0
- package/dist/tools/discovery/dependencies.js +258 -0
- package/dist/tools/discovery/dependencies.js.map +1 -0
- package/dist/tools/discovery/describe.d.ts +133 -0
- package/dist/tools/discovery/describe.d.ts.map +1 -0
- package/dist/tools/discovery/describe.js +208 -0
- package/dist/tools/discovery/describe.js.map +1 -0
- package/dist/tools/discovery/execute.d.ts +96 -0
- package/dist/tools/discovery/execute.d.ts.map +1 -0
- package/dist/tools/discovery/execute.js +220 -0
- package/dist/tools/discovery/execute.js.map +1 -0
- package/dist/tools/discovery/index-loader.d.ts +28 -0
- package/dist/tools/discovery/index-loader.d.ts.map +1 -0
- package/dist/tools/discovery/index-loader.js +72 -0
- package/dist/tools/discovery/index-loader.js.map +1 -0
- package/dist/tools/discovery/index.d.ts +363 -0
- package/dist/tools/discovery/index.d.ts.map +1 -0
- package/dist/tools/discovery/index.js +361 -0
- package/dist/tools/discovery/index.js.map +1 -0
- package/dist/tools/discovery/resolver.d.ts +119 -0
- package/dist/tools/discovery/resolver.d.ts.map +1 -0
- package/dist/tools/discovery/resolver.js +369 -0
- package/dist/tools/discovery/resolver.js.map +1 -0
- package/dist/tools/discovery/search.d.ts +41 -0
- package/dist/tools/discovery/search.d.ts.map +1 -0
- package/dist/tools/discovery/search.js +176 -0
- package/dist/tools/discovery/search.js.map +1 -0
- package/dist/tools/discovery/types.d.ts +91 -0
- package/dist/tools/discovery/types.d.ts.map +1 -0
- package/dist/tools/discovery/types.js +9 -0
- package/dist/tools/discovery/types.js.map +1 -0
- package/dist/tools/discovery/validate.d.ts +63 -0
- package/dist/tools/discovery/validate.d.ts.map +1 -0
- package/dist/tools/discovery/validate.js +239 -0
- package/dist/tools/discovery/validate.js.map +1 -0
- package/dist/tools/generated/admin_console_and_ui/index.d.ts +8 -0
- package/dist/tools/generated/admin_console_and_ui/index.d.ts.map +1 -0
- package/dist/tools/generated/admin_console_and_ui/index.js +265 -0
- package/dist/tools/generated/admin_console_and_ui/index.js.map +1 -0
- package/dist/tools/generated/api/index.d.ts +8 -0
- package/dist/tools/generated/api/index.d.ts.map +1 -0
- package/dist/tools/generated/api/index.js +7016 -0
- package/dist/tools/generated/api/index.js.map +1 -0
- package/dist/tools/generated/authentication/index.d.ts +8 -0
- package/dist/tools/generated/authentication/index.d.ts.map +1 -0
- package/dist/tools/generated/authentication/index.js +907 -0
- package/dist/tools/generated/authentication/index.js.map +1 -0
- package/dist/tools/generated/bigip/index.d.ts +8 -0
- package/dist/tools/generated/bigip/index.d.ts.map +1 -0
- package/dist/tools/generated/bigip/index.js +3152 -0
- package/dist/tools/generated/bigip/index.js.map +1 -0
- package/dist/tools/generated/billing_and_usage/index.d.ts +8 -0
- package/dist/tools/generated/billing_and_usage/index.d.ts.map +1 -0
- package/dist/tools/generated/billing_and_usage/index.js +2452 -0
- package/dist/tools/generated/billing_and_usage/index.js.map +1 -0
- package/dist/tools/generated/blindfold/index.d.ts +8 -0
- package/dist/tools/generated/blindfold/index.d.ts.map +1 -0
- package/dist/tools/generated/blindfold/index.js +3790 -0
- package/dist/tools/generated/blindfold/index.js.map +1 -0
- package/dist/tools/generated/bot_and_threat_defense/index.d.ts +8 -0
- package/dist/tools/generated/bot_and_threat_defense/index.d.ts.map +1 -0
- package/dist/tools/generated/bot_and_threat_defense/index.js +2746 -0
- package/dist/tools/generated/bot_and_threat_defense/index.js.map +1 -0
- package/dist/tools/generated/cdn/index.d.ts +8 -0
- package/dist/tools/generated/cdn/index.d.ts.map +1 -0
- package/dist/tools/generated/cdn/index.js +2686 -0
- package/dist/tools/generated/cdn/index.js.map +1 -0
- package/dist/tools/generated/ce_management/index.d.ts +8 -0
- package/dist/tools/generated/ce_management/index.d.ts.map +1 -0
- package/dist/tools/generated/ce_management/index.js +3812 -0
- package/dist/tools/generated/ce_management/index.js.map +1 -0
- package/dist/tools/generated/certificates/index.d.ts +8 -0
- package/dist/tools/generated/certificates/index.d.ts.map +1 -0
- package/dist/tools/generated/certificates/index.js +2547 -0
- package/dist/tools/generated/certificates/index.js.map +1 -0
- package/dist/tools/generated/cloud_infrastructure/index.d.ts +8 -0
- package/dist/tools/generated/cloud_infrastructure/index.d.ts.map +1 -0
- package/dist/tools/generated/cloud_infrastructure/index.js +3959 -0
- package/dist/tools/generated/cloud_infrastructure/index.js.map +1 -0
- package/dist/tools/generated/container_services/index.d.ts +8 -0
- package/dist/tools/generated/container_services/index.d.ts.map +1 -0
- package/dist/tools/generated/container_services/index.js +2018 -0
- package/dist/tools/generated/container_services/index.js.map +1 -0
- package/dist/tools/generated/data_and_privacy_security/index.d.ts +8 -0
- package/dist/tools/generated/data_and_privacy_security/index.d.ts.map +1 -0
- package/dist/tools/generated/data_and_privacy_security/index.js +1662 -0
- package/dist/tools/generated/data_and_privacy_security/index.js.map +1 -0
- package/dist/tools/generated/data_intelligence/index.d.ts +8 -0
- package/dist/tools/generated/data_intelligence/index.d.ts.map +1 -0
- package/dist/tools/generated/data_intelligence/index.js +1600 -0
- package/dist/tools/generated/data_intelligence/index.js.map +1 -0
- package/dist/tools/generated/ddos/index.d.ts +8 -0
- package/dist/tools/generated/ddos/index.d.ts.map +1 -0
- package/dist/tools/generated/ddos/index.js +8091 -0
- package/dist/tools/generated/ddos/index.js.map +1 -0
- package/dist/tools/generated/dependency-graph.json +26358 -0
- package/dist/tools/generated/dns/index.d.ts +8 -0
- package/dist/tools/generated/dns/index.d.ts.map +1 -0
- package/dist/tools/generated/dns/index.js +6096 -0
- package/dist/tools/generated/dns/index.js.map +1 -0
- package/dist/tools/generated/generative_ai/index.d.ts +8 -0
- package/dist/tools/generated/generative_ai/index.d.ts.map +1 -0
- package/dist/tools/generated/generative_ai/index.js +1019 -0
- package/dist/tools/generated/generative_ai/index.js.map +1 -0
- package/dist/tools/generated/managed_kubernetes/index.d.ts +8 -0
- package/dist/tools/generated/managed_kubernetes/index.d.ts.map +1 -0
- package/dist/tools/generated/managed_kubernetes/index.js +3368 -0
- package/dist/tools/generated/managed_kubernetes/index.js.map +1 -0
- package/dist/tools/generated/marketplace/index.d.ts +8 -0
- package/dist/tools/generated/marketplace/index.d.ts.map +1 -0
- package/dist/tools/generated/marketplace/index.js +4329 -0
- package/dist/tools/generated/marketplace/index.js.map +1 -0
- package/dist/tools/generated/network/index.d.ts +8 -0
- package/dist/tools/generated/network/index.d.ts.map +1 -0
- package/dist/tools/generated/network/index.js +12424 -0
- package/dist/tools/generated/network/index.js.map +1 -0
- package/dist/tools/generated/network_security/index.d.ts +8 -0
- package/dist/tools/generated/network_security/index.d.ts.map +1 -0
- package/dist/tools/generated/network_security/index.js +9637 -0
- package/dist/tools/generated/network_security/index.js.map +1 -0
- package/dist/tools/generated/nginx_one/index.d.ts +8 -0
- package/dist/tools/generated/nginx_one/index.d.ts.map +1 -0
- package/dist/tools/generated/nginx_one/index.js +1692 -0
- package/dist/tools/generated/nginx_one/index.js.map +1 -0
- package/dist/tools/generated/object_storage/index.d.ts +8 -0
- package/dist/tools/generated/object_storage/index.d.ts.map +1 -0
- package/dist/tools/generated/object_storage/index.js +996 -0
- package/dist/tools/generated/object_storage/index.js.map +1 -0
- package/dist/tools/generated/observability/index.d.ts +8 -0
- package/dist/tools/generated/observability/index.d.ts.map +1 -0
- package/dist/tools/generated/observability/index.js +5285 -0
- package/dist/tools/generated/observability/index.js.map +1 -0
- package/dist/tools/generated/rate_limiting/index.d.ts +8 -0
- package/dist/tools/generated/rate_limiting/index.d.ts.map +1 -0
- package/dist/tools/generated/rate_limiting/index.js +2108 -0
- package/dist/tools/generated/rate_limiting/index.js.map +1 -0
- package/dist/tools/generated/secops_and_incident_response/index.d.ts +8 -0
- package/dist/tools/generated/secops_and_incident_response/index.d.ts.map +1 -0
- package/dist/tools/generated/secops_and_incident_response/index.js +710 -0
- package/dist/tools/generated/secops_and_incident_response/index.js.map +1 -0
- package/dist/tools/generated/service_mesh/index.d.ts +8 -0
- package/dist/tools/generated/service_mesh/index.d.ts.map +1 -0
- package/dist/tools/generated/service_mesh/index.js +6062 -0
- package/dist/tools/generated/service_mesh/index.js.map +1 -0
- package/dist/tools/generated/shape/index.d.ts +8 -0
- package/dist/tools/generated/shape/index.d.ts.map +1 -0
- package/dist/tools/generated/shape/index.js +19381 -0
- package/dist/tools/generated/shape/index.js.map +1 -0
- package/dist/tools/generated/sites/index.d.ts +8 -0
- package/dist/tools/generated/sites/index.d.ts.map +1 -0
- package/dist/tools/generated/sites/index.js +13160 -0
- package/dist/tools/generated/sites/index.js.map +1 -0
- package/dist/tools/generated/statistics/index.d.ts +8 -0
- package/dist/tools/generated/statistics/index.d.ts.map +1 -0
- package/dist/tools/generated/statistics/index.js +8131 -0
- package/dist/tools/generated/statistics/index.js.map +1 -0
- package/dist/tools/generated/support/index.d.ts +8 -0
- package/dist/tools/generated/support/index.d.ts.map +1 -0
- package/dist/tools/generated/support/index.js +5608 -0
- package/dist/tools/generated/support/index.js.map +1 -0
- package/dist/tools/generated/telemetry_and_insights/index.d.ts +8 -0
- package/dist/tools/generated/telemetry_and_insights/index.d.ts.map +1 -0
- package/dist/tools/generated/telemetry_and_insights/index.js +2404 -0
- package/dist/tools/generated/telemetry_and_insights/index.js.map +1 -0
- package/dist/tools/generated/tenant_and_identity/index.d.ts +8 -0
- package/dist/tools/generated/tenant_and_identity/index.d.ts.map +1 -0
- package/dist/tools/generated/tenant_and_identity/index.js +18938 -0
- package/dist/tools/generated/tenant_and_identity/index.js.map +1 -0
- package/dist/tools/generated/threat_campaign/index.d.ts +8 -0
- package/dist/tools/generated/threat_campaign/index.d.ts.map +1 -0
- package/dist/tools/generated/threat_campaign/index.js +102 -0
- package/dist/tools/generated/threat_campaign/index.js.map +1 -0
- package/dist/tools/generated/users/index.d.ts +8 -0
- package/dist/tools/generated/users/index.d.ts.map +1 -0
- package/dist/tools/generated/users/index.js +1515 -0
- package/dist/tools/generated/users/index.js.map +1 -0
- package/dist/tools/generated/virtual/index.d.ts +8 -0
- package/dist/tools/generated/virtual/index.d.ts.map +1 -0
- package/dist/tools/generated/virtual/index.js +11263 -0
- package/dist/tools/generated/virtual/index.js.map +1 -0
- package/dist/tools/generated/vpm_and_node_management/index.d.ts +8 -0
- package/dist/tools/generated/vpm_and_node_management/index.d.ts.map +1 -0
- package/dist/tools/generated/vpm_and_node_management/index.js +88 -0
- package/dist/tools/generated/vpm_and_node_management/index.js.map +1 -0
- package/dist/tools/generated/waf/index.d.ts +8 -0
- package/dist/tools/generated/waf/index.d.ts.map +1 -0
- package/dist/tools/generated/waf/index.js +4586 -0
- package/dist/tools/generated/waf/index.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/registry.d.ts +27 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +115 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/utils/error-handling.d.ts +109 -0
- package/dist/utils/error-handling.d.ts.map +1 -0
- package/dist/utils/error-handling.js +239 -0
- package/dist/utils/error-handling.js.map +1 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logging.d.ts +75 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +131 -0
- package/dist/utils/logging.js.map +1 -0
- package/manifest.json +143 -0
- package/package.json +110 -0
|
@@ -0,0 +1,3152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated tool definitions for bigip domain
|
|
3
|
+
* DO NOT EDIT - This file is auto-generated by scripts/generate.ts
|
|
4
|
+
*/
|
|
5
|
+
export const bigipTools = [
|
|
6
|
+
{
|
|
7
|
+
toolName: "f5xc-api-bigip-apm-create",
|
|
8
|
+
method: "POST",
|
|
9
|
+
path: "/api/config/namespaces/{metadata.namespace}/apms",
|
|
10
|
+
operation: "create",
|
|
11
|
+
domain: "bigip",
|
|
12
|
+
resource: "apm",
|
|
13
|
+
summary: "Create APM Service.",
|
|
14
|
+
description: "Creates a new APM as a service with configured parameters.",
|
|
15
|
+
pathParameters: [
|
|
16
|
+
{
|
|
17
|
+
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 ""',
|
|
18
|
+
in: "path",
|
|
19
|
+
name: "metadata.namespace",
|
|
20
|
+
required: true,
|
|
21
|
+
schema: {
|
|
22
|
+
type: "string",
|
|
23
|
+
},
|
|
24
|
+
"x-displayname": "Namespace",
|
|
25
|
+
"x-ves-example": "Staging",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
queryParameters: [],
|
|
29
|
+
requestBodySchema: {
|
|
30
|
+
$ref: "#/components/schemas/apmCreateRequest",
|
|
31
|
+
},
|
|
32
|
+
responseSchema: {
|
|
33
|
+
$ref: "#/components/schemas/apmCreateResponse",
|
|
34
|
+
},
|
|
35
|
+
requiredParams: ["body", "metadata.namespace"],
|
|
36
|
+
operationId: "ves.io.schema.bigip.apm.API.Create",
|
|
37
|
+
tags: ["Other"],
|
|
38
|
+
sourceFile: "domains/bigip.json",
|
|
39
|
+
displayName: null,
|
|
40
|
+
dangerLevel: "medium",
|
|
41
|
+
sideEffects: {
|
|
42
|
+
creates: ["apm"],
|
|
43
|
+
},
|
|
44
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
45
|
+
confirmationRequired: false,
|
|
46
|
+
parameterExamples: {
|
|
47
|
+
"metadata.namespace": "Staging",
|
|
48
|
+
},
|
|
49
|
+
validationRules: {},
|
|
50
|
+
operationMetadata: {
|
|
51
|
+
common_errors: [
|
|
52
|
+
{
|
|
53
|
+
code: 401,
|
|
54
|
+
message: "Authentication required",
|
|
55
|
+
solution: "Provide valid API credentials",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
code: 403,
|
|
59
|
+
message: "Permission denied",
|
|
60
|
+
solution: "Check access permissions for this operation",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
code: 404,
|
|
64
|
+
message: "Resource not found",
|
|
65
|
+
solution: "Verify resource name, namespace, and path",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
code: 409,
|
|
69
|
+
message: "Resource already exists",
|
|
70
|
+
solution: "Use different name or update existing resource",
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
code: 429,
|
|
74
|
+
message: "Rate limit exceeded",
|
|
75
|
+
solution: "Wait before retrying the operation",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
code: 500,
|
|
79
|
+
message: "Server error",
|
|
80
|
+
solution: "Retry operation or contact support",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
conditions: {
|
|
84
|
+
postconditions: ["Apm resource created", "Resource assigned unique identifier"],
|
|
85
|
+
prerequisites: ["Active namespace"],
|
|
86
|
+
},
|
|
87
|
+
confirmation_required: false,
|
|
88
|
+
danger_level: "medium",
|
|
89
|
+
field_docs: {},
|
|
90
|
+
optional_fields: [],
|
|
91
|
+
performance_impact: {
|
|
92
|
+
latency: "low",
|
|
93
|
+
resource_usage: "low",
|
|
94
|
+
},
|
|
95
|
+
purpose: "Create new apm",
|
|
96
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
97
|
+
side_effects: {
|
|
98
|
+
creates: ["apm"],
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/apms" \\\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: "apm",
|
|
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: "bigipapm-create",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
oneOfGroups: [],
|
|
126
|
+
subscriptionRequirements: [],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
toolName: "f5xc-api-bigip-apm-delete",
|
|
130
|
+
method: "DELETE",
|
|
131
|
+
path: "/api/config/namespaces/{namespace}/apms/{name}",
|
|
132
|
+
operation: "delete",
|
|
133
|
+
domain: "bigip",
|
|
134
|
+
resource: "apm",
|
|
135
|
+
summary: "DELETE BIG-IP APM as a Service.",
|
|
136
|
+
description: "DELETE the specified apm.",
|
|
137
|
+
pathParameters: [
|
|
138
|
+
{
|
|
139
|
+
description: "Name\nName of the configuration object.",
|
|
140
|
+
in: "path",
|
|
141
|
+
name: "name",
|
|
142
|
+
required: true,
|
|
143
|
+
schema: {
|
|
144
|
+
type: "string",
|
|
145
|
+
},
|
|
146
|
+
"x-displayname": "Name",
|
|
147
|
+
"x-ves-example": "Name",
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
description: "Namespace\nNamespace in which the configuration object is present.",
|
|
151
|
+
in: "path",
|
|
152
|
+
name: "namespace",
|
|
153
|
+
required: true,
|
|
154
|
+
schema: {
|
|
155
|
+
type: "string",
|
|
156
|
+
},
|
|
157
|
+
"x-displayname": "Namespace",
|
|
158
|
+
"x-ves-example": "Ns1",
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
queryParameters: [],
|
|
162
|
+
requestBodySchema: {
|
|
163
|
+
$ref: "#/components/schemas/apmDeleteRequest",
|
|
164
|
+
},
|
|
165
|
+
responseSchema: {},
|
|
166
|
+
requiredParams: ["body", "name", "namespace"],
|
|
167
|
+
operationId: "ves.io.schema.bigip.apm.API.Delete",
|
|
168
|
+
tags: ["Other"],
|
|
169
|
+
sourceFile: "domains/bigip.json",
|
|
170
|
+
displayName: null,
|
|
171
|
+
dangerLevel: "high",
|
|
172
|
+
sideEffects: {
|
|
173
|
+
deletes: ["apm", "contained_resources"],
|
|
174
|
+
},
|
|
175
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
176
|
+
confirmationRequired: true,
|
|
177
|
+
parameterExamples: {
|
|
178
|
+
name: "Name",
|
|
179
|
+
namespace: "Ns1",
|
|
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: ["Resource removed from system", "Associated resources may be affected"],
|
|
217
|
+
prerequisites: ["Active namespace"],
|
|
218
|
+
},
|
|
219
|
+
confirmation_required: true,
|
|
220
|
+
danger_level: "high",
|
|
221
|
+
field_docs: {},
|
|
222
|
+
optional_fields: [],
|
|
223
|
+
performance_impact: {
|
|
224
|
+
latency: "high",
|
|
225
|
+
resource_usage: "moderate",
|
|
226
|
+
},
|
|
227
|
+
purpose: "Delete apm",
|
|
228
|
+
required_fields: ["path.name", "path.namespace"],
|
|
229
|
+
side_effects: {
|
|
230
|
+
deletes: ["apm", "contained_resources"],
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/apms" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
234
|
+
dependencies: [
|
|
235
|
+
{
|
|
236
|
+
domain: "",
|
|
237
|
+
fieldPath: "",
|
|
238
|
+
inline: false,
|
|
239
|
+
required: false,
|
|
240
|
+
resourceType: "apm",
|
|
241
|
+
},
|
|
242
|
+
],
|
|
243
|
+
oneOfGroups: [],
|
|
244
|
+
subscriptionRequirements: [],
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
toolName: "f5xc-api-bigip-apm-get",
|
|
248
|
+
method: "GET",
|
|
249
|
+
path: "/api/config/namespaces/{namespace}/apms/{name}",
|
|
250
|
+
operation: "get",
|
|
251
|
+
domain: "bigip",
|
|
252
|
+
resource: "apm",
|
|
253
|
+
summary: "GET APM Service.",
|
|
254
|
+
description: "Gets APM Service parameters.",
|
|
255
|
+
pathParameters: [
|
|
256
|
+
{
|
|
257
|
+
description: "Name\nThe name of the configuration object to be fetched.",
|
|
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\nThe namespace 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
|
+
{
|
|
281
|
+
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.",
|
|
282
|
+
in: "query",
|
|
283
|
+
name: "response_format",
|
|
284
|
+
required: false,
|
|
285
|
+
schema: {
|
|
286
|
+
default: "GET_RSP_FORMAT_DEFAULT",
|
|
287
|
+
enum: [
|
|
288
|
+
"GET_RSP_FORMAT_DEFAULT",
|
|
289
|
+
"GET_RSP_FORMAT_FOR_CREATE",
|
|
290
|
+
"GET_RSP_FORMAT_FOR_REPLACE",
|
|
291
|
+
"GET_RSP_FORMAT_STATUS",
|
|
292
|
+
"GET_RSP_FORMAT_READ",
|
|
293
|
+
"GET_RSP_FORMAT_REFERRING_OBJECTS",
|
|
294
|
+
"GET_RSP_FORMAT_BROKEN_REFERENCES",
|
|
295
|
+
],
|
|
296
|
+
type: "string",
|
|
297
|
+
},
|
|
298
|
+
"x-displayname": "Broken Referred Objects.",
|
|
299
|
+
},
|
|
300
|
+
],
|
|
301
|
+
requestBodySchema: null,
|
|
302
|
+
responseSchema: {
|
|
303
|
+
$ref: "#/components/schemas/apmGetResponse",
|
|
304
|
+
},
|
|
305
|
+
requiredParams: ["name", "namespace"],
|
|
306
|
+
operationId: "ves.io.schema.bigip.apm.API.Get",
|
|
307
|
+
tags: ["Other"],
|
|
308
|
+
sourceFile: "domains/bigip.json",
|
|
309
|
+
displayName: null,
|
|
310
|
+
dangerLevel: "low",
|
|
311
|
+
sideEffects: null,
|
|
312
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
313
|
+
confirmationRequired: false,
|
|
314
|
+
parameterExamples: {
|
|
315
|
+
name: "Name",
|
|
316
|
+
namespace: "Ns1",
|
|
317
|
+
},
|
|
318
|
+
validationRules: {},
|
|
319
|
+
operationMetadata: {
|
|
320
|
+
common_errors: [
|
|
321
|
+
{
|
|
322
|
+
code: 401,
|
|
323
|
+
message: "Authentication required",
|
|
324
|
+
solution: "Provide valid API credentials",
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
code: 403,
|
|
328
|
+
message: "Permission denied",
|
|
329
|
+
solution: "Check access permissions for this operation",
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
code: 404,
|
|
333
|
+
message: "Resource not found",
|
|
334
|
+
solution: "Verify resource name, namespace, and path",
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
code: 409,
|
|
338
|
+
message: "Resource already exists",
|
|
339
|
+
solution: "Use different name or update existing resource",
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
code: 429,
|
|
343
|
+
message: "Rate limit exceeded",
|
|
344
|
+
solution: "Wait before retrying the operation",
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
code: 500,
|
|
348
|
+
message: "Server error",
|
|
349
|
+
solution: "Retry operation or contact support",
|
|
350
|
+
},
|
|
351
|
+
],
|
|
352
|
+
conditions: {
|
|
353
|
+
postconditions: [],
|
|
354
|
+
prerequisites: ["Active namespace"],
|
|
355
|
+
},
|
|
356
|
+
confirmation_required: false,
|
|
357
|
+
danger_level: "low",
|
|
358
|
+
field_docs: {},
|
|
359
|
+
optional_fields: [],
|
|
360
|
+
performance_impact: {
|
|
361
|
+
latency: "low",
|
|
362
|
+
resource_usage: "low",
|
|
363
|
+
},
|
|
364
|
+
purpose: "Retrieve specific apm",
|
|
365
|
+
required_fields: ["path.name", "path.namespace"],
|
|
366
|
+
side_effects: {},
|
|
367
|
+
},
|
|
368
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/apms" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
369
|
+
dependencies: [],
|
|
370
|
+
oneOfGroups: [],
|
|
371
|
+
subscriptionRequirements: [],
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
toolName: "f5xc-api-bigip-apm-list",
|
|
375
|
+
method: "GET",
|
|
376
|
+
path: "/api/config/namespaces/{namespace}/apms",
|
|
377
|
+
operation: "list",
|
|
378
|
+
domain: "bigip",
|
|
379
|
+
resource: "apm",
|
|
380
|
+
summary: "List BIG-IP APM as a Service.",
|
|
381
|
+
description: "List the set of apm in a namespace.",
|
|
382
|
+
pathParameters: [
|
|
383
|
+
{
|
|
384
|
+
description: "Namespace\nNamespace to scope the listing of apm.",
|
|
385
|
+
in: "path",
|
|
386
|
+
name: "namespace",
|
|
387
|
+
required: true,
|
|
388
|
+
schema: {
|
|
389
|
+
type: "string",
|
|
390
|
+
},
|
|
391
|
+
"x-displayname": "Namespace",
|
|
392
|
+
"x-ves-example": "Ns1",
|
|
393
|
+
},
|
|
394
|
+
],
|
|
395
|
+
queryParameters: [
|
|
396
|
+
{
|
|
397
|
+
description: "A LabelSelectorType expression that every item in list response will satisfy.",
|
|
398
|
+
in: "query",
|
|
399
|
+
name: "label_filter",
|
|
400
|
+
required: false,
|
|
401
|
+
schema: {
|
|
402
|
+
type: "string",
|
|
403
|
+
},
|
|
404
|
+
"x-displayname": "Label Filter.",
|
|
405
|
+
"x-ves-example": "Env in (staging, testing), tier in (web, db)",
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
description: 'X-example: ""\nExtra fields to return along with summary fields.',
|
|
409
|
+
in: "query",
|
|
410
|
+
name: "report_fields",
|
|
411
|
+
required: false,
|
|
412
|
+
schema: {
|
|
413
|
+
items: {
|
|
414
|
+
type: "string",
|
|
415
|
+
},
|
|
416
|
+
type: "array",
|
|
417
|
+
},
|
|
418
|
+
"x-displayname": "Report Fields.",
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
description: 'X-example: ""\nExtra status fields to return along with summary fields.',
|
|
422
|
+
in: "query",
|
|
423
|
+
name: "report_status_fields",
|
|
424
|
+
required: false,
|
|
425
|
+
schema: {
|
|
426
|
+
items: {
|
|
427
|
+
type: "string",
|
|
428
|
+
},
|
|
429
|
+
type: "array",
|
|
430
|
+
},
|
|
431
|
+
"x-displayname": "Report Status Fields.",
|
|
432
|
+
},
|
|
433
|
+
],
|
|
434
|
+
requestBodySchema: null,
|
|
435
|
+
responseSchema: {
|
|
436
|
+
$ref: "#/components/schemas/apmListResponse",
|
|
437
|
+
},
|
|
438
|
+
requiredParams: ["namespace"],
|
|
439
|
+
operationId: "ves.io.schema.bigip.apm.API.List",
|
|
440
|
+
tags: ["Other"],
|
|
441
|
+
sourceFile: "domains/bigip.json",
|
|
442
|
+
displayName: null,
|
|
443
|
+
dangerLevel: "low",
|
|
444
|
+
sideEffects: null,
|
|
445
|
+
requiredFields: ["path.namespace"],
|
|
446
|
+
confirmationRequired: false,
|
|
447
|
+
parameterExamples: {
|
|
448
|
+
label_filter: "Env in (staging, testing), tier in (web, db)",
|
|
449
|
+
namespace: "Ns1",
|
|
450
|
+
},
|
|
451
|
+
validationRules: {},
|
|
452
|
+
operationMetadata: {
|
|
453
|
+
common_errors: [
|
|
454
|
+
{
|
|
455
|
+
code: 401,
|
|
456
|
+
message: "Authentication required",
|
|
457
|
+
solution: "Provide valid API credentials",
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
code: 403,
|
|
461
|
+
message: "Permission denied",
|
|
462
|
+
solution: "Check access permissions for this operation",
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
code: 404,
|
|
466
|
+
message: "Resource not found",
|
|
467
|
+
solution: "Verify resource name, namespace, and path",
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
code: 409,
|
|
471
|
+
message: "Resource already exists",
|
|
472
|
+
solution: "Use different name or update existing resource",
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
code: 429,
|
|
476
|
+
message: "Rate limit exceeded",
|
|
477
|
+
solution: "Wait before retrying the operation",
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
code: 500,
|
|
481
|
+
message: "Server error",
|
|
482
|
+
solution: "Retry operation or contact support",
|
|
483
|
+
},
|
|
484
|
+
],
|
|
485
|
+
conditions: {
|
|
486
|
+
postconditions: [],
|
|
487
|
+
prerequisites: ["Active namespace"],
|
|
488
|
+
},
|
|
489
|
+
confirmation_required: false,
|
|
490
|
+
danger_level: "low",
|
|
491
|
+
field_docs: {},
|
|
492
|
+
optional_fields: [],
|
|
493
|
+
performance_impact: {
|
|
494
|
+
latency: "moderate",
|
|
495
|
+
resource_usage: "moderate",
|
|
496
|
+
},
|
|
497
|
+
purpose: "List all apms",
|
|
498
|
+
required_fields: ["path.namespace"],
|
|
499
|
+
side_effects: {},
|
|
500
|
+
},
|
|
501
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/apms" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
502
|
+
dependencies: [],
|
|
503
|
+
oneOfGroups: [],
|
|
504
|
+
subscriptionRequirements: [],
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
toolName: "f5xc-api-bigip-apm-update",
|
|
508
|
+
method: "PUT",
|
|
509
|
+
path: "/api/config/namespaces/{metadata.namespace}/apms/{metadata.name}",
|
|
510
|
+
operation: "update",
|
|
511
|
+
domain: "bigip",
|
|
512
|
+
resource: "apm",
|
|
513
|
+
summary: "Replace APM Service.",
|
|
514
|
+
description: "Replaces configured APM Service with new set of parameters.",
|
|
515
|
+
pathParameters: [
|
|
516
|
+
{
|
|
517
|
+
description: "Name\nThe configuration object to be replaced will be looked up by name.",
|
|
518
|
+
in: "path",
|
|
519
|
+
name: "metadata.name",
|
|
520
|
+
required: true,
|
|
521
|
+
schema: {
|
|
522
|
+
type: "string",
|
|
523
|
+
},
|
|
524
|
+
"x-displayname": "Name",
|
|
525
|
+
"x-ves-example": "Example-corp-web.",
|
|
526
|
+
},
|
|
527
|
+
{
|
|
528
|
+
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 ""',
|
|
529
|
+
in: "path",
|
|
530
|
+
name: "metadata.namespace",
|
|
531
|
+
required: true,
|
|
532
|
+
schema: {
|
|
533
|
+
type: "string",
|
|
534
|
+
},
|
|
535
|
+
"x-displayname": "Namespace",
|
|
536
|
+
"x-ves-example": "Staging",
|
|
537
|
+
},
|
|
538
|
+
],
|
|
539
|
+
queryParameters: [],
|
|
540
|
+
requestBodySchema: {
|
|
541
|
+
$ref: "#/components/schemas/apmReplaceRequest",
|
|
542
|
+
},
|
|
543
|
+
responseSchema: {
|
|
544
|
+
$ref: "#/components/schemas/apmReplaceResponse",
|
|
545
|
+
},
|
|
546
|
+
requiredParams: ["body", "metadata.name", "metadata.namespace"],
|
|
547
|
+
operationId: "ves.io.schema.bigip.apm.API.Replace",
|
|
548
|
+
tags: ["Other"],
|
|
549
|
+
sourceFile: "domains/bigip.json",
|
|
550
|
+
displayName: null,
|
|
551
|
+
dangerLevel: "medium",
|
|
552
|
+
sideEffects: {
|
|
553
|
+
modifies: ["apm"],
|
|
554
|
+
},
|
|
555
|
+
requiredFields: ["path.metadata.name", "path.metadata.namespace"],
|
|
556
|
+
confirmationRequired: false,
|
|
557
|
+
parameterExamples: {
|
|
558
|
+
"metadata.name": "Example-corp-web.",
|
|
559
|
+
"metadata.namespace": "Staging",
|
|
560
|
+
},
|
|
561
|
+
validationRules: {},
|
|
562
|
+
operationMetadata: {
|
|
563
|
+
common_errors: [
|
|
564
|
+
{
|
|
565
|
+
code: 401,
|
|
566
|
+
message: "Authentication required",
|
|
567
|
+
solution: "Provide valid API credentials",
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
code: 403,
|
|
571
|
+
message: "Permission denied",
|
|
572
|
+
solution: "Check access permissions for this operation",
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
code: 404,
|
|
576
|
+
message: "Resource not found",
|
|
577
|
+
solution: "Verify resource name, namespace, and path",
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
code: 409,
|
|
581
|
+
message: "Resource already exists",
|
|
582
|
+
solution: "Use different name or update existing resource",
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
code: 429,
|
|
586
|
+
message: "Rate limit exceeded",
|
|
587
|
+
solution: "Wait before retrying the operation",
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
code: 500,
|
|
591
|
+
message: "Server error",
|
|
592
|
+
solution: "Retry operation or contact support",
|
|
593
|
+
},
|
|
594
|
+
],
|
|
595
|
+
conditions: {
|
|
596
|
+
postconditions: ["Resource updated with new values"],
|
|
597
|
+
prerequisites: ["Active namespace"],
|
|
598
|
+
},
|
|
599
|
+
confirmation_required: false,
|
|
600
|
+
danger_level: "medium",
|
|
601
|
+
field_docs: {},
|
|
602
|
+
optional_fields: [],
|
|
603
|
+
performance_impact: {
|
|
604
|
+
latency: "low",
|
|
605
|
+
resource_usage: "low",
|
|
606
|
+
},
|
|
607
|
+
purpose: "Replace existing apm",
|
|
608
|
+
required_fields: ["path.metadata.name", "path.metadata.namespace"],
|
|
609
|
+
side_effects: {
|
|
610
|
+
modifies: ["apm"],
|
|
611
|
+
},
|
|
612
|
+
},
|
|
613
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/apms" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
614
|
+
dependencies: [
|
|
615
|
+
{
|
|
616
|
+
domain: "",
|
|
617
|
+
fieldPath: "",
|
|
618
|
+
inline: false,
|
|
619
|
+
required: false,
|
|
620
|
+
resourceType: "apm",
|
|
621
|
+
},
|
|
622
|
+
{
|
|
623
|
+
domain: "",
|
|
624
|
+
fieldPath: "metadata",
|
|
625
|
+
inline: false,
|
|
626
|
+
required: false,
|
|
627
|
+
resourceType: "schema-object-replace-meta",
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
domain: "",
|
|
631
|
+
fieldPath: "spec",
|
|
632
|
+
inline: false,
|
|
633
|
+
required: false,
|
|
634
|
+
resourceType: "bigipapm-replace",
|
|
635
|
+
},
|
|
636
|
+
],
|
|
637
|
+
oneOfGroups: [],
|
|
638
|
+
subscriptionRequirements: [],
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
toolName: "f5xc-api-bigip-bigip-irule-create",
|
|
642
|
+
method: "POST",
|
|
643
|
+
path: "/api/bigipconnector/namespaces/{metadata.namespace}/bigip_irules",
|
|
644
|
+
operation: "create",
|
|
645
|
+
domain: "bigip",
|
|
646
|
+
resource: "bigip-irule",
|
|
647
|
+
summary: "Specification.",
|
|
648
|
+
description: "Desired state for BIG-IP iRule Service.",
|
|
649
|
+
pathParameters: [
|
|
650
|
+
{
|
|
651
|
+
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 ""',
|
|
652
|
+
in: "path",
|
|
653
|
+
name: "metadata.namespace",
|
|
654
|
+
required: true,
|
|
655
|
+
schema: {
|
|
656
|
+
type: "string",
|
|
657
|
+
},
|
|
658
|
+
"x-displayname": "Namespace",
|
|
659
|
+
"x-ves-example": "Staging",
|
|
660
|
+
},
|
|
661
|
+
],
|
|
662
|
+
queryParameters: [],
|
|
663
|
+
requestBodySchema: {
|
|
664
|
+
$ref: "#/components/schemas/bigip_iruleCreateRequest",
|
|
665
|
+
},
|
|
666
|
+
responseSchema: {
|
|
667
|
+
$ref: "#/components/schemas/bigip_iruleCreateResponse",
|
|
668
|
+
},
|
|
669
|
+
requiredParams: ["body", "metadata.namespace"],
|
|
670
|
+
operationId: "ves.io.schema.bigip_irule.API.Create",
|
|
671
|
+
tags: ["Other"],
|
|
672
|
+
sourceFile: "domains/bigip.json",
|
|
673
|
+
displayName: null,
|
|
674
|
+
dangerLevel: "medium",
|
|
675
|
+
sideEffects: {
|
|
676
|
+
creates: ["bigip-irule"],
|
|
677
|
+
},
|
|
678
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
679
|
+
confirmationRequired: false,
|
|
680
|
+
parameterExamples: {
|
|
681
|
+
"metadata.namespace": "Staging",
|
|
682
|
+
},
|
|
683
|
+
validationRules: {},
|
|
684
|
+
operationMetadata: {
|
|
685
|
+
common_errors: [
|
|
686
|
+
{
|
|
687
|
+
code: 401,
|
|
688
|
+
message: "Authentication required",
|
|
689
|
+
solution: "Provide valid API credentials",
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
code: 403,
|
|
693
|
+
message: "Permission denied",
|
|
694
|
+
solution: "Check access permissions for this operation",
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
code: 404,
|
|
698
|
+
message: "Resource not found",
|
|
699
|
+
solution: "Verify resource name, namespace, and path",
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
code: 409,
|
|
703
|
+
message: "Resource already exists",
|
|
704
|
+
solution: "Use different name or update existing resource",
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
code: 429,
|
|
708
|
+
message: "Rate limit exceeded",
|
|
709
|
+
solution: "Wait before retrying the operation",
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
code: 500,
|
|
713
|
+
message: "Server error",
|
|
714
|
+
solution: "Retry operation or contact support",
|
|
715
|
+
},
|
|
716
|
+
],
|
|
717
|
+
conditions: {
|
|
718
|
+
postconditions: ["Bigip-irule resource created", "Resource assigned unique identifier"],
|
|
719
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
720
|
+
},
|
|
721
|
+
confirmation_required: false,
|
|
722
|
+
danger_level: "medium",
|
|
723
|
+
field_docs: {},
|
|
724
|
+
optional_fields: [],
|
|
725
|
+
performance_impact: {
|
|
726
|
+
latency: "low",
|
|
727
|
+
resource_usage: "low",
|
|
728
|
+
},
|
|
729
|
+
purpose: "Create new bigip-irule",
|
|
730
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
731
|
+
side_effects: {
|
|
732
|
+
creates: ["bigip-irule"],
|
|
733
|
+
},
|
|
734
|
+
},
|
|
735
|
+
curlExample: null,
|
|
736
|
+
dependencies: [
|
|
737
|
+
{
|
|
738
|
+
domain: "",
|
|
739
|
+
fieldPath: "",
|
|
740
|
+
inline: false,
|
|
741
|
+
required: false,
|
|
742
|
+
resourceType: "bigip-irule",
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
domain: "",
|
|
746
|
+
fieldPath: "metadata",
|
|
747
|
+
inline: false,
|
|
748
|
+
required: false,
|
|
749
|
+
resourceType: "schema-object-create-meta",
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
domain: "",
|
|
753
|
+
fieldPath: "spec",
|
|
754
|
+
inline: false,
|
|
755
|
+
required: false,
|
|
756
|
+
resourceType: "bigip-irule-create",
|
|
757
|
+
},
|
|
758
|
+
],
|
|
759
|
+
oneOfGroups: [],
|
|
760
|
+
subscriptionRequirements: [],
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
toolName: "f5xc-api-bigip-bigip-irule-delete",
|
|
764
|
+
method: "DELETE",
|
|
765
|
+
path: "/api/bigipconnector/namespaces/{namespace}/bigip_irules/{name}",
|
|
766
|
+
operation: "delete",
|
|
767
|
+
domain: "bigip",
|
|
768
|
+
resource: "bigip-irule",
|
|
769
|
+
summary: "DELETE BIG-IP iRule as a Service.",
|
|
770
|
+
description: "DELETE the specified bigip_irule.",
|
|
771
|
+
pathParameters: [
|
|
772
|
+
{
|
|
773
|
+
description: "Name\nName of the configuration object.",
|
|
774
|
+
in: "path",
|
|
775
|
+
name: "name",
|
|
776
|
+
required: true,
|
|
777
|
+
schema: {
|
|
778
|
+
type: "string",
|
|
779
|
+
},
|
|
780
|
+
"x-displayname": "Name",
|
|
781
|
+
"x-ves-example": "Name",
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
description: "Namespace\nNamespace in which the configuration object is present.",
|
|
785
|
+
in: "path",
|
|
786
|
+
name: "namespace",
|
|
787
|
+
required: true,
|
|
788
|
+
schema: {
|
|
789
|
+
type: "string",
|
|
790
|
+
},
|
|
791
|
+
"x-displayname": "Namespace",
|
|
792
|
+
"x-ves-example": "Ns1",
|
|
793
|
+
},
|
|
794
|
+
],
|
|
795
|
+
queryParameters: [],
|
|
796
|
+
requestBodySchema: {
|
|
797
|
+
$ref: "#/components/schemas/bigip_iruleDeleteRequest",
|
|
798
|
+
},
|
|
799
|
+
responseSchema: {},
|
|
800
|
+
requiredParams: ["body", "name", "namespace"],
|
|
801
|
+
operationId: "ves.io.schema.bigip_irule.API.Delete",
|
|
802
|
+
tags: ["Other"],
|
|
803
|
+
sourceFile: "domains/bigip.json",
|
|
804
|
+
displayName: null,
|
|
805
|
+
dangerLevel: "high",
|
|
806
|
+
sideEffects: {
|
|
807
|
+
deletes: ["bigip-irule", "contained_resources"],
|
|
808
|
+
},
|
|
809
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
810
|
+
confirmationRequired: true,
|
|
811
|
+
parameterExamples: {
|
|
812
|
+
name: "Name",
|
|
813
|
+
namespace: "Ns1",
|
|
814
|
+
},
|
|
815
|
+
validationRules: {},
|
|
816
|
+
operationMetadata: {
|
|
817
|
+
common_errors: [
|
|
818
|
+
{
|
|
819
|
+
code: 401,
|
|
820
|
+
message: "Authentication required",
|
|
821
|
+
solution: "Provide valid API credentials",
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
code: 403,
|
|
825
|
+
message: "Permission denied",
|
|
826
|
+
solution: "Check access permissions for this operation",
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
code: 404,
|
|
830
|
+
message: "Resource not found",
|
|
831
|
+
solution: "Verify resource name, namespace, and path",
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
code: 409,
|
|
835
|
+
message: "Resource already exists",
|
|
836
|
+
solution: "Use different name or update existing resource",
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
code: 429,
|
|
840
|
+
message: "Rate limit exceeded",
|
|
841
|
+
solution: "Wait before retrying the operation",
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
code: 500,
|
|
845
|
+
message: "Server error",
|
|
846
|
+
solution: "Retry operation or contact support",
|
|
847
|
+
},
|
|
848
|
+
],
|
|
849
|
+
conditions: {
|
|
850
|
+
postconditions: ["Resource removed from system", "Associated resources may be affected"],
|
|
851
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
852
|
+
},
|
|
853
|
+
confirmation_required: true,
|
|
854
|
+
danger_level: "high",
|
|
855
|
+
field_docs: {},
|
|
856
|
+
optional_fields: [],
|
|
857
|
+
performance_impact: {
|
|
858
|
+
latency: "high",
|
|
859
|
+
resource_usage: "moderate",
|
|
860
|
+
},
|
|
861
|
+
purpose: "Delete bigip-irule",
|
|
862
|
+
required_fields: ["path.name", "path.namespace"],
|
|
863
|
+
side_effects: {
|
|
864
|
+
deletes: ["bigip-irule", "contained_resources"],
|
|
865
|
+
},
|
|
866
|
+
},
|
|
867
|
+
curlExample: null,
|
|
868
|
+
dependencies: [
|
|
869
|
+
{
|
|
870
|
+
domain: "",
|
|
871
|
+
fieldPath: "",
|
|
872
|
+
inline: false,
|
|
873
|
+
required: false,
|
|
874
|
+
resourceType: "bigip-irule",
|
|
875
|
+
},
|
|
876
|
+
],
|
|
877
|
+
oneOfGroups: [],
|
|
878
|
+
subscriptionRequirements: [],
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
toolName: "f5xc-api-bigip-bigip-irule-get",
|
|
882
|
+
method: "GET",
|
|
883
|
+
path: "/api/bigipconnector/namespaces/{namespace}/bigip_irules/{name}",
|
|
884
|
+
operation: "get",
|
|
885
|
+
domain: "bigip",
|
|
886
|
+
resource: "bigip-irule",
|
|
887
|
+
summary: "Specification.",
|
|
888
|
+
description: "Desired state for BIG-IP iRule Service.",
|
|
889
|
+
pathParameters: [
|
|
890
|
+
{
|
|
891
|
+
description: "Name\nThe name of the configuration object to be fetched.",
|
|
892
|
+
in: "path",
|
|
893
|
+
name: "name",
|
|
894
|
+
required: true,
|
|
895
|
+
schema: {
|
|
896
|
+
type: "string",
|
|
897
|
+
},
|
|
898
|
+
"x-displayname": "Name",
|
|
899
|
+
"x-ves-example": "Name",
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
description: "Namespace\nThe namespace in which the configuration object is present.",
|
|
903
|
+
in: "path",
|
|
904
|
+
name: "namespace",
|
|
905
|
+
required: true,
|
|
906
|
+
schema: {
|
|
907
|
+
type: "string",
|
|
908
|
+
},
|
|
909
|
+
"x-displayname": "Namespace",
|
|
910
|
+
"x-ves-example": "Ns1",
|
|
911
|
+
},
|
|
912
|
+
],
|
|
913
|
+
queryParameters: [
|
|
914
|
+
{
|
|
915
|
+
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.",
|
|
916
|
+
in: "query",
|
|
917
|
+
name: "response_format",
|
|
918
|
+
required: false,
|
|
919
|
+
schema: {
|
|
920
|
+
default: "GET_RSP_FORMAT_DEFAULT",
|
|
921
|
+
enum: [
|
|
922
|
+
"GET_RSP_FORMAT_DEFAULT",
|
|
923
|
+
"GET_RSP_FORMAT_FOR_CREATE",
|
|
924
|
+
"GET_RSP_FORMAT_FOR_REPLACE",
|
|
925
|
+
"GET_RSP_FORMAT_STATUS",
|
|
926
|
+
"GET_RSP_FORMAT_READ",
|
|
927
|
+
"GET_RSP_FORMAT_REFERRING_OBJECTS",
|
|
928
|
+
"GET_RSP_FORMAT_BROKEN_REFERENCES",
|
|
929
|
+
],
|
|
930
|
+
type: "string",
|
|
931
|
+
},
|
|
932
|
+
"x-displayname": "Broken Referred Objects.",
|
|
933
|
+
},
|
|
934
|
+
],
|
|
935
|
+
requestBodySchema: null,
|
|
936
|
+
responseSchema: {
|
|
937
|
+
$ref: "#/components/schemas/bigip_iruleGetResponse",
|
|
938
|
+
},
|
|
939
|
+
requiredParams: ["name", "namespace"],
|
|
940
|
+
operationId: "ves.io.schema.bigip_irule.API.Get",
|
|
941
|
+
tags: ["Other"],
|
|
942
|
+
sourceFile: "domains/bigip.json",
|
|
943
|
+
displayName: null,
|
|
944
|
+
dangerLevel: "low",
|
|
945
|
+
sideEffects: null,
|
|
946
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
947
|
+
confirmationRequired: false,
|
|
948
|
+
parameterExamples: {
|
|
949
|
+
name: "Name",
|
|
950
|
+
namespace: "Ns1",
|
|
951
|
+
},
|
|
952
|
+
validationRules: {},
|
|
953
|
+
operationMetadata: {
|
|
954
|
+
common_errors: [
|
|
955
|
+
{
|
|
956
|
+
code: 401,
|
|
957
|
+
message: "Authentication required",
|
|
958
|
+
solution: "Provide valid API credentials",
|
|
959
|
+
},
|
|
960
|
+
{
|
|
961
|
+
code: 403,
|
|
962
|
+
message: "Permission denied",
|
|
963
|
+
solution: "Check access permissions for this operation",
|
|
964
|
+
},
|
|
965
|
+
{
|
|
966
|
+
code: 404,
|
|
967
|
+
message: "Resource not found",
|
|
968
|
+
solution: "Verify resource name, namespace, and path",
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
code: 409,
|
|
972
|
+
message: "Resource already exists",
|
|
973
|
+
solution: "Use different name or update existing resource",
|
|
974
|
+
},
|
|
975
|
+
{
|
|
976
|
+
code: 429,
|
|
977
|
+
message: "Rate limit exceeded",
|
|
978
|
+
solution: "Wait before retrying the operation",
|
|
979
|
+
},
|
|
980
|
+
{
|
|
981
|
+
code: 500,
|
|
982
|
+
message: "Server error",
|
|
983
|
+
solution: "Retry operation or contact support",
|
|
984
|
+
},
|
|
985
|
+
],
|
|
986
|
+
conditions: {
|
|
987
|
+
postconditions: [],
|
|
988
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
989
|
+
},
|
|
990
|
+
confirmation_required: false,
|
|
991
|
+
danger_level: "low",
|
|
992
|
+
field_docs: {},
|
|
993
|
+
optional_fields: [],
|
|
994
|
+
performance_impact: {
|
|
995
|
+
latency: "low",
|
|
996
|
+
resource_usage: "low",
|
|
997
|
+
},
|
|
998
|
+
purpose: "Retrieve specific bigip-irule",
|
|
999
|
+
required_fields: ["path.name", "path.namespace"],
|
|
1000
|
+
side_effects: {},
|
|
1001
|
+
},
|
|
1002
|
+
curlExample: null,
|
|
1003
|
+
dependencies: [],
|
|
1004
|
+
oneOfGroups: [],
|
|
1005
|
+
subscriptionRequirements: [],
|
|
1006
|
+
},
|
|
1007
|
+
{
|
|
1008
|
+
toolName: "f5xc-api-bigip-bigip-irule-list",
|
|
1009
|
+
method: "GET",
|
|
1010
|
+
path: "/api/bigipconnector/namespaces/{namespace}/bigip_irules",
|
|
1011
|
+
operation: "list",
|
|
1012
|
+
domain: "bigip",
|
|
1013
|
+
resource: "bigip-irule",
|
|
1014
|
+
summary: "List BIG-IP iRule as a Service.",
|
|
1015
|
+
description: "List the set of bigip_irule in a namespace.",
|
|
1016
|
+
pathParameters: [
|
|
1017
|
+
{
|
|
1018
|
+
description: "Namespace\nNamespace to scope the listing of bigip_irule.",
|
|
1019
|
+
in: "path",
|
|
1020
|
+
name: "namespace",
|
|
1021
|
+
required: true,
|
|
1022
|
+
schema: {
|
|
1023
|
+
type: "string",
|
|
1024
|
+
},
|
|
1025
|
+
"x-displayname": "Namespace",
|
|
1026
|
+
"x-ves-example": "Ns1",
|
|
1027
|
+
},
|
|
1028
|
+
],
|
|
1029
|
+
queryParameters: [
|
|
1030
|
+
{
|
|
1031
|
+
description: "A LabelSelectorType expression that every item in list response will satisfy.",
|
|
1032
|
+
in: "query",
|
|
1033
|
+
name: "label_filter",
|
|
1034
|
+
required: false,
|
|
1035
|
+
schema: {
|
|
1036
|
+
type: "string",
|
|
1037
|
+
},
|
|
1038
|
+
"x-displayname": "Label Filter.",
|
|
1039
|
+
"x-ves-example": "Env in (staging, testing), tier in (web, db)",
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
description: 'X-example: ""\nExtra fields to return along with summary fields.',
|
|
1043
|
+
in: "query",
|
|
1044
|
+
name: "report_fields",
|
|
1045
|
+
required: false,
|
|
1046
|
+
schema: {
|
|
1047
|
+
items: {
|
|
1048
|
+
type: "string",
|
|
1049
|
+
},
|
|
1050
|
+
type: "array",
|
|
1051
|
+
},
|
|
1052
|
+
"x-displayname": "Report Fields.",
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
description: 'X-example: ""\nExtra status fields to return along with summary fields.',
|
|
1056
|
+
in: "query",
|
|
1057
|
+
name: "report_status_fields",
|
|
1058
|
+
required: false,
|
|
1059
|
+
schema: {
|
|
1060
|
+
items: {
|
|
1061
|
+
type: "string",
|
|
1062
|
+
},
|
|
1063
|
+
type: "array",
|
|
1064
|
+
},
|
|
1065
|
+
"x-displayname": "Report Status Fields.",
|
|
1066
|
+
},
|
|
1067
|
+
],
|
|
1068
|
+
requestBodySchema: null,
|
|
1069
|
+
responseSchema: {
|
|
1070
|
+
$ref: "#/components/schemas/bigip_iruleListResponse",
|
|
1071
|
+
},
|
|
1072
|
+
requiredParams: ["namespace"],
|
|
1073
|
+
operationId: "ves.io.schema.bigip_irule.API.List",
|
|
1074
|
+
tags: ["Other"],
|
|
1075
|
+
sourceFile: "domains/bigip.json",
|
|
1076
|
+
displayName: null,
|
|
1077
|
+
dangerLevel: "low",
|
|
1078
|
+
sideEffects: null,
|
|
1079
|
+
requiredFields: ["path.namespace"],
|
|
1080
|
+
confirmationRequired: false,
|
|
1081
|
+
parameterExamples: {
|
|
1082
|
+
label_filter: "Env in (staging, testing), tier in (web, db)",
|
|
1083
|
+
namespace: "Ns1",
|
|
1084
|
+
},
|
|
1085
|
+
validationRules: {},
|
|
1086
|
+
operationMetadata: {
|
|
1087
|
+
common_errors: [
|
|
1088
|
+
{
|
|
1089
|
+
code: 401,
|
|
1090
|
+
message: "Authentication required",
|
|
1091
|
+
solution: "Provide valid API credentials",
|
|
1092
|
+
},
|
|
1093
|
+
{
|
|
1094
|
+
code: 403,
|
|
1095
|
+
message: "Permission denied",
|
|
1096
|
+
solution: "Check access permissions for this operation",
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
code: 404,
|
|
1100
|
+
message: "Resource not found",
|
|
1101
|
+
solution: "Verify resource name, namespace, and path",
|
|
1102
|
+
},
|
|
1103
|
+
{
|
|
1104
|
+
code: 409,
|
|
1105
|
+
message: "Resource already exists",
|
|
1106
|
+
solution: "Use different name or update existing resource",
|
|
1107
|
+
},
|
|
1108
|
+
{
|
|
1109
|
+
code: 429,
|
|
1110
|
+
message: "Rate limit exceeded",
|
|
1111
|
+
solution: "Wait before retrying the operation",
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
code: 500,
|
|
1115
|
+
message: "Server error",
|
|
1116
|
+
solution: "Retry operation or contact support",
|
|
1117
|
+
},
|
|
1118
|
+
],
|
|
1119
|
+
conditions: {
|
|
1120
|
+
postconditions: [],
|
|
1121
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
1122
|
+
},
|
|
1123
|
+
confirmation_required: false,
|
|
1124
|
+
danger_level: "low",
|
|
1125
|
+
field_docs: {},
|
|
1126
|
+
optional_fields: [],
|
|
1127
|
+
performance_impact: {
|
|
1128
|
+
latency: "moderate",
|
|
1129
|
+
resource_usage: "moderate",
|
|
1130
|
+
},
|
|
1131
|
+
purpose: "List all bigip-irules",
|
|
1132
|
+
required_fields: ["path.namespace"],
|
|
1133
|
+
side_effects: {},
|
|
1134
|
+
},
|
|
1135
|
+
curlExample: null,
|
|
1136
|
+
dependencies: [],
|
|
1137
|
+
oneOfGroups: [],
|
|
1138
|
+
subscriptionRequirements: [],
|
|
1139
|
+
},
|
|
1140
|
+
{
|
|
1141
|
+
toolName: "f5xc-api-bigip-bigip-irule-update",
|
|
1142
|
+
method: "PUT",
|
|
1143
|
+
path: "/api/bigipconnector/namespaces/{metadata.namespace}/bigip_irules/{metadata.name}",
|
|
1144
|
+
operation: "update",
|
|
1145
|
+
domain: "bigip",
|
|
1146
|
+
resource: "bigip-irule",
|
|
1147
|
+
summary: "Specification.",
|
|
1148
|
+
description: "Desired state for BIG-IP iRule Service.",
|
|
1149
|
+
pathParameters: [
|
|
1150
|
+
{
|
|
1151
|
+
description: "Name\nThe configuration object to be replaced will be looked up by name.",
|
|
1152
|
+
in: "path",
|
|
1153
|
+
name: "metadata.name",
|
|
1154
|
+
required: true,
|
|
1155
|
+
schema: {
|
|
1156
|
+
type: "string",
|
|
1157
|
+
},
|
|
1158
|
+
"x-displayname": "Name",
|
|
1159
|
+
"x-ves-example": "Example-corp-web.",
|
|
1160
|
+
},
|
|
1161
|
+
{
|
|
1162
|
+
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 ""',
|
|
1163
|
+
in: "path",
|
|
1164
|
+
name: "metadata.namespace",
|
|
1165
|
+
required: true,
|
|
1166
|
+
schema: {
|
|
1167
|
+
type: "string",
|
|
1168
|
+
},
|
|
1169
|
+
"x-displayname": "Namespace",
|
|
1170
|
+
"x-ves-example": "Staging",
|
|
1171
|
+
},
|
|
1172
|
+
],
|
|
1173
|
+
queryParameters: [],
|
|
1174
|
+
requestBodySchema: {
|
|
1175
|
+
$ref: "#/components/schemas/bigip_iruleReplaceRequest",
|
|
1176
|
+
},
|
|
1177
|
+
responseSchema: {
|
|
1178
|
+
$ref: "#/components/schemas/bigip_iruleReplaceResponse",
|
|
1179
|
+
},
|
|
1180
|
+
requiredParams: ["body", "metadata.name", "metadata.namespace"],
|
|
1181
|
+
operationId: "ves.io.schema.bigip_irule.API.Replace",
|
|
1182
|
+
tags: ["Other"],
|
|
1183
|
+
sourceFile: "domains/bigip.json",
|
|
1184
|
+
displayName: null,
|
|
1185
|
+
dangerLevel: "medium",
|
|
1186
|
+
sideEffects: {
|
|
1187
|
+
modifies: ["bigip-irule"],
|
|
1188
|
+
},
|
|
1189
|
+
requiredFields: ["path.metadata.name", "path.metadata.namespace"],
|
|
1190
|
+
confirmationRequired: false,
|
|
1191
|
+
parameterExamples: {
|
|
1192
|
+
"metadata.name": "Example-corp-web.",
|
|
1193
|
+
"metadata.namespace": "Staging",
|
|
1194
|
+
},
|
|
1195
|
+
validationRules: {},
|
|
1196
|
+
operationMetadata: {
|
|
1197
|
+
common_errors: [
|
|
1198
|
+
{
|
|
1199
|
+
code: 401,
|
|
1200
|
+
message: "Authentication required",
|
|
1201
|
+
solution: "Provide valid API credentials",
|
|
1202
|
+
},
|
|
1203
|
+
{
|
|
1204
|
+
code: 403,
|
|
1205
|
+
message: "Permission denied",
|
|
1206
|
+
solution: "Check access permissions for this operation",
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
code: 404,
|
|
1210
|
+
message: "Resource not found",
|
|
1211
|
+
solution: "Verify resource name, namespace, and path",
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
code: 409,
|
|
1215
|
+
message: "Resource already exists",
|
|
1216
|
+
solution: "Use different name or update existing resource",
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
code: 429,
|
|
1220
|
+
message: "Rate limit exceeded",
|
|
1221
|
+
solution: "Wait before retrying the operation",
|
|
1222
|
+
},
|
|
1223
|
+
{
|
|
1224
|
+
code: 500,
|
|
1225
|
+
message: "Server error",
|
|
1226
|
+
solution: "Retry operation or contact support",
|
|
1227
|
+
},
|
|
1228
|
+
],
|
|
1229
|
+
conditions: {
|
|
1230
|
+
postconditions: ["Resource updated with new values"],
|
|
1231
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
1232
|
+
},
|
|
1233
|
+
confirmation_required: false,
|
|
1234
|
+
danger_level: "medium",
|
|
1235
|
+
field_docs: {},
|
|
1236
|
+
optional_fields: [],
|
|
1237
|
+
performance_impact: {
|
|
1238
|
+
latency: "low",
|
|
1239
|
+
resource_usage: "low",
|
|
1240
|
+
},
|
|
1241
|
+
purpose: "Replace existing bigip-irule",
|
|
1242
|
+
required_fields: ["path.metadata.name", "path.metadata.namespace"],
|
|
1243
|
+
side_effects: {
|
|
1244
|
+
modifies: ["bigip-irule"],
|
|
1245
|
+
},
|
|
1246
|
+
},
|
|
1247
|
+
curlExample: null,
|
|
1248
|
+
dependencies: [
|
|
1249
|
+
{
|
|
1250
|
+
domain: "",
|
|
1251
|
+
fieldPath: "",
|
|
1252
|
+
inline: false,
|
|
1253
|
+
required: false,
|
|
1254
|
+
resourceType: "bigip-irule",
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
domain: "",
|
|
1258
|
+
fieldPath: "metadata",
|
|
1259
|
+
inline: false,
|
|
1260
|
+
required: false,
|
|
1261
|
+
resourceType: "schema-object-replace-meta",
|
|
1262
|
+
},
|
|
1263
|
+
{
|
|
1264
|
+
domain: "",
|
|
1265
|
+
fieldPath: "spec",
|
|
1266
|
+
inline: false,
|
|
1267
|
+
required: false,
|
|
1268
|
+
resourceType: "bigip-irule-replace",
|
|
1269
|
+
},
|
|
1270
|
+
],
|
|
1271
|
+
oneOfGroups: [],
|
|
1272
|
+
subscriptionRequirements: [],
|
|
1273
|
+
},
|
|
1274
|
+
{
|
|
1275
|
+
toolName: "f5xc-api-bigip-bigip-virtual-server-get",
|
|
1276
|
+
method: "GET",
|
|
1277
|
+
path: "/api/config/namespaces/{namespace}/bigip_virtual_servers/{name}",
|
|
1278
|
+
operation: "get",
|
|
1279
|
+
domain: "bigip",
|
|
1280
|
+
resource: "bigip-virtual-server",
|
|
1281
|
+
summary: "GET BIG-IP virtual server.",
|
|
1282
|
+
description: "Shape of the BIG-IP virtual server specification.",
|
|
1283
|
+
pathParameters: [
|
|
1284
|
+
{
|
|
1285
|
+
description: "Name\nThe name of the configuration object to be fetched.",
|
|
1286
|
+
in: "path",
|
|
1287
|
+
name: "name",
|
|
1288
|
+
required: true,
|
|
1289
|
+
schema: {
|
|
1290
|
+
type: "string",
|
|
1291
|
+
},
|
|
1292
|
+
"x-displayname": "Name",
|
|
1293
|
+
"x-ves-example": "Name",
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
description: "Namespace\nThe namespace in which the configuration object is present.",
|
|
1297
|
+
in: "path",
|
|
1298
|
+
name: "namespace",
|
|
1299
|
+
required: true,
|
|
1300
|
+
schema: {
|
|
1301
|
+
type: "string",
|
|
1302
|
+
},
|
|
1303
|
+
"x-displayname": "Namespace",
|
|
1304
|
+
"x-ves-example": "Ns1",
|
|
1305
|
+
},
|
|
1306
|
+
],
|
|
1307
|
+
queryParameters: [
|
|
1308
|
+
{
|
|
1309
|
+
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 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.",
|
|
1310
|
+
in: "query",
|
|
1311
|
+
name: "response_format",
|
|
1312
|
+
required: false,
|
|
1313
|
+
schema: {
|
|
1314
|
+
default: "GET_RSP_FORMAT_DEFAULT",
|
|
1315
|
+
enum: [
|
|
1316
|
+
"GET_RSP_FORMAT_DEFAULT",
|
|
1317
|
+
"GET_RSP_FORMAT_FOR_REPLACE",
|
|
1318
|
+
"GET_RSP_FORMAT_STATUS",
|
|
1319
|
+
"GET_RSP_FORMAT_READ",
|
|
1320
|
+
"GET_RSP_FORMAT_REFERRING_OBJECTS",
|
|
1321
|
+
"GET_RSP_FORMAT_BROKEN_REFERENCES",
|
|
1322
|
+
],
|
|
1323
|
+
type: "string",
|
|
1324
|
+
},
|
|
1325
|
+
"x-displayname": "Broken Referred Objects.",
|
|
1326
|
+
},
|
|
1327
|
+
],
|
|
1328
|
+
requestBodySchema: null,
|
|
1329
|
+
responseSchema: {
|
|
1330
|
+
$ref: "#/components/schemas/bigip_virtual_serverGetResponse",
|
|
1331
|
+
},
|
|
1332
|
+
requiredParams: ["name", "namespace"],
|
|
1333
|
+
operationId: "ves.io.schema.views.bigip_virtual_server.API.Get",
|
|
1334
|
+
tags: ["Other"],
|
|
1335
|
+
sourceFile: "domains/bigip.json",
|
|
1336
|
+
displayName: null,
|
|
1337
|
+
dangerLevel: "low",
|
|
1338
|
+
sideEffects: null,
|
|
1339
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
1340
|
+
confirmationRequired: false,
|
|
1341
|
+
parameterExamples: {
|
|
1342
|
+
name: "Name",
|
|
1343
|
+
namespace: "Ns1",
|
|
1344
|
+
},
|
|
1345
|
+
validationRules: {},
|
|
1346
|
+
operationMetadata: {
|
|
1347
|
+
common_errors: [
|
|
1348
|
+
{
|
|
1349
|
+
code: 401,
|
|
1350
|
+
message: "Authentication required",
|
|
1351
|
+
solution: "Provide valid API credentials",
|
|
1352
|
+
},
|
|
1353
|
+
{
|
|
1354
|
+
code: 403,
|
|
1355
|
+
message: "Permission denied",
|
|
1356
|
+
solution: "Check access permissions for this operation",
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
code: 404,
|
|
1360
|
+
message: "Resource not found",
|
|
1361
|
+
solution: "Verify resource name, namespace, and path",
|
|
1362
|
+
},
|
|
1363
|
+
{
|
|
1364
|
+
code: 409,
|
|
1365
|
+
message: "Resource already exists",
|
|
1366
|
+
solution: "Use different name or update existing resource",
|
|
1367
|
+
},
|
|
1368
|
+
{
|
|
1369
|
+
code: 429,
|
|
1370
|
+
message: "Rate limit exceeded",
|
|
1371
|
+
solution: "Wait before retrying the operation",
|
|
1372
|
+
},
|
|
1373
|
+
{
|
|
1374
|
+
code: 500,
|
|
1375
|
+
message: "Server error",
|
|
1376
|
+
solution: "Retry operation or contact support",
|
|
1377
|
+
},
|
|
1378
|
+
],
|
|
1379
|
+
conditions: {
|
|
1380
|
+
postconditions: [],
|
|
1381
|
+
prerequisites: ["Active namespace"],
|
|
1382
|
+
},
|
|
1383
|
+
confirmation_required: false,
|
|
1384
|
+
danger_level: "low",
|
|
1385
|
+
field_docs: {},
|
|
1386
|
+
optional_fields: [],
|
|
1387
|
+
performance_impact: {
|
|
1388
|
+
latency: "low",
|
|
1389
|
+
resource_usage: "low",
|
|
1390
|
+
},
|
|
1391
|
+
purpose: "Retrieve specific bigip-virtual-server",
|
|
1392
|
+
required_fields: ["path.name", "path.namespace"],
|
|
1393
|
+
side_effects: {},
|
|
1394
|
+
},
|
|
1395
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/bigip_virtual_servers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
1396
|
+
dependencies: [],
|
|
1397
|
+
oneOfGroups: [],
|
|
1398
|
+
subscriptionRequirements: [],
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
toolName: "f5xc-api-bigip-bigip-virtual-server-list",
|
|
1402
|
+
method: "GET",
|
|
1403
|
+
path: "/api/config/namespaces/{namespace}/bigip_virtual_servers",
|
|
1404
|
+
operation: "list",
|
|
1405
|
+
domain: "bigip",
|
|
1406
|
+
resource: "bigip-virtual-server",
|
|
1407
|
+
summary: "List BIG-IP virtual server.",
|
|
1408
|
+
description: "List the set of bigip_virtual_server in a namespace.",
|
|
1409
|
+
pathParameters: [
|
|
1410
|
+
{
|
|
1411
|
+
description: "Namespace\nNamespace to scope the listing of bigip_virtual_server.",
|
|
1412
|
+
in: "path",
|
|
1413
|
+
name: "namespace",
|
|
1414
|
+
required: true,
|
|
1415
|
+
schema: {
|
|
1416
|
+
type: "string",
|
|
1417
|
+
},
|
|
1418
|
+
"x-displayname": "Namespace",
|
|
1419
|
+
"x-ves-example": "Ns1",
|
|
1420
|
+
},
|
|
1421
|
+
],
|
|
1422
|
+
queryParameters: [
|
|
1423
|
+
{
|
|
1424
|
+
description: "A LabelSelectorType expression that every item in list response will satisfy.",
|
|
1425
|
+
in: "query",
|
|
1426
|
+
name: "label_filter",
|
|
1427
|
+
required: false,
|
|
1428
|
+
schema: {
|
|
1429
|
+
type: "string",
|
|
1430
|
+
},
|
|
1431
|
+
"x-displayname": "Label Filter.",
|
|
1432
|
+
"x-ves-example": "Env in (staging, testing), tier in (web, db)",
|
|
1433
|
+
},
|
|
1434
|
+
{
|
|
1435
|
+
description: 'X-example: ""\nExtra fields to return along with summary fields.',
|
|
1436
|
+
in: "query",
|
|
1437
|
+
name: "report_fields",
|
|
1438
|
+
required: false,
|
|
1439
|
+
schema: {
|
|
1440
|
+
items: {
|
|
1441
|
+
type: "string",
|
|
1442
|
+
},
|
|
1443
|
+
type: "array",
|
|
1444
|
+
},
|
|
1445
|
+
"x-displayname": "Report Fields.",
|
|
1446
|
+
},
|
|
1447
|
+
{
|
|
1448
|
+
description: 'X-example: ""\nExtra status fields to return along with summary fields.',
|
|
1449
|
+
in: "query",
|
|
1450
|
+
name: "report_status_fields",
|
|
1451
|
+
required: false,
|
|
1452
|
+
schema: {
|
|
1453
|
+
items: {
|
|
1454
|
+
type: "string",
|
|
1455
|
+
},
|
|
1456
|
+
type: "array",
|
|
1457
|
+
},
|
|
1458
|
+
"x-displayname": "Report Status Fields.",
|
|
1459
|
+
},
|
|
1460
|
+
],
|
|
1461
|
+
requestBodySchema: null,
|
|
1462
|
+
responseSchema: {
|
|
1463
|
+
$ref: "#/components/schemas/bigip_virtual_serverListResponse",
|
|
1464
|
+
},
|
|
1465
|
+
requiredParams: ["namespace"],
|
|
1466
|
+
operationId: "ves.io.schema.views.bigip_virtual_server.API.List",
|
|
1467
|
+
tags: ["Other"],
|
|
1468
|
+
sourceFile: "domains/bigip.json",
|
|
1469
|
+
displayName: null,
|
|
1470
|
+
dangerLevel: "low",
|
|
1471
|
+
sideEffects: null,
|
|
1472
|
+
requiredFields: ["path.namespace"],
|
|
1473
|
+
confirmationRequired: false,
|
|
1474
|
+
parameterExamples: {
|
|
1475
|
+
label_filter: "Env in (staging, testing), tier in (web, db)",
|
|
1476
|
+
namespace: "Ns1",
|
|
1477
|
+
},
|
|
1478
|
+
validationRules: {},
|
|
1479
|
+
operationMetadata: {
|
|
1480
|
+
common_errors: [
|
|
1481
|
+
{
|
|
1482
|
+
code: 401,
|
|
1483
|
+
message: "Authentication required",
|
|
1484
|
+
solution: "Provide valid API credentials",
|
|
1485
|
+
},
|
|
1486
|
+
{
|
|
1487
|
+
code: 403,
|
|
1488
|
+
message: "Permission denied",
|
|
1489
|
+
solution: "Check access permissions for this operation",
|
|
1490
|
+
},
|
|
1491
|
+
{
|
|
1492
|
+
code: 404,
|
|
1493
|
+
message: "Resource not found",
|
|
1494
|
+
solution: "Verify resource name, namespace, and path",
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
code: 409,
|
|
1498
|
+
message: "Resource already exists",
|
|
1499
|
+
solution: "Use different name or update existing resource",
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
code: 429,
|
|
1503
|
+
message: "Rate limit exceeded",
|
|
1504
|
+
solution: "Wait before retrying the operation",
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
code: 500,
|
|
1508
|
+
message: "Server error",
|
|
1509
|
+
solution: "Retry operation or contact support",
|
|
1510
|
+
},
|
|
1511
|
+
],
|
|
1512
|
+
conditions: {
|
|
1513
|
+
postconditions: [],
|
|
1514
|
+
prerequisites: ["Active namespace"],
|
|
1515
|
+
},
|
|
1516
|
+
confirmation_required: false,
|
|
1517
|
+
danger_level: "low",
|
|
1518
|
+
field_docs: {},
|
|
1519
|
+
optional_fields: [],
|
|
1520
|
+
performance_impact: {
|
|
1521
|
+
latency: "moderate",
|
|
1522
|
+
resource_usage: "moderate",
|
|
1523
|
+
},
|
|
1524
|
+
purpose: "List all bigip-virtual-servers",
|
|
1525
|
+
required_fields: ["path.namespace"],
|
|
1526
|
+
side_effects: {},
|
|
1527
|
+
},
|
|
1528
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/bigip_virtual_servers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
1529
|
+
dependencies: [],
|
|
1530
|
+
oneOfGroups: [],
|
|
1531
|
+
subscriptionRequirements: [],
|
|
1532
|
+
},
|
|
1533
|
+
{
|
|
1534
|
+
toolName: "f5xc-api-bigip-bigip-virtual-server-update",
|
|
1535
|
+
method: "PUT",
|
|
1536
|
+
path: "/api/config/namespaces/{metadata.namespace}/bigip_virtual_servers/{metadata.name}",
|
|
1537
|
+
operation: "update",
|
|
1538
|
+
domain: "bigip",
|
|
1539
|
+
resource: "bigip-virtual-server",
|
|
1540
|
+
summary: "Replace BIG-IP virtual server.",
|
|
1541
|
+
description: "Shape of the BIG-IP virtual server specification.",
|
|
1542
|
+
pathParameters: [
|
|
1543
|
+
{
|
|
1544
|
+
description: "Name\nThe configuration object to be replaced will be looked up by name.",
|
|
1545
|
+
in: "path",
|
|
1546
|
+
name: "metadata.name",
|
|
1547
|
+
required: true,
|
|
1548
|
+
schema: {
|
|
1549
|
+
type: "string",
|
|
1550
|
+
},
|
|
1551
|
+
"x-displayname": "Name",
|
|
1552
|
+
"x-ves-example": "Example-corp-web.",
|
|
1553
|
+
},
|
|
1554
|
+
{
|
|
1555
|
+
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 ""',
|
|
1556
|
+
in: "path",
|
|
1557
|
+
name: "metadata.namespace",
|
|
1558
|
+
required: true,
|
|
1559
|
+
schema: {
|
|
1560
|
+
type: "string",
|
|
1561
|
+
},
|
|
1562
|
+
"x-displayname": "Namespace",
|
|
1563
|
+
"x-ves-example": "Staging",
|
|
1564
|
+
},
|
|
1565
|
+
],
|
|
1566
|
+
queryParameters: [],
|
|
1567
|
+
requestBodySchema: {
|
|
1568
|
+
$ref: "#/components/schemas/bigip_virtual_serverReplaceRequest",
|
|
1569
|
+
},
|
|
1570
|
+
responseSchema: {
|
|
1571
|
+
$ref: "#/components/schemas/bigip_virtual_serverReplaceResponse",
|
|
1572
|
+
},
|
|
1573
|
+
requiredParams: ["body", "metadata.name", "metadata.namespace"],
|
|
1574
|
+
operationId: "ves.io.schema.views.bigip_virtual_server.API.Replace",
|
|
1575
|
+
tags: ["Other"],
|
|
1576
|
+
sourceFile: "domains/bigip.json",
|
|
1577
|
+
displayName: null,
|
|
1578
|
+
dangerLevel: "medium",
|
|
1579
|
+
sideEffects: {
|
|
1580
|
+
modifies: ["bigip-virtual-server"],
|
|
1581
|
+
},
|
|
1582
|
+
requiredFields: ["path.metadata.name", "path.metadata.namespace"],
|
|
1583
|
+
confirmationRequired: false,
|
|
1584
|
+
parameterExamples: {
|
|
1585
|
+
"metadata.name": "Example-corp-web.",
|
|
1586
|
+
"metadata.namespace": "Staging",
|
|
1587
|
+
},
|
|
1588
|
+
validationRules: {},
|
|
1589
|
+
operationMetadata: {
|
|
1590
|
+
common_errors: [
|
|
1591
|
+
{
|
|
1592
|
+
code: 401,
|
|
1593
|
+
message: "Authentication required",
|
|
1594
|
+
solution: "Provide valid API credentials",
|
|
1595
|
+
},
|
|
1596
|
+
{
|
|
1597
|
+
code: 403,
|
|
1598
|
+
message: "Permission denied",
|
|
1599
|
+
solution: "Check access permissions for this operation",
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
code: 404,
|
|
1603
|
+
message: "Resource not found",
|
|
1604
|
+
solution: "Verify resource name, namespace, and path",
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
code: 409,
|
|
1608
|
+
message: "Resource already exists",
|
|
1609
|
+
solution: "Use different name or update existing resource",
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
code: 429,
|
|
1613
|
+
message: "Rate limit exceeded",
|
|
1614
|
+
solution: "Wait before retrying the operation",
|
|
1615
|
+
},
|
|
1616
|
+
{
|
|
1617
|
+
code: 500,
|
|
1618
|
+
message: "Server error",
|
|
1619
|
+
solution: "Retry operation or contact support",
|
|
1620
|
+
},
|
|
1621
|
+
],
|
|
1622
|
+
conditions: {
|
|
1623
|
+
postconditions: ["Resource updated with new values"],
|
|
1624
|
+
prerequisites: ["Active namespace"],
|
|
1625
|
+
},
|
|
1626
|
+
confirmation_required: false,
|
|
1627
|
+
danger_level: "medium",
|
|
1628
|
+
field_docs: {},
|
|
1629
|
+
optional_fields: [],
|
|
1630
|
+
performance_impact: {
|
|
1631
|
+
latency: "low",
|
|
1632
|
+
resource_usage: "low",
|
|
1633
|
+
},
|
|
1634
|
+
purpose: "Replace existing bigip-virtual-server",
|
|
1635
|
+
required_fields: ["path.metadata.name", "path.metadata.namespace"],
|
|
1636
|
+
side_effects: {
|
|
1637
|
+
modifies: ["bigip-virtual-server"],
|
|
1638
|
+
},
|
|
1639
|
+
},
|
|
1640
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/bigip_virtual_servers" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
1641
|
+
dependencies: [
|
|
1642
|
+
{
|
|
1643
|
+
domain: "",
|
|
1644
|
+
fieldPath: "",
|
|
1645
|
+
inline: false,
|
|
1646
|
+
required: false,
|
|
1647
|
+
resourceType: "bigip-virtual-server",
|
|
1648
|
+
},
|
|
1649
|
+
{
|
|
1650
|
+
domain: "",
|
|
1651
|
+
fieldPath: "metadata",
|
|
1652
|
+
inline: false,
|
|
1653
|
+
required: false,
|
|
1654
|
+
resourceType: "schema-object-replace-meta",
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
domain: "",
|
|
1658
|
+
fieldPath: "spec",
|
|
1659
|
+
inline: false,
|
|
1660
|
+
required: false,
|
|
1661
|
+
resourceType: "viewsbigip-virtual-server-replace",
|
|
1662
|
+
},
|
|
1663
|
+
],
|
|
1664
|
+
oneOfGroups: [],
|
|
1665
|
+
subscriptionRequirements: [],
|
|
1666
|
+
},
|
|
1667
|
+
{
|
|
1668
|
+
toolName: "f5xc-api-bigip-data-group-create",
|
|
1669
|
+
method: "POST",
|
|
1670
|
+
path: "/api/config/namespaces/{metadata.namespace}/data_groups",
|
|
1671
|
+
operation: "create",
|
|
1672
|
+
domain: "bigip",
|
|
1673
|
+
resource: "data-group",
|
|
1674
|
+
summary: "Create Data group.",
|
|
1675
|
+
description: "Create data group in a given namespace. If one already exists it will give an error.",
|
|
1676
|
+
pathParameters: [
|
|
1677
|
+
{
|
|
1678
|
+
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 ""',
|
|
1679
|
+
in: "path",
|
|
1680
|
+
name: "metadata.namespace",
|
|
1681
|
+
required: true,
|
|
1682
|
+
schema: {
|
|
1683
|
+
type: "string",
|
|
1684
|
+
},
|
|
1685
|
+
"x-displayname": "Namespace",
|
|
1686
|
+
"x-ves-example": "Staging",
|
|
1687
|
+
},
|
|
1688
|
+
],
|
|
1689
|
+
queryParameters: [],
|
|
1690
|
+
requestBodySchema: {
|
|
1691
|
+
$ref: "#/components/schemas/data_groupCreateRequest",
|
|
1692
|
+
},
|
|
1693
|
+
responseSchema: {
|
|
1694
|
+
$ref: "#/components/schemas/data_groupCreateResponse",
|
|
1695
|
+
},
|
|
1696
|
+
requiredParams: ["body", "metadata.namespace"],
|
|
1697
|
+
operationId: "ves.io.schema.bigcne.data_group.API.Create",
|
|
1698
|
+
tags: ["Other"],
|
|
1699
|
+
sourceFile: "domains/bigip.json",
|
|
1700
|
+
displayName: null,
|
|
1701
|
+
dangerLevel: "medium",
|
|
1702
|
+
sideEffects: {
|
|
1703
|
+
creates: ["data-group"],
|
|
1704
|
+
},
|
|
1705
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
1706
|
+
confirmationRequired: false,
|
|
1707
|
+
parameterExamples: {
|
|
1708
|
+
"metadata.namespace": "Staging",
|
|
1709
|
+
},
|
|
1710
|
+
validationRules: {},
|
|
1711
|
+
operationMetadata: {
|
|
1712
|
+
common_errors: [
|
|
1713
|
+
{
|
|
1714
|
+
code: 401,
|
|
1715
|
+
message: "Authentication required",
|
|
1716
|
+
solution: "Provide valid API credentials",
|
|
1717
|
+
},
|
|
1718
|
+
{
|
|
1719
|
+
code: 403,
|
|
1720
|
+
message: "Permission denied",
|
|
1721
|
+
solution: "Check access permissions for this operation",
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
code: 404,
|
|
1725
|
+
message: "Resource not found",
|
|
1726
|
+
solution: "Verify resource name, namespace, and path",
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
code: 409,
|
|
1730
|
+
message: "Resource already exists",
|
|
1731
|
+
solution: "Use different name or update existing resource",
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
code: 429,
|
|
1735
|
+
message: "Rate limit exceeded",
|
|
1736
|
+
solution: "Wait before retrying the operation",
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
code: 500,
|
|
1740
|
+
message: "Server error",
|
|
1741
|
+
solution: "Retry operation or contact support",
|
|
1742
|
+
},
|
|
1743
|
+
],
|
|
1744
|
+
conditions: {
|
|
1745
|
+
postconditions: ["Data-group resource created", "Resource assigned unique identifier"],
|
|
1746
|
+
prerequisites: ["Active namespace"],
|
|
1747
|
+
},
|
|
1748
|
+
confirmation_required: false,
|
|
1749
|
+
danger_level: "medium",
|
|
1750
|
+
field_docs: {},
|
|
1751
|
+
optional_fields: [],
|
|
1752
|
+
performance_impact: {
|
|
1753
|
+
latency: "low",
|
|
1754
|
+
resource_usage: "low",
|
|
1755
|
+
},
|
|
1756
|
+
purpose: "Create new data-group",
|
|
1757
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
1758
|
+
side_effects: {
|
|
1759
|
+
creates: ["data-group"],
|
|
1760
|
+
},
|
|
1761
|
+
},
|
|
1762
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/data_groups" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
1763
|
+
dependencies: [
|
|
1764
|
+
{
|
|
1765
|
+
domain: "",
|
|
1766
|
+
fieldPath: "",
|
|
1767
|
+
inline: false,
|
|
1768
|
+
required: false,
|
|
1769
|
+
resourceType: "data-group",
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
domain: "",
|
|
1773
|
+
fieldPath: "metadata",
|
|
1774
|
+
inline: false,
|
|
1775
|
+
required: false,
|
|
1776
|
+
resourceType: "schema-object-create-meta",
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
domain: "",
|
|
1780
|
+
fieldPath: "spec",
|
|
1781
|
+
inline: false,
|
|
1782
|
+
required: false,
|
|
1783
|
+
resourceType: "bigcnedata-group-create",
|
|
1784
|
+
},
|
|
1785
|
+
],
|
|
1786
|
+
oneOfGroups: [],
|
|
1787
|
+
subscriptionRequirements: [],
|
|
1788
|
+
},
|
|
1789
|
+
{
|
|
1790
|
+
toolName: "f5xc-api-bigip-data-group-delete",
|
|
1791
|
+
method: "DELETE",
|
|
1792
|
+
path: "/api/config/namespaces/{namespace}/data_groups/{name}",
|
|
1793
|
+
operation: "delete",
|
|
1794
|
+
domain: "bigip",
|
|
1795
|
+
resource: "data-group",
|
|
1796
|
+
summary: "DELETE Data Group.",
|
|
1797
|
+
description: "DELETE the specified data_group.",
|
|
1798
|
+
pathParameters: [
|
|
1799
|
+
{
|
|
1800
|
+
description: "Name\nName of the configuration object.",
|
|
1801
|
+
in: "path",
|
|
1802
|
+
name: "name",
|
|
1803
|
+
required: true,
|
|
1804
|
+
schema: {
|
|
1805
|
+
type: "string",
|
|
1806
|
+
},
|
|
1807
|
+
"x-displayname": "Name",
|
|
1808
|
+
"x-ves-example": "Name",
|
|
1809
|
+
},
|
|
1810
|
+
{
|
|
1811
|
+
description: "Namespace\nNamespace in which the configuration object is present.",
|
|
1812
|
+
in: "path",
|
|
1813
|
+
name: "namespace",
|
|
1814
|
+
required: true,
|
|
1815
|
+
schema: {
|
|
1816
|
+
type: "string",
|
|
1817
|
+
},
|
|
1818
|
+
"x-displayname": "Namespace",
|
|
1819
|
+
"x-ves-example": "Ns1",
|
|
1820
|
+
},
|
|
1821
|
+
],
|
|
1822
|
+
queryParameters: [],
|
|
1823
|
+
requestBodySchema: {
|
|
1824
|
+
$ref: "#/components/schemas/data_groupDeleteRequest",
|
|
1825
|
+
},
|
|
1826
|
+
responseSchema: {},
|
|
1827
|
+
requiredParams: ["body", "name", "namespace"],
|
|
1828
|
+
operationId: "ves.io.schema.bigcne.data_group.API.Delete",
|
|
1829
|
+
tags: ["Other"],
|
|
1830
|
+
sourceFile: "domains/bigip.json",
|
|
1831
|
+
displayName: null,
|
|
1832
|
+
dangerLevel: "high",
|
|
1833
|
+
sideEffects: {
|
|
1834
|
+
deletes: ["data-group", "contained_resources"],
|
|
1835
|
+
},
|
|
1836
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
1837
|
+
confirmationRequired: true,
|
|
1838
|
+
parameterExamples: {
|
|
1839
|
+
name: "Name",
|
|
1840
|
+
namespace: "Ns1",
|
|
1841
|
+
},
|
|
1842
|
+
validationRules: {},
|
|
1843
|
+
operationMetadata: {
|
|
1844
|
+
common_errors: [
|
|
1845
|
+
{
|
|
1846
|
+
code: 401,
|
|
1847
|
+
message: "Authentication required",
|
|
1848
|
+
solution: "Provide valid API credentials",
|
|
1849
|
+
},
|
|
1850
|
+
{
|
|
1851
|
+
code: 403,
|
|
1852
|
+
message: "Permission denied",
|
|
1853
|
+
solution: "Check access permissions for this operation",
|
|
1854
|
+
},
|
|
1855
|
+
{
|
|
1856
|
+
code: 404,
|
|
1857
|
+
message: "Resource not found",
|
|
1858
|
+
solution: "Verify resource name, namespace, and path",
|
|
1859
|
+
},
|
|
1860
|
+
{
|
|
1861
|
+
code: 409,
|
|
1862
|
+
message: "Resource already exists",
|
|
1863
|
+
solution: "Use different name or update existing resource",
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
code: 429,
|
|
1867
|
+
message: "Rate limit exceeded",
|
|
1868
|
+
solution: "Wait before retrying the operation",
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
code: 500,
|
|
1872
|
+
message: "Server error",
|
|
1873
|
+
solution: "Retry operation or contact support",
|
|
1874
|
+
},
|
|
1875
|
+
],
|
|
1876
|
+
conditions: {
|
|
1877
|
+
postconditions: ["Resource removed from system", "Associated resources may be affected"],
|
|
1878
|
+
prerequisites: ["Active namespace"],
|
|
1879
|
+
},
|
|
1880
|
+
confirmation_required: true,
|
|
1881
|
+
danger_level: "high",
|
|
1882
|
+
field_docs: {},
|
|
1883
|
+
optional_fields: [],
|
|
1884
|
+
performance_impact: {
|
|
1885
|
+
latency: "high",
|
|
1886
|
+
resource_usage: "moderate",
|
|
1887
|
+
},
|
|
1888
|
+
purpose: "Delete data-group",
|
|
1889
|
+
required_fields: ["path.name", "path.namespace"],
|
|
1890
|
+
side_effects: {
|
|
1891
|
+
deletes: ["data-group", "contained_resources"],
|
|
1892
|
+
},
|
|
1893
|
+
},
|
|
1894
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/data_groups" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
1895
|
+
dependencies: [
|
|
1896
|
+
{
|
|
1897
|
+
domain: "",
|
|
1898
|
+
fieldPath: "",
|
|
1899
|
+
inline: false,
|
|
1900
|
+
required: false,
|
|
1901
|
+
resourceType: "data-group",
|
|
1902
|
+
},
|
|
1903
|
+
],
|
|
1904
|
+
oneOfGroups: [],
|
|
1905
|
+
subscriptionRequirements: [],
|
|
1906
|
+
},
|
|
1907
|
+
{
|
|
1908
|
+
toolName: "f5xc-api-bigip-data-group-get",
|
|
1909
|
+
method: "GET",
|
|
1910
|
+
path: "/api/config/namespaces/{namespace}/data_groups/{name}",
|
|
1911
|
+
operation: "get",
|
|
1912
|
+
domain: "bigip",
|
|
1913
|
+
resource: "data-group",
|
|
1914
|
+
summary: "GET Data Group.",
|
|
1915
|
+
description: "GET Data Group details.",
|
|
1916
|
+
pathParameters: [
|
|
1917
|
+
{
|
|
1918
|
+
description: "Name\nThe name of the configuration object to be fetched.",
|
|
1919
|
+
in: "path",
|
|
1920
|
+
name: "name",
|
|
1921
|
+
required: true,
|
|
1922
|
+
schema: {
|
|
1923
|
+
type: "string",
|
|
1924
|
+
},
|
|
1925
|
+
"x-displayname": "Name",
|
|
1926
|
+
"x-ves-example": "Name",
|
|
1927
|
+
},
|
|
1928
|
+
{
|
|
1929
|
+
description: "Namespace\nThe namespace in which the configuration object is present.",
|
|
1930
|
+
in: "path",
|
|
1931
|
+
name: "namespace",
|
|
1932
|
+
required: true,
|
|
1933
|
+
schema: {
|
|
1934
|
+
type: "string",
|
|
1935
|
+
},
|
|
1936
|
+
"x-displayname": "Namespace",
|
|
1937
|
+
"x-ves-example": "Ns1",
|
|
1938
|
+
},
|
|
1939
|
+
],
|
|
1940
|
+
queryParameters: [
|
|
1941
|
+
{
|
|
1942
|
+
description: "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referrred by this object.",
|
|
1943
|
+
in: "query",
|
|
1944
|
+
name: "response_format",
|
|
1945
|
+
required: false,
|
|
1946
|
+
schema: {
|
|
1947
|
+
default: "GET_RSP_FORMAT_DEFAULT",
|
|
1948
|
+
enum: [
|
|
1949
|
+
"GET_RSP_FORMAT_DEFAULT",
|
|
1950
|
+
"GET_RSP_FORMAT_FOR_CREATE",
|
|
1951
|
+
"GET_RSP_FORMAT_FOR_REPLACE",
|
|
1952
|
+
"GET_RSP_FORMAT_READ",
|
|
1953
|
+
"GET_RSP_FORMAT_REFERRING_OBJECTS",
|
|
1954
|
+
"GET_RSP_FORMAT_BROKEN_REFERENCES",
|
|
1955
|
+
],
|
|
1956
|
+
type: "string",
|
|
1957
|
+
},
|
|
1958
|
+
"x-displayname": "Broken Referred Objects.",
|
|
1959
|
+
},
|
|
1960
|
+
],
|
|
1961
|
+
requestBodySchema: null,
|
|
1962
|
+
responseSchema: {
|
|
1963
|
+
$ref: "#/components/schemas/data_groupGetResponse",
|
|
1964
|
+
},
|
|
1965
|
+
requiredParams: ["name", "namespace"],
|
|
1966
|
+
operationId: "ves.io.schema.bigcne.data_group.API.Get",
|
|
1967
|
+
tags: ["Other"],
|
|
1968
|
+
sourceFile: "domains/bigip.json",
|
|
1969
|
+
displayName: null,
|
|
1970
|
+
dangerLevel: "low",
|
|
1971
|
+
sideEffects: null,
|
|
1972
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
1973
|
+
confirmationRequired: false,
|
|
1974
|
+
parameterExamples: {
|
|
1975
|
+
name: "Name",
|
|
1976
|
+
namespace: "Ns1",
|
|
1977
|
+
},
|
|
1978
|
+
validationRules: {},
|
|
1979
|
+
operationMetadata: {
|
|
1980
|
+
common_errors: [
|
|
1981
|
+
{
|
|
1982
|
+
code: 401,
|
|
1983
|
+
message: "Authentication required",
|
|
1984
|
+
solution: "Provide valid API credentials",
|
|
1985
|
+
},
|
|
1986
|
+
{
|
|
1987
|
+
code: 403,
|
|
1988
|
+
message: "Permission denied",
|
|
1989
|
+
solution: "Check access permissions for this operation",
|
|
1990
|
+
},
|
|
1991
|
+
{
|
|
1992
|
+
code: 404,
|
|
1993
|
+
message: "Resource not found",
|
|
1994
|
+
solution: "Verify resource name, namespace, and path",
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
code: 409,
|
|
1998
|
+
message: "Resource already exists",
|
|
1999
|
+
solution: "Use different name or update existing resource",
|
|
2000
|
+
},
|
|
2001
|
+
{
|
|
2002
|
+
code: 429,
|
|
2003
|
+
message: "Rate limit exceeded",
|
|
2004
|
+
solution: "Wait before retrying the operation",
|
|
2005
|
+
},
|
|
2006
|
+
{
|
|
2007
|
+
code: 500,
|
|
2008
|
+
message: "Server error",
|
|
2009
|
+
solution: "Retry operation or contact support",
|
|
2010
|
+
},
|
|
2011
|
+
],
|
|
2012
|
+
conditions: {
|
|
2013
|
+
postconditions: [],
|
|
2014
|
+
prerequisites: ["Active namespace"],
|
|
2015
|
+
},
|
|
2016
|
+
confirmation_required: false,
|
|
2017
|
+
danger_level: "low",
|
|
2018
|
+
field_docs: {},
|
|
2019
|
+
optional_fields: [],
|
|
2020
|
+
performance_impact: {
|
|
2021
|
+
latency: "low",
|
|
2022
|
+
resource_usage: "low",
|
|
2023
|
+
},
|
|
2024
|
+
purpose: "Retrieve specific data-group",
|
|
2025
|
+
required_fields: ["path.name", "path.namespace"],
|
|
2026
|
+
side_effects: {},
|
|
2027
|
+
},
|
|
2028
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/data_groups" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2029
|
+
dependencies: [],
|
|
2030
|
+
oneOfGroups: [],
|
|
2031
|
+
subscriptionRequirements: [],
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
toolName: "f5xc-api-bigip-data-group-list",
|
|
2035
|
+
method: "GET",
|
|
2036
|
+
path: "/api/config/namespaces/{namespace}/data_groups",
|
|
2037
|
+
operation: "list",
|
|
2038
|
+
domain: "bigip",
|
|
2039
|
+
resource: "data-group",
|
|
2040
|
+
summary: "List Data Group.",
|
|
2041
|
+
description: "List the set of data_group in a namespace.",
|
|
2042
|
+
pathParameters: [
|
|
2043
|
+
{
|
|
2044
|
+
description: "Namespace\nNamespace to scope the listing of data_group.",
|
|
2045
|
+
in: "path",
|
|
2046
|
+
name: "namespace",
|
|
2047
|
+
required: true,
|
|
2048
|
+
schema: {
|
|
2049
|
+
type: "string",
|
|
2050
|
+
},
|
|
2051
|
+
"x-displayname": "Namespace",
|
|
2052
|
+
"x-ves-example": "Ns1",
|
|
2053
|
+
},
|
|
2054
|
+
],
|
|
2055
|
+
queryParameters: [
|
|
2056
|
+
{
|
|
2057
|
+
description: "A LabelSelectorType expression that every item in list response will satisfy.",
|
|
2058
|
+
in: "query",
|
|
2059
|
+
name: "label_filter",
|
|
2060
|
+
required: false,
|
|
2061
|
+
schema: {
|
|
2062
|
+
type: "string",
|
|
2063
|
+
},
|
|
2064
|
+
"x-displayname": "Label Filter.",
|
|
2065
|
+
"x-ves-example": "Env in (staging, testing), tier in (web, db)",
|
|
2066
|
+
},
|
|
2067
|
+
{
|
|
2068
|
+
description: 'X-example: ""\nExtra fields to return along with summary fields.',
|
|
2069
|
+
in: "query",
|
|
2070
|
+
name: "report_fields",
|
|
2071
|
+
required: false,
|
|
2072
|
+
schema: {
|
|
2073
|
+
items: {
|
|
2074
|
+
type: "string",
|
|
2075
|
+
},
|
|
2076
|
+
type: "array",
|
|
2077
|
+
},
|
|
2078
|
+
"x-displayname": "Report Fields.",
|
|
2079
|
+
},
|
|
2080
|
+
{
|
|
2081
|
+
description: 'X-example: ""\nExtra status fields to return along with summary fields.',
|
|
2082
|
+
in: "query",
|
|
2083
|
+
name: "report_status_fields",
|
|
2084
|
+
required: false,
|
|
2085
|
+
schema: {
|
|
2086
|
+
items: {
|
|
2087
|
+
type: "string",
|
|
2088
|
+
},
|
|
2089
|
+
type: "array",
|
|
2090
|
+
},
|
|
2091
|
+
"x-displayname": "Report Status Fields.",
|
|
2092
|
+
},
|
|
2093
|
+
],
|
|
2094
|
+
requestBodySchema: null,
|
|
2095
|
+
responseSchema: {
|
|
2096
|
+
$ref: "#/components/schemas/data_groupListResponse",
|
|
2097
|
+
},
|
|
2098
|
+
requiredParams: ["namespace"],
|
|
2099
|
+
operationId: "ves.io.schema.bigcne.data_group.API.List",
|
|
2100
|
+
tags: ["Other"],
|
|
2101
|
+
sourceFile: "domains/bigip.json",
|
|
2102
|
+
displayName: null,
|
|
2103
|
+
dangerLevel: "low",
|
|
2104
|
+
sideEffects: null,
|
|
2105
|
+
requiredFields: ["path.namespace"],
|
|
2106
|
+
confirmationRequired: false,
|
|
2107
|
+
parameterExamples: {
|
|
2108
|
+
label_filter: "Env in (staging, testing), tier in (web, db)",
|
|
2109
|
+
namespace: "Ns1",
|
|
2110
|
+
},
|
|
2111
|
+
validationRules: {},
|
|
2112
|
+
operationMetadata: {
|
|
2113
|
+
common_errors: [
|
|
2114
|
+
{
|
|
2115
|
+
code: 401,
|
|
2116
|
+
message: "Authentication required",
|
|
2117
|
+
solution: "Provide valid API credentials",
|
|
2118
|
+
},
|
|
2119
|
+
{
|
|
2120
|
+
code: 403,
|
|
2121
|
+
message: "Permission denied",
|
|
2122
|
+
solution: "Check access permissions for this operation",
|
|
2123
|
+
},
|
|
2124
|
+
{
|
|
2125
|
+
code: 404,
|
|
2126
|
+
message: "Resource not found",
|
|
2127
|
+
solution: "Verify resource name, namespace, and path",
|
|
2128
|
+
},
|
|
2129
|
+
{
|
|
2130
|
+
code: 409,
|
|
2131
|
+
message: "Resource already exists",
|
|
2132
|
+
solution: "Use different name or update existing resource",
|
|
2133
|
+
},
|
|
2134
|
+
{
|
|
2135
|
+
code: 429,
|
|
2136
|
+
message: "Rate limit exceeded",
|
|
2137
|
+
solution: "Wait before retrying the operation",
|
|
2138
|
+
},
|
|
2139
|
+
{
|
|
2140
|
+
code: 500,
|
|
2141
|
+
message: "Server error",
|
|
2142
|
+
solution: "Retry operation or contact support",
|
|
2143
|
+
},
|
|
2144
|
+
],
|
|
2145
|
+
conditions: {
|
|
2146
|
+
postconditions: [],
|
|
2147
|
+
prerequisites: ["Active namespace"],
|
|
2148
|
+
},
|
|
2149
|
+
confirmation_required: false,
|
|
2150
|
+
danger_level: "low",
|
|
2151
|
+
field_docs: {},
|
|
2152
|
+
optional_fields: [],
|
|
2153
|
+
performance_impact: {
|
|
2154
|
+
latency: "moderate",
|
|
2155
|
+
resource_usage: "moderate",
|
|
2156
|
+
},
|
|
2157
|
+
purpose: "List all data-groups",
|
|
2158
|
+
required_fields: ["path.namespace"],
|
|
2159
|
+
side_effects: {},
|
|
2160
|
+
},
|
|
2161
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/data_groups" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2162
|
+
dependencies: [],
|
|
2163
|
+
oneOfGroups: [],
|
|
2164
|
+
subscriptionRequirements: [],
|
|
2165
|
+
},
|
|
2166
|
+
{
|
|
2167
|
+
toolName: "f5xc-api-bigip-data-group-update",
|
|
2168
|
+
method: "PUT",
|
|
2169
|
+
path: "/api/config/namespaces/{metadata.namespace}/data_groups/{metadata.name}",
|
|
2170
|
+
operation: "update",
|
|
2171
|
+
domain: "bigip",
|
|
2172
|
+
resource: "data-group",
|
|
2173
|
+
summary: "Replace Data Group.",
|
|
2174
|
+
description: "Replace Data Group in a given namespace.",
|
|
2175
|
+
pathParameters: [
|
|
2176
|
+
{
|
|
2177
|
+
description: "Name\nThe configuration object to be replaced will be looked up by name.",
|
|
2178
|
+
in: "path",
|
|
2179
|
+
name: "metadata.name",
|
|
2180
|
+
required: true,
|
|
2181
|
+
schema: {
|
|
2182
|
+
type: "string",
|
|
2183
|
+
},
|
|
2184
|
+
"x-displayname": "Name",
|
|
2185
|
+
"x-ves-example": "Example-corp-web.",
|
|
2186
|
+
},
|
|
2187
|
+
{
|
|
2188
|
+
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 ""',
|
|
2189
|
+
in: "path",
|
|
2190
|
+
name: "metadata.namespace",
|
|
2191
|
+
required: true,
|
|
2192
|
+
schema: {
|
|
2193
|
+
type: "string",
|
|
2194
|
+
},
|
|
2195
|
+
"x-displayname": "Namespace",
|
|
2196
|
+
"x-ves-example": "Staging",
|
|
2197
|
+
},
|
|
2198
|
+
],
|
|
2199
|
+
queryParameters: [],
|
|
2200
|
+
requestBodySchema: {
|
|
2201
|
+
$ref: "#/components/schemas/data_groupReplaceRequest",
|
|
2202
|
+
},
|
|
2203
|
+
responseSchema: {
|
|
2204
|
+
$ref: "#/components/schemas/data_groupReplaceResponse",
|
|
2205
|
+
},
|
|
2206
|
+
requiredParams: ["body", "metadata.name", "metadata.namespace"],
|
|
2207
|
+
operationId: "ves.io.schema.bigcne.data_group.API.Replace",
|
|
2208
|
+
tags: ["Other"],
|
|
2209
|
+
sourceFile: "domains/bigip.json",
|
|
2210
|
+
displayName: null,
|
|
2211
|
+
dangerLevel: "medium",
|
|
2212
|
+
sideEffects: {
|
|
2213
|
+
modifies: ["data-group"],
|
|
2214
|
+
},
|
|
2215
|
+
requiredFields: ["path.metadata.name", "path.metadata.namespace"],
|
|
2216
|
+
confirmationRequired: false,
|
|
2217
|
+
parameterExamples: {
|
|
2218
|
+
"metadata.name": "Example-corp-web.",
|
|
2219
|
+
"metadata.namespace": "Staging",
|
|
2220
|
+
},
|
|
2221
|
+
validationRules: {},
|
|
2222
|
+
operationMetadata: {
|
|
2223
|
+
common_errors: [
|
|
2224
|
+
{
|
|
2225
|
+
code: 401,
|
|
2226
|
+
message: "Authentication required",
|
|
2227
|
+
solution: "Provide valid API credentials",
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
code: 403,
|
|
2231
|
+
message: "Permission denied",
|
|
2232
|
+
solution: "Check access permissions for this operation",
|
|
2233
|
+
},
|
|
2234
|
+
{
|
|
2235
|
+
code: 404,
|
|
2236
|
+
message: "Resource not found",
|
|
2237
|
+
solution: "Verify resource name, namespace, and path",
|
|
2238
|
+
},
|
|
2239
|
+
{
|
|
2240
|
+
code: 409,
|
|
2241
|
+
message: "Resource already exists",
|
|
2242
|
+
solution: "Use different name or update existing resource",
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
code: 429,
|
|
2246
|
+
message: "Rate limit exceeded",
|
|
2247
|
+
solution: "Wait before retrying the operation",
|
|
2248
|
+
},
|
|
2249
|
+
{
|
|
2250
|
+
code: 500,
|
|
2251
|
+
message: "Server error",
|
|
2252
|
+
solution: "Retry operation or contact support",
|
|
2253
|
+
},
|
|
2254
|
+
],
|
|
2255
|
+
conditions: {
|
|
2256
|
+
postconditions: ["Resource updated with new values"],
|
|
2257
|
+
prerequisites: ["Active namespace"],
|
|
2258
|
+
},
|
|
2259
|
+
confirmation_required: false,
|
|
2260
|
+
danger_level: "medium",
|
|
2261
|
+
field_docs: {},
|
|
2262
|
+
optional_fields: [],
|
|
2263
|
+
performance_impact: {
|
|
2264
|
+
latency: "low",
|
|
2265
|
+
resource_usage: "low",
|
|
2266
|
+
},
|
|
2267
|
+
purpose: "Replace existing data-group",
|
|
2268
|
+
required_fields: ["path.metadata.name", "path.metadata.namespace"],
|
|
2269
|
+
side_effects: {
|
|
2270
|
+
modifies: ["data-group"],
|
|
2271
|
+
},
|
|
2272
|
+
},
|
|
2273
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/data_groups" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2274
|
+
dependencies: [
|
|
2275
|
+
{
|
|
2276
|
+
domain: "",
|
|
2277
|
+
fieldPath: "",
|
|
2278
|
+
inline: false,
|
|
2279
|
+
required: false,
|
|
2280
|
+
resourceType: "data-group",
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
domain: "",
|
|
2284
|
+
fieldPath: "metadata",
|
|
2285
|
+
inline: false,
|
|
2286
|
+
required: false,
|
|
2287
|
+
resourceType: "schema-object-replace-meta",
|
|
2288
|
+
},
|
|
2289
|
+
{
|
|
2290
|
+
domain: "",
|
|
2291
|
+
fieldPath: "spec",
|
|
2292
|
+
inline: false,
|
|
2293
|
+
required: false,
|
|
2294
|
+
resourceType: "bigcnedata-group-replace",
|
|
2295
|
+
},
|
|
2296
|
+
],
|
|
2297
|
+
oneOfGroups: [],
|
|
2298
|
+
subscriptionRequirements: [],
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
toolName: "f5xc-api-bigip-get-security-config-create",
|
|
2302
|
+
method: "POST",
|
|
2303
|
+
path: "/api/config/namespaces/{namespace}/bigip_virtual_servers/get_security_config",
|
|
2304
|
+
operation: "create",
|
|
2305
|
+
domain: "bigip",
|
|
2306
|
+
resource: "get-security-config",
|
|
2307
|
+
summary: "GET Security Config for BIG-IP Load Balancer.",
|
|
2308
|
+
description: "Fetch the corresponding Security Config for the given BIG-IP load balancers.",
|
|
2309
|
+
pathParameters: [
|
|
2310
|
+
{
|
|
2311
|
+
description: "Namespace\nx-required\nNamespace of the BIG-IP Load Balancer for current request.",
|
|
2312
|
+
in: "path",
|
|
2313
|
+
name: "namespace",
|
|
2314
|
+
required: true,
|
|
2315
|
+
schema: {
|
|
2316
|
+
type: "string",
|
|
2317
|
+
},
|
|
2318
|
+
"x-displayname": "Namespace",
|
|
2319
|
+
"x-ves-example": "Shared",
|
|
2320
|
+
},
|
|
2321
|
+
],
|
|
2322
|
+
queryParameters: [],
|
|
2323
|
+
requestBodySchema: {
|
|
2324
|
+
$ref: "#/components/schemas/bigip_virtual_serverGetSecurityConfigReq",
|
|
2325
|
+
},
|
|
2326
|
+
responseSchema: {
|
|
2327
|
+
$ref: "#/components/schemas/common_securityGetSecurityConfigRsp",
|
|
2328
|
+
},
|
|
2329
|
+
requiredParams: ["body", "namespace"],
|
|
2330
|
+
operationId: "ves.io.schema.views.bigip_virtual_server.CustomAPI.GetSecurityConfig",
|
|
2331
|
+
tags: ["Other"],
|
|
2332
|
+
sourceFile: "domains/bigip.json",
|
|
2333
|
+
displayName: null,
|
|
2334
|
+
dangerLevel: "medium",
|
|
2335
|
+
sideEffects: {
|
|
2336
|
+
creates: ["get-security-config"],
|
|
2337
|
+
},
|
|
2338
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
|
|
2339
|
+
confirmationRequired: false,
|
|
2340
|
+
parameterExamples: {
|
|
2341
|
+
namespace: "Shared",
|
|
2342
|
+
},
|
|
2343
|
+
validationRules: {},
|
|
2344
|
+
operationMetadata: {
|
|
2345
|
+
common_errors: [
|
|
2346
|
+
{
|
|
2347
|
+
code: 401,
|
|
2348
|
+
message: "Authentication required",
|
|
2349
|
+
solution: "Provide valid API credentials",
|
|
2350
|
+
},
|
|
2351
|
+
{
|
|
2352
|
+
code: 403,
|
|
2353
|
+
message: "Permission denied",
|
|
2354
|
+
solution: "Check access permissions for this operation",
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
code: 404,
|
|
2358
|
+
message: "Resource not found",
|
|
2359
|
+
solution: "Verify resource name, namespace, and path",
|
|
2360
|
+
},
|
|
2361
|
+
{
|
|
2362
|
+
code: 409,
|
|
2363
|
+
message: "Resource already exists",
|
|
2364
|
+
solution: "Use different name or update existing resource",
|
|
2365
|
+
},
|
|
2366
|
+
{
|
|
2367
|
+
code: 429,
|
|
2368
|
+
message: "Rate limit exceeded",
|
|
2369
|
+
solution: "Wait before retrying the operation",
|
|
2370
|
+
},
|
|
2371
|
+
{
|
|
2372
|
+
code: 500,
|
|
2373
|
+
message: "Server error",
|
|
2374
|
+
solution: "Retry operation or contact support",
|
|
2375
|
+
},
|
|
2376
|
+
],
|
|
2377
|
+
conditions: {
|
|
2378
|
+
postconditions: [
|
|
2379
|
+
"Get-security-config resource created",
|
|
2380
|
+
"Resource assigned unique identifier",
|
|
2381
|
+
],
|
|
2382
|
+
prerequisites: ["Active namespace"],
|
|
2383
|
+
},
|
|
2384
|
+
confirmation_required: false,
|
|
2385
|
+
danger_level: "medium",
|
|
2386
|
+
field_docs: {},
|
|
2387
|
+
optional_fields: [],
|
|
2388
|
+
performance_impact: {
|
|
2389
|
+
latency: "low",
|
|
2390
|
+
resource_usage: "low",
|
|
2391
|
+
},
|
|
2392
|
+
purpose: "Create new get-security-config",
|
|
2393
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
|
|
2394
|
+
side_effects: {
|
|
2395
|
+
creates: ["get-security-config"],
|
|
2396
|
+
},
|
|
2397
|
+
},
|
|
2398
|
+
curlExample: null,
|
|
2399
|
+
dependencies: [],
|
|
2400
|
+
oneOfGroups: [
|
|
2401
|
+
{
|
|
2402
|
+
choiceField: "loadbalancer_choice",
|
|
2403
|
+
fieldPath: "loadbalancer_choice",
|
|
2404
|
+
options: ["all_bigip_virtual_servers", "bigip_virtual_servers_list"],
|
|
2405
|
+
},
|
|
2406
|
+
],
|
|
2407
|
+
subscriptionRequirements: [],
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
toolName: "f5xc-api-bigip-irule-create",
|
|
2411
|
+
method: "POST",
|
|
2412
|
+
path: "/api/config/namespaces/{metadata.namespace}/irules",
|
|
2413
|
+
operation: "create",
|
|
2414
|
+
domain: "bigip",
|
|
2415
|
+
resource: "irule",
|
|
2416
|
+
summary: "Create iRule.",
|
|
2417
|
+
description: "Create iRule in a given namespace. If one already exists it will give an error.",
|
|
2418
|
+
pathParameters: [
|
|
2419
|
+
{
|
|
2420
|
+
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 ""',
|
|
2421
|
+
in: "path",
|
|
2422
|
+
name: "metadata.namespace",
|
|
2423
|
+
required: true,
|
|
2424
|
+
schema: {
|
|
2425
|
+
type: "string",
|
|
2426
|
+
},
|
|
2427
|
+
"x-displayname": "Namespace",
|
|
2428
|
+
"x-ves-example": "Staging",
|
|
2429
|
+
},
|
|
2430
|
+
],
|
|
2431
|
+
queryParameters: [],
|
|
2432
|
+
requestBodySchema: {
|
|
2433
|
+
$ref: "#/components/schemas/iruleCreateRequest",
|
|
2434
|
+
},
|
|
2435
|
+
responseSchema: {
|
|
2436
|
+
$ref: "#/components/schemas/iruleCreateResponse",
|
|
2437
|
+
},
|
|
2438
|
+
requiredParams: ["body", "metadata.namespace"],
|
|
2439
|
+
operationId: "ves.io.schema.bigcne.irule.API.Create",
|
|
2440
|
+
tags: ["Other"],
|
|
2441
|
+
sourceFile: "domains/bigip.json",
|
|
2442
|
+
displayName: null,
|
|
2443
|
+
dangerLevel: "medium",
|
|
2444
|
+
sideEffects: {
|
|
2445
|
+
creates: ["irule"],
|
|
2446
|
+
},
|
|
2447
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
2448
|
+
confirmationRequired: false,
|
|
2449
|
+
parameterExamples: {
|
|
2450
|
+
"metadata.namespace": "Staging",
|
|
2451
|
+
},
|
|
2452
|
+
validationRules: {},
|
|
2453
|
+
operationMetadata: {
|
|
2454
|
+
common_errors: [
|
|
2455
|
+
{
|
|
2456
|
+
code: 401,
|
|
2457
|
+
message: "Authentication required",
|
|
2458
|
+
solution: "Provide valid API credentials",
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
code: 403,
|
|
2462
|
+
message: "Permission denied",
|
|
2463
|
+
solution: "Check access permissions for this operation",
|
|
2464
|
+
},
|
|
2465
|
+
{
|
|
2466
|
+
code: 404,
|
|
2467
|
+
message: "Resource not found",
|
|
2468
|
+
solution: "Verify resource name, namespace, and path",
|
|
2469
|
+
},
|
|
2470
|
+
{
|
|
2471
|
+
code: 409,
|
|
2472
|
+
message: "Resource already exists",
|
|
2473
|
+
solution: "Use different name or update existing resource",
|
|
2474
|
+
},
|
|
2475
|
+
{
|
|
2476
|
+
code: 429,
|
|
2477
|
+
message: "Rate limit exceeded",
|
|
2478
|
+
solution: "Wait before retrying the operation",
|
|
2479
|
+
},
|
|
2480
|
+
{
|
|
2481
|
+
code: 500,
|
|
2482
|
+
message: "Server error",
|
|
2483
|
+
solution: "Retry operation or contact support",
|
|
2484
|
+
},
|
|
2485
|
+
],
|
|
2486
|
+
conditions: {
|
|
2487
|
+
postconditions: ["Irule resource created", "Resource assigned unique identifier"],
|
|
2488
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
2489
|
+
},
|
|
2490
|
+
confirmation_required: false,
|
|
2491
|
+
danger_level: "medium",
|
|
2492
|
+
field_docs: {},
|
|
2493
|
+
optional_fields: [],
|
|
2494
|
+
performance_impact: {
|
|
2495
|
+
latency: "low",
|
|
2496
|
+
resource_usage: "low",
|
|
2497
|
+
},
|
|
2498
|
+
purpose: "Create new irule",
|
|
2499
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.metadata.namespace"],
|
|
2500
|
+
side_effects: {
|
|
2501
|
+
creates: ["irule"],
|
|
2502
|
+
},
|
|
2503
|
+
},
|
|
2504
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/irules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2505
|
+
dependencies: [
|
|
2506
|
+
{
|
|
2507
|
+
domain: "",
|
|
2508
|
+
fieldPath: "",
|
|
2509
|
+
inline: false,
|
|
2510
|
+
required: false,
|
|
2511
|
+
resourceType: "irule",
|
|
2512
|
+
},
|
|
2513
|
+
{
|
|
2514
|
+
domain: "",
|
|
2515
|
+
fieldPath: "metadata",
|
|
2516
|
+
inline: false,
|
|
2517
|
+
required: false,
|
|
2518
|
+
resourceType: "schema-object-create-meta",
|
|
2519
|
+
},
|
|
2520
|
+
{
|
|
2521
|
+
domain: "",
|
|
2522
|
+
fieldPath: "spec",
|
|
2523
|
+
inline: false,
|
|
2524
|
+
required: false,
|
|
2525
|
+
resourceType: "irule-create",
|
|
2526
|
+
},
|
|
2527
|
+
],
|
|
2528
|
+
oneOfGroups: [],
|
|
2529
|
+
subscriptionRequirements: [],
|
|
2530
|
+
},
|
|
2531
|
+
{
|
|
2532
|
+
toolName: "f5xc-api-bigip-irule-delete",
|
|
2533
|
+
method: "DELETE",
|
|
2534
|
+
path: "/api/config/namespaces/{namespace}/irules/{name}",
|
|
2535
|
+
operation: "delete",
|
|
2536
|
+
domain: "bigip",
|
|
2537
|
+
resource: "irule",
|
|
2538
|
+
summary: "DELETE Configure iRule.",
|
|
2539
|
+
description: "DELETE the specified irule.",
|
|
2540
|
+
pathParameters: [
|
|
2541
|
+
{
|
|
2542
|
+
description: "Name\nName of the configuration object.",
|
|
2543
|
+
in: "path",
|
|
2544
|
+
name: "name",
|
|
2545
|
+
required: true,
|
|
2546
|
+
schema: {
|
|
2547
|
+
type: "string",
|
|
2548
|
+
},
|
|
2549
|
+
"x-displayname": "Name",
|
|
2550
|
+
"x-ves-example": "Name",
|
|
2551
|
+
},
|
|
2552
|
+
{
|
|
2553
|
+
description: "Namespace\nNamespace in which the configuration object is present.",
|
|
2554
|
+
in: "path",
|
|
2555
|
+
name: "namespace",
|
|
2556
|
+
required: true,
|
|
2557
|
+
schema: {
|
|
2558
|
+
type: "string",
|
|
2559
|
+
},
|
|
2560
|
+
"x-displayname": "Namespace",
|
|
2561
|
+
"x-ves-example": "Ns1",
|
|
2562
|
+
},
|
|
2563
|
+
],
|
|
2564
|
+
queryParameters: [],
|
|
2565
|
+
requestBodySchema: {
|
|
2566
|
+
$ref: "#/components/schemas/iruleDeleteRequest",
|
|
2567
|
+
},
|
|
2568
|
+
responseSchema: {},
|
|
2569
|
+
requiredParams: ["body", "name", "namespace"],
|
|
2570
|
+
operationId: "ves.io.schema.bigcne.irule.API.Delete",
|
|
2571
|
+
tags: ["Other"],
|
|
2572
|
+
sourceFile: "domains/bigip.json",
|
|
2573
|
+
displayName: null,
|
|
2574
|
+
dangerLevel: "high",
|
|
2575
|
+
sideEffects: {
|
|
2576
|
+
deletes: ["irule", "contained_resources"],
|
|
2577
|
+
},
|
|
2578
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
2579
|
+
confirmationRequired: true,
|
|
2580
|
+
parameterExamples: {
|
|
2581
|
+
name: "Name",
|
|
2582
|
+
namespace: "Ns1",
|
|
2583
|
+
},
|
|
2584
|
+
validationRules: {},
|
|
2585
|
+
operationMetadata: {
|
|
2586
|
+
common_errors: [
|
|
2587
|
+
{
|
|
2588
|
+
code: 401,
|
|
2589
|
+
message: "Authentication required",
|
|
2590
|
+
solution: "Provide valid API credentials",
|
|
2591
|
+
},
|
|
2592
|
+
{
|
|
2593
|
+
code: 403,
|
|
2594
|
+
message: "Permission denied",
|
|
2595
|
+
solution: "Check access permissions for this operation",
|
|
2596
|
+
},
|
|
2597
|
+
{
|
|
2598
|
+
code: 404,
|
|
2599
|
+
message: "Resource not found",
|
|
2600
|
+
solution: "Verify resource name, namespace, and path",
|
|
2601
|
+
},
|
|
2602
|
+
{
|
|
2603
|
+
code: 409,
|
|
2604
|
+
message: "Resource already exists",
|
|
2605
|
+
solution: "Use different name or update existing resource",
|
|
2606
|
+
},
|
|
2607
|
+
{
|
|
2608
|
+
code: 429,
|
|
2609
|
+
message: "Rate limit exceeded",
|
|
2610
|
+
solution: "Wait before retrying the operation",
|
|
2611
|
+
},
|
|
2612
|
+
{
|
|
2613
|
+
code: 500,
|
|
2614
|
+
message: "Server error",
|
|
2615
|
+
solution: "Retry operation or contact support",
|
|
2616
|
+
},
|
|
2617
|
+
],
|
|
2618
|
+
conditions: {
|
|
2619
|
+
postconditions: ["Resource removed from system", "Associated resources may be affected"],
|
|
2620
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
2621
|
+
},
|
|
2622
|
+
confirmation_required: true,
|
|
2623
|
+
danger_level: "high",
|
|
2624
|
+
field_docs: {},
|
|
2625
|
+
optional_fields: [],
|
|
2626
|
+
performance_impact: {
|
|
2627
|
+
latency: "high",
|
|
2628
|
+
resource_usage: "moderate",
|
|
2629
|
+
},
|
|
2630
|
+
purpose: "Delete irule",
|
|
2631
|
+
required_fields: ["path.name", "path.namespace"],
|
|
2632
|
+
side_effects: {
|
|
2633
|
+
deletes: ["irule", "contained_resources"],
|
|
2634
|
+
},
|
|
2635
|
+
},
|
|
2636
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/irules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2637
|
+
dependencies: [
|
|
2638
|
+
{
|
|
2639
|
+
domain: "",
|
|
2640
|
+
fieldPath: "",
|
|
2641
|
+
inline: false,
|
|
2642
|
+
required: false,
|
|
2643
|
+
resourceType: "irule",
|
|
2644
|
+
},
|
|
2645
|
+
],
|
|
2646
|
+
oneOfGroups: [],
|
|
2647
|
+
subscriptionRequirements: [],
|
|
2648
|
+
},
|
|
2649
|
+
{
|
|
2650
|
+
toolName: "f5xc-api-bigip-irule-get",
|
|
2651
|
+
method: "GET",
|
|
2652
|
+
path: "/api/config/namespaces/{namespace}/irules/{name}",
|
|
2653
|
+
operation: "get",
|
|
2654
|
+
domain: "bigip",
|
|
2655
|
+
resource: "irule",
|
|
2656
|
+
summary: "GET iRule",
|
|
2657
|
+
description: "GET iRule details.",
|
|
2658
|
+
pathParameters: [
|
|
2659
|
+
{
|
|
2660
|
+
description: "Name\nThe name of the configuration object to be fetched.",
|
|
2661
|
+
in: "path",
|
|
2662
|
+
name: "name",
|
|
2663
|
+
required: true,
|
|
2664
|
+
schema: {
|
|
2665
|
+
type: "string",
|
|
2666
|
+
},
|
|
2667
|
+
"x-displayname": "Name",
|
|
2668
|
+
"x-ves-example": "Name",
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
description: "Namespace\nThe namespace in which the configuration object is present.",
|
|
2672
|
+
in: "path",
|
|
2673
|
+
name: "namespace",
|
|
2674
|
+
required: true,
|
|
2675
|
+
schema: {
|
|
2676
|
+
type: "string",
|
|
2677
|
+
},
|
|
2678
|
+
"x-displayname": "Namespace",
|
|
2679
|
+
"x-ves-example": "Ns1",
|
|
2680
|
+
},
|
|
2681
|
+
],
|
|
2682
|
+
queryParameters: [
|
|
2683
|
+
{
|
|
2684
|
+
description: "The format in which the configuration object is to be fetched. This could be for example\n - in GetSpec form for the contents of object\n - in CreateRequest form to create a new similar object\n - to ReplaceRequest form to replace changeable values\n\nDefault format of returned resource\nResponse should be in CreateRequest format\nResponse should be in ReplaceRequest format\nResponse should be in format of GetSpecType\nResponse should have other objects referring to this object\nResponse should have deleted and disabled objects referrred by this object.",
|
|
2685
|
+
in: "query",
|
|
2686
|
+
name: "response_format",
|
|
2687
|
+
required: false,
|
|
2688
|
+
schema: {
|
|
2689
|
+
default: "GET_RSP_FORMAT_DEFAULT",
|
|
2690
|
+
enum: [
|
|
2691
|
+
"GET_RSP_FORMAT_DEFAULT",
|
|
2692
|
+
"GET_RSP_FORMAT_FOR_CREATE",
|
|
2693
|
+
"GET_RSP_FORMAT_FOR_REPLACE",
|
|
2694
|
+
"GET_RSP_FORMAT_READ",
|
|
2695
|
+
"GET_RSP_FORMAT_REFERRING_OBJECTS",
|
|
2696
|
+
"GET_RSP_FORMAT_BROKEN_REFERENCES",
|
|
2697
|
+
],
|
|
2698
|
+
type: "string",
|
|
2699
|
+
},
|
|
2700
|
+
"x-displayname": "Broken Referred Objects.",
|
|
2701
|
+
},
|
|
2702
|
+
],
|
|
2703
|
+
requestBodySchema: null,
|
|
2704
|
+
responseSchema: {
|
|
2705
|
+
$ref: "#/components/schemas/iruleGetResponse",
|
|
2706
|
+
},
|
|
2707
|
+
requiredParams: ["name", "namespace"],
|
|
2708
|
+
operationId: "ves.io.schema.bigcne.irule.API.Get",
|
|
2709
|
+
tags: ["Other"],
|
|
2710
|
+
sourceFile: "domains/bigip.json",
|
|
2711
|
+
displayName: null,
|
|
2712
|
+
dangerLevel: "low",
|
|
2713
|
+
sideEffects: null,
|
|
2714
|
+
requiredFields: ["path.name", "path.namespace"],
|
|
2715
|
+
confirmationRequired: false,
|
|
2716
|
+
parameterExamples: {
|
|
2717
|
+
name: "Name",
|
|
2718
|
+
namespace: "Ns1",
|
|
2719
|
+
},
|
|
2720
|
+
validationRules: {},
|
|
2721
|
+
operationMetadata: {
|
|
2722
|
+
common_errors: [
|
|
2723
|
+
{
|
|
2724
|
+
code: 401,
|
|
2725
|
+
message: "Authentication required",
|
|
2726
|
+
solution: "Provide valid API credentials",
|
|
2727
|
+
},
|
|
2728
|
+
{
|
|
2729
|
+
code: 403,
|
|
2730
|
+
message: "Permission denied",
|
|
2731
|
+
solution: "Check access permissions for this operation",
|
|
2732
|
+
},
|
|
2733
|
+
{
|
|
2734
|
+
code: 404,
|
|
2735
|
+
message: "Resource not found",
|
|
2736
|
+
solution: "Verify resource name, namespace, and path",
|
|
2737
|
+
},
|
|
2738
|
+
{
|
|
2739
|
+
code: 409,
|
|
2740
|
+
message: "Resource already exists",
|
|
2741
|
+
solution: "Use different name or update existing resource",
|
|
2742
|
+
},
|
|
2743
|
+
{
|
|
2744
|
+
code: 429,
|
|
2745
|
+
message: "Rate limit exceeded",
|
|
2746
|
+
solution: "Wait before retrying the operation",
|
|
2747
|
+
},
|
|
2748
|
+
{
|
|
2749
|
+
code: 500,
|
|
2750
|
+
message: "Server error",
|
|
2751
|
+
solution: "Retry operation or contact support",
|
|
2752
|
+
},
|
|
2753
|
+
],
|
|
2754
|
+
conditions: {
|
|
2755
|
+
postconditions: [],
|
|
2756
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
2757
|
+
},
|
|
2758
|
+
confirmation_required: false,
|
|
2759
|
+
danger_level: "low",
|
|
2760
|
+
field_docs: {},
|
|
2761
|
+
optional_fields: [],
|
|
2762
|
+
performance_impact: {
|
|
2763
|
+
latency: "low",
|
|
2764
|
+
resource_usage: "low",
|
|
2765
|
+
},
|
|
2766
|
+
purpose: "Retrieve specific irule",
|
|
2767
|
+
required_fields: ["path.name", "path.namespace"],
|
|
2768
|
+
side_effects: {},
|
|
2769
|
+
},
|
|
2770
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/irules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2771
|
+
dependencies: [],
|
|
2772
|
+
oneOfGroups: [],
|
|
2773
|
+
subscriptionRequirements: [],
|
|
2774
|
+
},
|
|
2775
|
+
{
|
|
2776
|
+
toolName: "f5xc-api-bigip-irule-list",
|
|
2777
|
+
method: "GET",
|
|
2778
|
+
path: "/api/config/namespaces/{namespace}/irules",
|
|
2779
|
+
operation: "list",
|
|
2780
|
+
domain: "bigip",
|
|
2781
|
+
resource: "irule",
|
|
2782
|
+
summary: "List Configure iRule.",
|
|
2783
|
+
description: "List the set of irule in a namespace.",
|
|
2784
|
+
pathParameters: [
|
|
2785
|
+
{
|
|
2786
|
+
description: "Namespace\nNamespace to scope the listing of irule.",
|
|
2787
|
+
in: "path",
|
|
2788
|
+
name: "namespace",
|
|
2789
|
+
required: true,
|
|
2790
|
+
schema: {
|
|
2791
|
+
type: "string",
|
|
2792
|
+
},
|
|
2793
|
+
"x-displayname": "Namespace",
|
|
2794
|
+
"x-ves-example": "Ns1",
|
|
2795
|
+
},
|
|
2796
|
+
],
|
|
2797
|
+
queryParameters: [
|
|
2798
|
+
{
|
|
2799
|
+
description: "A LabelSelectorType expression that every item in list response will satisfy.",
|
|
2800
|
+
in: "query",
|
|
2801
|
+
name: "label_filter",
|
|
2802
|
+
required: false,
|
|
2803
|
+
schema: {
|
|
2804
|
+
type: "string",
|
|
2805
|
+
},
|
|
2806
|
+
"x-displayname": "Label Filter.",
|
|
2807
|
+
"x-ves-example": "Env in (staging, testing), tier in (web, db)",
|
|
2808
|
+
},
|
|
2809
|
+
{
|
|
2810
|
+
description: 'X-example: ""\nExtra fields to return along with summary fields.',
|
|
2811
|
+
in: "query",
|
|
2812
|
+
name: "report_fields",
|
|
2813
|
+
required: false,
|
|
2814
|
+
schema: {
|
|
2815
|
+
items: {
|
|
2816
|
+
type: "string",
|
|
2817
|
+
},
|
|
2818
|
+
type: "array",
|
|
2819
|
+
},
|
|
2820
|
+
"x-displayname": "Report Fields.",
|
|
2821
|
+
},
|
|
2822
|
+
{
|
|
2823
|
+
description: 'X-example: ""\nExtra status fields to return along with summary fields.',
|
|
2824
|
+
in: "query",
|
|
2825
|
+
name: "report_status_fields",
|
|
2826
|
+
required: false,
|
|
2827
|
+
schema: {
|
|
2828
|
+
items: {
|
|
2829
|
+
type: "string",
|
|
2830
|
+
},
|
|
2831
|
+
type: "array",
|
|
2832
|
+
},
|
|
2833
|
+
"x-displayname": "Report Status Fields.",
|
|
2834
|
+
},
|
|
2835
|
+
],
|
|
2836
|
+
requestBodySchema: null,
|
|
2837
|
+
responseSchema: {
|
|
2838
|
+
$ref: "#/components/schemas/iruleListResponse",
|
|
2839
|
+
},
|
|
2840
|
+
requiredParams: ["namespace"],
|
|
2841
|
+
operationId: "ves.io.schema.bigcne.irule.API.List",
|
|
2842
|
+
tags: ["Other"],
|
|
2843
|
+
sourceFile: "domains/bigip.json",
|
|
2844
|
+
displayName: null,
|
|
2845
|
+
dangerLevel: "low",
|
|
2846
|
+
sideEffects: null,
|
|
2847
|
+
requiredFields: ["path.namespace"],
|
|
2848
|
+
confirmationRequired: false,
|
|
2849
|
+
parameterExamples: {
|
|
2850
|
+
label_filter: "Env in (staging, testing), tier in (web, db)",
|
|
2851
|
+
namespace: "Ns1",
|
|
2852
|
+
},
|
|
2853
|
+
validationRules: {},
|
|
2854
|
+
operationMetadata: {
|
|
2855
|
+
common_errors: [
|
|
2856
|
+
{
|
|
2857
|
+
code: 401,
|
|
2858
|
+
message: "Authentication required",
|
|
2859
|
+
solution: "Provide valid API credentials",
|
|
2860
|
+
},
|
|
2861
|
+
{
|
|
2862
|
+
code: 403,
|
|
2863
|
+
message: "Permission denied",
|
|
2864
|
+
solution: "Check access permissions for this operation",
|
|
2865
|
+
},
|
|
2866
|
+
{
|
|
2867
|
+
code: 404,
|
|
2868
|
+
message: "Resource not found",
|
|
2869
|
+
solution: "Verify resource name, namespace, and path",
|
|
2870
|
+
},
|
|
2871
|
+
{
|
|
2872
|
+
code: 409,
|
|
2873
|
+
message: "Resource already exists",
|
|
2874
|
+
solution: "Use different name or update existing resource",
|
|
2875
|
+
},
|
|
2876
|
+
{
|
|
2877
|
+
code: 429,
|
|
2878
|
+
message: "Rate limit exceeded",
|
|
2879
|
+
solution: "Wait before retrying the operation",
|
|
2880
|
+
},
|
|
2881
|
+
{
|
|
2882
|
+
code: 500,
|
|
2883
|
+
message: "Server error",
|
|
2884
|
+
solution: "Retry operation or contact support",
|
|
2885
|
+
},
|
|
2886
|
+
],
|
|
2887
|
+
conditions: {
|
|
2888
|
+
postconditions: [],
|
|
2889
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
2890
|
+
},
|
|
2891
|
+
confirmation_required: false,
|
|
2892
|
+
danger_level: "low",
|
|
2893
|
+
field_docs: {},
|
|
2894
|
+
optional_fields: [],
|
|
2895
|
+
performance_impact: {
|
|
2896
|
+
latency: "moderate",
|
|
2897
|
+
resource_usage: "moderate",
|
|
2898
|
+
},
|
|
2899
|
+
purpose: "List all irules",
|
|
2900
|
+
required_fields: ["path.namespace"],
|
|
2901
|
+
side_effects: {},
|
|
2902
|
+
},
|
|
2903
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/irules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
2904
|
+
dependencies: [],
|
|
2905
|
+
oneOfGroups: [],
|
|
2906
|
+
subscriptionRequirements: [],
|
|
2907
|
+
},
|
|
2908
|
+
{
|
|
2909
|
+
toolName: "f5xc-api-bigip-irule-update",
|
|
2910
|
+
method: "PUT",
|
|
2911
|
+
path: "/api/config/namespaces/{metadata.namespace}/irules/{metadata.name}",
|
|
2912
|
+
operation: "update",
|
|
2913
|
+
domain: "bigip",
|
|
2914
|
+
resource: "irule",
|
|
2915
|
+
summary: "Replace iRule.",
|
|
2916
|
+
description: "Replace iRule in a given namespace.",
|
|
2917
|
+
pathParameters: [
|
|
2918
|
+
{
|
|
2919
|
+
description: "Name\nThe configuration object to be replaced will be looked up by name.",
|
|
2920
|
+
in: "path",
|
|
2921
|
+
name: "metadata.name",
|
|
2922
|
+
required: true,
|
|
2923
|
+
schema: {
|
|
2924
|
+
type: "string",
|
|
2925
|
+
},
|
|
2926
|
+
"x-displayname": "Name",
|
|
2927
|
+
"x-ves-example": "Example-corp-web.",
|
|
2928
|
+
},
|
|
2929
|
+
{
|
|
2930
|
+
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 ""',
|
|
2931
|
+
in: "path",
|
|
2932
|
+
name: "metadata.namespace",
|
|
2933
|
+
required: true,
|
|
2934
|
+
schema: {
|
|
2935
|
+
type: "string",
|
|
2936
|
+
},
|
|
2937
|
+
"x-displayname": "Namespace",
|
|
2938
|
+
"x-ves-example": "Staging",
|
|
2939
|
+
},
|
|
2940
|
+
],
|
|
2941
|
+
queryParameters: [],
|
|
2942
|
+
requestBodySchema: {
|
|
2943
|
+
$ref: "#/components/schemas/iruleReplaceRequest",
|
|
2944
|
+
},
|
|
2945
|
+
responseSchema: {
|
|
2946
|
+
$ref: "#/components/schemas/iruleReplaceResponse",
|
|
2947
|
+
},
|
|
2948
|
+
requiredParams: ["body", "metadata.name", "metadata.namespace"],
|
|
2949
|
+
operationId: "ves.io.schema.bigcne.irule.API.Replace",
|
|
2950
|
+
tags: ["Other"],
|
|
2951
|
+
sourceFile: "domains/bigip.json",
|
|
2952
|
+
displayName: null,
|
|
2953
|
+
dangerLevel: "medium",
|
|
2954
|
+
sideEffects: {
|
|
2955
|
+
modifies: ["irule"],
|
|
2956
|
+
},
|
|
2957
|
+
requiredFields: ["path.metadata.name", "path.metadata.namespace"],
|
|
2958
|
+
confirmationRequired: false,
|
|
2959
|
+
parameterExamples: {
|
|
2960
|
+
"metadata.name": "Example-corp-web.",
|
|
2961
|
+
"metadata.namespace": "Staging",
|
|
2962
|
+
},
|
|
2963
|
+
validationRules: {},
|
|
2964
|
+
operationMetadata: {
|
|
2965
|
+
common_errors: [
|
|
2966
|
+
{
|
|
2967
|
+
code: 401,
|
|
2968
|
+
message: "Authentication required",
|
|
2969
|
+
solution: "Provide valid API credentials",
|
|
2970
|
+
},
|
|
2971
|
+
{
|
|
2972
|
+
code: 403,
|
|
2973
|
+
message: "Permission denied",
|
|
2974
|
+
solution: "Check access permissions for this operation",
|
|
2975
|
+
},
|
|
2976
|
+
{
|
|
2977
|
+
code: 404,
|
|
2978
|
+
message: "Resource not found",
|
|
2979
|
+
solution: "Verify resource name, namespace, and path",
|
|
2980
|
+
},
|
|
2981
|
+
{
|
|
2982
|
+
code: 409,
|
|
2983
|
+
message: "Resource already exists",
|
|
2984
|
+
solution: "Use different name or update existing resource",
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
code: 429,
|
|
2988
|
+
message: "Rate limit exceeded",
|
|
2989
|
+
solution: "Wait before retrying the operation",
|
|
2990
|
+
},
|
|
2991
|
+
{
|
|
2992
|
+
code: 500,
|
|
2993
|
+
message: "Server error",
|
|
2994
|
+
solution: "Retry operation or contact support",
|
|
2995
|
+
},
|
|
2996
|
+
],
|
|
2997
|
+
conditions: {
|
|
2998
|
+
postconditions: ["Resource updated with new values"],
|
|
2999
|
+
prerequisites: ["Active namespace", "Policy parameters defined"],
|
|
3000
|
+
},
|
|
3001
|
+
confirmation_required: false,
|
|
3002
|
+
danger_level: "medium",
|
|
3003
|
+
field_docs: {},
|
|
3004
|
+
optional_fields: [],
|
|
3005
|
+
performance_impact: {
|
|
3006
|
+
latency: "low",
|
|
3007
|
+
resource_usage: "low",
|
|
3008
|
+
},
|
|
3009
|
+
purpose: "Replace existing irule",
|
|
3010
|
+
required_fields: ["path.metadata.name", "path.metadata.namespace"],
|
|
3011
|
+
side_effects: {
|
|
3012
|
+
modifies: ["irule"],
|
|
3013
|
+
},
|
|
3014
|
+
},
|
|
3015
|
+
curlExample: 'curl -X POST "$F5XC_API_URL/api/config/namespaces/default/irules" \\\n -H "Authorization: APIToken $F5XC_API_TOKEN" \\\n -H "Content-Type: application/json" \\\n -d @example.json',
|
|
3016
|
+
dependencies: [
|
|
3017
|
+
{
|
|
3018
|
+
domain: "",
|
|
3019
|
+
fieldPath: "",
|
|
3020
|
+
inline: false,
|
|
3021
|
+
required: false,
|
|
3022
|
+
resourceType: "irule",
|
|
3023
|
+
},
|
|
3024
|
+
{
|
|
3025
|
+
domain: "",
|
|
3026
|
+
fieldPath: "metadata",
|
|
3027
|
+
inline: false,
|
|
3028
|
+
required: false,
|
|
3029
|
+
resourceType: "schema-object-replace-meta",
|
|
3030
|
+
},
|
|
3031
|
+
{
|
|
3032
|
+
domain: "",
|
|
3033
|
+
fieldPath: "spec",
|
|
3034
|
+
inline: false,
|
|
3035
|
+
required: false,
|
|
3036
|
+
resourceType: "irule-replace",
|
|
3037
|
+
},
|
|
3038
|
+
],
|
|
3039
|
+
oneOfGroups: [],
|
|
3040
|
+
subscriptionRequirements: [],
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
toolName: "f5xc-api-bigip-metric-create",
|
|
3044
|
+
method: "POST",
|
|
3045
|
+
path: "/api/data/namespaces/{namespace}/bigip/apm/metrics",
|
|
3046
|
+
operation: "create",
|
|
3047
|
+
domain: "bigip",
|
|
3048
|
+
resource: "metric",
|
|
3049
|
+
summary: "Metrics",
|
|
3050
|
+
description: "BIG-IP APM metrics.",
|
|
3051
|
+
pathParameters: [
|
|
3052
|
+
{
|
|
3053
|
+
description: "Namespace\nOnly `system` namespace is supported.",
|
|
3054
|
+
in: "path",
|
|
3055
|
+
name: "namespace",
|
|
3056
|
+
required: true,
|
|
3057
|
+
schema: {
|
|
3058
|
+
type: "string",
|
|
3059
|
+
},
|
|
3060
|
+
"x-displayname": "Namespace",
|
|
3061
|
+
"x-ves-example": "System",
|
|
3062
|
+
},
|
|
3063
|
+
],
|
|
3064
|
+
queryParameters: [],
|
|
3065
|
+
requestBodySchema: {
|
|
3066
|
+
$ref: "#/components/schemas/apmMetricsRequest",
|
|
3067
|
+
},
|
|
3068
|
+
responseSchema: {
|
|
3069
|
+
$ref: "#/components/schemas/apmMetricsResponse",
|
|
3070
|
+
},
|
|
3071
|
+
requiredParams: ["body", "namespace"],
|
|
3072
|
+
operationId: "ves.io.schema.bigip.apm.CustomDataAPI.Metrics",
|
|
3073
|
+
tags: ["BIG-IP"],
|
|
3074
|
+
sourceFile: "domains/bigip.json",
|
|
3075
|
+
displayName: null,
|
|
3076
|
+
dangerLevel: "medium",
|
|
3077
|
+
sideEffects: {
|
|
3078
|
+
creates: ["metric"],
|
|
3079
|
+
},
|
|
3080
|
+
requiredFields: ["metadata.name", "metadata.namespace", "path.namespace"],
|
|
3081
|
+
confirmationRequired: false,
|
|
3082
|
+
parameterExamples: {
|
|
3083
|
+
namespace: "System",
|
|
3084
|
+
},
|
|
3085
|
+
validationRules: {},
|
|
3086
|
+
operationMetadata: {
|
|
3087
|
+
common_errors: [
|
|
3088
|
+
{
|
|
3089
|
+
code: 401,
|
|
3090
|
+
message: "Authentication required",
|
|
3091
|
+
solution: "Provide valid API credentials",
|
|
3092
|
+
},
|
|
3093
|
+
{
|
|
3094
|
+
code: 403,
|
|
3095
|
+
message: "Permission denied",
|
|
3096
|
+
solution: "Check access permissions for this operation",
|
|
3097
|
+
},
|
|
3098
|
+
{
|
|
3099
|
+
code: 404,
|
|
3100
|
+
message: "Resource not found",
|
|
3101
|
+
solution: "Verify resource name, namespace, and path",
|
|
3102
|
+
},
|
|
3103
|
+
{
|
|
3104
|
+
code: 409,
|
|
3105
|
+
message: "Resource already exists",
|
|
3106
|
+
solution: "Use different name or update existing resource",
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
code: 429,
|
|
3110
|
+
message: "Rate limit exceeded",
|
|
3111
|
+
solution: "Wait before retrying the operation",
|
|
3112
|
+
},
|
|
3113
|
+
{
|
|
3114
|
+
code: 500,
|
|
3115
|
+
message: "Server error",
|
|
3116
|
+
solution: "Retry operation or contact support",
|
|
3117
|
+
},
|
|
3118
|
+
],
|
|
3119
|
+
conditions: {
|
|
3120
|
+
postconditions: ["Metric resource created", "Resource assigned unique identifier"],
|
|
3121
|
+
prerequisites: ["Active namespace"],
|
|
3122
|
+
},
|
|
3123
|
+
confirmation_required: false,
|
|
3124
|
+
danger_level: "medium",
|
|
3125
|
+
field_docs: {},
|
|
3126
|
+
optional_fields: [],
|
|
3127
|
+
performance_impact: {
|
|
3128
|
+
latency: "low",
|
|
3129
|
+
resource_usage: "low",
|
|
3130
|
+
},
|
|
3131
|
+
purpose: "Create new metric",
|
|
3132
|
+
required_fields: ["metadata.name", "metadata.namespace", "path.namespace"],
|
|
3133
|
+
side_effects: {
|
|
3134
|
+
creates: ["metric"],
|
|
3135
|
+
},
|
|
3136
|
+
},
|
|
3137
|
+
curlExample: null,
|
|
3138
|
+
dependencies: [
|
|
3139
|
+
{
|
|
3140
|
+
domain: "",
|
|
3141
|
+
fieldPath: "field_selector[]",
|
|
3142
|
+
inline: false,
|
|
3143
|
+
required: false,
|
|
3144
|
+
resourceType: "bigipapm-metric",
|
|
3145
|
+
},
|
|
3146
|
+
],
|
|
3147
|
+
oneOfGroups: [],
|
|
3148
|
+
subscriptionRequirements: [],
|
|
3149
|
+
},
|
|
3150
|
+
];
|
|
3151
|
+
export default bigipTools;
|
|
3152
|
+
//# sourceMappingURL=index.js.map
|