# 创建在线服务包 - CreateWorkflowPurchasePool
#### 功能介绍
创建在线服务包接口用于生成一个新的在线服务包。
该接口适用于以下场景：当用户需要部署一个新的在线服务、将模型或应用打包以便部署，或者在系统中添加新的服务资源时，用户可通过此接口创建在线服务包。使用该接口的前提条件是用户已登录系统且具有创建在线服务包的权限，同时系统中必须有足够的资源支持创建新的服务包。调用成功后，接口将返回包含新创建的在线服务包详细信息的响应，包括在线服务的ID、状态、资源池ID等。若用户未登录、权限不足或系统资源不足，接口将返回相应的错误信息。
#### 接口约束
无
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/ModelArts/doc?api=CreateWorkflowPurchasePool)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-modelarts/modelarts_03_0138.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v2/{project_id}/workflows/{workflow_id}/service/packages
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释** ：用户项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-modelarts/modelarts_03_0147.html)。 **约束限制**：1 - 64字符，字母、数字和中划线。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| workflow_id | 是    | String | **参数解释**：工作流的ID。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                          |
   
#### 请求参数
表2请求Body参数 
| 参数              | 是否必选 | 参数类型                                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| status          | 否    | String                                                                                                            | **参数解释**：服务包状态。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| pool_id         | 是    | String                                                                                                            | **参数解释** ：资源池ID。获取方法请参见[查询资源池列表](https://support.huaweicloud.com/api-modelarts/ListPools.html#ZH-CN_TOPIC_0000002723901812)。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| service_id      | 否    | String                                                                                                            | **参数解释** ：在线服务ID。获取方法请参见[查询服务列表](https://support.huaweicloud.com/api-modelarts/ListServices.html)。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| workflow_id     | 否    | String                                                                                                            | **参数解释**：Workflow工作流ID **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| order           | 是    | [WorkflowPoolOrder] object | **参数解释**：订阅信息。 **约束限制**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| consume_limit   | 否    | Integer                                                                                                           | **参数解释**：消费限制。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| current_consume | 否    | Integer                                                                                                           | **参数解释**：当前消费。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| current_date    | 否    | String                                                                                                            | **参数解释**：当前时间。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| limit_enable    | 否    | Boolean                                                                                                           | **参数解释**：限制开关。 **约束限制**：不涉及。 **取值范围**： - true：限制。   - false：不限制。    **默认取值**：不涉及。 |
| created_at      | 否    | String                                                                                                            | **参数解释**：创建时间。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| package_id      | 否    | String                                                                                                            | **参数解释**：订阅包的UUID。创建时不需要填，由后台自动生成。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表3WorkflowPoolOrder 
| 参数        | 是否必选 | 参数类型                                                                                          | 描述                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| id        | 否    | String                                                                                        | **参数解释**：订阅ID。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| sku       | 是    | [SkuInfo] object | **参数解释**：订阅计费信息。 **约束限制**：不涉及。                                                                                                                                                                                     |
| sku_count | 是    | String                                                                                        | **参数解释**：订阅计数。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
 表4SkuInfo 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| code          | 否    | String | **参数解释**：计费码。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。  |
| period        | 否    | String | **参数解释**：计费时期。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| queries_limit | 否    | Long   | **参数解释**：查询次数。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
| price         | 否    | Float  | **参数解释**：价格。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。   |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数              | 参数类型                                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| status          | String                                                                                                                     | **参数解释**：服务包状态。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| pool_id         | String                                                                                                                     | **参数解释**：资源池ID。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| service_id      | String                                                                                                                     | **参数解释**：在线服务ID。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| workflow_id     | String                                                                                                                     | **参数解释**：Workflow工作流ID。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| order           | [WorkflowPoolOrderResp] object | **参数解释**：订阅信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| consume_limit   | Integer                                                                                                                    | **参数解释**：消费限制。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| current_consume | Integer                                                                                                                    | **参数解释**：当前消费。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| current_date    | String                                                                                                                     | **参数解释**：当前时间。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| limit_enable    | Boolean                                                                                                                    | **参数解释**：限制开关。 **取值范围**： - true：限制。   - false：不限制。    |
| created_at      | String                                                                                                                     | **参数解释**：创建时间。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| package_id      | String                                                                                                                     | **参数解释**：订阅包的UUID。创建时不需要填，由后台自动生成。 **取值范围**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表6WorkflowPoolOrderResp 
| 参数        | 参数类型                                                                                                   | 描述                                                                                                        |
|:---|:---|:---|
| id        | String                                                                                                 | **参数解释**：订阅ID。 **取值范围**：不涉及。 |
| sku       | [SkuInfoResp] object | **参数解释**：订阅计费信息。                                                                                          |
| sku_count | String                                                                                                 | **参数解释**：订阅计数。 **取值范围**：不涉及。 |
   
 表7SkuInfoResp 
| 参数            | 参数类型   | 描述                                                                                                        |
|:---|:---|:---|
| code          | String | **参数解释**：计费码。 **取值范围**：不涉及。  |
| period        | String | **参数解释**：计费时期。 **取值范围**：不涉及。 |
| queries_limit | Long   | **参数解释**：查询次数。 **取值范围**：不涉及。 |
| price         | Float  | **参数解释**：价格。 **取值范围**：不涉及。   |
   
#### 请求示例
给指定的工作流购买资源包
```
POST https://{endpoint}/v2/{project_id}/workflows{workflow_id}/service/packages
{
  "pool_id" : "pool-9ad2-04f258c84780d5a52f3bc00dc15aa5e7",
  "order" : {
    "id" : "CS2210201956MBE5Z",
    "sku" : {
      "code" : "modelarts.dplan.workflow",
      "period" : "day",
      "queries_limit" : 1000,
      "price" : 10
    },
    "sku_count" : 1
  }
}
```
#### 响应示例
**状态码：201**
```
{
  "created_at" : "2022-10-31T21:49:08.9729616+08:00",
  "package_id" : "33820375-d1bf-4751-93fe-9d0ee7b6829e",
  "status" : "available",
  "pool_id" : "pool-9ad2-04f258c84780d5a52f3bc00dc15aa5e7",
  "service_id" : "f4e78e17-5af4-4b65-b677-382d0d2e1b84",
  "workflow_id" : "b0f91eb4-431e-4acd-8d70-ef081435a6d0",
  "order" : {
    "id" : "CS2210201956MBE5Z",
    "sku" : {
      "code" : "modelarts.dplan.workflow",
      "period" : "day",
      "queries_limit" : 1000,
      "price" : 4
    },
    "sku_count" : 1
  },
  "consume_limit" : 1000
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 201 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-modelarts/modelarts_03_0095.html)。
