# 切换生命周期模板 - SwitchLifecycleTemplate
#### 功能介绍
本接口用于为指定模型的数据实例切换绑定的生命周期模板，并同时指定实例在新模板中的生命周期状态。
在调用本接口前，请确保目标数据模型满足以下条件：
1. 已在应用设计态创建并发布一个具有"生命周期管理"功能的数据模型。具体操作请参见[创建数据实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0007.html)、[创建关系实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0022.html)和[应用发布](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0085.html)。
   
2. 已将对应应用成功部署至运行态。具体操作请参见[部署应用](https://support.huaweicloud.com/consog-idme/idme_consog_0022.html)。
   
3. 已在运行态创建目标生命周期模板，且模板中包含目标生命周期状态。具体操作请参见[生命周期管理](https://support.huaweicloud.com/usermanual-idme/idme_clientog_0068.html)。
   
 
#### 接口约束
- 目标数据模型已在应用设计态配置了"生命周期管理"功能。
  
- 目标生命周期模板（lifecycleTemplate）及其包含的目标状态（lifecycleState）必须在运行态中真实存在且处于启用状态。
  
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/iDMEClassicAPI/doc?api=SwitchLifecycleTemplate)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-idme/idme_api_0017.html)。
#### URI
POST /rdm_{identifier}_app/publicservices/api/{modelName}/switchLifecycleTemplate
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| identifier | 是    | String | **参数解释：** 应用的唯一标识。 - 于2023年06月01日之前创建的应用，其唯一标识为该应用的名称。   - 于2023年06月01日之后创建的应用，其唯一标识为该应用的ID。    获取方法请参见[获取运行服务清单 - ListEnvs](https://support.huaweicloud.com/api-idme/ListApps.html)。 **约束限制：** 不涉及。 **取值范围：** - 于2023年06月01日之前创建的应用：由英文字母和数字组成，长度为1-36个字符。   - 于2023年06月01日之后创建的应用：由英文字母和数字组成，且长度为32个字符。    **默认取值：** 不涉及。 |
| modelName  | 是    | String | **参数解释：** 数据模型的英文名称。 **约束限制：** 不涉及。 **取值范围：** 以大写字母开头，只能包含字母、数字、"_"，且长度为1-60个字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** IAM用户的token。 获取方法请参见[获取IAM用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型                                                                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| applicationId | 否    | String                                                                                                                                           | **参数解释：** 应用ID，用于指定实例所属的应用。 当URL路径中已能明确应用上下文时，此参数可不传。 获取方法请参见[获取租户下的应用清单 - ListApps](https://support.huaweicloud.com/api-idme/ListApps.html)。 **约束限制：** 不涉及。 **取值范围：** 由英文字母和数字组成，且长度固定为1-32个字符。 **默认取值：** 不涉及。 |
| params        | 是    | [LifecycleManagedModelLifecycleTemplateSwitchDTO] object | **参数解释：** 请求参数对象，指定目标实例、新模板、目标状态及操作人信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                            |
   
 表4LifecycleManagedModelLifecycleTemplateSwitchDTO 
| 参数                | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| id                | 是    | String                                                                                           | **参数解释：** 数据实例ID，用于指定待切换生命周期模板的数据实例。 获取方法请参见[分页查询实例 - ShowFindUsingPost](https://support.huaweicloud.com/api-idme/ShowFindUsingPost.html)。 **约束限制：** 不涉及。 **取值范围：** -9223372036854775808到9223372036854775807的整数。 **默认取值：** 不涉及。 |
| lifecycleTemplate | 是    | [ObjectReferenceParamDTO] object | **参数解释：** 生命周期模板对象，用于指定目标生命周期模板。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                   |
| lifecycleState    | 是    | [ObjectReferenceParamDTO] object | **参数解释：** 生命周期状态对象，用于指定切换后的生命周期状态。该状态必须属于目标生命周期模板。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                 |
| modifier          | 否    | String                                                                                           | **参数解释：** 更新者账号，用于记录执行切换生命周期模板操作的用户标识。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                             |
   
 表5ObjectReferenceParamDTO 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| id    | 是    | String | **参数解释：** 数据实例ID，用于唯一标识引用的数据实例。 获取方法请参见[分页查询实例 - ShowFindUsingPost](https://support.huaweicloud.com/api-idme/ShowFindUsingPost.html)。 **约束限制：** 不涉及。 **取值范围：** -9223372036854775808到9223372036854775807的整数。 **默认取值：** 不涉及。 |
| clazz | 否    | String | **参数解释：** 类名，用于指定引用对象的类类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                    |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数     | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| result | String           | **参数解释：** 请求处理结果状态。 **取值范围：** - SUCCESS：请求成功。   - FAIL：请求失败。    |
| data   | Array of objects | **参数解释：** 请求数据。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| errors | Array of strings | **参数解释：** 异常信息列表。当result为FAIL时，返回具体的错误描述，包含失败原因及建议处理方式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### 请求示例
**示例：切换数据实例的生命周期模板**
将数据实例ID为1的生命周期模板切换为模板610169049837473792，并设置生命周期状态为610168884841943040。
```
POST https://dme.cn-north-4.huaweicloud.com/rdm_04219627d6794f37ae26e8aba250415d_app/publicservices/api/LifecycleManagedModel/switchLifecycleTemplate
{
  "applicationId" : "04219627d6794f37ae26e8aba250415d",
  "params" : {
    "id" : "1",
    "lifecycleTemplate" : {
      "id" : "610169049837473792",
      "clazz" : "LifecycleTemplate"
    },
    "lifecycleState" : {
      "id" : "610168884841943040",
      "clazz" : "LifecycleState"
    }
  }
}
```
#### 响应示例
**状态码：200**
```
{
  "result" : "SUCCESS",
  "data" : [ ],
  "errors" : [ ]
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | OK，表示请求成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-idme/APIE-XDM-Runtime-ErrorCode.html)。
