type NetworkChaosTemplate interface {
Template
ChaosNamePrefix() string
NetworkChaosSpec() chaosmeshv1alph1.NetworkChaosSpec
Duration() (time.Duration, error)
}
func ParseNetworkChaosTemplate(raw interface{}) (NetworkChaosTemplate, error)
type ParallelTemplate interface {
Template
ParallelChildrenList() []Template
}
func ParseParallelTemplate(raw interface{}) (ParallelTemplate, error)
type PodChaosTemplate interface {
Template
ChaosNamePrefix() string
PodChaosSpec() chaosmeshv1alph1.PodChaosSpec
Duration() (time.Duration, error)
}
func ParsePodChaosTemplate(raw interface{}) (PodChaosTemplate, error)
type SerialTemplate interface {
Template
// TODO: make it return only template name
SerialChildrenList() []string
}
func ParseSerialTemplate(raw interface{}) (SerialTemplate, error)
type SuspendTemplate interface {
Template
Duration() (time.Duration, error)
}
func ParseSuspendTemplate(raw interface{}) (SuspendTemplate, error)
type TaskTemplate interface {
Template
AllTemplates() []Template
}
func ParseTaskTemplate(raw interface{}) (TaskTemplate, error)
type Template interface {
Name() string
TemplateType() TemplateType
}
type TemplateType string
const (
Task TemplateType = "Task"
Serial TemplateType = "Serial"
Parallel TemplateType = "Parallel"
Suspend TemplateType = "Suspend"
IOChaos TemplateType = "IOChaos"
NetworkChaos TemplateType = "NetworkChaos"
StressChaos TemplateType = "StressChaos"
PodChaos TemplateType = "PodChaos"
TimeChaos TemplateType = "TimeChaos"
KernelChaos TemplateType = "KernelChaos"
DnsChaos TemplateType = "DnsChaos"
HttpChaos TemplateType = "HttpChaos"
JvmChaos TemplateType = "JvmChaos"
)
func (it TemplateType) IsCompositeType() bool
func IsCompositeType. CompositeType means this Template could have children Templates.