通过 OpenAPI 更新应用编排。
适用版本 | 企业标准版 |
服务接入点与授权信息
获取服务接入点,替换 API 请求语法中的 <domain> :服务接入点(domain)。
获取个人访问令牌,具体操作,请参见获取个人访问令牌。
产品
资源
所需权限
应用交付
应用编排
读写
请求语法
PUT https://{domain}/oapi/v1/appstack/organizations/{organizationId}/apps/{appName}/orchestrations/{sn}
请求头
参数 | 类型 | 是否必填 | 描述 | 示例值 |
x-yunxiao-token | string | 是 | 个人访问令牌。 | pt-0fh3****0fbG_35af****0484 |
请求参数
参数 | 类型 | 位置 | 是否必填 | 描述 | 示例值 |
appName | string | path | 是 | 应用名。 | my-web-service |
sn | string | path | 是 | 应用编排唯一序列号。 | my-web-service@KUBERNETES |
organizationId | string | path | 是 | 组织 ID。 | organization-id-xxx |
- | object | body | 否 | 更新编排请求。 | |
branchName | string | body | 否 | 本次提交的编排分支,不填写则使用默认主干,可能的值:[master]。 | master |
commitMessage | string | body | 否 | 本次提交的描述信息。 | 示例提交描述 |
description | string | body | 否 | 编排描述。 | demo description |
fromRevisionSha | string | body | 否 | 本次提交的基线版本 SHA 值。 | sha-xxxx |
name | string | body | 是 | 编排名。 | demo-name |
spec | object | body | 否 | 内置编排详情字段更新请求体。 | |
componentList | array | body | 否 | 组件列表。 | |
- | object | body | 否 | 编排组件模型。 | |
content | string | body | 是 | 组件内容,以 go 标准库 text/template 的形式呈现。 | —\napiVersion: v1\nkind: Service\nmetadata:\n name: prod-sidecar-test-{{ .AppStack.envName }}\n # 命名空间配置:\n # 建议每个环境使用不同的 Kubernetes 集群命名空间,以便达到环境隔离效果\n # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n namespace: {{ .Values.namespace }}\nspec:\n selector:\n run: prod-sidecar-test-{{ .AppStack.envName }}\n ports:\n - protocol: TCP\n port: 80\n targetPort: 8080 |
description | string | body | 是 | 组件描述。 | 示例描述 |
kind | string | body | 是 | 组件类型(在 kubernetes 场景下,需要沿用 kubernetes 对象的 kind)。 | Service |
name | string | body | 是 | 组件名。 | demo-service |
priority | integer | body | 是 | 组件优先级,从 1 开始;环境部署时,会按优先级数值从低到高的顺序下发部署。 | 1 |
type | string | body | 是 | 适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。 | KUBERNETES |
groupNameMap | object | body | 否 | 发布阶段名,key 为阶段下标(从 0 开始),value 为对应的阶段名;若不指定,将使用默认的阶段命名规则。 | |
labels | array | body | 否 | 编排适用的标签列表,决定了环境部署时是否能使用本次提交的编排变更。 | |
- | object | body | 否 | AppStack 标签。 | |
displayName | string | body | 否 | 标签的展示名,用于描述性的场景,不参与标签匹配。 | 测试标签键 |
displayValue | string | body | 否 | 标签的展示值,用于描述性的场景,不参与标签匹配。 | 测试标签值 |
extraMap | object | body | 否 | 标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段。 | map[] |
name | string | body | 否 | 标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label |
namespace | string | body | 否 | 标签命名空间,决定了标签的作用域。 | default |
value | string | body | 否 | 标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label-value |
placeholderList | array | body | 否 | 占位符列表。 | |
- | object | body | 否 | 占位符模型。 | |
description | string | body | 否 | 占位符描述。 | 内存限制 |
name | string | body | 是 | 占位符名。 | memoryLimit |
overridable | boolean | body | 是 | 占位符是否部署时可修改。 | true |
predefined | boolean | body | 否 | 是否预置占位符。 | false |
rsType | string | body | 是 | 适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。 | KUBERNETES |
rule | string | body | 否 | 占位符取值的可选校验规则。 | "" |
type | string | body | 是 | 占位符类型,可能的值:[string number boolean float object]。 | string |
value | string | body | 是 | 占位符取值。 | 1024Mi |
valueSource | string | body | 否 | 占位符取值的数据源类型(如常量、变量等),可能的值:[CONSTANT VARIABLE NULL]。 | CONSTANT |
type | string | body | 是 |
请求示例
curl -X 'PUT' \
'https://test.rdc.aliyuncs.com/oapi/v1/appstack/organizations/organization-id-xxx/apps/my-web-service/orchestrations/my-web-service@KUBERNETES' \
-H 'Content-Type: application/json' \
-H 'x-yunxiao-token: pt-0fh3****0fbG_35af****0484' \
--data '
{
"branchName": "master",
"commitMessage": "示例提交描述",
"description": "demo description",
"fromRevisionSha": "sha-xxxx",
"name": "demo-name",
"spec": {
"componentList": [
{
"content": "---\napiVersion: v1\nkind: Service\nmetadata:\n name: prod-sidecar-test-{{ .AppStack.envName }}\n # 命名空间配置:\n # 建议每个环境使用不同的Kubernetes集群命名空间,以便达到环境隔离效果\n # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n namespace: {{ .Values.namespace }}\nspec:\n selector:\n run: prod-sidecar-test-{{ .AppStack.envName }}\n ports:\n - protocol: TCP\n port: 80\n targetPort: 8080",
"description": "示例描述",
"kind": "Service",
"name": "demo-service",
"priority": 1,
"type": "KUBERNETES"
}
],
"groupNameMap": {
},
"labels": [
{
"displayName": "测试标签键",
"displayValue": "测试标签值",
"extraMap": {
},
"name": "demo-label",
"namespace": "default",
"value": "demo-label-value"
}
],
"placeholderList": [
{
"description": "内存限制",
"name": "memoryLimit",
"overridable": true,
"predefined": false,
"rsType": "KUBERNETES",
"rule": "",
"type": "string",
"value": "1024Mi",
"valueSource": "CONSTANT"
}
],
"type": ""
}
}'
返回参数
参数 | 类型 | 描述 | 示例值 |
- | object | 应用内置编排。 | |
app | object | 应用。 | |
creatorId | string | 应用创建者。 | user-xxxx |
description | string | 应用描述。 | app-description-xxx |
favoured | boolean | 是否收藏。 | false |
gmtCreate | string | 应用创建时间。 | 2024-09-01 00:00:00 |
labelList | array | 应用标签列表。 | |
- | object | AppStack 标签。 | |
displayName | string | 标签的展示名,用于描述性的场景,不参与标签匹配。 | 测试标签键 |
displayValue | string | 标签的展示值,用于描述性的场景,不参与标签匹配。 | 测试标签值 |
extraMap | object | 标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段。 | map[] |
name | string | 标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label |
namespace | string | 标签命名空间,决定了标签的作用域。 | default |
value | string | 标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label-value |
name | string | 应用名称。 | app-name-xxx |
type | string | 类型,可能的值:[APP SYSTEM]。 | APP |
componentList | array | 组件列表。 | |
- | object | 编排组件模型。 | |
content | string | 组件内容,以 go 标准库 text/template 的形式呈现。 | —\napiVersion: v1\nkind: Service\nmetadata:\n name: prod-sidecar-test-{{ .AppStack.envName }}\n # 命名空间配置:\n # 建议每个环境使用不同的 Kubernetes 集群命名空间,以便达到环境隔离效果\n # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n namespace: {{ .Values.namespace }}\nspec:\n selector:\n run: prod-sidecar-test-{{ .AppStack.envName }}\n ports:\n - protocol: TCP\n port: 80\n targetPort: 8080 |
description | string | 组件描述。 | 示例描述 |
kind | string | 组件类型(在 kubernetes 场景下,需要沿用 kubernetes 对象的 kind)。 | Service |
name | string | 组件名。 | demo-service |
priority | integer | 组件优先级,从 1 开始;环境部署时,会按优先级数值从低到高的顺序下发部署。 | 1 |
type | string | 适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。 | KUBERNETES |
creatorId | string | 创建人。 | app-builtin-creator-id |
description | string | 描述。 | app-builtin-orchestration-description |
format | string | 格式。 | MANIFEST |
gmtCreate | string | 创建时间。 | 2024-09-01 00:00:00 |
gmtModified | string | 修改时间。 | 2024-09-01 00:00:00 |
groupNameMap | object | ||
labelList | array | 标签列表。 | |
- | object | AppStack 标签。 | |
displayName | string | 标签的展示名,用于描述性的场景,不参与标签匹配。 | 测试标签键 |
displayValue | string | 标签的展示值,用于描述性的场景,不参与标签匹配。 | 测试标签值 |
extraMap | object | 标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段。 | map[] |
name | string | 标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label |
namespace | string | 标签命名空间,决定了标签的作用域。 | default |
value | string | 标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字。 | demo-label-value |
labelPolicy | string | 标签策略。 | NONE |
modifierId | string | 修改人。 | app-builtin-modifier-id |
name | string | 名称。 | app-builtin-orchestration-name |
placeholderList | array | 占位符列表。 | |
- | object | 占位符模型。 | |
description | string | 占位符描述。 | 内存限制 |
name | string | 占位符名。 | memoryLimit |
overridable | boolean | 占位符是否部署时可修改。 | true |
predefined | boolean | 是否预置占位符。 | false |
rsType | string | 适用的部署架构类型(如 Kubernetes、主机等),可能的值:[KUBERNETES HOST]。 | KUBERNETES |
rule | string | 占位符取值的可选校验规则。 | "" |
type | string | 占位符类型,可能的值:[string number boolean float object]。 | string |
value | string | 占位符取值。 | 1024Mi |
valueSource | string | 占位符取值的数据源类型(如常量、变量等),可能的值:[CONSTANT VARIABLE NULL]。 | CONSTANT |
revision | object | 编排版本信息。 | |
author | string | 编排版本提交人。 | user-xxx |
commitTime | string | 编排版本提交时间。 | 2024-09-01 00:00:00 |
message | string | 编排版本信息 commit 信息。 | revision-message-xxx |
sha | string | 编排版本信息 commit sha 值。 | revision-sha-xxx |
sn | string | 唯一序列号。 | app-builtin-orchestration-1 |
storageType | string | 存储类型。 | BUILTIN |
suitableResourceTypes | array[string] | 使用资源类型。 | |
syncSourceTemplate | object | 编排同步源模板。 | |
appTemplateName | string | 应用模板名称。 | app-template-name |
orchestrationSha | string | 应用模板版本 commit sha 值。 | app-template-version-sha |
type | string | 类型。 | AppBuiltInOrchestration |
参数 | 类型 | 描述 | 示例值 |
- | object | 外置Codeup应用编排 | |
app | object | 应用 | |
creatorId | string | 应用创建者 | user-xxxx |
description | string | 应用描述 | app-description-xxx |
favoured | boolean | 是否收藏 | false |
gmtCreate | string | 应用创建时间 | 2024-09-01 00:00:00 |
labelList | array | 应用标签列表 | |
- | object | AppStack 标签 | |
displayName | string | 标签的展示名,用于描述性的场景,不参与标签匹配 | 测试标签键 |
displayValue | string | 标签的展示值,用于描述性的场景,不参与标签匹配 | 测试标签值 |
extraMap | object | 标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段 | map[] |
name | string | 标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字 | demo-label |
namespace | string | 标签命名空间,决定了标签的作用域 | default |
value | string | 标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字 | demo-label-value |
name | string | 应用名称 | app-name-xxx |
type | string | 类型,可能的值:[APP SYSTEM] | APP |
creatorId | string | 创建人 | app-builtin-creator-id |
datasource | object | Codeup代码库数据源 | |
auth | object | Flow服务连接信息 | |
connectionId | string | 服务连接ID | connection-id |
connectionType | string | 服务连接类型 | FLOW |
extra | object | 代码库额外信息 | |
defaultBranch | string | 默认分支 | master |
projectId | string | 项目ID | project-id-xxx |
rootDir | string | 根目录 | / |
type | string | 类型 | CODEUP |
url | string | 代码库地址 | http://xxxxxxxxx |
description | string | 描述 | app-builtin-orchestration-description |
format | string | 编排格式 | EXTERNAL |
gmtCreate | string | 创建时间 | 2024-09-01 00:00:00 |
gmtModified | string | 修改时间 | 2024-09-01 00:00:00 |
modifierId | string | 修改人 | app-builtin-modifier-id |
name | string | 名称 | app-builtin-orchestration-name |
revision | object | 编排版本信息 | |
author | string | 编排版本提交人 | user-xxx |
commitTime | string | 编排版本提交时间 | 2024-09-01 00:00:00 |
message | string | 编排版本信息commit信息 | revision-message-xxx |
sha | string | 编排版本信息commit sha值 | revision-sha-xxx |
sn | string | 唯一序列号 | app-builtin-orchestration-1 |
storageType | string | 存储类型 | EXTERNAL |
suitableResourceTypes | array[string] | 适用资源类型 | |
type | string | 类型 | AppBuiltInOrchestration |
参数 | 类型 | 描述 | 示例值 |
- | object | 外置GitLab应用编排 | |
app | object | 应用 | |
creatorId | string | 应用创建者 | user-xxxx |
description | string | 应用描述 | app-description-xxx |
favoured | boolean | 是否收藏 | false |
gmtCreate | string | 应用创建时间 | 2024-09-01 00:00:00 |
labelList | array | 应用标签列表 | |
- | object | AppStack 标签 | |
displayName | string | 标签的展示名,用于描述性的场景,不参与标签匹配 | 测试标签键 |
displayValue | string | 标签的展示值,用于描述性的场景,不参与标签匹配 | 测试标签值 |
extraMap | object | 标签扩展属性 map,可在定义标签时用于存储自定义的扩展属性字段 | map[] |
name | string | 标签名,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字 | demo-label |
namespace | string | 标签命名空间,决定了标签的作用域 | default |
value | string | 标签值,仅允许包含小写字母、中划线和数字,且开头、结尾均为小写字母或数字 | demo-label-value |
name | string | 应用名称 | app-name-xxx |
type | string | 类型,可能的值:[APP SYSTEM] | APP |
creatorId | string | 创建人 | app-builtin-creator-id |
datasource | object | Gitlab代码库数据源 | |
auth | object | Flow服务连接信息 | |
connectionId | string | 服务连接ID | connection-id |
connectionType | string | 服务连接类型 | FLOW |
extra | object | 代码库额外信息 | |
defaultBranch | string | 默认分支 | master |
projectId | string | 项目ID | project-id-xxx |
rootDir | string | 根目录 | / |
type | string | 类型 | CUSTOM_GITLAB |
url | string | 代码库地址 | http://xxxxxxxxx |
description | string | 描述 | app-builtin-orchestration-description |
format | string | 编排格式 | EXTERNAL |
gmtCreate | string | 创建时间 | 2024-09-01 00:00:00 |
gmtModified | string | 修改时间 | 2024-09-01 00:00:00 |
modifierId | string | 修改人 | app-builtin-modifier-id |
name | string | 名称 | app-builtin-orchestration-name |
revision | object | 编排版本信息 | |
author | string | 编排版本提交人 | user-xxx |
commitTime | string | 编排版本提交时间 | 2024-09-01 00:00:00 |
message | string | 编排版本信息commit信息 | revision-message-xxx |
sha | string | 编排版本信息commit sha值 | revision-sha-xxx |
sn | string | 唯一序列号 | app-builtin-orchestration-1 |
storageType | string | 存储类型 | EXTERNAL |
suitableResourceTypes | array[string] | 适用资源类型 | |
type | string | 类型 | AppBuiltInOrchestration |
返回示例
{
"app": {
"creatorId": "user-xxxx",
"description": "app-description-xxx",
"favoured": false,
"gmtCreate": "2024-09-01 00:00:00",
"labelList": [
{
"displayName": "测试标签键",
"displayValue": "测试标签值",
"extraMap": {
},
"name": "demo-label",
"namespace": "default",
"value": "demo-label-value"
}
],
"name": "app-name-xxx",
"type": "APP"
},
"componentList": [
{
"content": "---\napiVersion: v1\nkind: Service\nmetadata:\n name: prod-sidecar-test-{{ .AppStack.envName }}\n # 命名空间配置:\n # 建议每个环境使用不同的Kubernetes集群命名空间,以便达到环境隔离效果\n # 部署时云效会将占位符{{ .Values.namespace }}替换成右侧设置的实际值\n namespace: {{ .Values.namespace }}\nspec:\n selector:\n run: prod-sidecar-test-{{ .AppStack.envName }}\n ports:\n - protocol: TCP\n port: 80\n targetPort: 8080",
"description": "示例描述",
"kind": "Service",
"name": "demo-service",
"priority": 1,
"type": "KUBERNETES"
}
],
"creatorId": "app-builtin-creator-id",
"description": "app-builtin-orchestration-description",
"format": "MANIFEST",
"gmtCreate": "2024-09-01 00:00:00",
"gmtModified": "2024-09-01 00:00:00",
"groupNameMap": {
},
"labelList": [
{
"displayName": "测试标签键",
"displayValue": "测试标签值",
"extraMap": {
},
"name": "demo-label",
"namespace": "default",
"value": "demo-label-value"
}
],
"labelPolicy": "NONE",
"modifierId": "app-builtin-modifier-id",
"name": "app-builtin-orchestration-name",
"placeholderList": [
{
"description": "内存限制",
"name": "memoryLimit",
"overridable": true,
"predefined": false,
"rsType": "KUBERNETES",
"rule": "",
"type": "string",
"value": "1024Mi",
"valueSource": "CONSTANT"
}
],
"revision": {
"author": "user-xxx",
"commitTime": "2024-09-01 00:00:00",
"message": "revision-message-xxx",
"sha": "revision-sha-xxx"
},
"sn": "app-builtin-orchestration-1",
"storageType": "BUILTIN",
"suitableResourceTypes": [
],
"syncSourceTemplate": {
"appTemplateName": "app-template-name",
"orchestrationSha": "app-template-version-sha"
},
"type": "AppBuiltInOrchestration"
}
{
"app": {
"creatorId": "user-xxxx",
"description": "app-description-xxx",
"favoured": false,
"gmtCreate": "2024-09-01 00:00:00",
"labelList": [
{
"displayName": "测试标签键",
"displayValue": "测试标签值",
"extraMap": {
},
"name": "demo-label",
"namespace": "default",
"value": "demo-label-value"
}
],
"name": "app-name-xxx",
"type": "APP"
},
"creatorId": "app-builtin-creator-id",
"datasource": {
"auth": {
"connectionId": "connection-id",
"connectionType": "FLOW"
},
"extra": {
"defaultBranch": "master",
"projectId": "project-id-xxx",
"rootDir": "/"
},
"type": "CODEUP",
"url": "http://xxxxxxxxx"
},
"description": "app-builtin-orchestration-description",
"format": "EXTERNAL",
"gmtCreate": "2024-09-01 00:00:00",
"gmtModified": "2024-09-01 00:00:00",
"modifierId": "app-builtin-modifier-id",
"name": "app-builtin-orchestration-name",
"revision": {
"author": "user-xxx",
"commitTime": "2024-09-01 00:00:00",
"message": "revision-message-xxx",
"sha": "revision-sha-xxx"
},
"sn": "app-builtin-orchestration-1",
"storageType": "EXTERNAL",
"suitableResourceTypes": [
],
"type": "AppBuiltInOrchestration"
}
{
"app": {
"creatorId": "user-xxxx",
"description": "app-description-xxx",
"favoured": false,
"gmtCreate": "2024-09-01 00:00:00",
"labelList": [
{
"displayName": "测试标签键",
"displayValue": "测试标签值",
"extraMap": {
},
"name": "demo-label",
"namespace": "default",
"value": "demo-label-value"
}
],
"name": "app-name-xxx",
"type": "APP"
},
"creatorId": "app-builtin-creator-id",
"datasource": {
"auth": {
"connectionId": "connection-id",
"connectionType": "FLOW"
},
"extra": {
"defaultBranch": "master",
"projectId": "project-id-xxx",
"rootDir": "/"
},
"type": "CUSTOM_GITLAB",
"url": "http://xxxxxxxxx"
},
"description": "app-builtin-orchestration-description",
"format": "EXTERNAL",
"gmtCreate": "2024-09-01 00:00:00",
"gmtModified": "2024-09-01 00:00:00",
"modifierId": "app-builtin-modifier-id",
"name": "app-builtin-orchestration-name",
"revision": {
"author": "user-xxx",
"commitTime": "2024-09-01 00:00:00",
"message": "revision-message-xxx",
"sha": "revision-sha-xxx"
},
"sn": "app-builtin-orchestration-1",
"storageType": "EXTERNAL",
"suitableResourceTypes": [
],
"type": "AppBuiltInOrchestration"
}
错误码
访问错误码中心查看 API 相关错误码。