@opensoha/contracts 0.1.9 → 0.1.11
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/README.md +1 -1
- package/auth/catalog_generated.go +3 -3
- package/auth/catalog_test.go +35 -0
- package/auth/permission-catalog.json +19 -151
- package/compat/json-schema-ecosystem-0.1.0.json +1 -1
- package/compat/openapi-loose-boundaries-0.1.0.json +1 -5
- package/fixtures/openapi/DockerHostAgentInstallation/invalid/missing-command.json +6 -0
- package/fixtures/openapi/DockerHostAgentInstallation/valid/installation.json +7 -0
- package/fixtures/openapi/IdentityProvider/invalid/missing-id.json +9 -0
- package/fixtures/openapi/IdentityProvider/valid/current.json +12 -0
- package/fixtures/openapi/IdentityProvider/valid/v0.1.9.json +14 -0
- package/fixtures/openapi/MenuEnvelope/invalid/missing-data.json +1 -0
- package/fixtures/openapi/MenuEnvelope/valid/menu.json +13 -0
- package/fixtures/openapi/MenuInput/invalid/missing-icon.json +5 -0
- package/fixtures/openapi/MenuInput/valid/top-level.json +12 -0
- package/fixtures/openapi/MenuListEnvelope/invalid/items-object.json +3 -0
- package/fixtures/openapi/MenuListEnvelope/valid/tree.json +27 -0
- package/fixtures/openapi/OIDCClient/invalid/missing-grant-types.json +9 -0
- package/fixtures/openapi/OIDCClient/valid/current.json +19 -0
- package/fixtures/openapi/OIDCClient/valid/v0.1.9.json +10 -0
- package/fixtures/openapi/OIDCClientInput/invalid/empty-rules.json +5 -0
- package/fixtures/openapi/OIDCClientInput/valid/regex.json +4 -0
- package/fixtures/openapi/OIDCClientInput/valid/strict.json +4 -0
- package/fixtures/openapi/OIDCClientInput/valid/v0.1.9.json +7 -0
- package/fixtures/openapi/ObservabilityContext/invalid/missing-time-range.json +6 -0
- package/fixtures/openapi/ObservabilityContext/valid/scoped.json +27 -0
- package/fixtures/openapi/ObservabilityDashboardImportResultEnvelope/valid/imported.json +28 -1
- package/fixtures/openapi/ObservabilityDashboardPanelQueryInput/invalid/missing-time-to.json +6 -0
- package/fixtures/openapi/ObservabilityDashboardPanelQueryInput/valid/variables.json +8 -0
- package/fixtures/openapi/ObservabilityMetricCatalogEnvelope/invalid/missing-availability.json +10 -0
- package/fixtures/openapi/ObservabilityMetricCatalogEnvelope/valid/catalog.json +13 -0
- package/fixtures/openapi/ObservabilityQueryResultMeta/invalid/missing-state.json +3 -0
- package/fixtures/openapi/ObservabilityQueryResultMeta/valid/partial.json +15 -0
- package/fixtures/openapi/ObservabilityQuerySnapshot/invalid/missing-context.json +5 -0
- package/fixtures/openapi/ObservabilityQuerySnapshot/valid/prometheus.json +22 -0
- package/fixtures/openapi/ObservabilityServiceEnvelope/invalid/missing-status.json +12 -0
- package/fixtures/openapi/ObservabilityServiceEnvelope/valid/service.json +29 -0
- package/fixtures/openapi/ObservabilityServiceListEnvelope/invalid/missing-meta.json +3 -0
- package/fixtures/openapi/ObservabilityServiceListEnvelope/valid/services.json +39 -0
- package/fixtures/openapi/ObservabilityTopologyEnvelope/invalid/missing-edge-status.json +10 -0
- package/fixtures/openapi/ObservabilityTopologyEnvelope/valid/topology.json +22 -0
- package/fixtures/openapi/ScopeGrantEnvelope/invalid/missing-id.json +13 -0
- package/fixtures/openapi/ScopeGrantEnvelope/valid/platform.json +15 -0
- package/fixtures/openapi/ScopeGrantInput/invalid/missing-subject.json +7 -0
- package/fixtures/openapi/ScopeGrantInput/valid/delivery.json +11 -0
- package/fixtures/openapi/ScopeGrantListEnvelope/invalid/unknown-scope.json +16 -0
- package/fixtures/openapi/ScopeGrantListEnvelope/valid/list.json +18 -0
- package/gen/go/sohaapi/client.go +1 -1
- package/gen/go/sohaapi/client_test.go +18 -0
- package/gen/go/sohaapi/types.go +958 -93
- package/gen/ts/sohaapi/index.ts +1170 -34
- package/go.mod +1 -1
- package/openapi/soha-api.json +2364 -49
- package/openapi/soha-api.yaml +1294 -37
- package/openapi/spec_generated.go +3 -3
- package/package.json +1 -1
package/openapi/soha-api.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: 3.1.0
|
|
2
2
|
info:
|
|
3
3
|
title: Soha API
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.11
|
|
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
|
|
@@ -3249,6 +3249,52 @@ paths:
|
|
|
3249
3249
|
schema: { $ref: "#/components/schemas/VirtualizationOperationEnvelope" }
|
|
3250
3250
|
"400": { $ref: "#/components/responses/Error" }
|
|
3251
3251
|
"403": { $ref: "#/components/responses/Error" }
|
|
3252
|
+
/docker/hosts/{dockerHostID}/agent-installation:
|
|
3253
|
+
post:
|
|
3254
|
+
tags: [Docker]
|
|
3255
|
+
operationId: createDockerHostAgentInstallation
|
|
3256
|
+
x-soha-implementation-status: implemented
|
|
3257
|
+
parameters:
|
|
3258
|
+
- name: dockerHostID
|
|
3259
|
+
in: path
|
|
3260
|
+
required: true
|
|
3261
|
+
schema: { type: string, minLength: 1 }
|
|
3262
|
+
responses:
|
|
3263
|
+
"200":
|
|
3264
|
+
description: Short-lived shell installer URL and command for connecting an existing Linux Docker host.
|
|
3265
|
+
content:
|
|
3266
|
+
application/json:
|
|
3267
|
+
schema:
|
|
3268
|
+
$ref: "#/components/schemas/DockerHostAgentInstallationEnvelope"
|
|
3269
|
+
"400":
|
|
3270
|
+
$ref: "#/components/responses/Error"
|
|
3271
|
+
"403":
|
|
3272
|
+
$ref: "#/components/responses/Error"
|
|
3273
|
+
"404":
|
|
3274
|
+
$ref: "#/components/responses/Error"
|
|
3275
|
+
"409":
|
|
3276
|
+
$ref: "#/components/responses/Error"
|
|
3277
|
+
/docker/agent-installations/{installTicket}/install.sh:
|
|
3278
|
+
get:
|
|
3279
|
+
tags: [Docker]
|
|
3280
|
+
operationId: downloadDockerHostAgentInstaller
|
|
3281
|
+
x-soha-implementation-status: implemented
|
|
3282
|
+
security: []
|
|
3283
|
+
parameters:
|
|
3284
|
+
- name: installTicket
|
|
3285
|
+
in: path
|
|
3286
|
+
required: true
|
|
3287
|
+
schema: { type: string, minLength: 1 }
|
|
3288
|
+
responses:
|
|
3289
|
+
"200":
|
|
3290
|
+
description: Short-lived Linux shell installer for the selected Docker host Agent.
|
|
3291
|
+
content:
|
|
3292
|
+
text/x-shellscript:
|
|
3293
|
+
schema: { type: string }
|
|
3294
|
+
"404":
|
|
3295
|
+
$ref: "#/components/responses/Error"
|
|
3296
|
+
"410":
|
|
3297
|
+
$ref: "#/components/responses/Error"
|
|
3252
3298
|
/docker/hosts/quick-create/plan:
|
|
3253
3299
|
post:
|
|
3254
3300
|
tags: [Docker]
|
|
@@ -5892,6 +5938,104 @@ paths:
|
|
|
5892
5938
|
$ref: "#/components/schemas/ObservabilityMetricDataSourceListEnvelope"
|
|
5893
5939
|
"403":
|
|
5894
5940
|
$ref: "#/components/responses/Error"
|
|
5941
|
+
/observability/metrics/catalog:
|
|
5942
|
+
get:
|
|
5943
|
+
tags: [Observability]
|
|
5944
|
+
operationId: listObservabilityMetricCatalog
|
|
5945
|
+
parameters:
|
|
5946
|
+
- $ref: "#/components/parameters/ObservabilityDataSourceIDQuery"
|
|
5947
|
+
responses:
|
|
5948
|
+
"200":
|
|
5949
|
+
description: Semantic metric definitions supported by the configured metrics provider.
|
|
5950
|
+
content:
|
|
5951
|
+
application/json:
|
|
5952
|
+
schema:
|
|
5953
|
+
$ref: "#/components/schemas/ObservabilityMetricCatalogEnvelope"
|
|
5954
|
+
"403":
|
|
5955
|
+
$ref: "#/components/responses/Error"
|
|
5956
|
+
"404":
|
|
5957
|
+
$ref: "#/components/responses/Error"
|
|
5958
|
+
/observability/services:
|
|
5959
|
+
get:
|
|
5960
|
+
tags: [Observability]
|
|
5961
|
+
operationId: listObservabilityServices
|
|
5962
|
+
parameters:
|
|
5963
|
+
- $ref: "#/components/parameters/ObservabilityDataSourceIDQuery"
|
|
5964
|
+
- $ref: "#/components/parameters/ObservabilityClusterIDQuery"
|
|
5965
|
+
- $ref: "#/components/parameters/ObservabilityEnvironmentQuery"
|
|
5966
|
+
- $ref: "#/components/parameters/ObservabilityNamespaceQuery"
|
|
5967
|
+
- $ref: "#/components/parameters/ObservabilityServiceQuery"
|
|
5968
|
+
- $ref: "#/components/parameters/ObservabilityTimeFromQuery"
|
|
5969
|
+
- $ref: "#/components/parameters/ObservabilityTimeToQuery"
|
|
5970
|
+
responses:
|
|
5971
|
+
"200":
|
|
5972
|
+
description: OTel-identified services from the configured SkyWalking OAP provider.
|
|
5973
|
+
content:
|
|
5974
|
+
application/json:
|
|
5975
|
+
schema:
|
|
5976
|
+
$ref: "#/components/schemas/ObservabilityServiceListEnvelope"
|
|
5977
|
+
"400":
|
|
5978
|
+
$ref: "#/components/responses/Error"
|
|
5979
|
+
"403":
|
|
5980
|
+
$ref: "#/components/responses/Error"
|
|
5981
|
+
"404":
|
|
5982
|
+
$ref: "#/components/responses/Error"
|
|
5983
|
+
"502":
|
|
5984
|
+
$ref: "#/components/responses/Error"
|
|
5985
|
+
/observability/services/{serviceID}:
|
|
5986
|
+
get:
|
|
5987
|
+
tags: [Observability]
|
|
5988
|
+
operationId: getObservabilityService
|
|
5989
|
+
parameters:
|
|
5990
|
+
- $ref: "#/components/parameters/ServiceID"
|
|
5991
|
+
- $ref: "#/components/parameters/ObservabilityDataSourceIDQuery"
|
|
5992
|
+
- $ref: "#/components/parameters/ObservabilityClusterIDQuery"
|
|
5993
|
+
- $ref: "#/components/parameters/ObservabilityEnvironmentQuery"
|
|
5994
|
+
- $ref: "#/components/parameters/ObservabilityNamespaceQuery"
|
|
5995
|
+
- $ref: "#/components/parameters/ObservabilityTimeFromQuery"
|
|
5996
|
+
- $ref: "#/components/parameters/ObservabilityTimeToQuery"
|
|
5997
|
+
responses:
|
|
5998
|
+
"200":
|
|
5999
|
+
description: Service identity, instances and endpoints from the configured SkyWalking OAP provider.
|
|
6000
|
+
content:
|
|
6001
|
+
application/json:
|
|
6002
|
+
schema:
|
|
6003
|
+
$ref: "#/components/schemas/ObservabilityServiceEnvelope"
|
|
6004
|
+
"400":
|
|
6005
|
+
$ref: "#/components/responses/Error"
|
|
6006
|
+
"403":
|
|
6007
|
+
$ref: "#/components/responses/Error"
|
|
6008
|
+
"404":
|
|
6009
|
+
$ref: "#/components/responses/Error"
|
|
6010
|
+
"502":
|
|
6011
|
+
$ref: "#/components/responses/Error"
|
|
6012
|
+
/observability/services/{serviceID}/topology:
|
|
6013
|
+
get:
|
|
6014
|
+
tags: [Observability]
|
|
6015
|
+
operationId: getObservabilityServiceTopology
|
|
6016
|
+
parameters:
|
|
6017
|
+
- $ref: "#/components/parameters/ServiceID"
|
|
6018
|
+
- $ref: "#/components/parameters/ObservabilityDataSourceIDQuery"
|
|
6019
|
+
- $ref: "#/components/parameters/ObservabilityClusterIDQuery"
|
|
6020
|
+
- $ref: "#/components/parameters/ObservabilityEnvironmentQuery"
|
|
6021
|
+
- $ref: "#/components/parameters/ObservabilityNamespaceQuery"
|
|
6022
|
+
- $ref: "#/components/parameters/ObservabilityTimeFromQuery"
|
|
6023
|
+
- $ref: "#/components/parameters/ObservabilityTimeToQuery"
|
|
6024
|
+
responses:
|
|
6025
|
+
"200":
|
|
6026
|
+
description: Beta dependency graph for one service from the configured SkyWalking OAP provider.
|
|
6027
|
+
content:
|
|
6028
|
+
application/json:
|
|
6029
|
+
schema:
|
|
6030
|
+
$ref: "#/components/schemas/ObservabilityTopologyEnvelope"
|
|
6031
|
+
"400":
|
|
6032
|
+
$ref: "#/components/responses/Error"
|
|
6033
|
+
"403":
|
|
6034
|
+
$ref: "#/components/responses/Error"
|
|
6035
|
+
"404":
|
|
6036
|
+
$ref: "#/components/responses/Error"
|
|
6037
|
+
"502":
|
|
6038
|
+
$ref: "#/components/responses/Error"
|
|
5895
6039
|
/observability/dashboards/imports:
|
|
5896
6040
|
post:
|
|
5897
6041
|
tags: [Observability]
|
|
@@ -10719,6 +10863,97 @@ paths:
|
|
|
10719
10863
|
"400": { $ref: "#/components/responses/Error" }
|
|
10720
10864
|
"401": { $ref: "#/components/responses/Error" }
|
|
10721
10865
|
"403": { $ref: "#/components/responses/Error" }
|
|
10866
|
+
/menus:
|
|
10867
|
+
get:
|
|
10868
|
+
tags: [System]
|
|
10869
|
+
operationId: listMenus
|
|
10870
|
+
x-soha-implementation-status: implemented
|
|
10871
|
+
responses:
|
|
10872
|
+
"200":
|
|
10873
|
+
description: Complete menu tree for administration.
|
|
10874
|
+
content:
|
|
10875
|
+
application/json:
|
|
10876
|
+
schema: { $ref: "#/components/schemas/MenuListEnvelope" }
|
|
10877
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10878
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
10879
|
+
post:
|
|
10880
|
+
tags: [System]
|
|
10881
|
+
operationId: createMenu
|
|
10882
|
+
x-soha-implementation-status: implemented
|
|
10883
|
+
requestBody:
|
|
10884
|
+
required: true
|
|
10885
|
+
content:
|
|
10886
|
+
application/json:
|
|
10887
|
+
schema: { $ref: "#/components/schemas/MenuInput" }
|
|
10888
|
+
responses:
|
|
10889
|
+
"201":
|
|
10890
|
+
description: Created menu.
|
|
10891
|
+
content:
|
|
10892
|
+
application/json:
|
|
10893
|
+
schema: { $ref: "#/components/schemas/MenuEnvelope" }
|
|
10894
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
10895
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10896
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
10897
|
+
/menus/visible:
|
|
10898
|
+
get:
|
|
10899
|
+
tags: [System]
|
|
10900
|
+
operationId: listVisibleMenus
|
|
10901
|
+
x-soha-implementation-status: implemented
|
|
10902
|
+
responses:
|
|
10903
|
+
"200":
|
|
10904
|
+
description: Menu tree visible to the authenticated principal.
|
|
10905
|
+
content:
|
|
10906
|
+
application/json:
|
|
10907
|
+
schema: { $ref: "#/components/schemas/MenuListEnvelope" }
|
|
10908
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10909
|
+
/menus/{menuID}:
|
|
10910
|
+
parameters:
|
|
10911
|
+
- $ref: "#/components/parameters/MenuID"
|
|
10912
|
+
get:
|
|
10913
|
+
tags: [System]
|
|
10914
|
+
operationId: getMenu
|
|
10915
|
+
x-soha-implementation-status: implemented
|
|
10916
|
+
responses:
|
|
10917
|
+
"200":
|
|
10918
|
+
description: Menu detail.
|
|
10919
|
+
content:
|
|
10920
|
+
application/json:
|
|
10921
|
+
schema: { $ref: "#/components/schemas/MenuEnvelope" }
|
|
10922
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10923
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
10924
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
10925
|
+
put:
|
|
10926
|
+
tags: [System]
|
|
10927
|
+
operationId: updateMenu
|
|
10928
|
+
x-soha-implementation-status: implemented
|
|
10929
|
+
requestBody:
|
|
10930
|
+
required: true
|
|
10931
|
+
content:
|
|
10932
|
+
application/json:
|
|
10933
|
+
schema: { $ref: "#/components/schemas/MenuInput" }
|
|
10934
|
+
responses:
|
|
10935
|
+
"200":
|
|
10936
|
+
description: Updated menu.
|
|
10937
|
+
content:
|
|
10938
|
+
application/json:
|
|
10939
|
+
schema: { $ref: "#/components/schemas/MenuEnvelope" }
|
|
10940
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
10941
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10942
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
10943
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
10944
|
+
delete:
|
|
10945
|
+
tags: [System]
|
|
10946
|
+
operationId: deleteMenu
|
|
10947
|
+
x-soha-implementation-status: implemented
|
|
10948
|
+
responses:
|
|
10949
|
+
"200":
|
|
10950
|
+
description: Menu deleted.
|
|
10951
|
+
content:
|
|
10952
|
+
application/json:
|
|
10953
|
+
schema: { $ref: "#/components/schemas/MenuDeleteResult" }
|
|
10954
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
10955
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
10956
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
10722
10957
|
/access/permissions:
|
|
10723
10958
|
get:
|
|
10724
10959
|
tags: [Access]
|
|
@@ -10805,6 +11040,69 @@ paths:
|
|
|
10805
11040
|
"401": { $ref: "#/components/responses/Error" }
|
|
10806
11041
|
"403": { $ref: "#/components/responses/Error" }
|
|
10807
11042
|
"404": { $ref: "#/components/responses/Error" }
|
|
11043
|
+
/access/scope-grants:
|
|
11044
|
+
get:
|
|
11045
|
+
tags: [Access]
|
|
11046
|
+
operationId: listScopeGrants
|
|
11047
|
+
x-soha-implementation-status: implemented
|
|
11048
|
+
responses:
|
|
11049
|
+
"200":
|
|
11050
|
+
description: Resource scope grants.
|
|
11051
|
+
content:
|
|
11052
|
+
application/json:
|
|
11053
|
+
schema: { $ref: "#/components/schemas/ScopeGrantListEnvelope" }
|
|
11054
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
11055
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
11056
|
+
post:
|
|
11057
|
+
tags: [Access]
|
|
11058
|
+
operationId: createScopeGrant
|
|
11059
|
+
x-soha-implementation-status: implemented
|
|
11060
|
+
requestBody:
|
|
11061
|
+
required: true
|
|
11062
|
+
content:
|
|
11063
|
+
application/json:
|
|
11064
|
+
schema: { $ref: "#/components/schemas/ScopeGrantInput" }
|
|
11065
|
+
responses:
|
|
11066
|
+
"201":
|
|
11067
|
+
description: Created resource scope grant.
|
|
11068
|
+
content:
|
|
11069
|
+
application/json:
|
|
11070
|
+
schema: { $ref: "#/components/schemas/ScopeGrantEnvelope" }
|
|
11071
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
11072
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
11073
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
11074
|
+
/access/scope-grants/{scopeGrantID}:
|
|
11075
|
+
parameters:
|
|
11076
|
+
- $ref: "#/components/parameters/ScopeGrantID"
|
|
11077
|
+
put:
|
|
11078
|
+
tags: [Access]
|
|
11079
|
+
operationId: updateScopeGrant
|
|
11080
|
+
x-soha-implementation-status: implemented
|
|
11081
|
+
requestBody:
|
|
11082
|
+
required: true
|
|
11083
|
+
content:
|
|
11084
|
+
application/json:
|
|
11085
|
+
schema: { $ref: "#/components/schemas/ScopeGrantInput" }
|
|
11086
|
+
responses:
|
|
11087
|
+
"200":
|
|
11088
|
+
description: Updated resource scope grant.
|
|
11089
|
+
content:
|
|
11090
|
+
application/json:
|
|
11091
|
+
schema: { $ref: "#/components/schemas/ScopeGrantEnvelope" }
|
|
11092
|
+
"400": { $ref: "#/components/responses/Error" }
|
|
11093
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
11094
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
11095
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
11096
|
+
delete:
|
|
11097
|
+
tags: [Access]
|
|
11098
|
+
operationId: deleteScopeGrant
|
|
11099
|
+
x-soha-implementation-status: implemented
|
|
11100
|
+
responses:
|
|
11101
|
+
"204":
|
|
11102
|
+
description: Resource scope grant deleted.
|
|
11103
|
+
"401": { $ref: "#/components/responses/Error" }
|
|
11104
|
+
"403": { $ref: "#/components/responses/Error" }
|
|
11105
|
+
"404": { $ref: "#/components/responses/Error" }
|
|
10808
11106
|
/identity/capabilities:
|
|
10809
11107
|
get:
|
|
10810
11108
|
tags: [Identity]
|
|
@@ -10938,6 +11236,25 @@ paths:
|
|
|
10938
11236
|
responses:
|
|
10939
11237
|
"204": { description: Identity provider deleted. }
|
|
10940
11238
|
"404": { $ref: "#/components/responses/IdentityError" }
|
|
11239
|
+
/identity/providers/{identityProviderID}/saml/certificate/rotate:
|
|
11240
|
+
parameters:
|
|
11241
|
+
- $ref: "#/components/parameters/IdentityProviderID"
|
|
11242
|
+
post:
|
|
11243
|
+
tags: [Identity]
|
|
11244
|
+
operationId: rotateIdentityProviderSAMLCertificate
|
|
11245
|
+
requestBody:
|
|
11246
|
+
required: true
|
|
11247
|
+
content:
|
|
11248
|
+
application/json:
|
|
11249
|
+
schema: { $ref: "#/components/schemas/SAMLCertificateRotateRequest" }
|
|
11250
|
+
responses:
|
|
11251
|
+
"200":
|
|
11252
|
+
description: Active and retiring public certificate summaries.
|
|
11253
|
+
content:
|
|
11254
|
+
application/json:
|
|
11255
|
+
schema: { $ref: "#/components/schemas/SAMLCertificateRotationEnvelope" }
|
|
11256
|
+
"400": { $ref: "#/components/responses/IdentityError" }
|
|
11257
|
+
"404": { $ref: "#/components/responses/IdentityError" }
|
|
10941
11258
|
/identity/policies:
|
|
10942
11259
|
get:
|
|
10943
11260
|
tags: [Identity]
|
|
@@ -11062,15 +11379,17 @@ paths:
|
|
|
11062
11379
|
get:
|
|
11063
11380
|
tags: [Identity]
|
|
11064
11381
|
operationId: listIdentityOIDCClients
|
|
11382
|
+
deprecated: true
|
|
11065
11383
|
responses:
|
|
11066
11384
|
"200":
|
|
11067
|
-
description: Identity OIDC clients.
|
|
11385
|
+
description: Identity OIDC clients across providers.
|
|
11068
11386
|
content:
|
|
11069
11387
|
application/json:
|
|
11070
11388
|
schema: { $ref: "#/components/schemas/OIDCClientListEnvelope" }
|
|
11071
11389
|
post:
|
|
11072
11390
|
tags: [Identity]
|
|
11073
11391
|
operationId: createIdentityOIDCClient
|
|
11392
|
+
deprecated: true
|
|
11074
11393
|
requestBody:
|
|
11075
11394
|
required: true
|
|
11076
11395
|
content:
|
|
@@ -11078,11 +11397,38 @@ paths:
|
|
|
11078
11397
|
schema: { $ref: "#/components/schemas/OIDCClientInput" }
|
|
11079
11398
|
responses:
|
|
11080
11399
|
"201":
|
|
11081
|
-
description: Created OIDC client.
|
|
11400
|
+
description: Created OIDC client without the one-time client secret.
|
|
11082
11401
|
content:
|
|
11083
11402
|
application/json:
|
|
11084
11403
|
schema: { $ref: "#/components/schemas/OIDCClientEnvelope" }
|
|
11085
11404
|
"400": { $ref: "#/components/responses/IdentityError" }
|
|
11405
|
+
/identity/providers/{identityProviderID}/oidc-clients:
|
|
11406
|
+
parameters:
|
|
11407
|
+
- $ref: "#/components/parameters/IdentityProviderID"
|
|
11408
|
+
get:
|
|
11409
|
+
tags: [Identity]
|
|
11410
|
+
operationId: listIdentityProviderOIDCClients
|
|
11411
|
+
responses:
|
|
11412
|
+
"200":
|
|
11413
|
+
description: Identity OIDC clients.
|
|
11414
|
+
content:
|
|
11415
|
+
application/json:
|
|
11416
|
+
schema: { $ref: "#/components/schemas/OIDCClientListEnvelope" }
|
|
11417
|
+
post:
|
|
11418
|
+
tags: [Identity]
|
|
11419
|
+
operationId: createIdentityProviderOIDCClient
|
|
11420
|
+
requestBody:
|
|
11421
|
+
required: true
|
|
11422
|
+
content:
|
|
11423
|
+
application/json:
|
|
11424
|
+
schema: { $ref: "#/components/schemas/OIDCClientInput" }
|
|
11425
|
+
responses:
|
|
11426
|
+
"201":
|
|
11427
|
+
description: Created OIDC client.
|
|
11428
|
+
content:
|
|
11429
|
+
application/json:
|
|
11430
|
+
schema: { $ref: "#/components/schemas/OIDCClientCreatedEnvelope" }
|
|
11431
|
+
"400": { $ref: "#/components/responses/IdentityError" }
|
|
11086
11432
|
/identity/oidc-clients/{oidcClientID}:
|
|
11087
11433
|
parameters:
|
|
11088
11434
|
- $ref: "#/components/parameters/OIDCClientID"
|
|
@@ -11609,13 +11955,23 @@ components:
|
|
|
11609
11955
|
name: x-api-key
|
|
11610
11956
|
description: Anthropic-style Soha PAT/SAT credential header for native relay endpoints.
|
|
11611
11957
|
parameters:
|
|
11958
|
+
MenuID:
|
|
11959
|
+
name: menuID
|
|
11960
|
+
in: path
|
|
11961
|
+
required: true
|
|
11962
|
+
schema: { type: string, minLength: 1, maxLength: 128 }
|
|
11612
11963
|
AccessRoleID:
|
|
11613
11964
|
name: accessRoleID
|
|
11614
11965
|
in: path
|
|
11615
11966
|
required: true
|
|
11616
11967
|
schema: { type: string, minLength: 1, maxLength: 128 }
|
|
11617
|
-
|
|
11618
|
-
name:
|
|
11968
|
+
ScopeGrantID:
|
|
11969
|
+
name: scopeGrantID
|
|
11970
|
+
in: path
|
|
11971
|
+
required: true
|
|
11972
|
+
schema: { type: string, minLength: 1, maxLength: 128 }
|
|
11973
|
+
IdentityApplicationID:
|
|
11974
|
+
name: identityApplicationID
|
|
11619
11975
|
in: path
|
|
11620
11976
|
required: true
|
|
11621
11977
|
schema: { type: string, minLength: 1, maxLength: 128 }
|
|
@@ -11918,6 +12274,60 @@ components:
|
|
|
11918
12274
|
type: string
|
|
11919
12275
|
minLength: 1
|
|
11920
12276
|
maxLength: 128
|
|
12277
|
+
ObservabilityDataSourceIDQuery:
|
|
12278
|
+
name: dataSourceId
|
|
12279
|
+
in: query
|
|
12280
|
+
required: false
|
|
12281
|
+
schema:
|
|
12282
|
+
type: string
|
|
12283
|
+
minLength: 1
|
|
12284
|
+
maxLength: 200
|
|
12285
|
+
ObservabilityClusterIDQuery:
|
|
12286
|
+
name: clusterId
|
|
12287
|
+
in: query
|
|
12288
|
+
required: false
|
|
12289
|
+
schema:
|
|
12290
|
+
type: string
|
|
12291
|
+
minLength: 1
|
|
12292
|
+
maxLength: 128
|
|
12293
|
+
ObservabilityEnvironmentQuery:
|
|
12294
|
+
name: environment
|
|
12295
|
+
in: query
|
|
12296
|
+
required: false
|
|
12297
|
+
schema:
|
|
12298
|
+
type: string
|
|
12299
|
+
minLength: 1
|
|
12300
|
+
maxLength: 128
|
|
12301
|
+
ObservabilityNamespaceQuery:
|
|
12302
|
+
name: namespace
|
|
12303
|
+
in: query
|
|
12304
|
+
required: false
|
|
12305
|
+
schema:
|
|
12306
|
+
type: string
|
|
12307
|
+
minLength: 1
|
|
12308
|
+
maxLength: 253
|
|
12309
|
+
ObservabilityServiceQuery:
|
|
12310
|
+
name: service
|
|
12311
|
+
in: query
|
|
12312
|
+
required: false
|
|
12313
|
+
schema:
|
|
12314
|
+
type: string
|
|
12315
|
+
minLength: 1
|
|
12316
|
+
maxLength: 253
|
|
12317
|
+
ObservabilityTimeFromQuery:
|
|
12318
|
+
name: timeFrom
|
|
12319
|
+
in: query
|
|
12320
|
+
required: true
|
|
12321
|
+
schema:
|
|
12322
|
+
type: string
|
|
12323
|
+
format: date-time
|
|
12324
|
+
ObservabilityTimeToQuery:
|
|
12325
|
+
name: timeTo
|
|
12326
|
+
in: query
|
|
12327
|
+
required: true
|
|
12328
|
+
schema:
|
|
12329
|
+
type: string
|
|
12330
|
+
format: date-time
|
|
11921
12331
|
DashboardID:
|
|
11922
12332
|
name: dashboardID
|
|
11923
12333
|
in: path
|
|
@@ -12584,22 +12994,92 @@ components:
|
|
|
12584
12994
|
id: { type: string }
|
|
12585
12995
|
providerId: { type: string }
|
|
12586
12996
|
clientId: { type: string }
|
|
12587
|
-
|
|
12588
|
-
|
|
12997
|
+
clientType: { type: string, enum: [public, confidential] }
|
|
12998
|
+
redirectUris:
|
|
12999
|
+
type: array
|
|
13000
|
+
description: Strict-match absolute HTTP or HTTPS redirect URIs. HTTPS is recommended for production deployments.
|
|
13001
|
+
items: { type: string, format: uri }
|
|
13002
|
+
grantTypes:
|
|
13003
|
+
type: array
|
|
13004
|
+
deprecated: true
|
|
13005
|
+
description: Deprecated response alias retained for 0.1.x compatibility; use allowedGrantTypes.
|
|
13006
|
+
items: { type: string, enum: [authorization_code, refresh_token] }
|
|
13007
|
+
redirectUriRegexes:
|
|
13008
|
+
type: array
|
|
13009
|
+
maxItems: 100
|
|
13010
|
+
description: RE2 regular expressions matched against the complete absolute HTTP or HTTPS redirect URI. Evaluated in addition to redirectUris.
|
|
13011
|
+
items: { type: string, minLength: 1, maxLength: 2048 }
|
|
13012
|
+
postLogoutRedirectUris:
|
|
13013
|
+
type: array
|
|
13014
|
+
description: Absolute HTTP or HTTPS post-logout redirect URIs. HTTPS is recommended for production deployments.
|
|
13015
|
+
items: { type: string, format: uri }
|
|
13016
|
+
allowedScopes: { type: array, items: { type: string } }
|
|
13017
|
+
allowedGrantTypes: { type: array, items: { type: string, enum: [authorization_code, refresh_token] } }
|
|
13018
|
+
requirePkce: { type: boolean }
|
|
13019
|
+
accessTokenTtlSeconds: { type: integer, minimum: 60 }
|
|
13020
|
+
idTokenTtlSeconds: { type: integer, minimum: 60 }
|
|
13021
|
+
refreshTokenTtlSeconds: { type: integer, minimum: 0 }
|
|
12589
13022
|
status: { $ref: "#/components/schemas/IdentityResourceStatus" }
|
|
12590
13023
|
createdAt: { type: string, format: date-time }
|
|
12591
13024
|
updatedAt: { type: string, format: date-time }
|
|
12592
13025
|
additionalProperties: false
|
|
12593
13026
|
OIDCClientInput:
|
|
13027
|
+
allOf:
|
|
13028
|
+
- type: object
|
|
13029
|
+
required: [clientId]
|
|
13030
|
+
properties:
|
|
13031
|
+
providerId: { type: string }
|
|
13032
|
+
clientId: { type: string }
|
|
13033
|
+
clientType: { type: string, enum: [public, confidential] }
|
|
13034
|
+
clientSecret: { type: string, minLength: 16, writeOnly: true }
|
|
13035
|
+
redirectUris:
|
|
13036
|
+
type: array
|
|
13037
|
+
description: Strict-match absolute HTTP or HTTPS redirect URIs. At least one redirectUris or redirectUriRegexes entry is required. HTTPS is recommended for production deployments.
|
|
13038
|
+
items: { type: string, format: uri }
|
|
13039
|
+
redirectUriRegexes:
|
|
13040
|
+
type: array
|
|
13041
|
+
maxItems: 100
|
|
13042
|
+
description: RE2 regular expressions matched against the complete absolute HTTP or HTTPS redirect URI. At least one redirectUris or redirectUriRegexes entry is required.
|
|
13043
|
+
items: { type: string, minLength: 1, maxLength: 2048 }
|
|
13044
|
+
postLogoutRedirectUris:
|
|
13045
|
+
type: array
|
|
13046
|
+
description: Absolute HTTP or HTTPS post-logout redirect URIs. HTTPS is recommended for production deployments.
|
|
13047
|
+
items: { type: string, format: uri }
|
|
13048
|
+
allowedScopes: { type: array, minItems: 1, items: { type: string } }
|
|
13049
|
+
grantTypes:
|
|
13050
|
+
type: array
|
|
13051
|
+
minItems: 1
|
|
13052
|
+
deprecated: true
|
|
13053
|
+
description: Deprecated request alias retained for 0.1.x compatibility; use allowedGrantTypes.
|
|
13054
|
+
items: { type: string, enum: [authorization_code, refresh_token] }
|
|
13055
|
+
allowedGrantTypes: { type: array, minItems: 1, items: { type: string, enum: [authorization_code, refresh_token] } }
|
|
13056
|
+
requirePkce: { type: boolean }
|
|
13057
|
+
accessTokenTtlSeconds: { type: integer, minimum: 0 }
|
|
13058
|
+
idTokenTtlSeconds: { type: integer, minimum: 0 }
|
|
13059
|
+
refreshTokenTtlSeconds: { type: integer, minimum: 0 }
|
|
13060
|
+
status: { $ref: "#/components/schemas/IdentityResourceStatus" }
|
|
13061
|
+
additionalProperties: false
|
|
13062
|
+
- anyOf:
|
|
13063
|
+
- type: object
|
|
13064
|
+
required: [redirectUris]
|
|
13065
|
+
properties:
|
|
13066
|
+
redirectUris: { type: array, minItems: 1, items: { type: string, format: uri } }
|
|
13067
|
+
- type: object
|
|
13068
|
+
required: [redirectUriRegexes]
|
|
13069
|
+
properties:
|
|
13070
|
+
redirectUriRegexes: { type: array, minItems: 1, items: { type: string, minLength: 1, maxLength: 2048 } }
|
|
13071
|
+
OIDCClientCreated:
|
|
12594
13072
|
type: object
|
|
12595
|
-
required: [
|
|
13073
|
+
required: [client]
|
|
12596
13074
|
properties:
|
|
12597
|
-
|
|
12598
|
-
|
|
12599
|
-
|
|
12600
|
-
|
|
12601
|
-
|
|
12602
|
-
|
|
13075
|
+
client: { $ref: "#/components/schemas/OIDCClient" }
|
|
13076
|
+
clientSecret: { type: string, writeOnly: true }
|
|
13077
|
+
additionalProperties: false
|
|
13078
|
+
OIDCClientCreatedEnvelope:
|
|
13079
|
+
type: object
|
|
13080
|
+
required: [data]
|
|
13081
|
+
properties:
|
|
13082
|
+
data: { $ref: "#/components/schemas/OIDCClientCreated" }
|
|
12603
13083
|
additionalProperties: false
|
|
12604
13084
|
OIDCClientEnvelope:
|
|
12605
13085
|
type: object
|
|
@@ -12618,7 +13098,11 @@ components:
|
|
|
12618
13098
|
required: [entityId, acsUrls, nameIdFormat, wantAuthnRequestsSigned, wantAssertionsSigned, attributeMappings]
|
|
12619
13099
|
properties:
|
|
12620
13100
|
entityId: { type: string, minLength: 1 }
|
|
12621
|
-
acsUrls:
|
|
13101
|
+
acsUrls:
|
|
13102
|
+
type: array
|
|
13103
|
+
minItems: 1
|
|
13104
|
+
description: Absolute HTTP or HTTPS assertion consumer service URLs. HTTPS is recommended for production deployments.
|
|
13105
|
+
items: { type: string, format: uri }
|
|
12622
13106
|
nameIdFormat: { $ref: "#/components/schemas/SAMLNameIDFormat" }
|
|
12623
13107
|
spCertificates: { type: array, items: { $ref: "#/components/schemas/CertificateSummary" } }
|
|
12624
13108
|
signingCertificates: { type: array, items: { $ref: "#/components/schemas/CertificateSummary" } }
|
|
@@ -12631,7 +13115,11 @@ components:
|
|
|
12631
13115
|
required: [entityId, acsUrls, nameIdFormat, wantAuthnRequestsSigned, attributeMappings]
|
|
12632
13116
|
properties:
|
|
12633
13117
|
entityId: { type: string, minLength: 1 }
|
|
12634
|
-
acsUrls:
|
|
13118
|
+
acsUrls:
|
|
13119
|
+
type: array
|
|
13120
|
+
minItems: 1
|
|
13121
|
+
description: Absolute HTTP or HTTPS assertion consumer service URLs. HTTPS is recommended for production deployments.
|
|
13122
|
+
items: { type: string, format: uri }
|
|
12635
13123
|
nameIdFormat: { $ref: "#/components/schemas/SAMLNameIDFormat" }
|
|
12636
13124
|
spCertificatePem: { type: string, writeOnly: true }
|
|
12637
13125
|
wantAuthnRequestsSigned: { type: boolean }
|
|
@@ -12646,8 +13134,20 @@ components:
|
|
|
12646
13134
|
name: { type: string }
|
|
12647
13135
|
type: { $ref: "#/components/schemas/IdentityProviderType" }
|
|
12648
13136
|
enabled: { type: boolean }
|
|
12649
|
-
config:
|
|
12650
|
-
|
|
13137
|
+
config:
|
|
13138
|
+
type: object
|
|
13139
|
+
description: Non-secret provider configuration.
|
|
13140
|
+
additionalProperties: true
|
|
13141
|
+
secretRefs:
|
|
13142
|
+
type: object
|
|
13143
|
+
readOnly: true
|
|
13144
|
+
deprecated: true
|
|
13145
|
+
description: Deprecated response field retained for 0.1.x SDK compatibility; current servers omit it.
|
|
13146
|
+
additionalProperties: true
|
|
13147
|
+
configuredSecretAliases:
|
|
13148
|
+
type: array
|
|
13149
|
+
readOnly: true
|
|
13150
|
+
items: { type: string }
|
|
12651
13151
|
status: { $ref: "#/components/schemas/IdentityResourceStatus" }
|
|
12652
13152
|
createdBy: { type: string }
|
|
12653
13153
|
updatedBy: { type: string }
|
|
@@ -12656,14 +13156,18 @@ components:
|
|
|
12656
13156
|
additionalProperties: false
|
|
12657
13157
|
IdentityProviderInput:
|
|
12658
13158
|
type: object
|
|
12659
|
-
required: [applicationId, name, type, enabled, config,
|
|
13159
|
+
required: [applicationId, name, type, enabled, config, status]
|
|
12660
13160
|
properties:
|
|
12661
13161
|
applicationId: { type: string }
|
|
12662
13162
|
name: { type: string, minLength: 1, maxLength: 200 }
|
|
12663
13163
|
type: { $ref: "#/components/schemas/IdentityProviderType" }
|
|
12664
13164
|
enabled: { type: boolean }
|
|
12665
13165
|
config: { type: object, additionalProperties: true }
|
|
12666
|
-
secretRefs:
|
|
13166
|
+
secretRefs:
|
|
13167
|
+
allOf:
|
|
13168
|
+
- $ref: "#/components/schemas/SecretReferenceMap"
|
|
13169
|
+
writeOnly: true
|
|
13170
|
+
description: Omit on update to preserve existing references; send an empty object to clear them.
|
|
12667
13171
|
status: { $ref: "#/components/schemas/IdentityResourceStatus" }
|
|
12668
13172
|
additionalProperties: false
|
|
12669
13173
|
IdentityProviderEnvelope:
|
|
@@ -14047,6 +14551,65 @@ components:
|
|
|
14047
14551
|
items:
|
|
14048
14552
|
$ref: "#/components/schemas/AnyValue"
|
|
14049
14553
|
additionalProperties: false
|
|
14554
|
+
Menu:
|
|
14555
|
+
type: object
|
|
14556
|
+
required: [id, path, labelZh, labelEn, iconKey, section, sortOrder, enabled]
|
|
14557
|
+
properties:
|
|
14558
|
+
id: { type: string, minLength: 1 }
|
|
14559
|
+
parentId: { type: string, minLength: 1 }
|
|
14560
|
+
path: { type: string, minLength: 1 }
|
|
14561
|
+
labelZh: { type: string, minLength: 1 }
|
|
14562
|
+
labelEn: { type: string, minLength: 1 }
|
|
14563
|
+
iconKey: { type: string, minLength: 1 }
|
|
14564
|
+
section: { type: string }
|
|
14565
|
+
sortOrder: { type: integer }
|
|
14566
|
+
enabled: { type: boolean }
|
|
14567
|
+
roleIds:
|
|
14568
|
+
type: array
|
|
14569
|
+
uniqueItems: true
|
|
14570
|
+
items: { type: string, minLength: 1 }
|
|
14571
|
+
children:
|
|
14572
|
+
type: array
|
|
14573
|
+
items: { $ref: "#/components/schemas/Menu" }
|
|
14574
|
+
additionalProperties: false
|
|
14575
|
+
MenuInput:
|
|
14576
|
+
type: object
|
|
14577
|
+
required: [path, labelZh, labelEn, iconKey]
|
|
14578
|
+
properties:
|
|
14579
|
+
id: { type: string, minLength: 1 }
|
|
14580
|
+
parentId: { type: string, minLength: 1, nullable: true }
|
|
14581
|
+
path: { type: string, minLength: 1 }
|
|
14582
|
+
labelZh: { type: string, minLength: 1 }
|
|
14583
|
+
labelEn: { type: string, minLength: 1 }
|
|
14584
|
+
iconKey: { type: string, minLength: 1 }
|
|
14585
|
+
section: { type: string }
|
|
14586
|
+
sortOrder: { type: integer }
|
|
14587
|
+
enabled: { type: boolean }
|
|
14588
|
+
roleIds:
|
|
14589
|
+
type: array
|
|
14590
|
+
uniqueItems: true
|
|
14591
|
+
items: { type: string, minLength: 1 }
|
|
14592
|
+
additionalProperties: false
|
|
14593
|
+
MenuEnvelope:
|
|
14594
|
+
type: object
|
|
14595
|
+
required: [data]
|
|
14596
|
+
properties:
|
|
14597
|
+
data: { $ref: "#/components/schemas/Menu" }
|
|
14598
|
+
additionalProperties: false
|
|
14599
|
+
MenuListEnvelope:
|
|
14600
|
+
type: object
|
|
14601
|
+
required: [items]
|
|
14602
|
+
properties:
|
|
14603
|
+
items:
|
|
14604
|
+
type: array
|
|
14605
|
+
items: { $ref: "#/components/schemas/Menu" }
|
|
14606
|
+
additionalProperties: false
|
|
14607
|
+
MenuDeleteResult:
|
|
14608
|
+
type: object
|
|
14609
|
+
required: [status]
|
|
14610
|
+
properties:
|
|
14611
|
+
status: { type: string, const: ok }
|
|
14612
|
+
additionalProperties: false
|
|
14050
14613
|
PermissionRiskLevel:
|
|
14051
14614
|
type: string
|
|
14052
14615
|
enum: [read, mutate, execute, high]
|
|
@@ -14162,6 +14725,117 @@ components:
|
|
|
14162
14725
|
properties:
|
|
14163
14726
|
status: { type: string, const: ok }
|
|
14164
14727
|
additionalProperties: false
|
|
14728
|
+
ScopeGrantSubjectType:
|
|
14729
|
+
type: string
|
|
14730
|
+
enum: [user, team]
|
|
14731
|
+
ScopeGrantType:
|
|
14732
|
+
type: string
|
|
14733
|
+
enum: [legacy, delivery, platform]
|
|
14734
|
+
ScopeGrantEffect:
|
|
14735
|
+
type: string
|
|
14736
|
+
enum: [allow, deny]
|
|
14737
|
+
ScopeGrant:
|
|
14738
|
+
type: object
|
|
14739
|
+
required: [id, subjectType, subjectId, businessLineId, scopeType, role, effect, enabled, createdAt, updatedAt]
|
|
14740
|
+
properties:
|
|
14741
|
+
id: { type: string, minLength: 1 }
|
|
14742
|
+
subjectType: { $ref: "#/components/schemas/ScopeGrantSubjectType" }
|
|
14743
|
+
subjectId: { type: string, minLength: 1 }
|
|
14744
|
+
businessLineId:
|
|
14745
|
+
type: string
|
|
14746
|
+
description: Required for legacy and delivery grants; empty for platform grants.
|
|
14747
|
+
environmentIds:
|
|
14748
|
+
type: array
|
|
14749
|
+
uniqueItems: true
|
|
14750
|
+
items: { type: string, minLength: 1 }
|
|
14751
|
+
applicationIds:
|
|
14752
|
+
type: array
|
|
14753
|
+
uniqueItems: true
|
|
14754
|
+
items: { type: string, minLength: 1 }
|
|
14755
|
+
scopeType: { $ref: "#/components/schemas/ScopeGrantType" }
|
|
14756
|
+
clusterIds:
|
|
14757
|
+
type: array
|
|
14758
|
+
uniqueItems: true
|
|
14759
|
+
items: { type: string, minLength: 1 }
|
|
14760
|
+
namespaces:
|
|
14761
|
+
type: array
|
|
14762
|
+
uniqueItems: true
|
|
14763
|
+
items: { type: string, minLength: 1 }
|
|
14764
|
+
namespaceSelector: { type: string }
|
|
14765
|
+
resourceGroups:
|
|
14766
|
+
type: array
|
|
14767
|
+
uniqueItems: true
|
|
14768
|
+
items: { type: string, minLength: 1 }
|
|
14769
|
+
resourceKinds:
|
|
14770
|
+
type: array
|
|
14771
|
+
uniqueItems: true
|
|
14772
|
+
items: { type: string, minLength: 1 }
|
|
14773
|
+
role: { type: string, minLength: 1 }
|
|
14774
|
+
effect: { $ref: "#/components/schemas/ScopeGrantEffect" }
|
|
14775
|
+
enabled: { type: boolean }
|
|
14776
|
+
createdAt: { type: string, format: date-time }
|
|
14777
|
+
updatedAt: { type: string, format: date-time }
|
|
14778
|
+
additionalProperties: false
|
|
14779
|
+
ScopeGrantInput:
|
|
14780
|
+
type: object
|
|
14781
|
+
required: [subjectType, subjectId, role, enabled]
|
|
14782
|
+
properties:
|
|
14783
|
+
id: { type: string, minLength: 1 }
|
|
14784
|
+
subjectType: { $ref: "#/components/schemas/ScopeGrantSubjectType" }
|
|
14785
|
+
subjectId: { type: string, minLength: 1 }
|
|
14786
|
+
businessLineId:
|
|
14787
|
+
type: string
|
|
14788
|
+
description: Required when scopeType is legacy or delivery.
|
|
14789
|
+
environmentIds:
|
|
14790
|
+
type: array
|
|
14791
|
+
uniqueItems: true
|
|
14792
|
+
items: { type: string, minLength: 1 }
|
|
14793
|
+
applicationIds:
|
|
14794
|
+
type: array
|
|
14795
|
+
uniqueItems: true
|
|
14796
|
+
items: { type: string, minLength: 1 }
|
|
14797
|
+
scopeType:
|
|
14798
|
+
allOf:
|
|
14799
|
+
- $ref: "#/components/schemas/ScopeGrantType"
|
|
14800
|
+
default: legacy
|
|
14801
|
+
clusterIds:
|
|
14802
|
+
type: array
|
|
14803
|
+
minItems: 1
|
|
14804
|
+
uniqueItems: true
|
|
14805
|
+
description: Required when scopeType is platform.
|
|
14806
|
+
items: { type: string, minLength: 1 }
|
|
14807
|
+
namespaces:
|
|
14808
|
+
type: array
|
|
14809
|
+
uniqueItems: true
|
|
14810
|
+
items: { type: string, minLength: 1 }
|
|
14811
|
+
namespaceSelector: { type: string }
|
|
14812
|
+
resourceGroups:
|
|
14813
|
+
type: array
|
|
14814
|
+
uniqueItems: true
|
|
14815
|
+
items: { type: string, minLength: 1 }
|
|
14816
|
+
resourceKinds:
|
|
14817
|
+
type: array
|
|
14818
|
+
uniqueItems: true
|
|
14819
|
+
items: { type: string, minLength: 1 }
|
|
14820
|
+
role: { type: string, minLength: 1 }
|
|
14821
|
+
effect:
|
|
14822
|
+
allOf:
|
|
14823
|
+
- $ref: "#/components/schemas/ScopeGrantEffect"
|
|
14824
|
+
default: allow
|
|
14825
|
+
enabled: { type: boolean }
|
|
14826
|
+
additionalProperties: false
|
|
14827
|
+
ScopeGrantEnvelope:
|
|
14828
|
+
type: object
|
|
14829
|
+
required: [data]
|
|
14830
|
+
properties:
|
|
14831
|
+
data: { $ref: "#/components/schemas/ScopeGrant" }
|
|
14832
|
+
additionalProperties: false
|
|
14833
|
+
ScopeGrantListEnvelope:
|
|
14834
|
+
type: object
|
|
14835
|
+
required: [items]
|
|
14836
|
+
properties:
|
|
14837
|
+
items: { type: array, items: { $ref: "#/components/schemas/ScopeGrant" } }
|
|
14838
|
+
additionalProperties: false
|
|
14165
14839
|
AuthorizationDecisionStatus:
|
|
14166
14840
|
type: string
|
|
14167
14841
|
enum: [allow, deny, approval_required]
|
|
@@ -16578,6 +17252,7 @@ components:
|
|
|
16578
17252
|
properties:
|
|
16579
17253
|
appTitle: { type: string }
|
|
16580
17254
|
sidebarTitle: { type: string }
|
|
17255
|
+
slogan: { type: string }
|
|
16581
17256
|
loginLogoUrl: { type: string }
|
|
16582
17257
|
expandedLogoUrl: { type: string }
|
|
16583
17258
|
collapsedLogoUrl: { type: string }
|
|
@@ -16596,6 +17271,7 @@ components:
|
|
|
16596
17271
|
properties:
|
|
16597
17272
|
appTitle: { type: string }
|
|
16598
17273
|
sidebarTitle: { type: string }
|
|
17274
|
+
slogan: { type: string }
|
|
16599
17275
|
loginLogoUrl: { type: string }
|
|
16600
17276
|
expandedLogoUrl: { type: string }
|
|
16601
17277
|
collapsedLogoUrl: { type: string }
|
|
@@ -17338,6 +18014,8 @@ components:
|
|
|
17338
18014
|
type: object
|
|
17339
18015
|
required: [verification]
|
|
17340
18016
|
properties:
|
|
18017
|
+
branding:
|
|
18018
|
+
$ref: "#/components/schemas/BrandingSettings"
|
|
17341
18019
|
localPasswordLoginEnabled:
|
|
17342
18020
|
type: boolean
|
|
17343
18021
|
verification:
|
|
@@ -25210,6 +25888,33 @@ components:
|
|
|
25210
25888
|
data:
|
|
25211
25889
|
$ref: "#/components/schemas/AgentInstallation"
|
|
25212
25890
|
additionalProperties: false
|
|
25891
|
+
DockerHostAgentInstallation:
|
|
25892
|
+
type: object
|
|
25893
|
+
required: [hostId, operationId, scriptUrl, command, expiresAt]
|
|
25894
|
+
properties:
|
|
25895
|
+
hostId:
|
|
25896
|
+
type: string
|
|
25897
|
+
minLength: 1
|
|
25898
|
+
operationId:
|
|
25899
|
+
type: string
|
|
25900
|
+
minLength: 1
|
|
25901
|
+
scriptUrl:
|
|
25902
|
+
type: string
|
|
25903
|
+
format: uri
|
|
25904
|
+
command:
|
|
25905
|
+
type: string
|
|
25906
|
+
minLength: 1
|
|
25907
|
+
expiresAt:
|
|
25908
|
+
type: string
|
|
25909
|
+
format: date-time
|
|
25910
|
+
additionalProperties: false
|
|
25911
|
+
DockerHostAgentInstallationEnvelope:
|
|
25912
|
+
type: object
|
|
25913
|
+
required: [data]
|
|
25914
|
+
properties:
|
|
25915
|
+
data:
|
|
25916
|
+
$ref: "#/components/schemas/DockerHostAgentInstallation"
|
|
25917
|
+
additionalProperties: false
|
|
25213
25918
|
ObservabilityProviderSignal:
|
|
25214
25919
|
type: string
|
|
25215
25920
|
enum: [logs, metrics, traces, profiles]
|
|
@@ -25232,6 +25937,16 @@ components:
|
|
|
25232
25937
|
- ObservabilityProviderStatusSupported
|
|
25233
25938
|
- ObservabilityProviderStatusDegraded
|
|
25234
25939
|
- ObservabilityProviderStatusUnsupported
|
|
25940
|
+
ObservabilityProviderRuntimeStatus:
|
|
25941
|
+
type: string
|
|
25942
|
+
enum: [unconfigured, unknown, healthy, degraded, failed, unsupported]
|
|
25943
|
+
x-enum-varnames:
|
|
25944
|
+
- ObservabilityProviderRuntimeStatusUnconfigured
|
|
25945
|
+
- ObservabilityProviderRuntimeStatusUnknown
|
|
25946
|
+
- ObservabilityProviderRuntimeStatusHealthy
|
|
25947
|
+
- ObservabilityProviderRuntimeStatusDegraded
|
|
25948
|
+
- ObservabilityProviderRuntimeStatusFailed
|
|
25949
|
+
- ObservabilityProviderRuntimeStatusUnsupported
|
|
25235
25950
|
ObservabilityProviderDefinition:
|
|
25236
25951
|
type: object
|
|
25237
25952
|
required: [providerKey, displayName, protocolVersion, signals, capabilities, runtimeMode, builtIn, status]
|
|
@@ -25273,6 +25988,17 @@ components:
|
|
|
25273
25988
|
statusReason:
|
|
25274
25989
|
type: string
|
|
25275
25990
|
maxLength: 500
|
|
25991
|
+
configured:
|
|
25992
|
+
type: boolean
|
|
25993
|
+
description: True when at least one enabled data source is configured for this provider.
|
|
25994
|
+
runtimeStatus:
|
|
25995
|
+
$ref: "#/components/schemas/ObservabilityProviderRuntimeStatus"
|
|
25996
|
+
runtimeStatusReason:
|
|
25997
|
+
type: string
|
|
25998
|
+
maxLength: 500
|
|
25999
|
+
lastValidatedAt:
|
|
26000
|
+
type: string
|
|
26001
|
+
format: date-time
|
|
25276
26002
|
pluginId:
|
|
25277
26003
|
type: string
|
|
25278
26004
|
maxLength: 200
|
|
@@ -25294,14 +26020,23 @@ components:
|
|
|
25294
26020
|
enum: [grafana]
|
|
25295
26021
|
x-enum-varnames:
|
|
25296
26022
|
- ObservabilityDashboardSourceGrafana
|
|
26023
|
+
ObservabilityDashboardSourceFormat:
|
|
26024
|
+
type: string
|
|
26025
|
+
enum: [classic, v1]
|
|
26026
|
+
x-enum-varnames:
|
|
26027
|
+
- ObservabilityDashboardSourceFormatClassic
|
|
26028
|
+
- ObservabilityDashboardSourceFormatV1
|
|
25297
26029
|
ObservabilityDashboardPanelType:
|
|
25298
26030
|
type: string
|
|
25299
|
-
enum: [timeseries, stat, text, row]
|
|
26031
|
+
enum: [timeseries, table, stat, gauge, text, row, unsupported]
|
|
25300
26032
|
x-enum-varnames:
|
|
25301
26033
|
- ObservabilityDashboardPanelTypeTimeseries
|
|
26034
|
+
- ObservabilityDashboardPanelTypeTable
|
|
25302
26035
|
- ObservabilityDashboardPanelTypeStat
|
|
26036
|
+
- ObservabilityDashboardPanelTypeGauge
|
|
25303
26037
|
- ObservabilityDashboardPanelTypeText
|
|
25304
26038
|
- ObservabilityDashboardPanelTypeRow
|
|
26039
|
+
- ObservabilityDashboardPanelTypeUnsupported
|
|
25305
26040
|
ObservabilityDashboardPanelLayout:
|
|
25306
26041
|
type: object
|
|
25307
26042
|
required: [x, y, w, h]
|
|
@@ -25337,6 +26072,15 @@ components:
|
|
|
25337
26072
|
legend:
|
|
25338
26073
|
type: string
|
|
25339
26074
|
maxLength: 256
|
|
26075
|
+
dataSourceType:
|
|
26076
|
+
type: string
|
|
26077
|
+
maxLength: 128
|
|
26078
|
+
dataSourceUid:
|
|
26079
|
+
type: string
|
|
26080
|
+
maxLength: 200
|
|
26081
|
+
dataSourceId:
|
|
26082
|
+
type: string
|
|
26083
|
+
maxLength: 200
|
|
25340
26084
|
additionalProperties: false
|
|
25341
26085
|
ObservabilityDashboardPanel:
|
|
25342
26086
|
type: object
|
|
@@ -25364,28 +26108,85 @@ components:
|
|
|
25364
26108
|
markdown:
|
|
25365
26109
|
type: string
|
|
25366
26110
|
maxLength: 32768
|
|
26111
|
+
sourcePanelType:
|
|
26112
|
+
type: string
|
|
26113
|
+
maxLength: 128
|
|
26114
|
+
unsupported:
|
|
26115
|
+
type: boolean
|
|
26116
|
+
rawJson:
|
|
26117
|
+
type: string
|
|
26118
|
+
maxLength: 2097152
|
|
26119
|
+
description: Original Grafana panel JSON retained for unsupported renderers and never executed directly.
|
|
25367
26120
|
additionalProperties: false
|
|
25368
|
-
|
|
26121
|
+
ObservabilityDashboardVariableType:
|
|
26122
|
+
type: string
|
|
26123
|
+
enum: [custom, constant]
|
|
26124
|
+
x-enum-varnames:
|
|
26125
|
+
- ObservabilityDashboardVariableTypeCustom
|
|
26126
|
+
- ObservabilityDashboardVariableTypeConstant
|
|
26127
|
+
ObservabilityDashboardVariable:
|
|
25369
26128
|
type: object
|
|
25370
|
-
required: [
|
|
26129
|
+
required: [name, type, options]
|
|
25371
26130
|
properties:
|
|
25372
|
-
id:
|
|
25373
|
-
type: string
|
|
25374
|
-
minLength: 1
|
|
25375
|
-
maxLength: 128
|
|
25376
26131
|
name:
|
|
25377
26132
|
type: string
|
|
25378
|
-
|
|
25379
|
-
maxLength:
|
|
25380
|
-
|
|
25381
|
-
$ref: "#/components/schemas/ObservabilityDashboardSource"
|
|
25382
|
-
sourceSchemaVersion:
|
|
25383
|
-
type: integer
|
|
25384
|
-
minimum: 0
|
|
25385
|
-
dataSourceId:
|
|
26133
|
+
pattern: "^[A-Za-z_][A-Za-z0-9_]*$"
|
|
26134
|
+
maxLength: 64
|
|
26135
|
+
label:
|
|
25386
26136
|
type: string
|
|
25387
26137
|
maxLength: 200
|
|
25388
|
-
|
|
26138
|
+
type:
|
|
26139
|
+
$ref: "#/components/schemas/ObservabilityDashboardVariableType"
|
|
26140
|
+
current:
|
|
26141
|
+
type: string
|
|
26142
|
+
maxLength: 512
|
|
26143
|
+
options:
|
|
26144
|
+
type: array
|
|
26145
|
+
maxItems: 100
|
|
26146
|
+
uniqueItems: true
|
|
26147
|
+
items:
|
|
26148
|
+
type: string
|
|
26149
|
+
maxLength: 512
|
|
26150
|
+
additionalProperties: false
|
|
26151
|
+
ObservabilityDashboardDataSourceBinding:
|
|
26152
|
+
type: object
|
|
26153
|
+
required: [type, dataSourceId]
|
|
26154
|
+
properties:
|
|
26155
|
+
type:
|
|
26156
|
+
type: string
|
|
26157
|
+
minLength: 1
|
|
26158
|
+
maxLength: 128
|
|
26159
|
+
uid:
|
|
26160
|
+
type: string
|
|
26161
|
+
maxLength: 200
|
|
26162
|
+
dataSourceId:
|
|
26163
|
+
type: string
|
|
26164
|
+
minLength: 1
|
|
26165
|
+
maxLength: 200
|
|
26166
|
+
additionalProperties: false
|
|
26167
|
+
ObservabilityDashboard:
|
|
26168
|
+
type: object
|
|
26169
|
+
required: [id, name, source, tags, panels, createdAt, updatedAt]
|
|
26170
|
+
properties:
|
|
26171
|
+
id:
|
|
26172
|
+
type: string
|
|
26173
|
+
minLength: 1
|
|
26174
|
+
maxLength: 128
|
|
26175
|
+
name:
|
|
26176
|
+
type: string
|
|
26177
|
+
minLength: 1
|
|
26178
|
+
maxLength: 200
|
|
26179
|
+
source:
|
|
26180
|
+
$ref: "#/components/schemas/ObservabilityDashboardSource"
|
|
26181
|
+
sourceFormat:
|
|
26182
|
+
$ref: "#/components/schemas/ObservabilityDashboardSourceFormat"
|
|
26183
|
+
sourceSchemaVersion:
|
|
26184
|
+
type: integer
|
|
26185
|
+
minimum: 0
|
|
26186
|
+
dataSourceId:
|
|
26187
|
+
type: string
|
|
26188
|
+
maxLength: 200
|
|
26189
|
+
tags:
|
|
25389
26190
|
type: array
|
|
25390
26191
|
maxItems: 50
|
|
25391
26192
|
uniqueItems: true
|
|
@@ -25398,6 +26199,25 @@ components:
|
|
|
25398
26199
|
maxItems: 200
|
|
25399
26200
|
items:
|
|
25400
26201
|
$ref: "#/components/schemas/ObservabilityDashboardPanel"
|
|
26202
|
+
variables:
|
|
26203
|
+
type: array
|
|
26204
|
+
maxItems: 50
|
|
26205
|
+
items:
|
|
26206
|
+
$ref: "#/components/schemas/ObservabilityDashboardVariable"
|
|
26207
|
+
dataSourceBindings:
|
|
26208
|
+
type: array
|
|
26209
|
+
maxItems: 100
|
|
26210
|
+
items:
|
|
26211
|
+
$ref: "#/components/schemas/ObservabilityDashboardDataSourceBinding"
|
|
26212
|
+
importWarnings:
|
|
26213
|
+
type: array
|
|
26214
|
+
maxItems: 500
|
|
26215
|
+
items:
|
|
26216
|
+
$ref: "#/components/schemas/ObservabilityDashboardImportWarning"
|
|
26217
|
+
rawJson:
|
|
26218
|
+
type: string
|
|
26219
|
+
maxLength: 2097152
|
|
26220
|
+
description: Original bounded Grafana import document. It is retained for fidelity and never executed directly.
|
|
25401
26221
|
createdAt:
|
|
25402
26222
|
type: string
|
|
25403
26223
|
format: date-time
|
|
@@ -25486,7 +26306,7 @@ components:
|
|
|
25486
26306
|
$ref: "#/components/schemas/ObservabilityDashboardImportWarning"
|
|
25487
26307
|
importedPanelCount:
|
|
25488
26308
|
type: integer
|
|
25489
|
-
minimum:
|
|
26309
|
+
minimum: 0
|
|
25490
26310
|
skippedPanelCount:
|
|
25491
26311
|
type: integer
|
|
25492
26312
|
minimum: 0
|
|
@@ -25513,13 +26333,25 @@ components:
|
|
|
25513
26333
|
minimum: 1
|
|
25514
26334
|
maximum: 3600
|
|
25515
26335
|
default: 60
|
|
26336
|
+
variables:
|
|
26337
|
+
type: object
|
|
26338
|
+
maxProperties: 50
|
|
26339
|
+
additionalProperties:
|
|
26340
|
+
type: string
|
|
26341
|
+
maxLength: 512
|
|
25516
26342
|
additionalProperties: false
|
|
25517
26343
|
ObservabilityQueryScope:
|
|
25518
26344
|
type: object
|
|
25519
26345
|
properties:
|
|
26346
|
+
workspaceId:
|
|
26347
|
+
type: string
|
|
26348
|
+
maxLength: 128
|
|
25520
26349
|
clusterId:
|
|
25521
26350
|
type: string
|
|
25522
26351
|
maxLength: 128
|
|
26352
|
+
environment:
|
|
26353
|
+
type: string
|
|
26354
|
+
maxLength: 128
|
|
25523
26355
|
namespace:
|
|
25524
26356
|
type: string
|
|
25525
26357
|
maxLength: 253
|
|
@@ -25530,6 +26362,187 @@ components:
|
|
|
25530
26362
|
type: string
|
|
25531
26363
|
maxLength: 253
|
|
25532
26364
|
additionalProperties: false
|
|
26365
|
+
ObservabilitySignal:
|
|
26366
|
+
type: string
|
|
26367
|
+
enum: [metrics, traces, logs, events]
|
|
26368
|
+
x-enum-varnames:
|
|
26369
|
+
- ObservabilitySignalMetrics
|
|
26370
|
+
- ObservabilitySignalTraces
|
|
26371
|
+
- ObservabilitySignalLogs
|
|
26372
|
+
- ObservabilitySignalEvents
|
|
26373
|
+
ObservabilityTimeRange:
|
|
26374
|
+
type: object
|
|
26375
|
+
required: [from, to]
|
|
26376
|
+
properties:
|
|
26377
|
+
from:
|
|
26378
|
+
type: string
|
|
26379
|
+
format: date-time
|
|
26380
|
+
to:
|
|
26381
|
+
type: string
|
|
26382
|
+
format: date-time
|
|
26383
|
+
timezone:
|
|
26384
|
+
type: string
|
|
26385
|
+
maxLength: 64
|
|
26386
|
+
additionalProperties: false
|
|
26387
|
+
ObservabilityResourceIdentity:
|
|
26388
|
+
type: object
|
|
26389
|
+
required: [kind, name]
|
|
26390
|
+
properties:
|
|
26391
|
+
kind:
|
|
26392
|
+
type: string
|
|
26393
|
+
minLength: 1
|
|
26394
|
+
maxLength: 128
|
|
26395
|
+
name:
|
|
26396
|
+
type: string
|
|
26397
|
+
minLength: 1
|
|
26398
|
+
maxLength: 253
|
|
26399
|
+
uid:
|
|
26400
|
+
type: string
|
|
26401
|
+
maxLength: 253
|
|
26402
|
+
additionalProperties: false
|
|
26403
|
+
ObservabilityFilter:
|
|
26404
|
+
type: object
|
|
26405
|
+
properties:
|
|
26406
|
+
text:
|
|
26407
|
+
type: string
|
|
26408
|
+
maxLength: 2048
|
|
26409
|
+
labels:
|
|
26410
|
+
type: object
|
|
26411
|
+
maxProperties: 100
|
|
26412
|
+
additionalProperties:
|
|
26413
|
+
type: string
|
|
26414
|
+
maxLength: 1024
|
|
26415
|
+
traceId:
|
|
26416
|
+
type: string
|
|
26417
|
+
maxLength: 128
|
|
26418
|
+
spanId:
|
|
26419
|
+
type: string
|
|
26420
|
+
maxLength: 128
|
|
26421
|
+
additionalProperties: false
|
|
26422
|
+
ObservabilityContext:
|
|
26423
|
+
type: object
|
|
26424
|
+
required: [version, scope, timeRange]
|
|
26425
|
+
properties:
|
|
26426
|
+
version:
|
|
26427
|
+
type: string
|
|
26428
|
+
enum: [v1]
|
|
26429
|
+
scope:
|
|
26430
|
+
$ref: "#/components/schemas/ObservabilityQueryScope"
|
|
26431
|
+
resource:
|
|
26432
|
+
$ref: "#/components/schemas/ObservabilityResourceIdentity"
|
|
26433
|
+
timeRange:
|
|
26434
|
+
$ref: "#/components/schemas/ObservabilityTimeRange"
|
|
26435
|
+
filter:
|
|
26436
|
+
$ref: "#/components/schemas/ObservabilityFilter"
|
|
26437
|
+
scopeRestricted:
|
|
26438
|
+
type: boolean
|
|
26439
|
+
readOnly: true
|
|
26440
|
+
description: True when authorization narrowed the requested scope.
|
|
26441
|
+
additionalProperties: false
|
|
26442
|
+
ObservabilityQueryLanguage:
|
|
26443
|
+
type: string
|
|
26444
|
+
enum: [metric_key, promql, logql, elasticsearch, clickhouse_sql, trace_filter, event_filter]
|
|
26445
|
+
x-enum-varnames:
|
|
26446
|
+
- ObservabilityQueryLanguageMetricKey
|
|
26447
|
+
- ObservabilityQueryLanguagePromQL
|
|
26448
|
+
- ObservabilityQueryLanguageLogQL
|
|
26449
|
+
- ObservabilityQueryLanguageElasticsearch
|
|
26450
|
+
- ObservabilityQueryLanguageClickHouseSQL
|
|
26451
|
+
- ObservabilityQueryLanguageTraceFilter
|
|
26452
|
+
- ObservabilityQueryLanguageEventFilter
|
|
26453
|
+
ObservabilityQuerySnapshot:
|
|
26454
|
+
type: object
|
|
26455
|
+
required: [version, signal, context]
|
|
26456
|
+
properties:
|
|
26457
|
+
version:
|
|
26458
|
+
type: string
|
|
26459
|
+
enum: [v1]
|
|
26460
|
+
signal:
|
|
26461
|
+
$ref: "#/components/schemas/ObservabilitySignal"
|
|
26462
|
+
dataSourceId:
|
|
26463
|
+
type: string
|
|
26464
|
+
maxLength: 200
|
|
26465
|
+
backendType:
|
|
26466
|
+
type: string
|
|
26467
|
+
maxLength: 128
|
|
26468
|
+
context:
|
|
26469
|
+
$ref: "#/components/schemas/ObservabilityContext"
|
|
26470
|
+
queryLanguage:
|
|
26471
|
+
$ref: "#/components/schemas/ObservabilityQueryLanguage"
|
|
26472
|
+
query:
|
|
26473
|
+
type: string
|
|
26474
|
+
maxLength: 8192
|
|
26475
|
+
description: Provider-native query text. Soha does not translate arbitrary query languages.
|
|
26476
|
+
metricKey:
|
|
26477
|
+
type: string
|
|
26478
|
+
maxLength: 128
|
|
26479
|
+
traceId:
|
|
26480
|
+
type: string
|
|
26481
|
+
maxLength: 128
|
|
26482
|
+
spanId:
|
|
26483
|
+
type: string
|
|
26484
|
+
maxLength: 128
|
|
26485
|
+
createdAt:
|
|
26486
|
+
type: string
|
|
26487
|
+
format: date-time
|
|
26488
|
+
additionalProperties: false
|
|
26489
|
+
ObservabilityQueryState:
|
|
26490
|
+
type: string
|
|
26491
|
+
enum: [success, empty, partial, error, no_data, unsupported]
|
|
26492
|
+
x-enum-varnames:
|
|
26493
|
+
- ObservabilityQueryStateSuccess
|
|
26494
|
+
- ObservabilityQueryStateEmpty
|
|
26495
|
+
- ObservabilityQueryStatePartial
|
|
26496
|
+
- ObservabilityQueryStateError
|
|
26497
|
+
- ObservabilityQueryStateNoData
|
|
26498
|
+
- ObservabilityQueryStateUnsupported
|
|
26499
|
+
ObservabilityQueryError:
|
|
26500
|
+
type: object
|
|
26501
|
+
required: [code, message]
|
|
26502
|
+
properties:
|
|
26503
|
+
code:
|
|
26504
|
+
type: string
|
|
26505
|
+
pattern: "^[a-z][a-z0-9._-]*$"
|
|
26506
|
+
maxLength: 128
|
|
26507
|
+
message:
|
|
26508
|
+
type: string
|
|
26509
|
+
minLength: 1
|
|
26510
|
+
maxLength: 1000
|
|
26511
|
+
retryable:
|
|
26512
|
+
type: boolean
|
|
26513
|
+
sourceId:
|
|
26514
|
+
type: string
|
|
26515
|
+
maxLength: 200
|
|
26516
|
+
additionalProperties: false
|
|
26517
|
+
ObservabilityQueryResultMeta:
|
|
26518
|
+
type: object
|
|
26519
|
+
required: [state]
|
|
26520
|
+
properties:
|
|
26521
|
+
state:
|
|
26522
|
+
$ref: "#/components/schemas/ObservabilityQueryState"
|
|
26523
|
+
snapshot:
|
|
26524
|
+
$ref: "#/components/schemas/ObservabilityQuerySnapshot"
|
|
26525
|
+
observedAt:
|
|
26526
|
+
type: string
|
|
26527
|
+
format: date-time
|
|
26528
|
+
durationMs:
|
|
26529
|
+
type: integer
|
|
26530
|
+
format: int64
|
|
26531
|
+
minimum: 0
|
|
26532
|
+
scopeRestricted:
|
|
26533
|
+
type: boolean
|
|
26534
|
+
warnings:
|
|
26535
|
+
type: array
|
|
26536
|
+
maxItems: 100
|
|
26537
|
+
items:
|
|
26538
|
+
type: string
|
|
26539
|
+
maxLength: 1000
|
|
26540
|
+
errors:
|
|
26541
|
+
type: array
|
|
26542
|
+
maxItems: 100
|
|
26543
|
+
items:
|
|
26544
|
+
$ref: "#/components/schemas/ObservabilityQueryError"
|
|
26545
|
+
additionalProperties: false
|
|
25533
26546
|
ObservabilityMetricKey:
|
|
25534
26547
|
type: string
|
|
25535
26548
|
enum: [cpu_usage, memory_usage, restart_rate, error_rate, latency_p95]
|
|
@@ -25604,6 +26617,8 @@ components:
|
|
|
25604
26617
|
type: array
|
|
25605
26618
|
items:
|
|
25606
26619
|
$ref: "#/components/schemas/ObservabilityMetricSeries"
|
|
26620
|
+
meta:
|
|
26621
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
25607
26622
|
additionalProperties: false
|
|
25608
26623
|
ObservabilityMetricQueryEnvelope:
|
|
25609
26624
|
type: object
|
|
@@ -25689,6 +26704,8 @@ components:
|
|
|
25689
26704
|
type: array
|
|
25690
26705
|
items:
|
|
25691
26706
|
$ref: "#/components/schemas/ObservabilityTraceSpan"
|
|
26707
|
+
meta:
|
|
26708
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
25692
26709
|
additionalProperties: false
|
|
25693
26710
|
ObservabilityTraceQueryEnvelope:
|
|
25694
26711
|
type: object
|
|
@@ -25697,6 +26714,244 @@ components:
|
|
|
25697
26714
|
data:
|
|
25698
26715
|
$ref: "#/components/schemas/ObservabilityTraceQueryResult"
|
|
25699
26716
|
additionalProperties: false
|
|
26717
|
+
ObservabilityServiceStatus:
|
|
26718
|
+
type: string
|
|
26719
|
+
enum: [healthy, degraded, unknown, unsupported]
|
|
26720
|
+
x-enum-varnames:
|
|
26721
|
+
- ObservabilityServiceStatusHealthy
|
|
26722
|
+
- ObservabilityServiceStatusDegraded
|
|
26723
|
+
- ObservabilityServiceStatusUnknown
|
|
26724
|
+
- ObservabilityServiceStatusUnsupported
|
|
26725
|
+
ObservabilityServiceInstance:
|
|
26726
|
+
type: object
|
|
26727
|
+
required: [id, name, status]
|
|
26728
|
+
properties:
|
|
26729
|
+
id:
|
|
26730
|
+
type: string
|
|
26731
|
+
minLength: 1
|
|
26732
|
+
maxLength: 253
|
|
26733
|
+
name:
|
|
26734
|
+
type: string
|
|
26735
|
+
minLength: 1
|
|
26736
|
+
maxLength: 253
|
|
26737
|
+
status:
|
|
26738
|
+
$ref: "#/components/schemas/ObservabilityServiceStatus"
|
|
26739
|
+
lastSeenAt:
|
|
26740
|
+
type: string
|
|
26741
|
+
format: date-time
|
|
26742
|
+
additionalProperties: false
|
|
26743
|
+
ObservabilityServiceEndpoint:
|
|
26744
|
+
type: object
|
|
26745
|
+
required: [id, name, status]
|
|
26746
|
+
properties:
|
|
26747
|
+
id:
|
|
26748
|
+
type: string
|
|
26749
|
+
minLength: 1
|
|
26750
|
+
maxLength: 512
|
|
26751
|
+
name:
|
|
26752
|
+
type: string
|
|
26753
|
+
minLength: 1
|
|
26754
|
+
maxLength: 512
|
|
26755
|
+
method:
|
|
26756
|
+
type: string
|
|
26757
|
+
maxLength: 32
|
|
26758
|
+
status:
|
|
26759
|
+
$ref: "#/components/schemas/ObservabilityServiceStatus"
|
|
26760
|
+
requestRate:
|
|
26761
|
+
type: number
|
|
26762
|
+
format: double
|
|
26763
|
+
minimum: 0
|
|
26764
|
+
errorRate:
|
|
26765
|
+
type: number
|
|
26766
|
+
format: double
|
|
26767
|
+
minimum: 0
|
|
26768
|
+
latencyP95Ms:
|
|
26769
|
+
type: number
|
|
26770
|
+
format: double
|
|
26771
|
+
minimum: 0
|
|
26772
|
+
additionalProperties: false
|
|
26773
|
+
ObservabilityService:
|
|
26774
|
+
type: object
|
|
26775
|
+
required: [id, name, status, clusterIds, instances, endpoints]
|
|
26776
|
+
properties:
|
|
26777
|
+
id:
|
|
26778
|
+
type: string
|
|
26779
|
+
minLength: 1
|
|
26780
|
+
maxLength: 253
|
|
26781
|
+
name:
|
|
26782
|
+
type: string
|
|
26783
|
+
minLength: 1
|
|
26784
|
+
maxLength: 253
|
|
26785
|
+
displayName:
|
|
26786
|
+
type: string
|
|
26787
|
+
maxLength: 253
|
|
26788
|
+
environment:
|
|
26789
|
+
type: string
|
|
26790
|
+
maxLength: 128
|
|
26791
|
+
namespace:
|
|
26792
|
+
type: string
|
|
26793
|
+
maxLength: 253
|
|
26794
|
+
clusterIds:
|
|
26795
|
+
type: array
|
|
26796
|
+
maxItems: 100
|
|
26797
|
+
uniqueItems: true
|
|
26798
|
+
items:
|
|
26799
|
+
type: string
|
|
26800
|
+
minLength: 1
|
|
26801
|
+
maxLength: 128
|
|
26802
|
+
status:
|
|
26803
|
+
$ref: "#/components/schemas/ObservabilityServiceStatus"
|
|
26804
|
+
requestRate:
|
|
26805
|
+
type: number
|
|
26806
|
+
format: double
|
|
26807
|
+
minimum: 0
|
|
26808
|
+
errorRate:
|
|
26809
|
+
type: number
|
|
26810
|
+
format: double
|
|
26811
|
+
minimum: 0
|
|
26812
|
+
latencyP95Ms:
|
|
26813
|
+
type: number
|
|
26814
|
+
format: double
|
|
26815
|
+
minimum: 0
|
|
26816
|
+
lastSeenAt:
|
|
26817
|
+
type: string
|
|
26818
|
+
format: date-time
|
|
26819
|
+
instances:
|
|
26820
|
+
type: array
|
|
26821
|
+
maxItems: 1000
|
|
26822
|
+
items:
|
|
26823
|
+
$ref: "#/components/schemas/ObservabilityServiceInstance"
|
|
26824
|
+
endpoints:
|
|
26825
|
+
type: array
|
|
26826
|
+
maxItems: 1000
|
|
26827
|
+
items:
|
|
26828
|
+
$ref: "#/components/schemas/ObservabilityServiceEndpoint"
|
|
26829
|
+
additionalProperties: false
|
|
26830
|
+
ObservabilityServiceListEnvelope:
|
|
26831
|
+
type: object
|
|
26832
|
+
required: [items, meta]
|
|
26833
|
+
properties:
|
|
26834
|
+
items:
|
|
26835
|
+
type: array
|
|
26836
|
+
maxItems: 1000
|
|
26837
|
+
items:
|
|
26838
|
+
$ref: "#/components/schemas/ObservabilityService"
|
|
26839
|
+
meta:
|
|
26840
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
26841
|
+
additionalProperties: false
|
|
26842
|
+
ObservabilityServiceEnvelope:
|
|
26843
|
+
type: object
|
|
26844
|
+
required: [data, meta]
|
|
26845
|
+
properties:
|
|
26846
|
+
data:
|
|
26847
|
+
$ref: "#/components/schemas/ObservabilityService"
|
|
26848
|
+
meta:
|
|
26849
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
26850
|
+
additionalProperties: false
|
|
26851
|
+
ObservabilityTopologyNode:
|
|
26852
|
+
type: object
|
|
26853
|
+
required: [serviceId, name, status]
|
|
26854
|
+
properties:
|
|
26855
|
+
serviceId:
|
|
26856
|
+
type: string
|
|
26857
|
+
minLength: 1
|
|
26858
|
+
maxLength: 253
|
|
26859
|
+
name:
|
|
26860
|
+
type: string
|
|
26861
|
+
minLength: 1
|
|
26862
|
+
maxLength: 253
|
|
26863
|
+
status:
|
|
26864
|
+
$ref: "#/components/schemas/ObservabilityServiceStatus"
|
|
26865
|
+
additionalProperties: false
|
|
26866
|
+
ObservabilityTopologyEdge:
|
|
26867
|
+
type: object
|
|
26868
|
+
required: [sourceServiceId, targetServiceId, status]
|
|
26869
|
+
properties:
|
|
26870
|
+
sourceServiceId:
|
|
26871
|
+
type: string
|
|
26872
|
+
minLength: 1
|
|
26873
|
+
maxLength: 253
|
|
26874
|
+
targetServiceId:
|
|
26875
|
+
type: string
|
|
26876
|
+
minLength: 1
|
|
26877
|
+
maxLength: 253
|
|
26878
|
+
status:
|
|
26879
|
+
$ref: "#/components/schemas/ObservabilityServiceStatus"
|
|
26880
|
+
requestRate:
|
|
26881
|
+
type: number
|
|
26882
|
+
format: double
|
|
26883
|
+
minimum: 0
|
|
26884
|
+
errorRate:
|
|
26885
|
+
type: number
|
|
26886
|
+
format: double
|
|
26887
|
+
minimum: 0
|
|
26888
|
+
latencyP95Ms:
|
|
26889
|
+
type: number
|
|
26890
|
+
format: double
|
|
26891
|
+
minimum: 0
|
|
26892
|
+
additionalProperties: false
|
|
26893
|
+
ObservabilityTopology:
|
|
26894
|
+
type: object
|
|
26895
|
+
required: [nodes, edges, beta, meta]
|
|
26896
|
+
properties:
|
|
26897
|
+
nodes:
|
|
26898
|
+
type: array
|
|
26899
|
+
maxItems: 1000
|
|
26900
|
+
items:
|
|
26901
|
+
$ref: "#/components/schemas/ObservabilityTopologyNode"
|
|
26902
|
+
edges:
|
|
26903
|
+
type: array
|
|
26904
|
+
maxItems: 5000
|
|
26905
|
+
items:
|
|
26906
|
+
$ref: "#/components/schemas/ObservabilityTopologyEdge"
|
|
26907
|
+
beta:
|
|
26908
|
+
type: boolean
|
|
26909
|
+
meta:
|
|
26910
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
26911
|
+
additionalProperties: false
|
|
26912
|
+
ObservabilityTopologyEnvelope:
|
|
26913
|
+
type: object
|
|
26914
|
+
required: [data]
|
|
26915
|
+
properties:
|
|
26916
|
+
data:
|
|
26917
|
+
$ref: "#/components/schemas/ObservabilityTopology"
|
|
26918
|
+
additionalProperties: false
|
|
26919
|
+
ObservabilityMetricDefinition:
|
|
26920
|
+
type: object
|
|
26921
|
+
required: [key, label, unit, signal, available]
|
|
26922
|
+
properties:
|
|
26923
|
+
key:
|
|
26924
|
+
type: string
|
|
26925
|
+
minLength: 1
|
|
26926
|
+
maxLength: 128
|
|
26927
|
+
label:
|
|
26928
|
+
type: string
|
|
26929
|
+
minLength: 1
|
|
26930
|
+
maxLength: 200
|
|
26931
|
+
description:
|
|
26932
|
+
type: string
|
|
26933
|
+
maxLength: 1000
|
|
26934
|
+
unit:
|
|
26935
|
+
type: string
|
|
26936
|
+
maxLength: 64
|
|
26937
|
+
semanticConvention:
|
|
26938
|
+
type: string
|
|
26939
|
+
maxLength: 256
|
|
26940
|
+
signal:
|
|
26941
|
+
$ref: "#/components/schemas/ObservabilitySignal"
|
|
26942
|
+
available:
|
|
26943
|
+
type: boolean
|
|
26944
|
+
additionalProperties: false
|
|
26945
|
+
ObservabilityMetricCatalogEnvelope:
|
|
26946
|
+
type: object
|
|
26947
|
+
required: [items]
|
|
26948
|
+
properties:
|
|
26949
|
+
items:
|
|
26950
|
+
type: array
|
|
26951
|
+
maxItems: 500
|
|
26952
|
+
items:
|
|
26953
|
+
$ref: "#/components/schemas/ObservabilityMetricDefinition"
|
|
26954
|
+
additionalProperties: false
|
|
25700
26955
|
ObservabilityDataSourceBackendType:
|
|
25701
26956
|
type: string
|
|
25702
26957
|
enum: [loki, elasticsearch, clickhouse, provider]
|
|
@@ -26341,6 +27596,8 @@ components:
|
|
|
26341
27596
|
$ref: "#/components/schemas/LogWarning"
|
|
26342
27597
|
retentionHint:
|
|
26343
27598
|
type: string
|
|
27599
|
+
meta:
|
|
27600
|
+
$ref: "#/components/schemas/ObservabilityQueryResultMeta"
|
|
26344
27601
|
additionalProperties: false
|
|
26345
27602
|
LogPageEnvelope:
|
|
26346
27603
|
type: object
|