Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions ucloud/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ def pathx(self):

return PathXClient(self._config, self.transport, self.middleware, self.logger)

def stepflow(self):
from ucloud.services.stepflow.client import StepFlowClient

return StepFlowClient(
self._config, self.transport, self.middleware, self.logger
)

def uaccount(self):
from ucloud.services.uaccount.client import UAccountClient

Expand Down
2 changes: 1 addition & 1 deletion ucloud/core/client/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ def _send(self, action, args, **options):
resp = handler(resp)
if int(resp.get("RetCode", -1)) != 0:
raise exc.RetCodeException(
action=req.json.get("Action"),
action=req.data.get("Action"),
code=int(resp.get("RetCode")),
message=resp.get("Message"),
)
Expand Down
1 change: 1 addition & 0 deletions ucloud/services/stepflow/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
82 changes: 82 additions & 0 deletions ucloud/services/stepflow/client.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# -*- coding: utf-8 -*-

""" Code is generated by ucloud-model, DO NOT EDIT IT. """
from ucloud.core.client import Client
from ucloud.services.stepflow.schemas import apis


class StepFlowClient(Client):
def __init__(self, config, transport=None, middleware=None, logger=None):
super(StepFlowClient, self).__init__(config, transport, middleware, logger)

def create_sf_workflow_from_template(self, req=None, **kwargs):
""" CreateSFWorkflowFromTemplate - 导入工作流定义

**Request**

- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **Namespace** (str) - (Required) 需要创建的工作流namespace
- **Workflow** (str) - (Required) 描述工作流定义的base64字符串
- **WorkflowName** (str) - (Required) 需要创建的工作流名称

**Response**

- **Message** (str) - 返回消息
- **Version** (int) - 创建的工作流版本号

"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.CreateSFWorkflowFromTemplateRequestSchema().dumps(d)
kwargs["max_retries"] = 0
resp = self.invoke("CreateSFWorkflowFromTemplate", d, **kwargs)
return apis.CreateSFWorkflowFromTemplateResponseSchema().loads(resp)

def get_sf_workflow_template(self, req=None, **kwargs):
""" GetSFWorkflowTemplate - 导出工作流定义

**Request**

- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list.html>`_
- **Region** (str) - (Config) 地域。 参见 `地域和可用区列表 <https://docs.ucloud.cn/api/summary/regionlist.html>`_
- **WorkflowId** (str) - (Required) 被导出工作流的Id
- **WorkflowVersion** (int) - 被导出工作流的版本号。取值范围:WorkflowVersion >= 1;默认会获取发布版本对应的workflow;超过最大版本会返回错误

**Response**

- **Message** (str) - 返回消息
- **Version** (int) - 导出工作流的版本号
- **Workflow** (dict) - 见 **WorkflowTemplate** 模型定义
- **WorkflowId** (str) - 导出工作流的Id

**Response Model**

**Param**

- **Name** (str) - 参数名称
- **Type** (str) - 参数类型
- **Value** (str) - 参数值

**ActivityTemplate**

- **Input** (dict) - Activity的输入
- **Name** (str) - Activity的名字
- **Next** (str) - 下一个Activity的名字
- **Output** (list) - Activity的输出,详见Param
- **RetryTimes** (str) - Activity的重试次数
- **Timeout** (str) - Activity的超时时间
- **Type** (str) - Activity的类型

**WorkflowTemplate**

- **Activites** (list) - 见 **ActivityTemplate** 模型定义
- **Input** (list) - 见 **Param** 模型定义
- **Output** (list) - 见 **Param** 模型定义

"""
d = {"ProjectId": self.config.project_id, "Region": self.config.region}
req and d.update(req)
d = apis.GetSFWorkflowTemplateRequestSchema().dumps(d)
resp = self.invoke("GetSFWorkflowTemplate", d, **kwargs)
return apis.GetSFWorkflowTemplateResponseSchema().loads(resp)
1 change: 1 addition & 0 deletions ucloud/services/stepflow/schemas/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# -*- coding: utf-8 -*-
67 changes: 67 additions & 0 deletions ucloud/services/stepflow/schemas/apis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# -*- coding: utf-8 -*-

""" Code is generated by ucloud-model, DO NOT EDIT IT. """
from ucloud.core.typesystem import schema, fields
from ucloud.services.stepflow.schemas import models

""" StepFlow API Schema
"""
"""
API: CreateSFWorkflowFromTemplate

导入工作流定义
"""


class CreateSFWorkflowFromTemplateRequestSchema(schema.RequestSchema):
""" CreateSFWorkflowFromTemplate - 导入工作流定义
"""

fields = {
"Namespace": fields.Str(required=True, dump_to="Namespace"),
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
"Region": fields.Str(required=True, dump_to="Region"),
"Workflow": fields.Base64(required=True, dump_to="Workflow"),
"WorkflowName": fields.Str(required=True, dump_to="WorkflowName"),
}


class CreateSFWorkflowFromTemplateResponseSchema(schema.ResponseSchema):
""" CreateSFWorkflowFromTemplate - 导入工作流定义
"""

fields = {
"Message": fields.Str(required=True, load_from="Message"),
"Version": fields.Int(required=True, load_from="Version"),
}


"""
API: GetSFWorkflowTemplate

导出工作流定义
"""


class GetSFWorkflowTemplateRequestSchema(schema.RequestSchema):
""" GetSFWorkflowTemplate - 导出工作流定义
"""

fields = {
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
"Region": fields.Str(required=True, dump_to="Region"),
"WorkflowId": fields.Str(required=True, dump_to="WorkflowId"),
"WorkflowVersion": fields.Int(required=False, dump_to="WorkflowVersion"),
}


class GetSFWorkflowTemplateResponseSchema(schema.ResponseSchema):
""" GetSFWorkflowTemplate - 导出工作流定义
"""

fields = {
"Message": fields.Str(required=False, load_from="Message"),
"Version": fields.Int(required=True, load_from="Version"),
"Workflow": models.WorkflowTemplateSchema(),
"WorkflowId": fields.Str(required=True, load_from="WorkflowId"),
}
41 changes: 41 additions & 0 deletions ucloud/services/stepflow/schemas/models.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-

""" Code is generated by ucloud-model, DO NOT EDIT IT. """
from ucloud.core.typesystem import schema, fields


class ParamSchema(schema.ResponseSchema):
""" Param - 工作流参数
"""

fields = {
"Name": fields.Str(required=False, load_from="Name"),
"Type": fields.Str(required=False, load_from="Type"),
"Value": fields.Str(required=False, load_from="Value"),
}


class ActivityTemplateSchema(schema.ResponseSchema):
""" ActivityTemplate - 工作流的Activity定义
"""

fields = {
"Input": fields.Str(),
"Name": fields.Str(required=False, load_from="Name"),
"Next": fields.Str(required=False, load_from="Next"),
"Output": fields.List(fields.Str()),
"RetryTimes": fields.Str(required=False, load_from="RetryTimes"),
"Timeout": fields.Str(required=False, load_from="Timeout"),
"Type": fields.Str(required=False, load_from="Type"),
}


class WorkflowTemplateSchema(schema.ResponseSchema):
""" WorkflowTemplate - Workflow对象定义
"""

fields = {
"Activites": fields.List(ActivityTemplateSchema()),
"Input": fields.List(ParamSchema()),
"Output": fields.List(ParamSchema()),
}
2 changes: 1 addition & 1 deletion ucloud/version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-

version = "0.2.0"
version = "0.3.0"