diff --git a/.github/workflows/ci_general.yml b/.github/workflows/ci_general.yml
index fec31fa..e3f9b50 100644
--- a/.github/workflows/ci_general.yml
+++ b/.github/workflows/ci_general.yml
@@ -1,8 +1,11 @@
name: General CI Checks
on:
+ push:
+ branches:
+ - "**"
pull_request:
branches:
- - main
+ - "**"
permissions:
contents: read
diff --git a/apollo-openapi.yaml b/apollo-openapi.yaml
index f8343fd..292da8b 100644
--- a/apollo-openapi.yaml
+++ b/apollo-openapi.yaml
@@ -2,34 +2,22 @@ openapi: 3.0.1
info:
title: Apollo OpenAPI
description: |
- Apollo配置中心OpenAPI接口文档
+
Apollo配置中心OpenAPI接口文档
- ## 认证方式
+ 认证方式
+ 所有 API 接口都需要通过 Authorization
header 进行身份验证。
- 所有API接口都需要通过Authorization header进行身份验证。
+ 获取 Token 的方式:
+
+ - Portal 管理界面获取:登录 Portal → 管理员工具 → 开放平台授权管理 → 创建第三方应用,获取 Token。
+ - Token 格式:
Authorization: token_value
+ - Token 权限:按应用/环境/命名空间授予,建议不同用途分别创建。
+
- ### 获取Token的方式:
+ 使用示例
+ curl -X GET "http://localhost:8070/openapi/v1/apps" \
+ -H "Authorization: your_token_here"
- 1. **Portal管理界面获取**:
- - 登录Apollo Portal管理界面
- - 进入"管理员工具" -> "开放平台授权管理"
- - 创建第三方应用,获取Token
-
- 2. **Token格式**:
- ```
- Authorization: token_value
- ```
-
- 3. **Token权限**:
- - Token具有对应应用的读写权限
- - 不同Token可能有不同的环境和命名空间权限
- - 建议为不同用途创建不同的Token
-
- ### 使用示例:
- ```bash
- curl -X GET "http://localhost:8070/openapi/v1/apps" \
- -H "Authorization: your_token_here"
- ```
version: 1.0.0
security:
- ApiKeyAuth: []
@@ -79,7 +67,7 @@ paths:
- orgId
- orgName
- ownerName
- description: ''
+ description: 创建应用请求体,包含应用基本信息与管理员设置
required: true
responses:
'200':
@@ -128,7 +116,7 @@ paths:
get:
summary: 获取当前Consumer授权的应用列表
deprecated: false
- description: GET /openapi/v1/apps?authorized=true
+ description: GET /openapi/v1/apps/authorized
tags:
- App Management
parameters:
@@ -181,17 +169,17 @@ paths:
type: string
example:
message: 'Unauthorized'
- /openapi/v1/apps/{appId}/env-clusters:
+ /openapi/v1/apps/{appId}/envclusters:
get:
summary: 获取应用的环境集群信息
deprecated: false
- description: GET /openapi/v1/apps/{appId}/env-clusters
+ description: GET /openapi/v1/apps/{appId}/envclusters
tags:
- App Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -238,7 +226,7 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -281,7 +269,7 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -298,11 +286,11 @@ paths:
- orgId
- orgName
- ownerName
- description: ''
+ description: 更新应用请求体
required: true
responses:
'200':
- description: ''
+ description: 应用更新成功
content:
application/json:
schema:
@@ -350,7 +338,7 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -448,7 +436,7 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -460,7 +448,7 @@ paths:
schema:
type: array
items:
- $ref: '#/components/schemas/EnvClusterInfo'
+ $ref: '#/components/schemas/OpenEnvClusterInfo'
example:
- env: 'DEV'
clusters:
@@ -486,7 +474,7 @@ paths:
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识,例如 DEV、FAT、UAT、PROD
required: true
schema:
type: string
@@ -503,7 +491,7 @@ paths:
- orgId
- orgName
- ownerName
- description: ''
+ description: 在指定环境创建应用的请求体
required: true
responses:
'200':
@@ -550,7 +538,7 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
@@ -578,43 +566,43 @@ paths:
type: string
example:
message: 'App not found'
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}:
get:
summary: 获取单个配置项
deprecated: false
description: >-
GET
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: key
in: path
- description: ''
+ description: 配置项键名
required: true
schema:
type: string
@@ -651,7 +639,7 @@ paths:
deprecated: false
description: >-
PUT
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
tags:
- Item Management
parameters:
@@ -663,19 +651,19 @@ paths:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -756,97 +744,97 @@ paths:
deprecated: false
description: >-
DELETE
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: key
in: path
- description: ''
+ description: 配置项键名
required: true
schema:
type: string
- name: operator
in: query
- description: ''
- required: true
+ description: 操作人用户名
+ required: false
schema:
type: string
responses:
'200':
- description: ''
+ description: 配置项删除成功
content:
application/json:
schema:
type: object
properties: {}
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:
get:
summary: 获取命名空间下的配置项列表
deprecated: false
- description: ''
+ description: 获取指定命名空间的配置项列表,支持分页
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: page
in: query
- description: ''
+ description: 页码,从0开始
required: true
example: 0
schema:
type: integer
- name: size
in: query
- description: ''
+ description: 每页数量
required: true
example: 50
schema:
@@ -904,31 +892,31 @@ paths:
deprecated: false
description: >-
POST
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -943,7 +931,7 @@ paths:
- key
- dataChangeCreatedBy
- value
- description: ''
+ description: 创建配置项请求体
required: true
responses:
'200':
@@ -984,43 +972,43 @@ paths:
type: string
example:
message: 'Access is denied'
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}:
get:
summary: 通过查询参数获取配置项(支持编码的key)
deprecated: false
description: >-
GET
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items?key={key}&encoded={true|false}
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: key
in: path
- description: ''
+ description: 配置项键名(需要URL编码)
required: true
schema:
type: string
@@ -1063,37 +1051,37 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: key
in: path
- description: ''
+ description: 配置项键名(需要URL编码)
required: true
schema:
type: string
- name: createIfNotExists
in: query
- description: ''
+ description: 若不存在则创建(true/false)
required: true
example: 'false'
schema:
@@ -1109,7 +1097,7 @@ paths:
- key
- dataChangeLastModifiedBy
- value
- description: ''
+ description: 更新配置项请求体(编码key)
required: true
responses:
'200':
@@ -1199,7 +1187,7 @@ paths:
- name: operator
in: query
description: ''
- required: true
+ required: false
schema:
type: string
responses:
@@ -1211,13 +1199,13 @@ paths:
type: object
properties: {}
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate:
put:
summary: 通过文本批量修改配置项
deprecated: false
description: >-
PUT
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate
tags:
- Item Management
parameters:
@@ -1251,12 +1239,11 @@ paths:
schema:
type: object
allOf:
- - $ref: '#/components/schemas/NamespaceTextModel'
+ - $ref: '#/components/schemas/OpenNamespaceTextModel'
required:
- - operator
- format
- configText
- description: ''
+ description: 批量更新配置文本请求体
required: true
responses:
'200':
@@ -1270,17 +1257,6 @@ paths:
type: string
example:
message: 'Batch update configuration items successfully'
- '400':
- description: '请求参数错误'
- content:
- application/json:
- schema:
- type: object
- properties:
- message:
- type: string
- example:
- message: 'operator should not be null or empty'
'403':
description: '权限不足'
content:
@@ -1293,43 +1269,43 @@ paths:
example:
message: 'Access is denied'
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items:
get:
summary: 获取分支下的配置项
deprecated: false
description: >-
GET
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
@@ -1371,37 +1347,37 @@ paths:
type: string
example:
message: 'Branch not found'
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare:
+ /openapi/v1/namespaces/items:compare:
post:
summary: 对比命名空间配置差异
deprecated: false
description: >-
POST
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare
+ /openapi/v1/namespaces/items:compare
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -1411,11 +1387,11 @@ paths:
schema:
type: object
allOf:
- - $ref: '#/components/schemas/NamespaceSyncModel'
+ - $ref: '#/components/schemas/OpenNamespaceSyncModel'
required:
- syncToNamespaces
- syncItems
- description: ''
+ description: 对比配置差异请求体
required: true
responses:
'200':
@@ -1425,7 +1401,7 @@ paths:
schema:
type: array
items:
- $ref: '#/components/schemas/ListItemDiffs'
+ $ref: '#/components/schemas/OpenItemDiffs'
example:
- namespace:
appId: ''
@@ -1483,37 +1459,31 @@ paths:
lineNum: 0
extInfo: ''
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync:
+ /openapi/v1/apps/{appId}/namespaces/{namespaceName}/items:sync:
post:
summary: 同步配置项到多个命名空间
deprecated: false
description: >-
POST
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync
+ /openapi/v1/apps/{appId}/namespaces/{namespaceName}/items:sync
tags:
- Item Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
- required: true
- schema:
- type: string
- - name: clusterName
- in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -1523,11 +1493,11 @@ paths:
schema:
type: object
allOf:
- - $ref: '#/components/schemas/NamespaceSyncModel'
+ - $ref: '#/components/schemas/OpenNamespaceSyncModel'
required:
- syncToNamespaces
- syncItems
- description: ''
+ description: 同步配置项请求体
required: true
responses:
'200':
@@ -1564,13 +1534,14 @@ paths:
example:
message: 'Access is denied'
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate:
+ /openapi/apps/{appId}/env/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate:
post:
summary: 验证配置文本语法
+ operationId: validateItems
deprecated: false
description: >-
POST
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate
+ /openapi/apps/{appId}/env/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate
tags:
- Item Management
parameters:
@@ -1604,7 +1575,7 @@ paths:
schema:
type: object
allOf:
- - $ref: '#/components/schemas/NamespaceTextModel'
+ - $ref: '#/components/schemas/OpenNamespaceTextModel'
required:
- format
- configText
@@ -1618,12 +1589,9 @@ paths:
schema:
type: object
properties:
- valid:
- type: boolean
message:
type: string
example:
- valid: true
message: 'Configuration syntax is valid'
'400':
description: '配置文本语法错误'
@@ -1632,28 +1600,18 @@ paths:
schema:
type: object
properties:
- valid:
- type: boolean
message:
type: string
- errors:
- type: array
- items:
- type: string
example:
- valid: false
message: 'Configuration syntax validation failed'
- errors:
- - 'Line 3: Invalid property format'
- - 'Line 7: Missing value for key "database.port"'
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert:
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert:
post:
summary: 撤销配置项更改
deprecated: false
description: >-
POST
- /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert
+ /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert
tags:
- Item Management
parameters:
@@ -1716,11 +1674,11 @@ paths:
example:
message: 'Access is denied'
headers: {}
- /openapi/v1/apps/{appId}/clusters/{clusterName}:
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}:
get:
summary: 获取指定集群信息
deprecated: false
- description: GET /openapi/v1/apps/{appId}/clusters/{clusterName}
+ description: GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
tags:
- Cluster Management
parameters:
@@ -1736,6 +1694,12 @@ paths:
required: true
schema:
type: string
+ - name: env
+ in: path
+ description: ''
+ required: true
+ schema:
+ type: string
responses:
'200':
description: '成功获取集群信息'
@@ -1762,50 +1726,45 @@ paths:
type: string
example:
message: 'Cluster not found'
- /openapi/v1/apps/{appId}/clusters:
- post:
- summary: 创建集群
+ delete:
+ summary: 删除集群
deprecated: false
- description: POST /openapi/v1/apps/{appId}/clusters
+ description: DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
tags:
- Cluster Management
parameters:
+ - name: env
+ in: path
+ description: ''
+ required: true
+ schema:
+ type: string
- name: appId
in: path
description: ''
required: true
schema:
type: string
- requestBody:
- content:
- application/json:
- schema:
- type: object
- allOf:
- - $ref: '#/components/schemas/OpenClusterDTO'
- required:
- - name
- - appId
- - dataChangeCreatedBy
- description: ''
- required: true
+ - name: clusterName
+ in: path
+ description: ''
+ required: true
+ schema:
+ type: string
responses:
'200':
- description: '集群创建成功'
+ description: '集群删除成功'
content:
application/json:
schema:
- $ref: '#/components/schemas/OpenClusterDTO'
+ type: object
+ properties:
+ message:
+ type: string
example:
- dataChangeCreatedBy: 'apollo'
- dataChangeLastModifiedBy: 'apollo'
- dataChangeCreatedTime: '2024-01-15T10:30:00.000Z'
- dataChangeLastModifiedTime: '2024-01-15T10:30:00.000Z'
- name: 'test-cluster'
- appId: 'sample-app'
- headers: {}
+ message: 'Cluster deleted successfully'
'400':
- description: '请求参数错误'
+ description: '删除失败,集群可能包含配置'
content:
application/json:
schema:
@@ -1814,7 +1773,7 @@ paths:
message:
type: string
example:
- message: 'name and dataChangeCreatedBy should not be null or empty'
+ message: 'Cannot delete cluster with existing configurations'
'403':
description: '权限不足'
content:
@@ -1826,46 +1785,67 @@ paths:
type: string
example:
message: 'Access is denied'
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}:
- delete:
- summary: 删除集群
+ '404':
+ description: '集群不存在'
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ message:
+ type: string
+ example:
+ message: 'Cluster not found'
+ headers: { }
+ /openapi/v1/envs/{env}/apps/{appId}/clusters:
+ post:
+ summary: 创建集群
deprecated: false
- description: DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
+ description: POST /openapi/v1/envs/{env}/apps/{appId}/clusters
tags:
- Cluster Management
parameters:
- - name: env
- in: path
- description: ''
- required: true
- schema:
- type: string
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- - name: clusterName
+ - name: env
in: path
- description: ''
required: true
schema:
type: string
+ requestBody:
+ content:
+ application/json:
+ schema:
+ type: object
+ allOf:
+ - $ref: '#/components/schemas/OpenClusterDTO'
+ required:
+ - name
+ - appId
+ - dataChangeCreatedBy
+ description: 创建集群请求体
+ required: true
responses:
'200':
- description: '集群删除成功'
+ description: '集群创建成功'
content:
application/json:
schema:
- type: object
- properties:
- message:
- type: string
+ $ref: '#/components/schemas/OpenClusterDTO'
example:
- message: 'Cluster deleted successfully'
+ dataChangeCreatedBy: 'apollo'
+ dataChangeLastModifiedBy: 'apollo'
+ dataChangeCreatedTime: '2024-01-15T10:30:00.000Z'
+ dataChangeLastModifiedTime: '2024-01-15T10:30:00.000Z'
+ name: 'test-cluster'
+ appId: 'sample-app'
+ headers: {}
'400':
- description: '删除失败,集群可能包含配置'
+ description: '请求参数错误'
content:
application/json:
schema:
@@ -1874,7 +1854,7 @@ paths:
message:
type: string
example:
- message: 'Cannot delete cluster with existing configurations'
+ message: 'name and dataChangeCreatedBy should not be null or empty'
'403':
description: '权限不足'
content:
@@ -1886,47 +1866,35 @@ paths:
type: string
example:
message: 'Access is denied'
- '404':
- description: '集群不存在'
- content:
- application/json:
- schema:
- type: object
- properties:
- message:
- type: string
- example:
- message: 'Cluster not found'
- headers: {}
/openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases:
post:
summary: 创建发布
deprecated: false
- description: ''
+ description: 创建并发布当前命名空间的配置
tags:
- Release Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -1940,7 +1908,7 @@ paths:
required:
- releaseTitle
- releasedBy
- description: ''
+ description: 创建发布请求体
required: true
responses:
'200':
@@ -1991,31 +1959,31 @@ paths:
get:
summary: 获取最新活跃发布
deprecated: false
- description: ''
+ description: 查询命名空间最新活跃发布
tags:
- Release Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -2058,43 +2026,43 @@ paths:
post:
summary: 合并分支
deprecated: false
- description: ''
+ description: 合并灰度分支并可选择删除分支
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
- name: deleteBranch
in: query
- description: ''
+ description: 合并后是否删除分支(true/false)
required: true
example: 'true'
schema:
@@ -2109,7 +2077,7 @@ paths:
required:
- releaseTitle
- releasedBy
- description: ''
+ description: 合并分支并发布的请求体
required: true
responses:
'200':
@@ -2161,37 +2129,37 @@ paths:
post:
summary: 创建灰度发布
deprecated: false
- description: ''
+ description: 在分支上创建灰度发布
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
@@ -2205,11 +2173,11 @@ paths:
required:
- releaseTitle
- releasedBy
- description: ''
+ description: 创建灰度发布请求体
required: true
responses:
'200':
- description: ''
+ description: 灰度发布创建成功
content:
application/json:
schema:
@@ -2304,31 +2272,31 @@ paths:
put:
summary: 回滚发布
deprecated: false
- description: ''
+ description: 回滚到指定的发布版本
tags:
- Release Management
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: releaseId
in: path
- description: ''
+ description: 发布ID
required: true
schema:
type: integer
- name: operator
in: query
- description: ''
- required: true
+ description: 操作人用户名
+ required: false
schema:
type: string
responses:
'200':
- description: ''
+ description: 发布回滚成功
content:
application/json:
schema:
@@ -2345,19 +2313,19 @@ paths:
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: releaseId
in: path
- description: ''
+ description: 发布ID
required: true
schema:
type: integer
responses:
'200':
- description: ''
+ description: 成功获取发布详情
content:
application/json:
schema:
@@ -2388,51 +2356,51 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: page
in: query
- description: ''
+ description: 页码,从0开始
required: true
example: 0
schema:
type: integer
- name: size
in: query
- description: ''
+ description: 每页数量
required: true
example: 5
schema:
type: integer
responses:
'200':
- description: ''
+ description: 成功获取发布列表
content:
application/json:
schema:
type: array
items:
- $ref: '#/components/schemas/ListReleaseBO'
+ $ref: '#/components/schemas/OpenReleaseBO'
example:
- baseInfo:
dataChangeCreatedBy: ''
@@ -2466,45 +2434,45 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: page
in: query
- description: ''
+ description: 页码,从0开始
required: true
example: 0
schema:
type: integer
- name: size
in: query
- description: ''
+ description: 每页数量
required: true
example: 5
schema:
type: integer
responses:
'200':
- description: ''
+ description: 成功获取活跃发布列表
content:
application/json:
schema:
@@ -2525,128 +2493,98 @@ paths:
'': ''
comment: ''
headers: {}
- /openapi/v1/envs/{env}/releases/compare:
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances:
get:
- summary: 对比发布
+ summary: 获取命名空间下的实例数量
deprecated: false
- description: GET /openapi/v1/envs/{env}/releases/compare
+ description: >-
+ GET
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances
tags:
- - Release Management
+ - Instance Management
parameters:
- name: env
in: path
- description: ''
required: true
schema:
type: string
- - name: baseReleaseId
- in: query
- description: ''
- required: true
- schema:
- type: integer
- - name: toCompareReleaseId
- in: query
- description: ''
- required: true
- schema:
- type: integer
- responses:
- '200':
- description: ''
- content:
- application/json:
- schema:
- type: object
- properties:
- changes:
- type: array
- items:
- $ref: '#/components/schemas/Change'
- example:
- changes:
- - type: ''
- entity:
- firstEntity:
- key: ''
- value: ''
- secondEntity:
- key: ''
- value: ''
- headers: {}
- /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances:
- get:
- summary: 获取命名空间下的实例数量
- deprecated: false
- description: >-
- GET
- /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances
- tags:
- - Instance Management
- parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功返回实例数量
content:
application/json:
schema:
type: integer
headers: {}
- /openapi/v1/envs/{env}/releases/{releaseId}/instances:
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances_search:
get:
summary: 根据发布版本查询实例(支持分页)
deprecated: false
- description: GET /openapi/v1/envs/{env}/releases/{releaseId}/instances
+ description: GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances_search
tags:
- Instance Management
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- - name: releaseId
+ - name: appId
in: path
- description: ''
required: true
schema:
- type: integer
+ type: string
+ - name: clusterName
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: namespaceName
+ in: path
+ required: true
+ schema:
+ type: string
+ - name: instanceAppId
+ in: query
+ required: false
+ schema:
+ type: string
- name: page
in: query
- description: ''
+ description: 页码,从0开始
required: true
example: 0
schema:
type: integer
- name: size
in: query
- description: ''
+ description: 每页数量
required: true
example: 20
schema:
type: integer
responses:
'200':
- description: ''
+ description: 成功获取实例列表
content:
application/json:
schema:
@@ -2679,37 +2617,37 @@ paths:
dataChangeLastModifiedTime: ''
dataChangeCreatedTime: ''
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances:
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances_not_in:
get:
summary: 查询不在指定发布版本中的实例
deprecated: false
description: >-
GET
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances?excludeReleases=1,2,3
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances_not_in?excludeReleases=1,2,3
tags:
- Instance Management
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
@@ -2721,7 +2659,7 @@ paths:
type: string
responses:
'200':
- description: ''
+ description: 成功返回实例列表
content:
application/json:
schema:
@@ -3081,19 +3019,19 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功获取AppNamespace
content:
application/json:
schema:
@@ -3119,19 +3057,19 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: AppNamespace删除成功
content:
application/json:
schema:
@@ -3148,13 +3086,13 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功获取发布状态映射
content:
application/json:
schema:
@@ -3177,33 +3115,33 @@ paths:
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: publicNamespaceName
in: path
- description: ''
+ description: 公共命名空间名称
required: true
schema:
type: string
- name: page
in: query
- description: ''
+ description: 页码,从0开始
required: true
example: 0
schema:
type: integer
- name: size
in: query
- description: ''
+ description: 每页数量
required: true
example: 10
schema:
type: integer
responses:
'200':
- description: ''
+ description: 成功获取实例列表
content:
application/json:
schema:
@@ -3243,31 +3181,31 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功获取关联的公共Namespace
content:
application/json:
schema:
@@ -3305,25 +3243,25 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 缺失的命名空间名称列表
content:
application/json:
schema:
@@ -3345,31 +3283,31 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 解除关联成功
content:
application/json:
schema:
@@ -3424,31 +3362,31 @@ paths:
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功获取分支信息
content:
application/json:
schema:
@@ -3493,49 +3431,48 @@ paths:
type: string
example:
message: 'Branch not found for this namespace'
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch:
post:
summary: 创建命名空间分支
deprecated: false
description: >-
POST
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: operator
in: query
- description: ''
- required: true
+ description: 操作人用户名
+ required: false
schema:
type: string
responses:
'200':
- description: ''
+ description: 命名空间分支创建成功
content:
application/json:
schema:
@@ -3573,43 +3510,43 @@ paths:
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
- name: operator
in: query
- description: ''
- required: true
+ description: 操作人用户名
+ required: false
schema:
type: string
responses:
'200':
- description: ''
+ description: 分支删除成功
content:
application/json:
schema:
@@ -3630,47 +3567,41 @@ paths:
parameters:
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
- name: deleteBranch
in: query
- description: ''
+ description: 合并后是否删除分支(true/false)
required: true
example: 'true'
schema:
type: boolean
- - name: X-Apollo-Operator
- in: header
- description: ''
- required: true
- schema:
- type: string
requestBody:
content:
application/json:
@@ -3681,11 +3612,11 @@ paths:
required:
- releaseTitle
- releasedBy
- description: ''
+ description: 合并分支发布请求体
required: true
responses:
'200':
- description: ''
+ description: 分支合并成功
content:
application/json:
schema:
@@ -3704,49 +3635,49 @@ paths:
'': ''
comment: ''
headers: {}
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules:
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/rules:
get:
summary: 获取分支灰度发布规则
deprecated: false
description: >-
GET
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/rules
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
responses:
'200':
- description: ''
+ description: 成功获取灰度发布规则
content:
application/json:
schema:
@@ -3772,44 +3703,44 @@ paths:
deprecated: false
description: >-
PUT
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules
+ /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/rules
tags:
- Namespace Branch Management
parameters:
- name: appId
in: path
- description: ''
+ description: 应用ID
required: true
schema:
type: string
- name: env
in: path
- description: ''
+ description: 环境标识
required: true
schema:
type: string
- name: clusterName
in: path
- description: ''
+ description: 集群名称
required: true
schema:
type: string
- name: namespaceName
in: path
- description: ''
+ description: 命名空间名称
required: true
schema:
type: string
- name: branchName
in: path
- description: ''
+ description: 分支名称
required: true
schema:
type: string
- name: operator
- in: header
- description: ''
- required: true
+ in: query
+ description: 操作人用户名
+ required: false
schema:
type: string
requestBody:
@@ -3821,11 +3752,11 @@ paths:
- $ref: '#/components/schemas/OpenGrayReleaseRuleDTO'
required:
- ruleItems
- description: ''
+ description: 更新灰度发布规则请求体
required: true
responses:
'200':
- description: ''
+ description: 灰度规则更新成功
content:
application/json:
schema:
@@ -3900,7 +3831,6 @@ components:
description: 应用管理员用户名列表。应用负责人默认具有项目管理员权限。管理员可以创建命名空间、集群并分配用户权限
app:
$ref: '#/components/schemas/OpenAppDTO'
- description: 应用基本信息,包含应用的详细配置数据
description: 创建Apollo应用的请求数据传输对象,包含创建应用所需的所有信息
OpenItemDTO:
type: object
@@ -3947,7 +3877,6 @@ components:
type: array
items:
$ref: '#/components/schemas/OpenItemDTO'
- description: com.ctrip.framework.apollo.openapi.dto.OpenItemDTO
description: 当前页的配置项列表,包含具体的配置项数据
description: 分页配置项数据传输对象,用于返回分页查询的配置项列表结果
OpenClusterDTO:
@@ -3974,10 +3903,8 @@ components:
description: Apollo集群信息数据传输对象,表示应用在特定环境下的集群配置
MapString:
type: object
- properties:
- key:
+ additionalProperties:
type: string
- description: 字符串映射对象,用于表示键值对的配置数据结构
OpenReleaseDTO:
type: object
properties:
@@ -4011,7 +3938,6 @@ components:
description: 发布名称,用于标识这次发布的版本或描述
configurations:
$ref: '#/components/schemas/MapString'
- description: 本次发布包含的所有配置项键值对
comment:
type: string
description: 发布备注,描述本次发布的变更内容和目的
@@ -4136,7 +4062,6 @@ components:
type: array
items:
$ref: '#/components/schemas/OpenGrayReleaseRuleItemDTO'
- description: com.ctrip.framework.apollo.openapi.dto.OpenGrayReleaseRuleItemDTO
description: 灰度发布规则项列表,包含具体的灰度规则条件
description: Apollo灰度发布规则数据传输对象,表示完整的灰度发布规则配置
OpenNamespaceDTO:
@@ -4215,359 +4140,188 @@ components:
properties:
env:
type: string
- description: ''
+ description: 环境标识,例如 DEV、FAT、UAT、PROD
clusters:
type: array
items:
type: string
- description: ''
- ClusterDTO:
- type: object
- properties:
- dataChangeCreatedBy:
- type: string
- description: ''
- dataChangeLastModifiedBy:
- type: string
- description: ''
- dataChangeCreatedByDisplayName:
- type: string
- description: ''
- dataChangeLastModifiedByDisplayName:
- type: string
- description: ''
- dataChangeCreatedTime:
- type: string
- description: ''
- dataChangeLastModifiedTime:
- type: string
- description: ''
- id:
- type: integer
- description: ''
- format: int64
- name:
- type: string
- description: ''
- pattern: '[0-9a-zA-Z_-]+[0-9a-zA-Z_.-]*'
- appId:
- type: string
- description: ''
- parentClusterId:
- type: integer
- description: ''
- format: int64
- comment:
- type: string
- description: ''
- required:
- - name
- - appId
- EnvClusterInfo:
+ description: 该环境下的集群名称列表
+ OpenEnvClusterInfo:
type: object
properties:
env:
type: string
- description: ''
+ description: 环境标识
clusters:
type: array
items:
- $ref: '#/components/schemas/ClusterDTO'
- description: com.ctrip.framework.apollo.common.dto.ClusterDTO
- description: ''
+ $ref: '#/components/schemas/OpenClusterDTO'
+ description: 集群信息列表
- NamespaceTextModel:
+ OpenNamespaceTextModel:
type: object
properties:
appId:
type: string
- description: ''
+ description: 应用唯一标识
env:
type: string
- description: ''
+ description: 环境标识
clusterName:
type: string
- description: ''
+ description: 集群名称
namespaceName:
type: string
- description: ''
+ description: 命名空间名称
namespaceId:
type: integer
- description: ''
+ description: 命名空间ID
format: int64
format:
type: string
- description: ''
+ description: 命名空间格式类型(properties/xml/json/yml等)
configText:
type: string
- description: ''
+ description: 配置内容的原始文本
operator:
type: string
- description: ''
- NamespaceIdentifier:
+ description: 操作者用户名
+ OpenNamespaceIdentifier:
type: object
properties:
appId:
type: string
- description: ''
+ description: 应用唯一标识
env:
type: string
- description: ''
+ description: 环境标识
clusterName:
type: string
- description: ''
+ description: 集群名称
namespaceName:
type: string
- description: ''
- ItemDTO:
- type: object
- properties:
- dataChangeCreatedBy:
- type: string
- description: ''
- dataChangeLastModifiedBy:
- type: string
- description: ''
- dataChangeCreatedByDisplayName:
- type: string
- description: ''
- dataChangeLastModifiedByDisplayName:
- type: string
- description: ''
- dataChangeCreatedTime:
- type: string
- description: ''
- dataChangeLastModifiedTime:
- type: string
- description: ''
- id:
- type: integer
- description: ''
- format: int64
- namespaceId:
- type: integer
- description: ''
- format: int64
- key:
- type: string
- description: ''
- type:
- type: integer
- description: ''
- value:
- type: string
- description: ''
- comment:
- type: string
- description: ''
- lineNum:
- type: integer
- description: ''
- ItemChangeSets:
+ description: 命名空间名称
+ OpenItemChangeSets:
type: object
properties:
dataChangeCreatedBy:
type: string
- description: ''
+ description: 变更集合创建者用户名
dataChangeLastModifiedBy:
type: string
- description: ''
+ description: 变更集合最后修改者用户名
dataChangeCreatedByDisplayName:
type: string
- description: ''
+ description: 创建者显示名
dataChangeLastModifiedByDisplayName:
type: string
- description: ''
+ description: 最后修改者显示名
dataChangeCreatedTime:
type: string
- description: ''
+ description: 变更集合创建时间(ISO 8601)
dataChangeLastModifiedTime:
type: string
- description: ''
+ description: 变更集合最后修改时间(ISO 8601)
createItems:
type: array
items:
- $ref: '#/components/schemas/ItemDTO'
- description: com.ctrip.framework.apollo.common.dto.ItemDTO
- description: ''
+ $ref: '#/components/schemas/OpenItemDTO'
+ description: 待创建的配置项列表
default: []
updateItems:
type: array
items:
- $ref: '#/components/schemas/ItemDTO'
- description: com.ctrip.framework.apollo.common.dto.ItemDTO
- description: ''
+ $ref: '#/components/schemas/OpenItemDTO'
+ description: 待更新的配置项列表
default: []
deleteItems:
type: array
items:
- $ref: '#/components/schemas/ItemDTO'
- description: com.ctrip.framework.apollo.common.dto.ItemDTO
- description: ''
+ $ref: '#/components/schemas/OpenItemDTO'
+ description: 待删除的配置项列表
default: []
- ListItemDiffs:
+ OpenItemDiffs:
type: object
properties:
namespace:
- $ref: '#/components/schemas/NamespaceIdentifier'
- description: ''
+ $ref: '#/components/schemas/OpenNamespaceIdentifier'
diffs:
- $ref: '#/components/schemas/ItemChangeSets'
- description: ''
+ $ref: '#/components/schemas/OpenItemChangeSets'
extInfo:
type: string
- description: ''
- NamespaceSyncModel:
+ description: '扩展信息'
+ OpenNamespaceSyncModel:
type: object
properties:
syncToNamespaces:
type: array
items:
- $ref: '#/components/schemas/NamespaceIdentifier'
- description: com.ctrip.framework.apollo.portal.entity.vo.NamespaceIdentifier
- description: ''
+ $ref: '#/components/schemas/OpenNamespaceIdentifier'
+ description: 目标命名空间标识列表
syncItems:
type: array
items:
- $ref: '#/components/schemas/ItemDTO'
- description: com.ctrip.framework.apollo.common.dto.ItemDTO
- description: ''
-
+ $ref: '#/components/schemas/OpenItemDTO'
+ description: 需要同步的配置项列表
- ReleaseDTO:
- type: object
- properties:
- dataChangeCreatedBy:
- type: string
- description: ''
- dataChangeLastModifiedBy:
- type: string
- description: ''
- dataChangeCreatedByDisplayName:
- type: string
- description: ''
- dataChangeLastModifiedByDisplayName:
- type: string
- description: ''
- dataChangeCreatedTime:
- type: string
- description: ''
- dataChangeLastModifiedTime:
- type: string
- description: ''
- id:
- type: integer
- description: ''
- format: int64
- releaseKey:
- type: string
- description: ''
- name:
- type: string
- description: ''
- appId:
- type: string
- description: ''
- clusterName:
- type: string
- description: ''
- namespaceName:
- type: string
- description: ''
- configurations:
- type: string
- description: ''
- comment:
- type: string
- description: ''
- isAbandoned:
- type: boolean
- description: ''
KVEntity:
type: object
properties:
key:
type: string
- description: ''
+ description: 键
value:
type: string
- description: ''
- ListReleaseBO:
+ description: 值
+ OpenReleaseBO:
type: object
properties:
baseInfo:
- $ref: '#/components/schemas/ReleaseDTO'
- description: ''
+ $ref: '#/components/schemas/OpenReleaseDTO'
items:
type: array
items:
$ref: '#/components/schemas/KVEntity'
- description: com.ctrip.framework.apollo.portal.entity.bo.KVEntity
- description: ''
- EntityPairKVEntity:
- type: object
- properties:
- firstEntity:
- $ref: '#/components/schemas/KVEntity'
- description: ''
- secondEntity:
- $ref: '#/components/schemas/KVEntity'
- description: ''
- Change:
- type: object
- properties:
- type:
- type: string
- description: ''
- enum:
- - ADDED
- - MODIFIED
- - DELETED
- entity:
- $ref: '#/components/schemas/EntityPairKVEntity'
- description: ''
OpenInstanceConfigDTO:
type: object
properties:
release:
$ref: '#/components/schemas/OpenReleaseDTO'
- description: ''
releaseDeliveryTime:
type: string
- description: ''
+ description: 配置下发时间(ISO 8601)
dataChangeLastModifiedTime:
type: string
- description: ''
- OpenInstanceDTO: &ref_3
+ description: 最后修改时间(ISO 8601)
+ OpenInstanceDTO:
type: object
properties:
id:
type: integer
- description: ''
+ description: 实例ID
format: int64
appId:
type: string
- description: ''
+ description: 实例所属应用ID
clusterName:
type: string
- description: ''
+ description: 实例所属集群名称
dataCenter:
type: string
- description: ''
+ description: 数据中心/机房标识
ip:
type: string
- description: ''
+ description: 实例IP地址
configs:
type: array
items:
$ref: '#/components/schemas/OpenInstanceConfigDTO'
- description: com.ctrip.framework.apollo.openapi.dto.OpenInstanceConfigDTO
- description: ''
+ description: 实例当前生效的配置列表
dataChangeCreatedTime:
type: string
- description: ''
+ description: 数据创建时间(ISO 8601)
@@ -4576,10 +4330,10 @@ components:
properties:
orgId:
type: string
- description: ''
+ description: 组织ID
orgName:
type: string
- description: ''
+ description: 组织名称
servers: []
diff --git a/clean.sh b/clean.sh
index 0fb5548..1f46cc9 100755
--- a/clean.sh
+++ b/clean.sh
@@ -1,13 +1,15 @@
#!/bin/bash
set -e
-
+SPRING_BOOT2_DIR="spring-boot2"
JAVA_DIR="java"
PYTHON_DIR="python"
RUST_DIR="rust"
TS_DIR="typescript"
+
echo "🧹 Cleaning old generated SDKs..."
rm -rf "$JAVA_DIR"
rm -rf "$PYTHON_DIR"
rm -rf "$RUST_DIR"
rm -rf "$TS_DIR"
+rm -rf "$SPRING_BOOT2_DIR"
diff --git a/generate.sh b/generate.sh
index 0aa9363..1a7630f 100755
--- a/generate.sh
+++ b/generate.sh
@@ -2,40 +2,51 @@
set -e
SPEC_FILE="apollo-openapi.yaml"
-JAVA_CLIENT_DIR="java-client"
SPRING_BOOT2_DIR="spring-boot2"
+JAVA_DIR="java"
PYTHON_DIR="python"
RUST_DIR="rust"
TS_DIR="typescript"
echo "🧹 Cleaning old generated SDKs..."
-rm -rf "$JAVA_CLIENT_DIR"
+rm -rf "$JAVA_DIR"
rm -rf "$SPRING_BOOT2_DIR"
rm -rf "$PYTHON_DIR"
rm -rf "$RUST_DIR"
rm -rf "$TS_DIR"
+#
+#echo "🚀 Generating Python SDK..."
+#openapi-generator generate
+# -i "$SPEC_FILE"
+# -g python
+# -o "$PYTHON_DIR"
+# --package-name apollo_openapi
+# --additional-properties=projectName=apollo-openapi,packageVersion=0.0.1
+#
+#echo "🚀 Generating TypeScript SDK..."
+#openapi-generator generate
+# -i "$SPEC_FILE"
+# -g typescript-fetch
+# -o "$TS_DIR"
+# --additional-properties=npmName=apollo-openapi,npmVersion=0.0.1,typescriptThreePlus=true
+#
+#echo "🚀 Generating Rust SDK..."
+#openapi-generator generate
+# -i "$SPEC_FILE"
+# -g rus
+# -o "$RUST_DIR"
+# --global-property models,supportingFiles
+# --additional-properties=packageName=apollo-openapi,packageVersion=0.0.1
+#
+#echo "🚀 Generating Java SDK..."
+#openapi-generator generate
+# -i "$SPEC_FILE"
+# -g java
+# -o "$JAVA_DIR"
+# --additional-properties=groupId=com.apollo,artifactId=apollo-openapi-client,artifactVersion=0.0.1,packageName=com.apollo.openapi.client
+#
+#echo "✅ SDK generation complete."
-echo "🚀 Generating Python SDK..."
-openapi-generator generate \
- -i "$SPEC_FILE" \
- -g python \
- -o "$PYTHON_DIR" \
- --package-name apollo_openapi \
- --additional-properties=projectName=apollo-openapi,packageVersion=0.0.1
-
-echo "🚀 Generating TypeScript SDK..."
-openapi-generator generate \
- -i "$SPEC_FILE" \
- -g typescript-fetch \
- -o "$TS_DIR" \
- --additional-properties=npmName=apollo-openapi,npmVersion=0.0.1,typescriptThreePlus=true
-
-echo "🚀 Generating Java Client SDK..."
-openapi-generator generate \
- -i "$SPEC_FILE" \
- -g java \
- -o "$JAVA_CLIENT_DIR" \
- --additional-properties=groupId=com.apollo,artifactId=apollo-openapi-client,artifactVersion=0.0.1,packageName=com.apollo.openapi.client
echo "🚀 Generating Spring Boot 2 Server..."
openapi-generator generate \
@@ -47,8 +58,14 @@ openapi-generator generate \
echo "📦 Adding Maven Wrapper to Spring Boot 2 project..."
cd "$SPRING_BOOT2_DIR"
mvn -N io.takari:maven:wrapper -Dmaven=3.8.6
-cd ..
+echo "Cleaning files (trailing spaces, CRLF, EOF newlines)..."
+find . -type d \( -name .git -o -name .idea -o -name .mvn -o -name target -o -name build -o -name node_modules \) -prune -o \
+ -type f \( -name "*.java" -o -name "*.xml" -o -name "*.properties" -o -name "*.md" -o -name "*.yml" -o -name "*.yaml" -o -name "*.sh" -o -name ".editorconfig" -o -name ".gitignore" -o -name "mvnw" -o -name "mvnw.cmd" \) -print0 \
+| xargs -0 perl -i -0777 -pe 's/[ \t]+(?=\r?$)//mg; s/\r//g; s/\s*\z/\n/s'
+echo "Done."
+
+cd ..
echo "💡 Spring Boot 2 project ready! To start the server, run:"
echo " cd $SPRING_BOOT2_DIR && ./mvnw spring-boot:run"
@@ -59,13 +76,3 @@ if [ "$1" = "--start-spring-boot" ]; then
echo "✅ Spring Boot server started in background. Access it at http://localhost:8080"
cd ..
fi
-
-echo "🚀 Generating Rust SDK..."
-openapi-generator generate \
- -i "$SPEC_FILE" \
- -g rust \
- -o "$RUST_DIR" \
- --global-property models,supportingFiles \
- --additional-properties=packageName=apollo-openapi,packageVersion=0.0.1
-
-echo "✅ SDK generation complete."
diff --git a/java-client/.github/workflows/maven.yml b/java-client/.github/workflows/maven.yml
deleted file mode 100644
index 1ddae88..0000000
--- a/java-client/.github/workflows/maven.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
-# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
-#
-# This file is auto-generated by OpenAPI Generator (https://openapi-generator.tech)
-
-name: Java CI with Maven
-
-on:
- push:
- branches: [ main, master ]
- pull_request:
- branches: [ main, master ]
-
-jobs:
- build:
- name: Build Apollo OpenAPI
- runs-on: ubuntu-latest
- strategy:
- matrix:
- java: [ 17, 21 ]
- steps:
- - uses: actions/checkout@v4
- - name: Set up JDK
- uses: actions/setup-java@v4
- with:
- java-version: ${{ matrix.java }}
- distribution: 'temurin'
- cache: maven
- - name: Build with Maven
- run: mvn -B package --no-transfer-progress --file pom.xml
diff --git a/java-client/.gitignore b/java-client/.gitignore
deleted file mode 100644
index a530464..0000000
--- a/java-client/.gitignore
+++ /dev/null
@@ -1,21 +0,0 @@
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
-# exclude jar for gradle wrapper
-!gradle/wrapper/*.jar
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-# build files
-**/target
-target
-.gradle
-build
diff --git a/java-client/.openapi-generator-ignore b/java-client/.openapi-generator-ignore
deleted file mode 100644
index 7484ee5..0000000
--- a/java-client/.openapi-generator-ignore
+++ /dev/null
@@ -1,23 +0,0 @@
-# OpenAPI Generator Ignore
-# Generated by openapi-generator https://github.com/openapitools/openapi-generator
-
-# Use this file to prevent files from being overwritten by the generator.
-# The patterns follow closely to .gitignore or .dockerignore.
-
-# As an example, the C# client generator defines ApiClient.cs.
-# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
-#ApiClient.cs
-
-# You can match any string of characters against a directory, file or extension with a single asterisk (*):
-#foo/*/qux
-# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
-
-# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
-#foo/**/qux
-# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
-
-# You can also negate patterns with an exclamation (!).
-# For example, you can ignore all files in a docs folder with the file extension .md:
-#docs/*.md
-# Then explicitly reverse the ignore rule for a single file:
-#!docs/README.md
diff --git a/java-client/.openapi-generator/FILES b/java-client/.openapi-generator/FILES
deleted file mode 100644
index 5f140ce..0000000
--- a/java-client/.openapi-generator/FILES
+++ /dev/null
@@ -1,173 +0,0 @@
-.github/workflows/maven.yml
-.gitignore
-.openapi-generator-ignore
-.travis.yml
-README.md
-api/openapi.yaml
-build.gradle
-build.sbt
-docs/AppManagementApi.md
-docs/Change.md
-docs/ClusterDTO.md
-docs/ClusterManagementApi.md
-docs/EntityPairKVEntity.md
-docs/EnvClusterInfo.md
-docs/InstanceManagementApi.md
-docs/ItemChangeSets.md
-docs/ItemDTO.md
-docs/ItemManagementApi.md
-docs/KVEntity.md
-docs/ListItemDiffs.md
-docs/ListReleaseBO.md
-docs/MapString.md
-docs/NamespaceBranchManagementApi.md
-docs/NamespaceGrayDelReleaseDTO.md
-docs/NamespaceIdentifier.md
-docs/NamespaceManagementApi.md
-docs/NamespaceReleaseDTO.md
-docs/NamespaceSyncModel.md
-docs/NamespaceTextModel.md
-docs/OpenAppDTO.md
-docs/OpenAppNamespaceDTO.md
-docs/OpenClusterDTO.md
-docs/OpenCreateAppDTO.md
-docs/OpenEnvClusterDTO.md
-docs/OpenGrayReleaseRuleDTO.md
-docs/OpenGrayReleaseRuleItemDTO.md
-docs/OpenInstanceConfigDTO.md
-docs/OpenInstanceDTO.md
-docs/OpenItemDTO.md
-docs/OpenNamespaceDTO.md
-docs/OpenNamespaceLockDTO.md
-docs/OpenOrganizationDto.md
-docs/OpenPageDTOOpenInstanceDTO.md
-docs/OpenPageDTOOpenItemDTO.md
-docs/OpenReleaseDTO.md
-docs/OpenapiV1AppsGet401Response.md
-docs/OpenapiV1AppsPost400Response.md
-docs/OpenapiV1AppsPostRequest.md
-docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md
-docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.md
-docs/OpenapiV1EnvsEnvReleasesCompareGet200Response.md
-docs/OrganizationManagementApi.md
-docs/ReleaseDTO.md
-docs/ReleaseManagementApi.md
-git_push.sh
-gradle.properties
-gradle/wrapper/gradle-wrapper.jar
-gradle/wrapper/gradle-wrapper.properties
-gradlew
-gradlew.bat
-pom.xml
-settings.gradle
-src/main/AndroidManifest.xml
-src/main/java/org/openapitools/client/ApiCallback.java
-src/main/java/org/openapitools/client/ApiClient.java
-src/main/java/org/openapitools/client/ApiException.java
-src/main/java/org/openapitools/client/ApiResponse.java
-src/main/java/org/openapitools/client/Configuration.java
-src/main/java/org/openapitools/client/GzipRequestInterceptor.java
-src/main/java/org/openapitools/client/JSON.java
-src/main/java/org/openapitools/client/Pair.java
-src/main/java/org/openapitools/client/ProgressRequestBody.java
-src/main/java/org/openapitools/client/ProgressResponseBody.java
-src/main/java/org/openapitools/client/ServerConfiguration.java
-src/main/java/org/openapitools/client/ServerVariable.java
-src/main/java/org/openapitools/client/StringUtil.java
-src/main/java/org/openapitools/client/api/AppManagementApi.java
-src/main/java/org/openapitools/client/api/ClusterManagementApi.java
-src/main/java/org/openapitools/client/api/InstanceManagementApi.java
-src/main/java/org/openapitools/client/api/ItemManagementApi.java
-src/main/java/org/openapitools/client/api/NamespaceBranchManagementApi.java
-src/main/java/org/openapitools/client/api/NamespaceManagementApi.java
-src/main/java/org/openapitools/client/api/OrganizationManagementApi.java
-src/main/java/org/openapitools/client/api/ReleaseManagementApi.java
-src/main/java/org/openapitools/client/auth/ApiKeyAuth.java
-src/main/java/org/openapitools/client/auth/Authentication.java
-src/main/java/org/openapitools/client/auth/HttpBasicAuth.java
-src/main/java/org/openapitools/client/auth/HttpBearerAuth.java
-src/main/java/org/openapitools/client/model/AbstractOpenApiSchema.java
-src/main/java/org/openapitools/client/model/Change.java
-src/main/java/org/openapitools/client/model/ClusterDTO.java
-src/main/java/org/openapitools/client/model/EntityPairKVEntity.java
-src/main/java/org/openapitools/client/model/EnvClusterInfo.java
-src/main/java/org/openapitools/client/model/ItemChangeSets.java
-src/main/java/org/openapitools/client/model/ItemDTO.java
-src/main/java/org/openapitools/client/model/KVEntity.java
-src/main/java/org/openapitools/client/model/ListItemDiffs.java
-src/main/java/org/openapitools/client/model/ListReleaseBO.java
-src/main/java/org/openapitools/client/model/MapString.java
-src/main/java/org/openapitools/client/model/NamespaceGrayDelReleaseDTO.java
-src/main/java/org/openapitools/client/model/NamespaceIdentifier.java
-src/main/java/org/openapitools/client/model/NamespaceReleaseDTO.java
-src/main/java/org/openapitools/client/model/NamespaceSyncModel.java
-src/main/java/org/openapitools/client/model/NamespaceTextModel.java
-src/main/java/org/openapitools/client/model/OpenAppDTO.java
-src/main/java/org/openapitools/client/model/OpenAppNamespaceDTO.java
-src/main/java/org/openapitools/client/model/OpenClusterDTO.java
-src/main/java/org/openapitools/client/model/OpenCreateAppDTO.java
-src/main/java/org/openapitools/client/model/OpenEnvClusterDTO.java
-src/main/java/org/openapitools/client/model/OpenGrayReleaseRuleDTO.java
-src/main/java/org/openapitools/client/model/OpenGrayReleaseRuleItemDTO.java
-src/main/java/org/openapitools/client/model/OpenInstanceConfigDTO.java
-src/main/java/org/openapitools/client/model/OpenInstanceDTO.java
-src/main/java/org/openapitools/client/model/OpenItemDTO.java
-src/main/java/org/openapitools/client/model/OpenNamespaceDTO.java
-src/main/java/org/openapitools/client/model/OpenNamespaceLockDTO.java
-src/main/java/org/openapitools/client/model/OpenOrganizationDto.java
-src/main/java/org/openapitools/client/model/OpenPageDTOOpenInstanceDTO.java
-src/main/java/org/openapitools/client/model/OpenPageDTOOpenItemDTO.java
-src/main/java/org/openapitools/client/model/OpenReleaseDTO.java
-src/main/java/org/openapitools/client/model/OpenapiV1AppsGet401Response.java
-src/main/java/org/openapitools/client/model/OpenapiV1AppsPost400Response.java
-src/main/java/org/openapitools/client/model/OpenapiV1AppsPostRequest.java
-src/main/java/org/openapitools/client/model/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.java
-src/main/java/org/openapitools/client/model/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.java
-src/main/java/org/openapitools/client/model/OpenapiV1EnvsEnvReleasesCompareGet200Response.java
-src/main/java/org/openapitools/client/model/ReleaseDTO.java
-src/test/java/org/openapitools/client/api/AppManagementApiTest.java
-src/test/java/org/openapitools/client/api/ClusterManagementApiTest.java
-src/test/java/org/openapitools/client/api/InstanceManagementApiTest.java
-src/test/java/org/openapitools/client/api/ItemManagementApiTest.java
-src/test/java/org/openapitools/client/api/NamespaceBranchManagementApiTest.java
-src/test/java/org/openapitools/client/api/NamespaceManagementApiTest.java
-src/test/java/org/openapitools/client/api/OrganizationManagementApiTest.java
-src/test/java/org/openapitools/client/api/ReleaseManagementApiTest.java
-src/test/java/org/openapitools/client/model/ChangeTest.java
-src/test/java/org/openapitools/client/model/ClusterDTOTest.java
-src/test/java/org/openapitools/client/model/EntityPairKVEntityTest.java
-src/test/java/org/openapitools/client/model/EnvClusterInfoTest.java
-src/test/java/org/openapitools/client/model/ItemChangeSetsTest.java
-src/test/java/org/openapitools/client/model/ItemDTOTest.java
-src/test/java/org/openapitools/client/model/KVEntityTest.java
-src/test/java/org/openapitools/client/model/ListItemDiffsTest.java
-src/test/java/org/openapitools/client/model/ListReleaseBOTest.java
-src/test/java/org/openapitools/client/model/MapStringTest.java
-src/test/java/org/openapitools/client/model/NamespaceGrayDelReleaseDTOTest.java
-src/test/java/org/openapitools/client/model/NamespaceIdentifierTest.java
-src/test/java/org/openapitools/client/model/NamespaceReleaseDTOTest.java
-src/test/java/org/openapitools/client/model/NamespaceSyncModelTest.java
-src/test/java/org/openapitools/client/model/NamespaceTextModelTest.java
-src/test/java/org/openapitools/client/model/OpenAppDTOTest.java
-src/test/java/org/openapitools/client/model/OpenAppNamespaceDTOTest.java
-src/test/java/org/openapitools/client/model/OpenClusterDTOTest.java
-src/test/java/org/openapitools/client/model/OpenCreateAppDTOTest.java
-src/test/java/org/openapitools/client/model/OpenEnvClusterDTOTest.java
-src/test/java/org/openapitools/client/model/OpenGrayReleaseRuleDTOTest.java
-src/test/java/org/openapitools/client/model/OpenGrayReleaseRuleItemDTOTest.java
-src/test/java/org/openapitools/client/model/OpenInstanceConfigDTOTest.java
-src/test/java/org/openapitools/client/model/OpenInstanceDTOTest.java
-src/test/java/org/openapitools/client/model/OpenItemDTOTest.java
-src/test/java/org/openapitools/client/model/OpenNamespaceDTOTest.java
-src/test/java/org/openapitools/client/model/OpenNamespaceLockDTOTest.java
-src/test/java/org/openapitools/client/model/OpenOrganizationDtoTest.java
-src/test/java/org/openapitools/client/model/OpenPageDTOOpenInstanceDTOTest.java
-src/test/java/org/openapitools/client/model/OpenPageDTOOpenItemDTOTest.java
-src/test/java/org/openapitools/client/model/OpenReleaseDTOTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1AppsGet401ResponseTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1AppsPost400ResponseTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1AppsPostRequestTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200ResponseTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400ResponseTest.java
-src/test/java/org/openapitools/client/model/OpenapiV1EnvsEnvReleasesCompareGet200ResponseTest.java
-src/test/java/org/openapitools/client/model/ReleaseDTOTest.java
diff --git a/java-client/.openapi-generator/VERSION b/java-client/.openapi-generator/VERSION
deleted file mode 100644
index 368fd8f..0000000
--- a/java-client/.openapi-generator/VERSION
+++ /dev/null
@@ -1 +0,0 @@
-7.15.0
diff --git a/java-client/.travis.yml b/java-client/.travis.yml
deleted file mode 100644
index 1b6741c..0000000
--- a/java-client/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Generated by OpenAPI Generator: https://openapi-generator.tech
-#
-# Ref: https://docs.travis-ci.com/user/languages/java/
-#
-language: java
-jdk:
- - openjdk12
- - openjdk11
- - openjdk10
- - openjdk9
- - openjdk8
-before_install:
- # ensure gradlew has proper permission
- - chmod a+x ./gradlew
-script:
- # test using maven
- #- mvn test
- # test using gradle
- - gradle test
- # test using sbt
- # - sbt test
diff --git a/java-client/README.md b/java-client/README.md
deleted file mode 100644
index 406ea57..0000000
--- a/java-client/README.md
+++ /dev/null
@@ -1,278 +0,0 @@
-# apollo-openapi-client
-
-Apollo OpenAPI
-- API version: 1.0.0
- - Build date: 2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]
- - Generator version: 7.15.0
-
-Apollo配置中心OpenAPI接口文档
-
-## 认证方式
-
-所有API接口都需要通过Authorization header进行身份验证。
-
-### 获取Token的方式:
-
-1. **Portal管理界面获取**:
- - 登录Apollo Portal管理界面
- - 进入\"管理员工具\" -> \"开放平台授权管理\"
- - 创建第三方应用,获取Token
-
-2. **Token格式**:
- ```
- Authorization: token_value
- ```
-
-3. **Token权限**:
- - Token具有对应应用的读写权限
- - 不同Token可能有不同的环境和命名空间权限
- - 建议为不同用途创建不同的Token
-
-### 使用示例:
-```bash
-curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\
- -H \"Authorization: your_token_here\"
-```
-
-
-
-*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*
-
-
-## Requirements
-
-Building the API client library requires:
-1. Java 1.8+
-2. Maven (3.8.3+)/Gradle (7.2+)
-
-## Installation
-
-To install the API client library to your local Maven repository, simply execute:
-
-```shell
-mvn clean install
-```
-
-To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
-
-```shell
-mvn clean deploy
-```
-
-Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.
-
-### Maven users
-
-Add this dependency to your project's POM:
-
-```xml
-
- com.apollo
- apollo-openapi-client
- 0.0.1
- compile
-
-```
-
-### Gradle users
-
-Add this dependency to your project's build file:
-
-```groovy
- repositories {
- mavenCentral() // Needed if the 'apollo-openapi-client' jar has been published to maven central.
- mavenLocal() // Needed if the 'apollo-openapi-client' jar has been published to the local maven repo.
- }
-
- dependencies {
- implementation "com.apollo:apollo-openapi-client:0.0.1"
- }
-```
-
-### Others
-
-At first generate the JAR by executing:
-
-```shell
-mvn clean package
-```
-
-Then manually install the following JARs:
-
-* `target/apollo-openapi-client-0.0.1.jar`
-* `target/lib/*.jar`
-
-## Getting Started
-
-Please follow the [installation](#installation) instruction and execute the following Java code:
-
-```java
-
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.model.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- Object result = apiInstance.openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(appId, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdAppnamespacesNamespaceNameDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-
-```
-
-## Documentation for API Endpoints
-
-All URIs are relative to *http://localhost*
-
-Class | Method | HTTP request | Description
------------- | ------------- | ------------- | -------------
-*AppManagementApi* | [**openapiV1AppsAppIdAppnamespacesNamespaceNameDelete**](docs/AppManagementApi.md#openapiV1AppsAppIdAppnamespacesNamespaceNameDelete) | **DELETE** /openapi/v1/apps/{appId}/appnamespaces/{namespaceName} | 删除AppNamespace
-*AppManagementApi* | [**openapiV1AppsAppIdDelete**](docs/AppManagementApi.md#openapiV1AppsAppIdDelete) | **DELETE** /openapi/v1/apps/{appId} | 删除应用
-*AppManagementApi* | [**openapiV1AppsAppIdEnvClustersGet**](docs/AppManagementApi.md#openapiV1AppsAppIdEnvClustersGet) | **GET** /openapi/v1/apps/{appId}/env-clusters | 获取应用的环境集群信息
-*AppManagementApi* | [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete**](docs/AppManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete) | **DELETE** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/links | 删除关联的Namespace
-*AppManagementApi* | [**openapiV1AppsAppIdGet**](docs/AppManagementApi.md#openapiV1AppsAppIdGet) | **GET** /openapi/v1/apps/{appId} | 获取单个应用信息
-*AppManagementApi* | [**openapiV1AppsAppIdMissEnvsGet**](docs/AppManagementApi.md#openapiV1AppsAppIdMissEnvsGet) | **GET** /openapi/v1/apps/{appId}/miss_envs | 查找缺失的环境
-*AppManagementApi* | [**openapiV1AppsAppIdNamespacesReleasesStatusGet**](docs/AppManagementApi.md#openapiV1AppsAppIdNamespacesReleasesStatusGet) | **GET** /openapi/v1/apps/{appId}/namespaces/releases/status | 获取应用下所有Namespace的发布状态
-*AppManagementApi* | [**openapiV1AppsAppIdNavtreeGet**](docs/AppManagementApi.md#openapiV1AppsAppIdNavtreeGet) | **GET** /openapi/v1/apps/{appId}/navtree | 获取应用导航树
-*AppManagementApi* | [**openapiV1AppsAppIdPut**](docs/AppManagementApi.md#openapiV1AppsAppIdPut) | **PUT** /openapi/v1/apps/{appId} | 更新应用
-*AppManagementApi* | [**openapiV1AppsBySelfGet**](docs/AppManagementApi.md#openapiV1AppsBySelfGet) | **GET** /openapi/v1/apps/by-self | 获取当前Consumer的应用列表(分页)
-*AppManagementApi* | [**openapiV1AppsEnvsEnvPost**](docs/AppManagementApi.md#openapiV1AppsEnvsEnvPost) | **POST** /openapi/v1/apps/envs/{env} | 在指定环境创建应用
-*AppManagementApi* | [**openapiV1AppsGet**](docs/AppManagementApi.md#openapiV1AppsGet) | **GET** /openapi/v1/apps | 获取当前Consumer授权的应用列表
-*AppManagementApi* | [**openapiV1AppsPost**](docs/AppManagementApi.md#openapiV1AppsPost) | **POST** /openapi/v1/apps | 创建应用
-*ClusterManagementApi* | [**openapiV1AppsAppIdClustersClusterNameGet**](docs/ClusterManagementApi.md#openapiV1AppsAppIdClustersClusterNameGet) | **GET** /openapi/v1/apps/{appId}/clusters/{clusterName} | 获取指定集群信息
-*ClusterManagementApi* | [**openapiV1AppsAppIdClustersPost**](docs/ClusterManagementApi.md#openapiV1AppsAppIdClustersPost) | **POST** /openapi/v1/apps/{appId}/clusters | 创建集群
-*ClusterManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete**](docs/ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName} | 删除集群
-*ClusterManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet**](docs/ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches | 获取命名空间分支信息
-*ClusterManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet**](docs/ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName} | 获取指定的Namespace
-*InstanceManagementApi* | [**openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**](docs/InstanceManagementApi.md#openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet) | **GET** /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances | 获取命名空间下的实例数量
-*InstanceManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**](docs/InstanceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances | 查询不在指定发布版本中的实例
-*InstanceManagementApi* | [**openapiV1EnvsEnvReleasesReleaseIdInstancesGet**](docs/InstanceManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdInstancesGet) | **GET** /openapi/v1/envs/{env}/releases/{releaseId}/instances | 根据发布版本查询实例(支持分页)
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过编码的key删除配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过查询参数获取配置项(支持编码的key)
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过编码的key更新配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate | 通过文本批量修改配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare | 对比命名空间配置差异
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items | 获取命名空间下的配置项列表
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 删除配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 获取单个配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 更新配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items | 创建新的配置项
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert | 撤销配置项更改
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync | 同步配置项到多个命名空间
-*ItemManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost**](docs/ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate | 验证配置文本语法
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch | 创建命名空间分支
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName} | 删除命名空间分支
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-del-releases | 创建灰度删除发布
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules | 获取分支灰度发布规则
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules | 更新分支灰度发布规则
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items | 获取分支下的配置项
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/merge | 合并分支
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch) | **PATCH** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName} | 合并分支到主分支
-*NamespaceBranchManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost**](docs/NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/releases | 创建灰度发布
-*NamespaceManagementApi* | [**openapiV1AppnamespacesGet**](docs/NamespaceManagementApi.md#openapiV1AppnamespacesGet) | **GET** /openapi/v1/appnamespaces | 获取所有公共AppNamespace
-*NamespaceManagementApi* | [**openapiV1AppsAppIdAppnamespacesGet**](docs/NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesGet) | **GET** /openapi/v1/apps/{appId}/appnamespaces | 获取指定应用的AppNamespace
-*NamespaceManagementApi* | [**openapiV1AppsAppIdAppnamespacesNamespaceNameGet**](docs/NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesNamespaceNameGet) | **GET** /openapi/v1/apps/{appId}/appnamespaces/{namespaceName} | 获取指定的AppNamespace
-*NamespaceManagementApi* | [**openapiV1AppsAppIdAppnamespacesPost**](docs/NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesPost) | **POST** /openapi/v1/apps/{appId}/appnamespaces | 创建AppNamespace
-*NamespaceManagementApi* | [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet**](docs/NamespaceManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet) | **GET** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/integrity-check | 检查缺失的Namespace
-*NamespaceManagementApi* | [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet**](docs/NamespaceManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet) | **GET** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/public-association | 获取关联的公共Namespace
-*NamespaceManagementApi* | [**openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet**](docs/NamespaceManagementApi.md#openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet) | **GET** /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances | 获取公共AppNamespace的所有实例
-*NamespaceManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet**](docs/NamespaceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces | 获取指定集群下的所有Namespace
-*NamespaceManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet**](docs/NamespaceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock | 获取Namespace的锁状态
-*OrganizationManagementApi* | [**openapiV1OrganizationsGet**](docs/OrganizationManagementApi.md#openapiV1OrganizationsGet) | **GET** /openapi/v1/organizations | 获取所有组织信息
-*ReleaseManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active | 获取活跃发布(分页)
-*ReleaseManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/all | 获取所有发布(分页)
-*ReleaseManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest | 获取最新活跃发布
-*ReleaseManagementApi* | [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases | 创建发布
-*ReleaseManagementApi* | [**openapiV1EnvsEnvReleasesCompareGet**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvReleasesCompareGet) | **GET** /openapi/v1/envs/{env}/releases/compare | 对比发布
-*ReleaseManagementApi* | [**openapiV1EnvsEnvReleasesReleaseIdGet**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdGet) | **GET** /openapi/v1/envs/{env}/releases/{releaseId} | 获取发布详情
-*ReleaseManagementApi* | [**openapiV1EnvsEnvReleasesReleaseIdRollbackPut**](docs/ReleaseManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdRollbackPut) | **PUT** /openapi/v1/envs/{env}/releases/{releaseId}/rollback | 回滚发布
-
-
-## Documentation for Models
-
- - [Change](docs/Change.md)
- - [ClusterDTO](docs/ClusterDTO.md)
- - [EntityPairKVEntity](docs/EntityPairKVEntity.md)
- - [EnvClusterInfo](docs/EnvClusterInfo.md)
- - [ItemChangeSets](docs/ItemChangeSets.md)
- - [ItemDTO](docs/ItemDTO.md)
- - [KVEntity](docs/KVEntity.md)
- - [ListItemDiffs](docs/ListItemDiffs.md)
- - [ListReleaseBO](docs/ListReleaseBO.md)
- - [MapString](docs/MapString.md)
- - [NamespaceGrayDelReleaseDTO](docs/NamespaceGrayDelReleaseDTO.md)
- - [NamespaceIdentifier](docs/NamespaceIdentifier.md)
- - [NamespaceReleaseDTO](docs/NamespaceReleaseDTO.md)
- - [NamespaceSyncModel](docs/NamespaceSyncModel.md)
- - [NamespaceTextModel](docs/NamespaceTextModel.md)
- - [OpenAppDTO](docs/OpenAppDTO.md)
- - [OpenAppNamespaceDTO](docs/OpenAppNamespaceDTO.md)
- - [OpenClusterDTO](docs/OpenClusterDTO.md)
- - [OpenCreateAppDTO](docs/OpenCreateAppDTO.md)
- - [OpenEnvClusterDTO](docs/OpenEnvClusterDTO.md)
- - [OpenGrayReleaseRuleDTO](docs/OpenGrayReleaseRuleDTO.md)
- - [OpenGrayReleaseRuleItemDTO](docs/OpenGrayReleaseRuleItemDTO.md)
- - [OpenInstanceConfigDTO](docs/OpenInstanceConfigDTO.md)
- - [OpenInstanceDTO](docs/OpenInstanceDTO.md)
- - [OpenItemDTO](docs/OpenItemDTO.md)
- - [OpenNamespaceDTO](docs/OpenNamespaceDTO.md)
- - [OpenNamespaceLockDTO](docs/OpenNamespaceLockDTO.md)
- - [OpenOrganizationDto](docs/OpenOrganizationDto.md)
- - [OpenPageDTOOpenInstanceDTO](docs/OpenPageDTOOpenInstanceDTO.md)
- - [OpenPageDTOOpenItemDTO](docs/OpenPageDTOOpenItemDTO.md)
- - [OpenReleaseDTO](docs/OpenReleaseDTO.md)
- - [OpenapiV1AppsGet401Response](docs/OpenapiV1AppsGet401Response.md)
- - [OpenapiV1AppsPost400Response](docs/OpenapiV1AppsPost400Response.md)
- - [OpenapiV1AppsPostRequest](docs/OpenapiV1AppsPostRequest.md)
- - [OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response](docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md)
- - [OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response](docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.md)
- - [OpenapiV1EnvsEnvReleasesCompareGet200Response](docs/OpenapiV1EnvsEnvReleasesCompareGet200Response.md)
- - [ReleaseDTO](docs/ReleaseDTO.md)
-
-
-
-## Documentation for Authorization
-
-
-Authentication schemes defined for the API:
-
-### ApiKeyAuth
-
-- **Type**: API key
-- **API key parameter name**: Authorization
-- **Location**: HTTP header
-
-
-## Recommendation
-
-It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.
-
-## Author
-
-
-
diff --git a/java-client/api/openapi.yaml b/java-client/api/openapi.yaml
deleted file mode 100644
index 28267cc..0000000
--- a/java-client/api/openapi.yaml
+++ /dev/null
@@ -1,5527 +0,0 @@
-openapi: 3.0.1
-info:
- description: |
- Apollo配置中心OpenAPI接口文档
-
- ## 认证方式
-
- 所有API接口都需要通过Authorization header进行身份验证。
-
- ### 获取Token的方式:
-
- 1. **Portal管理界面获取**:
- - 登录Apollo Portal管理界面
- - 进入"管理员工具" -> "开放平台授权管理"
- - 创建第三方应用,获取Token
-
- 2. **Token格式**:
- ```
- Authorization: token_value
- ```
-
- 3. **Token权限**:
- - Token具有对应应用的读写权限
- - 不同Token可能有不同的环境和命名空间权限
- - 建议为不同用途创建不同的Token
-
- ### 使用示例:
- ```bash
- curl -X GET "http://localhost:8070/openapi/v1/apps" \
- -H "Authorization: your_token_here"
- ```
- title: Apollo OpenAPI
- version: 1.0.0
-servers:
-- url: /
-security:
-- ApiKeyAuth: []
-tags:
-- description: 应用管理相关接口,包括应用的创建、查询、更新、删除等操作
- name: App Management
-- description: 配置项管理相关接口,包括配置的增删改查、批量操作、同步等功能
- name: Item Management
-- description: 发布管理相关接口,包括配置发布、发布历史、灰度发布等功能
- name: Release Management
-- description: 集群管理相关接口,包括集群的创建、查询、删除等操作
- name: Cluster Management
-- description: 命名空间管理相关接口,包括命名空间的创建、查询、配置等操作
- name: Namespace Management
-- description: 命名空间分支管理相关接口,包括分支创建、合并、灰度发布等功能
- name: Namespace Namespace Branch Management
-- description: 实例管理相关接口,包括实例查询、配置生效状态等功能
- name: Instance Management
-- description: 组织管理相关接口,包括组织信息查询等功能
- name: Organization Management
-paths:
- /openapi/v1/apps:
- get:
- deprecated: false
- description: GET /openapi/v1/apps?authorized=true
- parameters:
- - description: 是否只返回授权的应用
- example: "true"
- explode: true
- in: query
- name: authorized
- required: false
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- name: Sample Application
- appId: sample-app
- orgId: default
- orgName: Default Organization
- ownerName: Apollo Admin
- ownerEmail: admin@apollo.com
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-10T14:20:00.000Z
- dataChangeLastModifiedTime: 2024-01-12T16:45:00.000Z
- name: User Service
- appId: user-service
- orgId: microservices
- orgName: Microservices Team
- ownerName: Dev Team
- ownerEmail: dev@company.com
- schema:
- items:
- $ref: "#/components/schemas/OpenAppDTO"
- type: array
- description: 成功获取授权应用列表
- "401":
- content:
- application/json:
- example:
- message: Unauthorized
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 未授权访问
- summary: 获取当前Consumer授权的应用列表
- tags:
- - App Management
- x-accepts:
- - application/json
- post:
- deprecated: false
- description: POST /openapi/v1/apps
- requestBody:
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_post_request"
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- name: Sample Application
- appId: sample-app
- orgId: default
- orgName: Default Organization
- ownerName: Apollo Admin
- ownerEmail: admin@apollo.com
- schema:
- $ref: "#/components/schemas/OpenAppDTO"
- description: 应用创建成功
- "400":
- content:
- application/json:
- example:
- message: App is null
- exception: BadRequestException
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_post_400_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 创建应用
- tags:
- - App Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/env-clusters:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/env-clusters"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - env: DEV
- clusters:
- - default
- - test-cluster
- - env: UAT
- clusters:
- - default
- - env: PRO
- clusters:
- - default
- - backup
- schema:
- items:
- $ref: "#/components/schemas/OpenEnvClusterDTO"
- type: array
- description: 成功获取应用环境集群信息
- "404":
- content:
- application/json:
- example:
- message: "App not found: invalid-app-id"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用不存在
- summary: 获取应用的环境集群信息
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}:
- delete:
- deprecated: false
- description: "DELETE /openapi/v1/apps/{appId}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- message: App deleted successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用删除成功
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足,需要超级管理员权限
- "404":
- content:
- application/json:
- example:
- message: "App not found: invalid-app-id"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用不存在
- summary: 删除应用
- tags:
- - App Management
- x-accepts:
- - application/json
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T15:45:00.000Z
- name: Sample Application
- appId: sample-app
- orgId: default
- orgName: Default Organization
- ownerName: Apollo Admin
- ownerEmail: admin@apollo.com
- schema:
- $ref: "#/components/schemas/OpenAppDTO"
- description: 成功获取应用信息
- "404":
- content:
- application/json:
- example:
- message: "App not found: invalid-app-id"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用不存在
- summary: 获取单个应用信息
- tags:
- - App Management
- x-accepts:
- - application/json
- put:
- deprecated: false
- description: "PUT /openapi/v1/apps/{appId}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenAppDTO"
- description: ""
- required:
- - appId
- - name
- - orgId
- - orgName
- - ownerName
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T16:45:00.000Z
- name: Updated Sample Application
- appId: sample-app
- orgId: default
- orgName: Default Organization
- ownerName: Apollo Admin
- ownerEmail: admin@apollo.com
- schema:
- $ref: "#/components/schemas/OpenAppDTO"
- description: ""
- "400":
- content:
- application/json:
- example:
- message: Invalid app data
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 更新应用
- tags:
- - App Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/apps/by-self:
- get:
- deprecated: false
- description: GET /openapi/v1/apps/by-self
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T16:45:00.000Z
- name: User Service
- appId: user-service
- orgId: microservices
- orgName: Microservices Team
- ownerName: Dev Team
- ownerEmail: dev@company.com
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: ops-user
- dataChangeCreatedTime: 2024-01-10T09:15:00.000Z
- dataChangeLastModifiedTime: 2024-01-18T14:30:00.000Z
- name: Order Service
- appId: order-service
- orgId: business
- orgName: Business Team
- ownerName: Business Team
- ownerEmail: business@company.com
- schema:
- items:
- $ref: "#/components/schemas/OpenAppDTO"
- type: array
- description: 成功获取Consumer的应用列表
- "401":
- content:
- application/json:
- example:
- message: Unauthorized
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 未授权访问
- summary: 获取当前Consumer的应用列表(分页)
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/navtree:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/navtree"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - env: DEV
- clusters:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedByDisplayName: apollo
- dataChangeLastModifiedByDisplayName: apollo
- dataChangeCreatedTime: 2023-01-01T00:00:00.000Z
- dataChangeLastModifiedTime: 2023-01-01T00:00:00.000Z
- id: 1
- name: default
- appId: sample-app
- parentClusterId: 0
- comment: Default cluster
- schema:
- items:
- $ref: "#/components/schemas/EnvClusterInfo"
- type: array
- description: 成功获取应用导航树
- summary: 获取应用导航树
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/apps/envs/{env}:
- post:
- deprecated: false
- description: "POST /openapi/v1/apps/envs/{env}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenAppDTO"
- description: ""
- required:
- - appId
- - name
- - orgId
- - orgName
- - ownerName
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- message: App created in environment successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用在指定环境创建成功
- "400":
- content:
- application/json:
- example:
- message: appId should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 在指定环境创建应用
- tags:
- - App Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/miss_envs:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/miss_envs"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - UAT
- - PRO
- schema:
- items:
- type: string
- type: array
- description: 成功获取应用缺失的环境列表
- "404":
- content:
- application/json:
- example:
- message: App not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 应用不存在
- summary: 查找缺失的环境
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}:
- delete:
- deprecated: false
- description: "DELETE /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: true
- in: query
- name: operator
- required: true
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 删除配置项
- tags:
- - Item Management
- x-accepts:
- - application/json
- get:
- deprecated: false
- description: "GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: server.port
- type: 0
- value: "8080"
- comment: 服务器端口配置
- schema:
- $ref: "#/components/schemas/OpenItemDTO"
- description: 成功获取配置项
- "404":
- content:
- application/json:
- example:
- message: Configuration item not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项不存在
- summary: 获取单个配置项
- tags:
- - Item Management
- x-accepts:
- - application/json
- put:
- deprecated: false
- description: "PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "false"
- explode: true
- in: query
- name: createIfNotExists
- required: true
- schema:
- type: boolean
- style: form
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenItemDTO"
- description: ""
- required:
- - dataChangeLastModifiedBy
- - key
- - value
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- message: Configuration item updated successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项更新成功
- "400":
- content:
- application/json:
- example:
- message: "key, value and dataChangeLastModifiedBy should not be null\
- \ or empty"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- "404":
- content:
- application/json:
- example:
- message: Configuration item not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项不存在
- summary: 更新配置项
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:
- get:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: 0
- explode: true
- in: query
- name: page
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- example: 50
- explode: true
- in: query
- name: size
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- page: 0
- size: 50
- total: 3
- content:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: server.port
- type: 0
- value: "8080"
- comment: 服务器端口配置
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- key: spring.datasource.url
- type: 0
- value: jdbc:mysql://localhost:3306/apollo
- comment: 数据库连接地址
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: ops-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-18T09:15:00.000Z
- key: logging.level.root
- type: 0
- value: INFO
- comment: 日志级别配置
- schema:
- $ref: "#/components/schemas/OpenPageDTOOpenItemDTO"
- description: 成功获取配置项列表
- "404":
- content:
- application/json:
- example:
- message: Namespace not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 命名空间不存在
- summary: 获取命名空间下的配置项列表
- tags:
- - Item Management
- x-accepts:
- - application/json
- post:
- deprecated: false
- description: "POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenItemDTO"
- description: ""
- required:
- - dataChangeCreatedBy
- - key
- - value
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- key: server.port
- type: 0
- value: "8080"
- comment: 服务器端口配置
- schema:
- $ref: "#/components/schemas/OpenItemDTO"
- description: 配置项创建成功
- "400":
- content:
- application/json:
- example:
- message: key and dataChangeCreatedBy should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 创建新的配置项
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}:
- delete:
- deprecated: false
- description: "DELETE /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: true
- in: query
- name: operator
- required: true
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 通过编码的key删除配置项
- tags:
- - Item Management
- x-accepts:
- - application/json
- get:
- deprecated: false
- description: "GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items?key={key}&encoded={true|false}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: spring.datasource.url
- type: 0
- value: jdbc:mysql://localhost:3306/apollo?useUnicode=true&characterEncoding=utf8
- comment: 数据库连接地址,包含特殊字符
- schema:
- $ref: "#/components/schemas/OpenItemDTO"
- description: 成功获取配置项(支持编码key)
- "404":
- content:
- application/json:
- example:
- message: Configuration item not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项不存在
- summary: 通过查询参数获取配置项(支持编码的key)
- tags:
- - Item Management
- x-accepts:
- - application/json
- put:
- deprecated: false
- description: "PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: key
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "false"
- explode: true
- in: query
- name: createIfNotExists
- required: true
- schema:
- type: boolean
- style: form
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenItemDTO"
- description: ""
- required:
- - dataChangeLastModifiedBy
- - key
- - value
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- message: Configuration item updated successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项更新成功(编码key)
- "400":
- content:
- application/json:
- example:
- message: "key, value and dataChangeLastModifiedBy should not be null\
- \ or empty"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- "404":
- content:
- application/json:
- example:
- message: Configuration item not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项不存在
- summary: 通过编码的key更新配置项
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate:
- put:
- deprecated: false
- description: "PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceTextModel"
- description: ""
- required:
- - configText
- - format
- - operator
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- message: Batch update configuration items successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 批量更新配置项成功
- "400":
- content:
- application/json:
- example:
- message: operator should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 通过文本批量修改配置项
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items:
- get:
- deprecated: false
- description: "GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: feature.new-feature
- type: 0
- value: enabled
- comment: 新功能开关,分支测试中
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: test.debug.level
- type: 0
- value: verbose
- comment: 测试调试级别
- schema:
- items:
- $ref: "#/components/schemas/OpenItemDTO"
- type: array
- description: 成功获取分支下的配置项列表
- "404":
- content:
- application/json:
- example:
- message: Branch not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 分支不存在
- summary: 获取分支下的配置项
- tags:
- - Namespace Branch Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare:
- post:
- deprecated: false
- description: "POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceSyncModel"
- description: ""
- required:
- - syncItems
- - syncToNamespaces
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- - namespace:
- appId: ""
- env: ""
- clusterName: ""
- namespaceName: ""
- diffs:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedByDisplayName: ""
- dataChangeLastModifiedByDisplayName: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- createItems:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedByDisplayName: ""
- dataChangeLastModifiedByDisplayName: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- namespaceId: 0
- key: ""
- type: 0
- value: ""
- comment: ""
- lineNum: 0
- updateItems:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedByDisplayName: ""
- dataChangeLastModifiedByDisplayName: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- namespaceId: 0
- key: ""
- type: 0
- value: ""
- comment: ""
- lineNum: 0
- deleteItems:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedByDisplayName: ""
- dataChangeLastModifiedByDisplayName: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- namespaceId: 0
- key: ""
- type: 0
- value: ""
- comment: ""
- lineNum: 0
- extInfo: ""
- schema:
- items:
- $ref: "#/components/schemas/ListItemDiffs"
- type: array
- description: 成功对比命名空间配置差异
- summary: 对比命名空间配置差异
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync:
- post:
- deprecated: false
- description: "POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceSyncModel"
- description: ""
- required:
- - syncItems
- - syncToNamespaces
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- message: Configuration items synced successfully to target namespaces
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项同步成功
- "400":
- content:
- application/json:
- example:
- message: syncToNamespaces should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 同步配置项到多个命名空间
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate:
- post:
- deprecated: false
- description: "POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceTextModel"
- description: ""
- required:
- - configText
- - format
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- valid: true
- message: Configuration syntax is valid
- schema:
- $ref: "#/components/schemas/_openapi_v1_envs__env__apps__appId__clusters__clusterName__namespaces__namespaceName__items_validate_post_200_response"
- description: 配置文本语法验证通过
- "400":
- content:
- application/json:
- example:
- valid: false
- message: Configuration syntax validation failed
- errors:
- - "Line 3: Invalid property format"
- - "Line 7: Missing value for key \"database.port\""
- schema:
- $ref: "#/components/schemas/_openapi_v1_envs__env__apps__appId__clusters__clusterName__namespaces__namespaceName__items_validate_post_400_response"
- description: 配置文本语法错误
- summary: 验证配置文本语法
- tags:
- - Item Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert:
- post:
- deprecated: false
- description: "POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- message: Configuration changes reverted successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 配置项更改撤销成功
- "400":
- content:
- application/json:
- example:
- message: Invalid revert request
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 撤销配置项更改
- tags:
- - Item Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/clusters/{clusterName}:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/clusters/{clusterName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: ops-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-18T09:15:00.000Z
- name: production
- appId: sample-app
- schema:
- $ref: "#/components/schemas/OpenClusterDTO"
- description: 成功获取集群信息
- "404":
- content:
- application/json:
- example:
- message: Cluster not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 集群不存在
- summary: 获取指定集群信息
- tags:
- - Cluster Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/clusters:
- post:
- deprecated: false
- description: "POST /openapi/v1/apps/{appId}/clusters"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenClusterDTO"
- description: ""
- required:
- - appId
- - dataChangeCreatedBy
- - name
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- name: test-cluster
- appId: sample-app
- schema:
- $ref: "#/components/schemas/OpenClusterDTO"
- description: 集群创建成功
- "400":
- content:
- application/json:
- example:
- message: name and dataChangeCreatedBy should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 创建集群
- tags:
- - Cluster Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}:
- delete:
- deprecated: false
- description: "DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- message: Cluster deleted successfully
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 集群删除成功
- "400":
- content:
- application/json:
- example:
- message: Cannot delete cluster with existing configurations
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 删除失败,集群可能包含配置
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- "404":
- content:
- application/json:
- example:
- message: Cluster not found
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 集群不存在
- summary: 删除集群
- tags:
- - Cluster Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases:
- post:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceReleaseDTO"
- description: ""
- required:
- - releaseTitle
- - releasedBy
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- id: 12345
- appId: sample-app
- clusterName: default
- namespaceName: application
- name: Release v1.0.0
- configurations:
- server.port: "8080"
- spring.datasource.url: jdbc:mysql://localhost:3306/apollo
- logging.level.root: INFO
- comment: 首次发布,包含基础配置
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: 发布创建成功
- "400":
- content:
- application/json:
- example:
- message: Params(releaseTitle and releasedBy) can not be empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 发布参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 创建发布
- tags:
- - Release Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest:
- get:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- id: 12345
- appId: sample-app
- clusterName: default
- namespaceName: application
- name: Release v1.2.0
- configurations:
- server.port: "8080"
- spring.datasource.url: jdbc:mysql://localhost:3306/apollo
- logging.level.root: INFO
- app.version: 1.2.0
- comment: 最新生产发布版本,包含性能优化
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: 成功获取最新活跃发布
- "404":
- content:
- application/json:
- example:
- message: No active release found for this namespace
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 未找到活跃发布
- summary: 获取最新活跃发布
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/merge:
- post:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "true"
- explode: true
- in: query
- name: deleteBranch
- required: true
- schema:
- type: boolean
- style: form
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceReleaseDTO"
- description: ""
- required:
- - releaseTitle
- - releasedBy
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- id: 12346
- appId: sample-app
- clusterName: default
- namespaceName: application
- name: Merge from branch feature-123
- configurations:
- server.port: "8080"
- spring.datasource.url: jdbc:mysql://localhost:3306/apollo
- logging.level.root: INFO
- feature.new-feature: enabled
- comment: 合并功能分支到主分支,包含新功能配置
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: 分支合并成功
- "400":
- content:
- application/json:
- example:
- message: releaseTitle and releasedBy should not be null or empty
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 合并参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 合并分支
- tags:
- - Namespace Branch Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/releases:
- post:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceReleaseDTO"
- description: ""
- required:
- - releaseTitle
- - releasedBy
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: ""
- summary: 创建灰度发布
- tags:
- - Namespace Branch Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-del-releases:
- post:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceGrayDelReleaseDTO"
- description: ""
- required:
- - grayDelKeys
- - releaseTitle
- - releasedBy
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: ""
- summary: 创建灰度删除发布
- tags:
- - Namespace Branch Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/releases/{releaseId}/rollback:
- put:
- deprecated: false
- description: ""
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: releaseId
- required: true
- schema:
- type: integer
- style: simple
- - description: ""
- explode: true
- in: query
- name: operator
- required: true
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 回滚发布
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/releases/{releaseId}:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/releases/{releaseId}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: releaseId
- required: true
- schema:
- type: integer
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: ""
- summary: 获取发布详情
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/all:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/all"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: 0
- explode: true
- in: query
- name: page
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- example: 5
- explode: true
- in: query
- name: size
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - baseInfo:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedByDisplayName: ""
- dataChangeLastModifiedByDisplayName: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- releaseKey: ""
- name: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- configurations: ""
- comment: ""
- isAbandoned: false
- items:
- - key: ""
- value: ""
- schema:
- items:
- $ref: "#/components/schemas/ListReleaseBO"
- type: array
- description: ""
- summary: 获取所有发布(分页)
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: 0
- explode: true
- in: query
- name: page
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- example: 5
- explode: true
- in: query
- name: size
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenReleaseDTO"
- type: array
- description: ""
- summary: 获取活跃发布(分页)
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/releases/compare:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/releases/compare"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: true
- in: query
- name: baseReleaseId
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- explode: true
- in: query
- name: toCompareReleaseId
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- changes:
- - type: ""
- entity:
- firstEntity:
- key: ""
- value: ""
- secondEntity:
- key: ""
- value: ""
- schema:
- $ref: "#/components/schemas/_openapi_v1_envs__env__releases_compare_get_200_response"
- description: ""
- summary: 对比发布
- tags:
- - Release Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- schema:
- type: integer
- description: ""
- summary: 获取命名空间下的实例数量
- tags:
- - Instance Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/releases/{releaseId}/instances:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/releases/{releaseId}/instances"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: releaseId
- required: true
- schema:
- type: integer
- style: simple
- - description: ""
- example: 0
- explode: true
- in: query
- name: page
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- example: 20
- explode: true
- in: query
- name: size
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- page: 0
- size: 0
- total: 0
- content:
- - id: 0
- appId: ""
- clusterName: ""
- dataCenter: ""
- ip: ""
- configs:
- - release:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- releaseDeliveryTime: ""
- dataChangeLastModifiedTime: ""
- dataChangeCreatedTime: ""
- schema:
- $ref: "#/components/schemas/OpenPageDTOOpenInstanceDTO"
- description: ""
- summary: 根据发布版本查询实例(支持分页)
- tags:
- - Instance Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances?excludeReleases=1,2,3"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: 排除的发布ID列表,用逗号分隔
- explode: true
- in: query
- name: excludeReleases
- required: false
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - id: 0
- appId: ""
- clusterName: ""
- dataCenter: ""
- ip: ""
- configs:
- - release:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- releaseDeliveryTime: ""
- dataChangeLastModifiedTime: ""
- dataChangeCreatedTime: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenInstanceDTO"
- type: array
- description: ""
- summary: 查询不在指定发布版本中的实例
- tags:
- - Instance Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/appnamespaces:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/appnamespaces"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- name: ""
- appId: ""
- format: ""
- isPublic: false
- appendNamespacePrefix: false
- comment: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenAppNamespaceDTO"
- type: array
- description: ""
- summary: 获取指定应用的AppNamespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- post:
- deprecated: false
- description: "POST /openapi/v1/apps/{appId}/appnamespaces"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenAppNamespaceDTO"
- description: ""
- required:
- - appId
- - dataChangeCreatedBy
- - format
- - name
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: apollo
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-15T10:30:00.000Z
- name: database
- appId: sample-app
- format: properties
- isPublic: false
- appendNamespacePrefix: true
- comment: 数据库相关配置命名空间
- schema:
- $ref: "#/components/schemas/OpenAppNamespaceDTO"
- description: AppNamespace创建成功
- "400":
- content:
- application/json:
- example:
- message: "appId, name, format and dataChangeCreatedBy should not be\
- \ null or empty"
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 请求参数错误
- "403":
- content:
- application/json:
- example:
- message: Access is denied
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 权限不足
- summary: 创建AppNamespace
- tags:
- - Namespace Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "true"
- explode: true
- in: query
- name: fillItemDetail
- required: true
- schema:
- type: boolean
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- comment: ""
- format: ""
- isPublic: false
- items:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- key: ""
- type: 0
- value: ""
- comment: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- type: array
- description: ""
- summary: 获取指定集群下的所有Namespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "true"
- explode: true
- in: query
- name: fillItemDetail
- required: true
- schema:
- type: boolean
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- comment: ""
- format: ""
- isPublic: false
- items:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- key: ""
- type: 0
- value: ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- description: ""
- summary: 获取指定的Namespace
- tags:
- - Cluster Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- namespaceName: ""
- isLocked: false
- lockedBy: ""
- schema:
- $ref: "#/components/schemas/OpenNamespaceLockDTO"
- description: ""
- summary: 获取Namespace的锁状态
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/appnamespaces:
- get:
- deprecated: false
- description: GET /openapi/v1/appnamespaces?public=true
- parameters:
- - description: ""
- example: "false"
- explode: true
- in: query
- name: publicOnly
- required: true
- schema:
- type: boolean
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- name: ""
- appId: ""
- format: ""
- isPublic: false
- appendNamespacePrefix: false
- comment: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenAppNamespaceDTO"
- type: array
- description: ""
- summary: 获取所有公共AppNamespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}:
- delete:
- deprecated: false
- description: "DELETE /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 删除AppNamespace
- tags:
- - App Management
- x-accepts:
- - application/json
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- name: ""
- appId: ""
- format: ""
- isPublic: false
- appendNamespacePrefix: false
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenAppNamespaceDTO"
- description: ""
- summary: 获取指定的AppNamespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/namespaces/releases/status:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/namespaces/releases/status"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- ? ""
- : ? ""
- : false
- schema:
- additionalProperties:
- additionalProperties:
- type: boolean
- type: object
- type: object
- description: ""
- summary: 获取应用下所有Namespace的发布状态
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: publicNamespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: 0
- explode: true
- in: query
- name: page
- required: true
- schema:
- type: integer
- style: form
- - description: ""
- example: 10
- explode: true
- in: query
- name: size
- required: true
- schema:
- type: integer
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- comment: ""
- format: ""
- isPublic: false
- items:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- key: ""
- type: 0
- value: ""
- comment: ""
- schema:
- items:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- type: array
- description: ""
- summary: 获取公共AppNamespace的所有实例
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/public-association:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/public-association"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- comment: ""
- format: ""
- isPublic: false
- items:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- key: ""
- type: 0
- value: ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- description: ""
- summary: 获取关联的公共Namespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/integrity-check:
- get:
- deprecated: false
- description: "GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/integrity-check"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- - ""
- schema:
- items:
- type: string
- type: array
- description: ""
- summary: 检查缺失的Namespace
- tags:
- - Namespace Management
- x-accepts:
- - application/json
- /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/links:
- delete:
- deprecated: false
- description: "DELETE /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/links"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 删除关联的Namespace
- tags:
- - App Management
- x-accepts:
- - application/json
- /openapi/v1/organizations:
- get:
- deprecated: false
- description: GET /openapi/v1/organizations
- responses:
- "200":
- content:
- application/json:
- example:
- - orgId: default
- orgName: Default Organization
- - orgId: microservices
- orgName: Microservices Team
- - orgId: infrastructure
- orgName: Infrastructure Team
- schema:
- description: 组织列表
- items:
- $ref: "#/components/schemas/OpenOrganizationDto"
- type: array
- description: 成功获取组织列表
- "401":
- content:
- application/json:
- example:
- message: Unauthorized
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 未授权访问
- summary: 获取所有组织信息
- tags:
- - Organization Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- appId: sample-app
- clusterName: default
- namespaceName: application
- comment: 功能分支,用于测试新特性
- format: properties
- isPublic: false
- items:
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: feature.new-feature
- type: 0
- value: enabled
- comment: 新功能开关
- - dataChangeCreatedBy: apollo
- dataChangeLastModifiedBy: dev-user
- dataChangeCreatedTime: 2024-01-15T10:30:00.000Z
- dataChangeLastModifiedTime: 2024-01-20T14:25:00.000Z
- key: test.mode
- type: 0
- value: debug
- comment: 测试模式配置
- schema:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- description: ""
- "404":
- content:
- application/json:
- example:
- message: Branch not found for this namespace
- schema:
- $ref: "#/components/schemas/_openapi_v1_apps_get_401_response"
- description: 分支不存在
- summary: 获取命名空间分支信息
- tags:
- - Cluster Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch:
- post:
- deprecated: false
- description: "POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: true
- in: query
- name: operator
- required: true
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- comment: ""
- format: ""
- isPublic: false
- items:
- - dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- key: ""
- type: 0
- value: ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenNamespaceDTO"
- description: ""
- summary: 创建命名空间分支
- tags:
- - Namespace Branch Management
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}:
- delete:
- deprecated: false
- description: "DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}"
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: true
- in: query
- name: operator
- required: true
- schema:
- type: string
- style: form
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 删除命名空间分支
- tags:
- - Namespace Branch Management
- x-accepts:
- - application/json
- patch:
- deprecated: false
- description: |-
- PATCH /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}
-
- 使用 PATCH 方法表示部分更新操作(将分支状态从"独立"更新为"合并")
- parameters:
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- example: "true"
- explode: true
- in: query
- name: deleteBranch
- required: true
- schema:
- type: boolean
- style: form
- - description: ""
- explode: false
- in: header
- name: X-Apollo-Operator
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/NamespaceReleaseDTO"
- description: ""
- required:
- - releaseTitle
- - releasedBy
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- id: 0
- appId: ""
- clusterName: ""
- namespaceName: ""
- name: ""
- configurations:
- ? ""
- : ""
- comment: ""
- schema:
- $ref: "#/components/schemas/OpenReleaseDTO"
- description: ""
- summary: 合并分支到主分支
- tags:
- - Namespace Branch Management
- x-content-type: application/json
- x-accepts:
- - application/json
- /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules:
- get:
- deprecated: false
- description: "GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- responses:
- "200":
- content:
- application/json:
- example:
- dataChangeCreatedBy: ""
- dataChangeLastModifiedBy: ""
- dataChangeCreatedTime: ""
- dataChangeLastModifiedTime: ""
- appId: ""
- clusterName: ""
- namespaceName: ""
- branchName: ""
- ruleItems:
- - clientAppId: ""
- clientIpList:
- - ""
- clientLabelList:
- - ""
- schema:
- $ref: "#/components/schemas/OpenGrayReleaseRuleDTO"
- description: ""
- summary: 获取分支灰度发布规则
- tags:
- - Namespace Branch Management
- x-accepts:
- - application/json
- put:
- deprecated: false
- description: "PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules"
- parameters:
- - description: ""
- explode: false
- in: path
- name: appId
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: env
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: clusterName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: namespaceName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: path
- name: branchName
- required: true
- schema:
- type: string
- style: simple
- - description: ""
- explode: false
- in: header
- name: operator
- required: true
- schema:
- type: string
- style: simple
- requestBody:
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/OpenGrayReleaseRuleDTO"
- description: ""
- required:
- - ruleItems
- type: object
- required: true
- responses:
- "200":
- content:
- application/json:
- schema:
- properties: {}
- type: object
- description: ""
- summary: 更新分支灰度发布规则
- tags:
- - Namespace Branch Management
- x-content-type: application/json
- x-accepts:
- - application/json
-components:
- schemas:
- OpenAppDTO:
- description: Apollo应用信息数据传输对象,包含应用的基本信息和元数据
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- orgName: orgName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- ownerName: ownerName
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- orgId: orgId
- ownerEmail: ownerEmail
- properties:
- dataChangeCreatedBy:
- description: 数据创建者用户名,记录是谁创建了这个应用
- type: string
- dataChangeLastModifiedBy:
- description: 数据最后修改者用户名,记录最后一次修改应用信息的用户
- type: string
- dataChangeCreatedTime:
- description: 数据创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 数据最后修改时间,ISO 8601格式的时间戳
- type: string
- name:
- description: 应用名称,用于显示的友好名称
- type: string
- appId:
- description: 应用唯一标识符,全局唯一的应用ID
- type: string
- orgId:
- description: 组织ID,应用所属组织的唯一标识
- type: string
- orgName:
- description: 组织名称,应用所属组织的显示名称
- type: string
- ownerName:
- description: 应用负责人姓名,应用的主要负责人
- type: string
- ownerEmail:
- description: 应用负责人邮箱地址,用于接收应用相关通知
- type: string
- type: object
- OpenCreateAppDTO:
- description: 创建Apollo应用的请求数据传输对象,包含创建应用所需的所有信息
- properties:
- assignAppRoleToSelf:
- description: 是否将应用角色分配给当前用户。当设置为true时,当前token用户将获得该应用的完全操作权限
- type: boolean
- admins:
- description: 应用管理员用户名列表。应用负责人默认具有项目管理员权限。管理员可以创建命名空间、集群并分配用户权限
- items:
- type: string
- type: array
- app:
- $ref: "#/components/schemas/OpenAppDTO"
- type: object
- OpenItemDTO:
- description: Apollo配置项数据传输对象,表示一个具体的配置键值对及其元数据
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- comment: comment
- type: 0
- value: value
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- key: key
- properties:
- dataChangeCreatedBy:
- description: 配置项创建者用户名,记录是谁创建了这个配置项
- type: string
- dataChangeLastModifiedBy:
- description: 配置项最后修改者用户名,记录最后一次修改配置的用户
- type: string
- dataChangeCreatedTime:
- description: 配置项创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 配置项最后修改时间,ISO 8601格式的时间戳
- type: string
- key:
- description: 配置项的键名,在同一命名空间内唯一标识一个配置项
- type: string
- type:
- description: 配置项类型,0表示普通配置项,1表示文件类型配置项
- type: integer
- value:
- description: 配置项的值,可以是字符串、数字、JSON等格式
- type: string
- comment:
- description: 配置项的注释说明,用于描述配置项的用途和含义
- type: string
- type: object
- OpenPageDTOOpenItemDTO:
- description: 分页配置项数据传输对象,用于返回分页查询的配置项列表结果
- example:
- total: 1
- size: 6
- page: 0
- content:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- comment: comment
- type: 0
- value: value
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- comment: comment
- type: 0
- value: value
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- key: key
- properties:
- page:
- description: 当前页码,从0开始计数
- type: integer
- size:
- description: 每页显示的记录数量
- type: integer
- total:
- description: 总记录数,符合查询条件的配置项总数量
- format: int64
- type: integer
- content:
- description: 当前页的配置项列表,包含具体的配置项数据
- items:
- $ref: "#/components/schemas/OpenItemDTO"
- type: array
- type: object
- OpenClusterDTO:
- description: Apollo集群信息数据传输对象,表示应用在特定环境下的集群配置
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- dataChangeCreatedBy:
- description: 集群创建者用户名,记录是谁创建了这个集群
- type: string
- dataChangeLastModifiedBy:
- description: 集群最后修改者用户名,记录最后一次修改集群信息的用户
- type: string
- dataChangeCreatedTime:
- description: 集群创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 集群最后修改时间,ISO 8601格式的时间戳
- type: string
- name:
- description: 集群名称,在同一应用和环境下唯一标识一个集群
- type: string
- appId:
- description: 所属应用的唯一标识符
- type: string
- type: object
- MapString:
- description: 字符串映射对象,用于表示键值对的配置数据结构
- example:
- key: key
- properties:
- key:
- type: string
- type: object
- OpenReleaseDTO:
- description: Apollo发布信息数据传输对象,表示一次配置发布的完整信息
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- properties:
- dataChangeCreatedBy:
- description: 发布创建者用户名,记录是谁创建了这次发布
- type: string
- dataChangeLastModifiedBy:
- description: 发布最后修改者用户名,记录最后一次修改发布信息的用户
- type: string
- dataChangeCreatedTime:
- description: 发布创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 发布最后修改时间,ISO 8601格式的时间戳
- type: string
- id:
- description: 发布记录的唯一标识符,系统自动生成
- format: int64
- type: integer
- appId:
- description: 所属应用的唯一标识符
- type: string
- clusterName:
- description: 所属集群的名称
- type: string
- namespaceName:
- description: 所属命名空间的名称
- type: string
- name:
- description: 发布名称,用于标识这次发布的版本或描述
- type: string
- configurations:
- $ref: "#/components/schemas/MapString"
- comment:
- description: 发布备注,描述本次发布的变更内容和目的
- type: string
- type: object
- NamespaceReleaseDTO:
- description: 命名空间发布请求数据传输对象,用于创建新的配置发布
- example:
- releaseComment: releaseComment
- releasedBy: releasedBy
- releaseTitle: releaseTitle
- isEmergencyPublish: true
- properties:
- releaseTitle:
- description: 发布标题,用于标识这次发布的名称或版本号
- type: string
- releaseComment:
- description: 发布备注,详细描述本次发布的变更内容和目的
- type: string
- releasedBy:
- description: 发布操作者用户名,记录是谁执行了这次发布操作
- type: string
- isEmergencyPublish:
- description: 是否为紧急发布,紧急发布可能会跳过某些审核流程
- type: boolean
- type: object
- NamespaceGrayDelReleaseDTO:
- description: 命名空间灰度删除发布请求数据传输对象,用于创建删除特定配置项的灰度发布
- example:
- releaseComment: releaseComment
- releasedBy: releasedBy
- grayDelKeys:
- - grayDelKeys
- - grayDelKeys
- releaseTitle: releaseTitle
- isEmergencyPublish: true
- properties:
- releaseTitle:
- description: 发布标题,用于标识这次灰度删除发布的名称或版本号
- type: string
- releaseComment:
- description: 发布备注,详细描述本次灰度删除发布的目的和删除的配置项
- type: string
- releasedBy:
- description: 发布操作者用户名,记录是谁执行了这次灰度删除发布操作
- type: string
- isEmergencyPublish:
- description: 是否为紧急发布,紧急发布可能会跳过某些审核流程
- type: boolean
- grayDelKeys:
- description: 需要在灰度发布中删除的配置项键名列表
- items:
- type: string
- type: array
- type: object
- OpenAppNamespaceDTO:
- description: Apollo应用命名空间数据传输对象,表示应用级别的命名空间配置信息
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appendNamespacePrefix: true
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- format: format
- isPublic: true
- comment: comment
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- dataChangeCreatedBy:
- description: 命名空间创建者用户名,记录是谁创建了这个应用命名空间
- type: string
- dataChangeLastModifiedBy:
- description: 命名空间最后修改者用户名,记录最后一次修改命名空间信息的用户
- type: string
- dataChangeCreatedTime:
- description: 命名空间创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 命名空间最后修改时间,ISO 8601格式的时间戳
- type: string
- name:
- description: 命名空间名称,在同一应用内唯一标识一个命名空间
- type: string
- appId:
- description: 所属应用的唯一标识符
- type: string
- format:
- description: 命名空间格式类型,如properties、xml、json、yml等
- type: string
- isPublic:
- description: 是否为公共命名空间,公共命名空间可以被其他应用关联使用
- type: boolean
- appendNamespacePrefix:
- default: true
- description: 对于公共命名空间,是否在命名空间名称前添加前缀
- type: boolean
- comment:
- description: 命名空间备注说明,描述命名空间的用途和包含的配置类型
- type: string
- type: object
- OpenGrayReleaseRuleItemDTO:
- description: Apollo灰度发布规则项数据传输对象,表示灰度发布的具体规则条件
- example:
- clientIpList:
- - clientIpList
- - clientIpList
- clientLabelList:
- - clientLabelList
- - clientLabelList
- clientAppId: clientAppId
- properties:
- clientAppId:
- description: 客户端应用ID,指定哪个应用可以获取灰度配置
- type: string
- clientIpList:
- description: 客户端IP地址列表,指定哪些IP地址可以获取灰度配置
- items:
- type: string
- type: array
- clientLabelList:
- description: 客户端标签列表,通过标签来识别可以获取灰度配置的客户端
- items:
- type: string
- type: array
- type: object
- OpenGrayReleaseRuleDTO:
- description: Apollo灰度发布规则数据传输对象,表示完整的灰度发布规则配置
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- branchName: branchName
- ruleItems:
- - clientIpList:
- - clientIpList
- - clientIpList
- clientLabelList:
- - clientLabelList
- - clientLabelList
- clientAppId: clientAppId
- - clientIpList:
- - clientIpList
- - clientIpList
- clientLabelList:
- - clientLabelList
- - clientLabelList
- clientAppId: clientAppId
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- properties:
- dataChangeCreatedBy:
- description: 灰度规则创建者用户名,记录是谁创建了这个灰度发布规则
- type: string
- dataChangeLastModifiedBy:
- description: 灰度规则最后修改者用户名,记录最后一次修改规则的用户
- type: string
- dataChangeCreatedTime:
- description: 灰度规则创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 灰度规则最后修改时间,ISO 8601格式的时间戳
- type: string
- appId:
- description: 所属应用的唯一标识符
- type: string
- clusterName:
- description: 所属集群的名称
- type: string
- namespaceName:
- description: 所属命名空间的名称
- type: string
- branchName:
- description: 灰度分支名称,标识灰度发布的分支
- type: string
- ruleItems:
- description: 灰度发布规则项列表,包含具体的灰度规则条件
- items:
- $ref: "#/components/schemas/OpenGrayReleaseRuleItemDTO"
- type: array
- type: object
- OpenNamespaceDTO:
- description: Apollo命名空间数据传输对象,表示一个完整的命名空间及其配置项
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- format: format
- isPublic: true
- comment: comment
- items:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- comment: comment
- type: 0
- value: value
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- comment: comment
- type: 0
- value: value
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- key: key
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- properties:
- dataChangeCreatedBy:
- description: 命名空间创建者用户名,记录是谁创建了这个命名空间
- type: string
- dataChangeLastModifiedBy:
- description: 命名空间最后修改者用户名,记录最后一次修改命名空间信息的用户
- type: string
- dataChangeCreatedTime:
- description: 命名空间创建时间,ISO 8601格式的时间戳
- type: string
- dataChangeLastModifiedTime:
- description: 命名空间最后修改时间,ISO 8601格式的时间戳
- type: string
- appId:
- description: 所属应用的唯一标识符
- type: string
- clusterName:
- description: 所属集群的名称
- type: string
- namespaceName:
- description: 命名空间名称,在同一应用和集群下唯一标识一个命名空间
- type: string
- comment:
- description: 命名空间备注说明,描述命名空间的用途
- type: string
- format:
- description: 命名空间格式类型,如properties、xml、json、yml等
- type: string
- isPublic:
- description: 是否为公共命名空间,公共命名空间可以被其他应用关联使用
- type: boolean
- items:
- description: 命名空间包含的配置项列表
- items:
- $ref: "#/components/schemas/OpenItemDTO"
- type: array
- type: object
- OpenNamespaceLockDTO:
- description: Apollo命名空间锁状态数据传输对象
- example:
- lockedBy: lockedBy
- isLocked: true
- namespaceName: namespaceName
- properties:
- namespaceName:
- description: 命名空间名称
- type: string
- isLocked:
- description: 是否被锁定
- type: boolean
- lockedBy:
- description: 锁定者用户名
- type: string
- type: object
- OpenPageDTOOpenInstanceDTO:
- description: 分页实例数据传输对象,用于返回分页查询的实例列表结果
- example:
- total: 1
- size: 6
- page: 0
- content:
- - configs:
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeCreatedTime: dataChangeCreatedTime
- dataCenter: dataCenter
- appId: appId
- clusterName: clusterName
- ip: ip
- id: 5
- - configs:
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeCreatedTime: dataChangeCreatedTime
- dataCenter: dataCenter
- appId: appId
- clusterName: clusterName
- ip: ip
- id: 5
- properties:
- page:
- description: 当前页码,从0开始计数
- type: integer
- size:
- description: 每页显示的记录数量
- type: integer
- total:
- description: 总记录数,符合查询条件的实例总数量
- format: int64
- type: integer
- content:
- description: 当前页的实例列表,包含具体的实例数据
- items:
- $ref: "#/components/schemas/OpenInstanceDTO"
- type: array
- type: object
- OpenEnvClusterDTO:
- example:
- env: env
- clusters:
- - clusters
- - clusters
- properties:
- env:
- description: ""
- type: string
- clusters:
- description: ""
- items:
- type: string
- type: array
- type: object
- ClusterDTO:
- example:
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- parentClusterId: 6
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- dataChangeCreatedBy:
- description: ""
- type: string
- dataChangeLastModifiedBy:
- description: ""
- type: string
- dataChangeCreatedByDisplayName:
- description: ""
- type: string
- dataChangeLastModifiedByDisplayName:
- description: ""
- type: string
- dataChangeCreatedTime:
- description: ""
- type: string
- dataChangeLastModifiedTime:
- description: ""
- type: string
- id:
- description: ""
- format: int64
- type: integer
- name:
- description: ""
- pattern: "[0-9a-zA-Z_-]+[0-9a-zA-Z_.-]*"
- type: string
- appId:
- description: ""
- type: string
- parentClusterId:
- description: ""
- format: int64
- type: integer
- comment:
- description: ""
- type: string
- required:
- - appId
- - name
- type: object
- EnvClusterInfo:
- example:
- env: env
- clusters:
- - dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- parentClusterId: 6
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- - dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- parentClusterId: 6
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- env:
- description: ""
- type: string
- clusters:
- description: ""
- items:
- $ref: "#/components/schemas/ClusterDTO"
- type: array
- type: object
- NamespaceTextModel:
- example:
- configText: configText
- namespaceId: 0
- appId: appId
- clusterName: clusterName
- format: format
- env: env
- namespaceName: namespaceName
- operator: operator
- properties:
- appId:
- description: ""
- type: string
- env:
- description: ""
- type: string
- clusterName:
- description: ""
- type: string
- namespaceName:
- description: ""
- type: string
- namespaceId:
- description: ""
- format: int64
- type: integer
- format:
- description: ""
- type: string
- configText:
- description: ""
- type: string
- operator:
- description: ""
- type: string
- type: object
- NamespaceIdentifier:
- example:
- appId: appId
- clusterName: clusterName
- env: env
- namespaceName: namespaceName
- properties:
- appId:
- description: ""
- type: string
- env:
- description: ""
- type: string
- clusterName:
- description: ""
- type: string
- namespaceName:
- description: ""
- type: string
- type: object
- ItemDTO:
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- properties:
- dataChangeCreatedBy:
- description: ""
- type: string
- dataChangeLastModifiedBy:
- description: ""
- type: string
- dataChangeCreatedByDisplayName:
- description: ""
- type: string
- dataChangeLastModifiedByDisplayName:
- description: ""
- type: string
- dataChangeCreatedTime:
- description: ""
- type: string
- dataChangeLastModifiedTime:
- description: ""
- type: string
- id:
- description: ""
- format: int64
- type: integer
- namespaceId:
- description: ""
- format: int64
- type: integer
- key:
- description: ""
- type: string
- type:
- description: ""
- type: integer
- value:
- description: ""
- type: string
- comment:
- description: ""
- type: string
- lineNum:
- description: ""
- type: integer
- type: object
- ItemChangeSets:
- example:
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- deleteItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- createItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- updateItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- dataChangeCreatedBy:
- description: ""
- type: string
- dataChangeLastModifiedBy:
- description: ""
- type: string
- dataChangeCreatedByDisplayName:
- description: ""
- type: string
- dataChangeLastModifiedByDisplayName:
- description: ""
- type: string
- dataChangeCreatedTime:
- description: ""
- type: string
- dataChangeLastModifiedTime:
- description: ""
- type: string
- createItems:
- default: []
- description: ""
- items:
- $ref: "#/components/schemas/ItemDTO"
- type: array
- updateItems:
- default: []
- description: ""
- items:
- $ref: "#/components/schemas/ItemDTO"
- type: array
- deleteItems:
- default: []
- description: ""
- items:
- $ref: "#/components/schemas/ItemDTO"
- type: array
- type: object
- ListItemDiffs:
- example:
- namespace:
- appId: appId
- clusterName: clusterName
- env: env
- namespaceName: namespaceName
- diffs:
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- dataChangeCreatedBy: dataChangeCreatedBy
- deleteItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- createItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- updateItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- extInfo: extInfo
- properties:
- namespace:
- $ref: "#/components/schemas/NamespaceIdentifier"
- diffs:
- $ref: "#/components/schemas/ItemChangeSets"
- extInfo:
- description: ""
- type: string
- type: object
- NamespaceSyncModel:
- example:
- syncItems:
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- - dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeCreatedBy: dataChangeCreatedBy
- type: 1
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- namespaceId: 6
- lineNum: 5
- comment: comment
- id: 0
- value: value
- key: key
- syncToNamespaces:
- - appId: appId
- clusterName: clusterName
- env: env
- namespaceName: namespaceName
- - appId: appId
- clusterName: clusterName
- env: env
- namespaceName: namespaceName
- properties:
- syncToNamespaces:
- description: ""
- items:
- $ref: "#/components/schemas/NamespaceIdentifier"
- type: array
- syncItems:
- description: ""
- items:
- $ref: "#/components/schemas/ItemDTO"
- type: array
- type: object
- ReleaseDTO:
- example:
- dataChangeCreatedTime: dataChangeCreatedTime
- configurations: configurations
- dataChangeCreatedBy: dataChangeCreatedBy
- releaseKey: releaseKey
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- isAbandoned: true
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- clusterName: clusterName
- name: name
- comment: comment
- id: 0
- namespaceName: namespaceName
- properties:
- dataChangeCreatedBy:
- description: ""
- type: string
- dataChangeLastModifiedBy:
- description: ""
- type: string
- dataChangeCreatedByDisplayName:
- description: ""
- type: string
- dataChangeLastModifiedByDisplayName:
- description: ""
- type: string
- dataChangeCreatedTime:
- description: ""
- type: string
- dataChangeLastModifiedTime:
- description: ""
- type: string
- id:
- description: ""
- format: int64
- type: integer
- releaseKey:
- description: ""
- type: string
- name:
- description: ""
- type: string
- appId:
- description: ""
- type: string
- clusterName:
- description: ""
- type: string
- namespaceName:
- description: ""
- type: string
- configurations:
- description: ""
- type: string
- comment:
- description: ""
- type: string
- isAbandoned:
- description: ""
- type: boolean
- type: object
- KVEntity:
- example:
- value: value
- key: key
- properties:
- key:
- description: ""
- type: string
- value:
- description: ""
- type: string
- type: object
- ListReleaseBO:
- example:
- baseInfo:
- dataChangeCreatedTime: dataChangeCreatedTime
- configurations: configurations
- dataChangeCreatedBy: dataChangeCreatedBy
- releaseKey: releaseKey
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- isAbandoned: true
- dataChangeLastModifiedByDisplayName: dataChangeLastModifiedByDisplayName
- dataChangeCreatedByDisplayName: dataChangeCreatedByDisplayName
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- appId: appId
- clusterName: clusterName
- name: name
- comment: comment
- id: 0
- namespaceName: namespaceName
- items:
- - value: value
- key: key
- - value: value
- key: key
- properties:
- baseInfo:
- $ref: "#/components/schemas/ReleaseDTO"
- items:
- description: ""
- items:
- $ref: "#/components/schemas/KVEntity"
- type: array
- type: object
- EntityPairKVEntity:
- example:
- firstEntity:
- value: value
- key: key
- secondEntity:
- value: value
- key: key
- properties:
- firstEntity:
- $ref: "#/components/schemas/KVEntity"
- secondEntity:
- $ref: "#/components/schemas/KVEntity"
- type: object
- Change:
- example:
- type: ADDED
- entity:
- firstEntity:
- value: value
- key: key
- secondEntity:
- value: value
- key: key
- properties:
- type:
- description: ""
- enum:
- - ADDED
- - MODIFIED
- - DELETED
- type: string
- entity:
- $ref: "#/components/schemas/EntityPairKVEntity"
- type: object
- OpenInstanceConfigDTO:
- example:
- releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- properties:
- release:
- $ref: "#/components/schemas/OpenReleaseDTO"
- releaseDeliveryTime:
- description: ""
- type: string
- dataChangeLastModifiedTime:
- description: ""
- type: string
- type: object
- OpenInstanceDTO:
- example:
- configs:
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- - releaseDeliveryTime: releaseDeliveryTime
- release:
- dataChangeCreatedTime: dataChangeCreatedTime
- dataChangeLastModifiedBy: dataChangeLastModifiedBy
- configurations:
- key: key
- appId: appId
- clusterName: clusterName
- dataChangeCreatedBy: dataChangeCreatedBy
- name: name
- comment: comment
- id: 0
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- namespaceName: namespaceName
- dataChangeLastModifiedTime: dataChangeLastModifiedTime
- dataChangeCreatedTime: dataChangeCreatedTime
- dataCenter: dataCenter
- appId: appId
- clusterName: clusterName
- ip: ip
- id: 5
- properties:
- id:
- description: ""
- format: int64
- type: integer
- appId:
- description: ""
- type: string
- clusterName:
- description: ""
- type: string
- dataCenter:
- description: ""
- type: string
- ip:
- description: ""
- type: string
- configs:
- description: ""
- items:
- $ref: "#/components/schemas/OpenInstanceConfigDTO"
- type: array
- dataChangeCreatedTime:
- description: ""
- type: string
- type: object
- OpenOrganizationDto:
- example:
- orgName: orgName
- orgId: orgId
- properties:
- orgId:
- description: ""
- type: string
- orgName:
- description: ""
- type: string
- type: object
- _openapi_v1_apps_get_401_response:
- example:
- message: message
- properties:
- message:
- type: string
- type: object
- _openapi_v1_apps_post_request:
- allOf:
- - $ref: "#/components/schemas/OpenCreateAppDTO"
- description: ""
- properties:
- app:
- allOf:
- - $ref: "#/components/schemas/OpenAppDTO"
- required:
- - appId
- - name
- - orgId
- - orgName
- - ownerName
- required:
- - admins
- - app
- - assignAppRoleToSelf
- type: object
- _openapi_v1_apps_post_400_response:
- example:
- exception: exception
- message: message
- properties:
- message:
- type: string
- exception:
- type: string
- type: object
- _openapi_v1_envs__env__apps__appId__clusters__clusterName__namespaces__namespaceName__items_validate_post_200_response:
- example:
- valid: true
- message: message
- properties:
- valid:
- type: boolean
- message:
- type: string
- type: object
- _openapi_v1_envs__env__apps__appId__clusters__clusterName__namespaces__namespaceName__items_validate_post_400_response:
- example:
- valid: true
- message: message
- errors:
- - errors
- - errors
- properties:
- valid:
- type: boolean
- message:
- type: string
- errors:
- items:
- type: string
- type: array
- type: object
- _openapi_v1_envs__env__releases_compare_get_200_response:
- example:
- changes:
- - type: ADDED
- entity:
- firstEntity:
- value: value
- key: key
- secondEntity:
- value: value
- key: key
- - type: ADDED
- entity:
- firstEntity:
- value: value
- key: key
- secondEntity:
- value: value
- key: key
- properties:
- changes:
- items:
- $ref: "#/components/schemas/Change"
- type: array
- type: object
- securitySchemes:
- ApiKeyAuth:
- description: |
- Apollo OpenAPI访问令牌
- **获取方式:**
- 1. 登录Apollo Portal管理界面
- 2. 进入"管理员工具" -> "开放平台授权管理"
- 3. 创建第三方应用,获取Token
- **使用格式:**
- ```
- Authorization: your_token_here
- ```
- **权限说明:**
- - Token具有对应应用的读写权限
- - 不同Token可能有不同的环境和命名空间权限
- - 建议为不同用途创建不同的Token
- in: header
- name: Authorization
- type: apiKey
-
diff --git a/java-client/build.gradle b/java-client/build.gradle
deleted file mode 100644
index bccfa03..0000000
--- a/java-client/build.gradle
+++ /dev/null
@@ -1,166 +0,0 @@
-apply plugin: 'idea'
-apply plugin: 'eclipse'
-apply plugin: 'java'
-apply plugin: 'com.diffplug.spotless'
-
-group = 'com.apollo'
-version = '0.0.1'
-
-buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:2.3.+'
- classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
- classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.11.0'
- }
-}
-
-repositories {
- mavenCentral()
-}
-sourceSets {
- main.java.srcDirs = ['src/main/java']
-}
-
-if(hasProperty('target') && target == 'android') {
-
- apply plugin: 'com.android.library'
- apply plugin: 'com.github.dcendents.android-maven'
-
- android {
- compileSdkVersion 25
- buildToolsVersion '25.0.2'
- defaultConfig {
- minSdkVersion 14
- targetSdkVersion 25
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
-
- // Rename the aar correctly
- libraryVariants.all { variant ->
- variant.outputs.each { output ->
- def outputFile = output.outputFile
- if (outputFile != null && outputFile.name.endsWith('.aar')) {
- def fileName = "${project.name}-${variant.baseName}-${version}.aar"
- output.outputFile = new File(outputFile.parent, fileName)
- }
- }
- }
-
- dependencies {
- provided "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
- }
- }
-
- afterEvaluate {
- android.libraryVariants.all { variant ->
- def task = project.tasks.create "jar${variant.name.capitalize()}", Jar
- task.description = "Create jar artifact for ${variant.name}"
- task.dependsOn variant.javaCompile
- task.from variant.javaCompile.destinationDirectory
- task.destinationDirectory = project.file("${project.buildDir}/outputs/jar")
- task.archiveFileName = "${project.name}-${variant.baseName}-${version}.jar"
- artifacts.add('archives', task)
- }
- }
-
- task sourcesJar(type: Jar) {
- from android.sourceSets.main.java.srcDirs
- classifier = 'sources'
- }
-
- artifacts {
- archives sourcesJar
- }
-
-} else {
-
- apply plugin: 'java'
- apply plugin: 'maven-publish'
-
- sourceCompatibility = JavaVersion.VERSION_1_8
- targetCompatibility = JavaVersion.VERSION_1_8
-
- publishing {
- publications {
- maven(MavenPublication) {
- artifactId = 'apollo-openapi-client'
- from components.java
- }
- }
- }
-
- task execute(type:JavaExec) {
- main = System.getProperty('mainClass')
- classpath = sourceSets.main.runtimeClasspath
- }
-}
-
-ext {
- jakarta_annotation_version = "1.3.5"
-}
-
-dependencies {
- implementation "com.google.code.findbugs:jsr305:3.0.2"
- implementation 'com.squareup.okhttp3:okhttp:4.12.0'
- implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0'
- implementation 'com.google.code.gson:gson:2.9.1'
- implementation 'io.gsonfire:gson-fire:1.9.0'
- implementation 'jakarta.ws.rs:jakarta.ws.rs-api:2.1.6'
- implementation 'org.openapitools:jackson-databind-nullable:0.2.6'
- implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.18.0'
- implementation "jakarta.annotation:jakarta.annotation-api:$jakarta_annotation_version"
- testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3'
- testImplementation 'org.mockito:mockito-core:3.12.4'
- testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.3'
-}
-
-javadoc {
- options.tags = [ "http.response.details:a:Http Response Details" ]
-}
-
-// Use spotless plugin to automatically format code, remove unused import, etc
-// To apply changes directly to the file, run `gradlew spotlessApply`
-// Ref: https://github.com/diffplug/spotless/tree/main/plugin-gradle
-spotless {
- // comment out below to run spotless as part of the `check` task
- enforceCheck false
-
- format 'misc', {
- // define the files (e.g. '*.gradle', '*.md') to apply `misc` to
- target '.gitignore'
-
- // define the steps to apply to those files
- trimTrailingWhitespace()
- indentWithSpaces() // Takes an integer argument if you don't like 4
- endWithNewline()
- }
- java {
- // don't need to set target, it is inferred from java
-
- // apply a specific flavor of google-java-format
- googleJavaFormat('1.8').aosp().reflowLongStrings()
-
- removeUnusedImports()
- importOrder()
- }
-}
-
-test {
- // Enable JUnit 5 (Gradle 4.6+).
- useJUnitPlatform()
-
- // Always run tests, even when nothing changed.
- dependsOn 'cleanTest'
-
- // Show test results.
- testLogging {
- events "passed", "skipped", "failed"
- }
-
-}
diff --git a/java-client/build.sbt b/java-client/build.sbt
deleted file mode 100644
index f55e8cc..0000000
--- a/java-client/build.sbt
+++ /dev/null
@@ -1,27 +0,0 @@
-lazy val root = (project in file(".")).
- settings(
- organization := "com.apollo",
- name := "apollo-openapi-client",
- version := "0.0.1",
- scalaVersion := "2.11.12",
- scalacOptions ++= Seq("-feature"),
- compile / javacOptions ++= Seq("-Xlint:deprecation"),
- Compile / packageDoc / publishArtifact := false,
- resolvers += Resolver.mavenLocal,
- libraryDependencies ++= Seq(
- "io.swagger" % "swagger-annotations" % "1.6.5",
- "com.squareup.okhttp3" % "okhttp" % "4.12.0",
- "com.squareup.okhttp3" % "logging-interceptor" % "4.12.0",
- "com.google.code.gson" % "gson" % "2.9.1",
- "org.apache.commons" % "commons-lang3" % "3.18.0",
- "jakarta.ws.rs" % "jakarta.ws.rs-api" % "2.1.6",
- "org.openapitools" % "jackson-databind-nullable" % "0.2.6",
- "io.gsonfire" % "gson-fire" % "1.9.0" % "compile",
- "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile",
- "com.google.code.findbugs" % "jsr305" % "3.0.2" % "compile",
- "jakarta.annotation" % "jakarta.annotation-api" % "1.3.5" % "compile",
- "org.junit.jupiter" % "junit-jupiter-api" % "5.10.3" % "test",
- "com.novocode" % "junit-interface" % "0.10" % "test",
- "org.mockito" % "mockito-core" % "3.12.4" % "test"
- )
- )
diff --git a/java-client/docs/AppManagementApi.md b/java-client/docs/AppManagementApi.md
deleted file mode 100644
index 413bf52..0000000
--- a/java-client/docs/AppManagementApi.md
+++ /dev/null
@@ -1,939 +0,0 @@
-# AppManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1AppsAppIdAppnamespacesNamespaceNameDelete**](AppManagementApi.md#openapiV1AppsAppIdAppnamespacesNamespaceNameDelete) | **DELETE** /openapi/v1/apps/{appId}/appnamespaces/{namespaceName} | 删除AppNamespace |
-| [**openapiV1AppsAppIdDelete**](AppManagementApi.md#openapiV1AppsAppIdDelete) | **DELETE** /openapi/v1/apps/{appId} | 删除应用 |
-| [**openapiV1AppsAppIdEnvClustersGet**](AppManagementApi.md#openapiV1AppsAppIdEnvClustersGet) | **GET** /openapi/v1/apps/{appId}/env-clusters | 获取应用的环境集群信息 |
-| [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete**](AppManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete) | **DELETE** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/links | 删除关联的Namespace |
-| [**openapiV1AppsAppIdGet**](AppManagementApi.md#openapiV1AppsAppIdGet) | **GET** /openapi/v1/apps/{appId} | 获取单个应用信息 |
-| [**openapiV1AppsAppIdMissEnvsGet**](AppManagementApi.md#openapiV1AppsAppIdMissEnvsGet) | **GET** /openapi/v1/apps/{appId}/miss_envs | 查找缺失的环境 |
-| [**openapiV1AppsAppIdNamespacesReleasesStatusGet**](AppManagementApi.md#openapiV1AppsAppIdNamespacesReleasesStatusGet) | **GET** /openapi/v1/apps/{appId}/namespaces/releases/status | 获取应用下所有Namespace的发布状态 |
-| [**openapiV1AppsAppIdNavtreeGet**](AppManagementApi.md#openapiV1AppsAppIdNavtreeGet) | **GET** /openapi/v1/apps/{appId}/navtree | 获取应用导航树 |
-| [**openapiV1AppsAppIdPut**](AppManagementApi.md#openapiV1AppsAppIdPut) | **PUT** /openapi/v1/apps/{appId} | 更新应用 |
-| [**openapiV1AppsBySelfGet**](AppManagementApi.md#openapiV1AppsBySelfGet) | **GET** /openapi/v1/apps/by-self | 获取当前Consumer的应用列表(分页) |
-| [**openapiV1AppsEnvsEnvPost**](AppManagementApi.md#openapiV1AppsEnvsEnvPost) | **POST** /openapi/v1/apps/envs/{env} | 在指定环境创建应用 |
-| [**openapiV1AppsGet**](AppManagementApi.md#openapiV1AppsGet) | **GET** /openapi/v1/apps | 获取当前Consumer授权的应用列表 |
-| [**openapiV1AppsPost**](AppManagementApi.md#openapiV1AppsPost) | **POST** /openapi/v1/apps | 创建应用 |
-
-
-
-# **openapiV1AppsAppIdAppnamespacesNamespaceNameDelete**
-> Object openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(appId, namespaceName)
-
-删除AppNamespace
-
-DELETE /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- Object result = apiInstance.openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(appId, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdAppnamespacesNamespaceNameDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdDelete**
-> OpenapiV1AppsGet401Response openapiV1AppsAppIdDelete(appId)
-
-删除应用
-
-DELETE /openapi/v1/apps/{appId}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1AppsAppIdDelete(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 应用删除成功 | - |
-| **403** | 权限不足,需要超级管理员权限 | - |
-| **404** | 应用不存在 | - |
-
-
-# **openapiV1AppsAppIdEnvClustersGet**
-> List<OpenEnvClusterDTO> openapiV1AppsAppIdEnvClustersGet(appId)
-
-获取应用的环境集群信息
-
-GET /openapi/v1/apps/{appId}/env-clusters
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- List result = apiInstance.openapiV1AppsAppIdEnvClustersGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdEnvClustersGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**List<OpenEnvClusterDTO>**](OpenEnvClusterDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取应用环境集群信息 | - |
-| **404** | 应用不存在 | - |
-
-
-# **openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete**
-> Object openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete(appId, env, clusterName, namespaceName)
-
-删除关联的Namespace
-
-DELETE /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/links
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- Object result = apiInstance.openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNameLinksDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdGet**
-> OpenAppDTO openapiV1AppsAppIdGet(appId)
-
-获取单个应用信息
-
-GET /openapi/v1/apps/{appId}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- OpenAppDTO result = apiInstance.openapiV1AppsAppIdGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**OpenAppDTO**](OpenAppDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取应用信息 | - |
-| **404** | 应用不存在 | - |
-
-
-# **openapiV1AppsAppIdMissEnvsGet**
-> List<String> openapiV1AppsAppIdMissEnvsGet(appId)
-
-查找缺失的环境
-
-GET /openapi/v1/apps/{appId}/miss_envs
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- List result = apiInstance.openapiV1AppsAppIdMissEnvsGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdMissEnvsGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-**List<String>**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取应用缺失的环境列表 | - |
-| **404** | 应用不存在 | - |
-
-
-# **openapiV1AppsAppIdNamespacesReleasesStatusGet**
-> Map<String, Map<String, Boolean>> openapiV1AppsAppIdNamespacesReleasesStatusGet(appId)
-
-获取应用下所有Namespace的发布状态
-
-GET /openapi/v1/apps/{appId}/namespaces/releases/status
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- Map> result = apiInstance.openapiV1AppsAppIdNamespacesReleasesStatusGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdNamespacesReleasesStatusGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**Map<String, Map<String, Boolean>>**](Map.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdNavtreeGet**
-> List<EnvClusterInfo> openapiV1AppsAppIdNavtreeGet(appId)
-
-获取应用导航树
-
-GET /openapi/v1/apps/{appId}/navtree
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- List result = apiInstance.openapiV1AppsAppIdNavtreeGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdNavtreeGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**List<EnvClusterInfo>**](EnvClusterInfo.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取应用导航树 | - |
-
-
-# **openapiV1AppsAppIdPut**
-> OpenAppDTO openapiV1AppsAppIdPut(appId, openAppDTO)
-
-更新应用
-
-PUT /openapi/v1/apps/{appId}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- OpenAppDTO openAppDTO = new OpenAppDTO(); // OpenAppDTO |
- try {
- OpenAppDTO result = apiInstance.openapiV1AppsAppIdPut(appId, openAppDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsAppIdPut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **openAppDTO** | [**OpenAppDTO**](OpenAppDTO.md)| | |
-
-### Return type
-
-[**OpenAppDTO**](OpenAppDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1AppsBySelfGet**
-> List<OpenAppDTO> openapiV1AppsBySelfGet()
-
-获取当前Consumer的应用列表(分页)
-
-GET /openapi/v1/apps/by-self
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- try {
- List result = apiInstance.openapiV1AppsBySelfGet();
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsBySelfGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-This endpoint does not need any parameter.
-
-### Return type
-
-[**List<OpenAppDTO>**](OpenAppDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取Consumer的应用列表 | - |
-| **401** | 未授权访问 | - |
-
-
-# **openapiV1AppsEnvsEnvPost**
-> OpenapiV1AppsGet401Response openapiV1AppsEnvsEnvPost(env, openAppDTO)
-
-在指定环境创建应用
-
-POST /openapi/v1/apps/envs/{env}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String env = "env_example"; // String |
- OpenAppDTO openAppDTO = new OpenAppDTO(); // OpenAppDTO |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1AppsEnvsEnvPost(env, openAppDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsEnvsEnvPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **openAppDTO** | [**OpenAppDTO**](OpenAppDTO.md)| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 应用在指定环境创建成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1AppsGet**
-> List<OpenAppDTO> openapiV1AppsGet(authorized)
-
-获取当前Consumer授权的应用列表
-
-GET /openapi/v1/apps?authorized=true
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- String authorized = "true"; // String | 是否只返回授权的应用
- try {
- List result = apiInstance.openapiV1AppsGet(authorized);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **authorized** | **String**| 是否只返回授权的应用 | [optional] |
-
-### Return type
-
-[**List<OpenAppDTO>**](OpenAppDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取授权应用列表 | - |
-| **401** | 未授权访问 | - |
-
-
-# **openapiV1AppsPost**
-> OpenAppDTO openapiV1AppsPost(openapiV1AppsPostRequest)
-
-创建应用
-
-POST /openapi/v1/apps
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.AppManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- AppManagementApi apiInstance = new AppManagementApi(defaultClient);
- OpenapiV1AppsPostRequest openapiV1AppsPostRequest = new OpenapiV1AppsPostRequest(); // OpenapiV1AppsPostRequest |
- try {
- OpenAppDTO result = apiInstance.openapiV1AppsPost(openapiV1AppsPostRequest);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling AppManagementApi#openapiV1AppsPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **openapiV1AppsPostRequest** | [**OpenapiV1AppsPostRequest**](OpenapiV1AppsPostRequest.md)| | |
-
-### Return type
-
-[**OpenAppDTO**](OpenAppDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 应用创建成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
diff --git a/java-client/docs/Change.md b/java-client/docs/Change.md
deleted file mode 100644
index fcab3b7..0000000
--- a/java-client/docs/Change.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-# Change
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**type** | [**TypeEnum**](#TypeEnum) | | [optional] |
-|**entity** | [**EntityPairKVEntity**](EntityPairKVEntity.md) | | [optional] |
-
-
-
-## Enum: TypeEnum
-
-| Name | Value |
-|---- | -----|
-| ADDED | "ADDED" |
-| MODIFIED | "MODIFIED" |
-| DELETED | "DELETED" |
-
-
-
diff --git a/java-client/docs/ClusterDTO.md b/java-client/docs/ClusterDTO.md
deleted file mode 100644
index c936fb4..0000000
--- a/java-client/docs/ClusterDTO.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-# ClusterDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | | [optional] |
-|**dataChangeLastModifiedBy** | **String** | | [optional] |
-|**dataChangeCreatedByDisplayName** | **String** | | [optional] |
-|**dataChangeLastModifiedByDisplayName** | **String** | | [optional] |
-|**dataChangeCreatedTime** | **String** | | [optional] |
-|**dataChangeLastModifiedTime** | **String** | | [optional] |
-|**id** | **Long** | | [optional] |
-|**name** | **String** | | |
-|**appId** | **String** | | |
-|**parentClusterId** | **Long** | | [optional] |
-|**comment** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/ClusterManagementApi.md b/java-client/docs/ClusterManagementApi.md
deleted file mode 100644
index 7b09868..0000000
--- a/java-client/docs/ClusterManagementApi.md
+++ /dev/null
@@ -1,387 +0,0 @@
-# ClusterManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1AppsAppIdClustersClusterNameGet**](ClusterManagementApi.md#openapiV1AppsAppIdClustersClusterNameGet) | **GET** /openapi/v1/apps/{appId}/clusters/{clusterName} | 获取指定集群信息 |
-| [**openapiV1AppsAppIdClustersPost**](ClusterManagementApi.md#openapiV1AppsAppIdClustersPost) | **POST** /openapi/v1/apps/{appId}/clusters | 创建集群 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete**](ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName} | 删除集群 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet**](ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches | 获取命名空间分支信息 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet**](ClusterManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName} | 获取指定的Namespace |
-
-
-
-# **openapiV1AppsAppIdClustersClusterNameGet**
-> OpenClusterDTO openapiV1AppsAppIdClustersClusterNameGet(appId, clusterName)
-
-获取指定集群信息
-
-GET /openapi/v1/apps/{appId}/clusters/{clusterName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ClusterManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ClusterManagementApi apiInstance = new ClusterManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- try {
- OpenClusterDTO result = apiInstance.openapiV1AppsAppIdClustersClusterNameGet(appId, clusterName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ClusterManagementApi#openapiV1AppsAppIdClustersClusterNameGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-
-### Return type
-
-[**OpenClusterDTO**](OpenClusterDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取集群信息 | - |
-| **404** | 集群不存在 | - |
-
-
-# **openapiV1AppsAppIdClustersPost**
-> OpenClusterDTO openapiV1AppsAppIdClustersPost(appId, openClusterDTO)
-
-创建集群
-
-POST /openapi/v1/apps/{appId}/clusters
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ClusterManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ClusterManagementApi apiInstance = new ClusterManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- OpenClusterDTO openClusterDTO = new OpenClusterDTO(); // OpenClusterDTO |
- try {
- OpenClusterDTO result = apiInstance.openapiV1AppsAppIdClustersPost(appId, openClusterDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ClusterManagementApi#openapiV1AppsAppIdClustersPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **openClusterDTO** | [**OpenClusterDTO**](OpenClusterDTO.md)| | |
-
-### Return type
-
-[**OpenClusterDTO**](OpenClusterDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 集群创建成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete(env, appId, clusterName)
-
-删除集群
-
-DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ClusterManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ClusterManagementApi apiInstance = new ClusterManagementApi(defaultClient);
- String env = "env_example"; // String |
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete(env, appId, clusterName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ClusterManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 集群删除成功 | - |
-| **400** | 删除失败,集群可能包含配置 | - |
-| **403** | 权限不足 | - |
-| **404** | 集群不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet**
-> OpenNamespaceDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet(appId, env, clusterName, namespaceName)
-
-获取命名空间分支信息
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ClusterManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ClusterManagementApi apiInstance = new ClusterManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenNamespaceDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ClusterManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenNamespaceDTO**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-| **404** | 分支不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet**
-> OpenNamespaceDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet(appId, env, clusterName, namespaceName, fillItemDetail)
-
-获取指定的Namespace
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ClusterManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ClusterManagementApi apiInstance = new ClusterManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- Boolean fillItemDetail = true; // Boolean |
- try {
- OpenNamespaceDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet(appId, env, clusterName, namespaceName, fillItemDetail);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ClusterManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **fillItemDetail** | **Boolean**| | |
-
-### Return type
-
-[**OpenNamespaceDTO**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
diff --git a/java-client/docs/EntityPairKVEntity.md b/java-client/docs/EntityPairKVEntity.md
deleted file mode 100644
index c8b1d4c..0000000
--- a/java-client/docs/EntityPairKVEntity.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# EntityPairKVEntity
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**firstEntity** | [**KVEntity**](KVEntity.md) | | [optional] |
-|**secondEntity** | [**KVEntity**](KVEntity.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/EnvClusterInfo.md b/java-client/docs/EnvClusterInfo.md
deleted file mode 100644
index 2ba034c..0000000
--- a/java-client/docs/EnvClusterInfo.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# EnvClusterInfo
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**env** | **String** | | [optional] |
-|**clusters** | [**List<ClusterDTO>**](ClusterDTO.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/InstanceManagementApi.md b/java-client/docs/InstanceManagementApi.md
deleted file mode 100644
index bff9b41..0000000
--- a/java-client/docs/InstanceManagementApi.md
+++ /dev/null
@@ -1,236 +0,0 @@
-# InstanceManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**](InstanceManagementApi.md#openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet) | **GET** /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances | 获取命名空间下的实例数量 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**](InstanceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances | 查询不在指定发布版本中的实例 |
-| [**openapiV1EnvsEnvReleasesReleaseIdInstancesGet**](InstanceManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdInstancesGet) | **GET** /openapi/v1/envs/{env}/releases/{releaseId}/instances | 根据发布版本查询实例(支持分页) |
-
-
-
-# **openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**
-> Integer openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet(appId, clusterName, namespaceName)
-
-获取命名空间下的实例数量
-
-GET /openapi/v1/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.InstanceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- InstanceManagementApi apiInstance = new InstanceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- Integer result = apiInstance.openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet(appId, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling InstanceManagementApi#openapiV1AppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-**Integer**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet**
-> List<OpenInstanceDTO> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet(env, appId, clusterName, namespaceName, excludeReleases)
-
-查询不在指定发布版本中的实例
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances?excludeReleases=1,2,3
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.InstanceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- InstanceManagementApi apiInstance = new InstanceManagementApi(defaultClient);
- String env = "env_example"; // String |
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String excludeReleases = "excludeReleases_example"; // String | 排除的发布ID列表,用逗号分隔
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet(env, appId, clusterName, namespaceName, excludeReleases);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling InstanceManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameInstancesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **excludeReleases** | **String**| 排除的发布ID列表,用逗号分隔 | [optional] |
-
-### Return type
-
-[**List<OpenInstanceDTO>**](OpenInstanceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvReleasesReleaseIdInstancesGet**
-> OpenPageDTOOpenInstanceDTO openapiV1EnvsEnvReleasesReleaseIdInstancesGet(env, releaseId, page, size)
-
-根据发布版本查询实例(支持分页)
-
-GET /openapi/v1/envs/{env}/releases/{releaseId}/instances
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.InstanceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- InstanceManagementApi apiInstance = new InstanceManagementApi(defaultClient);
- String env = "env_example"; // String |
- Integer releaseId = 56; // Integer |
- Integer page = 0; // Integer |
- Integer size = 20; // Integer |
- try {
- OpenPageDTOOpenInstanceDTO result = apiInstance.openapiV1EnvsEnvReleasesReleaseIdInstancesGet(env, releaseId, page, size);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling InstanceManagementApi#openapiV1EnvsEnvReleasesReleaseIdInstancesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **releaseId** | **Integer**| | |
-| **page** | **Integer**| | |
-| **size** | **Integer**| | |
-
-### Return type
-
-[**OpenPageDTOOpenInstanceDTO**](OpenPageDTOOpenInstanceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
diff --git a/java-client/docs/ItemChangeSets.md b/java-client/docs/ItemChangeSets.md
deleted file mode 100644
index 235cf94..0000000
--- a/java-client/docs/ItemChangeSets.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-# ItemChangeSets
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | | [optional] |
-|**dataChangeLastModifiedBy** | **String** | | [optional] |
-|**dataChangeCreatedByDisplayName** | **String** | | [optional] |
-|**dataChangeLastModifiedByDisplayName** | **String** | | [optional] |
-|**dataChangeCreatedTime** | **String** | | [optional] |
-|**dataChangeLastModifiedTime** | **String** | | [optional] |
-|**createItems** | [**List<ItemDTO>**](ItemDTO.md) | | [optional] |
-|**updateItems** | [**List<ItemDTO>**](ItemDTO.md) | | [optional] |
-|**deleteItems** | [**List<ItemDTO>**](ItemDTO.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/ItemDTO.md b/java-client/docs/ItemDTO.md
deleted file mode 100644
index 06148a2..0000000
--- a/java-client/docs/ItemDTO.md
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-# ItemDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | | [optional] |
-|**dataChangeLastModifiedBy** | **String** | | [optional] |
-|**dataChangeCreatedByDisplayName** | **String** | | [optional] |
-|**dataChangeLastModifiedByDisplayName** | **String** | | [optional] |
-|**dataChangeCreatedTime** | **String** | | [optional] |
-|**dataChangeLastModifiedTime** | **String** | | [optional] |
-|**id** | **Long** | | [optional] |
-|**namespaceId** | **Long** | | [optional] |
-|**key** | **String** | | [optional] |
-|**type** | **Integer** | | [optional] |
-|**value** | **String** | | [optional] |
-|**comment** | **String** | | [optional] |
-|**lineNum** | **Integer** | | [optional] |
-
-
-
diff --git a/java-client/docs/ItemManagementApi.md b/java-client/docs/ItemManagementApi.md
deleted file mode 100644
index a920a17..0000000
--- a/java-client/docs/ItemManagementApi.md
+++ /dev/null
@@ -1,1052 +0,0 @@
-# ItemManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过编码的key删除配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过查询参数获取配置项(支持编码的key) |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key} | 通过编码的key更新配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate | 通过文本批量修改配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare | 对比命名空间配置差异 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items | 获取命名空间下的配置项列表 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 删除配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 获取单个配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key} | 更新配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items | 创建新的配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert | 撤销配置项更改 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync | 同步配置项到多个命名空间 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost**](ItemManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate | 验证配置文本语法 |
-
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete**
-> Object openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete(appId, env, clusterName, namespaceName, key, operator)
-
-通过编码的key删除配置项
-
-DELETE /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- String operator = "operator_example"; // String |
- try {
- Object result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete(appId, env, clusterName, namespaceName, key, operator);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-| **operator** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet**
-> OpenItemDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet(appId, env, clusterName, namespaceName, key)
-
-通过查询参数获取配置项(支持编码的key)
-
-GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items?key={key}&encoded={true|false}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- try {
- OpenItemDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet(appId, env, clusterName, namespaceName, key);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-
-### Return type
-
-[**OpenItemDTO**](OpenItemDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取配置项(支持编码key) | - |
-| **404** | 配置项不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut(appId, env, clusterName, namespaceName, key, createIfNotExists, openItemDTO)
-
-通过编码的key更新配置项
-
-PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- Boolean createIfNotExists = false; // Boolean |
- OpenItemDTO openItemDTO = new OpenItemDTO(); // OpenItemDTO |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut(appId, env, clusterName, namespaceName, key, createIfNotExists, openItemDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameEncodedItemsKeyPut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-| **createIfNotExists** | **Boolean**| | |
-| **openItemDTO** | [**OpenItemDTO**](OpenItemDTO.md)| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置项更新成功(编码key) | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-| **404** | 配置项不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut(appId, env, clusterName, namespaceName, namespaceTextModel)
-
-通过文本批量修改配置项
-
-PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:batchUpdate
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- NamespaceTextModel namespaceTextModel = new NamespaceTextModel(); // NamespaceTextModel |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut(appId, env, clusterName, namespaceName, namespaceTextModel);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsBatchUpdatePut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **namespaceTextModel** | [**NamespaceTextModel**](NamespaceTextModel.md)| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 批量更新配置项成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost**
-> List<ListItemDiffs> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost(appId, env, clusterName, namespaceName, namespaceSyncModel)
-
-对比命名空间配置差异
-
-POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:compare
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- NamespaceSyncModel namespaceSyncModel = new NamespaceSyncModel(); // NamespaceSyncModel |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost(appId, env, clusterName, namespaceName, namespaceSyncModel);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsComparePost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **namespaceSyncModel** | [**NamespaceSyncModel**](NamespaceSyncModel.md)| | |
-
-### Return type
-
-[**List<ListItemDiffs>**](ListItemDiffs.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功对比命名空间配置差异 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet**
-> OpenPageDTOOpenItemDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet(appId, env, clusterName, namespaceName, page, size)
-
-获取命名空间下的配置项列表
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- Integer page = 0; // Integer |
- Integer size = 50; // Integer |
- try {
- OpenPageDTOOpenItemDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet(appId, env, clusterName, namespaceName, page, size);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **page** | **Integer**| | |
-| **size** | **Integer**| | |
-
-### Return type
-
-[**OpenPageDTOOpenItemDTO**](OpenPageDTOOpenItemDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取配置项列表 | - |
-| **404** | 命名空间不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete**
-> Object openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete(appId, env, clusterName, namespaceName, key, operator)
-
-删除配置项
-
-DELETE /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- String operator = "operator_example"; // String |
- try {
- Object result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete(appId, env, clusterName, namespaceName, key, operator);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-| **operator** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet**
-> OpenItemDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet(appId, env, clusterName, namespaceName, key)
-
-获取单个配置项
-
-GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- try {
- OpenItemDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet(appId, env, clusterName, namespaceName, key);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-
-### Return type
-
-[**OpenItemDTO**](OpenItemDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取配置项 | - |
-| **404** | 配置项不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut(appId, env, clusterName, namespaceName, key, createIfNotExists, openItemDTO)
-
-更新配置项
-
-PUT /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String key = "key_example"; // String |
- Boolean createIfNotExists = false; // Boolean |
- OpenItemDTO openItemDTO = new OpenItemDTO(); // OpenItemDTO |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut(appId, env, clusterName, namespaceName, key, createIfNotExists, openItemDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsKeyPut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **key** | **String**| | |
-| **createIfNotExists** | **Boolean**| | |
-| **openItemDTO** | [**OpenItemDTO**](OpenItemDTO.md)| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置项更新成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-| **404** | 配置项不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost**
-> OpenItemDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost(appId, env, clusterName, namespaceName, openItemDTO)
-
-创建新的配置项
-
-POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- OpenItemDTO openItemDTO = new OpenItemDTO(); // OpenItemDTO |
- try {
- OpenItemDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost(appId, env, clusterName, namespaceName, openItemDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **openItemDTO** | [**OpenItemDTO**](OpenItemDTO.md)| | |
-
-### Return type
-
-[**OpenItemDTO**](OpenItemDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置项创建成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost(appId, env, clusterName, namespaceName)
-
-撤销配置项更改
-
-POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:revert
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsRevertPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置项更改撤销成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost**
-> OpenapiV1AppsGet401Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost(appId, env, clusterName, namespaceName, namespaceSyncModel)
-
-同步配置项到多个命名空间
-
-POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:sync
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- NamespaceSyncModel namespaceSyncModel = new NamespaceSyncModel(); // NamespaceSyncModel |
- try {
- OpenapiV1AppsGet401Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost(appId, env, clusterName, namespaceName, namespaceSyncModel);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsSyncPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **namespaceSyncModel** | [**NamespaceSyncModel**](NamespaceSyncModel.md)| | |
-
-### Return type
-
-[**OpenapiV1AppsGet401Response**](OpenapiV1AppsGet401Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置项同步成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost**
-> OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost(appId, env, clusterName, namespaceName, namespaceTextModel)
-
-验证配置文本语法
-
-POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:validate
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ItemManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ItemManagementApi apiInstance = new ItemManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- NamespaceTextModel namespaceTextModel = new NamespaceTextModel(); // NamespaceTextModel |
- try {
- OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost(appId, env, clusterName, namespaceName, namespaceTextModel);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ItemManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **namespaceTextModel** | [**NamespaceTextModel**](NamespaceTextModel.md)| | |
-
-### Return type
-
-[**OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response**](OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 配置文本语法验证通过 | - |
-| **400** | 配置文本语法错误 | - |
-
diff --git a/java-client/docs/KVEntity.md b/java-client/docs/KVEntity.md
deleted file mode 100644
index 45c1130..0000000
--- a/java-client/docs/KVEntity.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# KVEntity
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**key** | **String** | | [optional] |
-|**value** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/ListItemDiffs.md b/java-client/docs/ListItemDiffs.md
deleted file mode 100644
index e1b3cd0..0000000
--- a/java-client/docs/ListItemDiffs.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-# ListItemDiffs
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**namespace** | [**NamespaceIdentifier**](NamespaceIdentifier.md) | | [optional] |
-|**diffs** | [**ItemChangeSets**](ItemChangeSets.md) | | [optional] |
-|**extInfo** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/ListReleaseBO.md b/java-client/docs/ListReleaseBO.md
deleted file mode 100644
index 22348cb..0000000
--- a/java-client/docs/ListReleaseBO.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# ListReleaseBO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**baseInfo** | [**ReleaseDTO**](ReleaseDTO.md) | | [optional] |
-|**items** | [**List<KVEntity>**](KVEntity.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/MapString.md b/java-client/docs/MapString.md
deleted file mode 100644
index a8698e9..0000000
--- a/java-client/docs/MapString.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# MapString
-
-字符串映射对象,用于表示键值对的配置数据结构
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**key** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/NamespaceBranchManagementApi.md b/java-client/docs/NamespaceBranchManagementApi.md
deleted file mode 100644
index 48515b9..0000000
--- a/java-client/docs/NamespaceBranchManagementApi.md
+++ /dev/null
@@ -1,733 +0,0 @@
-# NamespaceBranchManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch | 创建命名空间分支 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete) | **DELETE** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName} | 删除命名空间分支 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-del-releases | 创建灰度删除发布 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules | 获取分支灰度发布规则 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut) | **PUT** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules | 更新分支灰度发布规则 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items | 获取分支下的配置项 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/merge | 合并分支 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch) | **PATCH** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName} | 合并分支到主分支 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost**](NamespaceBranchManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/releases | 创建灰度发布 |
-
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost**
-> OpenNamespaceDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost(appId, env, clusterName, namespaceName, operator)
-
-创建命名空间分支
-
-POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branch
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String operator = "operator_example"; // String |
- try {
- OpenNamespaceDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost(appId, env, clusterName, namespaceName, operator);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **operator** | **String**| | |
-
-### Return type
-
-[**OpenNamespaceDTO**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete**
-> Object openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete(env, appId, clusterName, namespaceName, branchName, operator)
-
-删除命名空间分支
-
-DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String env = "env_example"; // String |
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- String operator = "operator_example"; // String |
- try {
- Object result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete(env, appId, clusterName, namespaceName, branchName, operator);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameDelete");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **operator** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost(appId, env, clusterName, namespaceName, branchName, namespaceGrayDelReleaseDTO)
-
-创建灰度删除发布
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- NamespaceGrayDelReleaseDTO namespaceGrayDelReleaseDTO = new NamespaceGrayDelReleaseDTO(); // NamespaceGrayDelReleaseDTO |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost(appId, env, clusterName, namespaceName, branchName, namespaceGrayDelReleaseDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayDelReleasesPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **namespaceGrayDelReleaseDTO** | [**NamespaceGrayDelReleaseDTO**](NamespaceGrayDelReleaseDTO.md)| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet**
-> OpenGrayReleaseRuleDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet(appId, env, clusterName, namespaceName, branchName)
-
-获取分支灰度发布规则
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- try {
- OpenGrayReleaseRuleDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet(appId, env, clusterName, namespaceName, branchName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-
-### Return type
-
-[**OpenGrayReleaseRuleDTO**](OpenGrayReleaseRuleDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut**
-> Object openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut(appId, env, clusterName, namespaceName, branchName, operator, openGrayReleaseRuleDTO)
-
-更新分支灰度发布规则
-
-PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/gray-rules
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- String operator = "operator_example"; // String |
- OpenGrayReleaseRuleDTO openGrayReleaseRuleDTO = new OpenGrayReleaseRuleDTO(); // OpenGrayReleaseRuleDTO |
- try {
- Object result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut(appId, env, clusterName, namespaceName, branchName, operator, openGrayReleaseRuleDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameGrayRulesPut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **operator** | **String**| | |
-| **openGrayReleaseRuleDTO** | [**OpenGrayReleaseRuleDTO**](OpenGrayReleaseRuleDTO.md)| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet**
-> List<OpenItemDTO> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet(appId, env, clusterName, namespaceName, branchName)
-
-获取分支下的配置项
-
-GET /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet(appId, env, clusterName, namespaceName, branchName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameItemsGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-
-### Return type
-
-[**List<OpenItemDTO>**](OpenItemDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取分支下的配置项列表 | - |
-| **404** | 分支不存在 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost(appId, env, clusterName, namespaceName, branchName, deleteBranch, namespaceReleaseDTO)
-
-合并分支
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- Boolean deleteBranch = true; // Boolean |
- NamespaceReleaseDTO namespaceReleaseDTO = new NamespaceReleaseDTO(); // NamespaceReleaseDTO |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost(appId, env, clusterName, namespaceName, branchName, deleteBranch, namespaceReleaseDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameMergePost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **deleteBranch** | **Boolean**| | |
-| **namespaceReleaseDTO** | [**NamespaceReleaseDTO**](NamespaceReleaseDTO.md)| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 分支合并成功 | - |
-| **400** | 合并参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch(env, appId, clusterName, namespaceName, branchName, deleteBranch, xApolloOperator, namespaceReleaseDTO)
-
-合并分支到主分支
-
-PATCH /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName} 使用 PATCH 方法表示部分更新操作(将分支状态从\"独立\"更新为\"合并\")
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String env = "env_example"; // String |
- String appId = "appId_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- Boolean deleteBranch = true; // Boolean |
- String xApolloOperator = "xApolloOperator_example"; // String |
- NamespaceReleaseDTO namespaceReleaseDTO = new NamespaceReleaseDTO(); // NamespaceReleaseDTO |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch(env, appId, clusterName, namespaceName, branchName, deleteBranch, xApolloOperator, namespaceReleaseDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNamePatch");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **appId** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **deleteBranch** | **Boolean**| | |
-| **xApolloOperator** | **String**| | |
-| **namespaceReleaseDTO** | [**NamespaceReleaseDTO**](NamespaceReleaseDTO.md)| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost(appId, env, clusterName, namespaceName, branchName, namespaceReleaseDTO)
-
-创建灰度发布
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceBranchManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceBranchManagementApi apiInstance = new NamespaceBranchManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- String branchName = "branchName_example"; // String |
- NamespaceReleaseDTO namespaceReleaseDTO = new NamespaceReleaseDTO(); // NamespaceReleaseDTO |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost(appId, env, clusterName, namespaceName, branchName, namespaceReleaseDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceBranchManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameBranchesBranchNameReleasesPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **branchName** | **String**| | |
-| **namespaceReleaseDTO** | [**NamespaceReleaseDTO**](NamespaceReleaseDTO.md)| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
diff --git a/java-client/docs/NamespaceGrayDelReleaseDTO.md b/java-client/docs/NamespaceGrayDelReleaseDTO.md
deleted file mode 100644
index ed9eaa1..0000000
--- a/java-client/docs/NamespaceGrayDelReleaseDTO.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-# NamespaceGrayDelReleaseDTO
-
-命名空间灰度删除发布请求数据传输对象,用于创建删除特定配置项的灰度发布
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**releaseTitle** | **String** | 发布标题,用于标识这次灰度删除发布的名称或版本号 | [optional] |
-|**releaseComment** | **String** | 发布备注,详细描述本次灰度删除发布的目的和删除的配置项 | [optional] |
-|**releasedBy** | **String** | 发布操作者用户名,记录是谁执行了这次灰度删除发布操作 | [optional] |
-|**isEmergencyPublish** | **Boolean** | 是否为紧急发布,紧急发布可能会跳过某些审核流程 | [optional] |
-|**grayDelKeys** | **List<String>** | 需要在灰度发布中删除的配置项键名列表 | [optional] |
-
-
-
diff --git a/java-client/docs/NamespaceIdentifier.md b/java-client/docs/NamespaceIdentifier.md
deleted file mode 100644
index dc61b50..0000000
--- a/java-client/docs/NamespaceIdentifier.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# NamespaceIdentifier
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**appId** | **String** | | [optional] |
-|**env** | **String** | | [optional] |
-|**clusterName** | **String** | | [optional] |
-|**namespaceName** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/NamespaceManagementApi.md b/java-client/docs/NamespaceManagementApi.md
deleted file mode 100644
index b4ac0cd..0000000
--- a/java-client/docs/NamespaceManagementApi.md
+++ /dev/null
@@ -1,672 +0,0 @@
-# NamespaceManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1AppnamespacesGet**](NamespaceManagementApi.md#openapiV1AppnamespacesGet) | **GET** /openapi/v1/appnamespaces | 获取所有公共AppNamespace |
-| [**openapiV1AppsAppIdAppnamespacesGet**](NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesGet) | **GET** /openapi/v1/apps/{appId}/appnamespaces | 获取指定应用的AppNamespace |
-| [**openapiV1AppsAppIdAppnamespacesNamespaceNameGet**](NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesNamespaceNameGet) | **GET** /openapi/v1/apps/{appId}/appnamespaces/{namespaceName} | 获取指定的AppNamespace |
-| [**openapiV1AppsAppIdAppnamespacesPost**](NamespaceManagementApi.md#openapiV1AppsAppIdAppnamespacesPost) | **POST** /openapi/v1/apps/{appId}/appnamespaces | 创建AppNamespace |
-| [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet**](NamespaceManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet) | **GET** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/integrity-check | 检查缺失的Namespace |
-| [**openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet**](NamespaceManagementApi.md#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet) | **GET** /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/public-association | 获取关联的公共Namespace |
-| [**openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet**](NamespaceManagementApi.md#openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet) | **GET** /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances | 获取公共AppNamespace的所有实例 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet**](NamespaceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces | 获取指定集群下的所有Namespace |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet**](NamespaceManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock | 获取Namespace的锁状态 |
-
-
-
-# **openapiV1AppnamespacesGet**
-> List<OpenAppNamespaceDTO> openapiV1AppnamespacesGet(publicOnly)
-
-获取所有公共AppNamespace
-
-GET /openapi/v1/appnamespaces?public=true
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- Boolean publicOnly = false; // Boolean |
- try {
- List result = apiInstance.openapiV1AppnamespacesGet(publicOnly);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppnamespacesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **publicOnly** | **Boolean**| | |
-
-### Return type
-
-[**List<OpenAppNamespaceDTO>**](OpenAppNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdAppnamespacesGet**
-> List<OpenAppNamespaceDTO> openapiV1AppsAppIdAppnamespacesGet(appId)
-
-获取指定应用的AppNamespace
-
-GET /openapi/v1/apps/{appId}/appnamespaces
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- try {
- List result = apiInstance.openapiV1AppsAppIdAppnamespacesGet(appId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppsAppIdAppnamespacesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-
-### Return type
-
-[**List<OpenAppNamespaceDTO>**](OpenAppNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdAppnamespacesNamespaceNameGet**
-> OpenAppNamespaceDTO openapiV1AppsAppIdAppnamespacesNamespaceNameGet(appId, namespaceName)
-
-获取指定的AppNamespace
-
-GET /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenAppNamespaceDTO result = apiInstance.openapiV1AppsAppIdAppnamespacesNamespaceNameGet(appId, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppsAppIdAppnamespacesNamespaceNameGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenAppNamespaceDTO**](OpenAppNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdAppnamespacesPost**
-> OpenAppNamespaceDTO openapiV1AppsAppIdAppnamespacesPost(appId, openAppNamespaceDTO)
-
-创建AppNamespace
-
-POST /openapi/v1/apps/{appId}/appnamespaces
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- OpenAppNamespaceDTO openAppNamespaceDTO = new OpenAppNamespaceDTO(); // OpenAppNamespaceDTO |
- try {
- OpenAppNamespaceDTO result = apiInstance.openapiV1AppsAppIdAppnamespacesPost(appId, openAppNamespaceDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppsAppIdAppnamespacesPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **openAppNamespaceDTO** | [**OpenAppNamespaceDTO**](OpenAppNamespaceDTO.md)| | |
-
-### Return type
-
-[**OpenAppNamespaceDTO**](OpenAppNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | AppNamespace创建成功 | - |
-| **400** | 请求参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet**
-> List<String> openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet(appId, env, clusterName)
-
-检查缺失的Namespace
-
-GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/integrity-check
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- try {
- List result = apiInstance.openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet(appId, env, clusterName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesIntegrityCheckGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-
-### Return type
-
-**List<String>**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet**
-> OpenNamespaceDTO openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet(appId, env, clusterName, namespaceName)
-
-获取关联的公共Namespace
-
-GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/public-association
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenNamespaceDTO result = apiInstance.openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1AppsAppIdEnvsEnvClustersClusterNameNamespacesNamespaceNamePublicAssociationGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenNamespaceDTO**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet**
-> List<OpenNamespaceDTO> openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet(env, publicNamespaceName, page, size)
-
-获取公共AppNamespace的所有实例
-
-GET /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String env = "env_example"; // String |
- String publicNamespaceName = "publicNamespaceName_example"; // String |
- Integer page = 0; // Integer |
- Integer size = 10; // Integer |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet(env, publicNamespaceName, page, size);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1EnvsEnvAppnamespacesPublicNamespaceNameInstancesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **publicNamespaceName** | **String**| | |
-| **page** | **Integer**| | |
-| **size** | **Integer**| | |
-
-### Return type
-
-[**List<OpenNamespaceDTO>**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet**
-> List<OpenNamespaceDTO> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet(appId, env, clusterName, fillItemDetail)
-
-获取指定集群下的所有Namespace
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- Boolean fillItemDetail = true; // Boolean |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet(appId, env, clusterName, fillItemDetail);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **fillItemDetail** | **Boolean**| | |
-
-### Return type
-
-[**List<OpenNamespaceDTO>**](OpenNamespaceDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet**
-> OpenNamespaceLockDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet(appId, env, clusterName, namespaceName)
-
-获取Namespace的锁状态
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.NamespaceManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- NamespaceManagementApi apiInstance = new NamespaceManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenNamespaceLockDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling NamespaceManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameLockGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenNamespaceLockDTO**](OpenNamespaceLockDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
diff --git a/java-client/docs/NamespaceReleaseDTO.md b/java-client/docs/NamespaceReleaseDTO.md
deleted file mode 100644
index 2c7af0c..0000000
--- a/java-client/docs/NamespaceReleaseDTO.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-# NamespaceReleaseDTO
-
-命名空间发布请求数据传输对象,用于创建新的配置发布
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**releaseTitle** | **String** | 发布标题,用于标识这次发布的名称或版本号 | [optional] |
-|**releaseComment** | **String** | 发布备注,详细描述本次发布的变更内容和目的 | [optional] |
-|**releasedBy** | **String** | 发布操作者用户名,记录是谁执行了这次发布操作 | [optional] |
-|**isEmergencyPublish** | **Boolean** | 是否为紧急发布,紧急发布可能会跳过某些审核流程 | [optional] |
-
-
-
diff --git a/java-client/docs/NamespaceSyncModel.md b/java-client/docs/NamespaceSyncModel.md
deleted file mode 100644
index ec78fba..0000000
--- a/java-client/docs/NamespaceSyncModel.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# NamespaceSyncModel
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**syncToNamespaces** | [**List<NamespaceIdentifier>**](NamespaceIdentifier.md) | | [optional] |
-|**syncItems** | [**List<ItemDTO>**](ItemDTO.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/NamespaceTextModel.md b/java-client/docs/NamespaceTextModel.md
deleted file mode 100644
index 40395b5..0000000
--- a/java-client/docs/NamespaceTextModel.md
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-# NamespaceTextModel
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**appId** | **String** | | [optional] |
-|**env** | **String** | | [optional] |
-|**clusterName** | **String** | | [optional] |
-|**namespaceName** | **String** | | [optional] |
-|**namespaceId** | **Long** | | [optional] |
-|**format** | **String** | | [optional] |
-|**configText** | **String** | | [optional] |
-|**operator** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenAppDTO.md b/java-client/docs/OpenAppDTO.md
deleted file mode 100644
index b60a5d5..0000000
--- a/java-client/docs/OpenAppDTO.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-# OpenAppDTO
-
-Apollo应用信息数据传输对象,包含应用的基本信息和元数据
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 数据创建者用户名,记录是谁创建了这个应用 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 数据最后修改者用户名,记录最后一次修改应用信息的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 数据创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 数据最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**name** | **String** | 应用名称,用于显示的友好名称 | [optional] |
-|**appId** | **String** | 应用唯一标识符,全局唯一的应用ID | [optional] |
-|**orgId** | **String** | 组织ID,应用所属组织的唯一标识 | [optional] |
-|**orgName** | **String** | 组织名称,应用所属组织的显示名称 | [optional] |
-|**ownerName** | **String** | 应用负责人姓名,应用的主要负责人 | [optional] |
-|**ownerEmail** | **String** | 应用负责人邮箱地址,用于接收应用相关通知 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenAppNamespaceDTO.md b/java-client/docs/OpenAppNamespaceDTO.md
deleted file mode 100644
index c1e5101..0000000
--- a/java-client/docs/OpenAppNamespaceDTO.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-# OpenAppNamespaceDTO
-
-Apollo应用命名空间数据传输对象,表示应用级别的命名空间配置信息
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 命名空间创建者用户名,记录是谁创建了这个应用命名空间 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 命名空间最后修改者用户名,记录最后一次修改命名空间信息的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 命名空间创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 命名空间最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**name** | **String** | 命名空间名称,在同一应用内唯一标识一个命名空间 | [optional] |
-|**appId** | **String** | 所属应用的唯一标识符 | [optional] |
-|**format** | **String** | 命名空间格式类型,如properties、xml、json、yml等 | [optional] |
-|**isPublic** | **Boolean** | 是否为公共命名空间,公共命名空间可以被其他应用关联使用 | [optional] |
-|**appendNamespacePrefix** | **Boolean** | 对于公共命名空间,是否在命名空间名称前添加前缀 | [optional] |
-|**comment** | **String** | 命名空间备注说明,描述命名空间的用途和包含的配置类型 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenClusterDTO.md b/java-client/docs/OpenClusterDTO.md
deleted file mode 100644
index 54fc4a8..0000000
--- a/java-client/docs/OpenClusterDTO.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-# OpenClusterDTO
-
-Apollo集群信息数据传输对象,表示应用在特定环境下的集群配置
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 集群创建者用户名,记录是谁创建了这个集群 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 集群最后修改者用户名,记录最后一次修改集群信息的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 集群创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 集群最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**name** | **String** | 集群名称,在同一应用和环境下唯一标识一个集群 | [optional] |
-|**appId** | **String** | 所属应用的唯一标识符 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenCreateAppDTO.md b/java-client/docs/OpenCreateAppDTO.md
deleted file mode 100644
index b51f186..0000000
--- a/java-client/docs/OpenCreateAppDTO.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# OpenCreateAppDTO
-
-创建Apollo应用的请求数据传输对象,包含创建应用所需的所有信息
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**assignAppRoleToSelf** | **Boolean** | 是否将应用角色分配给当前用户。当设置为true时,当前token用户将获得该应用的完全操作权限 | [optional] |
-|**admins** | **List<String>** | 应用管理员用户名列表。应用负责人默认具有项目管理员权限。管理员可以创建命名空间、集群并分配用户权限 | [optional] |
-|**app** | [**OpenAppDTO**](OpenAppDTO.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenEnvClusterDTO.md b/java-client/docs/OpenEnvClusterDTO.md
deleted file mode 100644
index a7251c7..0000000
--- a/java-client/docs/OpenEnvClusterDTO.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# OpenEnvClusterDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**env** | **String** | | [optional] |
-|**clusters** | **List<String>** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenGrayReleaseRuleDTO.md b/java-client/docs/OpenGrayReleaseRuleDTO.md
deleted file mode 100644
index 8a30133..0000000
--- a/java-client/docs/OpenGrayReleaseRuleDTO.md
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-# OpenGrayReleaseRuleDTO
-
-Apollo灰度发布规则数据传输对象,表示完整的灰度发布规则配置
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 灰度规则创建者用户名,记录是谁创建了这个灰度发布规则 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 灰度规则最后修改者用户名,记录最后一次修改规则的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 灰度规则创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 灰度规则最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**appId** | **String** | 所属应用的唯一标识符 | [optional] |
-|**clusterName** | **String** | 所属集群的名称 | [optional] |
-|**namespaceName** | **String** | 所属命名空间的名称 | [optional] |
-|**branchName** | **String** | 灰度分支名称,标识灰度发布的分支 | [optional] |
-|**ruleItems** | [**List<OpenGrayReleaseRuleItemDTO>**](OpenGrayReleaseRuleItemDTO.md) | 灰度发布规则项列表,包含具体的灰度规则条件 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenGrayReleaseRuleItemDTO.md b/java-client/docs/OpenGrayReleaseRuleItemDTO.md
deleted file mode 100644
index a53ef87..0000000
--- a/java-client/docs/OpenGrayReleaseRuleItemDTO.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# OpenGrayReleaseRuleItemDTO
-
-Apollo灰度发布规则项数据传输对象,表示灰度发布的具体规则条件
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**clientAppId** | **String** | 客户端应用ID,指定哪个应用可以获取灰度配置 | [optional] |
-|**clientIpList** | **List<String>** | 客户端IP地址列表,指定哪些IP地址可以获取灰度配置 | [optional] |
-|**clientLabelList** | **List<String>** | 客户端标签列表,通过标签来识别可以获取灰度配置的客户端 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenInstanceConfigDTO.md b/java-client/docs/OpenInstanceConfigDTO.md
deleted file mode 100644
index 17d61a9..0000000
--- a/java-client/docs/OpenInstanceConfigDTO.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-# OpenInstanceConfigDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**release** | [**OpenReleaseDTO**](OpenReleaseDTO.md) | | [optional] |
-|**releaseDeliveryTime** | **String** | | [optional] |
-|**dataChangeLastModifiedTime** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenInstanceDTO.md b/java-client/docs/OpenInstanceDTO.md
deleted file mode 100644
index 5d174be..0000000
--- a/java-client/docs/OpenInstanceDTO.md
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-# OpenInstanceDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**id** | **Long** | | [optional] |
-|**appId** | **String** | | [optional] |
-|**clusterName** | **String** | | [optional] |
-|**dataCenter** | **String** | | [optional] |
-|**ip** | **String** | | [optional] |
-|**configs** | [**List<OpenInstanceConfigDTO>**](OpenInstanceConfigDTO.md) | | [optional] |
-|**dataChangeCreatedTime** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenItemDTO.md b/java-client/docs/OpenItemDTO.md
deleted file mode 100644
index bcfea65..0000000
--- a/java-client/docs/OpenItemDTO.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-# OpenItemDTO
-
-Apollo配置项数据传输对象,表示一个具体的配置键值对及其元数据
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 配置项创建者用户名,记录是谁创建了这个配置项 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 配置项最后修改者用户名,记录最后一次修改配置的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 配置项创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 配置项最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**key** | **String** | 配置项的键名,在同一命名空间内唯一标识一个配置项 | [optional] |
-|**type** | **Integer** | 配置项类型,0表示普通配置项,1表示文件类型配置项 | [optional] |
-|**value** | **String** | 配置项的值,可以是字符串、数字、JSON等格式 | [optional] |
-|**comment** | **String** | 配置项的注释说明,用于描述配置项的用途和含义 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenNamespaceDTO.md b/java-client/docs/OpenNamespaceDTO.md
deleted file mode 100644
index f8da948..0000000
--- a/java-client/docs/OpenNamespaceDTO.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-# OpenNamespaceDTO
-
-Apollo命名空间数据传输对象,表示一个完整的命名空间及其配置项
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 命名空间创建者用户名,记录是谁创建了这个命名空间 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 命名空间最后修改者用户名,记录最后一次修改命名空间信息的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 命名空间创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 命名空间最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**appId** | **String** | 所属应用的唯一标识符 | [optional] |
-|**clusterName** | **String** | 所属集群的名称 | [optional] |
-|**namespaceName** | **String** | 命名空间名称,在同一应用和集群下唯一标识一个命名空间 | [optional] |
-|**comment** | **String** | 命名空间备注说明,描述命名空间的用途 | [optional] |
-|**format** | **String** | 命名空间格式类型,如properties、xml、json、yml等 | [optional] |
-|**isPublic** | **Boolean** | 是否为公共命名空间,公共命名空间可以被其他应用关联使用 | [optional] |
-|**items** | [**List<OpenItemDTO>**](OpenItemDTO.md) | 命名空间包含的配置项列表 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenNamespaceLockDTO.md b/java-client/docs/OpenNamespaceLockDTO.md
deleted file mode 100644
index b369a19..0000000
--- a/java-client/docs/OpenNamespaceLockDTO.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# OpenNamespaceLockDTO
-
-Apollo命名空间锁状态数据传输对象
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**namespaceName** | **String** | 命名空间名称 | [optional] |
-|**isLocked** | **Boolean** | 是否被锁定 | [optional] |
-|**lockedBy** | **String** | 锁定者用户名 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenOrganizationDto.md b/java-client/docs/OpenOrganizationDto.md
deleted file mode 100644
index dd546a3..0000000
--- a/java-client/docs/OpenOrganizationDto.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# OpenOrganizationDto
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**orgId** | **String** | | [optional] |
-|**orgName** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenPageDTOOpenInstanceDTO.md b/java-client/docs/OpenPageDTOOpenInstanceDTO.md
deleted file mode 100644
index 4adee06..0000000
--- a/java-client/docs/OpenPageDTOOpenInstanceDTO.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-# OpenPageDTOOpenInstanceDTO
-
-分页实例数据传输对象,用于返回分页查询的实例列表结果
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**page** | **Integer** | 当前页码,从0开始计数 | [optional] |
-|**size** | **Integer** | 每页显示的记录数量 | [optional] |
-|**total** | **Long** | 总记录数,符合查询条件的实例总数量 | [optional] |
-|**content** | [**List<OpenInstanceDTO>**](OpenInstanceDTO.md) | 当前页的实例列表,包含具体的实例数据 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenPageDTOOpenItemDTO.md b/java-client/docs/OpenPageDTOOpenItemDTO.md
deleted file mode 100644
index 036ac0d..0000000
--- a/java-client/docs/OpenPageDTOOpenItemDTO.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-# OpenPageDTOOpenItemDTO
-
-分页配置项数据传输对象,用于返回分页查询的配置项列表结果
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**page** | **Integer** | 当前页码,从0开始计数 | [optional] |
-|**size** | **Integer** | 每页显示的记录数量 | [optional] |
-|**total** | **Long** | 总记录数,符合查询条件的配置项总数量 | [optional] |
-|**content** | [**List<OpenItemDTO>**](OpenItemDTO.md) | 当前页的配置项列表,包含具体的配置项数据 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenReleaseDTO.md b/java-client/docs/OpenReleaseDTO.md
deleted file mode 100644
index 14753a3..0000000
--- a/java-client/docs/OpenReleaseDTO.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-# OpenReleaseDTO
-
-Apollo发布信息数据传输对象,表示一次配置发布的完整信息
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | 发布创建者用户名,记录是谁创建了这次发布 | [optional] |
-|**dataChangeLastModifiedBy** | **String** | 发布最后修改者用户名,记录最后一次修改发布信息的用户 | [optional] |
-|**dataChangeCreatedTime** | **String** | 发布创建时间,ISO 8601格式的时间戳 | [optional] |
-|**dataChangeLastModifiedTime** | **String** | 发布最后修改时间,ISO 8601格式的时间戳 | [optional] |
-|**id** | **Long** | 发布记录的唯一标识符,系统自动生成 | [optional] |
-|**appId** | **String** | 所属应用的唯一标识符 | [optional] |
-|**clusterName** | **String** | 所属集群的名称 | [optional] |
-|**namespaceName** | **String** | 所属命名空间的名称 | [optional] |
-|**name** | **String** | 发布名称,用于标识这次发布的版本或描述 | [optional] |
-|**configurations** | [**MapString**](MapString.md) | | [optional] |
-|**comment** | **String** | 发布备注,描述本次发布的变更内容和目的 | [optional] |
-
-
-
diff --git a/java-client/docs/OpenapiV1AppsGet401Response.md b/java-client/docs/OpenapiV1AppsGet401Response.md
deleted file mode 100644
index 3965851..0000000
--- a/java-client/docs/OpenapiV1AppsGet401Response.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-# OpenapiV1AppsGet401Response
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**message** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenapiV1AppsPost400Response.md b/java-client/docs/OpenapiV1AppsPost400Response.md
deleted file mode 100644
index 966162b..0000000
--- a/java-client/docs/OpenapiV1AppsPost400Response.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# OpenapiV1AppsPost400Response
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**message** | **String** | | [optional] |
-|**exception** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenapiV1AppsPostRequest.md b/java-client/docs/OpenapiV1AppsPostRequest.md
deleted file mode 100644
index 46f4ba4..0000000
--- a/java-client/docs/OpenapiV1AppsPostRequest.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-# OpenapiV1AppsPostRequest
-
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**app** | [**OpenAppDTO**](OpenAppDTO.md) | | |
-|**assignAppRoleToSelf** | **Boolean** | 是否将应用角色分配给当前用户。当设置为true时,当前token用户将获得该应用的完全操作权限 | |
-|**admins** | **List<String>** | 应用管理员用户名列表。应用负责人默认具有项目管理员权限。管理员可以创建命名空间、集群并分配用户权限 | |
-
-
-
diff --git a/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md b/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md
deleted file mode 100644
index 02b3fdf..0000000
--- a/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-# OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**valid** | **Boolean** | | [optional] |
-|**message** | **String** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.md b/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.md
deleted file mode 100644
index 7744d10..0000000
--- a/java-client/docs/OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-# OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**valid** | **Boolean** | | [optional] |
-|**message** | **String** | | [optional] |
-|**errors** | **List<String>** | | [optional] |
-
-
-
diff --git a/java-client/docs/OpenapiV1EnvsEnvReleasesCompareGet200Response.md b/java-client/docs/OpenapiV1EnvsEnvReleasesCompareGet200Response.md
deleted file mode 100644
index 48c021c..0000000
--- a/java-client/docs/OpenapiV1EnvsEnvReleasesCompareGet200Response.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-# OpenapiV1EnvsEnvReleasesCompareGet200Response
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**changes** | [**List<Change>**](Change.md) | | [optional] |
-
-
-
diff --git a/java-client/docs/OrganizationManagementApi.md b/java-client/docs/OrganizationManagementApi.md
deleted file mode 100644
index bfac5d9..0000000
--- a/java-client/docs/OrganizationManagementApi.md
+++ /dev/null
@@ -1,75 +0,0 @@
-# OrganizationManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1OrganizationsGet**](OrganizationManagementApi.md#openapiV1OrganizationsGet) | **GET** /openapi/v1/organizations | 获取所有组织信息 |
-
-
-
-# **openapiV1OrganizationsGet**
-> List<OpenOrganizationDto> openapiV1OrganizationsGet()
-
-获取所有组织信息
-
-GET /openapi/v1/organizations
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.OrganizationManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- OrganizationManagementApi apiInstance = new OrganizationManagementApi(defaultClient);
- try {
- List result = apiInstance.openapiV1OrganizationsGet();
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling OrganizationManagementApi#openapiV1OrganizationsGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-This endpoint does not need any parameter.
-
-### Return type
-
-[**List<OpenOrganizationDto>**](OpenOrganizationDto.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取组织列表 | - |
-| **401** | 未授权访问 | - |
-
diff --git a/java-client/docs/ReleaseDTO.md b/java-client/docs/ReleaseDTO.md
deleted file mode 100644
index f9e157d..0000000
--- a/java-client/docs/ReleaseDTO.md
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-# ReleaseDTO
-
-
-## Properties
-
-| Name | Type | Description | Notes |
-|------------ | ------------- | ------------- | -------------|
-|**dataChangeCreatedBy** | **String** | | [optional] |
-|**dataChangeLastModifiedBy** | **String** | | [optional] |
-|**dataChangeCreatedByDisplayName** | **String** | | [optional] |
-|**dataChangeLastModifiedByDisplayName** | **String** | | [optional] |
-|**dataChangeCreatedTime** | **String** | | [optional] |
-|**dataChangeLastModifiedTime** | **String** | | [optional] |
-|**id** | **Long** | | [optional] |
-|**releaseKey** | **String** | | [optional] |
-|**name** | **String** | | [optional] |
-|**appId** | **String** | | [optional] |
-|**clusterName** | **String** | | [optional] |
-|**namespaceName** | **String** | | [optional] |
-|**configurations** | **String** | | [optional] |
-|**comment** | **String** | | [optional] |
-|**isAbandoned** | **Boolean** | | [optional] |
-
-
-
diff --git a/java-client/docs/ReleaseManagementApi.md b/java-client/docs/ReleaseManagementApi.md
deleted file mode 100644
index 4bacc90..0000000
--- a/java-client/docs/ReleaseManagementApi.md
+++ /dev/null
@@ -1,545 +0,0 @@
-# ReleaseManagementApi
-
-All URIs are relative to *http://localhost*
-
-| Method | HTTP request | Description |
-|------------- | ------------- | -------------|
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet**](ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active | 获取活跃发布(分页) |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet**](ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/all | 获取所有发布(分页) |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet**](ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet) | **GET** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/latest | 获取最新活跃发布 |
-| [**openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost**](ReleaseManagementApi.md#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost) | **POST** /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases | 创建发布 |
-| [**openapiV1EnvsEnvReleasesCompareGet**](ReleaseManagementApi.md#openapiV1EnvsEnvReleasesCompareGet) | **GET** /openapi/v1/envs/{env}/releases/compare | 对比发布 |
-| [**openapiV1EnvsEnvReleasesReleaseIdGet**](ReleaseManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdGet) | **GET** /openapi/v1/envs/{env}/releases/{releaseId} | 获取发布详情 |
-| [**openapiV1EnvsEnvReleasesReleaseIdRollbackPut**](ReleaseManagementApi.md#openapiV1EnvsEnvReleasesReleaseIdRollbackPut) | **PUT** /openapi/v1/envs/{env}/releases/{releaseId}/rollback | 回滚发布 |
-
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet**
-> List<OpenReleaseDTO> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet(appId, env, clusterName, namespaceName, page, size)
-
-获取活跃发布(分页)
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- Integer page = 0; // Integer |
- Integer size = 5; // Integer |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet(appId, env, clusterName, namespaceName, page, size);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesActiveGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **page** | **Integer**| | |
-| **size** | **Integer**| | |
-
-### Return type
-
-[**List<OpenReleaseDTO>**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet**
-> List<ListReleaseBO> openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet(appId, env, clusterName, namespaceName, page, size)
-
-获取所有发布(分页)
-
-GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/all
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- Integer page = 0; // Integer |
- Integer size = 5; // Integer |
- try {
- List result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet(appId, env, clusterName, namespaceName, page, size);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesAllGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **page** | **Integer**| | |
-| **size** | **Integer**| | |
-
-### Return type
-
-[**List<ListReleaseBO>**](ListReleaseBO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet(appId, env, clusterName, namespaceName)
-
-获取最新活跃发布
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet(appId, env, clusterName, namespaceName);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesLatestGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 成功获取最新活跃发布 | - |
-| **404** | 未找到活跃发布 | - |
-
-
-# **openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost**
-> OpenReleaseDTO openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost(appId, env, clusterName, namespaceName, namespaceReleaseDTO)
-
-创建发布
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String appId = "appId_example"; // String |
- String env = "env_example"; // String |
- String clusterName = "clusterName_example"; // String |
- String namespaceName = "namespaceName_example"; // String |
- NamespaceReleaseDTO namespaceReleaseDTO = new NamespaceReleaseDTO(); // NamespaceReleaseDTO |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost(appId, env, clusterName, namespaceName, namespaceReleaseDTO);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameReleasesPost");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **appId** | **String**| | |
-| **env** | **String**| | |
-| **clusterName** | **String**| | |
-| **namespaceName** | **String**| | |
-| **namespaceReleaseDTO** | [**NamespaceReleaseDTO**](NamespaceReleaseDTO.md)| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: application/json
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | 发布创建成功 | - |
-| **400** | 发布参数错误 | - |
-| **403** | 权限不足 | - |
-
-
-# **openapiV1EnvsEnvReleasesCompareGet**
-> OpenapiV1EnvsEnvReleasesCompareGet200Response openapiV1EnvsEnvReleasesCompareGet(env, baseReleaseId, toCompareReleaseId)
-
-对比发布
-
-GET /openapi/v1/envs/{env}/releases/compare
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String env = "env_example"; // String |
- Integer baseReleaseId = 56; // Integer |
- Integer toCompareReleaseId = 56; // Integer |
- try {
- OpenapiV1EnvsEnvReleasesCompareGet200Response result = apiInstance.openapiV1EnvsEnvReleasesCompareGet(env, baseReleaseId, toCompareReleaseId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvReleasesCompareGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **baseReleaseId** | **Integer**| | |
-| **toCompareReleaseId** | **Integer**| | |
-
-### Return type
-
-[**OpenapiV1EnvsEnvReleasesCompareGet200Response**](OpenapiV1EnvsEnvReleasesCompareGet200Response.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvReleasesReleaseIdGet**
-> OpenReleaseDTO openapiV1EnvsEnvReleasesReleaseIdGet(env, releaseId)
-
-获取发布详情
-
-GET /openapi/v1/envs/{env}/releases/{releaseId}
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String env = "env_example"; // String |
- Integer releaseId = 56; // Integer |
- try {
- OpenReleaseDTO result = apiInstance.openapiV1EnvsEnvReleasesReleaseIdGet(env, releaseId);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvReleasesReleaseIdGet");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **releaseId** | **Integer**| | |
-
-### Return type
-
-[**OpenReleaseDTO**](OpenReleaseDTO.md)
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
-
-# **openapiV1EnvsEnvReleasesReleaseIdRollbackPut**
-> Object openapiV1EnvsEnvReleasesReleaseIdRollbackPut(env, releaseId, operator)
-
-回滚发布
-
-
-
-### Example
-```java
-// Import classes:
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.auth.*;
-import org.openapitools.client.models.*;
-import org.openapitools.client.api.ReleaseManagementApi;
-
-public class Example {
- public static void main(String[] args) {
- ApiClient defaultClient = Configuration.getDefaultApiClient();
- defaultClient.setBasePath("http://localhost");
-
- // Configure API key authorization: ApiKeyAuth
- ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
- ApiKeyAuth.setApiKey("YOUR API KEY");
- // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
- //ApiKeyAuth.setApiKeyPrefix("Token");
-
- ReleaseManagementApi apiInstance = new ReleaseManagementApi(defaultClient);
- String env = "env_example"; // String |
- Integer releaseId = 56; // Integer |
- String operator = "operator_example"; // String |
- try {
- Object result = apiInstance.openapiV1EnvsEnvReleasesReleaseIdRollbackPut(env, releaseId, operator);
- System.out.println(result);
- } catch (ApiException e) {
- System.err.println("Exception when calling ReleaseManagementApi#openapiV1EnvsEnvReleasesReleaseIdRollbackPut");
- System.err.println("Status code: " + e.getCode());
- System.err.println("Reason: " + e.getResponseBody());
- System.err.println("Response headers: " + e.getResponseHeaders());
- e.printStackTrace();
- }
- }
-}
-```
-
-### Parameters
-
-| Name | Type | Description | Notes |
-|------------- | ------------- | ------------- | -------------|
-| **env** | **String**| | |
-| **releaseId** | **Integer**| | |
-| **operator** | **String**| | |
-
-### Return type
-
-**Object**
-
-### Authorization
-
-[ApiKeyAuth](../README.md#ApiKeyAuth)
-
-### HTTP request headers
-
- - **Content-Type**: Not defined
- - **Accept**: application/json
-
-### HTTP response details
-| Status code | Description | Response headers |
-|-------------|-------------|------------------|
-| **200** | | - |
-
diff --git a/java-client/git_push.sh b/java-client/git_push.sh
deleted file mode 100644
index f53a75d..0000000
--- a/java-client/git_push.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
-#
-# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
-
-git_user_id=$1
-git_repo_id=$2
-release_note=$3
-git_host=$4
-
-if [ "$git_host" = "" ]; then
- git_host="github.com"
- echo "[INFO] No command line input provided. Set \$git_host to $git_host"
-fi
-
-if [ "$git_user_id" = "" ]; then
- git_user_id="GIT_USER_ID"
- echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
-fi
-
-if [ "$git_repo_id" = "" ]; then
- git_repo_id="GIT_REPO_ID"
- echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
-fi
-
-if [ "$release_note" = "" ]; then
- release_note="Minor update"
- echo "[INFO] No command line input provided. Set \$release_note to $release_note"
-fi
-
-# Initialize the local directory as a Git repository
-git init
-
-# Adds the files in the local repository and stages them for commit.
-git add .
-
-# Commits the tracked changes and prepares them to be pushed to a remote repository.
-git commit -m "$release_note"
-
-# Sets the new remote
-git_remote=$(git remote)
-if [ "$git_remote" = "" ]; then # git remote not defined
-
- if [ "$GIT_TOKEN" = "" ]; then
- echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
- git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
- else
- git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
- fi
-
-fi
-
-git pull origin master
-
-# Pushes (Forces) the changes in the local repository up to the remote repository
-echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
-git push origin master 2>&1 | grep -v 'To https'
diff --git a/java-client/gradle.properties b/java-client/gradle.properties
deleted file mode 100644
index a340857..0000000
--- a/java-client/gradle.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
-# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
-#
-# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
-# For example, uncomment below to build for Android
-#target = android
diff --git a/java-client/gradle/wrapper/gradle-wrapper.jar b/java-client/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index e644113..0000000
Binary files a/java-client/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/java-client/gradle/wrapper/gradle-wrapper.properties b/java-client/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index b82aa23..0000000
--- a/java-client/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/java-client/gradlew b/java-client/gradlew
deleted file mode 100644
index 9d0ce63..0000000
--- a/java-client/gradlew
+++ /dev/null
@@ -1,249 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015-2021 the original authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-##############################################################################
-#
-# Gradle start up script for POSIX generated by Gradle.
-#
-# Important for running:
-#
-# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-# noncompliant, but you have some other compliant shell such as ksh or
-# bash, then to run this script, type that shell name before the whole
-# command line, like:
-#
-# ksh Gradle
-#
-# Busybox and similar reduced shells will NOT work, because this script
-# requires all of these POSIX shell features:
-# * functions;
-# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-# * compound commands having a testable exit status, especially «case»;
-# * various built-in commands including «command», «set», and «ulimit».
-#
-# Important for patching:
-#
-# (2) This script targets any POSIX shell, so it avoids extensions provided
-# by Bash, Ksh, etc; in particular arrays are avoided.
-#
-# The "traditional" practice of packing multiple parameters into a
-# space-separated string is a well documented source of bugs and security
-# problems, so this is (mostly) avoided, by progressively accumulating
-# options in "$@", and eventually passing that to Java.
-#
-# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-# see the in-line comments for details.
-#
-# There are tweaks for specific operating systems such as AIX, CygWin,
-# Darwin, MinGW, and NonStop.
-#
-# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-# within the Gradle project.
-#
-# You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
-APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
-[ -h "$app_path" ]
-do
-ls=$( ls -ld "$app_path" )
-link=${ls#*' -> '}
-case $link in #(
-/*) app_path=$link ;; #(
-*) app_path=$APP_HOME$link ;;
-esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
-echo "$*"
-} >&2
-
-die () {
-echo
-echo "$*"
-echo
-exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in #(
-CYGWIN* ) cygwin=true ;; #(
-Darwin* ) darwin=true ;; #(
-MSYS* | MINGW* ) msys=true ;; #(
-NONSTOP* ) nonstop=true ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
-if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-# IBM's JDK on AIX uses strange locations for the executables
-JAVACMD=$JAVA_HOME/jre/sh/java
-else
-JAVACMD=$JAVA_HOME/bin/java
-fi
-if [ ! -x "$JAVACMD" ] ; then
-die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-else
-JAVACMD=java
-if ! command -v java >/dev/null 2>&1
-then
-die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
-fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
-case $MAX_FD in #(
-max*)
-# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
-# shellcheck disable=SC2039,SC3045
-MAX_FD=$( ulimit -H -n ) ||
-warn "Could not query maximum file descriptor limit"
-esac
-case $MAX_FD in #(
-'' | soft) :;; #(
-*)
-# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
-# shellcheck disable=SC2039,SC3045
-ulimit -n "$MAX_FD" ||
-warn "Could not set maximum file descriptor limit to $MAX_FD"
-esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-# * args from the command line
-# * the main class name
-# * -classpath
-# * -D...appname settings
-# * --module-path (only if needed)
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
-APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
-CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
-
-JAVACMD=$( cygpath --unix "$JAVACMD" )
-
-# Now convert the arguments - kludge to limit ourselves to /bin/sh
-for arg do
-if
-case $arg in #(
--*) false ;; # don't mess with options #(
-/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
-[ -e "$t" ] ;; #(
-*) false ;;
-esac
-then
-arg=$( cygpath --path --ignore --mixed "$arg" )
-fi
-# Roll the args list around exactly as many times as the number of
-# args, so each arg winds up back in the position where it started, but
-# possibly modified.
-#
-# NB: a `for` loop captures its iteration list before it begins, so
-# changing the positional parameters here affects neither the number of
-# iterations, nor the values presented in `arg`.
-shift # remove old arg
-set -- "$@" "$arg" # push replacement arg
-done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
-# and any embedded shellness will be escaped.
-# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-# treated as '${Hostname}' itself on the command line.
-
-set -- \
-"-Dorg.gradle.appname=$APP_BASE_NAME" \
--classpath "$CLASSPATH" \
-org.gradle.wrapper.GradleWrapperMain \
-"$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
-die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-#
-# In Bash we could simply go:
-#
-# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-# set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
-printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
-xargs -n1 |
-sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
-tr '\n' ' '
-)" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/java-client/gradlew.bat b/java-client/gradlew.bat
deleted file mode 100644
index 25da30d..0000000
--- a/java-client/gradlew.bat
+++ /dev/null
@@ -1,92 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/java-client/pom.xml b/java-client/pom.xml
deleted file mode 100644
index daff9e3..0000000
--- a/java-client/pom.xml
+++ /dev/null
@@ -1,340 +0,0 @@
-
- 4.0.0
- com.apollo
- apollo-openapi-client
- jar
- apollo-openapi-client
- 0.0.1
- https://github.com/openapitools/openapi-generator
- OpenAPI Java
-
- scm:git:git@github.com:openapitools/openapi-generator.git
- scm:git:git@github.com:openapitools/openapi-generator.git
- https://github.com/openapitools/openapi-generator
-
-
-
-
- Unlicense
- http://unlicense.org
- repo
-
-
-
-
-
- OpenAPI-Generator Contributors
- team@openapitools.org
- OpenAPITools.org
- http://openapitools.org
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.8.1
-
- true
- 128m
- 512m
-
- -Xlint:all
- -J-Xss4m
-
-
-
-
- org.apache.maven.plugins
- maven-enforcer-plugin
- 3.4.1
-
-
- enforce-maven
-
- enforce
-
-
-
-
- 2.2.0
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
- 2.22.2
-
-
-
- loggerPath
- conf/log4j.properties
-
-
- -Xms512m -Xmx1500m
- methods
- 10
-
-
-
-
- org.junit.jupiter
- junit-jupiter-engine
- ${junit-version}
-
-
-
-
- maven-dependency-plugin
- 3.6.1
-
-
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/lib
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
- 3.3.0
-
-
-
- test-jar
-
-
-
-
-
-
-
- org.codehaus.mojo
- build-helper-maven-plugin
- 3.5.0
-
-
- add_sources
- generate-sources
-
- add-source
-
-
-
- src/main/java
-
-
-
-
- add_test_sources
- generate-test-sources
-
- add-test-source
-
-
-
- src/test/java
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 3.6.3
-
-
- attach-javadocs
-
- jar
-
-
-
-
- none
-
-
- http.response.details
- a
- Http Response Details:
-
-
-
-
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.3.0
-
-
- attach-sources
-
- jar-no-fork
-
-
-
-
-
-
- com.diffplug.spotless
- spotless-maven-plugin
- ${spotless.version}
-
-
-
-
-
-
- .gitignore
-
-
-
-
-
- true
- 4
-
-
-
-
-
-
-
-
-
- 1.8
-
- true
-
-
-
-
-
-
-
-
-
-
-
-
-
- sign-artifacts
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
- 3.2.1
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
-
-
-
-
-
-
-
- com.google.code.findbugs
- jsr305
- 3.0.2
-
-
- com.squareup.okhttp3
- okhttp
- ${okhttp-version}
-
-
- com.squareup.okhttp3
- logging-interceptor
- ${okhttp-version}
-
-
- com.google.code.gson
- gson
- ${gson-version}
-
-
- io.gsonfire
- gson-fire
- ${gson-fire-version}
-
-
- org.apache.commons
- commons-lang3
- ${commons-lang3-version}
-
-
- jakarta.annotation
- jakarta.annotation-api
- ${jakarta-annotation-version}
- provided
-
-
- org.openapitools
- jackson-databind-nullable
- ${jackson-databind-nullable-version}
-
-
- jakarta.ws.rs
- jakarta.ws.rs-api
- ${jakarta.ws.rs-api-version}
-
-
-
- org.junit.jupiter
- junit-jupiter-engine
- ${junit-version}
- test
-
-
- org.junit.platform
- junit-platform-runner
- ${junit-platform-runner.version}
- test
-
-
-
- 1.8
- ${java.version}
- ${java.version}
- 1.9.0
- 4.12.0
- 2.10.1
- 3.18.0
- 0.2.6
- 1.3.5
- 2.0.2
- 5.10.3
- 1.10.0
- 2.1.6
- 1.1.1
- UTF-8
- 2.43.0
-
-
diff --git a/java-client/settings.gradle b/java-client/settings.gradle
deleted file mode 100644
index 22c8942..0000000
--- a/java-client/settings.gradle
+++ /dev/null
@@ -1 +0,0 @@
-rootProject.name = "apollo-openapi-client"
\ No newline at end of file
diff --git a/java-client/src/main/AndroidManifest.xml b/java-client/src/main/AndroidManifest.xml
deleted file mode 100644
index 54fbcb3..0000000
--- a/java-client/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/java-client/src/main/java/org/openapitools/client/ApiCallback.java b/java-client/src/main/java/org/openapitools/client/ApiCallback.java
deleted file mode 100644
index 0dbf42f..0000000
--- a/java-client/src/main/java/org/openapitools/client/ApiCallback.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.io.IOException;
-
-import java.util.Map;
-import java.util.List;
-
-/**
- * Callback for asynchronous API call.
- *
- * @param The return type
- */
-public interface ApiCallback {
- /**
- * This is called when the API call fails.
- *
- * @param e The exception causing the failure
- * @param statusCode Status code of the response if available, otherwise it would be 0
- * @param responseHeaders Headers of the response if available, otherwise it would be null
- */
- void onFailure(ApiException e, int statusCode, Map> responseHeaders);
-
- /**
- * This is called when the API call succeeded.
- *
- * @param result The result deserialized from response
- * @param statusCode Status code of the response
- * @param responseHeaders Headers of the response
- */
- void onSuccess(T result, int statusCode, Map> responseHeaders);
-
- /**
- * This is called when the API upload processing.
- *
- * @param bytesWritten bytes Written
- * @param contentLength content length of request body
- * @param done write end
- */
- void onUploadProgress(long bytesWritten, long contentLength, boolean done);
-
- /**
- * This is called when the API download processing.
- *
- * @param bytesRead bytes Read
- * @param contentLength content length of the response
- * @param done Read end
- */
- void onDownloadProgress(long bytesRead, long contentLength, boolean done);
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ApiClient.java b/java-client/src/main/java/org/openapitools/client/ApiClient.java
deleted file mode 100644
index 7898094..0000000
--- a/java-client/src/main/java/org/openapitools/client/ApiClient.java
+++ /dev/null
@@ -1,1588 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import okhttp3.*;
-import okhttp3.internal.http.HttpMethod;
-import okhttp3.internal.tls.OkHostnameVerifier;
-import okhttp3.logging.HttpLoggingInterceptor;
-import okhttp3.logging.HttpLoggingInterceptor.Level;
-import okio.Buffer;
-import okio.BufferedSink;
-import okio.Okio;
-
-import javax.net.ssl.*;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.net.URLConnection;
-import java.net.URLEncoder;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.security.GeneralSecurityException;
-import java.security.KeyStore;
-import java.security.SecureRandom;
-import java.security.cert.Certificate;
-import java.security.cert.CertificateException;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.text.DateFormat;
-import java.time.LocalDate;
-import java.time.OffsetDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.*;
-import java.util.Map.Entry;
-import java.util.concurrent.TimeUnit;
-import java.util.function.Supplier;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.openapitools.client.auth.Authentication;
-import org.openapitools.client.auth.HttpBasicAuth;
-import org.openapitools.client.auth.HttpBearerAuth;
-import org.openapitools.client.auth.ApiKeyAuth;
-
-/**
- * ApiClient class.
- */
-public class ApiClient {
-
- protected String basePath = "http://localhost";
- protected List servers = new ArrayList(Arrays.asList(
- new ServerConfiguration(
- "",
- "No description provided",
- new HashMap()
- )
- ));
- protected Integer serverIndex = 0;
- protected Map serverVariables = null;
- protected boolean debugging = false;
- protected Map defaultHeaderMap = new HashMap();
- protected Map defaultCookieMap = new HashMap();
- protected String tempFolderPath = null;
-
- protected Map authentications;
-
- protected DateFormat dateFormat;
- protected DateFormat datetimeFormat;
- protected boolean lenientDatetimeFormat;
- protected int dateLength;
-
- protected InputStream sslCaCert;
- protected boolean verifyingSsl;
- protected KeyManager[] keyManagers;
-
- protected OkHttpClient httpClient;
- protected JSON json;
-
- protected HttpLoggingInterceptor loggingInterceptor;
-
- /**
- * Basic constructor for ApiClient
- */
- public ApiClient() {
- init();
- initHttpClient();
-
- // Setup authentications (key: authentication name, value: authentication).
- authentications.put("ApiKeyAuth", new ApiKeyAuth("header", "Authorization"));
- // Prevent the authentications from being modified.
- authentications = Collections.unmodifiableMap(authentications);
- }
-
- /**
- * Basic constructor with custom OkHttpClient
- *
- * @param client a {@link okhttp3.OkHttpClient} object
- */
- public ApiClient(OkHttpClient client) {
- init();
-
- httpClient = client;
-
- // Setup authentications (key: authentication name, value: authentication).
- authentications.put("ApiKeyAuth", new ApiKeyAuth("header", "Authorization"));
- // Prevent the authentications from being modified.
- authentications = Collections.unmodifiableMap(authentications);
- }
-
- protected void initHttpClient() {
- initHttpClient(Collections.emptyList());
- }
-
- protected void initHttpClient(List interceptors) {
- OkHttpClient.Builder builder = new OkHttpClient.Builder();
- builder.addNetworkInterceptor(getProgressInterceptor());
- for (Interceptor interceptor: interceptors) {
- builder.addInterceptor(interceptor);
- }
-
- httpClient = builder.build();
- }
-
- protected void init() {
- verifyingSsl = true;
-
- json = new JSON();
-
- // Set default User-Agent.
- setUserAgent("OpenAPI-Generator/0.0.1/java");
-
- authentications = new HashMap();
- }
-
- /**
- * Get base path
- *
- * @return Base path
- */
- public String getBasePath() {
- return basePath;
- }
-
- /**
- * Set base path
- *
- * @param basePath Base path of the URL (e.g http://localhost
- * @return An instance of OkHttpClient
- */
- public ApiClient setBasePath(String basePath) {
- this.basePath = basePath;
- this.serverIndex = null;
- return this;
- }
-
- public List getServers() {
- return servers;
- }
-
- public ApiClient setServers(List servers) {
- this.servers = servers;
- return this;
- }
-
- public Integer getServerIndex() {
- return serverIndex;
- }
-
- public ApiClient setServerIndex(Integer serverIndex) {
- this.serverIndex = serverIndex;
- return this;
- }
-
- public Map getServerVariables() {
- return serverVariables;
- }
-
- public ApiClient setServerVariables(Map serverVariables) {
- this.serverVariables = serverVariables;
- return this;
- }
-
- /**
- * Get HTTP client
- *
- * @return An instance of OkHttpClient
- */
- public OkHttpClient getHttpClient() {
- return httpClient;
- }
-
- /**
- * Set HTTP client, which must never be null.
- *
- * @param newHttpClient An instance of OkHttpClient
- * @return Api Client
- * @throws java.lang.NullPointerException when newHttpClient is null
- */
- public ApiClient setHttpClient(OkHttpClient newHttpClient) {
- this.httpClient = Objects.requireNonNull(newHttpClient, "HttpClient must not be null!");
- return this;
- }
-
- /**
- * Get JSON
- *
- * @return JSON object
- */
- public JSON getJSON() {
- return json;
- }
-
- /**
- * Set JSON
- *
- * @param json JSON object
- * @return Api client
- */
- public ApiClient setJSON(JSON json) {
- this.json = json;
- return this;
- }
-
- /**
- * True if isVerifyingSsl flag is on
- *
- * @return True if isVerifySsl flag is on
- */
- public boolean isVerifyingSsl() {
- return verifyingSsl;
- }
-
- /**
- * Configure whether to verify certificate and hostname when making https requests.
- * Default to true.
- * NOTE: Do NOT set to false in production code, otherwise you would face multiple types of cryptographic attacks.
- *
- * @param verifyingSsl True to verify TLS/SSL connection
- * @return ApiClient
- */
- public ApiClient setVerifyingSsl(boolean verifyingSsl) {
- this.verifyingSsl = verifyingSsl;
- applySslSettings();
- return this;
- }
-
- /**
- * Get SSL CA cert.
- *
- * @return Input stream to the SSL CA cert
- */
- public InputStream getSslCaCert() {
- return sslCaCert;
- }
-
- /**
- * Configure the CA certificate to be trusted when making https requests.
- * Use null to reset to default.
- *
- * @param sslCaCert input stream for SSL CA cert
- * @return ApiClient
- */
- public ApiClient setSslCaCert(InputStream sslCaCert) {
- this.sslCaCert = sslCaCert;
- applySslSettings();
- return this;
- }
-
- /**
- * Getter for the field keyManagers
.
- *
- * @return an array of {@link javax.net.ssl.KeyManager} objects
- */
- public KeyManager[] getKeyManagers() {
- return keyManagers;
- }
-
- /**
- * Configure client keys to use for authorization in an SSL session.
- * Use null to reset to default.
- *
- * @param managers The KeyManagers to use
- * @return ApiClient
- */
- public ApiClient setKeyManagers(KeyManager[] managers) {
- this.keyManagers = managers;
- applySslSettings();
- return this;
- }
-
- /**
- * Getter for the field dateFormat
.
- *
- * @return a {@link java.text.DateFormat} object
- */
- public DateFormat getDateFormat() {
- return dateFormat;
- }
-
- /**
- * Setter for the field dateFormat
.
- *
- * @param dateFormat a {@link java.text.DateFormat} object
- * @return a {@link org.openapitools.client.ApiClient} object
- */
- public ApiClient setDateFormat(DateFormat dateFormat) {
- JSON.setDateFormat(dateFormat);
- return this;
- }
-
- /**
- * Set SqlDateFormat.
- *
- * @param dateFormat a {@link java.text.DateFormat} object
- * @return a {@link org.openapitools.client.ApiClient} object
- */
- public ApiClient setSqlDateFormat(DateFormat dateFormat) {
- JSON.setSqlDateFormat(dateFormat);
- return this;
- }
-
- /**
- * Set OffsetDateTimeFormat.
- *
- * @param dateFormat a {@link java.time.format.DateTimeFormatter} object
- * @return a {@link org.openapitools.client.ApiClient} object
- */
- public ApiClient setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
- JSON.setOffsetDateTimeFormat(dateFormat);
- return this;
- }
-
- /**
- * Set LocalDateFormat.
- *
- * @param dateFormat a {@link java.time.format.DateTimeFormatter} object
- * @return a {@link org.openapitools.client.ApiClient} object
- */
- public ApiClient setLocalDateFormat(DateTimeFormatter dateFormat) {
- JSON.setLocalDateFormat(dateFormat);
- return this;
- }
-
- /**
- * Set LenientOnJson.
- *
- * @param lenientOnJson a boolean
- * @return a {@link org.openapitools.client.ApiClient} object
- */
- public ApiClient setLenientOnJson(boolean lenientOnJson) {
- JSON.setLenientOnJson(lenientOnJson);
- return this;
- }
-
- /**
- * Get authentications (key: authentication name, value: authentication).
- *
- * @return Map of authentication objects
- */
- public Map getAuthentications() {
- return authentications;
- }
-
- /**
- * Get authentication for the given name.
- *
- * @param authName The authentication name
- * @return The authentication, null if not found
- */
- public Authentication getAuthentication(String authName) {
- return authentications.get(authName);
- }
-
-
- /**
- * Helper method to set username for the first HTTP basic authentication.
- *
- * @param username Username
- */
- public void setUsername(String username) {
- for (Authentication auth : authentications.values()) {
- if (auth instanceof HttpBasicAuth) {
- ((HttpBasicAuth) auth).setUsername(username);
- return;
- }
- }
- throw new RuntimeException("No HTTP basic authentication configured!");
- }
-
- /**
- * Helper method to set password for the first HTTP basic authentication.
- *
- * @param password Password
- */
- public void setPassword(String password) {
- for (Authentication auth : authentications.values()) {
- if (auth instanceof HttpBasicAuth) {
- ((HttpBasicAuth) auth).setPassword(password);
- return;
- }
- }
- throw new RuntimeException("No HTTP basic authentication configured!");
- }
-
- /**
- * Helper method to set API key value for the first API key authentication.
- *
- * @param apiKey API key
- */
- public void setApiKey(String apiKey) {
- for (Authentication auth : authentications.values()) {
- if (auth instanceof ApiKeyAuth) {
- ((ApiKeyAuth) auth).setApiKey(apiKey);
- return;
- }
- }
- throw new RuntimeException("No API key authentication configured!");
- }
-
- /**
- * Helper method to set API key prefix for the first API key authentication.
- *
- * @param apiKeyPrefix API key prefix
- */
- public void setApiKeyPrefix(String apiKeyPrefix) {
- for (Authentication auth : authentications.values()) {
- if (auth instanceof ApiKeyAuth) {
- ((ApiKeyAuth) auth).setApiKeyPrefix(apiKeyPrefix);
- return;
- }
- }
- throw new RuntimeException("No API key authentication configured!");
- }
-
- /**
- * Helper method to set access token for the first OAuth2 authentication.
- *
- * @param accessToken Access token
- */
- public void setAccessToken(String accessToken) {
- throw new RuntimeException("No OAuth2 authentication configured!");
- }
-
- /**
- * Helper method to set credentials for AWSV4 Signature
- *
- * @param accessKey Access Key
- * @param secretKey Secret Key
- * @param region Region
- * @param service Service to access to
- */
- public void setAWS4Configuration(String accessKey, String secretKey, String region, String service) {
- throw new RuntimeException("No AWS4 authentication configured!");
- }
-
- /**
- * Helper method to set credentials for AWSV4 Signature
- *
- * @param accessKey Access Key
- * @param secretKey Secret Key
- * @param sessionToken Session Token
- * @param region Region
- * @param service Service to access to
- */
- public void setAWS4Configuration(String accessKey, String secretKey, String sessionToken, String region, String service) {
- throw new RuntimeException("No AWS4 authentication configured!");
- }
-
- /**
- * Set the User-Agent header's value (by adding to the default header map).
- *
- * @param userAgent HTTP request's user agent
- * @return ApiClient
- */
- public ApiClient setUserAgent(String userAgent) {
- addDefaultHeader("User-Agent", userAgent);
- return this;
- }
-
- /**
- * Add a default header.
- *
- * @param key The header's key
- * @param value The header's value
- * @return ApiClient
- */
- public ApiClient addDefaultHeader(String key, String value) {
- defaultHeaderMap.put(key, value);
- return this;
- }
-
- /**
- * Add a default cookie.
- *
- * @param key The cookie's key
- * @param value The cookie's value
- * @return ApiClient
- */
- public ApiClient addDefaultCookie(String key, String value) {
- defaultCookieMap.put(key, value);
- return this;
- }
-
- /**
- * Check that whether debugging is enabled for this API client.
- *
- * @return True if debugging is enabled, false otherwise.
- */
- public boolean isDebugging() {
- return debugging;
- }
-
- /**
- * Enable/disable debugging for this API client.
- *
- * @param debugging To enable (true) or disable (false) debugging
- * @return ApiClient
- */
- public ApiClient setDebugging(boolean debugging) {
- if (debugging != this.debugging) {
- if (debugging) {
- loggingInterceptor = new HttpLoggingInterceptor();
- loggingInterceptor.setLevel(Level.BODY);
- httpClient = httpClient.newBuilder().addInterceptor(loggingInterceptor).build();
- } else {
- final OkHttpClient.Builder builder = httpClient.newBuilder();
- builder.interceptors().remove(loggingInterceptor);
- httpClient = builder.build();
- loggingInterceptor = null;
- }
- }
- this.debugging = debugging;
- return this;
- }
-
- /**
- * The path of temporary folder used to store downloaded files from endpoints
- * with file response. The default value is null
, i.e. using
- * the system's default temporary folder.
- *
- * @see createTempFile
- * @return Temporary folder path
- */
- public String getTempFolderPath() {
- return tempFolderPath;
- }
-
- /**
- * Set the temporary folder path (for downloading files)
- *
- * @param tempFolderPath Temporary folder path
- * @return ApiClient
- */
- public ApiClient setTempFolderPath(String tempFolderPath) {
- this.tempFolderPath = tempFolderPath;
- return this;
- }
-
- /**
- * Get connection timeout (in milliseconds).
- *
- * @return Timeout in milliseconds
- */
- public int getConnectTimeout() {
- return httpClient.connectTimeoutMillis();
- }
-
- /**
- * Sets the connect timeout (in milliseconds).
- * A value of 0 means no timeout, otherwise values must be between 1 and
- * {@link java.lang.Integer#MAX_VALUE}.
- *
- * @param connectionTimeout connection timeout in milliseconds
- * @return Api client
- */
- public ApiClient setConnectTimeout(int connectionTimeout) {
- httpClient = httpClient.newBuilder().connectTimeout(connectionTimeout, TimeUnit.MILLISECONDS).build();
- return this;
- }
-
- /**
- * Get read timeout (in milliseconds).
- *
- * @return Timeout in milliseconds
- */
- public int getReadTimeout() {
- return httpClient.readTimeoutMillis();
- }
-
- /**
- * Sets the read timeout (in milliseconds).
- * A value of 0 means no timeout, otherwise values must be between 1 and
- * {@link java.lang.Integer#MAX_VALUE}.
- *
- * @param readTimeout read timeout in milliseconds
- * @return Api client
- */
- public ApiClient setReadTimeout(int readTimeout) {
- httpClient = httpClient.newBuilder().readTimeout(readTimeout, TimeUnit.MILLISECONDS).build();
- return this;
- }
-
- /**
- * Get write timeout (in milliseconds).
- *
- * @return Timeout in milliseconds
- */
- public int getWriteTimeout() {
- return httpClient.writeTimeoutMillis();
- }
-
- /**
- * Sets the write timeout (in milliseconds).
- * A value of 0 means no timeout, otherwise values must be between 1 and
- * {@link java.lang.Integer#MAX_VALUE}.
- *
- * @param writeTimeout connection timeout in milliseconds
- * @return Api client
- */
- public ApiClient setWriteTimeout(int writeTimeout) {
- httpClient = httpClient.newBuilder().writeTimeout(writeTimeout, TimeUnit.MILLISECONDS).build();
- return this;
- }
-
-
- /**
- * Format the given parameter object into string.
- *
- * @param param Parameter
- * @return String representation of the parameter
- */
- public String parameterToString(Object param) {
- if (param == null) {
- return "";
- } else if (param instanceof Date || param instanceof OffsetDateTime || param instanceof LocalDate) {
- //Serialize to json string and remove the " enclosing characters
- String jsonStr = JSON.serialize(param);
- return jsonStr.substring(1, jsonStr.length() - 1);
- } else if (param instanceof Collection) {
- StringBuilder b = new StringBuilder();
- for (Object o : (Collection) param) {
- if (b.length() > 0) {
- b.append(",");
- }
- b.append(o);
- }
- return b.toString();
- } else {
- return String.valueOf(param);
- }
- }
-
- /**
- * Formats the specified query parameter to a list containing a single {@code Pair} object.
- *
- * Note that {@code value} must not be a collection.
- *
- * @param name The name of the parameter.
- * @param value The value of the parameter.
- * @return A list containing a single {@code Pair} object.
- */
- public List parameterToPair(String name, Object value) {
- List params = new ArrayList();
-
- // preconditions
- if (name == null || name.isEmpty() || value == null || value instanceof Collection) {
- return params;
- }
-
- params.add(new Pair(name, parameterToString(value)));
- return params;
- }
-
- /**
- * Formats the specified collection query parameters to a list of {@code Pair} objects.
- *
- * Note that the values of each of the returned Pair objects are percent-encoded.
- *
- * @param collectionFormat The collection format of the parameter.
- * @param name The name of the parameter.
- * @param value The value of the parameter.
- * @return A list of {@code Pair} objects.
- */
- public List parameterToPairs(String collectionFormat, String name, Collection> value) {
- List params = new ArrayList();
-
- // preconditions
- if (name == null || name.isEmpty() || value == null || value.isEmpty()) {
- return params;
- }
-
- // create the params based on the collection format
- if ("multi".equals(collectionFormat)) {
- for (Object item : value) {
- params.add(new Pair(name, escapeString(parameterToString(item))));
- }
- return params;
- }
-
- // collectionFormat is assumed to be "csv" by default
- String delimiter = ",";
-
- // escape all delimiters except commas, which are URI reserved
- // characters
- if ("ssv".equals(collectionFormat)) {
- delimiter = escapeString(" ");
- } else if ("tsv".equals(collectionFormat)) {
- delimiter = escapeString("\t");
- } else if ("pipes".equals(collectionFormat)) {
- delimiter = escapeString("|");
- }
-
- StringBuilder sb = new StringBuilder();
- for (Object item : value) {
- sb.append(delimiter);
- sb.append(escapeString(parameterToString(item)));
- }
-
- params.add(new Pair(name, sb.substring(delimiter.length())));
-
- return params;
- }
-
- /**
- * Formats the specified free-form query parameters to a list of {@code Pair} objects.
- *
- * @param value The free-form query parameters.
- * @return A list of {@code Pair} objects.
- */
- public List freeFormParameterToPairs(Object value) {
- List params = new ArrayList<>();
-
- // preconditions
- if (value == null || !(value instanceof Map )) {
- return params;
- }
-
- @SuppressWarnings("unchecked")
- final Map valuesMap = (Map) value;
-
- for (Map.Entry entry : valuesMap.entrySet()) {
- params.add(new Pair(entry.getKey(), parameterToString(entry.getValue())));
- }
-
- return params;
- }
-
-
- /**
- * Formats the specified collection path parameter to a string value.
- *
- * @param collectionFormat The collection format of the parameter.
- * @param value The value of the parameter.
- * @return String representation of the parameter
- */
- public String collectionPathParameterToString(String collectionFormat, Collection value) {
- // create the value based on the collection format
- if ("multi".equals(collectionFormat)) {
- // not valid for path params
- return parameterToString(value);
- }
-
- // collectionFormat is assumed to be "csv" by default
- String delimiter = ",";
-
- if ("ssv".equals(collectionFormat)) {
- delimiter = " ";
- } else if ("tsv".equals(collectionFormat)) {
- delimiter = "\t";
- } else if ("pipes".equals(collectionFormat)) {
- delimiter = "|";
- }
-
- StringBuilder sb = new StringBuilder() ;
- for (Object item : value) {
- sb.append(delimiter);
- sb.append(parameterToString(item));
- }
-
- return sb.substring(delimiter.length());
- }
-
- /**
- * Sanitize filename by removing path.
- * e.g. ../../sun.gif becomes sun.gif
- *
- * @param filename The filename to be sanitized
- * @return The sanitized filename
- */
- public String sanitizeFilename(String filename) {
- return filename.replaceFirst("^.*[/\\\\]", "");
- }
-
- /**
- * Check if the given MIME is a JSON MIME.
- * JSON MIME examples:
- * application/json
- * application/json; charset=UTF8
- * APPLICATION/JSON
- * application/vnd.company+json
- * "* / *" is also default to JSON
- * @param mime MIME (Multipurpose Internet Mail Extensions)
- * @return True if the given MIME is JSON, false otherwise.
- */
- public boolean isJsonMime(String mime) {
- String jsonMime = "(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$";
- return mime != null && (mime.matches(jsonMime) || mime.equals("*/*"));
- }
-
- /**
- * Select the Accept header's value from the given accepts array:
- * if JSON exists in the given array, use it;
- * otherwise use all of them (joining into a string)
- *
- * @param accepts The accepts array to select from
- * @return The Accept header to use. If the given array is empty,
- * null will be returned (not to set the Accept header explicitly).
- */
- public String selectHeaderAccept(String[] accepts) {
- if (accepts.length == 0) {
- return null;
- }
- for (String accept : accepts) {
- if (isJsonMime(accept)) {
- return accept;
- }
- }
- return StringUtil.join(accepts, ",");
- }
-
- /**
- * Select the Content-Type header's value from the given array:
- * if JSON exists in the given array, use it;
- * otherwise use the first one of the array.
- *
- * @param contentTypes The Content-Type array to select from
- * @return The Content-Type header to use. If the given array is empty,
- * returns null. If it matches "any", JSON will be used.
- */
- public String selectHeaderContentType(String[] contentTypes) {
- if (contentTypes.length == 0) {
- return null;
- }
-
- if (contentTypes[0].equals("*/*")) {
- return "application/json";
- }
-
- for (String contentType : contentTypes) {
- if (isJsonMime(contentType)) {
- return contentType;
- }
- }
-
- return contentTypes[0];
- }
-
- /**
- * Escape the given string to be used as URL query value.
- *
- * @param str String to be escaped
- * @return Escaped string
- */
- public String escapeString(String str) {
- try {
- return URLEncoder.encode(str, "utf8").replaceAll("\\+", "%20");
- } catch (UnsupportedEncodingException e) {
- return str;
- }
- }
-
- /**
- * Deserialize response body to Java object, according to the return type and
- * the Content-Type response header.
- *
- * @param Type
- * @param response HTTP response
- * @param returnType The type of the Java object
- * @return The deserialized Java object
- * @throws org.openapitools.client.ApiException If fail to deserialize response body, i.e. cannot read response body
- * or the Content-Type of the response is not supported.
- */
- @SuppressWarnings("unchecked")
- public T deserialize(Response response, Type returnType) throws ApiException {
- if (response == null || returnType == null) {
- return null;
- }
-
- if ("byte[]".equals(returnType.toString())) {
- // Handle binary response (byte array).
- try {
- return (T) response.body().bytes();
- } catch (IOException e) {
- throw new ApiException(e);
- }
- } else if (returnType.equals(File.class)) {
- // Handle file downloading.
- return (T) downloadFileFromResponse(response);
- }
-
- ResponseBody respBody = response.body();
- if (respBody == null) {
- return null;
- }
-
- String contentType = response.headers().get("Content-Type");
- if (contentType == null) {
- // ensuring a default content type
- contentType = "application/json";
- }
- try {
- if (isJsonMime(contentType)) {
- return JSON.deserialize(respBody.byteStream(), returnType);
- } else if (returnType.equals(String.class)) {
- String respBodyString = respBody.string();
- if (respBodyString.isEmpty()) {
- return null;
- }
- // Expecting string, return the raw response body.
- return (T) respBodyString;
- } else {
- throw new ApiException(
- "Content type \"" + contentType + "\" is not supported for type: " + returnType,
- response.code(),
- response.headers().toMultimap(),
- response.body().string());
- }
- } catch (IOException e) {
- throw new ApiException(e);
- }
- }
-
- /**
- * Serialize the given Java object into request body according to the object's
- * class and the request Content-Type.
- *
- * @param obj The Java object
- * @param contentType The request Content-Type
- * @return The serialized request body
- * @throws org.openapitools.client.ApiException If fail to serialize the given object
- */
- public RequestBody serialize(Object obj, String contentType) throws ApiException {
- if (obj instanceof byte[]) {
- // Binary (byte array) body parameter support.
- return RequestBody.create((byte[]) obj, MediaType.parse(contentType));
- } else if (obj instanceof File) {
- // File body parameter support.
- return RequestBody.create((File) obj, MediaType.parse(contentType));
- } else if ("text/plain".equals(contentType) && obj instanceof String) {
- return RequestBody.create((String) obj, MediaType.parse(contentType));
- } else if (isJsonMime(contentType)) {
- String content;
- if (obj != null) {
- content = JSON.serialize(obj);
- } else {
- content = null;
- }
- return RequestBody.create(content, MediaType.parse(contentType));
- } else if (obj instanceof String) {
- return RequestBody.create((String) obj, MediaType.parse(contentType));
- } else {
- throw new ApiException("Content type \"" + contentType + "\" is not supported");
- }
- }
-
- /**
- * Download file from the given response.
- *
- * @param response An instance of the Response object
- * @throws org.openapitools.client.ApiException If fail to read file content from response and write to disk
- * @return Downloaded file
- */
- public File downloadFileFromResponse(Response response) throws ApiException {
- try {
- File file = prepareDownloadFile(response);
- BufferedSink sink = Okio.buffer(Okio.sink(file));
- sink.writeAll(response.body().source());
- sink.close();
- return file;
- } catch (IOException e) {
- throw new ApiException(e);
- }
- }
-
- /**
- * Prepare file for download
- *
- * @param response An instance of the Response object
- * @return Prepared file for the download
- * @throws java.io.IOException If fail to prepare file for download
- */
- public File prepareDownloadFile(Response response) throws IOException {
- String filename = null;
- String contentDisposition = response.header("Content-Disposition");
- if (contentDisposition != null && !"".equals(contentDisposition)) {
- // Get filename from the Content-Disposition header.
- Pattern pattern = Pattern.compile("filename=['\"]?([^'\"\\s]+)['\"]?");
- Matcher matcher = pattern.matcher(contentDisposition);
- if (matcher.find()) {
- filename = sanitizeFilename(matcher.group(1));
- }
- }
-
- String prefix = null;
- String suffix = null;
- if (filename == null) {
- prefix = "download-";
- suffix = "";
- } else {
- int pos = filename.lastIndexOf(".");
- if (pos == -1) {
- prefix = filename + "-";
- } else {
- prefix = filename.substring(0, pos) + "-";
- suffix = filename.substring(pos);
- }
- // Files.createTempFile requires the prefix to be at least three characters long
- if (prefix.length() < 3)
- prefix = "download-";
- }
-
- if (tempFolderPath == null)
- return Files.createTempFile(prefix, suffix).toFile();
- else
- return Files.createTempFile(Paths.get(tempFolderPath), prefix, suffix).toFile();
- }
-
- /**
- * {@link #execute(Call, Type)}
- *
- * @param Type
- * @param call An instance of the Call object
- * @return ApiResponse<T>
- * @throws org.openapitools.client.ApiException If fail to execute the call
- */
- public ApiResponse execute(Call call) throws ApiException {
- return execute(call, null);
- }
-
- /**
- * Execute HTTP call and deserialize the HTTP response body into the given return type.
- *
- * @param returnType The return type used to deserialize HTTP response body
- * @param The return type corresponding to (same with) returnType
- * @param call Call
- * @return ApiResponse object containing response status, headers and
- * data, which is a Java object deserialized from response body and would be null
- * when returnType is null.
- * @throws org.openapitools.client.ApiException If fail to execute the call
- */
- public ApiResponse execute(Call call, Type returnType) throws ApiException {
- try {
- Response response = call.execute();
- T data = handleResponse(response, returnType);
- return new ApiResponse(response.code(), response.headers().toMultimap(), data);
- } catch (IOException e) {
- throw new ApiException(e);
- }
- }
-
- /**
- * {@link #executeAsync(Call, Type, ApiCallback)}
- *
- * @param Type
- * @param call An instance of the Call object
- * @param callback ApiCallback<T>
- */
- public void executeAsync(Call call, ApiCallback callback) {
- executeAsync(call, null, callback);
- }
-
- /**
- * Execute HTTP call asynchronously.
- *
- * @param Type
- * @param call The callback to be executed when the API call finishes
- * @param returnType Return type
- * @param callback ApiCallback
- * @see #execute(Call, Type)
- */
- @SuppressWarnings("unchecked")
- public void executeAsync(Call call, final Type returnType, final ApiCallback callback) {
- call.enqueue(new Callback() {
- @Override
- public void onFailure(Call call, IOException e) {
- callback.onFailure(new ApiException(e), 0, null);
- }
-
- @Override
- public void onResponse(Call call, Response response) throws IOException {
- T result;
- try {
- result = (T) handleResponse(response, returnType);
- } catch (ApiException e) {
- callback.onFailure(e, response.code(), response.headers().toMultimap());
- return;
- } catch (Exception e) {
- callback.onFailure(new ApiException(e), response.code(), response.headers().toMultimap());
- return;
- }
- callback.onSuccess(result, response.code(), response.headers().toMultimap());
- }
- });
- }
-
- /**
- * Handle the given response, return the deserialized object when the response is successful.
- *
- * @param Type
- * @param response Response
- * @param returnType Return type
- * @return Type
- * @throws org.openapitools.client.ApiException If the response has an unsuccessful status code or
- * fail to deserialize the response body
- */
- public T handleResponse(Response response, Type returnType) throws ApiException {
- if (response.isSuccessful()) {
- if (returnType == null || response.code() == 204) {
- // returning null if the returnType is not defined,
- // or the status code is 204 (No Content)
- if (response.body() != null) {
- try {
- response.body().close();
- } catch (Exception e) {
- throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
- }
- }
- return null;
- } else {
- return deserialize(response, returnType);
- }
- } else {
- String respBody = null;
- if (response.body() != null) {
- try {
- respBody = response.body().string();
- } catch (IOException e) {
- throw new ApiException(response.message(), e, response.code(), response.headers().toMultimap());
- }
- }
- throw new ApiException(response.message(), response.code(), response.headers().toMultimap(), respBody);
- }
- }
-
- /**
- * Build HTTP call with the given options.
- *
- * @param baseUrl The base URL
- * @param path The sub-path of the HTTP URL
- * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"
- * @param queryParams The query parameters
- * @param collectionQueryParams The collection query parameters
- * @param body The request body object
- * @param headerParams The header parameters
- * @param cookieParams The cookie parameters
- * @param formParams The form parameters
- * @param authNames The authentications to apply
- * @param callback Callback for upload/download progress
- * @return The HTTP call
- * @throws org.openapitools.client.ApiException If fail to serialize the request body object
- */
- public Call buildCall(String baseUrl, String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException {
- Request request = buildRequest(baseUrl, path, method, queryParams, collectionQueryParams, body, headerParams, cookieParams, formParams, authNames, callback);
-
- return httpClient.newCall(request);
- }
-
- /**
- * Build an HTTP request with the given options.
- *
- * @param baseUrl The base URL
- * @param path The sub-path of the HTTP URL
- * @param method The request method, one of "GET", "HEAD", "OPTIONS", "POST", "PUT", "PATCH" and "DELETE"
- * @param queryParams The query parameters
- * @param collectionQueryParams The collection query parameters
- * @param body The request body object
- * @param headerParams The header parameters
- * @param cookieParams The cookie parameters
- * @param formParams The form parameters
- * @param authNames The authentications to apply
- * @param callback Callback for upload/download progress
- * @return The HTTP request
- * @throws org.openapitools.client.ApiException If fail to serialize the request body object
- */
- public Request buildRequest(String baseUrl, String path, String method, List queryParams, List collectionQueryParams, Object body, Map headerParams, Map cookieParams, Map formParams, String[] authNames, ApiCallback callback) throws ApiException {
- final String url = buildUrl(baseUrl, path, queryParams, collectionQueryParams);
-
- // prepare HTTP request body
- RequestBody reqBody;
- String contentType = headerParams.get("Content-Type");
- String contentTypePure = contentType;
- if (contentTypePure != null && contentTypePure.contains(";")) {
- contentTypePure = contentType.substring(0, contentType.indexOf(";"));
- }
- if (!HttpMethod.permitsRequestBody(method)) {
- reqBody = null;
- } else if ("application/x-www-form-urlencoded".equals(contentTypePure)) {
- reqBody = buildRequestBodyFormEncoding(formParams);
- } else if ("multipart/form-data".equals(contentTypePure)) {
- reqBody = buildRequestBodyMultipart(formParams);
- } else if (body == null) {
- if ("DELETE".equals(method)) {
- // allow calling DELETE without sending a request body
- reqBody = null;
- } else {
- // use an empty request body (for POST, PUT and PATCH)
- reqBody = RequestBody.create("", contentType == null ? null : MediaType.parse(contentType));
- }
- } else {
- reqBody = serialize(body, contentType);
- }
-
- List updatedQueryParams = new ArrayList<>(queryParams);
-
- // update parameters with authentication settings
- updateParamsForAuth(authNames, updatedQueryParams, headerParams, cookieParams, requestBodyToString(reqBody), method, URI.create(url));
-
- final Request.Builder reqBuilder = new Request.Builder().url(buildUrl(baseUrl, path, updatedQueryParams, collectionQueryParams));
- processHeaderParams(headerParams, reqBuilder);
- processCookieParams(cookieParams, reqBuilder);
-
- // Associate callback with request (if not null) so interceptor can
- // access it when creating ProgressResponseBody
- reqBuilder.tag(callback);
-
- Request request = null;
-
- if (callback != null && reqBody != null) {
- ProgressRequestBody progressRequestBody = new ProgressRequestBody(reqBody, callback);
- request = reqBuilder.method(method, progressRequestBody).build();
- } else {
- request = reqBuilder.method(method, reqBody).build();
- }
-
- return request;
- }
-
- /**
- * Build full URL by concatenating base path, the given sub path and query parameters.
- *
- * @param baseUrl The base URL
- * @param path The sub path
- * @param queryParams The query parameters
- * @param collectionQueryParams The collection query parameters
- * @return The full URL
- */
- public String buildUrl(String baseUrl, String path, List queryParams, List collectionQueryParams) {
- final StringBuilder url = new StringBuilder();
- if (baseUrl != null) {
- url.append(baseUrl).append(path);
- } else {
- String baseURL;
- if (serverIndex != null) {
- if (serverIndex < 0 || serverIndex >= servers.size()) {
- throw new ArrayIndexOutOfBoundsException(String.format(
- "Invalid index %d when selecting the host settings. Must be less than %d", serverIndex, servers.size()
- ));
- }
- baseURL = servers.get(serverIndex).URL(serverVariables);
- } else {
- baseURL = basePath;
- }
- url.append(baseURL).append(path);
- }
-
- if (queryParams != null && !queryParams.isEmpty()) {
- // support (constant) query string in `path`, e.g. "/posts?draft=1"
- String prefix = path.contains("?") ? "&" : "?";
- for (Pair param : queryParams) {
- if (param.getValue() != null) {
- if (prefix != null) {
- url.append(prefix);
- prefix = null;
- } else {
- url.append("&");
- }
- String value = parameterToString(param.getValue());
- url.append(escapeString(param.getName())).append("=").append(escapeString(value));
- }
- }
- }
-
- if (collectionQueryParams != null && !collectionQueryParams.isEmpty()) {
- String prefix = url.toString().contains("?") ? "&" : "?";
- for (Pair param : collectionQueryParams) {
- if (param.getValue() != null) {
- if (prefix != null) {
- url.append(prefix);
- prefix = null;
- } else {
- url.append("&");
- }
- String value = parameterToString(param.getValue());
- // collection query parameter value already escaped as part of parameterToPairs
- url.append(escapeString(param.getName())).append("=").append(value);
- }
- }
- }
-
- return url.toString();
- }
-
- /**
- * Set header parameters to the request builder, including default headers.
- *
- * @param headerParams Header parameters in the form of Map
- * @param reqBuilder Request.Builder
- */
- public void processHeaderParams(Map headerParams, Request.Builder reqBuilder) {
- for (Entry param : headerParams.entrySet()) {
- reqBuilder.header(param.getKey(), parameterToString(param.getValue()));
- }
- for (Entry header : defaultHeaderMap.entrySet()) {
- if (!headerParams.containsKey(header.getKey())) {
- reqBuilder.header(header.getKey(), parameterToString(header.getValue()));
- }
- }
- }
-
- /**
- * Set cookie parameters to the request builder, including default cookies.
- *
- * @param cookieParams Cookie parameters in the form of Map
- * @param reqBuilder Request.Builder
- */
- public void processCookieParams(Map cookieParams, Request.Builder reqBuilder) {
- for (Entry param : cookieParams.entrySet()) {
- reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue()));
- }
- for (Entry param : defaultCookieMap.entrySet()) {
- if (!cookieParams.containsKey(param.getKey())) {
- reqBuilder.addHeader("Cookie", String.format("%s=%s", param.getKey(), param.getValue()));
- }
- }
- }
-
- /**
- * Update query and header parameters based on authentication settings.
- *
- * @param authNames The authentications to apply
- * @param queryParams List of query parameters
- * @param headerParams Map of header parameters
- * @param cookieParams Map of cookie parameters
- * @param payload HTTP request body
- * @param method HTTP method
- * @param uri URI
- * @throws org.openapitools.client.ApiException If fails to update the parameters
- */
- public void updateParamsForAuth(String[] authNames, List queryParams, Map headerParams,
- Map cookieParams, String payload, String method, URI uri) throws ApiException {
- for (String authName : authNames) {
- Authentication auth = authentications.get(authName);
- if (auth == null) {
- throw new RuntimeException("Authentication undefined: " + authName);
- }
- auth.applyToParams(queryParams, headerParams, cookieParams, payload, method, uri);
- }
- }
-
- /**
- * Build a form-encoding request body with the given form parameters.
- *
- * @param formParams Form parameters in the form of Map
- * @return RequestBody
- */
- public RequestBody buildRequestBodyFormEncoding(Map formParams) {
- okhttp3.FormBody.Builder formBuilder = new okhttp3.FormBody.Builder();
- for (Entry param : formParams.entrySet()) {
- formBuilder.add(param.getKey(), parameterToString(param.getValue()));
- }
- return formBuilder.build();
- }
-
- /**
- * Build a multipart (file uploading) request body with the given form parameters,
- * which could contain text fields and file fields.
- *
- * @param formParams Form parameters in the form of Map
- * @return RequestBody
- */
- public RequestBody buildRequestBodyMultipart(Map formParams) {
- MultipartBody.Builder mpBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
- for (Entry param : formParams.entrySet()) {
- if (param.getValue() instanceof File) {
- File file = (File) param.getValue();
- addPartToMultiPartBuilder(mpBuilder, param.getKey(), file);
- } else if (param.getValue() instanceof List) {
- List list = (List) param.getValue();
- for (Object item: list) {
- if (item instanceof File) {
- addPartToMultiPartBuilder(mpBuilder, param.getKey(), (File) item);
- } else {
- addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue());
- }
- }
- } else {
- addPartToMultiPartBuilder(mpBuilder, param.getKey(), param.getValue());
- }
- }
- return mpBuilder.build();
- }
-
- /**
- * Guess Content-Type header from the given file (defaults to "application/octet-stream").
- *
- * @param file The given file
- * @return The guessed Content-Type
- */
- public String guessContentTypeFromFile(File file) {
- String contentType = URLConnection.guessContentTypeFromName(file.getName());
- if (contentType == null) {
- return "application/octet-stream";
- } else {
- return contentType;
- }
- }
-
- /**
- * Add a Content-Disposition Header for the given key and file to the MultipartBody Builder.
- *
- * @param mpBuilder MultipartBody.Builder
- * @param key The key of the Header element
- * @param file The file to add to the Header
- */
- protected void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, File file) {
- Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\"; filename=\"" + file.getName() + "\"");
- MediaType mediaType = MediaType.parse(guessContentTypeFromFile(file));
- mpBuilder.addPart(partHeaders, RequestBody.create(file, mediaType));
- }
-
- /**
- * Add a Content-Disposition Header for the given key and complex object to the MultipartBody Builder.
- *
- * @param mpBuilder MultipartBody.Builder
- * @param key The key of the Header element
- * @param obj The complex object to add to the Header
- */
- protected void addPartToMultiPartBuilder(MultipartBody.Builder mpBuilder, String key, Object obj) {
- RequestBody requestBody;
- if (obj instanceof String) {
- requestBody = RequestBody.create((String) obj, MediaType.parse("text/plain"));
- } else {
- String content;
- if (obj != null) {
- content = JSON.serialize(obj);
- } else {
- content = null;
- }
- requestBody = RequestBody.create(content, MediaType.parse("application/json"));
- }
-
- Headers partHeaders = Headers.of("Content-Disposition", "form-data; name=\"" + key + "\"");
- mpBuilder.addPart(partHeaders, requestBody);
- }
-
- /**
- * Get network interceptor to add it to the httpClient to track download progress for
- * async requests.
- */
- protected Interceptor getProgressInterceptor() {
- return new Interceptor() {
- @Override
- public Response intercept(Interceptor.Chain chain) throws IOException {
- final Request request = chain.request();
- final Response originalResponse = chain.proceed(request);
- if (request.tag() instanceof ApiCallback) {
- final ApiCallback callback = (ApiCallback) request.tag();
- return originalResponse.newBuilder()
- .body(new ProgressResponseBody(originalResponse.body(), callback))
- .build();
- }
- return originalResponse;
- }
- };
- }
-
- /**
- * Apply SSL related settings to httpClient according to the current values of
- * verifyingSsl and sslCaCert.
- */
- protected void applySslSettings() {
- try {
- TrustManager[] trustManagers;
- HostnameVerifier hostnameVerifier;
- if (!verifyingSsl) {
- trustManagers = new TrustManager[]{
- new X509TrustManager() {
- @Override
- public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
- }
-
- @Override
- public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException {
- }
-
- @Override
- public java.security.cert.X509Certificate[] getAcceptedIssuers() {
- return new java.security.cert.X509Certificate[]{};
- }
- }
- };
- hostnameVerifier = new HostnameVerifier() {
- @Override
- public boolean verify(String hostname, SSLSession session) {
- return true;
- }
- };
- } else {
- TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
-
- if (sslCaCert == null) {
- trustManagerFactory.init((KeyStore) null);
- } else {
- char[] password = null; // Any password will work.
- CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
- Collection extends Certificate> certificates = certificateFactory.generateCertificates(sslCaCert);
- if (certificates.isEmpty()) {
- throw new IllegalArgumentException("expected non-empty set of trusted certificates");
- }
- KeyStore caKeyStore = newEmptyKeyStore(password);
- int index = 0;
- for (Certificate certificate : certificates) {
- String certificateAlias = "ca" + (index++);
- caKeyStore.setCertificateEntry(certificateAlias, certificate);
- }
- trustManagerFactory.init(caKeyStore);
- }
- trustManagers = trustManagerFactory.getTrustManagers();
- hostnameVerifier = OkHostnameVerifier.INSTANCE;
- }
-
- SSLContext sslContext = SSLContext.getInstance("TLS");
- sslContext.init(keyManagers, trustManagers, new SecureRandom());
- httpClient = httpClient.newBuilder()
- .sslSocketFactory(sslContext.getSocketFactory(), (X509TrustManager) trustManagers[0])
- .hostnameVerifier(hostnameVerifier)
- .build();
- } catch (GeneralSecurityException e) {
- throw new RuntimeException(e);
- }
- }
-
- protected KeyStore newEmptyKeyStore(char[] password) throws GeneralSecurityException {
- try {
- KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
- keyStore.load(null, password);
- return keyStore;
- } catch (IOException e) {
- throw new AssertionError(e);
- }
- }
-
- /**
- * Convert the HTTP request body to a string.
- *
- * @param requestBody The HTTP request object
- * @return The string representation of the HTTP request body
- * @throws org.openapitools.client.ApiException If fail to serialize the request body object into a string
- */
- protected String requestBodyToString(RequestBody requestBody) throws ApiException {
- if (requestBody != null) {
- try {
- final Buffer buffer = new Buffer();
- requestBody.writeTo(buffer);
- return buffer.readUtf8();
- } catch (final IOException e) {
- throw new ApiException(e);
- }
- }
-
- // empty http request body
- return "";
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ApiException.java b/java-client/src/main/java/org/openapitools/client/ApiException.java
deleted file mode 100644
index a6ce676..0000000
--- a/java-client/src/main/java/org/openapitools/client/ApiException.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.Map;
-import java.util.List;
-
-
-/**
- * ApiException class.
- */
-@SuppressWarnings("serial")
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class ApiException extends Exception {
- private static final long serialVersionUID = 1L;
-
- private int code = 0;
- private Map> responseHeaders = null;
- private String responseBody = null;
-
- /**
- * Constructor for ApiException.
- */
- public ApiException() {}
-
- /**
- * Constructor for ApiException.
- *
- * @param throwable a {@link java.lang.Throwable} object
- */
- public ApiException(Throwable throwable) {
- super(throwable);
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param message the error message
- */
- public ApiException(String message) {
- super(message);
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param message the error message
- * @param throwable a {@link java.lang.Throwable} object
- * @param code HTTP status code
- * @param responseHeaders a {@link java.util.Map} of HTTP response headers
- * @param responseBody the response body
- */
- public ApiException(String message, Throwable throwable, int code, Map> responseHeaders, String responseBody) {
- super(message, throwable);
- this.code = code;
- this.responseHeaders = responseHeaders;
- this.responseBody = responseBody;
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param message the error message
- * @param code HTTP status code
- * @param responseHeaders a {@link java.util.Map} of HTTP response headers
- * @param responseBody the response body
- */
- public ApiException(String message, int code, Map> responseHeaders, String responseBody) {
- this(message, (Throwable) null, code, responseHeaders, responseBody);
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param message the error message
- * @param throwable a {@link java.lang.Throwable} object
- * @param code HTTP status code
- * @param responseHeaders a {@link java.util.Map} of HTTP response headers
- */
- public ApiException(String message, Throwable throwable, int code, Map> responseHeaders) {
- this(message, throwable, code, responseHeaders, null);
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param code HTTP status code
- * @param responseHeaders a {@link java.util.Map} of HTTP response headers
- * @param responseBody the response body
- */
- public ApiException(int code, Map> responseHeaders, String responseBody) {
- this("Response Code: " + code + " Response Body: " + responseBody, (Throwable) null, code, responseHeaders, responseBody);
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param code HTTP status code
- * @param message a {@link java.lang.String} object
- */
- public ApiException(int code, String message) {
- super(message);
- this.code = code;
- }
-
- /**
- * Constructor for ApiException.
- *
- * @param code HTTP status code
- * @param message the error message
- * @param responseHeaders a {@link java.util.Map} of HTTP response headers
- * @param responseBody the response body
- */
- public ApiException(int code, String message, Map> responseHeaders, String responseBody) {
- this(code, message);
- this.responseHeaders = responseHeaders;
- this.responseBody = responseBody;
- }
-
- /**
- * Get the HTTP status code.
- *
- * @return HTTP status code
- */
- public int getCode() {
- return code;
- }
-
- /**
- * Get the HTTP response headers.
- *
- * @return A map of list of string
- */
- public Map> getResponseHeaders() {
- return responseHeaders;
- }
-
- /**
- * Get the HTTP response body.
- *
- * @return Response body in the form of string
- */
- public String getResponseBody() {
- return responseBody;
- }
-
- /**
- * Get the exception message including HTTP response data.
- *
- * @return The exception message
- */
- public String getMessage() {
- return String.format("Message: %s%nHTTP response code: %s%nHTTP response body: %s%nHTTP response headers: %s",
- super.getMessage(), this.getCode(), this.getResponseBody(), this.getResponseHeaders());
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ApiResponse.java b/java-client/src/main/java/org/openapitools/client/ApiResponse.java
deleted file mode 100644
index 6309771..0000000
--- a/java-client/src/main/java/org/openapitools/client/ApiResponse.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * API response returned by API call.
- */
-public class ApiResponse {
- final private int statusCode;
- final private Map> headers;
- final private T data;
-
- /**
- * Constructor for ApiResponse.
- *
- * @param statusCode The status code of HTTP response
- * @param headers The headers of HTTP response
- */
- public ApiResponse(int statusCode, Map> headers) {
- this(statusCode, headers, null);
- }
-
- /**
- * Constructor for ApiResponse.
- *
- * @param statusCode The status code of HTTP response
- * @param headers The headers of HTTP response
- * @param data The object deserialized from response bod
- */
- public ApiResponse(int statusCode, Map> headers, T data) {
- this.statusCode = statusCode;
- this.headers = headers;
- this.data = data;
- }
-
- /**
- * Get the status code
.
- *
- * @return the status code
- */
- public int getStatusCode() {
- return statusCode;
- }
-
- /**
- * Get the headers
.
- *
- * @return a {@link java.util.Map} of headers
- */
- public Map> getHeaders() {
- return headers;
- }
-
- /**
- * Get the data
.
- *
- * @return the data
- */
- public T getData() {
- return data;
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/Configuration.java b/java-client/src/main/java/org/openapitools/client/Configuration.java
deleted file mode 100644
index e886102..0000000
--- a/java-client/src/main/java/org/openapitools/client/Configuration.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.Objects;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Supplier;
-
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class Configuration {
- public static final String VERSION = "0.0.1";
-
- private static final AtomicReference defaultApiClient = new AtomicReference<>();
- private static volatile Supplier apiClientFactory = ApiClient::new;
-
- /**
- * Get the default API client, which would be used when creating API instances without providing an API client.
- *
- * @return Default API client
- */
- public static ApiClient getDefaultApiClient() {
- ApiClient client = defaultApiClient.get();
- if (client == null) {
- client = defaultApiClient.updateAndGet(val -> {
- if (val != null) { // changed by another thread
- return val;
- }
- return apiClientFactory.get();
- });
- }
- return client;
- }
-
- /**
- * Set the default API client, which would be used when creating API instances without providing an API client.
- *
- * @param apiClient API client
- */
- public static void setDefaultApiClient(ApiClient apiClient) {
- defaultApiClient.set(apiClient);
- }
-
- /**
- * set the callback used to create new ApiClient objects
- */
- public static void setApiClientFactory(Supplier factory) {
- apiClientFactory = Objects.requireNonNull(factory);
- }
-
- private Configuration() {
- }
-}
\ No newline at end of file
diff --git a/java-client/src/main/java/org/openapitools/client/GzipRequestInterceptor.java b/java-client/src/main/java/org/openapitools/client/GzipRequestInterceptor.java
deleted file mode 100644
index 2495b27..0000000
--- a/java-client/src/main/java/org/openapitools/client/GzipRequestInterceptor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import okhttp3.*;
-import okio.Buffer;
-import okio.BufferedSink;
-import okio.GzipSink;
-import okio.Okio;
-
-import java.io.IOException;
-
-/**
- * Encodes request bodies using gzip.
- *
- * Taken from https://github.com/square/okhttp/issues/350
- */
-class GzipRequestInterceptor implements Interceptor {
- @Override
- public Response intercept(Chain chain) throws IOException {
- Request originalRequest = chain.request();
- if (originalRequest.body() == null || originalRequest.header("Content-Encoding") != null) {
- return chain.proceed(originalRequest);
- }
-
- Request compressedRequest = originalRequest.newBuilder()
- .header("Content-Encoding", "gzip")
- .method(originalRequest.method(), forceContentLength(gzip(originalRequest.body())))
- .build();
- return chain.proceed(compressedRequest);
- }
-
- private RequestBody forceContentLength(final RequestBody requestBody) throws IOException {
- final Buffer buffer = new Buffer();
- requestBody.writeTo(buffer);
- return new RequestBody() {
- @Override
- public MediaType contentType() {
- return requestBody.contentType();
- }
-
- @Override
- public long contentLength() {
- return buffer.size();
- }
-
- @Override
- public void writeTo(BufferedSink sink) throws IOException {
- sink.write(buffer.snapshot());
- }
- };
- }
-
- private RequestBody gzip(final RequestBody body) {
- return new RequestBody() {
- @Override
- public MediaType contentType() {
- return body.contentType();
- }
-
- @Override
- public long contentLength() {
- return -1; // We don't know the compressed length in advance!
- }
-
- @Override
- public void writeTo(BufferedSink sink) throws IOException {
- BufferedSink gzipSink = Okio.buffer(new GzipSink(sink));
- body.writeTo(gzipSink);
- gzipSink.close();
- }
- };
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/JSON.java b/java-client/src/main/java/org/openapitools/client/JSON.java
deleted file mode 100644
index a117931..0000000
--- a/java-client/src/main/java/org/openapitools/client/JSON.java
+++ /dev/null
@@ -1,463 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonParseException;
-import com.google.gson.TypeAdapter;
-import com.google.gson.internal.bind.util.ISO8601Utils;
-import com.google.gson.stream.JsonReader;
-import com.google.gson.stream.JsonWriter;
-import com.google.gson.JsonElement;
-import io.gsonfire.GsonFireBuilder;
-import io.gsonfire.TypeSelector;
-
-import okio.ByteString;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.StringReader;
-import java.lang.reflect.Type;
-import java.nio.charset.StandardCharsets;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.ParsePosition;
-import java.time.LocalDate;
-import java.time.OffsetDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Map;
-import java.util.HashMap;
-
-/*
- * A JSON utility class
- *
- * NOTE: in the future, this class may be converted to static, which may break
- * backward-compatibility
- */
-public class JSON {
- private static Gson gson;
- private static boolean isLenientOnJson = false;
- private static DateTypeAdapter dateTypeAdapter = new DateTypeAdapter();
- private static SqlDateTypeAdapter sqlDateTypeAdapter = new SqlDateTypeAdapter();
- private static OffsetDateTimeTypeAdapter offsetDateTimeTypeAdapter = new OffsetDateTimeTypeAdapter();
- private static LocalDateTypeAdapter localDateTypeAdapter = new LocalDateTypeAdapter();
- private static ByteArrayAdapter byteArrayAdapter = new ByteArrayAdapter();
-
- @SuppressWarnings("unchecked")
- public static GsonBuilder createGson() {
- GsonFireBuilder fireBuilder = new GsonFireBuilder()
- ;
- GsonBuilder builder = fireBuilder.createGsonBuilder();
- return builder;
- }
-
- private static String getDiscriminatorValue(JsonElement readElement, String discriminatorField) {
- JsonElement element = readElement.getAsJsonObject().get(discriminatorField);
- if (null == element) {
- throw new IllegalArgumentException("missing discriminator field: <" + discriminatorField + ">");
- }
- return element.getAsString();
- }
-
- /**
- * Returns the Java class that implements the OpenAPI schema for the specified discriminator value.
- *
- * @param classByDiscriminatorValue The map of discriminator values to Java classes.
- * @param discriminatorValue The value of the OpenAPI discriminator in the input data.
- * @return The Java class that implements the OpenAPI schema
- */
- private static Class getClassByDiscriminator(Map classByDiscriminatorValue, String discriminatorValue) {
- Class clazz = (Class) classByDiscriminatorValue.get(discriminatorValue);
- if (null == clazz) {
- throw new IllegalArgumentException("cannot determine model class of name: <" + discriminatorValue + ">");
- }
- return clazz;
- }
-
- static {
- GsonBuilder gsonBuilder = createGson();
- gsonBuilder.registerTypeAdapter(Date.class, dateTypeAdapter);
- gsonBuilder.registerTypeAdapter(java.sql.Date.class, sqlDateTypeAdapter);
- gsonBuilder.registerTypeAdapter(OffsetDateTime.class, offsetDateTimeTypeAdapter);
- gsonBuilder.registerTypeAdapter(LocalDate.class, localDateTypeAdapter);
- gsonBuilder.registerTypeAdapter(byte[].class, byteArrayAdapter);
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.Change.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ClusterDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EntityPairKVEntity.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.EnvClusterInfo.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ItemChangeSets.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ItemDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.KVEntity.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ListItemDiffs.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ListReleaseBO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.MapString.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NamespaceGrayDelReleaseDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NamespaceIdentifier.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NamespaceReleaseDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NamespaceSyncModel.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.NamespaceTextModel.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenAppDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenAppNamespaceDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenClusterDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenCreateAppDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenEnvClusterDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenGrayReleaseRuleDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenGrayReleaseRuleItemDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenInstanceConfigDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenInstanceDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenItemDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenNamespaceDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenNamespaceLockDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenOrganizationDto.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenPageDTOOpenInstanceDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenPageDTOOpenItemDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenReleaseDTO.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1AppsGet401Response.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1AppsPost400Response.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1AppsPostRequest.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost200Response.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1EnvsEnvAppsAppIdClustersClusterNameNamespacesNamespaceNameItemsValidatePost400Response.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.OpenapiV1EnvsEnvReleasesCompareGet200Response.CustomTypeAdapterFactory());
- gsonBuilder.registerTypeAdapterFactory(new org.openapitools.client.model.ReleaseDTO.CustomTypeAdapterFactory());
- gson = gsonBuilder.create();
- }
-
- /**
- * Get Gson.
- *
- * @return Gson
- */
- public static Gson getGson() {
- return gson;
- }
-
- /**
- * Set Gson.
- *
- * @param gson Gson
- */
- public static void setGson(Gson gson) {
- JSON.gson = gson;
- }
-
- public static void setLenientOnJson(boolean lenientOnJson) {
- isLenientOnJson = lenientOnJson;
- }
-
- /**
- * Serialize the given Java object into JSON string.
- *
- * @param obj Object
- * @return String representation of the JSON
- */
- public static String serialize(Object obj) {
- return gson.toJson(obj);
- }
-
- /**
- * Deserialize the given JSON string to Java object.
- *
- * @param Type
- * @param body The JSON string
- * @param returnType The type to deserialize into
- * @return The deserialized Java object
- */
- @SuppressWarnings("unchecked")
- public static T deserialize(String body, Type returnType) {
- try {
- if (isLenientOnJson) {
- JsonReader jsonReader = new JsonReader(new StringReader(body));
- // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean)
- jsonReader.setLenient(true);
- return gson.fromJson(jsonReader, returnType);
- } else {
- return gson.fromJson(body, returnType);
- }
- } catch (JsonParseException e) {
- // Fallback processing when failed to parse JSON form response body:
- // return the response body string directly for the String return type;
- if (returnType.equals(String.class)) {
- return (T) body;
- } else {
- throw (e);
- }
- }
- }
-
- /**
- * Deserialize the given JSON InputStream to a Java object.
- *
- * @param Type
- * @param inputStream The JSON InputStream
- * @param returnType The type to deserialize into
- * @return The deserialized Java object
- */
- @SuppressWarnings("unchecked")
- public static T deserialize(InputStream inputStream, Type returnType) throws IOException {
- try (InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8)) {
- if (isLenientOnJson) {
- // see https://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/com/google/gson/stream/JsonReader.html#setLenient(boolean)
- JsonReader jsonReader = new JsonReader(reader);
- jsonReader.setLenient(true);
- return gson.fromJson(jsonReader, returnType);
- } else {
- return gson.fromJson(reader, returnType);
- }
- }
- }
-
- /**
- * Gson TypeAdapter for Byte Array type
- */
- public static class ByteArrayAdapter extends TypeAdapter {
-
- @Override
- public void write(JsonWriter out, byte[] value) throws IOException {
- if (value == null) {
- out.nullValue();
- } else {
- out.value(ByteString.of(value).base64());
- }
- }
-
- @Override
- public byte[] read(JsonReader in) throws IOException {
- switch (in.peek()) {
- case NULL:
- in.nextNull();
- return null;
- default:
- String bytesAsBase64 = in.nextString();
- ByteString byteString = ByteString.decodeBase64(bytesAsBase64);
- return byteString.toByteArray();
- }
- }
- }
-
- /**
- * Gson TypeAdapter for JSR310 OffsetDateTime type
- */
- public static class OffsetDateTimeTypeAdapter extends TypeAdapter {
-
- private DateTimeFormatter formatter;
-
- public OffsetDateTimeTypeAdapter() {
- this(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
- }
-
- public OffsetDateTimeTypeAdapter(DateTimeFormatter formatter) {
- this.formatter = formatter;
- }
-
- public void setFormat(DateTimeFormatter dateFormat) {
- this.formatter = dateFormat;
- }
-
- @Override
- public void write(JsonWriter out, OffsetDateTime date) throws IOException {
- if (date == null) {
- out.nullValue();
- } else {
- out.value(formatter.format(date));
- }
- }
-
- @Override
- public OffsetDateTime read(JsonReader in) throws IOException {
- switch (in.peek()) {
- case NULL:
- in.nextNull();
- return null;
- default:
- String date = in.nextString();
- if (date.endsWith("+0000")) {
- date = date.substring(0, date.length()-5) + "Z";
- }
- return OffsetDateTime.parse(date, formatter);
- }
- }
- }
-
- /**
- * Gson TypeAdapter for JSR310 LocalDate type
- */
- public static class LocalDateTypeAdapter extends TypeAdapter {
-
- private DateTimeFormatter formatter;
-
- public LocalDateTypeAdapter() {
- this(DateTimeFormatter.ISO_LOCAL_DATE);
- }
-
- public LocalDateTypeAdapter(DateTimeFormatter formatter) {
- this.formatter = formatter;
- }
-
- public void setFormat(DateTimeFormatter dateFormat) {
- this.formatter = dateFormat;
- }
-
- @Override
- public void write(JsonWriter out, LocalDate date) throws IOException {
- if (date == null) {
- out.nullValue();
- } else {
- out.value(formatter.format(date));
- }
- }
-
- @Override
- public LocalDate read(JsonReader in) throws IOException {
- switch (in.peek()) {
- case NULL:
- in.nextNull();
- return null;
- default:
- String date = in.nextString();
- return LocalDate.parse(date, formatter);
- }
- }
- }
-
- public static void setOffsetDateTimeFormat(DateTimeFormatter dateFormat) {
- offsetDateTimeTypeAdapter.setFormat(dateFormat);
- }
-
- public static void setLocalDateFormat(DateTimeFormatter dateFormat) {
- localDateTypeAdapter.setFormat(dateFormat);
- }
-
- /**
- * Gson TypeAdapter for java.sql.Date type
- * If the dateFormat is null, a simple "yyyy-MM-dd" format will be used
- * (more efficient than SimpleDateFormat).
- */
- public static class SqlDateTypeAdapter extends TypeAdapter {
-
- private DateFormat dateFormat;
-
- public SqlDateTypeAdapter() {}
-
- public SqlDateTypeAdapter(DateFormat dateFormat) {
- this.dateFormat = dateFormat;
- }
-
- public void setFormat(DateFormat dateFormat) {
- this.dateFormat = dateFormat;
- }
-
- @Override
- public void write(JsonWriter out, java.sql.Date date) throws IOException {
- if (date == null) {
- out.nullValue();
- } else {
- String value;
- if (dateFormat != null) {
- value = dateFormat.format(date);
- } else {
- value = date.toString();
- }
- out.value(value);
- }
- }
-
- @Override
- public java.sql.Date read(JsonReader in) throws IOException {
- switch (in.peek()) {
- case NULL:
- in.nextNull();
- return null;
- default:
- String date = in.nextString();
- try {
- if (dateFormat != null) {
- return new java.sql.Date(dateFormat.parse(date).getTime());
- }
- return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime());
- } catch (ParseException e) {
- throw new JsonParseException(e);
- }
- }
- }
- }
-
- /**
- * Gson TypeAdapter for java.util.Date type
- * If the dateFormat is null, ISO8601Utils will be used.
- */
- public static class DateTypeAdapter extends TypeAdapter {
-
- private DateFormat dateFormat;
-
- public DateTypeAdapter() {}
-
- public DateTypeAdapter(DateFormat dateFormat) {
- this.dateFormat = dateFormat;
- }
-
- public void setFormat(DateFormat dateFormat) {
- this.dateFormat = dateFormat;
- }
-
- @Override
- public void write(JsonWriter out, Date date) throws IOException {
- if (date == null) {
- out.nullValue();
- } else {
- String value;
- if (dateFormat != null) {
- value = dateFormat.format(date);
- } else {
- value = ISO8601Utils.format(date, true);
- }
- out.value(value);
- }
- }
-
- @Override
- public Date read(JsonReader in) throws IOException {
- try {
- switch (in.peek()) {
- case NULL:
- in.nextNull();
- return null;
- default:
- String date = in.nextString();
- try {
- if (dateFormat != null) {
- return dateFormat.parse(date);
- }
- return ISO8601Utils.parse(date, new ParsePosition(0));
- } catch (ParseException e) {
- throw new JsonParseException(e);
- }
- }
- } catch (IllegalArgumentException e) {
- throw new JsonParseException(e);
- }
- }
- }
-
- public static void setDateFormat(DateFormat dateFormat) {
- dateTypeAdapter.setFormat(dateFormat);
- }
-
- public static void setSqlDateFormat(DateFormat dateFormat) {
- sqlDateTypeAdapter.setFormat(dateFormat);
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/Pair.java b/java-client/src/main/java/org/openapitools/client/Pair.java
deleted file mode 100644
index 800eebb..0000000
--- a/java-client/src/main/java/org/openapitools/client/Pair.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class Pair {
- private final String name;
- private final String value;
-
- public Pair(String name, String value) {
- this.name = isValidString(name) ? name : "";
- this.value = isValidString(value) ? value : "";
- }
-
- public String getName() {
- return this.name;
- }
-
- public String getValue() {
- return this.value;
- }
-
- private static boolean isValidString(String arg) {
- return arg != null;
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ProgressRequestBody.java b/java-client/src/main/java/org/openapitools/client/ProgressRequestBody.java
deleted file mode 100644
index 98e80f8..0000000
--- a/java-client/src/main/java/org/openapitools/client/ProgressRequestBody.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import okhttp3.MediaType;
-import okhttp3.RequestBody;
-
-import java.io.IOException;
-
-import okio.Buffer;
-import okio.BufferedSink;
-import okio.ForwardingSink;
-import okio.Okio;
-import okio.Sink;
-
-public class ProgressRequestBody extends RequestBody {
-
- private final RequestBody requestBody;
-
- private final ApiCallback callback;
-
- public ProgressRequestBody(RequestBody requestBody, ApiCallback callback) {
- this.requestBody = requestBody;
- this.callback = callback;
- }
-
- @Override
- public MediaType contentType() {
- return requestBody.contentType();
- }
-
- @Override
- public long contentLength() throws IOException {
- return requestBody.contentLength();
- }
-
- @Override
- public void writeTo(BufferedSink sink) throws IOException {
- BufferedSink bufferedSink = Okio.buffer(sink(sink));
- requestBody.writeTo(bufferedSink);
- bufferedSink.flush();
- }
-
- private Sink sink(Sink sink) {
- return new ForwardingSink(sink) {
-
- long bytesWritten = 0L;
- long contentLength = 0L;
-
- @Override
- public void write(Buffer source, long byteCount) throws IOException {
- super.write(source, byteCount);
- if (contentLength == 0) {
- contentLength = contentLength();
- }
-
- bytesWritten += byteCount;
- callback.onUploadProgress(bytesWritten, contentLength, bytesWritten == contentLength);
- }
- };
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ProgressResponseBody.java b/java-client/src/main/java/org/openapitools/client/ProgressResponseBody.java
deleted file mode 100644
index e71da88..0000000
--- a/java-client/src/main/java/org/openapitools/client/ProgressResponseBody.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import okhttp3.MediaType;
-import okhttp3.ResponseBody;
-
-import java.io.IOException;
-
-import okio.Buffer;
-import okio.BufferedSource;
-import okio.ForwardingSource;
-import okio.Okio;
-import okio.Source;
-
-public class ProgressResponseBody extends ResponseBody {
-
- private final ResponseBody responseBody;
- private final ApiCallback callback;
- private BufferedSource bufferedSource;
-
- public ProgressResponseBody(ResponseBody responseBody, ApiCallback callback) {
- this.responseBody = responseBody;
- this.callback = callback;
- }
-
- @Override
- public MediaType contentType() {
- return responseBody.contentType();
- }
-
- @Override
- public long contentLength() {
- return responseBody.contentLength();
- }
-
- @Override
- public BufferedSource source() {
- if (bufferedSource == null) {
- bufferedSource = Okio.buffer(source(responseBody.source()));
- }
- return bufferedSource;
- }
-
- private Source source(Source source) {
- return new ForwardingSource(source) {
- long totalBytesRead = 0L;
-
- @Override
- public long read(Buffer sink, long byteCount) throws IOException {
- long bytesRead = super.read(sink, byteCount);
- // read() returns the number of bytes read, or -1 if this source is exhausted.
- totalBytesRead += bytesRead != -1 ? bytesRead : 0;
- callback.onDownloadProgress(totalBytesRead, responseBody.contentLength(), bytesRead == -1);
- return bytesRead;
- }
- };
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ServerConfiguration.java b/java-client/src/main/java/org/openapitools/client/ServerConfiguration.java
deleted file mode 100644
index 6822d84..0000000
--- a/java-client/src/main/java/org/openapitools/client/ServerConfiguration.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.Map;
-
-/**
- * Representing a Server configuration.
- */
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class ServerConfiguration {
- public String URL;
- public String description;
- public Map variables;
-
- /**
- * @param URL A URL to the target host.
- * @param description A description of the host designated by the URL.
- * @param variables A map between a variable name and its value. The value is used for substitution in the server's URL template.
- */
- public ServerConfiguration(String URL, String description, Map variables) {
- this.URL = URL;
- this.description = description;
- this.variables = variables;
- }
-
- /**
- * Format URL template using given variables.
- *
- * @param variables A map between a variable name and its value.
- * @return Formatted URL.
- */
- public String URL(Map variables) {
- String url = this.URL;
-
- // go through variables and replace placeholders
- for (Map.Entry variable: this.variables.entrySet()) {
- String name = variable.getKey();
- ServerVariable serverVariable = variable.getValue();
- String value = serverVariable.defaultValue;
-
- if (variables != null && variables.containsKey(name)) {
- value = variables.get(name);
- if (serverVariable.enumValues.size() > 0 && !serverVariable.enumValues.contains(value)) {
- throw new IllegalArgumentException("The variable " + name + " in the server URL has invalid value " + value + ".");
- }
- }
- url = url.replace("{" + name + "}", value);
- }
- return url;
- }
-
- /**
- * Format URL template using default server variables.
- *
- * @return Formatted URL.
- */
- public String URL() {
- return URL(null);
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/ServerVariable.java b/java-client/src/main/java/org/openapitools/client/ServerVariable.java
deleted file mode 100644
index dc422ff..0000000
--- a/java-client/src/main/java/org/openapitools/client/ServerVariable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.HashSet;
-
-/**
- * Representing a Server Variable for server URL template substitution.
- */
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class ServerVariable {
- public String description;
- public String defaultValue;
- public HashSet enumValues = null;
-
- /**
- * @param description A description for the server variable.
- * @param defaultValue The default value to use for substitution.
- * @param enumValues An enumeration of string values to be used if the substitution options are from a limited set.
- */
- public ServerVariable(String description, String defaultValue, HashSet enumValues) {
- this.description = description;
- this.defaultValue = defaultValue;
- this.enumValues = enumValues;
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/StringUtil.java b/java-client/src/main/java/org/openapitools/client/StringUtil.java
deleted file mode 100644
index d6ae01f..0000000
--- a/java-client/src/main/java/org/openapitools/client/StringUtil.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2025-09-14T17:08:15.997407+08:00[Asia/Shanghai]", comments = "Generator version: 7.15.0")
-public class StringUtil {
- /**
- * Check if the given array contains the given value (with case-insensitive comparison).
- *
- * @param array The array
- * @param value The value to search
- * @return true if the array contains the value
- */
- public static boolean containsIgnoreCase(String[] array, String value) {
- for (String str : array) {
- if (value == null && str == null) {
- return true;
- }
- if (value != null && value.equalsIgnoreCase(str)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Join an array of strings with the given separator.
- *
- * Note: This might be replaced by utility method from commons-lang or guava someday
- * if one of those libraries is added as dependency.
- *
- *
- * @param array The array of strings
- * @param separator The separator
- * @return the resulting string
- */
- public static String join(String[] array, String separator) {
- int len = array.length;
- if (len == 0) {
- return "";
- }
-
- StringBuilder out = new StringBuilder();
- out.append(array[0]);
- for (int i = 1; i < len; i++) {
- out.append(separator).append(array[i]);
- }
- return out.toString();
- }
-
- /**
- * Join a list of strings with the given separator.
- *
- * @param list The list of strings
- * @param separator The separator
- * @return the resulting string
- */
- public static String join(Collection list, String separator) {
- Iterator iterator = list.iterator();
- StringBuilder out = new StringBuilder();
- if (iterator.hasNext()) {
- out.append(iterator.next());
- }
- while (iterator.hasNext()) {
- out.append(separator).append(iterator.next());
- }
- return out.toString();
- }
-}
diff --git a/java-client/src/main/java/org/openapitools/client/api/AppManagementApi.java b/java-client/src/main/java/org/openapitools/client/api/AppManagementApi.java
deleted file mode 100644
index 7b82579..0000000
--- a/java-client/src/main/java/org/openapitools/client/api/AppManagementApi.java
+++ /dev/null
@@ -1,1831 +0,0 @@
-/*
- * Apollo OpenAPI
- * Apollo配置中心OpenAPI接口文档 ## 认证方式 所有API接口都需要通过Authorization header进行身份验证。 ### 获取Token的方式: 1. **Portal管理界面获取**: - 登录Apollo Portal管理界面 - 进入\"管理员工具\" -> \"开放平台授权管理\" - 创建第三方应用,获取Token 2. **Token格式**: ``` Authorization: token_value ``` 3. **Token权限**: - Token具有对应应用的读写权限 - 不同Token可能有不同的环境和命名空间权限 - 建议为不同用途创建不同的Token ### 使用示例: ```bash curl -X GET \"http://localhost:8070/openapi/v1/apps\" \\ -H \"Authorization: your_token_here\" ```
- *
- * The version of the OpenAPI document: 1.0.0
- *
- *
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
- * https://openapi-generator.tech
- * Do not edit the class manually.
- */
-
-
-package org.openapitools.client.api;
-
-import org.openapitools.client.ApiCallback;
-import org.openapitools.client.ApiClient;
-import org.openapitools.client.ApiException;
-import org.openapitools.client.ApiResponse;
-import org.openapitools.client.Configuration;
-import org.openapitools.client.Pair;
-import org.openapitools.client.ProgressRequestBody;
-import org.openapitools.client.ProgressResponseBody;
-
-import com.google.gson.reflect.TypeToken;
-
-import java.io.IOException;
-
-
-import org.openapitools.client.model.EnvClusterInfo;
-import org.openapitools.client.model.OpenAppDTO;
-import org.openapitools.client.model.OpenEnvClusterDTO;
-import org.openapitools.client.model.OpenapiV1AppsGet401Response;
-import org.openapitools.client.model.OpenapiV1AppsPost400Response;
-import org.openapitools.client.model.OpenapiV1AppsPostRequest;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class AppManagementApi {
- private ApiClient localVarApiClient;
- private int localHostIndex;
- private String localCustomBaseUrl;
-
- public AppManagementApi() {
- this(Configuration.getDefaultApiClient());
- }
-
- public AppManagementApi(ApiClient apiClient) {
- this.localVarApiClient = apiClient;
- }
-
- public ApiClient getApiClient() {
- return localVarApiClient;
- }
-
- public void setApiClient(ApiClient apiClient) {
- this.localVarApiClient = apiClient;
- }
-
- public int getHostIndex() {
- return localHostIndex;
- }
-
- public void setHostIndex(int hostIndex) {
- this.localHostIndex = hostIndex;
- }
-
- public String getCustomBaseUrl() {
- return localCustomBaseUrl;
- }
-
- public void setCustomBaseUrl(String customBaseUrl) {
- this.localCustomBaseUrl = customBaseUrl;
- }
-
- /**
- * Build call for openapiV1AppsAppIdAppnamespacesNamespaceNameDelete
- * @param appId (required)
- * @param namespaceName (required)
- * @param _callback Callback for upload/download progress
- * @return Call to execute
- * @throws ApiException If fail to serialize the request body object
- * @http.response.details
-
- Response Details
- Status Code | Description | Response Headers |
- 200 | | - |
-
- */
- public okhttp3.Call openapiV1AppsAppIdAppnamespacesNamespaceNameDeleteCall(@javax.annotation.Nonnull String appId, @javax.annotation.Nonnull String namespaceName, final ApiCallback _callback) throws ApiException {
- String basePath = null;
- // Operation Servers
- String[] localBasePaths = new String[] { };
-
- // Determine Base Path to Use
- if (localCustomBaseUrl != null){
- basePath = localCustomBaseUrl;
- } else if ( localBasePaths.length > 0 ) {
- basePath = localBasePaths[localHostIndex];
- } else {
- basePath = null;
- }
-
- Object localVarPostBody = null;
-
- // create path and map variables
- String localVarPath = "/openapi/v1/apps/{appId}/appnamespaces/{namespaceName}"
- .replace("{" + "appId" + "}", localVarApiClient.escapeString(appId.toString()))
- .replace("{" + "namespaceName" + "}", localVarApiClient.escapeString(namespaceName.toString()));
-
- List localVarQueryParams = new ArrayList();
- List localVarCollectionQueryParams = new ArrayList();
- Map localVarHeaderParams = new HashMap();
- Map localVarCookieParams = new HashMap();
- Map localVarFormParams = new HashMap();
-
- final String[] localVarAccepts = {
- "application/json"
- };
- final String localVarAccept = localVarApiClient.selectHeaderAccept(localVarAccepts);
- if (localVarAccept != null) {
- localVarHeaderParams.put("Accept", localVarAccept);
- }
-
- final String[] localVarContentTypes = {
- };
- final String localVarContentType = localVarApiClient.selectHeaderContentType(localVarContentTypes);
- if (localVarContentType != null) {
- localVarHeaderParams.put("Content-Type", localVarContentType);
- }
-
- String[] localVarAuthNames = new String[] { "ApiKeyAuth" };
- return localVarApiClient.buildCall(basePath, localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarCookieParams, localVarFormParams, localVarAuthNames, _callback);
- }
-
- @SuppressWarnings("rawtypes")
- private okhttp3.Call openapiV1AppsAppIdAppnamespacesNamespaceNameDeleteValidateBeforeCall(@javax.annotation.Nonnull String appId, @javax.annotation.Nonnull String namespaceName, final ApiCallback _callback) throws ApiException {
- // verify the required parameter 'appId' is set
- if (appId == null) {
- throw new ApiException("Missing the required parameter 'appId' when calling openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(Async)");
- }
-
- // verify the required parameter 'namespaceName' is set
- if (namespaceName == null) {
- throw new ApiException("Missing the required parameter 'namespaceName' when calling openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(Async)");
- }
-
- return openapiV1AppsAppIdAppnamespacesNamespaceNameDeleteCall(appId, namespaceName, _callback);
-
- }
-
- /**
- * 删除AppNamespace
- * DELETE /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}
- * @param appId (required)
- * @param namespaceName (required)
- * @return Object
- * @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
- * @http.response.details
-
- Response Details
- Status Code | Description | Response Headers |
- 200 | | - |
-
- */
- public Object openapiV1AppsAppIdAppnamespacesNamespaceNameDelete(@javax.annotation.Nonnull String appId, @javax.annotation.Nonnull String namespaceName) throws ApiException {
- ApiResponse