根据发布单ID获取发布单信息
功能介绍
此API用来根据发布单ID获取发布单信息。
URI
GET /v3/{project_id}/cas/release-plans/{release_plan_id}
请求消息
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json;charset=utf8”。 |
X-Auth-Token |
是 |
String |
调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 |
响应消息
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
发布单ID。 |
action |
String |
发布单类型。
|
swimlane_id |
String |
泳道ID。 |
desc |
String |
描述。 |
components |
Array of objects |
组件列表,请参考表4。 |
name |
String |
发布单名称。 |
fail_strategy |
String |
失败策略。
|
status |
String |
发布单状态。 |
create_time |
Integer |
创建时间。 |
modify_time |
Integer |
更新时间。 |
execute_time |
Integer |
执行时间。 |
creator |
String |
创建人。 |
参数 |
参数类型 |
描述 |
---|---|---|
seq |
Integer |
发布批次。 |
component_id |
String |
应用组件ID。 |
name |
String |
应用组件名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,长度为2~64个字符。 |
workload_name |
String |
工作负载名称。 |
labels |
Array of objects |
标签。容器部署可通过标签查询对应工作负载;虚拟机部署可配置对应的微服务名称的标签来使用优雅上下线功能。请参考表5。 |
create_mode |
String |
组件创建方式,默认不传此参数表示创建并部署组件。 |
runtime_stack |
Object |
|
environment_id |
String |
环境ID。 |
description |
String |
描述。 最大长度为128个字符。 |
source |
Object |
代码/软件包来源,请参考表32。 |
build |
Object |
组件构建,容器部署并没有使用镜像时必传,请参考表33。 |
limit_cpu |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
Number |
申请CPU资源,单位为Core。 |
request_memory |
Number |
申请内存资源,单位为GiB。 |
version |
String |
组件版本号,最大长度32,规则为: ^([0-9]+)(.[0-9]+){2,3}$ |
envs |
Array of objects |
环境变量列表,请参考表29。 |
replica |
Integer |
实例数。 |
storages |
Array of objects |
存储,请参考表6。 |
deploy_strategy |
Object |
组件部署,请参考表9。 |
command |
Object |
启动命令,请参考表13。 |
post_start |
Object |
启动后处理,请参考表14。 |
pre_stop |
Object |
停止前处理,请参考表14。 |
mesher |
Object |
多语言接入服务网格,当技术栈选择Node.js且绑定微服务引擎时为必选,请参考表15。 |
timezone |
String |
指定组件运行的时区。 |
jvm_opts |
String |
jvm参数,例如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则使用默认值。 |
tomcat_opts |
Object |
tomcat参数,技术栈选择tomcat时生效,请参考表16。 |
host_aliases |
Array of objects |
主机别名,请参考表17。 |
dns_policy |
String |
DNS策略。
|
dns_config |
Object |
DNS配置,请参考表18。 |
workload_kind |
String |
工作负载类型。
|
security_context |
Object |
安全策略,请参考表20。 |
logs |
Array of objects |
日志采集,请参考表22。 |
custom_metric |
Object |
自定义指标监控,请参考表23。 |
affinity |
Array of objects |
亲和性,请参考表24。 |
anti_affinity |
Array of objects |
反亲和性,请参考表24。 |
liveness_probe |
Object |
组件存活探针,请参考表26。 |
readiness_probe |
Object |
组件业务探针,请参考表26。 |
startup_probe |
Object |
组件启动探针,请参考表26。 |
refer_resources |
Array of objects |
关联资源,请参考表27。 |
external_accesses |
Array of Objects |
外部访问,请参考表35。 |
tolerations |
Array of Objects |
容忍度策略,请参考表36。 |
container_name |
String |
容器名称。 |
update_strategy |
Object |
组件升级策略,请参考表39。 |
multi_containers |
Array of Objects |
多容器配置,请参考表37。 |
service_name |
String |
有状态负载的实例间发现服务配置Service名称。 |
ports |
Array of Objects |
有状态负载的实例间发现服务配置端口配置。 |
workload_content |
String |
工作负载内容。 |
configs |
Array of Objects |
组件统一配置,请参考表40。 |
enable_sermant_injection |
Boolean |
是否开启Sermant。 |
enable_sermant_spring_register |
Boolean |
Spring Cloud Huawei框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_dubbo_register |
Boolean |
Dubbo框架的微服务是否需要Sermant帮助注册到注册中心。 |
enable_sermant_config |
Boolean |
是否开启Sermant动态配置插件能力。 |
cell_id |
String |
部署单元ID。 |
swimlane_id |
String |
泳道ID。 |
sermantAgentInjectActionFlag |
Boolean |
JDK17以及JDK21是否自动添加以下JVM环境变量。 JDK17: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED JDK21: --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.base/sun.net.www=ALL-UNNAMED --add-opens java.base/sun.net.www.protocol.http=ALL-UNNAMED -Dnet.bytebuddy.experimental=true |
sys_config |
Map<String, String> |
使用压缩包在虚拟机环境下部署组件配置项。 |
image_pull_secrets |
Array of String |
镜像拉取密钥列表。 |
auto_lts_config |
Object |
LTS自动配置,请参考表41。 |
config_encryption |
Object |
单容器组件配置加密密钥时需设置,请参考表42。 |
task_setting |
否 |
Object job类型工作负载的任务设置,请参考表43。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
数据存储类型。
|
name |
String |
存储盘名称。 |
parameters |
Object |
对应各种数据存储类型的信息参数,请参考表7。 |
mounts |
Array of objects |
数据存储挂载路径,请参考表8。 |
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
主机路径, 适用于HostPath的存储类型。当数据存储类型为HostPath为必选参数。 |
name |
String |
配置项、密钥或者PVC的名字, 适用于ConfigMap、Secret和PersistentVolumeClaim的存储类型。当数据存储类型为ConfigMap、Secret和PersistentVolumeClaim为必选参数。 |
default_mode |
Integer |
挂载的权限,十进制格式,例如:384。适用于ConfigMap和Secret的存储类型。 |
medium |
String |
适用于EmptyDir类型的存储。不传参数为默认的磁盘介质,传参为memory则开启内存存储。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
部署类型。
|
rolling_release |
Object |
滚动部署参数,部署类型为RollingRelease时为必选,请参考表10。 |
gray_release |
Object |
灰度发布升级,部署类型为GrayRelease时为必选,请参考表11。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
灰度策略。
|
first_batch_weight |
Integer |
首批灰度流量比例,灰度策略为WEIGHT时为必选。 |
first_batch_replica |
Integer |
首批灰度实例数量,灰度策略为WEIGHT时为必选。 |
remaining_batch |
Integer |
剩余实例部署批次,首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如:剩余实例数是5,剩余部署批次是3,那么升级剩余实例会按照2:2:1个实例分批升级。 灰度策略为WEIGHT时为必选。 |
deployment_mode |
Integer |
部署模型。
|
replica_surge_mode |
String |
灰度实例新增模式,灰度策略为CONTENT时为必选。
|
rule_match_mode |
String |
灰度规则生效方式,灰度策略为CONTENT时为必选。
|
rules |
Object |
灰度规则,参数表12,灰度策略为CONTENT时为必选。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
匹配类型。当前仅支持:HEADER,请求头。 |
key |
String |
参数名称。 |
value |
String |
条件值。 |
condition |
String |
条件类型。
|
参数 |
参数类型 |
描述 |
---|---|---|
command |
Array of String |
运行命令,控制容器运行的输入命令。 |
args |
Array of String |
运行参数,控制容器运行命令的输入参数。例如:-port=8080,多条参数以换行分隔。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
处理方式。
|
scheme |
String |
http请求类型参数:HTTP、HTTPS。 type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。 type为http类型时生效。 |
port |
Integer |
端口号,type为http类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
server_xml |
String |
|
参数 |
参数类型 |
描述 |
---|---|---|
nameservers |
Array of String |
Pod的DNS服务器的IP地址列表。 |
searches |
Array of String |
可选,用于在Pod中查找主机名的DNS搜索域的列表。 |
options |
Array of objects |
可选,对象列表。其中每个对象可能具有name属性(必需)和value属性(可选)。 此属性中的内容将合并到从指定的DNS策略生成的选项,重复的条目将被删除,请参考表19。 |
参数 |
参数类型 |
描述 |
---|---|---|
run_as_user |
Integer |
运行用户,容器以当前用户权限运行,如以root权限运行则填写root用户ID 0。 |
run_as_group |
Integer |
运行属组,指定所有容器中的进程都以属组运行。 |
capabilities |
Object |
能力集,请参考表21。 |
参数 |
参数类型 |
描述 |
---|---|---|
log_path |
String |
容器中日志路径。 |
rotate |
String |
日志转储周期。 |
host_path |
String |
挂载的主机路径。 |
host_extend_path |
String |
主机扩展路径,通过扩展主机路径,实现同一个主机路径下区分来自不同容器的挂载:
|
参数 |
参数类型 |
描述 |
---|---|---|
path |
String |
采集路径,例如:/metrics。 |
port |
Integer |
采集端口,例如:9090。 |
dimensions |
String |
监控维度,例如:"cpu_usage,mem_usage"。 |
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
对象类型。
|
condition |
String |
策略满足类型。
|
match_expressions |
Array of objects |
调度策略规则,请参考表25。 |
weight |
String |
权重。
|
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
类型:http、tcp、command。 |
delay |
Integer |
启动后多久开始探测。 |
timeout |
Integer |
探测超时时间。 |
scheme |
String |
请求类型:HTTP、HTTPS,type为http类型时生效。 |
host |
String |
默认为POD的IP,可以指定自定义的IP。type为http类型时生效。 |
port |
Integer |
端口号,type为http和tcp类型时生效。 |
path |
String |
请求路径,type为http类型时生效。 |
command |
Array of String |
命令列表,type为command类型时生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
资源ID。 |
type |
String |
资源类型:
|
parameters |
Object |
资源参数,请参考表28。 |
参数 |
参数类型 |
描述 |
---|---|---|
namespace |
String |
命名空间。 |
name |
String |
资源名。 |
capacity |
Integer |
存储容量,单位GiB。 |
type |
String |
存储卷声明类型。
|
class |
String |
存储卷声明子类型。
|
obs_volume_type |
String |
OBS存储卷类型,默认为STANDARD标准存储类型。 |
access_mode |
String |
存储卷访问模式。
|
availableZone |
String |
可用区。 |
volume_type |
String |
存储卷类型。 |
参数 |
参数类型 |
描述 |
---|---|---|
reference_type |
String |
引用类型。
|
name |
String |
配置项或密钥的名称。 |
key |
String |
配置项或密钥的键值。 |
optional |
Boolean |
配置项或密钥的key是否必须存在。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
技术栈名称。 |
type |
String |
技术栈类型,支持Java、Tomcat、Nodejs、Php、Docker、Python。
|
version |
String |
技术栈版本。 |
deploy_mode |
String |
部署方式。
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
kind |
是 |
String |
组件来源类型。
|
version |
否 |
String |
版本号。 |
url |
否 |
String |
包地址,类型为package和image时需要添加。 |
storage |
否 |
String |
存储方式。
组件来源包类型为package和image时需要添加。 |
http_username |
否 |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写用户名。 |
http_password |
否 |
String |
在“storage”为“http”时需要填写,支持用户名、密码认证,这里填写密码。 |
http_command |
否 |
String |
在“storage”为“http”时需要填写,这里是用户定义软件包的地址。 |
http_headers |
否 |
Map<String, String> |
在“storage”为“http”时需要填写,支持用户自定义请求头,支持填写一个key,value,例如{"key":"xx","value":"xx""},其中的key和value关键字固定。 |
auth |
否 |
String |
认证方式,支持iam、none,默认是iam。 |
repo_auth |
否 |
String |
授权名称,在授权列表获取,请参考获取仓库授权列表。 |
repo_namespace |
否 |
String |
代码仓库命名空间。 |
repo_ref |
否 |
String |
代码分支或者Tag,默认是master。 |
repo_type |
否 |
String |
代码仓类型,支持CodeArts、Gitee、GitHub、BitBucket、GitLab。 |
web_url |
否 |
String |
代码跳转链接,例如:https://github.com/example/demo.git。 |
repo_url |
否 |
String |
代码仓url,例如:https://github.com/example/demo.git。 |
commit_id |
否 |
String |
代码仓库中,commit id是每次提交的唯一标识符,用于识别和引用特定的提交。 长度为8到40个字符,以小写字母或数字开头。 |
参数 |
参数类型 |
描述 |
---|---|---|
build_cmd |
String |
编译命令。默认:
|
dockerfile_path |
String |
dockerfile地址。默认是根目录./。 |
artifact_namespace |
String |
构建归档组织。默认cas_{project_id}。 |
cluster_id |
String |
指定构建集群的ID。 |
node_label_selector |
Map<String, String> |
key是标签的键,value是标签的值。 |
environment_id |
String |
环境ID。获取方法,请参考获取所有环境。 |
参数 |
参数类型 |
描述 |
---|---|---|
protocol |
String |
外部访问类型,取值范围为:http、https。 |
address |
String |
外部访问地址。 |
forward_port |
Integer |
外部访问端口。 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
污点键。 |
operator |
String |
操作符。
|
value |
String |
污点值。“operator”为“Equal”时,需要填写污点值。 |
effect |
String |
污点策略。
|
toleration_seconds |
Integer |
容忍时间窗。 当“effect”为“NoExecute”时支持配置。在容忍时间窗内,Pod还会在拥有污点的节点上运行,超出时间后会被驱逐。 |
参数 |
参数类型 |
描述 |
---|---|---|
container_name |
String |
容器名称。 |
source |
Object |
代码/软件包来源,请参考表32,多容器模式下仅支持镜像。 |
limit_cpu |
Number |
最大CPU限制,单位为Core。 |
limit_memory |
Number |
最大内存限制,单位为GiB。 |
request_cpu |
Number |
申请CPU资源,单位为Core。 |
request_memory |
Number |
申请内存资源,单位为GiB。 |
envs |
Array of objects |
环境变量列表,请参考表29。 |
liveness_probe |
Object |
容器存活探针,请参考表26。 |
readiness_probe |
Object |
容器业务探针,请参考表26。 |
startup_probe |
Object |
容器启动探针,请参考表26。 |
command |
Object |
启动命令,请参考表13。 |
post_start |
Object |
启动后处理,请参考表14。 |
pre_stop |
Object |
停止前处理,请参考表14。 |
logs |
Array of objects |
日志采集,请参考表22。 |
storages |
Array of objects |
存储,请参考表6。 |
security_context |
Object |
安全策略,请参考表20。 |
config_encryption |
Object |
多容器组件配置加密密钥时需设置,请参考表42。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
端口名称。 |
port |
String |
访问端口。 |
target_port |
String |
容器端口。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
组件升级类型:
|
max_unavailable |
|
最大无效实例数。与replica相比,可以有多少个实例失效,也就是删除的比例,默认值是25%。workload_kind为deployment时支持设置。
|
max_surge |
|
最大浪涌。与replica相比,可以有多少个实例存在,默认值是25%。仅workload_kind为deployment时支持设置。
|
termination_period_seconds |
Integer |
缩容时间窗。工作负载停止前命令的执行时间窗,默认值为30秒。 |
min_ready_seconds |
Integer |
实例可用最短时间。指定新创建的实例在没有任意容器崩溃情况下的最小就绪时间,只有超出这个时间实例才被视为可用。 默认值为 0。 |
progress_deadline_seconds |
Integer |
升级最大时长。指定系统在报告组件升级失败之前等待组件取得进展的秒数。 如果指定,则此字段值需要大于min_ready_seconds取值。 |
revision_history_limit |
Integer |
最大保留版本数。用来设定出于回滚目的所要保留的旧实例数量。默认情况下,系统保留10个旧实例。 |
请求示例
无
响应示例
{ "desc": "", "proportion": 0, "components": [ { "id": "30f88521-fa43-42ff-aaec-9cac4259fb16", "runtime_stack": { "url": "", "type": "Docker", "name": "Docker", "deploy_mode": "container", "version": "", "status": "Supported" }, "source": { "kind": "image", "url": "swr.cn-north-4.myhuaweicloud.com/cae-group1/sch:v1", "storage": "swr", "auth": "iam" }, "replica": 1, "version": "2024.0802.18390", "envs": [ { "name": "MOCK_ENABLED", "inner": false, "value": "true" } ], "storages": [], "update_strategy": { "type": "RollingUpdate", "max_unavailable": "25%", "max_surge": "25%", "termination_period_seconds": 30 }, "command": { "command": [], "args": [] }, "jvm_opts": "", "tomcat_opts": { "server_xml": "", "http_port": 0, "context_path": null }, "logs": [], "custom_metric": { "path": null, "port": 0, "dimensions": null }, "affinity": [], "anti_affinity": [], "tolerations": [ { "key": "node.kubernetes.io/not-ready", "operator": "Exists", "value": null, "effect": "NoExecute", "toleration_seconds": 300 }, { "key": "node.kubernetes.io/unreachable", "operator": "Exists", "value": null, "effect": "NoExecute", "toleration_seconds": 300 } ], "liveness_probe": { "type": null, "delay": 0, "timeout": 0, "scheme": null, "host": null, "port": 0, "path": null, "command": null, "period_seconds": 0, "success_threshold": 0, "failure_threshold": 0, "http_headers": null }, "readiness_probe": { "type": null, "delay": 0, "timeout": 0, "scheme": null, "host": null, "port": 0, "path": null, "command": null, "period_seconds": 0, "success_threshold": 0, "failure_threshold": 0, "http_headers": null }, "startup_probe": { "type": null, "delay": 0, "timeout": 0, "scheme": null, "host": null, "port": 0, "path": null, "command": null, "period_seconds": 0, "success_threshold": 0, "failure_threshold": 0, "http_headers": null }, "refer_resources": [ { "id": "7bc15618-f875-11ee-9505-0255ac100b08", "type": "cce", "refer_alias": null, "parameters": { "name": "cce-lianghuanyu", "namespace": "default", "type": "VirtualMachine" }, "selectors": null }, { "id": "ebeb26bd-3e27-49d6-bf70-bb1fa07a0500", "type": "cse", "refer_alias": null, "parameters": null, "selectors": null } ], "workload_kind": "deployment", "config_mode": "ui", "enable_sermant_injection": false, "enable_sermant_spring_register": false, "enable_sermant_dubbo_register": false, "enable_sermant_config": false, "sys_config": {}, "swimlane_id": "180c158a-0b45-41b4-a8da-767e8fb8e156", "container_name": "sch-env-apitest-ss-lb0i2d", "seq": 1, "enterprise_project_id": "0", "environment_id": "48874c71-4898-442f-87fc-afff135d65d1", "name": "sch", "application_id": "f397be2a-4c49-4ed8-8144-ce13417e179d", "nacos_enterprise_project_id": "0" } ], "name": "release-jxams3", "fail_strategy": "stop", "action": "clone", "swimlane_id": "180c158a-0b45-41b4-a8da-767e8fb8e156", "id": "716eda33-dbc6-47f3-953f-29119edd5e5c", "create_time": 1722933924775, "modify_time": 0, "status": "SUCCESS", "execute_time": 1722933924876, "creator": "wzh" }
状态码
状态码 |
描述 |
---|---|
200 |
操作成功。 |
400 |
错误的请求。 |
404 |
请求对象不存在。 |
500 |
内部错误。 |
错误码
请参考ServiceStage错误码。