
# 校验流程版本 - ValidateAopWorkflowVersion
#### 功能介绍
校验流程版本.
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-secmaster/secmaster_03_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-secmaster/secmaster_03_0023.html)。
#### URI
POST /v1/{project_id}/workspaces/{workspace_id}/soc/workflows/validation
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id   | 是    | String | **参数解释：** 项目ID，用于明确项目归属，配置后可通过该ID查询项目下资产，可以通过调用API获取，也可以从控制台获取。[获取项目ID](https://support.huaweicloud.com/api-secmaster/secmaster_03_0014.html) **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| workspace_id | 是    | String | **参数解释**: 工作空间ID **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                  |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。[获取用户Token](https://support.huaweicloud.com/api-secmaster/secmaster_03_0010.html) **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                 |
| Content-Type | 是    | String | **参数解释：** 内容类型 - application/json;charset=UTF-8 普通API请求的类型    **约束限制：** 不涉及 **取值范围：** - application/json;charset=UTF-8    **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| mode           | 是    | String | **参数解释**: 流程的校验类型 - BASIC 基础校验   - CIRCLE 环路校验   - APP_PARAMS 参数校验    **约束限制**: 不涉及 **取值范围**: - BASIC   - CIRCLE   - APP_PARAMS    **默认值**: 不涉及 |
| taskconfig     | 是    | String | **参数解释**: 流程拓扑图的参数配置 **约束限制**: 不涉及 **取值范围**: 不涉及 **默认值**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| taskflow       | 是    | String | **参数解释**: 流程的拓扑图的BASE64编码 **约束限制**: 不涉及 **取值范围**: 不涉及 **默认值**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| aopworkflow_id | 是    | String | **参数解释**: 流程的ID **约束限制**: 不涉及 **取值范围**: 不涉及 **默认值**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数         | 参数类型                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| code       | String                                                    | **参数解释**: 错误码 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                              |
| message    | String                                                    | **参数解释**: 错误描述 **取值范围**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                             |
| success    | Boolean                                                   | **参数解释**: 是否成功 **取值范围**: - true 成功   - false 失败    |
| request_id | String                                                    | **参数解释**: 请求的ID **约束限制**: 不涉及                                                                                                                                                                                                                                                                                                                                                                                            |
| data       | [data] object | 流程校验响应结果对象                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表5data 
| 参数     | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| mode   | String  | **参数解释**: 流程的校验类型 - BASIC 基础校验   - CIRCLE 环路校验   - APP_PARAMS 参数校验    **取值范围**: - BASIC   - CIRCLE   - APP_PARAMS    |
| result | Boolean | **参数解释**: 参数校验结果 - true 校验成功   - false 校验失败    **取值范围**: - true   - false                                                                                                                                                                                                                                                                                                                                                                    |
| detail | String  | **参数解释**: 参数校验结果描述 **取值范围**: 不涉及，校验失败时给出具体的失败原因说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
**状态码：400**
表6响应Body参数 
| 参数      | 参数类型   | 描述                                                                                                                                                                     |
|:---|:---|:---|
| code    | String | **参数解释**: 错误码 **取值范围**: 不涉及  |
| message | String | **参数解释**: 错误描述 **取值范围**: 不涉及 |
   
#### 请求示例
进行流程环路校验的样例
```
/v1/15645222e8744afa985c93dab6341da6/workspaces/985c8a9f-de13-4af2-9109-fabc1719387c/soc/workflows/validation
{
  "aopworkflow_id" : "91355942-aa54-46d3-b7a8-c7ac8408192f",
  "taskflow" : "eyJlbGVtZW50VHlwZSI6Int9Iiwid29ya2Zsb3ciOnsiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmRlZmluaXRpb25zIiwiYXR0cmlidXRlcyI6eyJ4bWxuczp4c2kiOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIsInhtbG5zOmJwbW4yIjoiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTCIsInhtbG5zOmJwbW5kaSI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvREkiLCJ4bWxuczpkYyI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDIiwieG1sbnM6ZGkiOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ERC8yMDEwMDUyNC9ESSIsInhtbG5zOnNvYXIiOiJodHRwczovL3NvYy5jbG91ZHNyZS5jb20vc29hci92MiIsImlkIjoiZGlhZ3JhbV9Qcm9jZXNzXzE3NTUyMzk1MjQ1MzgiLCJ0YXJnZXROYW1lc3BhY2UiOiJodHRwOi8vZmxvd2FibGUub3JnL2JwbW4iLCJ4c2k6c2NoZW1hTG9jYXRpb24iOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMIEJQTU4yMC54c2QifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnByb2Nlc3MiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiUHJvY2Vzc18xNzU1MjM5NTI0NTM4IiwibmFtZSI6IlNlcnZpY2VfUHJvY2VzczE3NTUyMzk1MjQ1MzgiLCJpc0V4ZWN1dGFibGUiOiJ0cnVlIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJicG1uMjpzdGFydEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzB2dWl6YjcifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOm91dGdvaW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmVuZEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzFvNTdqYzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmluY29taW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnNlcXVlbmNlRmxvdyIsImF0dHJpYnV0ZXMiOnsiaWQiOiJGbG93XzBwamYwNWoiLCJzb3VyY2VSZWYiOiJFdmVudF8wdnVpemI3IiwidGFyZ2V0UmVmIjoiRXZlbnRfMW81N2pjMSJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5EaWFncmFtIiwiYXR0cmlidXRlcyI6eyJpZCI6IkJQTU5EaWFncmFtXzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OUGxhbmUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiQlBNTlBsYW5lXzEiLCJicG1uRWxlbWVudCI6IlByb2Nlc3NfMTc1NTIzOTUyNDUzOCJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5TaGFwZSIsImF0dHJpYnV0ZXMiOnsiaWQiOiJFdmVudF8wdnVpemI3X2RpIiwiYnBtbkVsZW1lbnQiOiJFdmVudF8wdnVpemI3In0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkYzpCb3VuZHMiLCJhdHRyaWJ1dGVzIjp7IngiOiItMjY4IiwieSI6Ii0xNzgiLCJ3aWR0aCI6IjM2IiwiaGVpZ2h0IjoiMzYifX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OU2hhcGUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiRXZlbnRfMW81N2pjMV9kaSIsImJwbW5FbGVtZW50IjoiRXZlbnRfMW81N2pjMSJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiZGM6Qm91bmRzIiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE3OCIsIndpZHRoIjoiMzYiLCJoZWlnaHQiOiIzNiJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5FZGdlIiwiYXR0cmlidXRlcyI6eyJpZCI6IkZsb3dfMHBqZjA1al9kaSIsImJwbW5FbGVtZW50IjoiRmxvd18wcGpmMDVqIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkaTp3YXlwb2ludCIsImF0dHJpYnV0ZXMiOnsieCI6Ii0yMzIiLCJ5IjoiLTE2MCJ9fSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImRpOndheXBvaW50IiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE2MCJ9fV19XX1dfV19XX19",
  "taskconfig" : "{\"node_info\":{},\"usertask_info\":{}}",
  "mode" : "CIRCLE"
}
```
#### 响应示例
**状态码：200**
校验流程版本的响应
```
{
  "code" : "00000000",
  "data" : {
    "detail" : "Pass",
    "mode" : "CIRCLE",
    "result" : true
  },
  "message" : "",
  "request_id" : "",
  "success" : true
}
```
#### SDK代码示例
SDK代码示例如下。
- [Java]
  进行流程环路校验的样例
  ```
  package com.huaweicloud.sdk.test;
  import com.huaweicloud.sdk.core.auth.ICredential;
  import com.huaweicloud.sdk.core.auth.BasicCredentials;
  import com.huaweicloud.sdk.core.exception.ConnectionException;
  import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
  import com.huaweicloud.sdk.core.exception.ServiceResponseException;
  import com.huaweicloud.sdk.secmaster.v1.region.SecMasterRegion;
  import com.huaweicloud.sdk.secmaster.v1.*;
  import com.huaweicloud.sdk.secmaster.v1.model.*;
  public class ValidateAopWorkflowVersionSolution {
      public static void main(String[] args) {
          // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
          // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
          String ak = System.getenv("CLOUD_SDK_AK");
          String sk = System.getenv("CLOUD_SDK_SK");
          String projectId = "{project_id}";
          ICredential auth = new BasicCredentials()
                  .withProjectId(projectId)
                  .withAk(ak)
                  .withSk(sk);
          SecMasterClient client = SecMasterClient.newBuilder()
                  .withCredential(auth)
                  .withRegion(SecMasterRegion.valueOf("<YOUR REGION>"))
                  .build();
          ValidateAopWorkflowVersionRequest request = new ValidateAopWorkflowVersionRequest();
          request.withWorkspaceId("{workspace_id}");
          AopworkflowVersionValidateRes body = new AopworkflowVersionValidateRes();
          body.withAopworkflowId("91355942-aa54-46d3-b7a8-c7ac8408192f");
          body.withTaskflow("eyJlbGVtZW50VHlwZSI6Int9Iiwid29ya2Zsb3ciOnsiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmRlZmluaXRpb25zIiwiYXR0cmlidXRlcyI6eyJ4bWxuczp4c2kiOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIsInhtbG5zOmJwbW4yIjoiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTCIsInhtbG5zOmJwbW5kaSI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvREkiLCJ4bWxuczpkYyI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDIiwieG1sbnM6ZGkiOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ERC8yMDEwMDUyNC9ESSIsInhtbG5zOnNvYXIiOiJodHRwczovL3NvYy5jbG91ZHNyZS5jb20vc29hci92MiIsImlkIjoiZGlhZ3JhbV9Qcm9jZXNzXzE3NTUyMzk1MjQ1MzgiLCJ0YXJnZXROYW1lc3BhY2UiOiJodHRwOi8vZmxvd2FibGUub3JnL2JwbW4iLCJ4c2k6c2NoZW1hTG9jYXRpb24iOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMIEJQTU4yMC54c2QifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnByb2Nlc3MiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiUHJvY2Vzc18xNzU1MjM5NTI0NTM4IiwibmFtZSI6IlNlcnZpY2VfUHJvY2VzczE3NTUyMzk1MjQ1MzgiLCJpc0V4ZWN1dGFibGUiOiJ0cnVlIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJicG1uMjpzdGFydEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzB2dWl6YjcifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOm91dGdvaW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmVuZEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzFvNTdqYzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmluY29taW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnNlcXVlbmNlRmxvdyIsImF0dHJpYnV0ZXMiOnsiaWQiOiJGbG93XzBwamYwNWoiLCJzb3VyY2VSZWYiOiJFdmVudF8wdnVpemI3IiwidGFyZ2V0UmVmIjoiRXZlbnRfMW81N2pjMSJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5EaWFncmFtIiwiYXR0cmlidXRlcyI6eyJpZCI6IkJQTU5EaWFncmFtXzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OUGxhbmUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiQlBNTlBsYW5lXzEiLCJicG1uRWxlbWVudCI6IlByb2Nlc3NfMTc1NTIzOTUyNDUzOCJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5TaGFwZSIsImF0dHJpYnV0ZXMiOnsiaWQiOiJFdmVudF8wdnVpemI3X2RpIiwiYnBtbkVsZW1lbnQiOiJFdmVudF8wdnVpemI3In0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkYzpCb3VuZHMiLCJhdHRyaWJ1dGVzIjp7IngiOiItMjY4IiwieSI6Ii0xNzgiLCJ3aWR0aCI6IjM2IiwiaGVpZ2h0IjoiMzYifX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OU2hhcGUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiRXZlbnRfMW81N2pjMV9kaSIsImJwbW5FbGVtZW50IjoiRXZlbnRfMW81N2pjMSJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiZGM6Qm91bmRzIiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE3OCIsIndpZHRoIjoiMzYiLCJoZWlnaHQiOiIzNiJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5FZGdlIiwiYXR0cmlidXRlcyI6eyJpZCI6IkZsb3dfMHBqZjA1al9kaSIsImJwbW5FbGVtZW50IjoiRmxvd18wcGpmMDVqIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkaTp3YXlwb2ludCIsImF0dHJpYnV0ZXMiOnsieCI6Ii0yMzIiLCJ5IjoiLTE2MCJ9fSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImRpOndheXBvaW50IiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE2MCJ9fV19XX1dfV19XX19");
          body.withTaskconfig("{"node_info":{},"usertask_info":{}}");
          body.withMode(AopworkflowVersionValidateRes.ModeEnum.fromValue("CIRCLE"));
          request.withBody(body);
          try {
              ValidateAopWorkflowVersionResponse response = client.validateAopWorkflowVersion(request);
              System.out.println(response.toString());
          } catch (ConnectionException e) {
              e.printStackTrace();
          } catch (RequestTimeoutException e) {
              e.printStackTrace();
          } catch (ServiceResponseException e) {
              e.printStackTrace();
              System.out.println(e.getHttpStatusCode());
              System.out.println(e.getRequestId());
              System.out.println(e.getErrorCode());
              System.out.println(e.getErrorMsg());
          }
      }
  }
  ```
- [Python]
  进行流程环路校验的样例
  ```
  # coding: utf-8
  import os
  from huaweicloudsdkcore.auth.credentials import BasicCredentials
  from huaweicloudsdksecmaster.v1.region.secmaster_region import SecMasterRegion
  from huaweicloudsdkcore.exceptions import exceptions
  from huaweicloudsdksecmaster.v1 import *
  if __name__ == "__main__":
      # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak = os.environ["CLOUD_SDK_AK"]
      sk = os.environ["CLOUD_SDK_SK"]
      projectId = "{project_id}"
      credentials = BasicCredentials(ak, sk, projectId)
      client = SecMasterClient.new_builder() \
          .with_credentials(credentials) \
          .with_region(SecMasterRegion.value_of("<YOUR REGION>")) \
          .build()
      try:
          request = ValidateAopWorkflowVersionRequest()
          request.workspace_id = "{workspace_id}"
          request.body = AopworkflowVersionValidateRes(
              aopworkflow_id="91355942-aa54-46d3-b7a8-c7ac8408192f",
              taskflow="eyJlbGVtZW50VHlwZSI6Int9Iiwid29ya2Zsb3ciOnsiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmRlZmluaXRpb25zIiwiYXR0cmlidXRlcyI6eyJ4bWxuczp4c2kiOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIsInhtbG5zOmJwbW4yIjoiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTCIsInhtbG5zOmJwbW5kaSI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvREkiLCJ4bWxuczpkYyI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDIiwieG1sbnM6ZGkiOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ERC8yMDEwMDUyNC9ESSIsInhtbG5zOnNvYXIiOiJodHRwczovL3NvYy5jbG91ZHNyZS5jb20vc29hci92MiIsImlkIjoiZGlhZ3JhbV9Qcm9jZXNzXzE3NTUyMzk1MjQ1MzgiLCJ0YXJnZXROYW1lc3BhY2UiOiJodHRwOi8vZmxvd2FibGUub3JnL2JwbW4iLCJ4c2k6c2NoZW1hTG9jYXRpb24iOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMIEJQTU4yMC54c2QifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnByb2Nlc3MiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiUHJvY2Vzc18xNzU1MjM5NTI0NTM4IiwibmFtZSI6IlNlcnZpY2VfUHJvY2VzczE3NTUyMzk1MjQ1MzgiLCJpc0V4ZWN1dGFibGUiOiJ0cnVlIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJicG1uMjpzdGFydEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzB2dWl6YjcifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOm91dGdvaW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmVuZEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzFvNTdqYzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmluY29taW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnNlcXVlbmNlRmxvdyIsImF0dHJpYnV0ZXMiOnsiaWQiOiJGbG93XzBwamYwNWoiLCJzb3VyY2VSZWYiOiJFdmVudF8wdnVpemI3IiwidGFyZ2V0UmVmIjoiRXZlbnRfMW81N2pjMSJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5EaWFncmFtIiwiYXR0cmlidXRlcyI6eyJpZCI6IkJQTU5EaWFncmFtXzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OUGxhbmUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiQlBNTlBsYW5lXzEiLCJicG1uRWxlbWVudCI6IlByb2Nlc3NfMTc1NTIzOTUyNDUzOCJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5TaGFwZSIsImF0dHJpYnV0ZXMiOnsiaWQiOiJFdmVudF8wdnVpemI3X2RpIiwiYnBtbkVsZW1lbnQiOiJFdmVudF8wdnVpemI3In0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkYzpCb3VuZHMiLCJhdHRyaWJ1dGVzIjp7IngiOiItMjY4IiwieSI6Ii0xNzgiLCJ3aWR0aCI6IjM2IiwiaGVpZ2h0IjoiMzYifX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OU2hhcGUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiRXZlbnRfMW81N2pjMV9kaSIsImJwbW5FbGVtZW50IjoiRXZlbnRfMW81N2pjMSJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiZGM6Qm91bmRzIiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE3OCIsIndpZHRoIjoiMzYiLCJoZWlnaHQiOiIzNiJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5FZGdlIiwiYXR0cmlidXRlcyI6eyJpZCI6IkZsb3dfMHBqZjA1al9kaSIsImJwbW5FbGVtZW50IjoiRmxvd18wcGpmMDVqIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkaTp3YXlwb2ludCIsImF0dHJpYnV0ZXMiOnsieCI6Ii0yMzIiLCJ5IjoiLTE2MCJ9fSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImRpOndheXBvaW50IiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE2MCJ9fV19XX1dfV19XX19",
              taskconfig="{"node_info":{},"usertask_info":{}}",
              mode="CIRCLE"
          )
          response = client.validate_aop_workflow_version(request)
          print(response)
      except exceptions.ClientRequestException as e:
          print(e.status_code)
          print(e.request_id)
          print(e.error_code)
          print(e.error_msg)
  ```
- [Go]
  进行流程环路校验的样例
  ```
  package main
  import (
  "fmt"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
      secmaster "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1"
  "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1/model"
      region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v1/region"
  )
  func main() {
      // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
      // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
      ak := os.Getenv("CLOUD_SDK_AK")
      sk := os.Getenv("CLOUD_SDK_SK")
      projectId := "{project_id}"
      auth, err := basic.NewCredentialsBuilder().
          WithAk(ak).
          WithSk(sk).
          WithProjectId(projectId).
          SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      hcClient, err := secmaster.SecMasterClientBuilder().
           WithRegion(region.ValueOf("<YOUR REGION>")).
           WithCredential(auth).
           SafeBuild()
      if err != nil {
          fmt.Println(err)
          return
      }
      client := secmaster.NewSecMasterClient(hcClient)
      request := &model.ValidateAopWorkflowVersionRequest{}
  request.WorkspaceId = "{workspace_id}"
  request.Body = &model.AopworkflowVersionValidateRes{
  AopworkflowId: "91355942-aa54-46d3-b7a8-c7ac8408192f",
  Taskflow: "eyJlbGVtZW50VHlwZSI6Int9Iiwid29ya2Zsb3ciOnsiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmRlZmluaXRpb25zIiwiYXR0cmlidXRlcyI6eyJ4bWxuczp4c2kiOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIsInhtbG5zOmJwbW4yIjoiaHR0cDovL3d3dy5vbWcub3JnL3NwZWMvQlBNTi8yMDEwMDUyNC9NT0RFTCIsInhtbG5zOmJwbW5kaSI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0JQTU4vMjAxMDA1MjQvREkiLCJ4bWxuczpkYyI6Imh0dHA6Ly93d3cub21nLm9yZy9zcGVjL0RELzIwMTAwNTI0L0RDIiwieG1sbnM6ZGkiOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9ERC8yMDEwMDUyNC9ESSIsInhtbG5zOnNvYXIiOiJodHRwczovL3NvYy5jbG91ZHNyZS5jb20vc29hci92MiIsImlkIjoiZGlhZ3JhbV9Qcm9jZXNzXzE3NTUyMzk1MjQ1MzgiLCJ0YXJnZXROYW1lc3BhY2UiOiJodHRwOi8vZmxvd2FibGUub3JnL2JwbW4iLCJ4c2k6c2NoZW1hTG9jYXRpb24iOiJodHRwOi8vd3d3Lm9tZy5vcmcvc3BlYy9CUE1OLzIwMTAwNTI0L01PREVMIEJQTU4yMC54c2QifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnByb2Nlc3MiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiUHJvY2Vzc18xNzU1MjM5NTI0NTM4IiwibmFtZSI6IlNlcnZpY2VfUHJvY2VzczE3NTUyMzk1MjQ1MzgiLCJpc0V4ZWN1dGFibGUiOiJ0cnVlIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJicG1uMjpzdGFydEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzB2dWl6YjcifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOm91dGdvaW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmVuZEV2ZW50IiwiYXR0cmlidXRlcyI6eyJpZCI6IkV2ZW50XzFvNTdqYzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOmluY29taW5nIiwiZWxlbWVudHMiOlt7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IkZsb3dfMHBqZjA1aiJ9XX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW4yOnNlcXVlbmNlRmxvdyIsImF0dHJpYnV0ZXMiOnsiaWQiOiJGbG93XzBwamYwNWoiLCJzb3VyY2VSZWYiOiJFdmVudF8wdnVpemI3IiwidGFyZ2V0UmVmIjoiRXZlbnRfMW81N2pjMSJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5EaWFncmFtIiwiYXR0cmlidXRlcyI6eyJpZCI6IkJQTU5EaWFncmFtXzEifSwiZWxlbWVudHMiOlt7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OUGxhbmUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiQlBNTlBsYW5lXzEiLCJicG1uRWxlbWVudCI6IlByb2Nlc3NfMTc1NTIzOTUyNDUzOCJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5TaGFwZSIsImF0dHJpYnV0ZXMiOnsiaWQiOiJFdmVudF8wdnVpemI3X2RpIiwiYnBtbkVsZW1lbnQiOiJFdmVudF8wdnVpemI3In0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkYzpCb3VuZHMiLCJhdHRyaWJ1dGVzIjp7IngiOiItMjY4IiwieSI6Ii0xNzgiLCJ3aWR0aCI6IjM2IiwiaGVpZ2h0IjoiMzYifX1dfSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImJwbW5kaTpCUE1OU2hhcGUiLCJhdHRyaWJ1dGVzIjp7ImlkIjoiRXZlbnRfMW81N2pjMV9kaSIsImJwbW5FbGVtZW50IjoiRXZlbnRfMW81N2pjMSJ9LCJlbGVtZW50cyI6W3sidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiZGM6Qm91bmRzIiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE3OCIsIndpZHRoIjoiMzYiLCJoZWlnaHQiOiIzNiJ9fV19LHsidHlwZSI6ImVsZW1lbnQiLCJuYW1lIjoiYnBtbmRpOkJQTU5FZGdlIiwiYXR0cmlidXRlcyI6eyJpZCI6IkZsb3dfMHBqZjA1al9kaSIsImJwbW5FbGVtZW50IjoiRmxvd18wcGpmMDVqIn0sImVsZW1lbnRzIjpbeyJ0eXBlIjoiZWxlbWVudCIsIm5hbWUiOiJkaTp3YXlwb2ludCIsImF0dHJpYnV0ZXMiOnsieCI6Ii0yMzIiLCJ5IjoiLTE2MCJ9fSx7InR5cGUiOiJlbGVtZW50IiwibmFtZSI6ImRpOndheXBvaW50IiwiYXR0cmlidXRlcyI6eyJ4IjoiNzIiLCJ5IjoiLTE2MCJ9fV19XX1dfV19XX19",
  Taskconfig: "{"node_info":{},"usertask_info":{}}",
  Mode: model.GetAopworkflowVersionValidateResModeEnum().CIRCLE,
  }
  response, err := client.ValidateAopWorkflowVersion(request)
  if err == nil {
          fmt.Printf("%+v\n", response)
      } else {
          fmt.Println(err)
      }
  }
  ```
- [更多]
  更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/SecMaster/sdk?api=ValidateAopWorkflowVersion&version=v1)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 校验流程版本的响应 |
| 400 | 异常的响应     |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-secmaster/ErrorCode.html)。
