
# 创建网格金丝雀升级任务 - CreateCanaryUpgrade
#### 功能介绍
该API用于创建网格金丝雀升级任务
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-asm/asm_api_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-asm/asm_api_0030.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项              | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                         | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | asm:mesh:upgrade | Write | mesh \*     | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
POST /v1/{project_id}/mesh-upgrade
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| Content-Type | 是    | String | 消息体的类型（格式）。 取值范围： - application/json;charset=utf-8：指定内容为JSON格式，并以UTF8字符编码进行编码   - application/json：指定内容为JSON格式    |
| X-Auth-Token | 是    | String | 调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值。                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
表3请求Body参数 
| 参数         | 是否必选 | 参数类型                                                                                        | 描述                                      |
|:---|:---|:---|:---|
| kind       | 是    | String                                                                                      | API类型，固定值"MeshUpgrade"，该值不可修改           |
| apiVersion | 是    | String                                                                                      | API版本，固定值"v1"，该值不可修改                    |
| metadata   | 是    | [MeshCanaryUpgradeMetadata] object | 网格金丝雀升级任务的基本信息，为集合类的元素类型，包含一组由不同名称定义的属性 |
| spec       | 是    | [MeshCanaryUpgradeSpec] object         | 网格金丝雀升级任务属性                             |
| status     | 否    | [MeshCanaryUpgradeStatus] object     | 网格金丝雀升级任务状态                             |
   
 表4MeshCanaryUpgradeMetadata 
| 参数   | 是否必选 | 参数类型   | 描述           |
|:---|:---|:---|:---|
| name | 是    | String | 网格金丝雀升级任务名称。 |
   
 表5MeshCanaryUpgradeSpec 
| 参数              | 是否必选 | 参数类型                                                                                              | 描述        |
|:---|:---|:---|:---|
| meshId          | 是    | String                                                                                            | 需要升级的网格ID |
| upgradeStrategy | 是    | String                                                                                            | 网格升级策略    |
| targetVersion   | 是    | String                                                                                            | 目标网格版本    |
| targetType      | 是    | String                                                                                            | 目标网格类型    |
| currentStep     | 是    | [MeshCanaryUpgradeCurrentStep] object | 当前升级步骤    |
   
 表6MeshCanaryUpgradeCurrentStep 
| 参数     | 是否必选 | 参数类型   | 描述         |
|:---|:---|:---|:---|
| name   | 是    | String | 金丝雀升级步骤的名称 |
| action | 是    | String | 金丝雀升级步骤的动作 |
   
 表7MeshCanaryUpgradeStatus 
| 参数          | 是否必选 | 参数类型                                                                                                          | 描述            |
|:---|:---|:---|:---|
| state       | 否    | String                                                                                                        | 金丝雀升级任务状态     |
| currentStep | 否    | [MeshCanaryUpgradeCurrentStepStatus] object | 金丝雀升级任务当前步骤状态 |
| updatedAt   | 否    | String                                                                                                        | 金丝雀升级任务更新时间   |
   
 表8MeshCanaryUpgradeCurrentStepStatus 
| 参数        | 是否必选 | 参数类型   | 描述                |
|:---|:---|:---|:---|
| id        | 否    | String | 网格金丝雀升级任务当前步骤ID   |
| phase     | 否    | String | 网格金丝雀升级任务当前步骤状态   |
| startTime | 否    | String | 网格金丝雀升级任务当前步骤开始时间 |
   
#### 响应参数
**状态码：200**
表9响应Body参数 
| 参数         | 参数类型                                                                                         | 描述                                      |
|:---|:---|:---|
| kind       | String                                                                                       | API类型，固定值"MeshUpgrade"，该值不可修改           |
| apiVersion | String                                                                                       | API版本，固定值"v1"，该值不可修改                    |
| metadata   | [MeshCanaryUpgradeMetadata] object | 网格金丝雀升级任务的基本信息，为集合类的元素类型，包含一组由不同名称定义的属性 |
| spec       | [MeshCanaryUpgradeSpec] object         | 网格金丝雀升级任务属性                             |
| status     | [MeshCanaryUpgradeStatus] object     | 网格金丝雀升级任务状态                             |
   
 表10MeshCanaryUpgradeMetadata 
| 参数                | 参数类型   | 描述                                |
|:---|:---|:---|
| name              | String | 网格金丝雀升级任务名称。                      |
| uid               | String | 网格金丝雀升级任务ID，资源唯一标识，创建成功后自动生成，填写无效 |
| creationTimestamp | String | 网格金丝雀升级任务创建时间                     |
   
 表11MeshCanaryUpgradeSpec 
| 参数              | 参数类型                                                                                               | 描述        |
|:---|:---|:---|
| meshId          | String                                                                                             | 需要升级的网格ID |
| upgradeStrategy | String                                                                                             | 网格升级策略    |
| targetVersion   | String                                                                                             | 目标网格版本    |
| targetType      | String                                                                                             | 目标网格类型    |
| currentStep     | [MeshCanaryUpgradeCurrentStep] object | 当前升级步骤    |
   
 表12MeshCanaryUpgradeCurrentStep 
| 参数     | 参数类型   | 描述         |
|:---|:---|:---|
| name   | String | 金丝雀升级步骤的名称 |
| action | String | 金丝雀升级步骤的动作 |
   
 表13MeshCanaryUpgradeStatus 
| 参数          | 参数类型                                                                                                           | 描述            |
|:---|:---|:---|
| state       | String                                                                                                         | 金丝雀升级任务状态     |
| currentStep | [MeshCanaryUpgradeCurrentStepStatus] object | 金丝雀升级任务当前步骤状态 |
| updatedAt   | String                                                                                                         | 金丝雀升级任务更新时间   |
   
 表14MeshCanaryUpgradeCurrentStepStatus 
| 参数        | 参数类型   | 描述                |
|:---|:---|:---|
| id        | String | 网格金丝雀升级任务当前步骤ID   |
| phase     | String | 网格金丝雀升级任务当前步骤状态   |
| startTime | String | 网格金丝雀升级任务当前步骤开始时间 |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述                       |
|:---|:---|
| 200 | 表示创建网格金丝雀任务下发成功，开始金丝雀升级。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-asm/ErrorCode.html)。
