# 切换部署到指定版本 - SwitchInferDeploymentVersion
#### 功能介绍
此接口用于将部署切换到指定版本，适用于需要在不同版本间进行切换以测试或回滚的场景。请求需包含有效的服务ID、部署ID及目标版本号，版本号必须是已发布的有效版本。用户必须具有对目标服务部署的管理权限，并且部署处于运行状态。切换成功后，部署将立即使用新的版本。若服务ID无效、部署ID无效、版本号不存在或用户无权限，则返回400 Bad Request或403 Forbidden；若部署状态不允许切换，则返回400 Bad Request。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=SwitchInferDeploymentVersion)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                       | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | modelarts:service:switchDeploymentVersion | Read | service \*  | -   | -  | -      |
     
  
 
#### URI
POST /v2/{project_id}/services/{service_id}/deployments/{deployment_id}/versions/{version}/switch
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释：** 用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                        |
| service_id    | 是    | String | **参数解释：** 服务ID，在创建服务时即可在返回体中获取，也可通过查询服务列表接口获取当前用户拥有的服务，其中service_id字段即为服务ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                      |
| deployment_id | 是    | String | **参数解释：** 部署ID，在[添加部署](https://support.huaweicloud.com/api-modelarts/CreateInferDeployment.html#ZH-CN_TOPIC_0000002723741832)时即可在返回体中获取，也可通过[查询服务部署列表](https://support.huaweicloud.com/api-modelarts/ListInferDeployments.html#ZH-CN_TOPIC_0000002723901750)获取当前用户拥有的部署，其中deployment_id字段即为部署ID。 **约束限制：** 不涉及。 **取值范围：** 部署ID。 **默认取值：** 不涉及。 |
| version       | 是    | String | **参数解释：** 目标版本                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
#### 请求参数
表2请求Body参数 
| 参数                        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| service_id                | 否    | String | **参数解释：** 服务ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。     |
| target_deployment_version | 否    | String | **参数解释：** 待切换的目标版本。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| infer_name                | 是    | String | **参数解释：** 部署ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数 | 参数类型   | 描述                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| id | String | **参数解释：** 服务部署id **取值范围：** 不涉及。 |
   
#### 请求示例
切换部署到指定版本target_version。
```
POST https://{end_point}/v2/{project_id}/services/{service_id}/deployments/{deployment_id}/versions/switch
{
  "service_id" : "service_id_xxxxxxxx",
  "target_deployment_version" : "1.0.1",
  "infer_name" : "xxxxxx-xxxx-xxxxxx"
}
```
#### 响应示例
**状态码：200**
```
{
  "id" : "deployment_idxxxxxxxxxxxx"
}
```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 200 | 版本切换成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
