华为云用户手册

  • URI GET /v3/{project_id}/cas/applications/{application_id}/components 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 表2 查询参数 参数 是否必选 参数类型 描述 limit 否 integer 指定个数,取值[0, 100]。 offset 否 integer 指定偏移量。 order_by 否 String 排序字段,默认按创建时间排序。 排序字段支持枚举值:create_time、name、update_time。 order 否 String 排序方式。 desc,降序排序,默认为desc。 asc,升序排序。
  • 响应消息 表4 响应参数 参数 参数类型 描述 count Integer 组件总数。 components Array of objects 组件参数,请参考表5。 表5 components 参数 参数类型 描述 id String 组件ID。 name String 组件名称。 labels Array of objects 标签。容器部署可通过标签查询对应工作负载;虚机部署可配置对应的微服务名称的标签来使用优雅上下线功能,请参考表10。 status Object 组件状态,请参考表8。 runtime_stack Object 技术栈,请参考表7。 application_name String 应用名称。 application_id String 应用ID。 environment_name String 环境名称。 environment_id String 环境ID。 version String 版本号。 source Object 代码/软件包来源,请参考表6。 creator String 创建人。 platform_type String 部署类型。 external_accesses Array of objects 外部访问,请参考表11。 表6 source 参数 参数类型 描述 kind String 组件来源类型。 code,源码。 package,软件包。 image,镜像包。 version String 版本号。 url String 包地址,类型为package和image时需要添加。 storage String 存储方式,支持镜像仓库swr、软件仓库swr、软件开发生产线codearts和对象存储obs,类型为package和image时需要添加。 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。 表7 runtime_stack 参数 参数类型 描述 name String 技术栈名称,例如:OpenJDK8。 type String 技术栈类型,例如:Java。 version String 技术栈版本,例如:1.1.4。 deploy_mode String 部署模式。 容器部署,container。 虚机部署,virtualmachine。 表8 status 参数 参数类型 描述 component_status String 组件状态。 INITIALIZING,初始化。 UPGRADING,升级中。 FAILED,失败。 RUNNING,运行中。 DOWN,下线。 DELETING,删除中。 DELETED,已删除。 RESERVED,保留。 STARTING,启动中。 STOPPING,停止中。 STOPPED,停止。 RESTARTING,重启中。 PENDING,未就绪。 UNKNOWN,未知。 PARTIALLY_FAILED,部分失败。 available_replica Integer 可用实例。 replica Integer 总实例。 fail_detail String 失败原因。 cluster_deleted,集群被删除。 cluster_unavailable,集群不可用。 cluster_inaccessible,集群无法访问。 namespace_deleted,命名空间被删除。 namespace_unavailable,命名空间不可用。 namespace_inaccessible,命名空间无法访问。 resource_deleted,资源已删除。 create_failed,创建组件失败。 delete_failed,删除组件失败。 last_job_id String 最后执行任务ID。 create_time Integer 创建时间。 update_time Integer 更新时间。 creator String 创建人。 artifact Object 组件构建信息,请参考表9。 表9 artifact 参数 参数类型 描述 type String 组件来源类型。 虚拟机部署支持软件包package。 容器部署支持软件包package、镜像包image。 url String 软件包/镜像地址。 表10 labels 参数 参数类型 描述 key String 标签名称 value String 标签值 表11 external_accesses 参数 参数类型 描述 protocol String 外部访问类型,取值范围为:http、https。 address String 外部访问地址。 forward_port Integer 外部访问端口。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称,通过获取仓库授权列表获取对应的授权名称。 表3 请求Body参数 参数 是否必选 参数类型 描述 secret 是 String 用于验证接收到的payloads的字符串。 url 是 String hook触发时回调的url。
  • URI POST /v1/{project_id}/git/repos/{namespace}/{project}/hooks 参数说明见表1。 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 namespace 是 String 命名空间ID或者URL编码名称。获取方法,请参考获取仓库namespaces。 project 是 String 仓库项目ID或者URL编码名称,如果含有“/”,需要将“/”替换为“:”。获取方法,请参考获取命名空间下所有项目。
  • URI GET /v1/{project_id}/git/auths/{repo_type}/redirect 参数说明见表1。 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 repo_type 是 String 仓库类型。 取值范围:CodeArts、Gitee、GitHub、BitBucket、GitLab。 表2 查询参数 参数 是否必选 参数类型 描述 tag 否 String 站点标签。
  • 响应示例 { "url": "https://github.com/login/oauth/authorize?client_id=2993bccf255673ba****&redirect_uri=https%3A%2F%2Fconsole.huaweicloud.com%2Fservicestage%2Foauth%3Frepo_type%3Dgithub&state=%242a%2410%24%2FMOymg0euuGH%2FJNWIJI3FeSVZhTUVj%2FF7r52mqpUKcYXz7f6.****&scope=read%3Auser%20repo%20write%3Arepo_hook" }
  • 响应消息 表3 响应参数 参数 参数类型 描述 runtimestacks Array of objects 运行时栈,请参考表4。 表4 runtimestacks 参数 参数类型 描述 name String 运行时名称。 deploy_mode String 部署类型。 container,容器部署。 virtualmachine,虚拟机部署。 version String 版本号。 type String 技术栈类型:Nodejs、Java、Tomcat、Python、Docker、Php。 status String 技术栈状态。 Supported,启用。 Deprecated,已弃用。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 组件任务类型。 start,启动。 stop,停止。 restart,重启。 scale,伸缩。 rollback,回滚。 continue_deploy,继续部署。 check_gray_release,检查灰度规则。 modify_gray_rule,修改灰度规则。 sync_workload,同步工作负载。 parameters 否 Object 任务参数,请参考表4。 表4 parameters 参数 是否必选 参数类型 描述 replica 否 Integer 组件实例数量。 version 否 String 版本号。 hosts 否 Array of String hostID列表,当虚机部署组件伸缩时必选。
  • URI POST /v3/{project_id}/cas/applications/{application_id}/components/{component_id}/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 响应示例 { "authorization": { "name": "pass1", "repo_type": "bitbucket", "repo_host": "https://api.bitbucket.org", "repo_home": "https://bitbucket.org/%7B63cc78de-***********-9505c0335f96%7D/", "repo_user": "bucket-ljn", "avartar": "https://secure.gravatar.com/avatar/05a7b4a2302750*********cf64?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FB-2.png", "token_type": "password", "create_time": 1634119075119, "update_time": 1634119075119, "status": 0 } }
  • 响应消息 表4 响应参数 参数 参数类型 描述 authorization Object 授权结构体,请参考表5。 表5 authorization 参数 参数类型 描述 name String 授权名称。 repo_type String 仓库类型。 取值范围:codearts、bitbucket。 repo_host String 仓库地址。 repo_home String 仓库主页。 repo_user String 仓库用户名。 avartar String 头像。 token_type String 授权方式。 create_time Long 创建时间。 update_time Long 修改时间。 status Integer 仓库授权状态。 0:正常 1:过期 2:未认证
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 授权名称。 user 是 String 仓库用户名。 password 是 String 仓库密码。
  • 响应消息 表3 响应参数 参数 参数类型 描述 id String 应用ID。 name String 应用名称。 description String 应用描述。 creator String 创建人。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 create_time Integer 创建时间。 update_time Integer 修改时间。 component_count Integer 包含组件个数。 labels Array of objects 标签,可使用标签管理服务通过标签过滤资源,请参考表4。 表4 labels 参数 参数类型 描述 key String 标签名称 value String 标签值
  • 响应示例 { "id": "e6129197-f9ca-4d60-b84d-a5e71cd2d317", "name": "app-test-0317_03", "description": "", "project_id": "063a3158b1a34710b36ad208b9497d00", "creator": "ss-test", "create_time": 1679036601735, "update_time": 1679036601735, "labels": null, "component_count": 0 }
  • URI DELETE /v3/{project_id}/cas/applications/{application_id}/configuration 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 表2 查询参数 参数 是否必选 参数类型 描述 environment_id 是 String 环境ID。获取方法,请参考获取所有环境。
  • 响应消息 表7 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 alias String 环境别名。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 charge_mode String 收费模式。 deploy_mode String 环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 vpc_id String 虚拟私有云ID。 base_resources Array of objects 基础资源。请参考表8。 optional_resources Array of objects 可选资源。请参考表8。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 表8 schemas 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。
  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env2", "alias": null, "description": "here is description", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "virtualmachine", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "ed2f3420-7031-4d93-b92b-e360cd4acf9e", "type": "ecs", "name": "ecs-9876" } ], "optional_resources": [ { "id": "9963306a-791e-468c-9306-cf80a9d00298", "type": "elb", "name": "elb-2dd2" }, { "id": "default", "type": "cse", "name": "Cloud Service Engine" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610420992462 }
  • 请求示例 修改环境资源,添加名称为ecs-9876的E CS 基础资源、专业版CSE可选资源,移除名称为test的ECS资源。 { "add_base_resources": [ { "id": "ed2f3420-7031-4d93-b92b-e360cd4acf9e", "type": "ecs", "name": "ecs-9876" } ], "add_optional_resources": [ { "id": "default", "type": "cse", "name": "Cloud Service Engine" } ], "remove_resources": [ { "id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "name": "test", "type": "ecs" } ] }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种。如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 add_base_resources 否 Array of objects 添加基础资源,请参考表4。 add_optional_resources 否 Array of objects 添加可选资源,请参考表5。 remove_resources 否 Array of objects 移除资源,请参考表6。 表4 add_base_resources 参数 是否必选 参数类型 描述 id 是 String 资源ID(为了保证接口调用正常,请您确保调用前输入正确的资源ID)。 name 否 String 资源名称。 type 是 String 基础资源:cce、ecs、as。 表5 add_optional_resources 参数 是否必选 参数类型 描述 id 是 String 资源ID(为了保证接口调用正常,请您确保调用前输入正确的资源ID)。 name 否 String 资源名称。 type 是 String 可选资源:rds、dcs、elb、cse等其他类型。 表6 remove_resources 参数 是否必选 参数类型 描述 id 是 String 资源ID(为了保证接口调用正常,请您确保调用前输入正确的资源ID)。 name 否 String 资源名称。 type 是 String 基础资源:cce、ecs、as。当deploy_mode为virtualmachine时可添加ecs、as,为container时可添加cce资源。 可选资源:rds、dcs、elb、cse等其他类型。
  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env2", "alias": null, "description": "here is description", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "type": "cce", "name": "cce-test" } ], "optional_resources": [ { "id": "9963306a-791e-468c-9306-cf80a9d00298", "type": "elb", "name": "elb-2dd2" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610420992462 }
  • 响应消息 表4 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 alias String 环境别名。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 charge_mode String 收费模式。 deploy_mode String 环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 vpc_id String 虚拟私有云ID。 base_resources Array of objects 基础资源,请参考表5。 optional_resources Array of objects 可选资源,请参考表5。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 表5 resources 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种。如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 alias 否 String 环境别名。 最大长度为64个字符。 description 否 String 环境描述。 最大长度为128个字符。
  • 响应示例 { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "deploy_mode": "virtualmachine", "vpc_id": "234241234124xxvasf2342xxxxxxxxxxx", "resources": [ { "id": "329b135e-7b31-4ea6-afb9-b69017bd0a80", "type": "ecs", "name": "ecs-test" } ], "creator": "ss-test", "create_time": 1578984198394, "update_time": 1578984198394, "labels": null }
  • 响应消息 表3 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 deploy_mode String 环境类型。 vpc_id String 虚拟私有云ID。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 labels Array of objects 标签,可使用标签管理服务通过标签过滤资源,请参考表4。 resources Array of objects 资源,请参考表5。 表4 labels 参数 参数类型 描述 key String 标签名称 value String 标签值 表5 resources 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 资源类型。 vpc,虚拟私有云。 eip,弹性公网IP。 elb,弹性负载均衡。 cce,云容器引擎。 ecs,弹性云服务器。 as,弹性伸缩组。 cse,微服务引擎。 dcs,分布式缓存服务。 rds,云数据库。
  • 请求示例 创建软件包部署的应用微服务组件,运行时设置为Java8,组件软件包来源选择存储在obs下myapp桶中的demo.jar包。 { "name": "mycomponent", "runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "", "build": { "parameters": { "artifact_namespace": "ns", "use_public_cluster": false, "cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "cluster_name": "cce-test", "cluster_type": "VirtualMachine" } }, "source": { "kind": "artifact", "spec": { "storage": "obs", "type": "package", "url": "obs://myapp/demo.jar", "properties": { "bucket": "myapp", "key": "demo.jar", "endpoint": "https://obs.region_id.external_domain_name.com" } } } }
  • 响应示例 { "id": "384eb8d4-c193-4d84-9558-6fda2366b536", "name": "mycomponent", "runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "", "project_id": "384eb8d4-c193-4d84-9558-6fda23698536", "application_id": "a8f7eed5-0aa0-4251-9723-c9119a6bf56d", "source": { "kind": "artifact", "spec": { "storage": "obs", "type": "package", "url": "obs://myapp/demo.jar", "properties": { "bucket": "myapp", "key": "demo.jar", "endpoint": "https://obs.region_id.external_domain_name.com" } } }, "build": { "id": "w3dpv7p0t1vpxvey5hjb22iuwxway1vupwx0nae1", "parameters": { "artifact_namespace": "ns", "dockerfile_path": "./" } }, "status": 0, "creator": "xxx", "create_time": 1610333934288, "update_time": 1610333934288 }
  • URI DELETE /v2/{project_id}/cas/applications/{application_id}/configuration 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 表2 查询参数 参数 是否必选 参数类型 描述 environment_id 是 String 环境ID。获取方法,请参考获取所有环境。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作,支持start、stop、restart、scale、rollback。 start:启动组件实例。 stop:停止组件实例。 restart:重启组件实例。 scale:伸缩组件实例。 rollback:回滚组件实例到上个版本。 parameters 否 Object 操作参数,action为scale和rollback时必选,请参考表4。 表4 parameters 参数 是否必选 参数类型 描述 replica 否 Integer 实例数,在scale操作时必选。 hosts 否 Array ECS id列表,指定虚机伸缩的时候部署的ECS主机,在scale操作时必选。 version 否 String 版本号,在rollback操作时必选,通过获取组件实例快照获取。
  • URI POST /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。 instance_id 是 String 组件实例ID。获取方法,请参考获取组件实例。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称。通过获取仓库授权列表获取对应的授权名称。
共100000条