...

Package template

import "github.com/chaos-mesh/chaos-mesh/pkg/workflow/model/template"
Overview
Index

Overview ▾

type NetworkChaosTemplate

type NetworkChaosTemplate interface {
    Template
    ChaosNamePrefix() string
    NetworkChaosSpec() chaosmeshv1alph1.NetworkChaosSpec
    Duration() (time.Duration, error)
}

func ParseNetworkChaosTemplate

func ParseNetworkChaosTemplate(raw interface{}) (NetworkChaosTemplate, error)

type ParallelTemplate

type ParallelTemplate interface {
    Template
    ParallelChildrenList() []Template
}

func ParseParallelTemplate

func ParseParallelTemplate(raw interface{}) (ParallelTemplate, error)

type PodChaosTemplate

type PodChaosTemplate interface {
    Template
    ChaosNamePrefix() string
    PodChaosSpec() chaosmeshv1alph1.PodChaosSpec
    Duration() (time.Duration, error)
}

func ParsePodChaosTemplate

func ParsePodChaosTemplate(raw interface{}) (PodChaosTemplate, error)

type SerialTemplate

type SerialTemplate interface {
    Template
    // TODO: make it return only template name
    SerialChildrenList() []string
}

func ParseSerialTemplate

func ParseSerialTemplate(raw interface{}) (SerialTemplate, error)

type SuspendTemplate

type SuspendTemplate interface {
    Template
    Duration() (time.Duration, error)
}

func ParseSuspendTemplate

func ParseSuspendTemplate(raw interface{}) (SuspendTemplate, error)

type TaskTemplate

type TaskTemplate interface {
    Template
    AllTemplates() []Template
}

func ParseTaskTemplate

func ParseTaskTemplate(raw interface{}) (TaskTemplate, error)

type Template

type Template interface {
    Name() string
    TemplateType() TemplateType
}

type 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 (TemplateType) IsCompositeType

func (it TemplateType) IsCompositeType() bool

func IsCompositeType. CompositeType means this Template could have children Templates.