华为云用户手册

  • 响应示例 { "authorization": { "name": "token1", "repo_type": "github", "repo_host": "https://api.github.com", "repo_home": "https://github.com/tom-repo", "repo_user": "tom-repo", "avartar": "https://avatars.githubusercontent.com/u/73919264?v=4", "token_type": "personal", "create_time": 1649762172340, "update_time": 1649762172340, "status": 0 }}
  • 响应消息 表3 响应参数说明 参数 类型 描述 authorization Object 授权结构体,请参考表4。 表4 authorization参数说明 参数 类型 描述 name String 授权名称。 repo_type String 仓库类型。 取值范围:github、gitlab、gitee。 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:未认证
  • 操作步骤 创建应用。调用创建应用接口,请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X POST "https://{servicestage_endpoint}/v2/{project_id}/cas/applications" -d '{ "name": "TestApp", "description": "application_description", "enterprise_project_id": "0"}' 返回结果: { "id": "06cf2fda-af45-44b4-9e22-6294c4804515", "name": "TestApp", "description": "application_description", "creator": "string", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "create_time": 1578984171041, "update_time": 1578984171041} 得到的id,后续示例中以{application_id}代替。 为应用添加环境变量,后续在该应用某环境下部署的组件都会继承该应用的环境变量。调用修改应用配置信息接口。请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X PUT "https://{servicestage_endpoint}/v2/{project_id}/cas/applications/{application_id}/configuration" -d '{ "environment_id": "0fa75dfe-0d32-4bc1-848b-8008cf3f2567", "configuration": { "env": [ { "name": "app-env", "value": "env" } ] }}' 返回结果: { "application_id": "06cf2fda-af45-44b4-9e22-6294c4804515", "environment_id": "0fa75dfe-0d32-4bc1-848b-8008cf3f2567", "configuration": { "env": [ { "name": "app-env", "value": "env" } ] }} 根据应用ID查询应用详细信息。调用根据应用ID获取应用详细信息接口,去查询应用信息。请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X GET "https://{servicestage_endpoint}/v2/{project_id}/cas/applications/{application_id}" 返回结果: { "id": "06cf2fda-af45-44b4-9e22-6294c4804515", "name": "TestApp", "description": "description", "creator": "xxx", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "create_time": 1578984171041, "update_time": 1578984171041}
  • 操作步骤 创建环境,添加基础资源。 调用创建环境接口,请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X POST "https://{servicestage_endpoint}/v2/{project_id}/cas/environments" -d '{ "name": "dev-env", "description": "develop environment", "enterprise_project_id": "0", "charge_mode": "provided", "vpc_id": "b9b8f9ad-1a2e-403d-83f1-cb71a3c06df8", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ]}' 返回结果: { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "alias": null, "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "charge_mode": "provided", "vpc_id": "b9b8f9ad-1a2e-403d-83f1-cb71a3c06df8", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "creator": "xxx", "create_time": 1578984198394, "update_time": 1578984198394} 得到的id,后续示例中以{environment_id}代替。 为环境添加其他需要的资源。 调用修改环境资源接口。根据自己已有的资源和需求,可以将和环境相同vpc下的ecs,cce,elb,cse,eip等多种类型的资源添加到环境中。请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X PATCH "https://{servicestage_endpoint}/v2/{project_id}/cas/environments/{environment_id}/resources" -d '{ "add_optional_resources": [{ "id": "default", "type": "cse" }]}' 返回结果: { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "alias": null, "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "charge_mode": "provided", "vpc_id": "b9b8f9ad-1a2e-403d-83f1-cb71a3c06df8", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "xxx", "create_time": 1578984198394, "update_time": 1578984198394} 根据环境ID查询环境。 调用根据环境ID获取环境详细信息接口,去查询环境。请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Auth-Token:$Token" -X GET "https://{servicestage_endpoint}/v2/{project_id}/cas/environments/{environment_id}" 返回结果: { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "alias": null, "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "charge_mode": "provided", "vpc_id": "b9b8f9ad-1a2e-403d-83f1-cb71a3c06df8", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "xxx", "create_time": 1578984198394, "update_time": 1578984198394}
  • 请求示例 通过clone url获取仓库信息,clone url值为http://xxx.gitlab.com:8090/xxx/springcloud-xxbbon.git。 https://Endpoint/v1/7c6a62ddb2bf45a3920d8053d3cb8fbf/git/repos/project-info?clone_url=http://xxx.gitlab.com:8090/xxx/springcloud-xxbbon.git
  • 响应消息 表3 响应参数说明 参数 参数类型 描述 count Integer 快照总数。 snapshots Array of Objects 快照参数,请参考表4。 表4 snapshot参数说明 参数 参数类型 描述 create_time Integer 创建时间 description String 描述 instance_id String 应用组件实例ID version String 版本号
  • URI GET /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}/snapshots 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。 instance_id 是 String 组件实例ID。获取方法,请参考获取应用组件实例。 表2 查询参数 参数 是否必选 参数类型 描述 limit 否 Integer 指定个数,取值[0, 100]或者1000,指定的值不在该范围内的话相当于赋值为10。默认1000,用于不分页的场景。分页的场景取值请用[0, 100]。 offset 否 Integer 指定偏移量。 order_by 否 String 排序字段,默认按创建时间排序。 order 否 String desc/asc,默认desc。
  • URI PUT /v4/{project_id}/registry/microservices/{serviceId}/properties 表1 路径参数 参数 是否必选 类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 serviceId 是 String 微服务唯一标识,字符长度为1~64,正则表达式为^.*$。 获取方法,请参考查询所有微服务静态信息。
  • URI DELETE /v1/{project_id}/git/repos/{namespace}/{project}/hooks/{hook_id} 参数说明见表1。 表1 路径参数 参数 是否必选 类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 namespace 是 String 命名空间ID或者URL编码名称。获取方法,请参考获取仓库namespaces。 project 是 String 仓库项目ID或者URL编码名称,如果含有“/”,需要将“/”替换为“:”。获取方法,请参考获取命名空间下所有项目。 hook_id 是 String hook ID。获取方法,请参考获取项目hooks。
  • URI POST /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 请求示例 创建名称为component-instance-name的组件实例,组件实例运行环境选择ID为6e763000-9128-4a9d-adea-34c42cc5344d的环境,组件部署件选择存储在obs下myapp桶中的demo.jar包,部署资源选择id为b6862a62-d916-11e9-bdf1-0255ac101fd9的CCE和id为8c0a45cc-626f-4d65-8257-507ee059aa9a的ELB。 { "name": "component-instance-name", "environment_id": "6e763000-9128-4a9d-adea-34c42cc5344d", "flavor_id": "MICRO-5G:0.5C:1G", "replica": 1, "artifacts": { "container-name": { "storage": "obs", "type": "package", "url": "obs://myapp/demo.jar", "properties": {"bucket": "myapp","key": "demo.jar","endpoint": "https://obs.region_id.external_domain_name.com"}, "auth": "iam" } }, "version": 1, "description": "instance desc", "configuration": { "env": [ { "name": "log-level", "value": "warn" } ] }, "refer_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce", "parameters": { "namespace": "default" } }, { "id": "8c0a45cc-626f-4d65-8257-507ee059aa9a", "type": "elb" } ]}
  • URI PUT /v2/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 请求示例 修改指定组件ID对应的组件信息,修改组件名称为test-micro,设置组件软件包来源为存储在obs下test-soft桶中的fusionweather-1.0.0.jar包,指定cce-test集群为组件构建集群。 {"name": "test-micro","description": "","source": {"kind": "artifact","spec": {"storage": "obs","type": "package","url": "obs://test-soft/fusionweather-1.0.0.jar","auth": "iam","webUrl": "","properties": {"bucket": "test-soft","endpoint": "https://obs.region_id.development.com:443","key": "fusionweather-1.0.0.jar"}}},"build": {"parameters": {"artifact_namespace": "ns","use_public_cluster": false,"cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2","cluster_name": "cce-test","cluster_type": "VirtualMachine"}},}
  • 响应示例 {"id": "1cfdda6f-84cd-4ead-8e09-628fabf662e2","name": "test-micro","runtime": "Java8","category": "MicroService","sub_category": "Java Chassis","description": "","project_id": "e7d2e9c589e5445e808a8ff0d1235aca","application_id": "4d92833a-fa05-4fc0-a761-e67620022310","source": {"kind": "artifact","spec": {"storage": "obs","type": "package","url": "obs://test-soft/fusionweather-1.0.0.jar","auth": "iam","properties": {"bucket": "test-soft","endpoint": "https://obs.region_id.development.com:443","key": "fusionweather-1.0.0.jar"}}},"build": {"id": "zpdkj42b3rnko8bmyojzt1ng828ubychw13j8flv","parameters": {"artifact_namespace": "ns","cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2"}},"status": 0,"creator": "ss-test","create_time": 1610331760105,"update_time": 1610519881943}
  • URI PUT /v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。 instance_id 是 String 组件实例ID。获取方法,请参考获取应用组件实例。 表2 查询参数 参数 是否必选 参数类型 描述 maxWaitTime 否 int 用户自定义整体启动时间
  • 请求示例 修改应用组件实例,修改组件部署件为存储在swr镜像仓库swr.roma-dev-1.roma.development.com/ns1/examples:v2下名称为test-micro的镜像包,部署资源修改为id为523498f1-36c4-11eb-ae36-0255ac1000c2的CCE和专业版微服务引擎CSE。 {"description": "","artifacts": {"test-micro": {"storage": "swr","type": "image","url": "swr.roma-dev-1.roma.development.com/ns1/examples:v2","auth": "iam","version": "1.0.0","properties": {}}},"refer_resources": [{"id": "523498f1-36c4-11eb-ae36-0255ac1000c2","type": "cce","parameters": {"namespace": "default"}},{"id": "default","type": "cse"}],"version": "1.0.2"}
  • 请求消息 表2 请求Header参数 参数 是否必选 类型 描述 Authorization 是 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 表3 请求Body参数 参数 是否必选 类型 描述 serviceIds 是 Array of strings 微服务ID列表。 force 否 Boolean 是否强制删除。包括: false表示非强制删除。 true表示强制删除。 默认值:false。 选择强制删除会自动注销所有服务实例,并且删除相关的服务依赖关系,如果未传此参数,那么在服务被依赖或者拥有实例时,无法被删除。
  • 请求示例 批量删除serviceId为dcc6c1073eab3cadb47cea2e1a874b7883b02a63、eba729a1d7cbf5a14d00dc59dba9236d94a1dfd3的微服务定义及其相关信息,同时注销其所有实例信息。 { "serviceIds": [ "dcc6c1073eab3cadb47cea2e1a874b7883b02a63", "eba729a1d7cbf5a14d00dc59dba9236d94a1dfd3" ], "force": true}
  • 响应示例 { "services": [ { "serviceId": "eba729a1d7cbf5a14d00dc59dba9236d94a1dfd3" }, { "serviceId": "dcc6c1073eab3cadb47cea2e1a874b7883b02a63" } ]}
  • 响应示例 { "id": "ea011e01-2eb5-453f-87bf-874e4a855abe", "name": "dev-env", "alias": null, "description": "develop environment", "project_id": "bf8523d898b64e4eb956e3be3555ca16", "enterprise_project_id": "0", "charge_mode": "provided", "vpc_id": "234241234124xxvasf2342xxxxxxxxxxx", "base_resources": [ { "id": "211112333sd332w23322332", "type": "cce" } ], "optional_resources": null, "creator": "string", "create_time": 1578984198394, "update_time": 1578984198394}
  • 响应消息 表2 响应参数 参数 参数类型 描述 id String 环境ID name String 环境名称 alias String 环境别名 description String 环境描述 project_id String 项目ID enterprise_project_id String 企业项目ID charge_mode String 收费模式 vpc_id String 虚拟私有云ID base_resources Array of objects 基础资源,请参考表3 optional_resources Array of objects 可选资源,请参考表3 creator String 创建人 create_time Integer 创建时间 update_time Integer 修改时间 表3 resources参数 参数 参数类型 描述 id String 资源ID name String 资源名称 type String 基础资源:cce、cci、ecs、as 可选资源:rds、dcs、elb等其他类型
  • 请求示例 创建一个名称为test、版本为1.0.0的微服务静态信息,用于注册微服务实例时与之关联。 {"service": {"appId": "default","serviceName": "test","version": "1.0.0","description": "this is a test"},"rules": [{"ruleType": "WHITE","attribute": "tag_123","pattern": "aaa"}],"instances": [{"hostName": "instanceTest","endpoints": ["rest:127.0.0.1:8080"]}],"tags": {"test_tag1": "test_tag1","test_tag2": "test_tag2","test_tag3": "test_tag3"}}
  • 响应示例 { "services": [ { "serviceId": "8aed80ea052ac04a64dfc79c24f2170224d074f5", "appId": "default", "serviceName": "test", "version": "1.0.0", "description": "this is a test", "level": "BACK", "status": "UP", "timestamp": "1650543950", "modTimestamp": "1650543950" }, { "serviceId": "dcc6c1073eab3cadb47cea2e1a874b7883b02a63", "appId": "test", "serviceName": "test1", "version": "1.0.0", "level": "BACK", "status": "UP", "timestamp": "1650544223", "modTimestamp": "1650544223" } ]}
  • URI DELETE /v4/{project_id}/registry/microservices/{serviceId} 表1 路径参数 参数 是否必选 类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 serviceId 是 String 微服务唯一标识,字符长度为1~64,正则表达式为^.*$。 获取方法,请参考查询所有微服务静态信息。
  • URI GET /v4/{project_id}/registry/microservices/{serviceId} 表1 路径参数 参数 是否必选 类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 serviceId 是 String 微服务唯一标识,字符长度为1~64,正则表达式为^.*$。 获取方法,请参考查询所有微服务静态信息。
  • 响应示例 { "service": { "serviceId": "819706e21b7173306797d19922ce4231441c17c5", "appId": "default", "serviceName": "SERVICECENTER", "version": "2.4.8", "level": "BACK", "schemas": [ "servicecenter.grpc.api.ServiceCtrl", "servicecenter.grpc.api.ServiceInstanceCtrl" ], "status": "UP", "properties": { "allowCrossApp": "true" }, "timestamp": "1616426688", "alias": "SERVICECENTER", "modTimestamp": "1616426688", "environment": "development" }}
  • 请求示例 创建一个名称为development-env的环境,为该环境增加名称为cce-test的CCE基础资源和名称为elb-2dd2的ELB可选资源。 {"name": "development-env","description": "","charge_mode": "provided","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"}]}
  • 响应示例 {"id": "00078e9d-a61c-476e-ac63-a10c9cb2638e","name": "development-env","alias": null,"description": "","project_id": "e7d2e9c589e5445e808a8ff0d1235aca","enterprise_project_id": "0","charge_mode": "provided","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": 1610418873730}
  • 请求消息 表2 请求参数说明 参数 是否必选 参数类型 描述 name 是 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 alias 否 String 环境别名。 最大长度为64个字符。 description 否 String 环境描述。 最大长度为128个字符。 enterprise_project_id 否 String 企业项目ID。 charge_mode 否 String 收费模式,支持provided、on_demanded、monthly。默认provided,表示使用用户提供的已有资源,无需收费。on_demanded表示按需收费,monthly表示包月收费。 vpc_id 是 String 虚拟私有云ID。 base_resources 是 Array of objects 基础资源,部署组件的时候必选的资源。包括云容器引擎CCE、弹性云服务器ECS、云容器实例CCI、弹性伸缩组AS等为组件部署提供运行的资源。请参考表3。 optional_resources 否 Array of objects 可选资源,部署组件的时候根据业务需要选择的资源。包括关系型数据库RDS、分布式缓存服务DCS、弹性负载均衡ELB等。请参考表3。 表3 resource参数 参数 是否必选 参数类型 描述 id 是 String 资源ID,创建资源时生成的ID。 name 否 String 资源名称。 type 是 String 基础资源:cce、cci、ecs、as。 可选资源:rds、dcs、elb等其他类型。
  • 响应消息 表4 响应参数说明 参数 参数类型 描述 id String 环境ID name String 环境名称 alias String 环境别名 description String 环境描述 project_id String 项目ID enterprise_project_id String 企业项目ID charge_mode String 收费模式 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 resource 参数 参数类型 描述 id String 资源ID name String 资源名称 type String 基础资源:cce、cci、ecs、as 可选资源:rds、dcs、elb等其他类型
共100000条