Files
orbit/sdk/go/workflow_views.go

57 lines
3.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package orbit
import "time"
// CreateWorkflowDefinitionRequest 创建命名空间内的稳定定义身份,不发布版本或启动实例。
type CreateWorkflowDefinitionRequest struct {
Name string `json:"name"` // Name 命名空间内唯一ASCII名称,最长128字符。
Description string `json:"description"` // Description 用途说明,最多1024个Unicode字符。
}
// PublishWorkflowVersionRequest 发布不可变版本;同版本内容冲突不能通过更换幂等键覆盖。
type PublishWorkflowVersionRequest struct {
Version string `json:"version"` // Version 研发指定的ASCII版本名,最长64字符,不包含路径分隔符。
Specification WorkflowSpecification `json:"specification"` // WorkflowSpecification 完整且显式的冻结规则。
Reason string `json:"reason"` // Reason 非空发布原因,最多1024个字符,写入审计。
}
// WorkflowDefinition 仅含命名空间级元数据;读取完整版本还须授权所有引用队列。
type WorkflowDefinition struct {
ID string `json:"id"` // ID 定义稳定标识。
NamespaceID string `json:"namespace_id"` // NamespaceID 定义隔离范围。
Name string `json:"name"` // Name 创建时冻结的唯一名称。
Description string `json:"description"` // Description 创建时冻结的用途说明。
Revision uint64 `json:"revision,string"` // Revision 从1开始,每个新发布版本增加1,不能替代业务版本名。
CreatedAt time.Time `json:"created_at"` // CreatedAt UTC数据库创建时间。
UpdatedAt time.Time `json:"updated_at"` // UpdatedAt 最近新版本发布的UTC数据库时间。
}
// WorkflowAnalysis 是静态预算上界;不表示业务任务已执行或已分配配额。
type WorkflowAnalysis struct {
Steps uint32 `json:"steps"` // Steps 全定义静态步骤数。
MaxConcurrency uint32 `json:"max_concurrency"` // MaxConcurrency 并行业务任务上界。
MaxTaskAttempts uint32 `json:"max_task_attempts"` // MaxTaskAttempts 所有路径的保守尝试预算总和。
Queues []string `json:"queues"` // Queues 排序去重队列,始终为数组。
}
// WorkflowVersion 返回原始发布内容和身份,不使用可变的latest别名。
type WorkflowVersion struct {
ID string `json:"id"` // ID 不可变版本记录标识。
NamespaceID string `json:"namespace_id"` // NamespaceID 隔离范围。
DefinitionID string `json:"definition_id"` // DefinitionID 父定义标识,由应用事务校验。
Version string `json:"version"` // Version 发布版本名。
Specification WorkflowSpecification `json:"specification"` // WorkflowSpecification 已冻结规则,数字精度不经float64转换。
ContentDigest string `json:"content_digest"` // ContentDigest 带域分隔的SHA-256,64位小写十六进制。
PublishedBy string `json:"published_by"` // PublishedBy 原发布凭据标识,不包含凭据秘密。
PublishedAt time.Time `json:"published_at"` // PublishedAt 原发布时间,重复发布不更新。
Analysis WorkflowAnalysis `json:"analysis"` // WorkflowAnalysis 根据结构版本1规则计算的静态检查结果。
}
type WorkflowDefinitionResult struct {
Definition WorkflowDefinition `json:"definition"` // Definition 创建事务的原始快照。
Deduplicated bool `json:"deduplicated"` // Deduplicated 是否返回原回执。
}
type WorkflowVersionResult struct {
Version WorkflowVersion `json:"version"` // Version 原版本快照,不包含当前父定义状态。
Deduplicated bool `json:"deduplicated"` // Deduplicated 原键或同版本同内容重复请求。
}