@opensoha/contracts 0.1.22 → 0.1.23

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.
@@ -1,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: Soha API
4
- version: 0.1.22
4
+ version: 0.1.23
5
5
  description: >
6
6
  Public OpenSoha core API contract. This first contract focuses on stable
7
7
  cross-repository boundaries: auth, health, runner-facing control-plane
@@ -7544,6 +7544,40 @@ paths:
7544
7544
  $ref: "#/components/responses/Error"
7545
7545
  "503":
7546
7546
  $ref: "#/components/responses/Error"
7547
+ post:
7548
+ tags:
7549
+ - Platform
7550
+ operationId: createKubernetesNamespace
7551
+ x-soha-permissions:
7552
+ mode: all
7553
+ keys:
7554
+ - platform.namespaces.create
7555
+ x-soha-implementation-status: implemented
7556
+ parameters:
7557
+ - $ref: "#/components/parameters/ClusterID"
7558
+ requestBody:
7559
+ required: true
7560
+ content:
7561
+ application/json:
7562
+ schema:
7563
+ $ref: "#/components/schemas/KubernetesNamespaceCreateInput"
7564
+ responses:
7565
+ "201":
7566
+ description: Kubernetes operation result.
7567
+ content:
7568
+ application/json:
7569
+ schema:
7570
+ $ref: "#/components/schemas/KubernetesNamespaceEnvelope"
7571
+ "400":
7572
+ $ref: "#/components/responses/Error"
7573
+ "403":
7574
+ $ref: "#/components/responses/Error"
7575
+ "404":
7576
+ $ref: "#/components/responses/Error"
7577
+ "409":
7578
+ $ref: "#/components/responses/Error"
7579
+ "503":
7580
+ $ref: "#/components/responses/Error"
7547
7581
  /clusters/{clusterID}/infrastructure/nodes:
7548
7582
  get:
7549
7583
  tags: [Platform]
@@ -9548,6 +9582,39 @@ paths:
9548
9582
  "403": { $ref: "#/components/responses/Error" }
9549
9583
  "404": { $ref: "#/components/responses/Error" }
9550
9584
  "503": { $ref: "#/components/responses/Error" }
9585
+ /clusters/{clusterID}/extensions/crds/{crdName}:
9586
+ delete:
9587
+ tags: [Platform]
9588
+ operationId: deleteKubernetesCustomResourceDefinition
9589
+ x-soha-permissions: { mode: all, keys: [platform.extensions.crds.delete] }
9590
+ x-soha-implementation-status: implemented
9591
+ description: Delete one cluster-scoped CRD definition and all of its custom resource instances. This does not uninstall its operator or Helm release. UID and resourceVersion preconditions protect against replacement; finalizers may delay removal.
9592
+ parameters:
9593
+ - $ref: "#/components/parameters/ClusterID"
9594
+ - $ref: "#/components/parameters/KubernetesCRDName"
9595
+ - name: expectedUid
9596
+ in: query
9597
+ required: true
9598
+ description: UID observed in the CRD catalog. A same-name replacement is rejected.
9599
+ schema: { type: string, minLength: 1, maxLength: 128 }
9600
+ responses:
9601
+ "204": { description: Deletion requested. Refresh the catalog to confirm disappearance; finalizers may still be pending. }
9602
+ "400": { $ref: "#/components/responses/Error" }
9603
+ "403": { $ref: "#/components/responses/Error" }
9604
+ "404": { $ref: "#/components/responses/Error" }
9605
+ "409": { $ref: "#/components/responses/Error" }
9606
+ "503": { $ref: "#/components/responses/Error" }
9607
+ /clusters/{clusterID}/extensions/crds/{crdName}/access:
9608
+ get:
9609
+ tags: [Platform]
9610
+ operationId: getKubernetesCustomResourceAccess
9611
+ x-soha-permissions: { mode: all, keys: [platform.extensions.view] }
9612
+ parameters: [{ $ref: "#/components/parameters/ClusterID" }, { $ref: "#/components/parameters/KubernetesCRDName" }, { $ref: "#/components/parameters/KubernetesNamespaceQuery" }]
9613
+ responses:
9614
+ "200": { description: Soha and runtime permissions for this custom resource collection., content: { application/json: { schema: { $ref: "#/components/schemas/KubernetesCustomResourceAccessEnvelope" } } } }
9615
+ "403": { $ref: "#/components/responses/Error" }
9616
+ "404": { $ref: "#/components/responses/Error" }
9617
+ "503": { $ref: "#/components/responses/Error" }
9551
9618
  /clusters/{clusterID}/extensions/crds/{crdName}/resources:
9552
9619
  get:
9553
9620
  tags: [Platform]
@@ -10193,6 +10260,65 @@ paths:
10193
10260
  $ref: "#/components/responses/Error"
10194
10261
  "409":
10195
10262
  $ref: "#/components/responses/Error"
10263
+ /clusters/{clusterID}/agent-upgrade:
10264
+ get:
10265
+ tags: [Platform]
10266
+ operationId: getClusterAgentUpgradeStatus
10267
+ description: Read the running Agent version and standard Agent Deployment rollout through the existing cluster connection.
10268
+ x-soha-permissions:
10269
+ mode: all
10270
+ keys: [platform.clusters.view]
10271
+ parameters:
10272
+ - $ref: "#/components/parameters/ClusterID"
10273
+ responses:
10274
+ "200":
10275
+ description: Agent version, recommended version bundled with this server, and rollout status. The recommendation is not a live latest-release lookup.
10276
+ content:
10277
+ application/json:
10278
+ schema:
10279
+ $ref: "#/components/schemas/ClusterAgentUpgradeStatusEnvelope"
10280
+ "400":
10281
+ $ref: "#/components/responses/Error"
10282
+ "403":
10283
+ $ref: "#/components/responses/Error"
10284
+ "404":
10285
+ $ref: "#/components/responses/Error"
10286
+ "409":
10287
+ $ref: "#/components/responses/Error"
10288
+ "503":
10289
+ $ref: "#/components/responses/Error"
10290
+ post:
10291
+ tags: [Platform]
10292
+ operationId: upgradeClusterAgent
10293
+ description: Update only the standard Agent container to an explicit official release version using the Agent connection. Kubernetes owns the rollout; HTTP 202 means the image update was accepted, not that rollout completed. Non-direct resource owners must use their owning delivery tool.
10294
+ x-soha-permissions:
10295
+ mode: all
10296
+ keys: [platform.clusters.update]
10297
+ parameters:
10298
+ - $ref: "#/components/parameters/ClusterID"
10299
+ requestBody:
10300
+ required: true
10301
+ content:
10302
+ application/json:
10303
+ schema:
10304
+ $ref: "#/components/schemas/ClusterAgentUpgradeInput"
10305
+ responses:
10306
+ "202":
10307
+ description: Image update accepted. Read upgrade status until the target version reconnects and rollout is healthy.
10308
+ content:
10309
+ application/json:
10310
+ schema:
10311
+ $ref: "#/components/schemas/ClusterAgentUpgradeResultEnvelope"
10312
+ "400":
10313
+ $ref: "#/components/responses/Error"
10314
+ "403":
10315
+ $ref: "#/components/responses/Error"
10316
+ "404":
10317
+ $ref: "#/components/responses/Error"
10318
+ "409":
10319
+ $ref: "#/components/responses/Error"
10320
+ "503":
10321
+ $ref: "#/components/responses/Error"
10196
10322
  /kubernetes/agent-installations/{installTicket}/manifest.yaml:
10197
10323
  get:
10198
10324
  tags: [Platform]
@@ -17740,6 +17866,141 @@ paths:
17740
17866
  schema: { $ref: "#/components/schemas/OperationStatus" }
17741
17867
  "403": { $ref: "#/components/responses/Error" }
17742
17868
  "404": { $ref: "#/components/responses/Error" }
17869
+ /network-access/proxy-instances:
17870
+ get:
17871
+ tags: [Network Access]
17872
+ operationId: listNetworkProxyInstances
17873
+ x-soha-permissions:
17874
+ mode: all
17875
+ keys: [network_access.proxy_instances.view]
17876
+ parameters:
17877
+ - { name: search, in: query, schema: { type: string, maxLength: 200 } }
17878
+ - { name: engine, in: query, schema: { $ref: "#/components/schemas/NetworkProxyEngine" } }
17879
+ - { name: limit, in: query, schema: { type: integer, minimum: 1, maximum: 200, default: 100 } }
17880
+ responses:
17881
+ "200":
17882
+ description: Registered server proxy instances and observed state.
17883
+ content:
17884
+ application/json:
17885
+ schema: { $ref: "#/components/schemas/NetworkProxyInstanceListEnvelope" }
17886
+ "403": { $ref: "#/components/responses/Error" }
17887
+ post:
17888
+ tags: [Network Access]
17889
+ operationId: createNetworkProxyInstance
17890
+ x-soha-permissions:
17891
+ mode: all
17892
+ keys: [network_access.proxy_instances.create]
17893
+ requestBody:
17894
+ required: true
17895
+ content:
17896
+ application/json:
17897
+ schema: { $ref: "#/components/schemas/NetworkProxyInstanceInput" }
17898
+ responses:
17899
+ "201":
17900
+ description: Created proxy instance. A separate one-time proxy runtime enrollment is required before it can report state.
17901
+ content:
17902
+ application/json:
17903
+ schema: { $ref: "#/components/schemas/NetworkProxyInstanceEnvelope" }
17904
+ "400": { $ref: "#/components/responses/Error" }
17905
+ "403": { $ref: "#/components/responses/Error" }
17906
+ "409": { $ref: "#/components/responses/Error" }
17907
+ /network-access/proxy-instances/{instanceID}:
17908
+ get:
17909
+ tags: [Network Access]
17910
+ operationId: getNetworkProxyInstance
17911
+ x-soha-permissions:
17912
+ mode: all
17913
+ keys: [network_access.proxy_instances.view]
17914
+ parameters:
17915
+ - { name: instanceID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17916
+ responses:
17917
+ "200":
17918
+ description: Proxy instance metadata. Configuration contents and controller credentials are excluded.
17919
+ content:
17920
+ application/json:
17921
+ schema: { $ref: "#/components/schemas/NetworkProxyInstanceEnvelope" }
17922
+ "403": { $ref: "#/components/responses/Error" }
17923
+ "404": { $ref: "#/components/responses/Error" }
17924
+ /network-access/proxy-instances/{instanceID}/configuration:
17925
+ put:
17926
+ tags: [Network Access]
17927
+ operationId: updateNetworkProxyConfiguration
17928
+ x-soha-permissions:
17929
+ mode: all
17930
+ keys: [network_access.proxy_instances.update]
17931
+ parameters:
17932
+ - { name: instanceID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17933
+ requestBody:
17934
+ required: true
17935
+ content:
17936
+ application/json:
17937
+ schema: { $ref: "#/components/schemas/NetworkProxyConfigurationInput" }
17938
+ responses:
17939
+ "200":
17940
+ description: Desired revision saved; runtime application is asynchronous. Configuration contents are not returned.
17941
+ content:
17942
+ application/json:
17943
+ schema: { $ref: "#/components/schemas/NetworkProxyInstanceEnvelope" }
17944
+ "400": { $ref: "#/components/responses/Error" }
17945
+ "403": { $ref: "#/components/responses/Error" }
17946
+ "404": { $ref: "#/components/responses/Error" }
17947
+ "409": { $ref: "#/components/responses/Error" }
17948
+ /network-access/proxy-instances/{instanceID}/traffic:
17949
+ get:
17950
+ tags: [Network Access]
17951
+ operationId: getNetworkProxyTraffic
17952
+ x-soha-permissions:
17953
+ mode: all
17954
+ keys: [network_access.proxy_instances.view]
17955
+ parameters:
17956
+ - { name: instanceID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17957
+ - { name: from, in: query, schema: { type: string, format: date-time } }
17958
+ - { name: to, in: query, schema: { type: string, format: date-time } }
17959
+ responses:
17960
+ "200":
17961
+ description: Bounded samples; speed is derived from adjacent cumulative counters within one runtime uptime epoch.
17962
+ content:
17963
+ application/json:
17964
+ schema: { $ref: "#/components/schemas/NetworkProxyTrafficEnvelope" }
17965
+ "400": { $ref: "#/components/responses/Error" }
17966
+ "403": { $ref: "#/components/responses/Error" }
17967
+ "404": { $ref: "#/components/responses/Error" }
17968
+ /network-access/proxy-instances/{instanceID}/connections:
17969
+ get:
17970
+ tags: [Network Access]
17971
+ operationId: getNetworkProxyConnections
17972
+ x-soha-permissions:
17973
+ mode: all
17974
+ keys: [network_access.proxy_connections.view]
17975
+ parameters:
17976
+ - { name: instanceID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17977
+ responses:
17978
+ "200":
17979
+ description: Latest short-lived connection snapshot, or an explicit unsupported/unavailable state.
17980
+ content:
17981
+ application/json:
17982
+ schema: { $ref: "#/components/schemas/NetworkProxyConnectionsEnvelope" }
17983
+ "403": { $ref: "#/components/responses/Error" }
17984
+ "404": { $ref: "#/components/responses/Error" }
17985
+ /network-access/proxy-instances/{instanceID}/connections/{connectionID}/close:
17986
+ post:
17987
+ tags: [Network Access]
17988
+ operationId: closeNetworkProxyConnection
17989
+ x-soha-permissions:
17990
+ mode: all
17991
+ keys: [network_access.proxy_connections.close]
17992
+ parameters:
17993
+ - { name: instanceID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17994
+ - { name: connectionID, in: path, required: true, schema: { type: string, minLength: 1, maxLength: 128 } }
17995
+ responses:
17996
+ "202":
17997
+ description: Expiring close command queued for the enrolled runtime. The action is audited.
17998
+ content:
17999
+ application/json:
18000
+ schema: { $ref: "#/components/schemas/NetworkProxyCloseCommandEnvelope" }
18001
+ "403": { $ref: "#/components/responses/Error" }
18002
+ "404": { $ref: "#/components/responses/Error" }
18003
+ "409": { $ref: "#/components/responses/Error" }
17743
18004
  /network-access/connection-options:
17744
18005
  get:
17745
18006
  tags: [Network Access]
@@ -18458,6 +18719,434 @@ paths:
18458
18719
  "400": { $ref: "#/components/responses/Error" }
18459
18720
  "403": { $ref: "#/components/responses/Error" }
18460
18721
  "404": { $ref: "#/components/responses/Error" }
18722
+ /clusters/{clusterID}/namespaces/{namespaceName}:
18723
+ put:
18724
+ tags:
18725
+ - Platform
18726
+ operationId: updateKubernetesNamespace
18727
+ x-soha-permissions:
18728
+ mode: all
18729
+ keys:
18730
+ - platform.namespaces.update
18731
+ x-soha-implementation-status: implemented
18732
+ parameters:
18733
+ - $ref: "#/components/parameters/ClusterID"
18734
+ - &a1
18735
+ name: namespaceName
18736
+ in: path
18737
+ required: true
18738
+ schema:
18739
+ type: string
18740
+ minLength: 1
18741
+ requestBody:
18742
+ required: true
18743
+ content:
18744
+ application/json:
18745
+ schema:
18746
+ $ref: "#/components/schemas/KubernetesNamespaceInput"
18747
+ responses:
18748
+ "200":
18749
+ description: Kubernetes operation result.
18750
+ content:
18751
+ application/json:
18752
+ schema:
18753
+ $ref: "#/components/schemas/KubernetesNamespaceEnvelope"
18754
+ "400":
18755
+ $ref: "#/components/responses/Error"
18756
+ "403":
18757
+ $ref: "#/components/responses/Error"
18758
+ "404":
18759
+ $ref: "#/components/responses/Error"
18760
+ "409":
18761
+ $ref: "#/components/responses/Error"
18762
+ "503":
18763
+ $ref: "#/components/responses/Error"
18764
+ delete:
18765
+ tags:
18766
+ - Platform
18767
+ operationId: deleteKubernetesNamespace
18768
+ x-soha-permissions:
18769
+ mode: all
18770
+ keys:
18771
+ - platform.namespaces.delete
18772
+ x-soha-implementation-status: implemented
18773
+ parameters:
18774
+ - $ref: "#/components/parameters/ClusterID"
18775
+ - *a1
18776
+ responses:
18777
+ "204":
18778
+ description: Operation completed.
18779
+ "400":
18780
+ $ref: "#/components/responses/Error"
18781
+ "403":
18782
+ $ref: "#/components/responses/Error"
18783
+ "404":
18784
+ $ref: "#/components/responses/Error"
18785
+ "409":
18786
+ $ref: "#/components/responses/Error"
18787
+ "503":
18788
+ $ref: "#/components/responses/Error"
18789
+ /clusters/{clusterID}/infrastructure/nodes/{nodeName}:
18790
+ put:
18791
+ tags:
18792
+ - Platform
18793
+ operationId: updateKubernetesNode
18794
+ x-soha-permissions:
18795
+ mode: all
18796
+ keys:
18797
+ - platform.nodes.update
18798
+ x-soha-implementation-status: implemented
18799
+ parameters:
18800
+ - $ref: "#/components/parameters/ClusterID"
18801
+ - $ref: "#/components/parameters/KubernetesNodeName"
18802
+ requestBody:
18803
+ required: true
18804
+ content:
18805
+ application/json:
18806
+ schema:
18807
+ $ref: "#/components/schemas/KubernetesNodeUpdateInput"
18808
+ responses:
18809
+ "200":
18810
+ description: Kubernetes operation result.
18811
+ content:
18812
+ application/json:
18813
+ schema:
18814
+ $ref: "#/components/schemas/KubernetesNodeDetailEnvelope"
18815
+ "400":
18816
+ $ref: "#/components/responses/Error"
18817
+ "403":
18818
+ $ref: "#/components/responses/Error"
18819
+ "404":
18820
+ $ref: "#/components/responses/Error"
18821
+ "409":
18822
+ $ref: "#/components/responses/Error"
18823
+ "503":
18824
+ $ref: "#/components/responses/Error"
18825
+ delete:
18826
+ tags:
18827
+ - Platform
18828
+ operationId: deleteKubernetesNode
18829
+ x-soha-permissions:
18830
+ mode: all
18831
+ keys:
18832
+ - platform.nodes.delete
18833
+ x-soha-implementation-status: implemented
18834
+ parameters:
18835
+ - $ref: "#/components/parameters/ClusterID"
18836
+ - $ref: "#/components/parameters/KubernetesNodeName"
18837
+ responses:
18838
+ "204":
18839
+ description: Operation completed.
18840
+ "400":
18841
+ $ref: "#/components/responses/Error"
18842
+ "403":
18843
+ $ref: "#/components/responses/Error"
18844
+ "404":
18845
+ $ref: "#/components/responses/Error"
18846
+ "409":
18847
+ $ref: "#/components/responses/Error"
18848
+ "503":
18849
+ $ref: "#/components/responses/Error"
18850
+ /clusters/{clusterID}/infrastructure/nodes/{nodeName}/schedulability:
18851
+ put:
18852
+ tags:
18853
+ - Platform
18854
+ operationId: setKubernetesNodeSchedulability
18855
+ x-soha-permissions:
18856
+ mode: all
18857
+ keys:
18858
+ - platform.nodes.update
18859
+ x-soha-implementation-status: implemented
18860
+ parameters:
18861
+ - $ref: "#/components/parameters/ClusterID"
18862
+ - $ref: "#/components/parameters/KubernetesNodeName"
18863
+ requestBody:
18864
+ required: true
18865
+ content:
18866
+ application/json:
18867
+ schema:
18868
+ $ref: "#/components/schemas/KubernetesNodeSchedulabilityInput"
18869
+ responses:
18870
+ "204":
18871
+ description: Operation completed.
18872
+ "400":
18873
+ $ref: "#/components/responses/Error"
18874
+ "403":
18875
+ $ref: "#/components/responses/Error"
18876
+ "404":
18877
+ $ref: "#/components/responses/Error"
18878
+ "409":
18879
+ $ref: "#/components/responses/Error"
18880
+ "503":
18881
+ $ref: "#/components/responses/Error"
18882
+ /clusters/{clusterID}/infrastructure/nodes/{nodeName}/drain:
18883
+ post:
18884
+ tags:
18885
+ - Platform
18886
+ operationId: drainKubernetesNode
18887
+ x-soha-permissions:
18888
+ mode: all
18889
+ keys:
18890
+ - platform.nodes.drain
18891
+ x-soha-implementation-status: implemented
18892
+ parameters:
18893
+ - $ref: "#/components/parameters/ClusterID"
18894
+ - $ref: "#/components/parameters/KubernetesNodeName"
18895
+ requestBody:
18896
+ required: true
18897
+ content:
18898
+ application/json:
18899
+ schema:
18900
+ $ref: "#/components/schemas/KubernetesNodeDrainInput"
18901
+ responses:
18902
+ "204":
18903
+ description: Operation completed.
18904
+ "400":
18905
+ $ref: "#/components/responses/Error"
18906
+ "403":
18907
+ $ref: "#/components/responses/Error"
18908
+ "404":
18909
+ $ref: "#/components/responses/Error"
18910
+ "409":
18911
+ $ref: "#/components/responses/Error"
18912
+ "503":
18913
+ $ref: "#/components/responses/Error"
18914
+ /clusters/{clusterID}/infrastructure/nodes/{nodeName}/yaml:
18915
+ get:
18916
+ tags:
18917
+ - Platform
18918
+ operationId: getKubernetesNodeYaml
18919
+ x-soha-permissions:
18920
+ mode: all
18921
+ keys:
18922
+ - platform.nodes.view
18923
+ x-soha-implementation-status: implemented
18924
+ parameters:
18925
+ - $ref: "#/components/parameters/ClusterID"
18926
+ - $ref: "#/components/parameters/KubernetesNodeName"
18927
+ responses:
18928
+ "200":
18929
+ description: Kubernetes operation result.
18930
+ content:
18931
+ application/json:
18932
+ schema:
18933
+ $ref: "#/components/schemas/KubernetesResourceYamlEnvelope"
18934
+ "400":
18935
+ $ref: "#/components/responses/Error"
18936
+ "403":
18937
+ $ref: "#/components/responses/Error"
18938
+ "404":
18939
+ $ref: "#/components/responses/Error"
18940
+ "409":
18941
+ $ref: "#/components/responses/Error"
18942
+ "503":
18943
+ $ref: "#/components/responses/Error"
18944
+ put:
18945
+ tags:
18946
+ - Platform
18947
+ operationId: applyKubernetesNodeYaml
18948
+ x-soha-permissions:
18949
+ mode: all
18950
+ keys:
18951
+ - platform.nodes.update
18952
+ x-soha-implementation-status: implemented
18953
+ parameters:
18954
+ - $ref: "#/components/parameters/ClusterID"
18955
+ - $ref: "#/components/parameters/KubernetesNodeName"
18956
+ requestBody:
18957
+ required: true
18958
+ content:
18959
+ application/json:
18960
+ schema:
18961
+ $ref: "#/components/schemas/KubernetesResourceYamlInput"
18962
+ responses:
18963
+ "200":
18964
+ description: Kubernetes operation result.
18965
+ content:
18966
+ application/json:
18967
+ schema:
18968
+ $ref: "#/components/schemas/KubernetesResourceYamlEnvelope"
18969
+ "400":
18970
+ $ref: "#/components/responses/Error"
18971
+ "403":
18972
+ $ref: "#/components/responses/Error"
18973
+ "404":
18974
+ $ref: "#/components/responses/Error"
18975
+ "409":
18976
+ $ref: "#/components/responses/Error"
18977
+ "503":
18978
+ $ref: "#/components/responses/Error"
18979
+ /clusters/{clusterID}/configuration/configmaps/{name}/data:
18980
+ put:
18981
+ tags:
18982
+ - Platform
18983
+ operationId: updateKubernetesConfigMapData
18984
+ x-soha-permissions:
18985
+ mode: all
18986
+ keys:
18987
+ - platform.configuration.config-maps.update
18988
+ x-soha-implementation-status: implemented
18989
+ parameters:
18990
+ - $ref: "#/components/parameters/ClusterID"
18991
+ - $ref: "#/components/parameters/KubernetesResourceName"
18992
+ - $ref: "#/components/parameters/KubernetesNamespaceQuery"
18993
+ requestBody:
18994
+ required: true
18995
+ content:
18996
+ application/json:
18997
+ schema:
18998
+ $ref: "#/components/schemas/KubernetesConfigMapDataInput"
18999
+ responses:
19000
+ "200":
19001
+ description: Kubernetes operation result.
19002
+ content:
19003
+ application/json:
19004
+ schema:
19005
+ $ref: "#/components/schemas/KubernetesConfigMapDetailEnvelope"
19006
+ "400":
19007
+ $ref: "#/components/responses/Error"
19008
+ "403":
19009
+ $ref: "#/components/responses/Error"
19010
+ "404":
19011
+ $ref: "#/components/responses/Error"
19012
+ "409":
19013
+ $ref: "#/components/responses/Error"
19014
+ "503":
19015
+ $ref: "#/components/responses/Error"
19016
+ /clusters/{clusterID}/configuration/secrets/{name}/detail:
19017
+ get:
19018
+ tags:
19019
+ - Platform
19020
+ operationId: getKubernetesSecretDetail
19021
+ x-soha-permissions:
19022
+ mode: all
19023
+ keys:
19024
+ - platform.configuration.secret-data.view
19025
+ - platform.configuration.secrets.view
19026
+ x-soha-implementation-status: implemented
19027
+ parameters:
19028
+ - $ref: "#/components/parameters/ClusterID"
19029
+ - $ref: "#/components/parameters/KubernetesResourceName"
19030
+ - $ref: "#/components/parameters/KubernetesNamespaceQuery"
19031
+ responses:
19032
+ "200":
19033
+ description: Kubernetes operation result.
19034
+ content:
19035
+ application/json:
19036
+ schema:
19037
+ $ref: "#/components/schemas/KubernetesSecretDetailEnvelope"
19038
+ "400":
19039
+ $ref: "#/components/responses/Error"
19040
+ "403":
19041
+ $ref: "#/components/responses/Error"
19042
+ "404":
19043
+ $ref: "#/components/responses/Error"
19044
+ "409":
19045
+ $ref: "#/components/responses/Error"
19046
+ "503":
19047
+ $ref: "#/components/responses/Error"
19048
+ /clusters/{clusterID}/configuration/secrets/{name}/data:
19049
+ put:
19050
+ tags:
19051
+ - Platform
19052
+ operationId: updateKubernetesSecretData
19053
+ x-soha-permissions:
19054
+ mode: all
19055
+ keys:
19056
+ - platform.configuration.secret-data.view
19057
+ - platform.configuration.secrets.update
19058
+ x-soha-implementation-status: implemented
19059
+ parameters:
19060
+ - $ref: "#/components/parameters/ClusterID"
19061
+ - $ref: "#/components/parameters/KubernetesResourceName"
19062
+ - $ref: "#/components/parameters/KubernetesNamespaceQuery"
19063
+ requestBody:
19064
+ required: true
19065
+ content:
19066
+ application/json:
19067
+ schema:
19068
+ $ref: "#/components/schemas/KubernetesSecretDataInput"
19069
+ responses:
19070
+ "200":
19071
+ description: Kubernetes operation result.
19072
+ content:
19073
+ application/json:
19074
+ schema:
19075
+ $ref: "#/components/schemas/KubernetesSecretDetailEnvelope"
19076
+ "400":
19077
+ $ref: "#/components/responses/Error"
19078
+ "403":
19079
+ $ref: "#/components/responses/Error"
19080
+ "404":
19081
+ $ref: "#/components/responses/Error"
19082
+ "409":
19083
+ $ref: "#/components/responses/Error"
19084
+ "503":
19085
+ $ref: "#/components/responses/Error"
19086
+ /clusters/{clusterID}/workloads/pods/{podName}:
19087
+ delete:
19088
+ tags:
19089
+ - Platform
19090
+ operationId: deleteKubernetesPod
19091
+ x-soha-permissions:
19092
+ mode: all
19093
+ keys:
19094
+ - platform.pods.delete
19095
+ x-soha-implementation-status: implemented
19096
+ parameters:
19097
+ - $ref: "#/components/parameters/ClusterID"
19098
+ - $ref: "#/components/parameters/KubernetesPodName"
19099
+ - $ref: "#/components/parameters/KubernetesNamespaceQuery"
19100
+ responses:
19101
+ "204":
19102
+ description: Operation completed.
19103
+ "400":
19104
+ $ref: "#/components/responses/Error"
19105
+ "403":
19106
+ $ref: "#/components/responses/Error"
19107
+ "404":
19108
+ $ref: "#/components/responses/Error"
19109
+ "409":
19110
+ $ref: "#/components/responses/Error"
19111
+ "503":
19112
+ $ref: "#/components/responses/Error"
19113
+ /clusters/{clusterID}/workloads/cronjobs/{cronJobName}/suspend:
19114
+ post:
19115
+ tags:
19116
+ - Platform
19117
+ operationId: setKubernetesCronJobSuspend
19118
+ x-soha-permissions:
19119
+ mode: all
19120
+ keys:
19121
+ - platform.workloads.cron-jobs.suspend
19122
+ x-soha-implementation-status: implemented
19123
+ parameters:
19124
+ - $ref: "#/components/parameters/ClusterID"
19125
+ - $ref: "#/components/parameters/KubernetesCronJobName"
19126
+ - $ref: "#/components/parameters/KubernetesNamespaceQuery"
19127
+ requestBody:
19128
+ required: true
19129
+ content:
19130
+ application/json:
19131
+ schema:
19132
+ $ref: "#/components/schemas/KubernetesCronJobSuspendInput"
19133
+ responses:
19134
+ "200":
19135
+ description: Kubernetes operation result.
19136
+ content:
19137
+ application/json:
19138
+ schema:
19139
+ $ref: "#/components/schemas/KubernetesCronJobDetailEnvelope"
19140
+ "400":
19141
+ $ref: "#/components/responses/Error"
19142
+ "403":
19143
+ $ref: "#/components/responses/Error"
19144
+ "404":
19145
+ $ref: "#/components/responses/Error"
19146
+ "409":
19147
+ $ref: "#/components/responses/Error"
19148
+ "503":
19149
+ $ref: "#/components/responses/Error"
18461
19150
  components:
18462
19151
  securitySchemes:
18463
19152
  bearerAuth: