Documentation
¶
Index ¶
- Constants
- type ApiInputProject
- type ApiOutputProject
- type BaseMetric
- type BaseProject
- type BaseProjectMetric
- type Blueprint
- type BlueprintSettings
- type CollectorLatestState
- type DbBlueprint
- type DbBlueprintLabel
- type DbPipeline
- type DbPipelineLabel
- type NewPipeline
- type NewTask
- type Notification
- type NotificationType
- type Pipeline
- type Project
- type ProjectMetric
- type Subtask
- type Task
- type TaskProgressDetail
Constants ¶
View Source
const ( BLUEPRINT_MODE_NORMAL = "NORMAL" BLUEPRINT_MODE_ADVANCED = "ADVANCED" )
View Source
const ( TASK_CREATED = "TASK_CREATED" TASK_RERUN = "TASK_RERUN" TASK_RUNNING = "TASK_RUNNING" TASK_COMPLETED = "TASK_COMPLETED" TASK_FAILED = "TASK_FAILED" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiInputProject ¶ added in v0.15.0
type ApiInputProject struct {
BaseProject
Enable *bool
Metrics *[]BaseMetric
}
type ApiOutputProject ¶ added in v0.15.0
type ApiOutputProject struct {
BaseProject
Metrics *[]BaseMetric
Blueprint *Blueprint
}
type BaseMetric ¶ added in v0.15.0
type BaseProject ¶ added in v0.15.0
type BaseProjectMetric ¶
type BaseProjectMetric struct {
ProjectName string `gorm:"primaryKey;type:varchar(255)"`
BaseMetric
}
type Blueprint ¶
type Blueprint struct {
Name string `json:"name" validate:"required"`
ProjectName string `json:"projectName" gorm:"type:varchar(255)"`
Mode string `json:"mode" gorm:"varchar(20)" validate:"required,oneof=NORMAL ADVANCED"`
Plan json.RawMessage `json:"plan"`
Enable bool `json:"enable"`
//please check this https://crontab.guru/ for detail
CronConfig string `json:"cronConfig" format:"* * * * *" example:"0 0 * * 1"`
IsManual bool `json:"isManual"`
SkipOnFail bool `json:"skipOnFail"`
Labels []string `json:"labels"`
Settings json.RawMessage `json:"settings" swaggertype:"array,string" example:"please check api: /blueprints/<PLUGIN_NAME>/blueprint-setting"`
common.Model `swaggerignore:"true"`
}
@Description CronConfig
func (*Blueprint) UnmarshalPlan ¶ added in v0.12.0
func (bp *Blueprint) UnmarshalPlan() (core.PipelinePlan, errors.Error)
UnmarshalPlan unmarshals Plan in JSON to strong-typed core.PipelinePlan
type BlueprintSettings ¶ added in v0.12.0
type BlueprintSettings struct {
Version string `json:"version" validate:"required,semver,oneof=1.0.0"`
SkipOnFail bool `json:"skipOnFail"`
Connections json.RawMessage `json:"connections" validate:"required"`
BeforePlan json.RawMessage `json:"before_plan"`
AfterPlan json.RawMessage `json:"after_plan"`
}
type CollectorLatestState ¶ added in v0.15.0
type CollectorLatestState struct {
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
RawDataParams string `gorm:"primaryKey;column:raw_data_params;type:varchar(255);index" json:"raw_data_params"`
RawDataTable string `gorm:"primaryKey;column:raw_data_table;type:varchar(255)" json:"raw_data_table"`
CreatedDateAfter *time.Time
LatestSuccessStart *time.Time
}
func (CollectorLatestState) TableName ¶ added in v0.15.0
func (CollectorLatestState) TableName() string
type DbBlueprint ¶ added in v0.14.0
type DbBlueprint struct {
Name string `json:"name" validate:"required"`
ProjectName string `json:"projectName" gorm:"type:varchar(255)"`
Mode string `json:"mode" gorm:"varchar(20)" validate:"required,oneof=NORMAL ADVANCED"`
Plan string `json:"plan" encrypt:"yes"`
Enable bool `json:"enable"`
//please check this https://crontab.guru/ for detail
CronConfig string `json:"cronConfig" format:"* * * * *" example:"0 0 * * 1"`
IsManual bool `json:"isManual"`
SkipOnFail bool `json:"skipOnFail"`
Settings string `` /* 128-byte string literal not displayed */
common.Model `swaggerignore:"true"`
Labels []DbBlueprintLabel `json:"-" gorm:"-"`
}
@Description CronConfig
func (DbBlueprint) TableName ¶ added in v0.14.0
func (DbBlueprint) TableName() string
type DbBlueprintLabel ¶ added in v0.15.0
type DbBlueprintLabel struct {
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
BlueprintId uint64 `json:"blueprint_id" gorm:"primaryKey"`
Name string `json:"name" gorm:"primaryKey;index"`
}
func (DbBlueprintLabel) TableName ¶ added in v0.15.0
func (DbBlueprintLabel) TableName() string
type DbPipeline ¶ added in v0.14.0
type DbPipeline struct {
common.Model
Name string `json:"name" gorm:"index"`
BlueprintId uint64 `json:"blueprintId"`
Plan string `json:"plan" encrypt:"yes"`
TotalTasks int `json:"totalTasks"`
FinishedTasks int `json:"finishedTasks"`
BeganAt *time.Time `json:"beganAt"`
FinishedAt *time.Time `json:"finishedAt" gorm:"index"`
Status string `json:"status"`
Message string `json:"message"`
SpentSeconds int `json:"spentSeconds"`
Stage int `json:"stage"`
Labels []DbPipelineLabel `json:"-" gorm:"-"`
}
func (DbPipeline) TableName ¶ added in v0.14.0
func (DbPipeline) TableName() string
type DbPipelineLabel ¶ added in v0.15.0
type DbPipelineLabel struct {
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
PipelineId uint64 `json:"pipeline_id" gorm:"primaryKey"`
Name string `json:"name" gorm:"primaryKey;index"`
}
func (DbPipelineLabel) TableName ¶ added in v0.15.0
func (DbPipelineLabel) TableName() string
type NewPipeline ¶
type NewPipeline struct {
Name string `json:"name"`
Plan core.PipelinePlan `json:"plan" swaggertype:"array,string" example:"please check api /pipelines/<PLUGIN_NAME>/pipeline-plan"`
Labels []string `json:"labels"`
BlueprintId uint64
}
We use a 2D array because the request body must be an array of a set of tasks to be executed concurrently, while each set is to be executed sequentially.
type NewTask ¶
type NewTask struct {
// Plugin name
*core.PipelineTask
PipelineId uint64 `json:"-"`
PipelineRow int `json:"-"`
PipelineCol int `json:"-"`
}
type Notification ¶
type Notification struct {
common.Model
Type NotificationType
Endpoint string
Nonce string
ResponseCode int
Response string
Data string
}
Notification records notifications sent by lake
func (Notification) TableName ¶
func (Notification) TableName() string
type NotificationType ¶
type NotificationType string
const (
NotificationPipelineStatusChanged NotificationType = "PipelineStatusChanged"
)
type Pipeline ¶
type Pipeline struct {
common.Model
Name string `json:"name" gorm:"index"`
BlueprintId uint64 `json:"blueprintId"`
Plan datatypes.JSON `json:"plan"`
TotalTasks int `json:"totalTasks"`
FinishedTasks int `json:"finishedTasks"`
BeganAt *time.Time `json:"beganAt"`
FinishedAt *time.Time `json:"finishedAt" gorm:"index"`
Status string `json:"status"`
Message string `json:"message"`
SpentSeconds int `json:"spentSeconds"`
Stage int `json:"stage"`
Labels []string `json:"labels"`
}
type Project ¶ added in v0.15.0
type Project struct {
BaseProject
common.NoPKModel
}
type ProjectMetric ¶
type ProjectMetric struct {
BaseProjectMetric
common.NoPKModel
}
func (ProjectMetric) TableName ¶
func (ProjectMetric) TableName() string
type Subtask ¶ added in v0.13.0
type Task ¶
type Task struct {
common.Model
Plugin string `json:"plugin" gorm:"index"`
Subtasks datatypes.JSON `json:"subtasks"`
Options datatypes.JSON `json:"options"`
Status string `json:"status"`
Message string `json:"message"`
Progress float32 `json:"progress"`
ProgressDetail *TaskProgressDetail `json:"progressDetail" gorm:"-"`
FailedSubTask string `json:"failedSubTask"`
PipelineId uint64 `json:"pipelineId" gorm:"index"`
PipelineRow int `json:"pipelineRow"`
PipelineCol int `json:"pipelineCol"`
BeganAt *time.Time `json:"beganAt"`
FinishedAt *time.Time `json:"finishedAt" gorm:"index"`
SpentSeconds int `json:"spentSeconds"`
SkipOnFail bool `json:"-"`
}
type TaskProgressDetail ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.