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