kis-flow/config/kis_flow_config.go
2024-04-15 17:50:02 +08:00

34 lines
1.2 KiB
Go

package config
import "github.com/aceld/kis-flow/common"
// KisFlowFunctionParam represents the Id of a Function and carries fixed configuration parameters in a Flow configuration
type KisFlowFunctionParam struct {
FuncName string `yaml:"fname"` // Required
Params FParam `yaml:"params"` // Optional, custom fixed configuration parameters for the Function in the current Flow
}
// KisFlowConfig represents the object that spans the entire stream computing context environment
type KisFlowConfig struct {
KisType string `yaml:"kistype"`
Status int `yaml:"status"`
FlowName string `yaml:"flow_name"`
Flows []KisFlowFunctionParam `yaml:"flows"`
}
// NewFlowConfig creates a Flow strategy configuration object, used to describe a KisFlow information
func NewFlowConfig(flowName string, enable common.KisOnOff) *KisFlowConfig {
config := new(KisFlowConfig)
config.FlowName = flowName
config.Flows = make([]KisFlowFunctionParam, 0)
config.Status = int(enable)
return config
}
// AppendFunctionConfig adds a Function Config to the current Flow
func (fConfig *KisFlowConfig) AppendFunctionConfig(params KisFlowFunctionParam) {
fConfig.Flows = append(fConfig.Flows, params)
}