@opensoha/contracts 0.1.24 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/auth/catalog_generated.go +2 -2
  2. package/auth/gateway_permissions_test.go +48 -0
  3. package/auth/permission-catalog.json +300 -1
  4. package/compat/consumer-revisions.json +1 -1
  5. package/compat/json-schema-ecosystem-0.1.0.json +1 -1
  6. package/compat/openapi-loose-boundaries-0.1.0.json +1 -1
  7. package/fixtures/openapi/KubernetesAgentActionCheck/invalid/unproven-state.json +6 -0
  8. package/fixtures/openapi/KubernetesAgentActionCheck/valid/configured-denied.json +9 -0
  9. package/fixtures/openapi/KubernetesAgentActionProfile/invalid/wildcard.json +1 -0
  10. package/fixtures/openapi/KubernetesAgentActionProfile/valid/workbench.json +1 -0
  11. package/fixtures/openapi/KubernetesClusterRegistrationRequest/invalid/action-profile.json +3 -0
  12. package/fixtures/openapi/KubernetesClusterRegistrationRequest/valid/action-profile.json +5 -0
  13. package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/condition-status-boolean.json +17 -0
  14. package/fixtures/openapi/KubernetesNodeListEnvelope/invalid/taint-effect-missing.json +16 -0
  15. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/legacy-fields-absent.json +11 -0
  16. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/no-taints.json +13 -0
  17. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/ready-cordoned-tainted.json +28 -0
  18. package/fixtures/openapi/KubernetesNodeListEnvelope/valid/unknown-fields-null.json +13 -0
  19. package/fixtures/openapi/KubernetesTopologyCoverage/invalid/empty-as-success.json +5 -0
  20. package/fixtures/openapi/KubernetesTopologyCoverage/valid/not-installed.json +6 -0
  21. package/fixtures/openapi/KubernetesTopologyGraphEdge/invalid/negative-weight.json +8 -0
  22. package/fixtures/openapi/KubernetesTopologyGraphEdge/valid/zero-weight.json +20 -0
  23. package/fixtures/openapi/KubernetesTopologyGraphNode/invalid/fake-flow-kind.json +42 -0
  24. package/fixtures/openapi/KubernetesTopologyGraphNode/valid/rule.json +42 -0
  25. package/fixtures/openapi/KubernetesTopologySnapshot/invalid/raw-source-field.json +33 -0
  26. package/fixtures/openapi/KubernetesTopologySnapshot/valid/projected-source.json +32 -0
  27. package/fixtures/openapi/KubernetesTopologySnapshotRequest/invalid/arbitrary-gvr.json +8 -0
  28. package/fixtures/openapi/KubernetesTopologySnapshotRequest/valid/bounded-sources.json +11 -0
  29. package/fixtures/openapi/KubernetesTopologySourceQuery/invalid/cluster-namespace.json +4 -0
  30. package/fixtures/openapi/KubernetesTopologySourceQuery/valid/all-namespaces.json +4 -0
  31. package/fixtures/openapi/ResourceMonitoringPanel/invalid/unknown-quality.json +7 -0
  32. package/fixtures/openapi/ResourceMonitoringPanel/valid/not-collected.json +7 -0
  33. package/fixtures/openapi/ResourceMonitoringPoint/invalid/string-zero.json +4 -0
  34. package/fixtures/openapi/ResourceMonitoringPoint/valid/missing.json +4 -0
  35. package/fixtures/openapi/ResourceMonitoringPoint/valid/zero.json +4 -0
  36. package/fixtures/openapi/ResourceMonitoringView/invalid/raw-query.json +12 -0
  37. package/fixtures/openapi/ResourceMonitoringView/valid/unconfigured.json +12 -0
  38. package/gen/go/sohaapi/client.go +1 -1
  39. package/gen/go/sohaapi/kubernetes_monitoring_test.go +67 -0
  40. package/gen/go/sohaapi/types.go +1265 -228
  41. package/gen/ts/sohaapi/index.ts +1116 -1
  42. package/openapi/soha-api.json +2497 -302
  43. package/openapi/soha-api.yaml +732 -3
  44. package/openapi/spec_generated.go +3 -3
  45. package/openapi/spec_test.go +34 -0
  46. package/package.json +1 -1
  47. package/resource/agent_access.go +12 -0
  48. package/resource/agent_profiles.go +62 -0
  49. package/resource/agent_profiles_test.go +36 -0
  50. package/resource/kubernetes_kinds.go +73 -0
  51. package/resource/kubernetes_kinds_test.go +38 -0
  52. package/resource/models.go +23 -14
  53. package/resource/network_topology.go +166 -0
  54. package/resource/network_topology_projection.go +208 -0
  55. package/resource/network_topology_projection_test.go +53 -0
  56. package/resource/network_topology_test.go +51 -0
  57. package/resource/network_topology_validation.go +29 -0
  58. package/resource/node_drain.go +34 -0
  59. package/resource/resource_monitoring.go +99 -0
  60. package/resource/runtime/network_topology.go +232 -0
  61. package/resource/runtime/network_topology_test.go +62 -0
  62. package/resource/runtime/node_drain.go +124 -0
  63. package/resource/runtime/node_drain_test.go +95 -0
  64. package/resource/runtime/resource_edit.go +128 -0
  65. package/resource/runtime/resource_edit_test.go +183 -0
  66. package/resource/runtime/resource_monitoring.go +243 -0
  67. package/resource/runtime/resource_monitoring_test.go +88 -0
@@ -6079,6 +6079,23 @@ export interface paths {
6079
6079
  patch?: never;
6080
6080
  trace?: never;
6081
6081
  };
6082
+ "/clusters/{clusterID}/resource-monitoring": {
6083
+ parameters: {
6084
+ query?: never;
6085
+ header?: never;
6086
+ path?: never;
6087
+ cookie?: never;
6088
+ };
6089
+ /** @description Fixed bounded monitoring templates. The selected view requires its exact permission plus cluster-wide nodes.view. Raw PromQL is never accepted. Current snapshots and historical series have separate observation times. */
6090
+ get: operations["getKubernetesResourceMonitoring"];
6091
+ put?: never;
6092
+ post?: never;
6093
+ delete?: never;
6094
+ options?: never;
6095
+ head?: never;
6096
+ patch?: never;
6097
+ trace?: never;
6098
+ };
6082
6099
  "/clusters/{clusterID}/network/topology": {
6083
6100
  parameters: {
6084
6101
  query?: never;
@@ -11778,6 +11795,7 @@ export interface paths {
11778
11795
  };
11779
11796
  get?: never;
11780
11797
  put?: never;
11798
+ /** @description Cordon the node and evict eligible pods. A 409 with node_drain_pdb_blocked, node_drain_eviction_blocked, node_drain_timeout, node_drain_canceled, node_drain_pod_selection or node_drain_failed means this drain did not complete. Inspect current node schedulability and remaining pods before retrying or explicitly restoring scheduling. Transport failure leaves the outcome unknown. */
11781
11799
  post: operations["drainKubernetesNode"];
11782
11800
  delete?: never;
11783
11801
  options?: never;
@@ -11881,6 +11899,214 @@ export interface paths {
11881
11899
  patch?: never;
11882
11900
  trace?: never;
11883
11901
  };
11902
+ "/clusters/{clusterID}/network/httproutes/{name}": {
11903
+ parameters: {
11904
+ query?: never;
11905
+ header?: never;
11906
+ path?: never;
11907
+ cookie?: never;
11908
+ };
11909
+ get?: never;
11910
+ put?: never;
11911
+ post?: never;
11912
+ delete: operations["deleteKubernetesHTTPRoute"];
11913
+ options?: never;
11914
+ head?: never;
11915
+ patch?: never;
11916
+ trace?: never;
11917
+ };
11918
+ "/clusters/{clusterID}/network/httproutes/{name}/yaml": {
11919
+ parameters: {
11920
+ query?: never;
11921
+ header?: never;
11922
+ path?: never;
11923
+ cookie?: never;
11924
+ };
11925
+ get: operations["getKubernetesHTTPRouteYaml"];
11926
+ put: operations["applyKubernetesHTTPRouteYaml"];
11927
+ post?: never;
11928
+ delete?: never;
11929
+ options?: never;
11930
+ head?: never;
11931
+ patch?: never;
11932
+ trace?: never;
11933
+ };
11934
+ "/clusters/{clusterID}/network/grpcroutes/{name}": {
11935
+ parameters: {
11936
+ query?: never;
11937
+ header?: never;
11938
+ path?: never;
11939
+ cookie?: never;
11940
+ };
11941
+ get?: never;
11942
+ put?: never;
11943
+ post?: never;
11944
+ delete: operations["deleteKubernetesGRPCRoute"];
11945
+ options?: never;
11946
+ head?: never;
11947
+ patch?: never;
11948
+ trace?: never;
11949
+ };
11950
+ "/clusters/{clusterID}/network/grpcroutes/{name}/yaml": {
11951
+ parameters: {
11952
+ query?: never;
11953
+ header?: never;
11954
+ path?: never;
11955
+ cookie?: never;
11956
+ };
11957
+ get: operations["getKubernetesGRPCRouteYaml"];
11958
+ put: operations["applyKubernetesGRPCRouteYaml"];
11959
+ post?: never;
11960
+ delete?: never;
11961
+ options?: never;
11962
+ head?: never;
11963
+ patch?: never;
11964
+ trace?: never;
11965
+ };
11966
+ "/clusters/{clusterID}/network/backendtlspolicies/{name}": {
11967
+ parameters: {
11968
+ query?: never;
11969
+ header?: never;
11970
+ path?: never;
11971
+ cookie?: never;
11972
+ };
11973
+ get?: never;
11974
+ put?: never;
11975
+ post?: never;
11976
+ delete: operations["deleteKubernetesBackendTLSPolicy"];
11977
+ options?: never;
11978
+ head?: never;
11979
+ patch?: never;
11980
+ trace?: never;
11981
+ };
11982
+ "/clusters/{clusterID}/network/backendtlspolicies/{name}/yaml": {
11983
+ parameters: {
11984
+ query?: never;
11985
+ header?: never;
11986
+ path?: never;
11987
+ cookie?: never;
11988
+ };
11989
+ get: operations["getKubernetesBackendTLSPolicyYaml"];
11990
+ put: operations["applyKubernetesBackendTLSPolicyYaml"];
11991
+ post?: never;
11992
+ delete?: never;
11993
+ options?: never;
11994
+ head?: never;
11995
+ patch?: never;
11996
+ trace?: never;
11997
+ };
11998
+ "/clusters/{clusterID}/network/referencegrants/{name}": {
11999
+ parameters: {
12000
+ query?: never;
12001
+ header?: never;
12002
+ path?: never;
12003
+ cookie?: never;
12004
+ };
12005
+ get?: never;
12006
+ put?: never;
12007
+ post?: never;
12008
+ delete: operations["deleteKubernetesReferenceGrant"];
12009
+ options?: never;
12010
+ head?: never;
12011
+ patch?: never;
12012
+ trace?: never;
12013
+ };
12014
+ "/clusters/{clusterID}/network/referencegrants/{name}/yaml": {
12015
+ parameters: {
12016
+ query?: never;
12017
+ header?: never;
12018
+ path?: never;
12019
+ cookie?: never;
12020
+ };
12021
+ get: operations["getKubernetesReferenceGrantYaml"];
12022
+ put: operations["applyKubernetesReferenceGrantYaml"];
12023
+ post?: never;
12024
+ delete?: never;
12025
+ options?: never;
12026
+ head?: never;
12027
+ patch?: never;
12028
+ trace?: never;
12029
+ };
12030
+ "/clusters/{clusterID}/configuration/hpas/{name}": {
12031
+ parameters: {
12032
+ query?: never;
12033
+ header?: never;
12034
+ path?: never;
12035
+ cookie?: never;
12036
+ };
12037
+ get?: never;
12038
+ put?: never;
12039
+ post?: never;
12040
+ delete: operations["deleteKubernetesHorizontalPodAutoscaler"];
12041
+ options?: never;
12042
+ head?: never;
12043
+ patch?: never;
12044
+ trace?: never;
12045
+ };
12046
+ "/clusters/{clusterID}/configuration/hpas/{name}/yaml": {
12047
+ parameters: {
12048
+ query?: never;
12049
+ header?: never;
12050
+ path?: never;
12051
+ cookie?: never;
12052
+ };
12053
+ get: operations["getKubernetesHorizontalPodAutoscalerYaml"];
12054
+ put: operations["applyKubernetesHorizontalPodAutoscalerYaml"];
12055
+ post?: never;
12056
+ delete?: never;
12057
+ options?: never;
12058
+ head?: never;
12059
+ patch?: never;
12060
+ trace?: never;
12061
+ };
12062
+ "/clusters/{clusterID}/configuration/poddisruptionbudgets/{name}": {
12063
+ parameters: {
12064
+ query?: never;
12065
+ header?: never;
12066
+ path?: never;
12067
+ cookie?: never;
12068
+ };
12069
+ get?: never;
12070
+ put?: never;
12071
+ post?: never;
12072
+ delete: operations["deleteKubernetesPodDisruptionBudget"];
12073
+ options?: never;
12074
+ head?: never;
12075
+ patch?: never;
12076
+ trace?: never;
12077
+ };
12078
+ "/clusters/{clusterID}/configuration/poddisruptionbudgets/{name}/yaml": {
12079
+ parameters: {
12080
+ query?: never;
12081
+ header?: never;
12082
+ path?: never;
12083
+ cookie?: never;
12084
+ };
12085
+ get: operations["getKubernetesPodDisruptionBudgetYaml"];
12086
+ put: operations["applyKubernetesPodDisruptionBudgetYaml"];
12087
+ post?: never;
12088
+ delete?: never;
12089
+ options?: never;
12090
+ head?: never;
12091
+ patch?: never;
12092
+ trace?: never;
12093
+ };
12094
+ "/clusters/{clusterID}/workloads/replicationcontrollers/{name}": {
12095
+ parameters: {
12096
+ query?: never;
12097
+ header?: never;
12098
+ path?: never;
12099
+ cookie?: never;
12100
+ };
12101
+ get?: never;
12102
+ put?: never;
12103
+ post?: never;
12104
+ delete: operations["deleteKubernetesReplicationController"];
12105
+ options?: never;
12106
+ head?: never;
12107
+ patch?: never;
12108
+ trace?: never;
12109
+ };
11884
12110
  }
11885
12111
  export type webhooks = Record<string, never>;
11886
12112
  export interface components {
@@ -21321,6 +21547,7 @@ export interface components {
21321
21547
  lastTransition?: string;
21322
21548
  };
21323
21549
  KubernetesClusterDiagnostics: {
21550
+ actionChecks?: components["schemas"]["KubernetesAgentActionCheck"][];
21324
21551
  transport: string;
21325
21552
  syncStrategy: string;
21326
21553
  cacheStatus: string;
@@ -21331,6 +21558,25 @@ export interface components {
21331
21558
  connectionState: string;
21332
21559
  message?: string;
21333
21560
  };
21561
+ KubernetesAgentActionCheck: {
21562
+ action: string;
21563
+ /** @enum {string} */
21564
+ implementation: "supported" | "unsupported" | "unknown";
21565
+ /** @enum {string} */
21566
+ configured: "allowed" | "denied" | "unknown";
21567
+ /** @enum {string} */
21568
+ kubernetesRBAC: "allowed" | "denied" | "unknown" | "not_applicable";
21569
+ /** Format: date-time */
21570
+ checkedAt?: string;
21571
+ reasonCode?: string;
21572
+ /** @enum {string} */
21573
+ scope?: "cluster";
21574
+ };
21575
+ /**
21576
+ * @description Installation preset only. Legacy preserves existing permissions; selecting workbench or read-only requires regenerating and reviewing the installation manifest.
21577
+ * @enum {string}
21578
+ */
21579
+ KubernetesAgentActionProfile: "legacy" | "workbench" | "read-only";
21334
21580
  KubernetesClusterConnectionDetail: {
21335
21581
  mode: components["schemas"]["KubernetesConnectionMode"];
21336
21582
  credentialType: string;
@@ -21341,6 +21587,7 @@ export interface components {
21341
21587
  hasInlineKubeconfig: boolean;
21342
21588
  hasToken: boolean;
21343
21589
  usesInformerCache: boolean;
21590
+ actionProfile?: components["schemas"]["KubernetesAgentActionProfile"];
21344
21591
  customResourceRules?: components["schemas"]["KubernetesAgentCustomResourceRule"][];
21345
21592
  };
21346
21593
  KubernetesCustomResourceAccess: {
@@ -21367,6 +21614,7 @@ export interface components {
21367
21614
  prometheusClusterLabel?: string;
21368
21615
  grafanaBaseUrl?: string;
21369
21616
  prometheusTransport?: components["schemas"]["KubernetesPrometheusTransport"];
21617
+ agentActionProfile?: components["schemas"]["KubernetesAgentActionProfile"];
21370
21618
  agentCustomResourceRules?: components["schemas"]["KubernetesAgentCustomResourceRule"][];
21371
21619
  };
21372
21620
  KubernetesAgentCustomResourceRule: {
@@ -21455,6 +21703,10 @@ export interface components {
21455
21703
  name: string;
21456
21704
  status: string;
21457
21705
  unschedulable: boolean;
21706
+ /** @description Current Node spec taints. Empty means none; null or absent means not reported. */
21707
+ taints?: components["schemas"]["KubernetesNodeTaint"][] | null;
21708
+ /** @description Current Node conditions, independent of scheduling and drain operations. */
21709
+ conditions?: components["schemas"]["KubernetesWorkloadCondition"][] | null;
21458
21710
  roles?: string[];
21459
21711
  version?: string;
21460
21712
  internalIp?: string;
@@ -22852,6 +23104,204 @@ export interface components {
22852
23104
  KubernetesNetworkPolicyDetailEnvelope: {
22853
23105
  data: components["schemas"]["KubernetesNetworkPolicyDetail"];
22854
23106
  };
23107
+ /** @enum {string} */
23108
+ KubernetesTopologyProvider: "kubernetes" | "gateway" | "traefik" | "apisix";
23109
+ /** @enum {string} */
23110
+ KubernetesTopologyResolution: "resolved" | "unresolved" | "not_found" | "not_visible" | "no_ready_endpoints" | "external" | "unsupported_fragment" | "unknown";
23111
+ KubernetesTopologyProperty: {
23112
+ name: string;
23113
+ value: string;
23114
+ };
23115
+ KubernetesTopologyMatch: {
23116
+ type: string;
23117
+ name?: string;
23118
+ operator?: string;
23119
+ value?: string;
23120
+ };
23121
+ KubernetesTopologyRule: {
23122
+ name?: string;
23123
+ index: number;
23124
+ /** @description Groups are ORed; matches inside each group are ANDed. Opaque expressions remain a bounded summary and are marked unsupported_fragment. */
23125
+ matchGroups?: components["schemas"]["KubernetesTopologyMatch"][][];
23126
+ matchSummary?: string;
23127
+ /** Format: int64 */
23128
+ priority?: number;
23129
+ tlsMode?: string;
23130
+ };
23131
+ KubernetesTopologyCondition: {
23132
+ type: string;
23133
+ status: string;
23134
+ reason?: string;
23135
+ /** Format: int64 */
23136
+ observedGeneration?: number;
23137
+ /** Format: date-time */
23138
+ lastTransitionTime?: string;
23139
+ };
23140
+ KubernetesTopologyGraphNode: {
23141
+ id: string;
23142
+ /** @enum {string} */
23143
+ type: "entry" | "rule" | "processor" | "backend-group" | "service" | "endpoint-group" | "pod" | "external";
23144
+ label: string;
23145
+ provider: components["schemas"]["KubernetesTopologyProvider"];
23146
+ protocol?: string;
23147
+ resolutionState: components["schemas"]["KubernetesTopologyResolution"];
23148
+ resource?: components["schemas"]["KubernetesResourceRef"];
23149
+ rule?: components["schemas"]["KubernetesTopologyRule"];
23150
+ /** Format: int64 */
23151
+ generation?: number;
23152
+ properties?: components["schemas"]["KubernetesTopologyProperty"][];
23153
+ conditions?: components["schemas"]["KubernetesTopologyCondition"][];
23154
+ };
23155
+ KubernetesTopologyGraphEdge: {
23156
+ id: string;
23157
+ source: string;
23158
+ target: string;
23159
+ /** @enum {string} */
23160
+ relation: "matches" | "processes" | "forwards" | "weights" | "mirrors" | "resolves" | "selects";
23161
+ resolutionState: components["schemas"]["KubernetesTopologyResolution"];
23162
+ protocol?: string;
23163
+ port?: string;
23164
+ /** Format: int64 */
23165
+ weight?: number;
23166
+ /** Format: int64 */
23167
+ totalWeight?: number;
23168
+ mirrorPercent?: number;
23169
+ ruleRef?: string;
23170
+ sourceRef?: components["schemas"]["KubernetesResourceRef"];
23171
+ note?: string;
23172
+ };
23173
+ KubernetesTopologyCoverage: {
23174
+ provider: components["schemas"]["KubernetesTopologyProvider"];
23175
+ sourceId: string;
23176
+ /** @enum {string} */
23177
+ state: "available" | "not_installed" | "unsupported" | "denied" | "error" | "partial";
23178
+ namespace?: string;
23179
+ supportedKinds?: string[];
23180
+ reasonCode?: string;
23181
+ /** Format: date-time */
23182
+ checkedAt?: string;
23183
+ /** Format: date-time */
23184
+ observedAt?: string;
23185
+ truncated?: boolean;
23186
+ };
23187
+ KubernetesTopologySourceQuery: {
23188
+ /** @enum {string} */
23189
+ sourceId: "kubernetes.services" | "kubernetes.pods" | "kubernetes.endpointslices" | "kubernetes.ingresses" | "kubernetes.ingressclasses" | "gateway.gateways" | "gateway.gatewayclasses" | "gateway.httproutes" | "gateway.grpcroutes" | "gateway.tcproutes" | "gateway.tlsroutes" | "gateway.udproutes" | "gateway.referencegrants" | "traefik.ingressroutes" | "traefik.ingressroutetcps" | "traefik.ingressrouteudps" | "traefik.traefikservices" | "traefik.middlewares" | "traefik.middlewaretcps" | "apisix.apisixroutes" | "apisix.apisixupstreams" | "apisix.apisixtls";
23190
+ namespace?: string;
23191
+ } & unknown;
23192
+ KubernetesTopologySnapshotRequest: {
23193
+ queries: components["schemas"]["KubernetesTopologySourceQuery"][];
23194
+ };
23195
+ KubernetesTopologySourceObject: {
23196
+ resource: components["schemas"]["KubernetesResourceRef"];
23197
+ /** Format: int64 */
23198
+ generation?: number;
23199
+ /** @description Fixed source-schema projection encoded as JSON. Unknown fields, raw annotations, Secret values, plugin configuration and credential material are removed before transport. This is not an original Kubernetes manifest. */
23200
+ content: string;
23201
+ };
23202
+ KubernetesTopologySourceResult: {
23203
+ coverage: components["schemas"]["KubernetesTopologyCoverage"];
23204
+ objects: components["schemas"]["KubernetesTopologySourceObject"][];
23205
+ };
23206
+ KubernetesTopologySnapshot: {
23207
+ version: string;
23208
+ sources: components["schemas"]["KubernetesTopologySourceResult"][];
23209
+ };
23210
+ /** @enum {string} */
23211
+ ResourceMonitoringQuality: "valid" | "partial" | "stale" | "not_configured" | "not_collected" | "unsupported" | "denied" | "error" | "empty";
23212
+ /** @enum {string} */
23213
+ ResourceMonitoringViewName: "overview" | "cpu" | "memory" | "conntrack" | "pods";
23214
+ ResourceMonitoringQuantity: {
23215
+ /** Format: double */
23216
+ cpuCores: number | null;
23217
+ /** Format: double */
23218
+ memoryBytes: number | null;
23219
+ /** Format: double */
23220
+ podSlots: number | null;
23221
+ };
23222
+ ResourceMonitoringNode: {
23223
+ nodeRef: components["schemas"]["KubernetesResourceRef"];
23224
+ internalIP?: string;
23225
+ os?: string;
23226
+ /** Format: date-time */
23227
+ createdAt?: string;
23228
+ ready: string;
23229
+ cordoned: boolean;
23230
+ memoryPressure: string;
23231
+ diskPressure: string;
23232
+ pidPressure: string;
23233
+ capacity: components["schemas"]["ResourceMonitoringQuantity"];
23234
+ allocatable: components["schemas"]["ResourceMonitoringQuantity"];
23235
+ requests: components["schemas"]["ResourceMonitoringQuantity"];
23236
+ limits: components["schemas"]["ResourceMonitoringQuantity"];
23237
+ cpuLimitsComplete: boolean;
23238
+ memoryLimitsComplete: boolean;
23239
+ /** Format: double */
23240
+ boundPods: number | null;
23241
+ /** Format: double */
23242
+ pendingPods: number | null;
23243
+ /** Format: double */
23244
+ remainingPodSlots: number | null;
23245
+ /** Format: double */
23246
+ overflowPodSlots: number | null;
23247
+ quality: components["schemas"]["ResourceMonitoringQuality"];
23248
+ /** Format: date-time */
23249
+ observedAt?: string;
23250
+ };
23251
+ ResourceMonitoringPoint: {
23252
+ /** Format: date-time */
23253
+ timestamp: string;
23254
+ /** Format: double */
23255
+ value: number | null;
23256
+ };
23257
+ ResourceMonitoringSeries: {
23258
+ nodeRef: components["schemas"]["KubernetesResourceRef"];
23259
+ metricKey: string;
23260
+ /** @enum {string} */
23261
+ unit: "cores" | "bytes" | "count" | "events/s" | "events" | "percent";
23262
+ quality: components["schemas"]["ResourceMonitoringQuality"];
23263
+ reasonCode?: string;
23264
+ source: string;
23265
+ /** Format: date-time */
23266
+ sampledAt?: string;
23267
+ /** Format: double */
23268
+ latest: number | null;
23269
+ points: components["schemas"]["ResourceMonitoringPoint"][];
23270
+ };
23271
+ ResourceMonitoringPanel: {
23272
+ key: string;
23273
+ label: string;
23274
+ unit: string;
23275
+ quality: components["schemas"]["ResourceMonitoringQuality"];
23276
+ reasonCode?: string;
23277
+ estimated?: boolean;
23278
+ windowSeconds?: number;
23279
+ series: components["schemas"]["ResourceMonitoringSeries"][];
23280
+ };
23281
+ ResourceMonitoringView: {
23282
+ clusterId: string;
23283
+ view: components["schemas"]["ResourceMonitoringViewName"];
23284
+ node?: string;
23285
+ /** Format: date-time */
23286
+ from: string;
23287
+ /** Format: date-time */
23288
+ to: string;
23289
+ stepSeconds: number;
23290
+ /** Format: date-time */
23291
+ generatedAt: string;
23292
+ /** Format: date-time */
23293
+ snapshotObservedAt?: string;
23294
+ snapshotQuality: components["schemas"]["ResourceMonitoringQuality"];
23295
+ /** Format: double */
23296
+ unscheduledPendingPods: number | null;
23297
+ nodes: components["schemas"]["ResourceMonitoringNode"][];
23298
+ panels: components["schemas"]["ResourceMonitoringPanel"][];
23299
+ truncated?: boolean;
23300
+ nodeOptions?: components["schemas"]["KubernetesResourceRef"][];
23301
+ };
23302
+ ResourceMonitoringEnvelope: {
23303
+ data: components["schemas"]["ResourceMonitoringView"];
23304
+ };
22855
23305
  KubernetesNetworkTopologySummary: {
22856
23306
  entryCount: number;
22857
23307
  routeCount: number;
@@ -22886,6 +23336,13 @@ export interface components {
22886
23336
  source: string;
22887
23337
  generatedAt: string;
22888
23338
  summary: components["schemas"]["KubernetesNetworkTopologySummary"];
23339
+ graphVersion?: string;
23340
+ nodes?: components["schemas"]["KubernetesTopologyGraphNode"][];
23341
+ edges?: components["schemas"]["KubernetesTopologyGraphEdge"][];
23342
+ coverage?: components["schemas"]["KubernetesTopologyCoverage"][];
23343
+ /** Format: date-time */
23344
+ observedAt?: string;
23345
+ truncated?: boolean;
22889
23346
  traces?: components["schemas"]["KubernetesNetworkTopologyTrace"][];
22890
23347
  warnings?: string[];
22891
23348
  };
@@ -24484,6 +24941,7 @@ export interface components {
24484
24941
  namespace?: string;
24485
24942
  scopeMode: components["schemas"]["KubernetesResourceScopeMode"];
24486
24943
  uid?: string;
24944
+ resourceVersion?: string;
24487
24945
  };
24488
24946
  /** @enum {string} */
24489
24947
  KubernetesResourceStreamEventType: "status" | "added" | "modified" | "deleted" | "reset" | "error";
@@ -29228,6 +29686,8 @@ export type KubernetesClusterSummary = components['schemas']['KubernetesClusterS
29228
29686
  export type KubernetesClusterListEnvelope = components['schemas']['KubernetesClusterListEnvelope'];
29229
29687
  export type KubernetesCacheResourceDiagnostic = components['schemas']['KubernetesCacheResourceDiagnostic'];
29230
29688
  export type KubernetesClusterDiagnostics = components['schemas']['KubernetesClusterDiagnostics'];
29689
+ export type KubernetesAgentActionCheck = components['schemas']['KubernetesAgentActionCheck'];
29690
+ export type KubernetesAgentActionProfile = components['schemas']['KubernetesAgentActionProfile'];
29231
29691
  export type KubernetesClusterConnectionDetail = components['schemas']['KubernetesClusterConnectionDetail'];
29232
29692
  export type KubernetesCustomResourceAccess = components['schemas']['KubernetesCustomResourceAccess'];
29233
29693
  export type KubernetesCustomResourceAccessEnvelope = components['schemas']['KubernetesCustomResourceAccessEnvelope'];
@@ -29420,6 +29880,29 @@ export type KubernetesNetworkPolicyPort = components['schemas']['KubernetesNetwo
29420
29880
  export type KubernetesNetworkPolicyRule = components['schemas']['KubernetesNetworkPolicyRule'];
29421
29881
  export type KubernetesNetworkPolicyDetail = components['schemas']['KubernetesNetworkPolicyDetail'];
29422
29882
  export type KubernetesNetworkPolicyDetailEnvelope = components['schemas']['KubernetesNetworkPolicyDetailEnvelope'];
29883
+ export type KubernetesTopologyProvider = components['schemas']['KubernetesTopologyProvider'];
29884
+ export type KubernetesTopologyResolution = components['schemas']['KubernetesTopologyResolution'];
29885
+ export type KubernetesTopologyProperty = components['schemas']['KubernetesTopologyProperty'];
29886
+ export type KubernetesTopologyMatch = components['schemas']['KubernetesTopologyMatch'];
29887
+ export type KubernetesTopologyRule = components['schemas']['KubernetesTopologyRule'];
29888
+ export type KubernetesTopologyCondition = components['schemas']['KubernetesTopologyCondition'];
29889
+ export type KubernetesTopologyGraphNode = components['schemas']['KubernetesTopologyGraphNode'];
29890
+ export type KubernetesTopologyGraphEdge = components['schemas']['KubernetesTopologyGraphEdge'];
29891
+ export type KubernetesTopologyCoverage = components['schemas']['KubernetesTopologyCoverage'];
29892
+ export type KubernetesTopologySourceQuery = components['schemas']['KubernetesTopologySourceQuery'];
29893
+ export type KubernetesTopologySnapshotRequest = components['schemas']['KubernetesTopologySnapshotRequest'];
29894
+ export type KubernetesTopologySourceObject = components['schemas']['KubernetesTopologySourceObject'];
29895
+ export type KubernetesTopologySourceResult = components['schemas']['KubernetesTopologySourceResult'];
29896
+ export type KubernetesTopologySnapshot = components['schemas']['KubernetesTopologySnapshot'];
29897
+ export type ResourceMonitoringQuality = components['schemas']['ResourceMonitoringQuality'];
29898
+ export type ResourceMonitoringViewName = components['schemas']['ResourceMonitoringViewName'];
29899
+ export type ResourceMonitoringQuantity = components['schemas']['ResourceMonitoringQuantity'];
29900
+ export type ResourceMonitoringNode = components['schemas']['ResourceMonitoringNode'];
29901
+ export type ResourceMonitoringPoint = components['schemas']['ResourceMonitoringPoint'];
29902
+ export type ResourceMonitoringSeries = components['schemas']['ResourceMonitoringSeries'];
29903
+ export type ResourceMonitoringPanel = components['schemas']['ResourceMonitoringPanel'];
29904
+ export type ResourceMonitoringView = components['schemas']['ResourceMonitoringView'];
29905
+ export type ResourceMonitoringEnvelope = components['schemas']['ResourceMonitoringEnvelope'];
29423
29906
  export type KubernetesNetworkTopologySummary = components['schemas']['KubernetesNetworkTopologySummary'];
29424
29907
  export type KubernetesNetworkTopologyNode = components['schemas']['KubernetesNetworkTopologyNode'];
29425
29908
  export type KubernetesNetworkTopologyTrace = components['schemas']['KubernetesNetworkTopologyTrace'];
@@ -42508,6 +42991,39 @@ export interface operations {
42508
42991
  503: components["responses"]["Error"];
42509
42992
  };
42510
42993
  };
42994
+ getKubernetesResourceMonitoring: {
42995
+ parameters: {
42996
+ query: {
42997
+ view: components["schemas"]["ResourceMonitoringViewName"];
42998
+ node?: string;
42999
+ from?: string;
43000
+ to?: string;
43001
+ rangeMinutes?: number;
43002
+ stepSeconds?: number;
43003
+ };
43004
+ header?: never;
43005
+ path: {
43006
+ clusterID: components["parameters"]["ClusterID"];
43007
+ };
43008
+ cookie?: never;
43009
+ };
43010
+ requestBody?: never;
43011
+ responses: {
43012
+ /** @description Per-panel quality and bounded node series. */
43013
+ 200: {
43014
+ headers: {
43015
+ [name: string]: unknown;
43016
+ };
43017
+ content: {
43018
+ "application/json": components["schemas"]["ResourceMonitoringEnvelope"];
43019
+ };
43020
+ };
43021
+ 400: components["responses"]["Error"];
43022
+ 403: components["responses"]["Error"];
43023
+ 404: components["responses"]["Error"];
43024
+ 503: components["responses"]["Error"];
43025
+ };
43026
+ };
42511
43027
  getKubernetesNetworkTopology: {
42512
43028
  parameters: {
42513
43029
  query?: {
@@ -42522,7 +43038,7 @@ export interface operations {
42522
43038
  };
42523
43039
  requestBody?: never;
42524
43040
  responses: {
42525
- /** @description Resolved ingress and Gateway API topology for the selected scope. */
43041
+ /** @description Bounded permission-filtered Kubernetes, Gateway API, Traefik and APISIX topology, with per-source coverage and explicit unresolved relationships. */
42526
43042
  200: {
42527
43043
  headers: {
42528
43044
  [name: string]: unknown;
@@ -54983,4 +55499,603 @@ export interface operations {
54983
55499
  503: components["responses"]["Error"];
54984
55500
  };
54985
55501
  };
55502
+ deleteKubernetesHTTPRoute: {
55503
+ parameters: {
55504
+ query?: {
55505
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55506
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55507
+ };
55508
+ header?: never;
55509
+ path: {
55510
+ clusterID: components["parameters"]["ClusterID"];
55511
+ name: components["parameters"]["KubernetesResourceName"];
55512
+ };
55513
+ cookie?: never;
55514
+ };
55515
+ requestBody?: never;
55516
+ responses: {
55517
+ /** @description Resource deleted. */
55518
+ 204: {
55519
+ headers: {
55520
+ [name: string]: unknown;
55521
+ };
55522
+ content?: never;
55523
+ };
55524
+ 400: components["responses"]["Error"];
55525
+ 403: components["responses"]["Error"];
55526
+ 404: components["responses"]["Error"];
55527
+ 409: components["responses"]["Error"];
55528
+ 503: components["responses"]["Error"];
55529
+ };
55530
+ };
55531
+ getKubernetesHTTPRouteYaml: {
55532
+ parameters: {
55533
+ query?: {
55534
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55535
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55536
+ };
55537
+ header?: never;
55538
+ path: {
55539
+ clusterID: components["parameters"]["ClusterID"];
55540
+ name: components["parameters"]["KubernetesResourceName"];
55541
+ };
55542
+ cookie?: never;
55543
+ };
55544
+ requestBody?: never;
55545
+ responses: {
55546
+ /** @description Authorized Kubernetes resource YAML. */
55547
+ 200: {
55548
+ headers: {
55549
+ [name: string]: unknown;
55550
+ };
55551
+ content: {
55552
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55553
+ };
55554
+ };
55555
+ 400: components["responses"]["Error"];
55556
+ 403: components["responses"]["Error"];
55557
+ 404: components["responses"]["Error"];
55558
+ 409: components["responses"]["Error"];
55559
+ 503: components["responses"]["Error"];
55560
+ };
55561
+ };
55562
+ applyKubernetesHTTPRouteYaml: {
55563
+ parameters: {
55564
+ query?: {
55565
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55566
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55567
+ };
55568
+ header?: never;
55569
+ path: {
55570
+ clusterID: components["parameters"]["ClusterID"];
55571
+ name: components["parameters"]["KubernetesResourceName"];
55572
+ };
55573
+ cookie?: never;
55574
+ };
55575
+ requestBody: {
55576
+ content: {
55577
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
55578
+ };
55579
+ };
55580
+ responses: {
55581
+ /** @description Authorized Kubernetes resource YAML. */
55582
+ 200: {
55583
+ headers: {
55584
+ [name: string]: unknown;
55585
+ };
55586
+ content: {
55587
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55588
+ };
55589
+ };
55590
+ 400: components["responses"]["Error"];
55591
+ 403: components["responses"]["Error"];
55592
+ 404: components["responses"]["Error"];
55593
+ 409: components["responses"]["Error"];
55594
+ 503: components["responses"]["Error"];
55595
+ };
55596
+ };
55597
+ deleteKubernetesGRPCRoute: {
55598
+ parameters: {
55599
+ query?: {
55600
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55601
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55602
+ };
55603
+ header?: never;
55604
+ path: {
55605
+ clusterID: components["parameters"]["ClusterID"];
55606
+ name: components["parameters"]["KubernetesResourceName"];
55607
+ };
55608
+ cookie?: never;
55609
+ };
55610
+ requestBody?: never;
55611
+ responses: {
55612
+ /** @description Resource deleted. */
55613
+ 204: {
55614
+ headers: {
55615
+ [name: string]: unknown;
55616
+ };
55617
+ content?: never;
55618
+ };
55619
+ 400: components["responses"]["Error"];
55620
+ 403: components["responses"]["Error"];
55621
+ 404: components["responses"]["Error"];
55622
+ 409: components["responses"]["Error"];
55623
+ 503: components["responses"]["Error"];
55624
+ };
55625
+ };
55626
+ getKubernetesGRPCRouteYaml: {
55627
+ parameters: {
55628
+ query?: {
55629
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55630
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55631
+ };
55632
+ header?: never;
55633
+ path: {
55634
+ clusterID: components["parameters"]["ClusterID"];
55635
+ name: components["parameters"]["KubernetesResourceName"];
55636
+ };
55637
+ cookie?: never;
55638
+ };
55639
+ requestBody?: never;
55640
+ responses: {
55641
+ /** @description Authorized Kubernetes resource YAML. */
55642
+ 200: {
55643
+ headers: {
55644
+ [name: string]: unknown;
55645
+ };
55646
+ content: {
55647
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55648
+ };
55649
+ };
55650
+ 400: components["responses"]["Error"];
55651
+ 403: components["responses"]["Error"];
55652
+ 404: components["responses"]["Error"];
55653
+ 409: components["responses"]["Error"];
55654
+ 503: components["responses"]["Error"];
55655
+ };
55656
+ };
55657
+ applyKubernetesGRPCRouteYaml: {
55658
+ parameters: {
55659
+ query?: {
55660
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55661
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55662
+ };
55663
+ header?: never;
55664
+ path: {
55665
+ clusterID: components["parameters"]["ClusterID"];
55666
+ name: components["parameters"]["KubernetesResourceName"];
55667
+ };
55668
+ cookie?: never;
55669
+ };
55670
+ requestBody: {
55671
+ content: {
55672
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
55673
+ };
55674
+ };
55675
+ responses: {
55676
+ /** @description Authorized Kubernetes resource YAML. */
55677
+ 200: {
55678
+ headers: {
55679
+ [name: string]: unknown;
55680
+ };
55681
+ content: {
55682
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55683
+ };
55684
+ };
55685
+ 400: components["responses"]["Error"];
55686
+ 403: components["responses"]["Error"];
55687
+ 404: components["responses"]["Error"];
55688
+ 409: components["responses"]["Error"];
55689
+ 503: components["responses"]["Error"];
55690
+ };
55691
+ };
55692
+ deleteKubernetesBackendTLSPolicy: {
55693
+ parameters: {
55694
+ query?: {
55695
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55696
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55697
+ };
55698
+ header?: never;
55699
+ path: {
55700
+ clusterID: components["parameters"]["ClusterID"];
55701
+ name: components["parameters"]["KubernetesResourceName"];
55702
+ };
55703
+ cookie?: never;
55704
+ };
55705
+ requestBody?: never;
55706
+ responses: {
55707
+ /** @description Resource deleted. */
55708
+ 204: {
55709
+ headers: {
55710
+ [name: string]: unknown;
55711
+ };
55712
+ content?: never;
55713
+ };
55714
+ 400: components["responses"]["Error"];
55715
+ 403: components["responses"]["Error"];
55716
+ 404: components["responses"]["Error"];
55717
+ 409: components["responses"]["Error"];
55718
+ 503: components["responses"]["Error"];
55719
+ };
55720
+ };
55721
+ getKubernetesBackendTLSPolicyYaml: {
55722
+ parameters: {
55723
+ query?: {
55724
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55725
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55726
+ };
55727
+ header?: never;
55728
+ path: {
55729
+ clusterID: components["parameters"]["ClusterID"];
55730
+ name: components["parameters"]["KubernetesResourceName"];
55731
+ };
55732
+ cookie?: never;
55733
+ };
55734
+ requestBody?: never;
55735
+ responses: {
55736
+ /** @description Authorized Kubernetes resource YAML. */
55737
+ 200: {
55738
+ headers: {
55739
+ [name: string]: unknown;
55740
+ };
55741
+ content: {
55742
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55743
+ };
55744
+ };
55745
+ 400: components["responses"]["Error"];
55746
+ 403: components["responses"]["Error"];
55747
+ 404: components["responses"]["Error"];
55748
+ 409: components["responses"]["Error"];
55749
+ 503: components["responses"]["Error"];
55750
+ };
55751
+ };
55752
+ applyKubernetesBackendTLSPolicyYaml: {
55753
+ parameters: {
55754
+ query?: {
55755
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55756
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55757
+ };
55758
+ header?: never;
55759
+ path: {
55760
+ clusterID: components["parameters"]["ClusterID"];
55761
+ name: components["parameters"]["KubernetesResourceName"];
55762
+ };
55763
+ cookie?: never;
55764
+ };
55765
+ requestBody: {
55766
+ content: {
55767
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
55768
+ };
55769
+ };
55770
+ responses: {
55771
+ /** @description Authorized Kubernetes resource YAML. */
55772
+ 200: {
55773
+ headers: {
55774
+ [name: string]: unknown;
55775
+ };
55776
+ content: {
55777
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55778
+ };
55779
+ };
55780
+ 400: components["responses"]["Error"];
55781
+ 403: components["responses"]["Error"];
55782
+ 404: components["responses"]["Error"];
55783
+ 409: components["responses"]["Error"];
55784
+ 503: components["responses"]["Error"];
55785
+ };
55786
+ };
55787
+ deleteKubernetesReferenceGrant: {
55788
+ parameters: {
55789
+ query?: {
55790
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55791
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55792
+ };
55793
+ header?: never;
55794
+ path: {
55795
+ clusterID: components["parameters"]["ClusterID"];
55796
+ name: components["parameters"]["KubernetesResourceName"];
55797
+ };
55798
+ cookie?: never;
55799
+ };
55800
+ requestBody?: never;
55801
+ responses: {
55802
+ /** @description Resource deleted. */
55803
+ 204: {
55804
+ headers: {
55805
+ [name: string]: unknown;
55806
+ };
55807
+ content?: never;
55808
+ };
55809
+ 400: components["responses"]["Error"];
55810
+ 403: components["responses"]["Error"];
55811
+ 404: components["responses"]["Error"];
55812
+ 409: components["responses"]["Error"];
55813
+ 503: components["responses"]["Error"];
55814
+ };
55815
+ };
55816
+ getKubernetesReferenceGrantYaml: {
55817
+ parameters: {
55818
+ query?: {
55819
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55820
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55821
+ };
55822
+ header?: never;
55823
+ path: {
55824
+ clusterID: components["parameters"]["ClusterID"];
55825
+ name: components["parameters"]["KubernetesResourceName"];
55826
+ };
55827
+ cookie?: never;
55828
+ };
55829
+ requestBody?: never;
55830
+ responses: {
55831
+ /** @description Authorized Kubernetes resource YAML. */
55832
+ 200: {
55833
+ headers: {
55834
+ [name: string]: unknown;
55835
+ };
55836
+ content: {
55837
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55838
+ };
55839
+ };
55840
+ 400: components["responses"]["Error"];
55841
+ 403: components["responses"]["Error"];
55842
+ 404: components["responses"]["Error"];
55843
+ 409: components["responses"]["Error"];
55844
+ 503: components["responses"]["Error"];
55845
+ };
55846
+ };
55847
+ applyKubernetesReferenceGrantYaml: {
55848
+ parameters: {
55849
+ query?: {
55850
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55851
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55852
+ };
55853
+ header?: never;
55854
+ path: {
55855
+ clusterID: components["parameters"]["ClusterID"];
55856
+ name: components["parameters"]["KubernetesResourceName"];
55857
+ };
55858
+ cookie?: never;
55859
+ };
55860
+ requestBody: {
55861
+ content: {
55862
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
55863
+ };
55864
+ };
55865
+ responses: {
55866
+ /** @description Authorized Kubernetes resource YAML. */
55867
+ 200: {
55868
+ headers: {
55869
+ [name: string]: unknown;
55870
+ };
55871
+ content: {
55872
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55873
+ };
55874
+ };
55875
+ 400: components["responses"]["Error"];
55876
+ 403: components["responses"]["Error"];
55877
+ 404: components["responses"]["Error"];
55878
+ 409: components["responses"]["Error"];
55879
+ 503: components["responses"]["Error"];
55880
+ };
55881
+ };
55882
+ deleteKubernetesHorizontalPodAutoscaler: {
55883
+ parameters: {
55884
+ query?: {
55885
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55886
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55887
+ };
55888
+ header?: never;
55889
+ path: {
55890
+ clusterID: components["parameters"]["ClusterID"];
55891
+ name: components["parameters"]["KubernetesResourceName"];
55892
+ };
55893
+ cookie?: never;
55894
+ };
55895
+ requestBody?: never;
55896
+ responses: {
55897
+ /** @description Resource deleted. */
55898
+ 204: {
55899
+ headers: {
55900
+ [name: string]: unknown;
55901
+ };
55902
+ content?: never;
55903
+ };
55904
+ 400: components["responses"]["Error"];
55905
+ 403: components["responses"]["Error"];
55906
+ 404: components["responses"]["Error"];
55907
+ 409: components["responses"]["Error"];
55908
+ 503: components["responses"]["Error"];
55909
+ };
55910
+ };
55911
+ getKubernetesHorizontalPodAutoscalerYaml: {
55912
+ parameters: {
55913
+ query?: {
55914
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55915
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55916
+ };
55917
+ header?: never;
55918
+ path: {
55919
+ clusterID: components["parameters"]["ClusterID"];
55920
+ name: components["parameters"]["KubernetesResourceName"];
55921
+ };
55922
+ cookie?: never;
55923
+ };
55924
+ requestBody?: never;
55925
+ responses: {
55926
+ /** @description Authorized Kubernetes resource YAML. */
55927
+ 200: {
55928
+ headers: {
55929
+ [name: string]: unknown;
55930
+ };
55931
+ content: {
55932
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55933
+ };
55934
+ };
55935
+ 400: components["responses"]["Error"];
55936
+ 403: components["responses"]["Error"];
55937
+ 404: components["responses"]["Error"];
55938
+ 409: components["responses"]["Error"];
55939
+ 503: components["responses"]["Error"];
55940
+ };
55941
+ };
55942
+ applyKubernetesHorizontalPodAutoscalerYaml: {
55943
+ parameters: {
55944
+ query?: {
55945
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55946
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55947
+ };
55948
+ header?: never;
55949
+ path: {
55950
+ clusterID: components["parameters"]["ClusterID"];
55951
+ name: components["parameters"]["KubernetesResourceName"];
55952
+ };
55953
+ cookie?: never;
55954
+ };
55955
+ requestBody: {
55956
+ content: {
55957
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
55958
+ };
55959
+ };
55960
+ responses: {
55961
+ /** @description Authorized Kubernetes resource YAML. */
55962
+ 200: {
55963
+ headers: {
55964
+ [name: string]: unknown;
55965
+ };
55966
+ content: {
55967
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
55968
+ };
55969
+ };
55970
+ 400: components["responses"]["Error"];
55971
+ 403: components["responses"]["Error"];
55972
+ 404: components["responses"]["Error"];
55973
+ 409: components["responses"]["Error"];
55974
+ 503: components["responses"]["Error"];
55975
+ };
55976
+ };
55977
+ deleteKubernetesPodDisruptionBudget: {
55978
+ parameters: {
55979
+ query?: {
55980
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
55981
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
55982
+ };
55983
+ header?: never;
55984
+ path: {
55985
+ clusterID: components["parameters"]["ClusterID"];
55986
+ name: components["parameters"]["KubernetesResourceName"];
55987
+ };
55988
+ cookie?: never;
55989
+ };
55990
+ requestBody?: never;
55991
+ responses: {
55992
+ /** @description Resource deleted. */
55993
+ 204: {
55994
+ headers: {
55995
+ [name: string]: unknown;
55996
+ };
55997
+ content?: never;
55998
+ };
55999
+ 400: components["responses"]["Error"];
56000
+ 403: components["responses"]["Error"];
56001
+ 404: components["responses"]["Error"];
56002
+ 409: components["responses"]["Error"];
56003
+ 503: components["responses"]["Error"];
56004
+ };
56005
+ };
56006
+ getKubernetesPodDisruptionBudgetYaml: {
56007
+ parameters: {
56008
+ query?: {
56009
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
56010
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
56011
+ };
56012
+ header?: never;
56013
+ path: {
56014
+ clusterID: components["parameters"]["ClusterID"];
56015
+ name: components["parameters"]["KubernetesResourceName"];
56016
+ };
56017
+ cookie?: never;
56018
+ };
56019
+ requestBody?: never;
56020
+ responses: {
56021
+ /** @description Authorized Kubernetes resource YAML. */
56022
+ 200: {
56023
+ headers: {
56024
+ [name: string]: unknown;
56025
+ };
56026
+ content: {
56027
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
56028
+ };
56029
+ };
56030
+ 400: components["responses"]["Error"];
56031
+ 403: components["responses"]["Error"];
56032
+ 404: components["responses"]["Error"];
56033
+ 409: components["responses"]["Error"];
56034
+ 503: components["responses"]["Error"];
56035
+ };
56036
+ };
56037
+ applyKubernetesPodDisruptionBudgetYaml: {
56038
+ parameters: {
56039
+ query?: {
56040
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
56041
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
56042
+ };
56043
+ header?: never;
56044
+ path: {
56045
+ clusterID: components["parameters"]["ClusterID"];
56046
+ name: components["parameters"]["KubernetesResourceName"];
56047
+ };
56048
+ cookie?: never;
56049
+ };
56050
+ requestBody: {
56051
+ content: {
56052
+ "application/json": components["schemas"]["KubernetesResourceYamlInput"];
56053
+ };
56054
+ };
56055
+ responses: {
56056
+ /** @description Authorized Kubernetes resource YAML. */
56057
+ 200: {
56058
+ headers: {
56059
+ [name: string]: unknown;
56060
+ };
56061
+ content: {
56062
+ "application/json": components["schemas"]["KubernetesResourceYamlEnvelope"];
56063
+ };
56064
+ };
56065
+ 400: components["responses"]["Error"];
56066
+ 403: components["responses"]["Error"];
56067
+ 404: components["responses"]["Error"];
56068
+ 409: components["responses"]["Error"];
56069
+ 503: components["responses"]["Error"];
56070
+ };
56071
+ };
56072
+ deleteKubernetesReplicationController: {
56073
+ parameters: {
56074
+ query?: {
56075
+ /** @description Omit to aggregate across namespaces when the operation supports cluster-wide reads. */
56076
+ namespace?: components["parameters"]["KubernetesNamespaceQuery"];
56077
+ };
56078
+ header?: never;
56079
+ path: {
56080
+ clusterID: components["parameters"]["ClusterID"];
56081
+ name: components["parameters"]["KubernetesResourceName"];
56082
+ };
56083
+ cookie?: never;
56084
+ };
56085
+ requestBody?: never;
56086
+ responses: {
56087
+ /** @description Resource deleted. */
56088
+ 204: {
56089
+ headers: {
56090
+ [name: string]: unknown;
56091
+ };
56092
+ content?: never;
56093
+ };
56094
+ 400: components["responses"]["Error"];
56095
+ 403: components["responses"]["Error"];
56096
+ 404: components["responses"]["Error"];
56097
+ 409: components["responses"]["Error"];
56098
+ 503: components["responses"]["Error"];
56099
+ };
56100
+ };
54986
56101
  }