...

Package v1alpha1

import "github.com/chaos-mesh/chaos-mesh/api/v1alpha1"
Overview
Index

Overview ▾

Package v1alpha1 contains API Schema definitions for the chaosmesh v1alpha1 API group +kubebuilder:object:generate=true +groupName=chaos-mesh.org

Index ▾

Constants
Variables
func AllKinds() map[string]*ChaosKind
func AllKindsIncludeScheduleAndWorkflow() map[string]*ChaosKind
func AllScheduleItemKinds() map[string]*ChaosKind
func CheckPercent(p string, allowZero bool) bool
func CheckPid(pid int) error
func FetchChaosByTemplateType(templateType TemplateType) (runtime.Object, error)
func GenerateTemplateName(name string) string
func GetTemplateDescription(cm v1.ConfigMap) string
func GetTemplateName(cm v1.ConfigMap) string
func IsChaosTemplateType(target TemplateType) bool
func IsStatusCheckTemplate(cm v1.ConfigMap) bool
func ParseUnit(s string) (uint64, error)
type AWSChaos
    func (in *AWSChaos) DeepCopy() *AWSChaos
    func (in *AWSChaos) DeepCopyInto(out *AWSChaos)
    func (in *AWSChaos) DeepCopyObject() runtime.Object
    func (in *AWSChaos) Default()
    func (in *AWSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *AWSChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *AWSChaos) GetRemoteCluster() string
    func (obj *AWSChaos) GetSelectorSpecs() map[string]interface{}
    func (in *AWSChaos) GetSpecAndMetaString() (string, error)
    func (in *AWSChaos) GetStatus() *ChaosStatus
    func (in *AWSChaos) IsDeleted() bool
    func (in *AWSChaos) IsOneShot() bool
    func (in *AWSChaos) IsPaused() bool
    func (in *AWSChaos) Validate() ([]string, error)
    func (in *AWSChaos) ValidateCreate() (admission.Warnings, error)
    func (in *AWSChaos) ValidateDelete() (admission.Warnings, error)
    func (in *AWSChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type AWSChaosAction
    func (in *AWSChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList
type AWSChaosList
    func (in *AWSChaosList) DeepCopy() *AWSChaosList
    func (in *AWSChaosList) DeepCopyInto(out *AWSChaosList)
    func (in *AWSChaosList) DeepCopyList() GenericChaosList
    func (in *AWSChaosList) DeepCopyObject() runtime.Object
    func (in *AWSChaosList) GetItems() []GenericChaos
    func (in *AWSChaosList) ListChaos() []GenericChaos
type AWSChaosSpec
    func (in *AWSChaosSpec) DeepCopy() *AWSChaosSpec
    func (in *AWSChaosSpec) DeepCopyInto(out *AWSChaosSpec)
    func (in *AWSChaosSpec) GetDuration() (*time.Duration, error)
type AWSChaosStatus
    func (in *AWSChaosStatus) DeepCopy() *AWSChaosStatus
    func (in *AWSChaosStatus) DeepCopyInto(out *AWSChaosStatus)
type AWSDeviceName
    func (in *AWSDeviceName) Validate(root interface{}, path *field.Path) field.ErrorList
type AWSSelector
    func (in *AWSSelector) DeepCopy() *AWSSelector
    func (in *AWSSelector) DeepCopyInto(out *AWSSelector)
    func (selector *AWSSelector) Id() string
type AttrOverrideSpec
    func (in *AttrOverrideSpec) DeepCopy() *AttrOverrideSpec
    func (in *AttrOverrideSpec) DeepCopyInto(out *AttrOverrideSpec)
type AzureChaos
    func (in *AzureChaos) DeepCopy() *AzureChaos
    func (in *AzureChaos) DeepCopyInto(out *AzureChaos)
    func (in *AzureChaos) DeepCopyObject() runtime.Object
    func (in *AzureChaos) Default()
    func (in *AzureChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *AzureChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *AzureChaos) GetRemoteCluster() string
    func (obj *AzureChaos) GetSelectorSpecs() map[string]interface{}
    func (in *AzureChaos) GetSpecAndMetaString() (string, error)
    func (in *AzureChaos) GetStatus() *ChaosStatus
    func (in *AzureChaos) IsDeleted() bool
    func (in *AzureChaos) IsOneShot() bool
    func (in *AzureChaos) IsPaused() bool
    func (in *AzureChaos) Validate() ([]string, error)
    func (in *AzureChaos) ValidateCreate() (admission.Warnings, error)
    func (in *AzureChaos) ValidateDelete() (admission.Warnings, error)
    func (in *AzureChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type AzureChaosAction
    func (in *AzureChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList
type AzureChaosList
    func (in *AzureChaosList) DeepCopy() *AzureChaosList
    func (in *AzureChaosList) DeepCopyInto(out *AzureChaosList)
    func (in *AzureChaosList) DeepCopyList() GenericChaosList
    func (in *AzureChaosList) DeepCopyObject() runtime.Object
    func (in *AzureChaosList) GetItems() []GenericChaos
    func (in *AzureChaosList) ListChaos() []GenericChaos
type AzureChaosSpec
    func (in *AzureChaosSpec) DeepCopy() *AzureChaosSpec
    func (in *AzureChaosSpec) DeepCopyInto(out *AzureChaosSpec)
    func (in *AzureChaosSpec) GetDuration() (*time.Duration, error)
type AzureChaosStatus
    func (in *AzureChaosStatus) DeepCopy() *AzureChaosStatus
    func (in *AzureChaosStatus) DeepCopyInto(out *AzureChaosStatus)
type AzureSelector
    func (in *AzureSelector) DeepCopy() *AzureSelector
    func (in *AzureSelector) DeepCopyInto(out *AzureSelector)
    func (selector *AzureSelector) Id() string
type BandwidthSpec
    func (in *BandwidthSpec) DeepCopy() *BandwidthSpec
    func (in *BandwidthSpec) DeepCopyInto(out *BandwidthSpec)
type BlockChaos
    func (in *BlockChaos) DeepCopy() *BlockChaos
    func (in *BlockChaos) DeepCopyInto(out *BlockChaos)
    func (in *BlockChaos) DeepCopyObject() runtime.Object
    func (in *BlockChaos) Default()
    func (in *BlockChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *BlockChaos) GetCustomStatus() interface{}
    func (in *BlockChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *BlockChaos) GetRemoteCluster() string
    func (obj *BlockChaos) GetSelectorSpecs() map[string]interface{}
    func (in *BlockChaos) GetSpecAndMetaString() (string, error)
    func (in *BlockChaos) GetStatus() *ChaosStatus
    func (in *BlockChaos) IsDeleted() bool
    func (in *BlockChaos) IsOneShot() bool
    func (in *BlockChaos) IsPaused() bool
    func (in *BlockChaos) Validate() ([]string, error)
    func (in *BlockChaos) ValidateCreate() (admission.Warnings, error)
    func (in *BlockChaos) ValidateDelete() (admission.Warnings, error)
    func (in *BlockChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type BlockChaosAction
type BlockChaosList
    func (in *BlockChaosList) DeepCopy() *BlockChaosList
    func (in *BlockChaosList) DeepCopyInto(out *BlockChaosList)
    func (in *BlockChaosList) DeepCopyList() GenericChaosList
    func (in *BlockChaosList) DeepCopyObject() runtime.Object
    func (in *BlockChaosList) GetItems() []GenericChaos
    func (in *BlockChaosList) ListChaos() []GenericChaos
type BlockChaosSpec
    func (in *BlockChaosSpec) DeepCopy() *BlockChaosSpec
    func (in *BlockChaosSpec) DeepCopyInto(out *BlockChaosSpec)
    func (in *BlockChaosSpec) GetDuration() (*time.Duration, error)
    func (in *BlockChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type BlockChaosStatus
    func (in *BlockChaosStatus) DeepCopy() *BlockChaosStatus
    func (in *BlockChaosStatus) DeepCopyInto(out *BlockChaosStatus)
type BlockDelaySpec
    func (in *BlockDelaySpec) DeepCopy() *BlockDelaySpec
    func (in *BlockDelaySpec) DeepCopyInto(out *BlockDelaySpec)
type Bytes
    func (in *Bytes) Validate(root interface{}, path *field.Path) field.ErrorList
type CPUStressor
    func (in *CPUStressor) DeepCopy() *CPUStressor
    func (in *CPUStressor) DeepCopyInto(out *CPUStressor)
type ChainDirection
type ChaosCondition
    func (in *ChaosCondition) DeepCopy() *ChaosCondition
    func (in *ChaosCondition) DeepCopyInto(out *ChaosCondition)
type ChaosConditionType
type ChaosKind
    func (it *ChaosKind) SpawnList() GenericChaosList
    func (it *ChaosKind) SpawnObject() client.Object
type ChaosOnlyScheduleSpec
    func (in *ChaosOnlyScheduleSpec) DeepCopy() *ChaosOnlyScheduleSpec
    func (in *ChaosOnlyScheduleSpec) DeepCopyInto(out *ChaosOnlyScheduleSpec)
type ChaosStatus
    func (in *ChaosStatus) DeepCopy() *ChaosStatus
    func (in *ChaosStatus) DeepCopyInto(out *ChaosStatus)
type CidrAndPort
    func (in *CidrAndPort) DeepCopy() *CidrAndPort
    func (in *CidrAndPort) DeepCopyInto(out *CidrAndPort)
type ClockIds
    func (in ClockIds) DeepCopy() ClockIds
    func (in ClockIds) DeepCopyInto(out *ClockIds)
    func (in *ClockIds) Default(root interface{}, field *reflect.StructField)
type ClockSpec
    func (in *ClockSpec) DeepCopy() *ClockSpec
    func (in *ClockSpec) DeepCopyInto(out *ClockSpec)
type ConcurrencyPolicy
    func (in *ConcurrencyPolicy) Default()
    func (c ConcurrencyPolicy) IsAllow() bool
    func (c ConcurrencyPolicy) IsForbid() bool
type ConditionalBranch
    func (in *ConditionalBranch) DeepCopy() *ConditionalBranch
    func (in *ConditionalBranch) DeepCopyInto(out *ConditionalBranch)
type ConditionalBranchStatus
    func (in *ConditionalBranchStatus) DeepCopy() *ConditionalBranchStatus
    func (in *ConditionalBranchStatus) DeepCopyInto(out *ConditionalBranchStatus)
type ConditionalBranchesStatus
    func (in *ConditionalBranchesStatus) DeepCopy() *ConditionalBranchesStatus
    func (in *ConditionalBranchesStatus) DeepCopyInto(out *ConditionalBranchesStatus)
type ContainerNodeVolumePathSelector
    func (in *ContainerNodeVolumePathSelector) DeepCopy() *ContainerNodeVolumePathSelector
    func (in *ContainerNodeVolumePathSelector) DeepCopyInto(out *ContainerNodeVolumePathSelector)
type ContainerSelector
    func (in *ContainerSelector) DeepCopy() *ContainerSelector
    func (in *ContainerSelector) DeepCopyInto(out *ContainerSelector)
type ContainsDuration
type CorruptSpec
    func (in *CorruptSpec) DeepCopy() *CorruptSpec
    func (in *CorruptSpec) DeepCopyInto(out *CorruptSpec)
type DNSChaos
    func (in *DNSChaos) DeepCopy() *DNSChaos
    func (in *DNSChaos) DeepCopyInto(out *DNSChaos)
    func (in *DNSChaos) DeepCopyObject() runtime.Object
    func (in *DNSChaos) Default()
    func (in *DNSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *DNSChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *DNSChaos) GetRemoteCluster() string
    func (obj *DNSChaos) GetSelectorSpecs() map[string]interface{}
    func (in *DNSChaos) GetSpecAndMetaString() (string, error)
    func (in *DNSChaos) GetStatus() *ChaosStatus
    func (in *DNSChaos) IsDeleted() bool
    func (in *DNSChaos) IsOneShot() bool
    func (in *DNSChaos) IsPaused() bool
    func (in *DNSChaos) Validate() ([]string, error)
    func (in *DNSChaos) ValidateCreate() (admission.Warnings, error)
    func (in *DNSChaos) ValidateDelete() (admission.Warnings, error)
    func (in *DNSChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type DNSChaosAction
type DNSChaosList
    func (in *DNSChaosList) DeepCopy() *DNSChaosList
    func (in *DNSChaosList) DeepCopyInto(out *DNSChaosList)
    func (in *DNSChaosList) DeepCopyList() GenericChaosList
    func (in *DNSChaosList) DeepCopyObject() runtime.Object
    func (in *DNSChaosList) GetItems() []GenericChaos
    func (in *DNSChaosList) ListChaos() []GenericChaos
type DNSChaosSpec
    func (in *DNSChaosSpec) DeepCopy() *DNSChaosSpec
    func (in *DNSChaosSpec) DeepCopyInto(out *DNSChaosSpec)
    func (in *DNSChaosSpec) GetDuration() (*time.Duration, error)
type DNSChaosStatus
    func (in *DNSChaosStatus) DeepCopy() *DNSChaosStatus
    func (in *DNSChaosStatus) DeepCopyInto(out *DNSChaosStatus)
type Delay
    func (in *Delay) Validate(root interface{}, path *field.Path) field.ErrorList
type DelaySpec
    func (in *DelaySpec) DeepCopy() *DelaySpec
    func (in *DelaySpec) DeepCopyInto(out *DelaySpec)
type DesiredPhase
type Direction
    func (in *Direction) Default(root interface{}, field *reflect.StructField)
type DiskFileSpec
    func (in *DiskFileSpec) DeepCopy() *DiskFileSpec
    func (in *DiskFileSpec) DeepCopyInto(out *DiskFileSpec)
type DiskFillSpec
    func (in *DiskFillSpec) DeepCopy() *DiskFillSpec
    func (in *DiskFillSpec) DeepCopyInto(out *DiskFillSpec)
type DiskName
    func (in *DiskName) Validate(root interface{}, path *field.Path) field.ErrorList
type DiskPayloadSpec
    func (in *DiskPayloadSpec) DeepCopy() *DiskPayloadSpec
    func (in *DiskPayloadSpec) DeepCopyInto(out *DiskPayloadSpec)
type DuplicateSpec
    func (in *DuplicateSpec) DeepCopy() *DuplicateSpec
    func (in *DuplicateSpec) DeepCopyInto(out *DuplicateSpec)
type Duration
    func (d *Duration) Default(root interface{}, field *reflect.StructField)
    func (d *Duration) Validate(root interface{}, path *field.Path) field.ErrorList
type EbsVolume
    func (in *EbsVolume) Validate(root interface{}, path *field.Path) field.ErrorList
type EmbedChaos
    func (in *EmbedChaos) DeepCopy() *EmbedChaos
    func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos)
    func (it *EmbedChaos) RestoreChaosSpec(root interface{}) error
    func (it *EmbedChaos) SpawnNewList(templateType TemplateType) (GenericChaosList, error)
    func (it *EmbedChaos) SpawnNewObject(templateType TemplateType) (GenericChaos, error)
    func (in EmbedChaos) Validate(path *field.Path, chaosType string) field.ErrorList
type EmbedStatusCheck
    func (in *EmbedStatusCheck) DeepCopy() *EmbedStatusCheck
    func (in *EmbedStatusCheck) DeepCopyInto(out *EmbedStatusCheck)
type ExpInfo
    func (in *ExpInfo) DeepCopy() *ExpInfo
    func (in *ExpInfo) DeepCopyInto(out *ExpInfo)
type ExperimentStatus
    func (in *ExperimentStatus) DeepCopy() *ExperimentStatus
    func (in *ExperimentStatus) DeepCopyInto(out *ExperimentStatus)
type FailKernRequest
    func (in *FailKernRequest) DeepCopy() *FailKernRequest
    func (in *FailKernRequest) DeepCopyInto(out *FailKernRequest)
type FileAppendSpec
    func (in *FileAppendSpec) DeepCopy() *FileAppendSpec
    func (in *FileAppendSpec) DeepCopyInto(out *FileAppendSpec)
type FileCreateSpec
    func (in *FileCreateSpec) DeepCopy() *FileCreateSpec
    func (in *FileCreateSpec) DeepCopyInto(out *FileCreateSpec)
type FileDeleteSpec
    func (in *FileDeleteSpec) DeepCopy() *FileDeleteSpec
    func (in *FileDeleteSpec) DeepCopyInto(out *FileDeleteSpec)
type FileModifyPrivilegeSpec
    func (in *FileModifyPrivilegeSpec) DeepCopy() *FileModifyPrivilegeSpec
    func (in *FileModifyPrivilegeSpec) DeepCopyInto(out *FileModifyPrivilegeSpec)
type FileRenameSpec
    func (in *FileRenameSpec) DeepCopy() *FileRenameSpec
    func (in *FileRenameSpec) DeepCopyInto(out *FileRenameSpec)
type FileReplaceSpec
    func (in *FileReplaceSpec) DeepCopy() *FileReplaceSpec
    func (in *FileReplaceSpec) DeepCopyInto(out *FileReplaceSpec)
type FileType
type FillingType
type Filter
    func (in *Filter) DeepCopy() *Filter
    func (in *Filter) DeepCopyInto(out *Filter)
type FloatStr
    func (f *FloatStr) Default(root interface{}, field *reflect.StructField)
    func (f *FloatStr) Validate(root interface{}, path *field.Path) field.ErrorList
type Frame
    func (in *Frame) DeepCopy() *Frame
    func (in *Frame) DeepCopyInto(out *Frame)
type GCPChaos
    func (in *GCPChaos) DeepCopy() *GCPChaos
    func (in *GCPChaos) DeepCopyInto(out *GCPChaos)
    func (in *GCPChaos) DeepCopyObject() runtime.Object
    func (in *GCPChaos) Default()
    func (in *GCPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *GCPChaos) GetCustomStatus() interface{}
    func (in *GCPChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *GCPChaos) GetRemoteCluster() string
    func (obj *GCPChaos) GetSelectorSpecs() map[string]interface{}
    func (in *GCPChaos) GetSpecAndMetaString() (string, error)
    func (in *GCPChaos) GetStatus() *ChaosStatus
    func (in *GCPChaos) IsDeleted() bool
    func (in *GCPChaos) IsOneShot() bool
    func (in *GCPChaos) IsPaused() bool
    func (in *GCPChaos) Validate() ([]string, error)
    func (in *GCPChaos) ValidateCreate() (admission.Warnings, error)
    func (in *GCPChaos) ValidateDelete() (admission.Warnings, error)
    func (in *GCPChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type GCPChaosAction
    func (in GCPChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList
type GCPChaosList
    func (in *GCPChaosList) DeepCopy() *GCPChaosList
    func (in *GCPChaosList) DeepCopyInto(out *GCPChaosList)
    func (in *GCPChaosList) DeepCopyList() GenericChaosList
    func (in *GCPChaosList) DeepCopyObject() runtime.Object
    func (in *GCPChaosList) GetItems() []GenericChaos
    func (in *GCPChaosList) ListChaos() []GenericChaos
type GCPChaosSpec
    func (in *GCPChaosSpec) DeepCopy() *GCPChaosSpec
    func (in *GCPChaosSpec) DeepCopyInto(out *GCPChaosSpec)
    func (in *GCPChaosSpec) GetDuration() (*time.Duration, error)
type GCPChaosStatus
    func (in *GCPChaosStatus) DeepCopy() *GCPChaosStatus
    func (in *GCPChaosStatus) DeepCopyInto(out *GCPChaosStatus)
type GCPDeviceNames
    func (in GCPDeviceNames) DeepCopy() GCPDeviceNames
    func (in GCPDeviceNames) DeepCopyInto(out *GCPDeviceNames)
    func (in *GCPDeviceNames) Validate(root interface{}, path *field.Path) field.ErrorList
type GCPSelector
    func (in *GCPSelector) DeepCopy() *GCPSelector
    func (in *GCPSelector) DeepCopyInto(out *GCPSelector)
    func (selector *GCPSelector) Id() string
type GenericChaos
type GenericChaosList
type GenericSelectorSpec
    func (in *GenericSelectorSpec) DeepCopy() *GenericSelectorSpec
    func (in *GenericSelectorSpec) DeepCopyInto(out *GenericSelectorSpec)
type HTTPAbortSpec
    func (in *HTTPAbortSpec) DeepCopy() *HTTPAbortSpec
    func (in *HTTPAbortSpec) DeepCopyInto(out *HTTPAbortSpec)
type HTTPChaos
    func (in *HTTPChaos) DeepCopy() *HTTPChaos
    func (in *HTTPChaos) DeepCopyInto(out *HTTPChaos)
    func (in *HTTPChaos) DeepCopyObject() runtime.Object
    func (in *HTTPChaos) Default()
    func (in *HTTPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *HTTPChaos) GetCustomStatus() interface{}
    func (in *HTTPChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *HTTPChaos) GetRemoteCluster() string
    func (obj *HTTPChaos) GetSelectorSpecs() map[string]interface{}
    func (in *HTTPChaos) GetSpecAndMetaString() (string, error)
    func (in *HTTPChaos) GetStatus() *ChaosStatus
    func (in *HTTPChaos) IsDeleted() bool
    func (in *HTTPChaos) IsOneShot() bool
    func (in *HTTPChaos) IsPaused() bool
    func (in *HTTPChaos) Validate() ([]string, error)
    func (in *HTTPChaos) ValidateCreate() (admission.Warnings, error)
    func (in *HTTPChaos) ValidateDelete() (admission.Warnings, error)
    func (in *HTTPChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type HTTPChaosList
    func (in *HTTPChaosList) DeepCopy() *HTTPChaosList
    func (in *HTTPChaosList) DeepCopyInto(out *HTTPChaosList)
    func (in *HTTPChaosList) DeepCopyList() GenericChaosList
    func (in *HTTPChaosList) DeepCopyObject() runtime.Object
    func (in *HTTPChaosList) GetItems() []GenericChaos
    func (in *HTTPChaosList) ListChaos() []GenericChaos
type HTTPChaosSpec
    func (in *HTTPChaosSpec) DeepCopy() *HTTPChaosSpec
    func (in *HTTPChaosSpec) DeepCopyInto(out *HTTPChaosSpec)
    func (in *HTTPChaosSpec) GetDuration() (*time.Duration, error)
type HTTPChaosStatus
    func (in *HTTPChaosStatus) DeepCopy() *HTTPChaosStatus
    func (in *HTTPChaosStatus) DeepCopyInto(out *HTTPChaosStatus)
type HTTPCommonSpec
    func (in *HTTPCommonSpec) DeepCopy() *HTTPCommonSpec
    func (in *HTTPCommonSpec) DeepCopyInto(out *HTTPCommonSpec)
type HTTPConfigSpec
    func (in *HTTPConfigSpec) DeepCopy() *HTTPConfigSpec
    func (in *HTTPConfigSpec) DeepCopyInto(out *HTTPConfigSpec)
type HTTPCriteria
    func (in *HTTPCriteria) DeepCopy() *HTTPCriteria
    func (in *HTTPCriteria) DeepCopyInto(out *HTTPCriteria)
type HTTPDelaySpec
    func (in *HTTPDelaySpec) DeepCopy() *HTTPDelaySpec
    func (in *HTTPDelaySpec) DeepCopyInto(out *HTTPDelaySpec)
type HTTPMethod
    func (in *HTTPMethod) Validate(root interface{}, path *field.Path) field.ErrorList
type HTTPRequestMethod
type HTTPRequestSpec
    func (in *HTTPRequestSpec) DeepCopy() *HTTPRequestSpec
    func (in *HTTPRequestSpec) DeepCopyInto(out *HTTPRequestSpec)
type HTTPStatusCheck
    func (in *HTTPStatusCheck) DeepCopy() *HTTPStatusCheck
    func (in *HTTPStatusCheck) DeepCopyInto(out *HTTPStatusCheck)
    func (in *HTTPStatusCheck) Validate(root interface{}, path *field.Path) field.ErrorList
type IOChaos
    func (in *IOChaos) DeepCopy() *IOChaos
    func (in *IOChaos) DeepCopyInto(out *IOChaos)
    func (in *IOChaos) DeepCopyObject() runtime.Object
    func (in *IOChaos) Default()
    func (in *IOChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *IOChaos) GetCustomStatus() interface{}
    func (in *IOChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *IOChaos) GetRemoteCluster() string
    func (obj *IOChaos) GetSelectorSpecs() map[string]interface{}
    func (in *IOChaos) GetSpecAndMetaString() (string, error)
    func (in *IOChaos) GetStatus() *ChaosStatus
    func (in *IOChaos) IsDeleted() bool
    func (in *IOChaos) IsOneShot() bool
    func (in *IOChaos) IsPaused() bool
    func (in *IOChaos) Validate() ([]string, error)
    func (in *IOChaos) ValidateCreate() (admission.Warnings, error)
    func (in *IOChaos) ValidateDelete() (admission.Warnings, error)
    func (in *IOChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type IOChaosAction
    func (in *IOChaosAction) DeepCopy() *IOChaosAction
    func (in *IOChaosAction) DeepCopyInto(out *IOChaosAction)
type IOChaosList
    func (in *IOChaosList) DeepCopy() *IOChaosList
    func (in *IOChaosList) DeepCopyInto(out *IOChaosList)
    func (in *IOChaosList) DeepCopyList() GenericChaosList
    func (in *IOChaosList) DeepCopyObject() runtime.Object
    func (in *IOChaosList) GetItems() []GenericChaos
    func (in *IOChaosList) ListChaos() []GenericChaos
type IOChaosSpec
    func (in *IOChaosSpec) DeepCopy() *IOChaosSpec
    func (in *IOChaosSpec) DeepCopyInto(out *IOChaosSpec)
    func (in *IOChaosSpec) GetDuration() (*time.Duration, error)
type IOChaosStatus
    func (in *IOChaosStatus) DeepCopy() *IOChaosStatus
    func (in *IOChaosStatus) DeepCopyInto(out *IOChaosStatus)
type IOChaosType
type IOErrno
    func (in *IOErrno) Validate(root interface{}, path *field.Path) field.ErrorList
type IPSetType
type InnerObject
type InnerObjectWithCustomStatus
type InnerObjectWithSelector
type IoFault
    func (in *IoFault) DeepCopy() *IoFault
    func (in *IoFault) DeepCopyInto(out *IoFault)
type IoMethod
type JVMChaos
    func (in *JVMChaos) DeepCopy() *JVMChaos
    func (in *JVMChaos) DeepCopyInto(out *JVMChaos)
    func (in *JVMChaos) DeepCopyObject() runtime.Object
    func (in *JVMChaos) Default()
    func (in *JVMChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *JVMChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *JVMChaos) GetRemoteCluster() string
    func (obj *JVMChaos) GetSelectorSpecs() map[string]interface{}
    func (in *JVMChaos) GetSpecAndMetaString() (string, error)
    func (in *JVMChaos) GetStatus() *ChaosStatus
    func (in *JVMChaos) IsDeleted() bool
    func (in *JVMChaos) IsOneShot() bool
    func (in *JVMChaos) IsPaused() bool
    func (in *JVMChaos) Validate() ([]string, error)
    func (in *JVMChaos) ValidateCreate() (admission.Warnings, error)
    func (in *JVMChaos) ValidateDelete() (admission.Warnings, error)
    func (in *JVMChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type JVMChaosAction
type JVMChaosList
    func (in *JVMChaosList) DeepCopy() *JVMChaosList
    func (in *JVMChaosList) DeepCopyInto(out *JVMChaosList)
    func (in *JVMChaosList) DeepCopyList() GenericChaosList
    func (in *JVMChaosList) DeepCopyObject() runtime.Object
    func (in *JVMChaosList) GetItems() []GenericChaos
    func (in *JVMChaosList) ListChaos() []GenericChaos
type JVMChaosSpec
    func (in *JVMChaosSpec) DeepCopy() *JVMChaosSpec
    func (in *JVMChaosSpec) DeepCopyInto(out *JVMChaosSpec)
    func (in *JVMChaosSpec) Default(root interface{}, field *reflect.StructField)
    func (in *JVMChaosSpec) GetDuration() (*time.Duration, error)
    func (in *JVMChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type JVMChaosStatus
    func (in *JVMChaosStatus) DeepCopy() *JVMChaosStatus
    func (in *JVMChaosStatus) DeepCopyInto(out *JVMChaosStatus)
type JVMClassMethodSpec
    func (in *JVMClassMethodSpec) DeepCopy() *JVMClassMethodSpec
    func (in *JVMClassMethodSpec) DeepCopyInto(out *JVMClassMethodSpec)
type JVMCommonSpec
    func (in *JVMCommonSpec) DeepCopy() *JVMCommonSpec
    func (in *JVMCommonSpec) DeepCopyInto(out *JVMCommonSpec)
type JVMExceptionSpec
    func (in *JVMExceptionSpec) DeepCopy() *JVMExceptionSpec
    func (in *JVMExceptionSpec) DeepCopyInto(out *JVMExceptionSpec)
type JVMGCSpec
    func (in *JVMGCSpec) DeepCopy() *JVMGCSpec
    func (in *JVMGCSpec) DeepCopyInto(out *JVMGCSpec)
type JVMLatencySpec
    func (in *JVMLatencySpec) DeepCopy() *JVMLatencySpec
    func (in *JVMLatencySpec) DeepCopyInto(out *JVMLatencySpec)
type JVMMySQLSpec
    func (in *JVMMySQLSpec) DeepCopy() *JVMMySQLSpec
    func (in *JVMMySQLSpec) DeepCopyInto(out *JVMMySQLSpec)
type JVMParameter
    func (in *JVMParameter) DeepCopy() *JVMParameter
    func (in *JVMParameter) DeepCopyInto(out *JVMParameter)
type JVMReturnSpec
    func (in *JVMReturnSpec) DeepCopy() *JVMReturnSpec
    func (in *JVMReturnSpec) DeepCopyInto(out *JVMReturnSpec)
type JVMRuleDataSpec
    func (in *JVMRuleDataSpec) DeepCopy() *JVMRuleDataSpec
    func (in *JVMRuleDataSpec) DeepCopyInto(out *JVMRuleDataSpec)
type JVMStressCfgSpec
    func (in *JVMStressCfgSpec) DeepCopy() *JVMStressCfgSpec
    func (in *JVMStressCfgSpec) DeepCopyInto(out *JVMStressCfgSpec)
type JVMStressSpec
    func (in *JVMStressSpec) DeepCopy() *JVMStressSpec
    func (in *JVMStressSpec) DeepCopyInto(out *JVMStressSpec)
type KafkaCommonSpec
    func (in *KafkaCommonSpec) DeepCopy() *KafkaCommonSpec
    func (in *KafkaCommonSpec) DeepCopyInto(out *KafkaCommonSpec)
type KafkaFillSpec
    func (in *KafkaFillSpec) DeepCopy() *KafkaFillSpec
    func (in *KafkaFillSpec) DeepCopyInto(out *KafkaFillSpec)
type KafkaFloodSpec
    func (in *KafkaFloodSpec) DeepCopy() *KafkaFloodSpec
    func (in *KafkaFloodSpec) DeepCopyInto(out *KafkaFloodSpec)
type KafkaIOSpec
    func (in *KafkaIOSpec) DeepCopy() *KafkaIOSpec
    func (in *KafkaIOSpec) DeepCopyInto(out *KafkaIOSpec)
type KernelChaos
    func (in *KernelChaos) DeepCopy() *KernelChaos
    func (in *KernelChaos) DeepCopyInto(out *KernelChaos)
    func (in *KernelChaos) DeepCopyObject() runtime.Object
    func (in *KernelChaos) Default()
    func (in *KernelChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *KernelChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *KernelChaos) GetRemoteCluster() string
    func (obj *KernelChaos) GetSelectorSpecs() map[string]interface{}
    func (in *KernelChaos) GetSpecAndMetaString() (string, error)
    func (in *KernelChaos) GetStatus() *ChaosStatus
    func (in *KernelChaos) IsDeleted() bool
    func (in *KernelChaos) IsOneShot() bool
    func (in *KernelChaos) IsPaused() bool
    func (in *KernelChaos) Validate() ([]string, error)
    func (in *KernelChaos) ValidateCreate() (admission.Warnings, error)
    func (in *KernelChaos) ValidateDelete() (admission.Warnings, error)
    func (in *KernelChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type KernelChaosList
    func (in *KernelChaosList) DeepCopy() *KernelChaosList
    func (in *KernelChaosList) DeepCopyInto(out *KernelChaosList)
    func (in *KernelChaosList) DeepCopyList() GenericChaosList
    func (in *KernelChaosList) DeepCopyObject() runtime.Object
    func (in *KernelChaosList) GetItems() []GenericChaos
    func (in *KernelChaosList) ListChaos() []GenericChaos
type KernelChaosSpec
    func (in *KernelChaosSpec) DeepCopy() *KernelChaosSpec
    func (in *KernelChaosSpec) DeepCopyInto(out *KernelChaosSpec)
    func (in *KernelChaosSpec) GetDuration() (*time.Duration, error)
type KernelChaosStatus
    func (in *KernelChaosStatus) DeepCopy() *KernelChaosStatus
    func (in *KernelChaosStatus) DeepCopyInto(out *KernelChaosStatus)
type LUN
    func (in *LUN) Validate(root interface{}, path *field.Path) field.ErrorList
type LabelSelectorRequirements
    func (in LabelSelectorRequirements) DeepCopy() LabelSelectorRequirements
    func (in LabelSelectorRequirements) DeepCopyInto(out *LabelSelectorRequirements)
type LossSpec
    func (in *LossSpec) DeepCopy() *LossSpec
    func (in *LossSpec) DeepCopyInto(out *LossSpec)
type MemoryStressor
    func (in *MemoryStressor) DeepCopy() *MemoryStressor
    func (in *MemoryStressor) DeepCopyInto(out *MemoryStressor)
type MistakeSpec
    func (in *MistakeSpec) DeepCopy() *MistakeSpec
    func (in *MistakeSpec) DeepCopyInto(out *MistakeSpec)
type NetworkBandwidthSpec
    func (in *NetworkBandwidthSpec) DeepCopy() *NetworkBandwidthSpec
    func (in *NetworkBandwidthSpec) DeepCopyInto(out *NetworkBandwidthSpec)
    func (in *NetworkBandwidthSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type NetworkChaos
    func (in *NetworkChaos) DeepCopy() *NetworkChaos
    func (in *NetworkChaos) DeepCopyInto(out *NetworkChaos)
    func (in *NetworkChaos) DeepCopyObject() runtime.Object
    func (in *NetworkChaos) Default()
    func (in *NetworkChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *NetworkChaos) GetCustomStatus() interface{}
    func (in *NetworkChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *NetworkChaos) GetRemoteCluster() string
    func (obj *NetworkChaos) GetSelectorSpecs() map[string]interface{}
    func (in *NetworkChaos) GetSpecAndMetaString() (string, error)
    func (in *NetworkChaos) GetStatus() *ChaosStatus
    func (in *NetworkChaos) IsDeleted() bool
    func (in *NetworkChaos) IsOneShot() bool
    func (in *NetworkChaos) IsPaused() bool
    func (in *NetworkChaos) Validate() ([]string, error)
    func (in *NetworkChaos) ValidateCreate() (admission.Warnings, error)
    func (in *NetworkChaos) ValidateDelete() (admission.Warnings, error)
    func (in *NetworkChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type NetworkChaosAction
type NetworkChaosList
    func (in *NetworkChaosList) DeepCopy() *NetworkChaosList
    func (in *NetworkChaosList) DeepCopyInto(out *NetworkChaosList)
    func (in *NetworkChaosList) DeepCopyList() GenericChaosList
    func (in *NetworkChaosList) DeepCopyObject() runtime.Object
    func (in *NetworkChaosList) GetItems() []GenericChaos
    func (in *NetworkChaosList) ListChaos() []GenericChaos
type NetworkChaosSpec
    func (in *NetworkChaosSpec) DeepCopy() *NetworkChaosSpec
    func (in *NetworkChaosSpec) DeepCopyInto(out *NetworkChaosSpec)
    func (in *NetworkChaosSpec) Default(root interface{}, field *reflect.StructField)
    func (in *NetworkChaosSpec) GetDuration() (*time.Duration, error)
    func (in *NetworkChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type NetworkChaosStatus
    func (in *NetworkChaosStatus) DeepCopy() *NetworkChaosStatus
    func (in *NetworkChaosStatus) DeepCopyInto(out *NetworkChaosStatus)
type NetworkCommonSpec
    func (in *NetworkCommonSpec) DeepCopy() *NetworkCommonSpec
    func (in *NetworkCommonSpec) DeepCopyInto(out *NetworkCommonSpec)
type NetworkCorruptSpec
    func (in *NetworkCorruptSpec) DeepCopy() *NetworkCorruptSpec
    func (in *NetworkCorruptSpec) DeepCopyInto(out *NetworkCorruptSpec)
type NetworkDNSSpec
    func (in *NetworkDNSSpec) DeepCopy() *NetworkDNSSpec
    func (in *NetworkDNSSpec) DeepCopyInto(out *NetworkDNSSpec)
type NetworkDelaySpec
    func (in *NetworkDelaySpec) DeepCopy() *NetworkDelaySpec
    func (in *NetworkDelaySpec) DeepCopyInto(out *NetworkDelaySpec)
type NetworkDownSpec
    func (in *NetworkDownSpec) DeepCopy() *NetworkDownSpec
    func (in *NetworkDownSpec) DeepCopyInto(out *NetworkDownSpec)
type NetworkDuplicateSpec
    func (in *NetworkDuplicateSpec) DeepCopy() *NetworkDuplicateSpec
    func (in *NetworkDuplicateSpec) DeepCopyInto(out *NetworkDuplicateSpec)
type NetworkFloodSpec
    func (in *NetworkFloodSpec) DeepCopy() *NetworkFloodSpec
    func (in *NetworkFloodSpec) DeepCopyInto(out *NetworkFloodSpec)
type NetworkLossSpec
    func (in *NetworkLossSpec) DeepCopy() *NetworkLossSpec
    func (in *NetworkLossSpec) DeepCopyInto(out *NetworkLossSpec)
type NetworkPartitionSpec
    func (in *NetworkPartitionSpec) DeepCopy() *NetworkPartitionSpec
    func (in *NetworkPartitionSpec) DeepCopyInto(out *NetworkPartitionSpec)
type PMJVMMySQLSpec
    func (in *PMJVMMySQLSpec) DeepCopy() *PMJVMMySQLSpec
    func (in *PMJVMMySQLSpec) DeepCopyInto(out *PMJVMMySQLSpec)
type Percent
    func (p *Percent) Validate(root interface{}, path *field.Path) field.ErrorList
type Phase
type PhysicalMachine
    func (in *PhysicalMachine) DeepCopy() *PhysicalMachine
    func (in *PhysicalMachine) DeepCopyInto(out *PhysicalMachine)
    func (in *PhysicalMachine) DeepCopyObject() runtime.Object
    func (in *PhysicalMachine) Default()
    func (in *PhysicalMachine) Validate() ([]string, error)
    func (in *PhysicalMachine) ValidateCreate() (admission.Warnings, error)
    func (in *PhysicalMachine) ValidateDelete() (admission.Warnings, error)
    func (in *PhysicalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PhysicalMachineChaos
    func (in *PhysicalMachineChaos) DeepCopy() *PhysicalMachineChaos
    func (in *PhysicalMachineChaos) DeepCopyInto(out *PhysicalMachineChaos)
    func (in *PhysicalMachineChaos) DeepCopyObject() runtime.Object
    func (in *PhysicalMachineChaos) Default()
    func (in *PhysicalMachineChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *PhysicalMachineChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *PhysicalMachineChaos) GetRemoteCluster() string
    func (obj *PhysicalMachineChaos) GetSelectorSpecs() map[string]interface{}
    func (in *PhysicalMachineChaos) GetSpecAndMetaString() (string, error)
    func (in *PhysicalMachineChaos) GetStatus() *ChaosStatus
    func (in *PhysicalMachineChaos) IsDeleted() bool
    func (in *PhysicalMachineChaos) IsOneShot() bool
    func (in *PhysicalMachineChaos) IsPaused() bool
    func (in *PhysicalMachineChaos) Validate() ([]string, error)
    func (in *PhysicalMachineChaos) ValidateCreate() (admission.Warnings, error)
    func (in *PhysicalMachineChaos) ValidateDelete() (admission.Warnings, error)
    func (in *PhysicalMachineChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PhysicalMachineChaosAction
type PhysicalMachineChaosList
    func (in *PhysicalMachineChaosList) DeepCopy() *PhysicalMachineChaosList
    func (in *PhysicalMachineChaosList) DeepCopyInto(out *PhysicalMachineChaosList)
    func (in *PhysicalMachineChaosList) DeepCopyList() GenericChaosList
    func (in *PhysicalMachineChaosList) DeepCopyObject() runtime.Object
    func (in *PhysicalMachineChaosList) GetItems() []GenericChaos
    func (in *PhysicalMachineChaosList) ListChaos() []GenericChaos
type PhysicalMachineChaosSpec
    func (in *PhysicalMachineChaosSpec) DeepCopy() *PhysicalMachineChaosSpec
    func (in *PhysicalMachineChaosSpec) DeepCopyInto(out *PhysicalMachineChaosSpec)
    func (in *PhysicalMachineChaosSpec) Default(root interface{}, field *reflect.StructField)
    func (in *PhysicalMachineChaosSpec) GetDuration() (*time.Duration, error)
    func (in *PhysicalMachineChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type PhysicalMachineChaosStatus
    func (in *PhysicalMachineChaosStatus) DeepCopy() *PhysicalMachineChaosStatus
    func (in *PhysicalMachineChaosStatus) DeepCopyInto(out *PhysicalMachineChaosStatus)
type PhysicalMachineList
    func (in *PhysicalMachineList) DeepCopy() *PhysicalMachineList
    func (in *PhysicalMachineList) DeepCopyInto(out *PhysicalMachineList)
    func (in *PhysicalMachineList) DeepCopyObject() runtime.Object
type PhysicalMachineSelector
    func (in *PhysicalMachineSelector) DeepCopy() *PhysicalMachineSelector
    func (in *PhysicalMachineSelector) DeepCopyInto(out *PhysicalMachineSelector)
type PhysicalMachineSelectorSpec
    func (in *PhysicalMachineSelectorSpec) DeepCopy() *PhysicalMachineSelectorSpec
    func (in *PhysicalMachineSelectorSpec) DeepCopyInto(out *PhysicalMachineSelectorSpec)
    func (spec *PhysicalMachineSelectorSpec) Empty() bool
type PhysicalMachineSpec
    func (in *PhysicalMachineSpec) DeepCopy() *PhysicalMachineSpec
    func (in *PhysicalMachineSpec) DeepCopyInto(out *PhysicalMachineSpec)
    func (in *PhysicalMachineSpec) Default(root interface{}, field *reflect.StructField)
    func (in *PhysicalMachineSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type PodChaos
    func (in *PodChaos) DeepCopy() *PodChaos
    func (in *PodChaos) DeepCopyInto(out *PodChaos)
    func (in *PodChaos) DeepCopyObject() runtime.Object
    func (in *PodChaos) Default()
    func (in *PodChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *PodChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *PodChaos) GetRemoteCluster() string
    func (obj *PodChaos) GetSelectorSpecs() map[string]interface{}
    func (in *PodChaos) GetSpecAndMetaString() (string, error)
    func (in *PodChaos) GetStatus() *ChaosStatus
    func (in *PodChaos) IsDeleted() bool
    func (in *PodChaos) IsOneShot() bool
    func (in *PodChaos) IsPaused() bool
    func (in *PodChaos) Validate() ([]string, error)
    func (in *PodChaos) ValidateCreate() (admission.Warnings, error)
    func (in *PodChaos) ValidateDelete() (admission.Warnings, error)
    func (in *PodChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PodChaosAction
type PodChaosList
    func (in *PodChaosList) DeepCopy() *PodChaosList
    func (in *PodChaosList) DeepCopyInto(out *PodChaosList)
    func (in *PodChaosList) DeepCopyList() GenericChaosList
    func (in *PodChaosList) DeepCopyObject() runtime.Object
    func (in *PodChaosList) GetItems() []GenericChaos
    func (in *PodChaosList) ListChaos() []GenericChaos
type PodChaosSpec
    func (in *PodChaosSpec) DeepCopy() *PodChaosSpec
    func (in *PodChaosSpec) DeepCopyInto(out *PodChaosSpec)
    func (in *PodChaosSpec) GetDuration() (*time.Duration, error)
    func (in *PodChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type PodChaosStatus
    func (in *PodChaosStatus) DeepCopy() *PodChaosStatus
    func (in *PodChaosStatus) DeepCopyInto(out *PodChaosStatus)
type PodHttpChaos
    func (in *PodHttpChaos) DeepCopy() *PodHttpChaos
    func (in *PodHttpChaos) DeepCopyInto(out *PodHttpChaos)
    func (in *PodHttpChaos) DeepCopyObject() runtime.Object
    func (in *PodHttpChaos) Default()
    func (in *PodHttpChaos) Validate() ([]string, error)
    func (in *PodHttpChaos) ValidateCreate() (admission.Warnings, error)
    func (in *PodHttpChaos) ValidateDelete() (admission.Warnings, error)
    func (in *PodHttpChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PodHttpChaosActions
    func (in *PodHttpChaosActions) DeepCopy() *PodHttpChaosActions
    func (in *PodHttpChaosActions) DeepCopyInto(out *PodHttpChaosActions)
type PodHttpChaosBaseRule
    func (in *PodHttpChaosBaseRule) DeepCopy() *PodHttpChaosBaseRule
    func (in *PodHttpChaosBaseRule) DeepCopyInto(out *PodHttpChaosBaseRule)
type PodHttpChaosList
    func (in *PodHttpChaosList) DeepCopy() *PodHttpChaosList
    func (in *PodHttpChaosList) DeepCopyInto(out *PodHttpChaosList)
    func (in *PodHttpChaosList) DeepCopyObject() runtime.Object
type PodHttpChaosPatchActions
    func (in *PodHttpChaosPatchActions) DeepCopy() *PodHttpChaosPatchActions
    func (in *PodHttpChaosPatchActions) DeepCopyInto(out *PodHttpChaosPatchActions)
type PodHttpChaosPatchBodyAction
    func (in *PodHttpChaosPatchBodyAction) DeepCopy() *PodHttpChaosPatchBodyAction
    func (in *PodHttpChaosPatchBodyAction) DeepCopyInto(out *PodHttpChaosPatchBodyAction)
type PodHttpChaosReplaceActions
    func (in *PodHttpChaosReplaceActions) DeepCopy() *PodHttpChaosReplaceActions
    func (in *PodHttpChaosReplaceActions) DeepCopyInto(out *PodHttpChaosReplaceActions)
type PodHttpChaosRule
    func (in *PodHttpChaosRule) DeepCopy() *PodHttpChaosRule
    func (in *PodHttpChaosRule) DeepCopyInto(out *PodHttpChaosRule)
type PodHttpChaosSelector
    func (in *PodHttpChaosSelector) DeepCopy() *PodHttpChaosSelector
    func (in *PodHttpChaosSelector) DeepCopyInto(out *PodHttpChaosSelector)
type PodHttpChaosSpec
    func (in *PodHttpChaosSpec) DeepCopy() *PodHttpChaosSpec
    func (in *PodHttpChaosSpec) DeepCopyInto(out *PodHttpChaosSpec)
type PodHttpChaosStatus
    func (in *PodHttpChaosStatus) DeepCopy() *PodHttpChaosStatus
    func (in *PodHttpChaosStatus) DeepCopyInto(out *PodHttpChaosStatus)
type PodHttpChaosTLS
    func (in *PodHttpChaosTLS) DeepCopy() *PodHttpChaosTLS
    func (in *PodHttpChaosTLS) DeepCopyInto(out *PodHttpChaosTLS)
type PodHttpChaosTarget
    func (in *PodHttpChaosTarget) Validate(root interface{}, path *field.Path) field.ErrorList
type PodIOChaos
    func (in *PodIOChaos) DeepCopy() *PodIOChaos
    func (in *PodIOChaos) DeepCopyInto(out *PodIOChaos)
    func (in *PodIOChaos) DeepCopyObject() runtime.Object
    func (in *PodIOChaos) Default()
    func (in *PodIOChaos) Validate() ([]string, error)
    func (in *PodIOChaos) ValidateCreate() (admission.Warnings, error)
    func (in *PodIOChaos) ValidateDelete() (admission.Warnings, error)
    func (in *PodIOChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PodIOChaosList
    func (in *PodIOChaosList) DeepCopy() *PodIOChaosList
    func (in *PodIOChaosList) DeepCopyInto(out *PodIOChaosList)
    func (in *PodIOChaosList) DeepCopyObject() runtime.Object
type PodIOChaosSpec
    func (in *PodIOChaosSpec) DeepCopy() *PodIOChaosSpec
    func (in *PodIOChaosSpec) DeepCopyInto(out *PodIOChaosSpec)
type PodIOChaosStatus
    func (in *PodIOChaosStatus) DeepCopy() *PodIOChaosStatus
    func (in *PodIOChaosStatus) DeepCopyInto(out *PodIOChaosStatus)
type PodNetworkChaos
    func (in *PodNetworkChaos) DeepCopy() *PodNetworkChaos
    func (in *PodNetworkChaos) DeepCopyInto(out *PodNetworkChaos)
    func (in *PodNetworkChaos) DeepCopyObject() runtime.Object
    func (in *PodNetworkChaos) Default()
    func (in *PodNetworkChaos) Validate() ([]string, error)
    func (in *PodNetworkChaos) ValidateCreate() (admission.Warnings, error)
    func (in *PodNetworkChaos) ValidateDelete() (admission.Warnings, error)
    func (in *PodNetworkChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type PodNetworkChaosList
    func (in *PodNetworkChaosList) DeepCopy() *PodNetworkChaosList
    func (in *PodNetworkChaosList) DeepCopyInto(out *PodNetworkChaosList)
    func (in *PodNetworkChaosList) DeepCopyObject() runtime.Object
type PodNetworkChaosSpec
    func (in *PodNetworkChaosSpec) DeepCopy() *PodNetworkChaosSpec
    func (in *PodNetworkChaosSpec) DeepCopyInto(out *PodNetworkChaosSpec)
type PodNetworkChaosStatus
    func (in *PodNetworkChaosStatus) DeepCopy() *PodNetworkChaosStatus
    func (in *PodNetworkChaosStatus) DeepCopyInto(out *PodNetworkChaosStatus)
type PodSelector
    func (in *PodSelector) DeepCopy() *PodSelector
    func (in *PodSelector) DeepCopyInto(out *PodSelector)
    func (p *PodSelector) Default(root interface{}, field *reflect.StructField)
    func (p *PodSelector) Validate(root interface{}, path *field.Path) field.ErrorList
type PodSelectorSpec
    func (in PodSelectorSpec) ClusterScoped() bool
    func (in *PodSelectorSpec) DeepCopy() *PodSelectorSpec
    func (in *PodSelectorSpec) DeepCopyInto(out *PodSelectorSpec)
    func (in *PodSelectorSpec) DefaultNamespace(namespace string)
type Port
    func (in *Port) Validate(root interface{}, path *field.Path) field.ErrorList
type ProcessSpec
    func (in *ProcessSpec) DeepCopy() *ProcessSpec
    func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)
type Rate
    func (in *Rate) Validate(root interface{}, path *field.Path) field.ErrorList
type RateSpec
    func (in *RateSpec) DeepCopy() *RateSpec
    func (in *RateSpec) DeepCopyInto(out *RateSpec)
type RawIPSet
    func (in *RawIPSet) DeepCopy() *RawIPSet
    func (in *RawIPSet) DeepCopyInto(out *RawIPSet)
type RawIptables
    func (in *RawIptables) DeepCopy() *RawIptables
    func (in *RawIptables) DeepCopyInto(out *RawIptables)
type RawRuleSource
    func (in *RawRuleSource) DeepCopy() *RawRuleSource
    func (in *RawRuleSource) DeepCopyInto(out *RawRuleSource)
type RawTrafficControl
    func (in *RawTrafficControl) DeepCopy() *RawTrafficControl
    func (in *RawTrafficControl) DeepCopyInto(out *RawTrafficControl)
type Record
    func (in *Record) DeepCopy() *Record
    func (in *Record) DeepCopyInto(out *Record)
type RecordEvent
    func NewRecordEvent(eventType RecordEventType, eventStage RecordEventOperation, msg string, time metav1.Time) *RecordEvent
    func (in *RecordEvent) DeepCopy() *RecordEvent
    func (in *RecordEvent) DeepCopyInto(out *RecordEvent)
type RecordEventOperation
type RecordEventType
type RedisCacheLimitSpec
    func (in *RedisCacheLimitSpec) DeepCopy() *RedisCacheLimitSpec
    func (in *RedisCacheLimitSpec) DeepCopyInto(out *RedisCacheLimitSpec)
type RedisCommonSpec
    func (in *RedisCommonSpec) DeepCopy() *RedisCommonSpec
    func (in *RedisCommonSpec) DeepCopyInto(out *RedisCommonSpec)
type RedisExpirationSpec
    func (in *RedisExpirationSpec) DeepCopy() *RedisExpirationSpec
    func (in *RedisExpirationSpec) DeepCopyInto(out *RedisExpirationSpec)
type RedisPenetrationSpec
    func (in *RedisPenetrationSpec) DeepCopy() *RedisPenetrationSpec
    func (in *RedisPenetrationSpec) DeepCopyInto(out *RedisPenetrationSpec)
type RedisSentinelRestartSpec
    func (in *RedisSentinelRestartSpec) DeepCopy() *RedisSentinelRestartSpec
    func (in *RedisSentinelRestartSpec) DeepCopyInto(out *RedisSentinelRestartSpec)
type RedisSentinelStopSpec
    func (in *RedisSentinelStopSpec) DeepCopy() *RedisSentinelStopSpec
    func (in *RedisSentinelStopSpec) DeepCopyInto(out *RedisSentinelStopSpec)
type RemoteCluster
    func (in *RemoteCluster) DeepCopy() *RemoteCluster
    func (in *RemoteCluster) DeepCopyInto(out *RemoteCluster)
    func (in *RemoteCluster) DeepCopyObject() runtime.Object
    func (in *RemoteCluster) Default()
    func (in *RemoteCluster) Validate() ([]string, error)
    func (in *RemoteCluster) ValidateCreate() (admission.Warnings, error)
    func (in *RemoteCluster) ValidateDelete() (admission.Warnings, error)
    func (in *RemoteCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type RemoteClusterCondition
    func (in *RemoteClusterCondition) DeepCopy() *RemoteClusterCondition
    func (in *RemoteClusterCondition) DeepCopyInto(out *RemoteClusterCondition)
type RemoteClusterConditionType
type RemoteClusterKubeConfig
    func (in *RemoteClusterKubeConfig) DeepCopy() *RemoteClusterKubeConfig
    func (in *RemoteClusterKubeConfig) DeepCopyInto(out *RemoteClusterKubeConfig)
type RemoteClusterList
    func (in *RemoteClusterList) DeepCopy() *RemoteClusterList
    func (in *RemoteClusterList) DeepCopyInto(out *RemoteClusterList)
    func (in *RemoteClusterList) DeepCopyObject() runtime.Object
type RemoteClusterSecretRef
    func (in *RemoteClusterSecretRef) DeepCopy() *RemoteClusterSecretRef
    func (in *RemoteClusterSecretRef) DeepCopyInto(out *RemoteClusterSecretRef)
type RemoteClusterSpec
    func (in *RemoteClusterSpec) DeepCopy() *RemoteClusterSpec
    func (in *RemoteClusterSpec) DeepCopyInto(out *RemoteClusterSpec)
type RemoteClusterStatus
    func (in *RemoteClusterStatus) DeepCopy() *RemoteClusterStatus
    func (in *RemoteClusterStatus) DeepCopyInto(out *RemoteClusterStatus)
type RemoteObject
type ReorderSpec
    func (in *ReorderSpec) DeepCopy() *ReorderSpec
    func (in *ReorderSpec) DeepCopyInto(out *ReorderSpec)
type Schedule
    func (in *Schedule) DeepCopy() *Schedule
    func (in *Schedule) DeepCopyInto(out *Schedule)
    func (in *Schedule) DeepCopyObject() runtime.Object
    func (in *Schedule) Default()
    func (in *Schedule) IsPaused() bool
    func (in *Schedule) Validate() ([]string, error)
    func (in *Schedule) ValidateCreate() (admission.Warnings, error)
    func (in *Schedule) ValidateDelete() (admission.Warnings, error)
    func (in *Schedule) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type ScheduleItem
    func (in *ScheduleItem) DeepCopy() *ScheduleItem
    func (in *ScheduleItem) DeepCopyInto(out *ScheduleItem)
    func (it *ScheduleItem) RestoreChaosSpec(root interface{}) error
    func (it *ScheduleItem) SpawnNewObject(templateType ScheduleTemplateType) (GenericChaos, error)
type ScheduleList
    func (in *ScheduleList) DeepCopy() *ScheduleList
    func (in *ScheduleList) DeepCopyInto(out *ScheduleList)
    func (in *ScheduleList) DeepCopyList() GenericChaosList
    func (in *ScheduleList) DeepCopyObject() runtime.Object
    func (in *ScheduleList) GetItems() []GenericChaos
type ScheduleSpec
    func (in *ScheduleSpec) DeepCopy() *ScheduleSpec
    func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)
    func (in *ScheduleSpec) Validate() field.ErrorList
type ScheduleStatus
    func (in *ScheduleStatus) DeepCopy() *ScheduleStatus
    func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)
type ScheduleTemplateType
type SelectorMode
type StatefulObject
type StatusCheck
    func (in *StatusCheck) DeepCopy() *StatusCheck
    func (in *StatusCheck) DeepCopyInto(out *StatusCheck)
    func (in *StatusCheck) DeepCopyObject() runtime.Object
    func (in *StatusCheck) Default()
    func (in *StatusCheck) DurationExceed(now time.Time) (bool, time.Duration, error)
    func (in *StatusCheck) IsCompleted() bool
    func (in *StatusCheck) Validate() ([]string, error)
    func (in *StatusCheck) ValidateCreate() (admission.Warnings, error)
    func (in *StatusCheck) ValidateDelete() (admission.Warnings, error)
    func (in *StatusCheck) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type StatusCheckCondition
    func (in *StatusCheckCondition) DeepCopy() *StatusCheckCondition
    func (in *StatusCheckCondition) DeepCopyInto(out *StatusCheckCondition)
type StatusCheckConditionType
type StatusCheckList
    func (in *StatusCheckList) DeepCopy() *StatusCheckList
    func (in *StatusCheckList) DeepCopyInto(out *StatusCheckList)
    func (in *StatusCheckList) DeepCopyObject() runtime.Object
type StatusCheckMode
type StatusCheckOutcome
type StatusCheckReason
type StatusCheckRecord
    func (in *StatusCheckRecord) DeepCopy() *StatusCheckRecord
    func (in *StatusCheckRecord) DeepCopyInto(out *StatusCheckRecord)
type StatusCheckSpec
    func (in *StatusCheckSpec) DeepCopy() *StatusCheckSpec
    func (in *StatusCheckSpec) DeepCopyInto(out *StatusCheckSpec)
    func (in *StatusCheckSpec) Default(root interface{}, field *reflect.StructField)
    func (in *StatusCheckSpec) GetDuration() (*time.Duration, error)
    func (in *StatusCheckSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type StatusCheckStatus
    func (in *StatusCheckStatus) DeepCopy() *StatusCheckStatus
    func (in *StatusCheckStatus) DeepCopyInto(out *StatusCheckStatus)
type StatusCheckTemplate
    func (in *StatusCheckTemplate) Default()
    func (in *StatusCheckTemplate) Validate() (admission.Warnings, error)
type StatusCheckType
type StatusCode
    func (in *StatusCode) Validate(root interface{}, path *field.Path) field.ErrorList
type StressCPUSpec
    func (in *StressCPUSpec) DeepCopy() *StressCPUSpec
    func (in *StressCPUSpec) DeepCopyInto(out *StressCPUSpec)
type StressChaos
    func (in *StressChaos) DeepCopy() *StressChaos
    func (in *StressChaos) DeepCopyInto(out *StressChaos)
    func (in *StressChaos) DeepCopyObject() runtime.Object
    func (in *StressChaos) Default()
    func (in *StressChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (obj *StressChaos) GetCustomStatus() interface{}
    func (in *StressChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *StressChaos) GetRemoteCluster() string
    func (obj *StressChaos) GetSelectorSpecs() map[string]interface{}
    func (in *StressChaos) GetSpecAndMetaString() (string, error)
    func (in *StressChaos) GetStatus() *ChaosStatus
    func (in *StressChaos) IsDeleted() bool
    func (in *StressChaos) IsOneShot() bool
    func (in *StressChaos) IsPaused() bool
    func (in *StressChaos) Validate() ([]string, error)
    func (in *StressChaos) ValidateCreate() (admission.Warnings, error)
    func (in *StressChaos) ValidateDelete() (admission.Warnings, error)
    func (in *StressChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type StressChaosList
    func (in *StressChaosList) DeepCopy() *StressChaosList
    func (in *StressChaosList) DeepCopyInto(out *StressChaosList)
    func (in *StressChaosList) DeepCopyList() GenericChaosList
    func (in *StressChaosList) DeepCopyObject() runtime.Object
    func (in *StressChaosList) GetItems() []GenericChaos
    func (in *StressChaosList) ListChaos() []GenericChaos
type StressChaosSpec
    func (in *StressChaosSpec) DeepCopy() *StressChaosSpec
    func (in *StressChaosSpec) DeepCopyInto(out *StressChaosSpec)
    func (in *StressChaosSpec) GetDuration() (*time.Duration, error)
    func (in *StressChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList
type StressChaosStatus
    func (in *StressChaosStatus) DeepCopy() *StressChaosStatus
    func (in *StressChaosStatus) DeepCopyInto(out *StressChaosStatus)
type StressInstance
    func (in *StressInstance) DeepCopy() *StressInstance
    func (in *StressInstance) DeepCopyInto(out *StressInstance)
type StressMemorySpec
    func (in *StressMemorySpec) DeepCopy() *StressMemorySpec
    func (in *StressMemorySpec) DeepCopyInto(out *StressMemorySpec)
type Stressor
    func (in *Stressor) DeepCopy() *Stressor
    func (in *Stressor) DeepCopyInto(out *Stressor)
    func (in *Stressor) Validate(parent *field.Path) field.ErrorList
type Stressors
    func (in *Stressors) DeepCopy() *Stressors
    func (in *Stressors) DeepCopyInto(out *Stressors)
    func (in *Stressors) Normalize() (cpuStressors string, memoryStressors string, err error)
    func (in *Stressors) Validate(root interface{}, path *field.Path) field.ErrorList
type Task
    func (in *Task) DeepCopy() *Task
    func (in *Task) DeepCopyInto(out *Task)
type TcParameter
    func (in *TcParameter) DeepCopy() *TcParameter
    func (in *TcParameter) DeepCopyInto(out *TcParameter)
type TcType
type Template
    func (in *Template) DeepCopy() *Template
    func (in *Template) DeepCopyInto(out *Template)
type TemplateType
type TimeChaos
    func (in *TimeChaos) DeepCopy() *TimeChaos
    func (in *TimeChaos) DeepCopyInto(out *TimeChaos)
    func (in *TimeChaos) DeepCopyObject() runtime.Object
    func (in *TimeChaos) Default()
    func (in *TimeChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)
    func (in *TimeChaos) GetObjectMeta() *metav1.ObjectMeta
    func (in *TimeChaos) GetRemoteCluster() string
    func (in *TimeChaos) GetSelectorSpecs() map[string]interface{}
    func (in *TimeChaos) GetSpecAndMetaString() (string, error)
    func (in *TimeChaos) GetStatus() *ChaosStatus
    func (in *TimeChaos) IsDeleted() bool
    func (in *TimeChaos) IsOneShot() bool
    func (in *TimeChaos) IsPaused() bool
    func (in *TimeChaos) Validate() ([]string, error)
    func (in *TimeChaos) ValidateCreate() (admission.Warnings, error)
    func (in *TimeChaos) ValidateDelete() (admission.Warnings, error)
    func (in *TimeChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type TimeChaosList
    func (in *TimeChaosList) DeepCopy() *TimeChaosList
    func (in *TimeChaosList) DeepCopyInto(out *TimeChaosList)
    func (in *TimeChaosList) DeepCopyList() GenericChaosList
    func (in *TimeChaosList) DeepCopyObject() runtime.Object
    func (in *TimeChaosList) GetItems() []GenericChaos
    func (in *TimeChaosList) ListChaos() []GenericChaos
type TimeChaosSpec
    func (in *TimeChaosSpec) DeepCopy() *TimeChaosSpec
    func (in *TimeChaosSpec) DeepCopyInto(out *TimeChaosSpec)
    func (in *TimeChaosSpec) GetDuration() (*time.Duration, error)
type TimeChaosStatus
    func (in *TimeChaosStatus) DeepCopy() *TimeChaosStatus
    func (in *TimeChaosStatus) DeepCopyInto(out *TimeChaosStatus)
type TimeOffset
    func (in *TimeOffset) Validate(root interface{}, path *field.Path) field.ErrorList
type Timespec
    func (in *Timespec) DeepCopy() *Timespec
    func (in *Timespec) DeepCopyInto(out *Timespec)
type UserDefinedSpec
    func (in *UserDefinedSpec) DeepCopy() *UserDefinedSpec
    func (in *UserDefinedSpec) DeepCopyInto(out *UserDefinedSpec)
type VMSpec
    func (in *VMSpec) DeepCopy() *VMSpec
    func (in *VMSpec) DeepCopyInto(out *VMSpec)
type WebhookObject
type Workflow
    func (in *Workflow) DeepCopy() *Workflow
    func (in *Workflow) DeepCopyInto(out *Workflow)
    func (in *Workflow) DeepCopyObject() runtime.Object
    func (in *Workflow) Default()
    func (in *Workflow) GetObjectMeta() *metav1.ObjectMeta
    func (in *Workflow) ValidateCreate() (admission.Warnings, error)
    func (in *Workflow) ValidateDelete() (admission.Warnings, error)
    func (in *Workflow) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
type WorkflowCondition
    func (in *WorkflowCondition) DeepCopy() *WorkflowCondition
    func (in *WorkflowCondition) DeepCopyInto(out *WorkflowCondition)
type WorkflowConditionType
type WorkflowList
    func (in *WorkflowList) DeepCopy() *WorkflowList
    func (in *WorkflowList) DeepCopyInto(out *WorkflowList)
    func (in *WorkflowList) DeepCopyList() GenericChaosList
    func (in *WorkflowList) DeepCopyObject() runtime.Object
    func (in *WorkflowList) GetItems() []GenericChaos
type WorkflowNode
    func (in *WorkflowNode) DeepCopy() *WorkflowNode
    func (in *WorkflowNode) DeepCopyInto(out *WorkflowNode)
    func (in *WorkflowNode) DeepCopyObject() runtime.Object
type WorkflowNodeCondition
    func (in *WorkflowNodeCondition) DeepCopy() *WorkflowNodeCondition
    func (in *WorkflowNodeCondition) DeepCopyInto(out *WorkflowNodeCondition)
type WorkflowNodeConditionType
type WorkflowNodeList
    func (in *WorkflowNodeList) DeepCopy() *WorkflowNodeList
    func (in *WorkflowNodeList) DeepCopyInto(out *WorkflowNodeList)
    func (in *WorkflowNodeList) DeepCopyObject() runtime.Object
type WorkflowNodeSpec
    func (in *WorkflowNodeSpec) DeepCopy() *WorkflowNodeSpec
    func (in *WorkflowNodeSpec) DeepCopyInto(out *WorkflowNodeSpec)
type WorkflowNodeStatus
    func (in *WorkflowNodeStatus) DeepCopy() *WorkflowNodeStatus
    func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus)
type WorkflowSpec
    func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
    func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
type WorkflowStatus
    func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
    func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

Package files

awschaos_types.go awschaos_webhook.go azurechaos_types.go azurechaos_webhook.go blockchaos_types.go blockchaos_webhook.go common_errors.go common_types.go common_webhook.go dnschaos_type.go gcpchaos_types.go gcpchaos_webhook.go groupversion_info.go httpchaos_types.go httpchaos_webhook.go iochaos_types.go iochaos_webhook.go jvmchaos_types.go jvmchaos_webhook.go kernelchaos_types.go kinds.go networkchaos_types.go networkchaos_webhook.go physical_machine_chaos_types.go physical_machine_chaos_webhook.go physical_machine_types.go physical_machine_webhook.go podchaos_types.go podchaos_webhook.go podhttpchaos_types.go podiochaos_types.go podnetworkchaos_types.go remote_cluster_types.go schedule_item.go schedule_types.go schedule_webhook.go selector.go statuscheck_types.go statuscheck_webhook.go statuschecktemplate_types.go stresschaos_types.go stresschaos_webhook.go timechaos_types.go timechaos_webhook.go workflow_types.go workflow_webhook.go workflownode_types.go zz_generated.chaosmesh.go zz_generated.deepcopy.go zz_generated.schedule.chaosmesh.go zz_generated.workflow.chaosmesh.go

Constants

const (
    // PauseAnnotationKey defines the annotation used to pause a chaos
    PauseAnnotationKey = "experiment.chaos-mesh.org/pause"
    LabelManagedBy     = "managed-by"
)
const (
    // DefaultJitter defines default value for jitter
    DefaultJitter = "0ms"

    // DefaultCorrelation defines default value for correlation
    DefaultCorrelation = "0"
)
const (
    MethodGet  = "GET"
    MethodPost = "POST"
)
const (
    // TemplateTypeLabelKey is a label that represents the template type.
    TemplateTypeLabelKey = "template.chaos-mesh.org/type"
    // ManagedByLabelKey is a label that represents the tool being used
    // to manage the operation of the object.
    ManagedByLabelKey = "app.kubernetes.io/managed-by"
    // ManagedByLabelValue is the value that represents the object is
    // managed by Chaos Mesh.
    ManagedByLabelValue = "chaos-mesh"

    // TemplateNameAnnotationKey is an annotation that represents
    // the real name of the template.
    TemplateNameAnnotationKey = "template.chaos-mesh.org/name"
    // TemplateDescriptionAnnotationKey is an annotation that represents
    // the description of the template.
    TemplateDescriptionAnnotationKey = "template.chaos-mesh.org/description"

    // PrefixStatusCheckTemplate is the prefix of the name of a StatusCheckTemplate.
    PrefixStatusCheckTemplate = "template-status-check"
    // StatusCheckTemplateKey is the key that status check spec
    // saved in the template ConfigMap.
    StatusCheckTemplateKey = "spec"
)
const (
    LabelControlledBy       = "chaos-mesh.org/controlled-by"
    LabelWorkflow           = "chaos-mesh.org/workflow"
    WorkflowAnnotationAbort = "workflow.chaos-mesh.org/abort"
)

Reasons

const (
    EntryCreated                         string = "EntryCreated"
    InvalidEntry                         string = "InvalidEntry"
    WorkflowAccomplished                 string = "WorkflowAccomplished"
    NodeAccomplished                     string = "NodeAccomplished"
    NodesCreated                         string = "NodesCreated"
    NodeDeadlineExceed                   string = "NodeDeadlineExceed"
    NodeDeadlineNotExceed                string = "NodeDeadlineNotExceed"
    NodeDeadlineOmitted                  string = "NodeDeadlineOmitted"
    ParentNodeDeadlineExceed             string = "ParentNodeDeadlineExceed"
    ChaosCRCreated                       string = "ChaosCRCreated"
    ChaosCRCreateFailed                  string = "ChaosCRCreateFailed"
    ChaosCRDeleted                       string = "ChaosCRDeleted"
    ChaosCRDeleteFailed                  string = "ChaosCRDeleteFailed"
    ChaosCRNotExists                     string = "ChaosCRNotExists"
    TaskPodSpawned                       string = "TaskPodSpawned"
    TaskPodSpawnFailed                   string = "TaskPodSpawnFailed"
    TaskPodPodCompleted                  string = "TaskPodPodCompleted"
    ConditionalBranchesSelected          string = "ConditionalBranchesSelected"
    RerunBySpecChanged                   string = "RerunBySpecChanged"
    StatusCheckCreated                   string = "StatusCheckCreated"
    StatusCheckCreatedFailed             string = "StatusCheckCreatedFailed"
    StatusCheckDeleted                   string = "StatusCheckDeleted"
    StatusCheckDeletedFailed             string = "StatusCheckDeletedFailed"
    StatusCheckCompleted                 string = "StatusCheckCompleted"
    StatusCheckNotExceedSuccessThreshold string = "StatusCheckNotExceedSuccessThreshold"
    ParentNodeAborted                    string = "ParentNodeAborted"
    WorkflowAborted                      string = "WorkflowAborted"
)
const DefaultJVMAgentPort int32 = 9277
const KindAWSChaos = "AWSChaos"
const KindAzureChaos = "AzureChaos"
const KindBlockChaos = "BlockChaos"
const KindDNSChaos = "DNSChaos"
const KindGCPChaos = "GCPChaos"
const KindHTTPChaos = "HTTPChaos"
const KindIOChaos = "IOChaos"
const KindJVMChaos = "JVMChaos"
const KindKernelChaos = "KernelChaos"
const KindNetworkChaos = "NetworkChaos"
const KindPhysicalMachine = "PhysicalMachine"
const KindPhysicalMachineChaos = "PhysicalMachineChaos"
const KindPodChaos = "PodChaos"
const KindPodHttpChaos = "PodHttpChaos"
const KindPodIOChaos = "PodIOChaos"
const KindPodNetworkChaos = "PodNetworkChaos"
const KindRemoteCluster = "RemoteCluster"
const KindSchedule = "Schedule"
const KindStatusCheck = "StatusCheck"
const KindStressChaos = "StressChaos"
const KindTimeChaos = "TimeChaos"
const KindWorkflow = "Workflow"
const KindWorkflowNode = "WorkflowNode"
const (
    // ValidateValueParseError defines the error message for value parse error
    ValidateValueParseError = "parse value field error:%s"
)

Variables

var (
    // GroupVersion is group version used to register these objects
    GroupVersion = schema.GroupVersion{Group: "chaos-mesh.org", Version: "v1alpha1"}

    // SchemeBuilder is used to add go types to the GroupVersionKind scheme
    SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

    // AddToScheme adds the types in this group-version to the given scheme.
    AddToScheme = SchemeBuilder.AddToScheme
)
var AWSChaosWebhookLog = logf.Log.WithName("AWSChaos-resource")
var AzureChaosWebhookLog = logf.Log.WithName("AzureChaos-resource")
var BlockChaosWebhookLog = logf.Log.WithName("BlockChaos-resource")
var DNSChaosWebhookLog = logf.Log.WithName("DNSChaos-resource")

updating spec of a chaos will have no effect, we'd better reject it

var ErrCanNotUpdateChaos = errors.New("Cannot update chaos spec")
var GCPChaosWebhookLog = logf.Log.WithName("GCPChaos-resource")
var HTTPChaosWebhookLog = logf.Log.WithName("HTTPChaos-resource")
var IOChaosWebhookLog = logf.Log.WithName("IOChaos-resource")
var JVMChaosWebhookLog = logf.Log.WithName("JVMChaos-resource")
var KernelChaosWebhookLog = logf.Log.WithName("KernelChaos-resource")
var NetworkChaosWebhookLog = logf.Log.WithName("NetworkChaos-resource")
var PhysicalMachineChaosWebhookLog = logf.Log.WithName("PhysicalMachineChaos-resource")
var PhysicalMachineWebhookLog = logf.Log.WithName("PhysicalMachine-resource")
var PodChaosWebhookLog = logf.Log.WithName("PodChaos-resource")
var PodHttpChaosWebhookLog = logf.Log.WithName("PodHttpChaos-resource")
var PodIOChaosWebhookLog = logf.Log.WithName("PodIOChaos-resource")
var PodNetworkChaosWebhookLog = logf.Log.WithName("PodNetworkChaos-resource")
var RemoteClusterWebhookLog = logf.Log.WithName("RemoteCluster-resource")
var StandardCronParser = cron.NewParser(
    cron.SecondOptional | cron.Minute | cron.Hour | cron.Dom | cron.Month | cron.Dow | cron.Descriptor,
)
var StatusCheckWebhookLog = logf.Log.WithName("StatusCheck-resource")
var StressChaosWebhookLog = logf.Log.WithName("StressChaos-resource")
var TimeChaosWebhookLog = logf.Log.WithName("TimeChaos-resource")
var ValidOptions = map[string]bool{"XX": true, "NX": true, "GT": true, "LT": true}

func AllKinds

func AllKinds() map[string]*ChaosKind

AllKinds returns all chaos kinds, key is name of Kind, value is an accessor for spawning Object and List

func AllKindsIncludeScheduleAndWorkflow

func AllKindsIncludeScheduleAndWorkflow() map[string]*ChaosKind

func AllScheduleItemKinds

func AllScheduleItemKinds() map[string]*ChaosKind

AllKinds returns all chaos kinds.

func CheckPercent

func CheckPercent(p string, allowZero bool) bool

func CheckPid

func CheckPid(pid int) error

func FetchChaosByTemplateType

func FetchChaosByTemplateType(templateType TemplateType) (runtime.Object, error)

func GenerateTemplateName

func GenerateTemplateName(name string) string

func GetTemplateDescription

func GetTemplateDescription(cm v1.ConfigMap) string

func GetTemplateName

func GetTemplateName(cm v1.ConfigMap) string

func IsChaosTemplateType

func IsChaosTemplateType(target TemplateType) bool

func IsStatusCheckTemplate

func IsStatusCheckTemplate(cm v1.ConfigMap) bool

func ParseUnit

func ParseUnit(s string) (uint64, error)

ParseUnit parse a digit with unit such as "K" , "KiB", "KB", "c", "MiB", "MB", "M". If input string is a digit without unit , it will be regarded as a digit with unit M(1024*1024 bytes).

type AWSChaos

AWSChaos is the Schema for the awschaos API

type AWSChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   AWSChaosSpec   `json:"spec"`
    Status AWSChaosStatus `json:"status,omitempty"`
}

func (*AWSChaos) DeepCopy

func (in *AWSChaos) DeepCopy() *AWSChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaos.

func (*AWSChaos) DeepCopyInto

func (in *AWSChaos) DeepCopyInto(out *AWSChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSChaos) DeepCopyObject

func (in *AWSChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AWSChaos) Default

func (in *AWSChaos) Default()

func (*AWSChaos) DurationExceeded

func (in *AWSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*AWSChaos) GetObjectMeta

func (in *AWSChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*AWSChaos) GetRemoteCluster

func (in *AWSChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*AWSChaos) GetSelectorSpecs

func (obj *AWSChaos) GetSelectorSpecs() map[string]interface{}

func (*AWSChaos) GetSpecAndMetaString

func (in *AWSChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*AWSChaos) GetStatus

func (in *AWSChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*AWSChaos) IsDeleted

func (in *AWSChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*AWSChaos) IsOneShot

func (in *AWSChaos) IsOneShot() bool

func (*AWSChaos) IsPaused

func (in *AWSChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*AWSChaos) Validate

func (in *AWSChaos) Validate() ([]string, error)

func (*AWSChaos) ValidateCreate

func (in *AWSChaos) ValidateCreate() (admission.Warnings, error)

func (*AWSChaos) ValidateDelete

func (in *AWSChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*AWSChaos) ValidateUpdate

func (in *AWSChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type AWSChaosAction

AWSChaosAction represents the chaos action about aws.

type AWSChaosAction string
const (
    // Ec2Stop represents the chaos action of stopping ec2.
    Ec2Stop AWSChaosAction = "ec2-stop"
    // Ec2Restart represents the chaos action of restarting ec2.
    Ec2Restart AWSChaosAction = "ec2-restart"
    // DetachVolume represents the chaos action of detaching the volume of ec2.
    DetachVolume AWSChaosAction = "detach-volume"
)

func (*AWSChaosAction) Validate

func (in *AWSChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList

Validate validates aws chaos actions

type AWSChaosList

AWSChaosList contains a list of AWSChaos

type AWSChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []AWSChaos `json:"items"`
}

func (*AWSChaosList) DeepCopy

func (in *AWSChaosList) DeepCopy() *AWSChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosList.

func (*AWSChaosList) DeepCopyInto

func (in *AWSChaosList) DeepCopyInto(out *AWSChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSChaosList) DeepCopyList

func (in *AWSChaosList) DeepCopyList() GenericChaosList

func (*AWSChaosList) DeepCopyObject

func (in *AWSChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AWSChaosList) GetItems

func (in *AWSChaosList) GetItems() []GenericChaos

func (*AWSChaosList) ListChaos

func (in *AWSChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type AWSChaosSpec

AWSChaosSpec is the content of the specification for an AWSChaos

type AWSChaosSpec struct {
    // Action defines the specific aws chaos action.
    // Supported action: ec2-stop / ec2-restart / detach-volume
    // Default action: ec2-stop
    // +kubebuilder:validation:Enum=ec2-stop;ec2-restart;detach-volume
    Action AWSChaosAction `json:"action"`

    // Duration represents the duration of the chaos action.
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // SecretName defines the name of kubernetes secret.
    // +optional
    SecretName *string `json:"secretName,omitempty" webhook:",nilable"`

    AWSSelector `json:",inline"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*AWSChaosSpec) DeepCopy

func (in *AWSChaosSpec) DeepCopy() *AWSChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosSpec.

func (*AWSChaosSpec) DeepCopyInto

func (in *AWSChaosSpec) DeepCopyInto(out *AWSChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSChaosSpec) GetDuration

func (in *AWSChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type AWSChaosStatus

AWSChaosStatus represents the status of an AWSChaos

type AWSChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*AWSChaosStatus) DeepCopy

func (in *AWSChaosStatus) DeepCopy() *AWSChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSChaosStatus.

func (*AWSChaosStatus) DeepCopyInto

func (in *AWSChaosStatus) DeepCopyInto(out *AWSChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSDeviceName

type AWSDeviceName string

func (*AWSDeviceName) Validate

func (in *AWSDeviceName) Validate(root interface{}, path *field.Path) field.ErrorList

type AWSSelector

type AWSSelector struct {

    // Endpoint indicates the endpoint of the aws server. Just used it in test now.
    // +ui:form:ignore
    // +optional
    Endpoint *string `json:"endpoint,omitempty"`

    // AWSRegion defines the region of aws.
    AWSRegion string `json:"awsRegion"`

    // Ec2Instance indicates the ID of the ec2 instance.
    Ec2Instance string `json:"ec2Instance"`

    // EbsVolume indicates the ID of the EBS volume.
    // Needed in detach-volume.
    // +ui:form:when=action=='detach-volume'
    // +optional
    EbsVolume *string `json:"volumeID,omitempty" webhook:"EbsVolume,nilable"`

    // DeviceName indicates the name of the device.
    // Needed in detach-volume.
    // +ui:form:when=action=='detach-volume'
    // +optional
    DeviceName *string `json:"deviceName,omitempty" webhook:"AWSDeviceName,nilable"`
}

func (*AWSSelector) DeepCopy

func (in *AWSSelector) DeepCopy() *AWSSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSelector.

func (*AWSSelector) DeepCopyInto

func (in *AWSSelector) DeepCopyInto(out *AWSSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSSelector) Id

func (selector *AWSSelector) Id() string

type AttrOverrideSpec

AttrOverrideSpec represents an override of attribution

type AttrOverrideSpec struct {
    //+optional
    Ino *uint64 `json:"ino,omitempty"`
    //+optional
    Size *uint64 `json:"size,omitempty"`
    //+optional
    Blocks *uint64 `json:"blocks,omitempty"`
    //+optional
    Atime *Timespec `json:"atime,omitempty"`
    //+optional
    Mtime *Timespec `json:"mtime,omitempty"`
    //+optional
    Ctime *Timespec `json:"ctime,omitempty"`
    //+optional
    Kind *FileType `json:"kind,omitempty"`
    //+optional
    Perm *uint16 `json:"perm,omitempty"`
    //+optional
    Nlink *uint32 `json:"nlink,omitempty"`
    //+optional
    UID *uint32 `json:"uid,omitempty"`
    //+optional
    GID *uint32 `json:"gid,omitempty"`
    //+optional
    Rdev *uint32 `json:"rdev,omitempty"`
}

func (*AttrOverrideSpec) DeepCopy

func (in *AttrOverrideSpec) DeepCopy() *AttrOverrideSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttrOverrideSpec.

func (*AttrOverrideSpec) DeepCopyInto

func (in *AttrOverrideSpec) DeepCopyInto(out *AttrOverrideSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureChaos

AzureChaos is the Schema for the azurechaos API

type AzureChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   AzureChaosSpec   `json:"spec"`
    Status AzureChaosStatus `json:"status,omitempty"`
}

func (*AzureChaos) DeepCopy

func (in *AzureChaos) DeepCopy() *AzureChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaos.

func (*AzureChaos) DeepCopyInto

func (in *AzureChaos) DeepCopyInto(out *AzureChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureChaos) DeepCopyObject

func (in *AzureChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AzureChaos) Default

func (in *AzureChaos) Default()

func (*AzureChaos) DurationExceeded

func (in *AzureChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*AzureChaos) GetObjectMeta

func (in *AzureChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*AzureChaos) GetRemoteCluster

func (in *AzureChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*AzureChaos) GetSelectorSpecs

func (obj *AzureChaos) GetSelectorSpecs() map[string]interface{}

func (*AzureChaos) GetSpecAndMetaString

func (in *AzureChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*AzureChaos) GetStatus

func (in *AzureChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*AzureChaos) IsDeleted

func (in *AzureChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*AzureChaos) IsOneShot

func (in *AzureChaos) IsOneShot() bool

func (*AzureChaos) IsPaused

func (in *AzureChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*AzureChaos) Validate

func (in *AzureChaos) Validate() ([]string, error)

func (*AzureChaos) ValidateCreate

func (in *AzureChaos) ValidateCreate() (admission.Warnings, error)

func (*AzureChaos) ValidateDelete

func (in *AzureChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*AzureChaos) ValidateUpdate

func (in *AzureChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type AzureChaosAction

AzureChaosAction represents the chaos action about azure.

type AzureChaosAction string
const (
    // AzureVmStop represents the chaos action of stopping vm.
    AzureVmStop AzureChaosAction = "vm-stop"
    // AzureVmRestart represents the chaos action of restarting vm.
    AzureVmRestart AzureChaosAction = "vm-restart"
    // AzureDiskDetach represents the chaos action of detaching the disk from vm.
    AzureDiskDetach AzureChaosAction = "disk-detach"
)

func (*AzureChaosAction) Validate

func (in *AzureChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList

Validate validates the azure chaos actions

type AzureChaosList

AzureChaosList contains a list of AzureChaos

type AzureChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []AzureChaos `json:"items"`
}

func (*AzureChaosList) DeepCopy

func (in *AzureChaosList) DeepCopy() *AzureChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosList.

func (*AzureChaosList) DeepCopyInto

func (in *AzureChaosList) DeepCopyInto(out *AzureChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureChaosList) DeepCopyList

func (in *AzureChaosList) DeepCopyList() GenericChaosList

func (*AzureChaosList) DeepCopyObject

func (in *AzureChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*AzureChaosList) GetItems

func (in *AzureChaosList) GetItems() []GenericChaos

func (*AzureChaosList) ListChaos

func (in *AzureChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type AzureChaosSpec

AzureChaosSpec is the content of the specification for an AzureChaos

type AzureChaosSpec struct {
    // Action defines the specific azure chaos action.
    // Supported action: vm-stop / vm-restart / disk-detach
    // Default action: vm-stop
    // +kubebuilder:validation:Enum=vm-stop;vm-restart;disk-detach
    Action AzureChaosAction `json:"action"`

    // Duration represents the duration of the chaos action.
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    AzureSelector `json:",inline"`
}

func (*AzureChaosSpec) DeepCopy

func (in *AzureChaosSpec) DeepCopy() *AzureChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosSpec.

func (*AzureChaosSpec) DeepCopyInto

func (in *AzureChaosSpec) DeepCopyInto(out *AzureChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureChaosSpec) GetDuration

func (in *AzureChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type AzureChaosStatus

AzureChaosStatus represents the status of an AzureChaos

type AzureChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*AzureChaosStatus) DeepCopy

func (in *AzureChaosStatus) DeepCopy() *AzureChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureChaosStatus.

func (*AzureChaosStatus) DeepCopyInto

func (in *AzureChaosStatus) DeepCopyInto(out *AzureChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AzureSelector

type AzureSelector struct {
    // SubscriptionID defines the id of Azure subscription.
    SubscriptionID string `json:"subscriptionID"`

    // ResourceGroupName defines the name of ResourceGroup
    ResourceGroupName string `json:"resourceGroupName"`

    // VMName defines the name of Virtual Machine
    VMName string `json:"vmName"`

    // DiskName indicates the name of the disk.
    // Needed in disk-detach.
    // +optional
    DiskName *string `json:"diskName,omitempty" webhook:"DiskName,nilable"`

    // LUN indicates the Logical Unit Number of the data disk.
    // Needed in disk-detach.
    // +optional
    LUN *int `json:"lun,omitempty" webhook:"LUN,nilable"`

    // SecretName defines the name of kubernetes secret. It is used for Azure credentials.
    // +optional
    SecretName *string `json:"secretName,omitempty"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*AzureSelector) DeepCopy

func (in *AzureSelector) DeepCopy() *AzureSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSelector.

func (*AzureSelector) DeepCopyInto

func (in *AzureSelector) DeepCopyInto(out *AzureSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AzureSelector) Id

func (selector *AzureSelector) Id() string

type BandwidthSpec

BandwidthSpec defines detail of bandwidth limit.

type BandwidthSpec struct {
    // Rate is the speed knob. Allows bit, kbit, mbit, gbit, tbit, bps, kbps, mbps, gbps, tbps unit. bps means bytes per second.
    Rate string `json:"rate" webhook:"Rate"`
    // Limit is the number of bytes that can be queued waiting for tokens to become available.
    // +kubebuilder:validation:Minimum=1
    Limit uint32 `json:"limit"`
    // Buffer is the maximum amount of bytes that tokens can be available for instantaneously.
    // +kubebuilder:validation:Minimum=1
    Buffer uint32 `json:"buffer"`
    // Peakrate is the maximum depletion rate of the bucket.
    // The peakrate does not need to be set, it is only necessary
    // if perfect millisecond timescale shaping is required.
    // +optional
    // +kubebuilder:validation:Minimum=0
    Peakrate *uint64 `json:"peakrate,omitempty"`
    // Minburst specifies the size of the peakrate bucket. For perfect
    // accuracy, should be set to the MTU of the interface.  If a
    // peakrate is needed, but some burstiness is acceptable, this
    // size can be raised. A 3000 byte minburst allows around 3mbit/s
    // of peakrate, given 1000 byte packets.
    // +optional
    // +kubebuilder:validation:Minimum=0
    Minburst *uint32 `json:"minburst,omitempty"`
}

func (*BandwidthSpec) DeepCopy

func (in *BandwidthSpec) DeepCopy() *BandwidthSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BandwidthSpec.

func (*BandwidthSpec) DeepCopyInto

func (in *BandwidthSpec) DeepCopyInto(out *BandwidthSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockChaos

BlockChaos is the Schema for the blockchaos API

type BlockChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   BlockChaosSpec   `json:"spec"`
    Status BlockChaosStatus `json:"status,omitempty"`
}

func (*BlockChaos) DeepCopy

func (in *BlockChaos) DeepCopy() *BlockChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaos.

func (*BlockChaos) DeepCopyInto

func (in *BlockChaos) DeepCopyInto(out *BlockChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BlockChaos) DeepCopyObject

func (in *BlockChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BlockChaos) Default

func (in *BlockChaos) Default()

func (*BlockChaos) DurationExceeded

func (in *BlockChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*BlockChaos) GetCustomStatus

func (obj *BlockChaos) GetCustomStatus() interface{}

func (*BlockChaos) GetObjectMeta

func (in *BlockChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*BlockChaos) GetRemoteCluster

func (in *BlockChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*BlockChaos) GetSelectorSpecs

func (obj *BlockChaos) GetSelectorSpecs() map[string]interface{}

func (*BlockChaos) GetSpecAndMetaString

func (in *BlockChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*BlockChaos) GetStatus

func (in *BlockChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*BlockChaos) IsDeleted

func (in *BlockChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*BlockChaos) IsOneShot

func (in *BlockChaos) IsOneShot() bool

func (*BlockChaos) IsPaused

func (in *BlockChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*BlockChaos) Validate

func (in *BlockChaos) Validate() ([]string, error)

func (*BlockChaos) ValidateCreate

func (in *BlockChaos) ValidateCreate() (admission.Warnings, error)

func (*BlockChaos) ValidateDelete

func (in *BlockChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*BlockChaos) ValidateUpdate

func (in *BlockChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type BlockChaosAction

type BlockChaosAction string
const (
    BlockDelay BlockChaosAction = "delay"
)

type BlockChaosList

BlockChaosList contains a list of BlockChaos

type BlockChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []BlockChaos `json:"items"`
}

func (*BlockChaosList) DeepCopy

func (in *BlockChaosList) DeepCopy() *BlockChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosList.

func (*BlockChaosList) DeepCopyInto

func (in *BlockChaosList) DeepCopyInto(out *BlockChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BlockChaosList) DeepCopyList

func (in *BlockChaosList) DeepCopyList() GenericChaosList

func (*BlockChaosList) DeepCopyObject

func (in *BlockChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*BlockChaosList) GetItems

func (in *BlockChaosList) GetItems() []GenericChaos

func (*BlockChaosList) ListChaos

func (in *BlockChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type BlockChaosSpec

BlockChaosSpec is the content of the specification for a BlockChaos

type BlockChaosSpec struct {
    // Action defines the specific block chaos action.
    // Supported action: delay
    // +kubebuilder:validation:Enum=delay
    Action BlockChaosAction `json:"action"`

    // Delay defines the delay distribution.
    // +optional
    Delay *BlockDelaySpec `json:"delay,omitempty"`

    ContainerNodeVolumePathSelector `json:",inline"`

    // Duration represents the duration of the chaos action.
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*BlockChaosSpec) DeepCopy

func (in *BlockChaosSpec) DeepCopy() *BlockChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosSpec.

func (*BlockChaosSpec) DeepCopyInto

func (in *BlockChaosSpec) DeepCopyInto(out *BlockChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BlockChaosSpec) GetDuration

func (in *BlockChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*BlockChaosSpec) Validate

func (in *BlockChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type BlockChaosStatus

BlockChaosStatus represents the status of a BlockChaos

type BlockChaosStatus struct {
    ChaosStatus `json:",inline"`

    // InjectionIds always specifies the number of injected chaos action
    // +optional
    InjectionIds map[string]int `json:"ids,omitempty"`
}

func (*BlockChaosStatus) DeepCopy

func (in *BlockChaosStatus) DeepCopy() *BlockChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockChaosStatus.

func (*BlockChaosStatus) DeepCopyInto

func (in *BlockChaosStatus) DeepCopyInto(out *BlockChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BlockDelaySpec

BlockDelaySpec describes the block delay specification

type BlockDelaySpec struct {
    // Latency defines the latency of every io request.
    Latency string `json:"latency,omitempty" webhook:"Duration"`

    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`

    // +optional
    Jitter string `json:"jitter,omitempty" default:"0ms" webhook:"Duration"`
}

func (*BlockDelaySpec) DeepCopy

func (in *BlockDelaySpec) DeepCopy() *BlockDelaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDelaySpec.

func (*BlockDelaySpec) DeepCopyInto

func (in *BlockDelaySpec) DeepCopyInto(out *BlockDelaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bytes

type Bytes string

func (*Bytes) Validate

func (in *Bytes) Validate(root interface{}, path *field.Path) field.ErrorList

type CPUStressor

CPUStressor defines how to stress CPU out

type CPUStressor struct {
    Stressor `json:",inline"`
    // Load specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100
    // is full loading.
    // +kubebuilder:validation:Minimum=0
    // +kubebuilder:validation:Maximum=100
    // +optional
    Load *int `json:"load,omitempty"`

    // extend stress-ng options
    // +optional
    Options []string `json:"options,omitempty"`
}

func (*CPUStressor) DeepCopy

func (in *CPUStressor) DeepCopy() *CPUStressor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPUStressor.

func (*CPUStressor) DeepCopyInto

func (in *CPUStressor) DeepCopyInto(out *CPUStressor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChainDirection

ChainDirection represents the direction of chain

type ChainDirection string
const (
    // Input means this chain is linked with INPUT chain
    Input ChainDirection = "input"

    // Output means this chain is linked with OUTPUT chain
    Output ChainDirection = "output"
)

type ChaosCondition

type ChaosCondition struct {
    Type   ChaosConditionType     `json:"type"`
    Status corev1.ConditionStatus `json:"status"`
    // +optional
    Reason string `json:"reason,omitempty"`
}

func (*ChaosCondition) DeepCopy

func (in *ChaosCondition) DeepCopy() *ChaosCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosCondition.

func (*ChaosCondition) DeepCopyInto

func (in *ChaosCondition) DeepCopyInto(out *ChaosCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChaosConditionType

type ChaosConditionType string
const (
    ConditionSelected     ChaosConditionType = "Selected"
    ConditionAllInjected  ChaosConditionType = "AllInjected"
    ConditionAllRecovered ChaosConditionType = "AllRecovered"
    ConditionPaused       ChaosConditionType = "Paused"
)

type ChaosKind

ChaosKind includes one kind of chaos and its list type

type ChaosKind struct {
    // contains filtered or unexported fields
}

func (*ChaosKind) SpawnList

func (it *ChaosKind) SpawnList() GenericChaosList

SpawnList will deepcopy a clean list for the acquired kind of chaos as placeholder

func (*ChaosKind) SpawnObject

func (it *ChaosKind) SpawnObject() client.Object

SpawnObject will deepcopy a clean struct for the acquired kind as placeholder

type ChaosOnlyScheduleSpec

ChaosOnlyScheduleSpec is very similar with ScheduleSpec, but it could not schedule Workflow because we could not resolve nested CRD now

type ChaosOnlyScheduleSpec struct {
    Schedule string `json:"schedule"`

    // +optional
    // +nullable
    // +kubebuilder:validation:Minimum=0
    StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds"`

    // +optional
    // +kubebuilder:validation:Enum=Forbid;Allow
    ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy"`

    // +optional
    // +kubebuilder:validation:Minimum=1
    HistoryLimit int `json:"historyLimit,omitempty"`

    Type ScheduleTemplateType `json:"type"`

    EmbedChaos `json:",inline"`
}

func (*ChaosOnlyScheduleSpec) DeepCopy

func (in *ChaosOnlyScheduleSpec) DeepCopy() *ChaosOnlyScheduleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosOnlyScheduleSpec.

func (*ChaosOnlyScheduleSpec) DeepCopyInto

func (in *ChaosOnlyScheduleSpec) DeepCopyInto(out *ChaosOnlyScheduleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ChaosStatus

type ChaosStatus struct {
    // Conditions represents the current global condition of the chaos
    // +optional
    Conditions []ChaosCondition `json:"conditions,omitempty"`

    // Experiment records the last experiment state.
    Experiment ExperimentStatus `json:"experiment"`
}

func (*ChaosStatus) DeepCopy

func (in *ChaosStatus) DeepCopy() *ChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosStatus.

func (*ChaosStatus) DeepCopyInto

func (in *ChaosStatus) DeepCopyInto(out *ChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CidrAndPort

CidrAndPort represents CIDR and port pair

type CidrAndPort struct {
    Cidr string `json:"cidr"`

    // +kubebuilder:validation:Minimum=1
    // +kubebuilder:validation:Maximum=65535
    Port uint16 `json:"port"`
}

func (*CidrAndPort) DeepCopy

func (in *CidrAndPort) DeepCopy() *CidrAndPort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CidrAndPort.

func (*CidrAndPort) DeepCopyInto

func (in *CidrAndPort) DeepCopyInto(out *CidrAndPort)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClockIds

type ClockIds []string

func (ClockIds) DeepCopy

func (in ClockIds) DeepCopy() ClockIds

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClockIds.

func (ClockIds) DeepCopyInto

func (in ClockIds) DeepCopyInto(out *ClockIds)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClockIds) Default

func (in *ClockIds) Default(root interface{}, field *reflect.StructField)

DefaultClockIds will set default value for empty ClockIds fields

type ClockSpec

type ClockSpec struct {
    // the pid of target program.
    Pid int `json:"pid,omitempty"`
    // specifies the length of time offset.
    TimeOffset string `json:"time-offset,omitempty"`
    // the identifier of the particular clock on which to act.
    // More clock description in linux kernel can be found in man page of clock_getres, clock_gettime, clock_settime.
    // Muti clock ids should be split with ","
    ClockIdsSlice string `json:"clock-ids-slice,omitempty"`
}

func (*ClockSpec) DeepCopy

func (in *ClockSpec) DeepCopy() *ClockSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClockSpec.

func (*ClockSpec) DeepCopyInto

func (in *ClockSpec) DeepCopyInto(out *ClockSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConcurrencyPolicy

type ConcurrencyPolicy string
var (
    ForbidConcurrent ConcurrencyPolicy = "Forbid"
    AllowConcurrent  ConcurrencyPolicy = "Allow"
)

func (*ConcurrencyPolicy) Default

func (in *ConcurrencyPolicy) Default()

func (ConcurrencyPolicy) IsAllow

func (c ConcurrencyPolicy) IsAllow() bool

func (ConcurrencyPolicy) IsForbid

func (c ConcurrencyPolicy) IsForbid() bool

type ConditionalBranch

type ConditionalBranch struct {
    // Target is the name of other template, if expression is evaluated as true, this template will be spawned.
    Target string `json:"target"`
    // Expression is the expression for this conditional branch, expected type of result is boolean. If expression is empty, this branch will always be selected/the template will be spawned.
    // +optional
    Expression string `json:"expression,omitempty"`
}

func (*ConditionalBranch) DeepCopy

func (in *ConditionalBranch) DeepCopy() *ConditionalBranch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranch.

func (*ConditionalBranch) DeepCopyInto

func (in *ConditionalBranch) DeepCopyInto(out *ConditionalBranch)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionalBranchStatus

type ConditionalBranchStatus struct {
    Target           string                 `json:"target"`
    EvaluationResult corev1.ConditionStatus `json:"evaluationResult"`
}

func (*ConditionalBranchStatus) DeepCopy

func (in *ConditionalBranchStatus) DeepCopy() *ConditionalBranchStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranchStatus.

func (*ConditionalBranchStatus) DeepCopyInto

func (in *ConditionalBranchStatus) DeepCopyInto(out *ConditionalBranchStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionalBranchesStatus

type ConditionalBranchesStatus struct {
    // +optional
    Branches []ConditionalBranchStatus `json:"branches"`
    // +optional
    Context []string `json:"context"`
}

func (*ConditionalBranchesStatus) DeepCopy

func (in *ConditionalBranchesStatus) DeepCopy() *ConditionalBranchesStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionalBranchesStatus.

func (*ConditionalBranchesStatus) DeepCopyInto

func (in *ConditionalBranchesStatus) DeepCopyInto(out *ConditionalBranchesStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ContainerNodeVolumePathSelector

ContainerNodeVolumePathSelector is the selector to select a node and a PV on it

type ContainerNodeVolumePathSelector struct {
    ContainerSelector `json:",inline"`

    VolumeName string `json:"volumeName"`
}

func (*ContainerNodeVolumePathSelector) DeepCopy

func (in *ContainerNodeVolumePathSelector) DeepCopy() *ContainerNodeVolumePathSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerNodeVolumePathSelector.

func (*ContainerNodeVolumePathSelector) DeepCopyInto

func (in *ContainerNodeVolumePathSelector) DeepCopyInto(out *ContainerNodeVolumePathSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ContainerSelector

type ContainerSelector struct {
    PodSelector `json:",inline"`

    // ContainerNames indicates list of the name of affected container.
    // If not set, the first container will be injected
    // +optional
    ContainerNames []string `json:"containerNames,omitempty"`
}

func (*ContainerSelector) DeepCopy

func (in *ContainerSelector) DeepCopy() *ContainerSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerSelector.

func (*ContainerSelector) DeepCopyInto

func (in *ContainerSelector) DeepCopyInto(out *ContainerSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ContainsDuration

+kubebuilder:object:generate=false

type ContainsDuration interface {
    GetDuration() (*time.Duration, error)
}

type CorruptSpec

CorruptSpec defines detail of a corrupt action

type CorruptSpec struct {
    Corrupt string `json:"corrupt" webhook:"FloatStr"`
    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
}

func (*CorruptSpec) DeepCopy

func (in *CorruptSpec) DeepCopy() *CorruptSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorruptSpec.

func (*CorruptSpec) DeepCopyInto

func (in *CorruptSpec) DeepCopyInto(out *CorruptSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSChaos

DNSChaos is the Schema for the networkchaos API

type DNSChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a pod chaos experiment
    Spec DNSChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the chaos experiment about pods
    Status DNSChaosStatus `json:"status,omitempty"`
}

func (*DNSChaos) DeepCopy

func (in *DNSChaos) DeepCopy() *DNSChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaos.

func (*DNSChaos) DeepCopyInto

func (in *DNSChaos) DeepCopyInto(out *DNSChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSChaos) DeepCopyObject

func (in *DNSChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DNSChaos) Default

func (in *DNSChaos) Default()

func (*DNSChaos) DurationExceeded

func (in *DNSChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*DNSChaos) GetObjectMeta

func (in *DNSChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*DNSChaos) GetRemoteCluster

func (in *DNSChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*DNSChaos) GetSelectorSpecs

func (obj *DNSChaos) GetSelectorSpecs() map[string]interface{}

func (*DNSChaos) GetSpecAndMetaString

func (in *DNSChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*DNSChaos) GetStatus

func (in *DNSChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*DNSChaos) IsDeleted

func (in *DNSChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*DNSChaos) IsOneShot

func (in *DNSChaos) IsOneShot() bool

func (*DNSChaos) IsPaused

func (in *DNSChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*DNSChaos) Validate

func (in *DNSChaos) Validate() ([]string, error)

func (*DNSChaos) ValidateCreate

func (in *DNSChaos) ValidateCreate() (admission.Warnings, error)

func (*DNSChaos) ValidateDelete

func (in *DNSChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*DNSChaos) ValidateUpdate

func (in *DNSChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type DNSChaosAction

DNSChaosAction represents the chaos action about DNS.

type DNSChaosAction string
const (
    // ErrorAction represents get error when send DNS request.
    ErrorAction DNSChaosAction = "error"

    // RandomAction represents get random IP when send DNS request.
    RandomAction DNSChaosAction = "random"
)

type DNSChaosList

DNSChaosList contains a list of DNSChaos

type DNSChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []DNSChaos `json:"items"`
}

func (*DNSChaosList) DeepCopy

func (in *DNSChaosList) DeepCopy() *DNSChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosList.

func (*DNSChaosList) DeepCopyInto

func (in *DNSChaosList) DeepCopyInto(out *DNSChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSChaosList) DeepCopyList

func (in *DNSChaosList) DeepCopyList() GenericChaosList

func (*DNSChaosList) DeepCopyObject

func (in *DNSChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DNSChaosList) GetItems

func (in *DNSChaosList) GetItems() []GenericChaos

func (*DNSChaosList) ListChaos

func (in *DNSChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type DNSChaosSpec

DNSChaosSpec defines the desired state of DNSChaos

type DNSChaosSpec struct {
    // Action defines the specific DNS chaos action.
    // Supported action: error, random
    // Default action: error
    // +kubebuilder:validation:Enum=error;random
    Action DNSChaosAction `json:"action"`

    ContainerSelector `json:",inline"`

    // Duration represents the duration of the chaos action
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // Choose which domain names to take effect, support the placeholder ? and wildcard *, or the Specified domain name.
    // Note:
    //      1. The wildcard * must be at the end of the string. For example, chaos-*.org is invalid.
    //      2. if the patterns is empty, will take effect on all the domain names.
    // For example:
    // 		The value is ["google.com", "github.*", "chaos-mes?.org"],
    // 		will take effect on "google.com", "github.com" and "chaos-mesh.org"
    // +optional
    DomainNamePatterns []string `json:"patterns,omitempty"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*DNSChaosSpec) DeepCopy

func (in *DNSChaosSpec) DeepCopy() *DNSChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosSpec.

func (*DNSChaosSpec) DeepCopyInto

func (in *DNSChaosSpec) DeepCopyInto(out *DNSChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DNSChaosSpec) GetDuration

func (in *DNSChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type DNSChaosStatus

DNSChaosStatus defines the observed state of DNSChaos

type DNSChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*DNSChaosStatus) DeepCopy

func (in *DNSChaosStatus) DeepCopy() *DNSChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSChaosStatus.

func (*DNSChaosStatus) DeepCopyInto

func (in *DNSChaosStatus) DeepCopyInto(out *DNSChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Delay

type Delay string

func (*Delay) Validate

func (in *Delay) Validate(root interface{}, path *field.Path) field.ErrorList

type DelaySpec

DelaySpec defines detail of a delay action

type DelaySpec struct {
    Latency string `json:"latency" webhook:"Duration"`
    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
    // +optional
    Jitter string `json:"jitter,omitempty" default:"0ms" webhook:"Duration"`
    // +optional
    Reorder *ReorderSpec `json:"reorder,omitempty"`
}

func (*DelaySpec) DeepCopy

func (in *DelaySpec) DeepCopy() *DelaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DelaySpec.

func (*DelaySpec) DeepCopyInto

func (in *DelaySpec) DeepCopyInto(out *DelaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DesiredPhase

type DesiredPhase string
const (
    // The target of `RunningPhase` is to make all selected targets (container or pod) into "Injected" phase
    RunningPhase DesiredPhase = "Run"
    // The target of `StoppedPhase` is to make all selected targets (container or pod) into "NotInjected" phase
    StoppedPhase DesiredPhase = "Stop"
)

type Direction

Direction represents traffic direction from source to target, it could be netem, delay, loss, duplicate, corrupt or partition, check comments below for detail direction flow.

type Direction string
const (
    // To represents network packet from source to target
    To Direction = "to"

    // From represents network packet to source from target
    From Direction = "from"

    // Both represents both directions
    Both Direction = "both"
)

func (*Direction) Default

func (in *Direction) Default(root interface{}, field *reflect.StructField)

type DiskFileSpec

type DiskFileSpec struct {
    // specifies how many units of data will write into the file path. support unit: c=1, w=2, b=512, kB=1000,
    // K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024 BYTES. example : 1M | 512kB
    Size string `json:"size,omitempty"`
    // specifies the location to fill data in. if path not provided,
    // payload will read/write from/into a temp file, temp file will be deleted after writing
    Path string `json:"path,omitempty"`
}

func (*DiskFileSpec) DeepCopy

func (in *DiskFileSpec) DeepCopy() *DiskFileSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskFileSpec.

func (*DiskFileSpec) DeepCopyInto

func (in *DiskFileSpec) DeepCopyInto(out *DiskFileSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskFillSpec

type DiskFillSpec struct {
    DiskFileSpec `json:",inline"`

    // fill disk by fallocate
    FillByFallocate bool `json:"fill-by-fallocate,omitempty"`
}

func (*DiskFillSpec) DeepCopy

func (in *DiskFillSpec) DeepCopy() *DiskFillSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskFillSpec.

func (*DiskFillSpec) DeepCopyInto

func (in *DiskFillSpec) DeepCopyInto(out *DiskFillSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DiskName

type DiskName string

func (*DiskName) Validate

func (in *DiskName) Validate(root interface{}, path *field.Path) field.ErrorList

type DiskPayloadSpec

type DiskPayloadSpec struct {
    DiskFileSpec `json:",inline"`

    // specifies the number of process work on writing, default 1, only 1-255 is valid value
    PayloadProcessNum uint8 `json:"payload-process-num,omitempty"`
}

func (*DiskPayloadSpec) DeepCopy

func (in *DiskPayloadSpec) DeepCopy() *DiskPayloadSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DiskPayloadSpec.

func (*DiskPayloadSpec) DeepCopyInto

func (in *DiskPayloadSpec) DeepCopyInto(out *DiskPayloadSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DuplicateSpec

DuplicateSpec defines detail of a duplicate action

type DuplicateSpec struct {
    Duplicate string `json:"duplicate" webhook:"FloatStr"`
    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
}

func (*DuplicateSpec) DeepCopy

func (in *DuplicateSpec) DeepCopy() *DuplicateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DuplicateSpec.

func (*DuplicateSpec) DeepCopyInto

func (in *DuplicateSpec) DeepCopyInto(out *DuplicateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Duration

type Duration string

func (*Duration) Default

func (d *Duration) Default(root interface{}, field *reflect.StructField)

func (*Duration) Validate

func (d *Duration) Validate(root interface{}, path *field.Path) field.ErrorList

type EbsVolume

type EbsVolume string

func (*EbsVolume) Validate

func (in *EbsVolume) Validate(root interface{}, path *field.Path) field.ErrorList

type EmbedChaos

type EmbedChaos struct {
    // +optional
    AWSChaos *AWSChaosSpec `json:"awsChaos,omitempty"`
    // +optional
    AzureChaos *AzureChaosSpec `json:"azureChaos,omitempty"`
    // +optional
    BlockChaos *BlockChaosSpec `json:"blockChaos,omitempty"`
    // +optional
    DNSChaos *DNSChaosSpec `json:"dnsChaos,omitempty"`
    // +optional
    GCPChaos *GCPChaosSpec `json:"gcpChaos,omitempty"`
    // +optional
    HTTPChaos *HTTPChaosSpec `json:"httpChaos,omitempty"`
    // +optional
    IOChaos *IOChaosSpec `json:"ioChaos,omitempty"`
    // +optional
    JVMChaos *JVMChaosSpec `json:"jvmChaos,omitempty"`
    // +optional
    KernelChaos *KernelChaosSpec `json:"kernelChaos,omitempty"`
    // +optional
    NetworkChaos *NetworkChaosSpec `json:"networkChaos,omitempty"`
    // +optional
    PhysicalMachineChaos *PhysicalMachineChaosSpec `json:"physicalmachineChaos,omitempty"`
    // +optional
    PodChaos *PodChaosSpec `json:"podChaos,omitempty"`
    // +optional
    StressChaos *StressChaosSpec `json:"stressChaos,omitempty"`
    // +optional
    TimeChaos *TimeChaosSpec `json:"timeChaos,omitempty"`
}

func (*EmbedChaos) DeepCopy

func (in *EmbedChaos) DeepCopy() *EmbedChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbedChaos.

func (*EmbedChaos) DeepCopyInto

func (in *EmbedChaos) DeepCopyInto(out *EmbedChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*EmbedChaos) RestoreChaosSpec

func (it *EmbedChaos) RestoreChaosSpec(root interface{}) error

func (*EmbedChaos) SpawnNewList

func (it *EmbedChaos) SpawnNewList(templateType TemplateType) (GenericChaosList, error)

func (*EmbedChaos) SpawnNewObject

func (it *EmbedChaos) SpawnNewObject(templateType TemplateType) (GenericChaos, error)

func (EmbedChaos) Validate

func (in EmbedChaos) Validate(path *field.Path, chaosType string) field.ErrorList

type EmbedStatusCheck

type EmbedStatusCheck struct {
    // +optional
    HTTPStatusCheck *HTTPStatusCheck `json:"http,omitempty"`
}

func (*EmbedStatusCheck) DeepCopy

func (in *EmbedStatusCheck) DeepCopy() *EmbedStatusCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EmbedStatusCheck.

func (*EmbedStatusCheck) DeepCopyInto

func (in *EmbedStatusCheck) DeepCopyInto(out *EmbedStatusCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExpInfo

type ExpInfo struct {
    // the experiment ID
    // +optional
    UID string `json:"uid,omitempty" swaggerignore:"true"`

    // the subAction, generate automatically
    // +optional
    Action string `json:"action,omitempty" swaggerignore:"true"`

    // +ui:form:when=action=='stress-cpu'
    // +optional
    StressCPU *StressCPUSpec `json:"stress-cpu,omitempty"`

    // +ui:form:when=action=='stress-mem'
    // +optional
    StressMemory *StressMemorySpec `json:"stress-mem,omitempty"`

    // +ui:form:when=action=='disk-read-payload'
    // +optional
    DiskReadPayload *DiskPayloadSpec `json:"disk-read-payload,omitempty"`

    // +ui:form:when=action=='disk-write-payload'
    // +optional
    DiskWritePayload *DiskPayloadSpec `json:"disk-write-payload,omitempty"`

    // +ui:form:when=action=='disk-fill'
    // +optional
    DiskFill *DiskFillSpec `json:"disk-fill,omitempty"`

    // +ui:form:when=action=='network-corrupt'
    // +optional
    NetworkCorrupt *NetworkCorruptSpec `json:"network-corrupt,omitempty"`

    // +ui:form:when=action=='network-duplicate'
    // +optional
    NetworkDuplicate *NetworkDuplicateSpec `json:"network-duplicate,omitempty"`

    // +ui:form:when=action=='network-loss'
    // +optional
    NetworkLoss *NetworkLossSpec `json:"network-loss,omitempty"`

    // +ui:form:when=action=='network-delay'
    // +optional
    NetworkDelay *NetworkDelaySpec `json:"network-delay,omitempty"`

    // +ui:form:when=action=='network-partition'
    // +optional
    NetworkPartition *NetworkPartitionSpec `json:"network-partition,omitempty"`

    // +ui:form:when=action=='network-dns'
    // +optional
    NetworkDNS *NetworkDNSSpec `json:"network-dns,omitempty"`

    // +ui:form:when=action=='network-bandwidth'
    // +optional
    NetworkBandwidth *NetworkBandwidthSpec `json:"network-bandwidth,omitempty"`

    // +ui:form:when=action=='network-flood'
    // +optional
    NetworkFlood *NetworkFloodSpec `json:"network-flood,omitempty"`

    // +ui:form:when=action=='network-down'
    // +optional
    NetworkDown *NetworkDownSpec `json:"network-down,omitempty"`

    // +ui:form:when=action=='process'
    // +optional
    Process *ProcessSpec `json:"process,omitempty"`

    // +ui:form:when=action=='jvm-exception'
    // +optional
    JVMException *JVMExceptionSpec `json:"jvm-exception,omitempty"`

    // +ui:form:when=action=='jvm-gc'
    // +optional
    JVMGC *JVMGCSpec `json:"jvm-gc,omitempty"`

    // +ui:form:when=action=='jvm-latency'
    // +optional
    JVMLatency *JVMLatencySpec `json:"jvm-latency,omitempty"`

    // +ui:form:when=action=='jvm-return'
    // +optional
    JVMReturn *JVMReturnSpec `json:"jvm-return,omitempty"`

    // +ui:form:when=action=='jvm-stress'
    // +optional
    JVMStress *JVMStressSpec `json:"jvm-stress,omitempty"`

    // +ui:form:when=action=='jvm-rule-data'
    // +optional
    JVMRuleData *JVMRuleDataSpec `json:"jvm-rule-data,omitempty"`

    // +ui:form:when=action=='jvm-mysql'
    // +optional
    JVMMySQL *PMJVMMySQLSpec `json:"jvm-mysql,omitempty"`

    // +ui:form:when=action=='clock'
    // +optional
    Clock *ClockSpec `json:"clock,omitempty"`

    // +ui:form:when=action=='redis-expiration'
    // +optional
    RedisExpiration *RedisExpirationSpec `json:"redis-expiration,omitempty"`

    // +ui:form:when=action=='redis-penetration'
    // +optional
    RedisPenetration *RedisPenetrationSpec `json:"redis-penetration,omitempty"`

    // +ui:form:when=action=='redis-cacheLimit'
    // +optional
    RedisCacheLimit *RedisCacheLimitSpec `json:"redis-cacheLimit,omitempty"`

    // +ui:form:when=action=='redis-restart'
    // +optional
    RedisSentinelRestart *RedisSentinelRestartSpec `json:"redis-restart,omitempty"`

    // +ui:form:when=action=='redis-stop'
    // +optional
    RedisSentinelStop *RedisSentinelStopSpec `json:"redis-stop,omitempty"`

    // +ui:form:when=action=='kafka-fill'
    // +optional
    KafkaFill *KafkaFillSpec `json:"kafka-fill,omitempty"`

    // +ui:form:when=action=='kafka-flood'
    // +optional
    KafkaFlood *KafkaFloodSpec `json:"kafka-flood,omitempty"`

    // +ui:form:when=action=='kafka-io'
    // +optional
    KafkaIO *KafkaIOSpec `json:"kafka-io,omitempty"`

    // +ui:form:when=action=='http-abort'
    // +optional
    HTTPAbort *HTTPAbortSpec `json:"http-abort,omitempty"`

    // +ui:form:when=action=='http-delay'
    // +optional
    HTTPDelay *HTTPDelaySpec `json:"http-delay,omitempty"`

    // +ui:form:when=action=='http-config'
    // +optional
    HTTPConfig *HTTPConfigSpec `json:"http-config,omitempty"`

    // +ui:form:when=action=='http-request'
    // +optional
    HTTPRequest *HTTPRequestSpec `json:"http-request,omitempty"`

    // +ui:form:when=action=='file-create'
    // +optional
    FileCreate *FileCreateSpec `json:"file-create,omitempty"`

    // +ui:form:when=action=='file-modify'
    // +optional
    FileModifyPrivilege *FileModifyPrivilegeSpec `json:"file-modify,omitempty"`

    // +ui:form:when=action=='file-delete'
    // +optional
    FileDelete *FileDeleteSpec `json:"file-delete,omitempty"`

    // +ui:form:when=action=='file-create'
    // +optional
    FileRename *FileRenameSpec `json:"file-rename,omitempty"`

    // +ui:form:when=action=='file-append'
    // +optional
    FileAppend *FileAppendSpec `json:"file-append,omitempty"`

    // +ui:form:when=action=='file-replace'
    // +optional
    FileReplace *FileReplaceSpec `json:"file-replace,omitempty"`

    // +ui:form:when=action=='vm'
    // +optional
    VM *VMSpec `json:"vm,omitempty"`

    // +ui:form:when=action=='user_defined'
    // +optional
    UserDefined *UserDefinedSpec `json:"user_defined,omitempty"`
}

func (*ExpInfo) DeepCopy

func (in *ExpInfo) DeepCopy() *ExpInfo

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpInfo.

func (*ExpInfo) DeepCopyInto

func (in *ExpInfo) DeepCopyInto(out *ExpInfo)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExperimentStatus

type ExperimentStatus struct {
    // +kubebuilder:validation:Enum=Run;Stop
    DesiredPhase `json:"desiredPhase,omitempty"`
    // +optional
    // Records are used to track the running status
    Records []*Record `json:"containerRecords,omitempty"`
}

func (*ExperimentStatus) DeepCopy

func (in *ExperimentStatus) DeepCopy() *ExperimentStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExperimentStatus.

func (*ExperimentStatus) DeepCopyInto

func (in *ExperimentStatus) DeepCopyInto(out *ExperimentStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailKernRequest

FailKernRequest defines the injection conditions

type FailKernRequest struct {
    // FailType indicates what to fail, can be set to '0' / '1' / '2'
    // If `0`, indicates slab to fail (should_failslab)
    // If `1`, indicates alloc_page to fail (should_fail_alloc_page)
    // If `2`, indicates bio to fail (should_fail_bio)
    // You can read:
    //   1. https://www.kernel.org/doc/html/latest/fault-injection/fault-injection.html
    //   2. http://github.com/iovisor/bcc/blob/master/tools/inject_example.txt
    // to learn more
    // +kubebuilder:validation:Maximum=2
    // +kubebuilder:validation:Minimum=0
    FailType int32 `json:"failtype"`

    // Headers indicates the appropriate kernel headers you need.
    // Eg: "linux/mmzone.h", "linux/blkdev.h" and so on
    Headers []string `json:"headers,omitempty"`

    // Callchain indicate a special call chain, such as:
    //     ext4_mount
    //       -> mount_subtree
    //          -> ...
    //             -> should_failslab
    // With an optional set of predicates and an optional set of
    // parameters, which used with predicates. You can read call chan
    // and predicate examples from https://github.com/chaos-mesh/bpfki/tree/develop/examples
    // to learn more.
    // If no special call chain, just keep Callchain empty, which means it will fail at any call chain
    // with slab alloc (eg: kmalloc).
    Callchain []Frame `json:"callchain,omitempty"`

    // Probability indicates the fails with probability.
    // If you want 1%, please set this field with 1.
    // +kubebuilder:validation:Minimum=0
    // +kubebuilder:validation:Maximum=100
    Probability uint32 `json:"probability,omitempty"`

    // Times indicates the max times of fails.
    // +kubebuilder:validation:Minimum=0
    Times uint32 `json:"times,omitempty"`
}

func (*FailKernRequest) DeepCopy

func (in *FailKernRequest) DeepCopy() *FailKernRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailKernRequest.

func (*FailKernRequest) DeepCopyInto

func (in *FailKernRequest) DeepCopyInto(out *FailKernRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileAppendSpec

type FileAppendSpec struct {
    // FileName is the name of the file to be created, modified, deleted, renamed, or appended.
    FileName string `json:"file-name,omitempty"`
    // Data is the data for append.
    Data string `json:"data,omitempty"`
    // Count is the number of times to append the data.
    Count int `json:"count,omitempty"`
}

func (*FileAppendSpec) DeepCopy

func (in *FileAppendSpec) DeepCopy() *FileAppendSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileAppendSpec.

func (*FileAppendSpec) DeepCopyInto

func (in *FileAppendSpec) DeepCopyInto(out *FileAppendSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileCreateSpec

type FileCreateSpec struct {
    // FileName is the name of the file to be created, modified, deleted, renamed, or appended.
    FileName string `json:"file-name,omitempty"`
    // DirName is the directory name to create or delete.
    DirName string `json:"dir-name,omitempty"`
}

func (*FileCreateSpec) DeepCopy

func (in *FileCreateSpec) DeepCopy() *FileCreateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileCreateSpec.

func (*FileCreateSpec) DeepCopyInto

func (in *FileCreateSpec) DeepCopyInto(out *FileCreateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileDeleteSpec

type FileDeleteSpec struct {
    // FileName is the name of the file to be created, modified, deleted, renamed, or appended.
    FileName string `json:"file-name,omitempty"`
    // DirName is the directory name to create or delete.
    DirName string `json:"dir-name,omitempty"`
}

func (*FileDeleteSpec) DeepCopy

func (in *FileDeleteSpec) DeepCopy() *FileDeleteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileDeleteSpec.

func (*FileDeleteSpec) DeepCopyInto

func (in *FileDeleteSpec) DeepCopyInto(out *FileDeleteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileModifyPrivilegeSpec

type FileModifyPrivilegeSpec struct {
    // FileName is the name of the file to be created, modified, deleted, renamed, or appended.
    FileName string `json:"file-name,omitempty"`
    // Privilege is the file privilege to be set.
    Privilege uint32 `json:"privilege,omitempty"`
}

func (*FileModifyPrivilegeSpec) DeepCopy

func (in *FileModifyPrivilegeSpec) DeepCopy() *FileModifyPrivilegeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileModifyPrivilegeSpec.

func (*FileModifyPrivilegeSpec) DeepCopyInto

func (in *FileModifyPrivilegeSpec) DeepCopyInto(out *FileModifyPrivilegeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileRenameSpec

type FileRenameSpec struct {
    // SourceFile is the name need to be renamed.
    SourceFile string `json:"source-file,omitempty"`
    // DestFile is the name to be renamed.
    DestFile string `json:"dest-file,omitempty"`
}

func (*FileRenameSpec) DeepCopy

func (in *FileRenameSpec) DeepCopy() *FileRenameSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileRenameSpec.

func (*FileRenameSpec) DeepCopyInto

func (in *FileRenameSpec) DeepCopyInto(out *FileRenameSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileReplaceSpec

type FileReplaceSpec struct {
    // FileName is the name of the file to be created, modified, deleted, renamed, or appended.
    FileName string `json:"file-name,omitempty"`
    // OriginStr is the origin string of the file.
    OriginStr string `json:"origin-string,omitempty"`
    // DestStr is the destination string of the file.
    DestStr string `json:"dest-string,omitempty"`
    // Line is the line number of the file to be replaced.
    Line int `json:"line,omitempty"`
}

func (*FileReplaceSpec) DeepCopy

func (in *FileReplaceSpec) DeepCopy() *FileReplaceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileReplaceSpec.

func (*FileReplaceSpec) DeepCopyInto

func (in *FileReplaceSpec) DeepCopyInto(out *FileReplaceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FileType

FileType represents type of file

type FileType string
const (
    NamedPipe   FileType = "namedPipe"
    CharDevice  FileType = "charDevice"
    BlockDevice FileType = "blockDevice"
    Directory   FileType = "directory"
    RegularFile FileType = "regularFile"
    TSymlink    FileType = "symlink"
    Socket      FileType = "socket"
)

type FillingType

FillingType represents type of data is filled for incorrectness

type FillingType string
const (
    // All zero
    Zero FillingType = "zero"

    // Random octets
    Random FillingType = "random"
)

type Filter

Filter represents a filter of IOChaos action, which will define the scope of an IOChaosAction

type Filter struct {
    // Path represents a glob of injecting path
    Path string `json:"path"`

    // Methods represents the method that the action will inject in
    // +optional
    Methods []IoMethod `json:"methods,omitempty"`

    // Percent represents the percent probability of injecting this action
    Percent int `json:"percent"`
}

func (*Filter) DeepCopy

func (in *Filter) DeepCopy() *Filter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Filter.

func (*Filter) DeepCopyInto

func (in *Filter) DeepCopyInto(out *Filter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FloatStr

type FloatStr string

func (*FloatStr) Default

func (f *FloatStr) Default(root interface{}, field *reflect.StructField)

func (*FloatStr) Validate

func (f *FloatStr) Validate(root interface{}, path *field.Path) field.ErrorList

type Frame

Frame defines the function signature and predicate in function's body

type Frame struct {
    // Funcname can be find from kernel source or `/proc/kallsyms`, such as `ext4_mount`
    Funcname string `json:"funcname,omitempty"`

    // Parameters is used with predicate, for example, if you want to inject slab error
    // in `d_alloc_parallel(struct dentry *parent, const struct qstr *name)` with a special
    // name `bananas`, you need to set it to `struct dentry *parent, const struct qstr *name`
    // otherwise omit it.
    Parameters string `json:"parameters,omitempty"`

    // Predicate will access the arguments of this Frame, example with Parameters's, you can
    // set it to `STRNCMP(name->name, "bananas", 8)` to make inject only with it, or omit it
    // to inject for all d_alloc_parallel call chain.
    Predicate string `json:"predicate,omitempty"`
}

func (*Frame) DeepCopy

func (in *Frame) DeepCopy() *Frame

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Frame.

func (*Frame) DeepCopyInto

func (in *Frame) DeepCopyInto(out *Frame)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPChaos

GCPChaos is the Schema for the gcpchaos API

type GCPChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   GCPChaosSpec   `json:"spec"`
    Status GCPChaosStatus `json:"status,omitempty"`
}

func (*GCPChaos) DeepCopy

func (in *GCPChaos) DeepCopy() *GCPChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaos.

func (*GCPChaos) DeepCopyInto

func (in *GCPChaos) DeepCopyInto(out *GCPChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPChaos) DeepCopyObject

func (in *GCPChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GCPChaos) Default

func (in *GCPChaos) Default()

func (*GCPChaos) DurationExceeded

func (in *GCPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*GCPChaos) GetCustomStatus

func (obj *GCPChaos) GetCustomStatus() interface{}

func (*GCPChaos) GetObjectMeta

func (in *GCPChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*GCPChaos) GetRemoteCluster

func (in *GCPChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*GCPChaos) GetSelectorSpecs

func (obj *GCPChaos) GetSelectorSpecs() map[string]interface{}

func (*GCPChaos) GetSpecAndMetaString

func (in *GCPChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*GCPChaos) GetStatus

func (in *GCPChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*GCPChaos) IsDeleted

func (in *GCPChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*GCPChaos) IsOneShot

func (in *GCPChaos) IsOneShot() bool

func (*GCPChaos) IsPaused

func (in *GCPChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*GCPChaos) Validate

func (in *GCPChaos) Validate() ([]string, error)

func (*GCPChaos) ValidateCreate

func (in *GCPChaos) ValidateCreate() (admission.Warnings, error)

func (*GCPChaos) ValidateDelete

func (in *GCPChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*GCPChaos) ValidateUpdate

func (in *GCPChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type GCPChaosAction

GCPChaosAction represents the chaos action about gcp.

type GCPChaosAction string
const (
    // NodeStop represents the chaos action of stopping the node.
    NodeStop GCPChaosAction = "node-stop"
    // NodeReset represents the chaos action of resetting the node.
    NodeReset GCPChaosAction = "node-reset"
    // DiskLoss represents the chaos action of detaching the disk.
    DiskLoss GCPChaosAction = "disk-loss"
)

func (GCPChaosAction) Validate

func (in GCPChaosAction) Validate(root interface{}, path *field.Path) field.ErrorList

validateDeviceName validates the gcp chaos actions

type GCPChaosList

GCPChaosList contains a list of GCPChaos

type GCPChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []GCPChaos `json:"items"`
}

func (*GCPChaosList) DeepCopy

func (in *GCPChaosList) DeepCopy() *GCPChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosList.

func (*GCPChaosList) DeepCopyInto

func (in *GCPChaosList) DeepCopyInto(out *GCPChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPChaosList) DeepCopyList

func (in *GCPChaosList) DeepCopyList() GenericChaosList

func (*GCPChaosList) DeepCopyObject

func (in *GCPChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GCPChaosList) GetItems

func (in *GCPChaosList) GetItems() []GenericChaos

func (*GCPChaosList) ListChaos

func (in *GCPChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type GCPChaosSpec

GCPChaosSpec is the content of the specification for a GCPChaos

type GCPChaosSpec struct {
    // Action defines the specific gcp chaos action.
    // Supported action: node-stop / node-reset / disk-loss
    // Default action: node-stop
    // +kubebuilder:validation:Enum=node-stop;node-reset;disk-loss
    Action GCPChaosAction `json:"action"`

    // Duration represents the duration of the chaos action.
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // SecretName defines the name of kubernetes secret. It is used for GCP credentials.
    // +optional
    SecretName *string `json:"secretName,omitempty"`

    GCPSelector `json:",inline"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*GCPChaosSpec) DeepCopy

func (in *GCPChaosSpec) DeepCopy() *GCPChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosSpec.

func (*GCPChaosSpec) DeepCopyInto

func (in *GCPChaosSpec) DeepCopyInto(out *GCPChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPChaosSpec) GetDuration

func (in *GCPChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type GCPChaosStatus

GCPChaosStatus represents the status of a GCPChaos

type GCPChaosStatus struct {
    ChaosStatus `json:",inline"`

    // The attached disk info strings.
    // Needed in disk-loss.
    AttachedDisksStrings []string `json:"attachedDiskStrings,omitempty"`
}

func (*GCPChaosStatus) DeepCopy

func (in *GCPChaosStatus) DeepCopy() *GCPChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPChaosStatus.

func (*GCPChaosStatus) DeepCopyInto

func (in *GCPChaosStatus) DeepCopyInto(out *GCPChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GCPDeviceNames

type GCPDeviceNames []string

func (GCPDeviceNames) DeepCopy

func (in GCPDeviceNames) DeepCopy() GCPDeviceNames

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPDeviceNames.

func (GCPDeviceNames) DeepCopyInto

func (in GCPDeviceNames) DeepCopyInto(out *GCPDeviceNames)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPDeviceNames) Validate

func (in *GCPDeviceNames) Validate(root interface{}, path *field.Path) field.ErrorList

validateDeviceName validates the DeviceName

type GCPSelector

type GCPSelector struct {
    // Project defines the ID of gcp project.
    Project string `json:"project"`

    // Zone defines the zone of gcp project.
    Zone string `json:"zone"`

    // Instance defines the name of the instance
    Instance string `json:"instance"`

    // The device name of disks to detach.
    // Needed in disk-loss.
    // +ui:form:when=action=='disk-loss'
    // +optional
    DeviceNames []string `json:"deviceNames,omitempty" webhook:"GCPDeviceNames,nilable"`
}

func (*GCPSelector) DeepCopy

func (in *GCPSelector) DeepCopy() *GCPSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPSelector.

func (*GCPSelector) DeepCopyInto

func (in *GCPSelector) DeepCopyInto(out *GCPSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GCPSelector) Id

func (selector *GCPSelector) Id() string

type GenericChaos

GenericChaos could be a place holder for any kubernetes Kind +kubebuilder:object:generate=false

type GenericChaos interface {
    runtime.Object
    metav1.Object
}

type GenericChaosList

GenericChaosList only use to list GenericChaos by certain EmbedChaos +kubebuilder:object:generate=false

type GenericChaosList interface {
    runtime.Object
    metav1.ListInterface
    GetItems() []GenericChaos
    DeepCopyList() GenericChaosList
}

type GenericSelectorSpec

GenericSelectorSpec defines some selectors to select objects.

type GenericSelectorSpec struct {
    // Namespaces is a set of namespace to which objects belong.
    // +optional
    Namespaces []string `json:"namespaces,omitempty"`

    // Map of string keys and values that can be used to select objects.
    // A selector based on fields.
    // +optional
    FieldSelectors map[string]string `json:"fieldSelectors,omitempty"`

    // Map of string keys and values that can be used to select objects.
    // A selector based on labels.
    // +optional
    LabelSelectors map[string]string `json:"labelSelectors,omitempty"`

    // a slice of label selector expressions that can be used to select objects.
    // A list of selectors based on set-based label expressions.
    // +optional
    ExpressionSelectors LabelSelectorRequirements `json:"expressionSelectors,omitempty" swaggerignore:"true"`

    // Map of string keys and values that can be used to select objects.
    // A selector based on annotations.
    // +optional
    AnnotationSelectors map[string]string `json:"annotationSelectors,omitempty"`
}

func (*GenericSelectorSpec) DeepCopy

func (in *GenericSelectorSpec) DeepCopy() *GenericSelectorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericSelectorSpec.

func (*GenericSelectorSpec) DeepCopyInto

func (in *GenericSelectorSpec) DeepCopyInto(out *GenericSelectorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPAbortSpec

type HTTPAbortSpec struct {
    HTTPCommonSpec `json:",inline"`
}

func (*HTTPAbortSpec) DeepCopy

func (in *HTTPAbortSpec) DeepCopy() *HTTPAbortSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPAbortSpec.

func (*HTTPAbortSpec) DeepCopyInto

func (in *HTTPAbortSpec) DeepCopyInto(out *HTTPAbortSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPChaos

HTTPChaos is the Schema for the HTTPchaos API

type HTTPChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   HTTPChaosSpec   `json:"spec,omitempty"`
    Status HTTPChaosStatus `json:"status,omitempty"`
}

func (*HTTPChaos) DeepCopy

func (in *HTTPChaos) DeepCopy() *HTTPChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaos.

func (*HTTPChaos) DeepCopyInto

func (in *HTTPChaos) DeepCopyInto(out *HTTPChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPChaos) DeepCopyObject

func (in *HTTPChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HTTPChaos) Default

func (in *HTTPChaos) Default()

func (*HTTPChaos) DurationExceeded

func (in *HTTPChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*HTTPChaos) GetCustomStatus

func (obj *HTTPChaos) GetCustomStatus() interface{}

func (*HTTPChaos) GetObjectMeta

func (in *HTTPChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*HTTPChaos) GetRemoteCluster

func (in *HTTPChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*HTTPChaos) GetSelectorSpecs

func (obj *HTTPChaos) GetSelectorSpecs() map[string]interface{}

func (*HTTPChaos) GetSpecAndMetaString

func (in *HTTPChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*HTTPChaos) GetStatus

func (in *HTTPChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*HTTPChaos) IsDeleted

func (in *HTTPChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*HTTPChaos) IsOneShot

func (in *HTTPChaos) IsOneShot() bool

func (*HTTPChaos) IsPaused

func (in *HTTPChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*HTTPChaos) Validate

func (in *HTTPChaos) Validate() ([]string, error)

func (*HTTPChaos) ValidateCreate

func (in *HTTPChaos) ValidateCreate() (admission.Warnings, error)

func (*HTTPChaos) ValidateDelete

func (in *HTTPChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*HTTPChaos) ValidateUpdate

func (in *HTTPChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type HTTPChaosList

HTTPChaosList contains a list of HTTPChaos

type HTTPChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []HTTPChaos `json:"items"`
}

func (*HTTPChaosList) DeepCopy

func (in *HTTPChaosList) DeepCopy() *HTTPChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosList.

func (*HTTPChaosList) DeepCopyInto

func (in *HTTPChaosList) DeepCopyInto(out *HTTPChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPChaosList) DeepCopyList

func (in *HTTPChaosList) DeepCopyList() GenericChaosList

func (*HTTPChaosList) DeepCopyObject

func (in *HTTPChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*HTTPChaosList) GetItems

func (in *HTTPChaosList) GetItems() []GenericChaos

func (*HTTPChaosList) ListChaos

func (in *HTTPChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type HTTPChaosSpec

type HTTPChaosSpec struct {
    PodSelector `json:",inline"`

    // Target is the object to be selected and injected.
    // +kubebuilder:validation:Enum=Request;Response
    Target PodHttpChaosTarget `json:"target"`

    PodHttpChaosActions `json:",inline"`

    // Port represents the target port to be proxy of.
    Port int32 `json:"port,omitempty" webhook:"Port"`

    // Path is a rule to select target by uri path in http request.
    // +optional
    Path *string `json:"path,omitempty"`

    // Method is a rule to select target by http method in request.
    // +optional
    Method *string `json:"method,omitempty" webhook:"HTTPMethod"`

    // Code is a rule to select target by http status code in response.
    // +optional
    Code *int32 `json:"code,omitempty"`

    // RequestHeaders is a rule to select target by http headers in request.
    // The key-value pairs represent header name and header value pairs.
    // +optional
    RequestHeaders map[string]string `json:"request_headers,omitempty"`

    // ResponseHeaders is a rule to select target by http headers in response.
    // The key-value pairs represent header name and header value pairs.
    // +optional
    ResponseHeaders map[string]string `json:"response_headers,omitempty"`

    // TLS is the tls config,
    // will override PodHttpChaos if there are multiple HTTPChaos experiments are applied
    // +optional
    TLS *PodHttpChaosTLS `json:"tls,omitempty"`

    // Duration represents the duration of the chaos action.
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*HTTPChaosSpec) DeepCopy

func (in *HTTPChaosSpec) DeepCopy() *HTTPChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosSpec.

func (*HTTPChaosSpec) DeepCopyInto

func (in *HTTPChaosSpec) DeepCopyInto(out *HTTPChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPChaosSpec) GetDuration

func (in *HTTPChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type HTTPChaosStatus

type HTTPChaosStatus struct {
    ChaosStatus `json:",inline"`

    // Instances always specifies podhttpchaos generation or empty
    // +optional
    Instances map[string]int64 `json:"instances,omitempty"`
}

func (*HTTPChaosStatus) DeepCopy

func (in *HTTPChaosStatus) DeepCopy() *HTTPChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPChaosStatus.

func (*HTTPChaosStatus) DeepCopyInto

func (in *HTTPChaosStatus) DeepCopyInto(out *HTTPChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCommonSpec

type HTTPCommonSpec struct {
    // Composed with one of the port of HTTP connection, we will only attack HTTP connection with port inside proxy_ports
    ProxyPorts []uint `json:"proxy_ports"`
    // HTTP target: Request or Response
    Target string `json:"target"`
    // The TCP port that the target service listens on
    Port int32 `json:"port,omitempty"`
    // Match path of Uri with wildcard matches
    Path string `json:"path,omitempty"`
    // HTTP method
    Method string `json:"method,omitempty"`
    // Code is a rule to select target by http status code in response
    Code string `json:"code,omitempty"`
}

func (*HTTPCommonSpec) DeepCopy

func (in *HTTPCommonSpec) DeepCopy() *HTTPCommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCommonSpec.

func (*HTTPCommonSpec) DeepCopyInto

func (in *HTTPCommonSpec) DeepCopyInto(out *HTTPCommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPConfigSpec

type HTTPConfigSpec struct {
    // The config file path
    FilePath string `json:"file_path,omitempty"`
}

func (*HTTPConfigSpec) DeepCopy

func (in *HTTPConfigSpec) DeepCopy() *HTTPConfigSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPConfigSpec.

func (*HTTPConfigSpec) DeepCopyInto

func (in *HTTPConfigSpec) DeepCopyInto(out *HTTPConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPCriteria

type HTTPCriteria struct {
    // StatusCode defines the expected http status code for the request.
    // A statusCode string could be a single code (e.g. 200), or
    // an inclusive range (e.g. 200-400, both `200` and `400` are included).
    StatusCode string `json:"statusCode" webhook:"StatusCode"`
}

func (*HTTPCriteria) DeepCopy

func (in *HTTPCriteria) DeepCopy() *HTTPCriteria

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPCriteria.

func (*HTTPCriteria) DeepCopyInto

func (in *HTTPCriteria) DeepCopyInto(out *HTTPCriteria)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPDelaySpec

type HTTPDelaySpec struct {
    HTTPCommonSpec `json:",inline"`
    // Delay represents the delay of the target request/response
    Delay string `json:"delay"`
}

func (*HTTPDelaySpec) DeepCopy

func (in *HTTPDelaySpec) DeepCopy() *HTTPDelaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPDelaySpec.

func (*HTTPDelaySpec) DeepCopyInto

func (in *HTTPDelaySpec) DeepCopyInto(out *HTTPDelaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPMethod

type HTTPMethod string

func (*HTTPMethod) Validate

func (in *HTTPMethod) Validate(root interface{}, path *field.Path) field.ErrorList

type HTTPRequestMethod

type HTTPRequestMethod string

type HTTPRequestSpec

used for HTTP request, now only support GET

type HTTPRequestSpec struct {
    // Request to send"
    URL string `json:"url,omitempty"`
    // Enable connection pool
    EnableConnPool bool `json:"enable-conn-pool,omitempty"`
    // The number of requests to send
    Count int `json:"count,omitempty"`
}

func (*HTTPRequestSpec) DeepCopy

func (in *HTTPRequestSpec) DeepCopy() *HTTPRequestSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRequestSpec.

func (*HTTPRequestSpec) DeepCopyInto

func (in *HTTPRequestSpec) DeepCopyInto(out *HTTPRequestSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPStatusCheck

type HTTPStatusCheck struct {
    RequestUrl string `json:"url"`

    // +optional
    // +kubebuilder:validation:Enum=GET;POST
    // +kubebuilder:default=GET
    RequestMethod HTTPRequestMethod `json:"method,omitempty"`
    // +optional
    RequestHeaders http.Header `json:"headers,omitempty"`
    // +optional
    RequestBody string `json:"body,omitempty"`
    // Criteria defines how to determine the result of the status check.
    Criteria HTTPCriteria `json:"criteria"`
}

func (*HTTPStatusCheck) DeepCopy

func (in *HTTPStatusCheck) DeepCopy() *HTTPStatusCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPStatusCheck.

func (*HTTPStatusCheck) DeepCopyInto

func (in *HTTPStatusCheck) DeepCopyInto(out *HTTPStatusCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPStatusCheck) Validate

func (in *HTTPStatusCheck) Validate(root interface{}, path *field.Path) field.ErrorList

type IOChaos

IOChaos is the Schema for the iochaos API

type IOChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   IOChaosSpec   `json:"spec,omitempty"`
    Status IOChaosStatus `json:"status,omitempty"`
}

func (*IOChaos) DeepCopy

func (in *IOChaos) DeepCopy() *IOChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaos.

func (*IOChaos) DeepCopyInto

func (in *IOChaos) DeepCopyInto(out *IOChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IOChaos) DeepCopyObject

func (in *IOChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*IOChaos) Default

func (in *IOChaos) Default()

func (*IOChaos) DurationExceeded

func (in *IOChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*IOChaos) GetCustomStatus

func (obj *IOChaos) GetCustomStatus() interface{}

func (*IOChaos) GetObjectMeta

func (in *IOChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*IOChaos) GetRemoteCluster

func (in *IOChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*IOChaos) GetSelectorSpecs

func (obj *IOChaos) GetSelectorSpecs() map[string]interface{}

func (*IOChaos) GetSpecAndMetaString

func (in *IOChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*IOChaos) GetStatus

func (in *IOChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*IOChaos) IsDeleted

func (in *IOChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*IOChaos) IsOneShot

func (in *IOChaos) IsOneShot() bool

func (*IOChaos) IsPaused

func (in *IOChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*IOChaos) Validate

func (in *IOChaos) Validate() ([]string, error)

func (*IOChaos) ValidateCreate

func (in *IOChaos) ValidateCreate() (admission.Warnings, error)

func (*IOChaos) ValidateDelete

func (in *IOChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*IOChaos) ValidateUpdate

func (in *IOChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type IOChaosAction

IOChaosAction defines a possible action of IOChaos

type IOChaosAction struct {
    Type IOChaosType `json:"type"`

    Filter `json:",inline"`

    // Faults represents the fault to inject
    // +optional
    Faults []IoFault `json:"faults,omitempty"`

    // Latency represents the latency to inject
    // +optional
    Latency string `json:"latency,omitempty"`

    // AttrOverride represents the attribution to override
    // +optional
    *AttrOverrideSpec `json:",inline"`

    // MistakeSpec represents the mistake to inject
    // +optional
    *MistakeSpec `json:"mistake,omitempty"`

    // Source represents the source of current rules
    Source string `json:"source,omitempty"`
}

func (*IOChaosAction) DeepCopy

func (in *IOChaosAction) DeepCopy() *IOChaosAction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosAction.

func (*IOChaosAction) DeepCopyInto

func (in *IOChaosAction) DeepCopyInto(out *IOChaosAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IOChaosList

IOChaosList contains a list of IOChaos

type IOChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []IOChaos `json:"items"`
}

func (*IOChaosList) DeepCopy

func (in *IOChaosList) DeepCopy() *IOChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosList.

func (*IOChaosList) DeepCopyInto

func (in *IOChaosList) DeepCopyInto(out *IOChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IOChaosList) DeepCopyList

func (in *IOChaosList) DeepCopyList() GenericChaosList

func (*IOChaosList) DeepCopyObject

func (in *IOChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*IOChaosList) GetItems

func (in *IOChaosList) GetItems() []GenericChaos

func (*IOChaosList) ListChaos

func (in *IOChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type IOChaosSpec

IOChaosSpec defines the desired state of IOChaos

type IOChaosSpec struct {
    ContainerSelector `json:",inline"`

    // Action defines the specific pod chaos action.
    // Supported action: latency / fault / attrOverride / mistake
    // +kubebuilder:validation:Enum=latency;fault;attrOverride;mistake
    Action IOChaosType `json:"action"`

    // Delay defines the value of I/O chaos action delay.
    // A delay string is a possibly signed sequence of
    // decimal numbers, each with optional fraction and a unit suffix,
    // such as "300ms".
    // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    // +ui:form:when=action=='latency'
    // +optional
    Delay string `json:"delay,omitempty" webhook:"Duration"`

    // Errno defines the error code that returned by I/O action.
    // refer to: https://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/unix_system_errors.html
    // +ui:form:when=action=='fault'
    // +optional
    Errno uint32 `json:"errno,omitempty" webhook:"IOErrno"`

    // Attr defines the overrided attribution
    // +ui:form:when=action=='attrOverride'
    // +optional
    Attr *AttrOverrideSpec `json:"attr,omitempty"`

    // Mistake defines what types of incorrectness are injected to IO operations
    // +ui:form:when=action=='mistake'
    // +optional
    Mistake *MistakeSpec `json:"mistake,omitempty"`

    // Path defines the path of files for injecting I/O chaos action.
    // +optional
    Path string `json:"path,omitempty"`

    // Methods defines the I/O methods for injecting I/O chaos action.
    // default: all I/O methods.
    // +optional
    Methods []IoMethod `json:"methods,omitempty" faker:"ioMethods"`

    // Percent defines the percentage of injection errors and provides a number from 0-100.
    // default: 100.
    // +optional
    // +kubebuilder:default=100
    Percent int `json:"percent,omitempty" webhook:"Percent"`

    // VolumePath represents the mount path of injected volume
    VolumePath string `json:"volumePath"`

    // Duration represents the duration of the chaos action.
    // It is required when the action is `PodFailureAction`.
    // A duration string is a possibly signed sequence of
    // decimal numbers, each with optional fraction and a unit suffix,
    // such as "300ms", "-1.5h" or "2h45m".
    // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*IOChaosSpec) DeepCopy

func (in *IOChaosSpec) DeepCopy() *IOChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosSpec.

func (*IOChaosSpec) DeepCopyInto

func (in *IOChaosSpec) DeepCopyInto(out *IOChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IOChaosSpec) GetDuration

func (in *IOChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type IOChaosStatus

IOChaosStatus defines the observed state of IOChaos

type IOChaosStatus struct {
    ChaosStatus `json:",inline"`

    // Instances always specifies podiochaos generation or empty
    // +optional
    Instances map[string]int64 `json:"instances,omitempty"`
}

func (*IOChaosStatus) DeepCopy

func (in *IOChaosStatus) DeepCopy() *IOChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IOChaosStatus.

func (*IOChaosStatus) DeepCopyInto

func (in *IOChaosStatus) DeepCopyInto(out *IOChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IOChaosType

IOChaosType represents the type of IOChaos Action

type IOChaosType string
const (
    // IoLatency represents injecting latency for io operation
    IoLatency IOChaosType = "latency"

    // IoFaults represents injecting faults for io operation
    IoFaults IOChaosType = "fault"

    // IoAttrOverride represents replacing attribution for io operation
    IoAttrOverride IOChaosType = "attrOverride"

    // IoMistake represents injecting incorrect read or write for io operation
    IoMistake IOChaosType = "mistake"
)

type IOErrno

type IOErrno uint32

func (*IOErrno) Validate

func (in *IOErrno) Validate(root interface{}, path *field.Path) field.ErrorList

type IPSetType

IPSetType represents the type of IP set

type IPSetType string
const (
    SetIPSet     IPSetType = "list:set"
    NetPortIPSet IPSetType = "hash:net,port"
    NetIPSet     IPSetType = "hash:net"
)

type InnerObject

InnerObject is basic Object for the Reconciler

type InnerObject interface {
    StatefulObject
    IsDeleted() bool
    IsPaused() bool
    DurationExceeded(time.Time) (bool, time.Duration, error)
    IsOneShot() bool
}

type InnerObjectWithCustomStatus

+kubebuilder:object:generate=false

type InnerObjectWithCustomStatus interface {
    InnerObject

    GetCustomStatus() interface{}
}

type InnerObjectWithSelector

+kubebuilder:object:generate=false

type InnerObjectWithSelector interface {
    InnerObject

    GetSelectorSpecs() map[string]interface{}
}

type IoFault

IoFault represents the fault to inject and their weight

type IoFault struct {
    Errno  uint32 `json:"errno"`
    Weight int32  `json:"weight"`
}

func (*IoFault) DeepCopy

func (in *IoFault) DeepCopy() *IoFault

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IoFault.

func (*IoFault) DeepCopyInto

func (in *IoFault) DeepCopyInto(out *IoFault)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IoMethod

type IoMethod string
const (
    LookUp      IoMethod = "lookup"
    Forget      IoMethod = "forget"
    GetAttr     IoMethod = "getattr"
    SetAttr     IoMethod = "setattr"
    ReadLink    IoMethod = "readlink"
    Mknod       IoMethod = "mknod"
    Mkdir       IoMethod = "mkdir"
    UnLink      IoMethod = "unlink"
    Rmdir       IoMethod = "rmdir"
    MSymlink    IoMethod = "symlink"
    Rename      IoMethod = "rename"
    Link        IoMethod = "link"
    Open        IoMethod = "open"
    Read        IoMethod = "read"
    Write       IoMethod = "write"
    Flush       IoMethod = "flush"
    Release     IoMethod = "release"
    Fsync       IoMethod = "fsync"
    Opendir     IoMethod = "opendir"
    Readdir     IoMethod = "readdir"
    Releasedir  IoMethod = "releasedir"
    Fsyncdir    IoMethod = "fsyncdir"
    Statfs      IoMethod = "statfs"
    SetXAttr    IoMethod = "setxattr"
    GetXAttr    IoMethod = "getxattr"
    ListXAttr   IoMethod = "listxattr"
    RemoveXAttr IoMethod = "removexattr"
    Access      IoMethod = "access"
    Create      IoMethod = "create"
    GetLk       IoMethod = "getlk"
    SetLk       IoMethod = "setlk"
    Bmap        IoMethod = "bmap"
)

type JVMChaos

JVMChaos is the Schema for the jvmchaos API

type JVMChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   JVMChaosSpec   `json:"spec,omitempty"`
    Status JVMChaosStatus `json:"status,omitempty"`
}

func (*JVMChaos) DeepCopy

func (in *JVMChaos) DeepCopy() *JVMChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaos.

func (*JVMChaos) DeepCopyInto

func (in *JVMChaos) DeepCopyInto(out *JVMChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMChaos) DeepCopyObject

func (in *JVMChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JVMChaos) Default

func (in *JVMChaos) Default()

func (*JVMChaos) DurationExceeded

func (in *JVMChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*JVMChaos) GetObjectMeta

func (in *JVMChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*JVMChaos) GetRemoteCluster

func (in *JVMChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*JVMChaos) GetSelectorSpecs

func (obj *JVMChaos) GetSelectorSpecs() map[string]interface{}

func (*JVMChaos) GetSpecAndMetaString

func (in *JVMChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*JVMChaos) GetStatus

func (in *JVMChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*JVMChaos) IsDeleted

func (in *JVMChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*JVMChaos) IsOneShot

func (in *JVMChaos) IsOneShot() bool

func (*JVMChaos) IsPaused

func (in *JVMChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*JVMChaos) Validate

func (in *JVMChaos) Validate() ([]string, error)

func (*JVMChaos) ValidateCreate

func (in *JVMChaos) ValidateCreate() (admission.Warnings, error)

func (*JVMChaos) ValidateDelete

func (in *JVMChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*JVMChaos) ValidateUpdate

func (in *JVMChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type JVMChaosAction

JVMChaosAction represents the chaos action about jvm

type JVMChaosAction string
const (
    // JVMLatencyAction represents the JVM chaos action of invoke latency
    JVMLatencyAction JVMChaosAction = "latency"

    // JVMReturnAction represents the JVM chaos action of return value
    JVMReturnAction JVMChaosAction = "return"

    // JVMExceptionAction represents the JVM chaos action of throwing custom exceptions
    JVMExceptionAction JVMChaosAction = "exception"

    // JVMStressAction represents the JVM chaos action of stress like CPU and memory
    JVMStressAction JVMChaosAction = "stress"

    // JVMGCAction represents the JVM chaos action of trigger garbage collection
    JVMGCAction JVMChaosAction = "gc"

    // JVMRuleDataAction represents inject fault with byteman's rule
    // refer to https://downloads.jboss.org/byteman/4.0.14/byteman-programmers-guide.html#the-byteman-rule-language
    JVMRuleDataAction JVMChaosAction = "ruleData"

    // JVMMySQLAction represents the JVM chaos action of mysql java client fault injection
    JVMMySQLAction JVMChaosAction = "mysql"
)

type JVMChaosList

JVMChaosList contains a list of JVMChaos

type JVMChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []JVMChaos `json:"items"`
}

func (*JVMChaosList) DeepCopy

func (in *JVMChaosList) DeepCopy() *JVMChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosList.

func (*JVMChaosList) DeepCopyInto

func (in *JVMChaosList) DeepCopyInto(out *JVMChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMChaosList) DeepCopyList

func (in *JVMChaosList) DeepCopyList() GenericChaosList

func (*JVMChaosList) DeepCopyObject

func (in *JVMChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*JVMChaosList) GetItems

func (in *JVMChaosList) GetItems() []GenericChaos

func (*JVMChaosList) ListChaos

func (in *JVMChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type JVMChaosSpec

JVMChaosSpec defines the desired state of JVMChaos

type JVMChaosSpec struct {
    ContainerSelector `json:",inline"`

    // Duration represents the duration of the chaos action
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // Action defines the specific jvm chaos action.
    // Supported action: latency;return;exception;stress;gc;ruleData
    // +kubebuilder:validation:Enum=latency;return;exception;stress;gc;ruleData;mysql
    Action JVMChaosAction `json:"action"`

    // JVMParameter represents the detail about jvm chaos action definition
    // +optional
    JVMParameter `json:",inline"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*JVMChaosSpec) DeepCopy

func (in *JVMChaosSpec) DeepCopy() *JVMChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosSpec.

func (*JVMChaosSpec) DeepCopyInto

func (in *JVMChaosSpec) DeepCopyInto(out *JVMChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*JVMChaosSpec) Default

func (in *JVMChaosSpec) Default(root interface{}, field *reflect.StructField)

func (*JVMChaosSpec) GetDuration

func (in *JVMChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*JVMChaosSpec) Validate

func (in *JVMChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type JVMChaosStatus

JVMChaosStatus defines the observed state of JVMChaos

type JVMChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*JVMChaosStatus) DeepCopy

func (in *JVMChaosStatus) DeepCopy() *JVMChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMChaosStatus.

func (*JVMChaosStatus) DeepCopyInto

func (in *JVMChaosStatus) DeepCopyInto(out *JVMChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMClassMethodSpec

JVMClassMethodSpec is the specification for class and method

type JVMClassMethodSpec struct {
    // +optional
    // Java class
    Class string `json:"class,omitempty"`

    // +optional
    // the method in Java class
    Method string `json:"method,omitempty"`
}

func (*JVMClassMethodSpec) DeepCopy

func (in *JVMClassMethodSpec) DeepCopy() *JVMClassMethodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMClassMethodSpec.

func (*JVMClassMethodSpec) DeepCopyInto

func (in *JVMClassMethodSpec) DeepCopyInto(out *JVMClassMethodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMCommonSpec

JVMCommonSpec is the common specification for JVMChaos

type JVMCommonSpec struct {
    // +optional
    // the port of agent server, default 9277
    Port int32 `json:"port,omitempty"`

    // the pid of Java process which needs to attach
    Pid int `json:"pid,omitempty"`
}

func (*JVMCommonSpec) DeepCopy

func (in *JVMCommonSpec) DeepCopy() *JVMCommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMCommonSpec.

func (*JVMCommonSpec) DeepCopyInto

func (in *JVMCommonSpec) DeepCopyInto(out *JVMCommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMExceptionSpec

type JVMExceptionSpec struct {
    JVMCommonSpec      `json:",inline"`
    JVMClassMethodSpec `json:",inline"`

    // the exception which needs to throw for action `exception`
    ThrowException string `json:"exception,omitempty"`
}

func (*JVMExceptionSpec) DeepCopy

func (in *JVMExceptionSpec) DeepCopy() *JVMExceptionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMExceptionSpec.

func (*JVMExceptionSpec) DeepCopyInto

func (in *JVMExceptionSpec) DeepCopyInto(out *JVMExceptionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMGCSpec

type JVMGCSpec struct {
    JVMCommonSpec `json:",inline"`
}

func (*JVMGCSpec) DeepCopy

func (in *JVMGCSpec) DeepCopy() *JVMGCSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMGCSpec.

func (*JVMGCSpec) DeepCopyInto

func (in *JVMGCSpec) DeepCopyInto(out *JVMGCSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMLatencySpec

type JVMLatencySpec struct {
    JVMCommonSpec      `json:",inline"`
    JVMClassMethodSpec `json:",inline"`

    // the latency duration for action 'latency', unit ms
    LatencyDuration int `json:"latency,omitempty"`
}

func (*JVMLatencySpec) DeepCopy

func (in *JVMLatencySpec) DeepCopy() *JVMLatencySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMLatencySpec.

func (*JVMLatencySpec) DeepCopyInto

func (in *JVMLatencySpec) DeepCopyInto(out *JVMLatencySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMMySQLSpec

JVMMySQLSpec is the specification of MySQL fault injection in JVM only when SQL match the Database, Table and SQLType, JVMChaos mesh will inject fault for examle:

SQL is "select * from test.t1",
only when ((Database == "test" || Database == "") && (Table == "t1" || Table == "") && (SQLType == "select" || SQLType == "")) is true, JVMChaos will inject fault
type JVMMySQLSpec struct {
    // the version of mysql-connector-java, only support 5.X.X(set to "5") and 8.X.X(set to "8") now
    MySQLConnectorVersion string `json:"mysqlConnectorVersion,omitempty"`

    // the match database
    // default value is "", means match all database
    Database string `json:"database,omitempty"`

    // the match table
    // default value is "", means match all table
    Table string `json:"table,omitempty"`

    // the match sql type
    // default value is "", means match all SQL type.
    // The value can be 'select', 'insert', 'update', 'delete', 'replace'.
    SQLType string `json:"sqlType,omitempty"`
}

func (*JVMMySQLSpec) DeepCopy

func (in *JVMMySQLSpec) DeepCopy() *JVMMySQLSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMMySQLSpec.

func (*JVMMySQLSpec) DeepCopyInto

func (in *JVMMySQLSpec) DeepCopyInto(out *JVMMySQLSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMParameter

JVMParameter represents the detail about jvm chaos action definition

type JVMParameter struct {
    JVMCommonSpec `json:",inline"`

    JVMClassMethodSpec `json:",inline"`

    JVMStressCfgSpec `json:",inline"`

    JVMMySQLSpec `json:",inline"`

    // +optional
    // byteman rule name, should be unique, and will generate one if not set
    Name string `json:"name"`

    // +optional
    // the return value for action 'return'
    ReturnValue string `json:"value"`

    // +optional
    // the exception which needs to throw for action `exception`
    // or the exception message needs to throw in action `mysql`
    ThrowException string `json:"exception"`

    // +optional
    // the latency duration for action 'latency', unit ms
    // or the latency duration in action `mysql`
    LatencyDuration int `json:"latency"`

    // +optional
    // the byteman rule's data for action 'ruleData'
    RuleData string `json:"ruleData"`
}

func (*JVMParameter) DeepCopy

func (in *JVMParameter) DeepCopy() *JVMParameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMParameter.

func (*JVMParameter) DeepCopyInto

func (in *JVMParameter) DeepCopyInto(out *JVMParameter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMReturnSpec

type JVMReturnSpec struct {
    JVMCommonSpec      `json:",inline"`
    JVMClassMethodSpec `json:",inline"`

    // the return value for action 'return'
    ReturnValue string `json:"value,omitempty"`
}

func (*JVMReturnSpec) DeepCopy

func (in *JVMReturnSpec) DeepCopy() *JVMReturnSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMReturnSpec.

func (*JVMReturnSpec) DeepCopyInto

func (in *JVMReturnSpec) DeepCopyInto(out *JVMReturnSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMRuleDataSpec

type JVMRuleDataSpec struct {
    JVMCommonSpec `json:",inline"`

    // RuleData used to save the rule file's data, will use it when recover
    RuleData string `json:"rule-data,omitempty"`
}

func (*JVMRuleDataSpec) DeepCopy

func (in *JVMRuleDataSpec) DeepCopy() *JVMRuleDataSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMRuleDataSpec.

func (*JVMRuleDataSpec) DeepCopyInto

func (in *JVMRuleDataSpec) DeepCopyInto(out *JVMRuleDataSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMStressCfgSpec

JVMStressSpec is the specification for stress

type JVMStressCfgSpec struct {
    // +optional
    // the CPU core number needs to use, only set it when action is stress
    CPUCount int `json:"cpuCount,omitempty"`

    // +optional
    // the memory type needs to locate, only set it when action is stress, the value can be 'stack' or 'heap'
    MemoryType string `json:"memType,omitempty"`
}

func (*JVMStressCfgSpec) DeepCopy

func (in *JVMStressCfgSpec) DeepCopy() *JVMStressCfgSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMStressCfgSpec.

func (*JVMStressCfgSpec) DeepCopyInto

func (in *JVMStressCfgSpec) DeepCopyInto(out *JVMStressCfgSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type JVMStressSpec

type JVMStressSpec struct {
    JVMCommonSpec `json:",inline"`

    // the CPU core number need to use, only set it when action is stress
    CPUCount int `json:"cpu-count,omitempty"`

    // the memory type need to locate, only set it when action is stress, the value can be 'stack' or 'heap'
    MemoryType string `json:"mem-type,omitempty"`
}

func (*JVMStressSpec) DeepCopy

func (in *JVMStressSpec) DeepCopy() *JVMStressSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JVMStressSpec.

func (*JVMStressSpec) DeepCopyInto

func (in *JVMStressSpec) DeepCopyInto(out *JVMStressSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaCommonSpec

type KafkaCommonSpec struct {
    // The topic to attack
    Topic string `json:"topic,omitempty"`
    // The host of kafka server
    Host string `json:"host,omitempty"`
    // The port of kafka server
    Port uint16 `json:"port,omitempty"`
    // The username of kafka client
    Username string `json:"username,omitempty"`
    // The password of kafka client
    Password string `json:"password,omitempty"`
}

func (*KafkaCommonSpec) DeepCopy

func (in *KafkaCommonSpec) DeepCopy() *KafkaCommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaCommonSpec.

func (*KafkaCommonSpec) DeepCopyInto

func (in *KafkaCommonSpec) DeepCopyInto(out *KafkaCommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaFillSpec

type KafkaFillSpec struct {
    KafkaCommonSpec `json:",inline"`
    // The size of each message
    MessageSize uint `json:"messageSize,omitempty"`
    // The max bytes to fill
    MaxBytes uint64 `json:"maxBytes,omitempty"`
    // The command to reload kafka config
    ReloadCommand string `json:"reloadCommand,omitempty"`
}

func (*KafkaFillSpec) DeepCopy

func (in *KafkaFillSpec) DeepCopy() *KafkaFillSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaFillSpec.

func (*KafkaFillSpec) DeepCopyInto

func (in *KafkaFillSpec) DeepCopyInto(out *KafkaFillSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaFloodSpec

type KafkaFloodSpec struct {
    KafkaCommonSpec `json:",inline"`
    // The size of each message
    MessageSize uint `json:"messageSize,omitempty"`
    // The number of worker threads
    Threads uint `json:"threads,omitempty"`
}

func (*KafkaFloodSpec) DeepCopy

func (in *KafkaFloodSpec) DeepCopy() *KafkaFloodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaFloodSpec.

func (*KafkaFloodSpec) DeepCopyInto

func (in *KafkaFloodSpec) DeepCopyInto(out *KafkaFloodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KafkaIOSpec

type KafkaIOSpec struct {
    // The topic to attack
    Topic string `json:"topic,omitempty"`
    // The path of server config
    ConfigFile string `json:"configFile,omitempty"`
    // Make kafka cluster non-readable
    NonReadable bool `json:"nonReadable,omitempty"`
    // Make kafka cluster non-writable
    NonWritable bool `json:"nonWritable,omitempty"`
}

func (*KafkaIOSpec) DeepCopy

func (in *KafkaIOSpec) DeepCopy() *KafkaIOSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KafkaIOSpec.

func (*KafkaIOSpec) DeepCopyInto

func (in *KafkaIOSpec) DeepCopyInto(out *KafkaIOSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KernelChaos

KernelChaos is the Schema for the kernelchaos API

type KernelChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a kernel chaos experiment
    Spec KernelChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the kernel chaos experiment
    Status KernelChaosStatus `json:"status"`
}

func (*KernelChaos) DeepCopy

func (in *KernelChaos) DeepCopy() *KernelChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaos.

func (*KernelChaos) DeepCopyInto

func (in *KernelChaos) DeepCopyInto(out *KernelChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KernelChaos) DeepCopyObject

func (in *KernelChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KernelChaos) Default

func (in *KernelChaos) Default()

func (*KernelChaos) DurationExceeded

func (in *KernelChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*KernelChaos) GetObjectMeta

func (in *KernelChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*KernelChaos) GetRemoteCluster

func (in *KernelChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*KernelChaos) GetSelectorSpecs

func (obj *KernelChaos) GetSelectorSpecs() map[string]interface{}

func (*KernelChaos) GetSpecAndMetaString

func (in *KernelChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*KernelChaos) GetStatus

func (in *KernelChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*KernelChaos) IsDeleted

func (in *KernelChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*KernelChaos) IsOneShot

func (in *KernelChaos) IsOneShot() bool

func (*KernelChaos) IsPaused

func (in *KernelChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*KernelChaos) Validate

func (in *KernelChaos) Validate() ([]string, error)

func (*KernelChaos) ValidateCreate

func (in *KernelChaos) ValidateCreate() (admission.Warnings, error)

func (*KernelChaos) ValidateDelete

func (in *KernelChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*KernelChaos) ValidateUpdate

func (in *KernelChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type KernelChaosList

KernelChaosList contains a list of KernelChaos

type KernelChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []KernelChaos `json:"items"`
}

func (*KernelChaosList) DeepCopy

func (in *KernelChaosList) DeepCopy() *KernelChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosList.

func (*KernelChaosList) DeepCopyInto

func (in *KernelChaosList) DeepCopyInto(out *KernelChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KernelChaosList) DeepCopyList

func (in *KernelChaosList) DeepCopyList() GenericChaosList

func (*KernelChaosList) DeepCopyObject

func (in *KernelChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*KernelChaosList) GetItems

func (in *KernelChaosList) GetItems() []GenericChaos

func (*KernelChaosList) ListChaos

func (in *KernelChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type KernelChaosSpec

KernelChaosSpec defines the desired state of KernelChaos

type KernelChaosSpec struct {
    ContainerSelector `json:",inline"`

    // FailKernRequest defines the request of kernel injection
    FailKernRequest FailKernRequest `json:"failKernRequest"`

    // Duration represents the duration of the chaos action
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*KernelChaosSpec) DeepCopy

func (in *KernelChaosSpec) DeepCopy() *KernelChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosSpec.

func (*KernelChaosSpec) DeepCopyInto

func (in *KernelChaosSpec) DeepCopyInto(out *KernelChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*KernelChaosSpec) GetDuration

func (in *KernelChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type KernelChaosStatus

KernelChaosStatus defines the observed state of KernelChaos

type KernelChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*KernelChaosStatus) DeepCopy

func (in *KernelChaosStatus) DeepCopy() *KernelChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KernelChaosStatus.

func (*KernelChaosStatus) DeepCopyInto

func (in *KernelChaosStatus) DeepCopyInto(out *KernelChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LUN

type LUN int

func (*LUN) Validate

func (in *LUN) Validate(root interface{}, path *field.Path) field.ErrorList

type LabelSelectorRequirements

LabelSelectorRequirements is list of LabelSelectorRequirement

type LabelSelectorRequirements []metav1.LabelSelectorRequirement

func (LabelSelectorRequirements) DeepCopy

func (in LabelSelectorRequirements) DeepCopy() LabelSelectorRequirements

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LabelSelectorRequirements.

func (LabelSelectorRequirements) DeepCopyInto

func (in LabelSelectorRequirements) DeepCopyInto(out *LabelSelectorRequirements)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LossSpec

LossSpec defines detail of a loss action

type LossSpec struct {
    Loss string `json:"loss" webhook:"FloatStr"`
    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
}

func (*LossSpec) DeepCopy

func (in *LossSpec) DeepCopy() *LossSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LossSpec.

func (*LossSpec) DeepCopyInto

func (in *LossSpec) DeepCopyInto(out *LossSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemoryStressor

MemoryStressor defines how to stress memory out

type MemoryStressor struct {
    Stressor `json:",inline"`

    // Size specifies N bytes consumed per vm worker, default is the total available memory.
    // One can specify the size as % of total available memory or in units of B, KB/KiB,
    // MB/MiB, GB/GiB, TB/TiB.
    // +optional
    Size string `json:"size,omitempty" webhook:"Bytes"`

    // OOMScoreAdj sets the oom_score_adj of the stress process. See `man 5 proc` to know more
    // about this option.
    // +kubebuilder:validation:Minimum=-1000
    // +kubebuilder:validation:Maximum=1000
    // +kubebuilder:default=0
    // +optional
    OOMScoreAdj int `json:"oomScoreAdj,omitempty"`

    // extend stress-ng options
    // +optional
    Options []string `json:"options,omitempty"`
}

func (*MemoryStressor) DeepCopy

func (in *MemoryStressor) DeepCopy() *MemoryStressor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemoryStressor.

func (*MemoryStressor) DeepCopyInto

func (in *MemoryStressor) DeepCopyInto(out *MemoryStressor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MistakeSpec

MistakeSpec represents one type of mistake

type MistakeSpec struct {
    // Filling determines what is filled in the mistake data.
    // +optional
    // +kubebuilder:validation:Enum=zero;random
    Filling FillingType `json:"filling,omitempty"`

    // There will be [1, MaxOccurrences] segments of wrong data.
    // +optional
    // +kubebuilder:validation:Minimum=1
    MaxOccurrences int64 `json:"maxOccurrences,omitempty"`

    // Max length of each wrong data segment in bytes
    // +optional
    // +kubebuilder:validation:Minimum=1
    MaxLength int64 `json:"maxLength,omitempty"`
}

func (*MistakeSpec) DeepCopy

func (in *MistakeSpec) DeepCopy() *MistakeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MistakeSpec.

func (*MistakeSpec) DeepCopyInto

func (in *MistakeSpec) DeepCopyInto(out *MistakeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkBandwidthSpec

type NetworkBandwidthSpec struct {
    Rate string `json:"rate"`
    // +kubebuilder:validation:Minimum=1
    Limit uint32 `json:"limit"`
    // +kubebuilder:validation:Minimum=1
    Buffer uint32 `json:"buffer"`

    Peakrate *uint64 `json:"peakrate,omitempty"`
    Minburst *uint32 `json:"minburst,omitempty"`

    Device    string `json:"device,omitempty"`
    IPAddress string `json:"ip-address,omitempty"`
    Hostname  string `json:"hostname,omitempty"`
}

func (*NetworkBandwidthSpec) DeepCopy

func (in *NetworkBandwidthSpec) DeepCopy() *NetworkBandwidthSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkBandwidthSpec.

func (*NetworkBandwidthSpec) DeepCopyInto

func (in *NetworkBandwidthSpec) DeepCopyInto(out *NetworkBandwidthSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkBandwidthSpec) Validate

func (in *NetworkBandwidthSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type NetworkChaos

NetworkChaos is the Schema for the networkchaos API

type NetworkChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a pod chaos experiment
    Spec NetworkChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the chaos experiment about pods
    Status NetworkChaosStatus `json:"status,omitempty"`
}

func (*NetworkChaos) DeepCopy

func (in *NetworkChaos) DeepCopy() *NetworkChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaos.

func (*NetworkChaos) DeepCopyInto

func (in *NetworkChaos) DeepCopyInto(out *NetworkChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkChaos) DeepCopyObject

func (in *NetworkChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NetworkChaos) Default

func (in *NetworkChaos) Default()

func (*NetworkChaos) DurationExceeded

func (in *NetworkChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*NetworkChaos) GetCustomStatus

func (obj *NetworkChaos) GetCustomStatus() interface{}

func (*NetworkChaos) GetObjectMeta

func (in *NetworkChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*NetworkChaos) GetRemoteCluster

func (in *NetworkChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*NetworkChaos) GetSelectorSpecs

func (obj *NetworkChaos) GetSelectorSpecs() map[string]interface{}

func (*NetworkChaos) GetSpecAndMetaString

func (in *NetworkChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*NetworkChaos) GetStatus

func (in *NetworkChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*NetworkChaos) IsDeleted

func (in *NetworkChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*NetworkChaos) IsOneShot

func (in *NetworkChaos) IsOneShot() bool

func (*NetworkChaos) IsPaused

func (in *NetworkChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*NetworkChaos) Validate

func (in *NetworkChaos) Validate() ([]string, error)

func (*NetworkChaos) ValidateCreate

func (in *NetworkChaos) ValidateCreate() (admission.Warnings, error)

func (*NetworkChaos) ValidateDelete

func (in *NetworkChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*NetworkChaos) ValidateUpdate

func (in *NetworkChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NetworkChaosAction

NetworkChaosAction represents the chaos action about network.

type NetworkChaosAction string
const (
    // NetemAction is a combination of several chaos actions i.e. delay, loss, duplicate, corrupt.
    // When using this action multiple specs are merged into one Netem RPC and sends to chaos daemon.
    NetemAction NetworkChaosAction = "netem"

    // DelayAction represents the chaos action of adding delay on pods.
    DelayAction NetworkChaosAction = "delay"

    // LossAction represents the chaos action of losing packets on pods.
    LossAction NetworkChaosAction = "loss"

    // DuplicateAction represents the chaos action of duplicating packets on pods.
    DuplicateAction NetworkChaosAction = "duplicate"

    // CorruptAction represents the chaos action of corrupting packets on pods.
    CorruptAction NetworkChaosAction = "corrupt"

    // PartitionAction represents the chaos action of network partition of pods.
    PartitionAction NetworkChaosAction = "partition"

    // BandwidthAction represents the chaos action of network bandwidth of pods.
    BandwidthAction NetworkChaosAction = "bandwidth"
)

type NetworkChaosList

NetworkChaosList contains a list of NetworkChaos

type NetworkChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []NetworkChaos `json:"items"`
}

func (*NetworkChaosList) DeepCopy

func (in *NetworkChaosList) DeepCopy() *NetworkChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosList.

func (*NetworkChaosList) DeepCopyInto

func (in *NetworkChaosList) DeepCopyInto(out *NetworkChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkChaosList) DeepCopyList

func (in *NetworkChaosList) DeepCopyList() GenericChaosList

func (*NetworkChaosList) DeepCopyObject

func (in *NetworkChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NetworkChaosList) GetItems

func (in *NetworkChaosList) GetItems() []GenericChaos

func (*NetworkChaosList) ListChaos

func (in *NetworkChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type NetworkChaosSpec

NetworkChaosSpec defines the desired state of NetworkChaos

type NetworkChaosSpec struct {
    PodSelector `json:",inline"`

    // Action defines the specific network chaos action.
    // Supported action: partition, netem, delay, loss, duplicate, corrupt
    // Default action: delay
    // +kubebuilder:validation:Enum=netem;delay;loss;duplicate;corrupt;partition;bandwidth
    Action NetworkChaosAction `json:"action"`

    // Device represents the network device to be affected.
    // +optional
    Device string `json:"device,omitempty"`

    // Duration represents the duration of the chaos action
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // TcParameter represents the traffic control definition
    TcParameter `json:",inline"`

    // Direction represents the direction, this applies on netem and network partition action
    // +optional
    // +kubebuilder:validation:Enum=to;from;both
    // +kubebuilder:default=to
    Direction Direction `json:"direction,omitempty"`

    // Target represents network target, this applies on netem and network partition action
    // +optional
    Target *PodSelector `json:"target,omitempty" webhook:",nilable"`

    // TargetDevice represents the network device to be affected in target scope.
    // +optional
    TargetDevice string `json:"targetDevice,omitempty"`

    // ExternalTargets represents network targets outside k8s
    // +optional
    ExternalTargets []string `json:"externalTargets,omitempty"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*NetworkChaosSpec) DeepCopy

func (in *NetworkChaosSpec) DeepCopy() *NetworkChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosSpec.

func (*NetworkChaosSpec) DeepCopyInto

func (in *NetworkChaosSpec) DeepCopyInto(out *NetworkChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkChaosSpec) Default

func (in *NetworkChaosSpec) Default(root interface{}, field *reflect.StructField)

func (*NetworkChaosSpec) GetDuration

func (in *NetworkChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*NetworkChaosSpec) Validate

func (in *NetworkChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

ValidateTargets validates externalTargets and Targets

type NetworkChaosStatus

NetworkChaosStatus defines the observed state of NetworkChaos

type NetworkChaosStatus struct {
    ChaosStatus `json:",inline"`
    // Instances always specifies podnetworkchaos generation or empty
    // +optional
    Instances map[string]int64 `json:"instances,omitempty"`
}

func (*NetworkChaosStatus) DeepCopy

func (in *NetworkChaosStatus) DeepCopy() *NetworkChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkChaosStatus.

func (*NetworkChaosStatus) DeepCopyInto

func (in *NetworkChaosStatus) DeepCopyInto(out *NetworkChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkCommonSpec

type NetworkCommonSpec struct {
    // correlation is percentage (10 is 10%)
    Correlation string `json:"correlation,omitempty"`
    // the network interface to impact
    Device string `json:"device,omitempty"`
    // only impact egress traffic from these source ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010.
    // it can only be used in conjunction with -p tcp or -p udp
    SourcePort string `json:"source-port,omitempty"`
    // only impact egress traffic to these destination ports, use a ',' to separate or to indicate the range, such as 80, 8001:8010.
    // it can only be used in conjunction with -p tcp or -p udp
    EgressPort string `json:"egress-port,omitempty"`
    // only impact egress traffic to these IP addresses
    IPAddress string `json:"ip-address,omitempty"`
    // only impact traffic using this IP protocol, supported: tcp, udp, icmp, all
    IPProtocol string `json:"ip-protocol,omitempty"`
    // only impact traffic to these hostnames
    Hostname string `json:"hostname,omitempty"`
}

func (*NetworkCommonSpec) DeepCopy

func (in *NetworkCommonSpec) DeepCopy() *NetworkCommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkCommonSpec.

func (*NetworkCommonSpec) DeepCopyInto

func (in *NetworkCommonSpec) DeepCopyInto(out *NetworkCommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkCorruptSpec

type NetworkCorruptSpec struct {
    NetworkCommonSpec `json:",inline"`

    // percentage of packets to corrupt (10 is 10%)
    Percent string `json:"percent,omitempty"`
}

func (*NetworkCorruptSpec) DeepCopy

func (in *NetworkCorruptSpec) DeepCopy() *NetworkCorruptSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkCorruptSpec.

func (*NetworkCorruptSpec) DeepCopyInto

func (in *NetworkCorruptSpec) DeepCopyInto(out *NetworkCorruptSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDNSSpec

type NetworkDNSSpec struct {
    // update the DNS server in /etc/resolv.conf with this value
    DNSServer string `json:"dns-server,omitempty"`
    // map specified host to this IP address
    DNSIp string `json:"dns-ip,omitempty"`
    // map this host to specified IP
    DNSDomainName string `json:"dns-domain-name,omitempty"`
}

func (*NetworkDNSSpec) DeepCopy

func (in *NetworkDNSSpec) DeepCopy() *NetworkDNSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDNSSpec.

func (*NetworkDNSSpec) DeepCopyInto

func (in *NetworkDNSSpec) DeepCopyInto(out *NetworkDNSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDelaySpec

type NetworkDelaySpec struct {
    NetworkCommonSpec `json:",inline"`

    // jitter time, time units: ns, us (or µs), ms, s, m, h.
    Jitter string `json:"jitter,omitempty"`
    // delay egress time, time units: ns, us (or µs), ms, s, m, h.
    Latency string `json:"latency,omitempty"`
    // only the packet which match the tcp flag can be accepted, others will be dropped.
    // only set when the IPProtocol is tcp, used for partition.
    AcceptTCPFlags string `json:"accept-tcp-flags,omitempty"`
}

func (*NetworkDelaySpec) DeepCopy

func (in *NetworkDelaySpec) DeepCopy() *NetworkDelaySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDelaySpec.

func (*NetworkDelaySpec) DeepCopyInto

func (in *NetworkDelaySpec) DeepCopyInto(out *NetworkDelaySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDownSpec

type NetworkDownSpec struct {
    // The network interface to impact
    Device string `json:"device,omitempty"`
    // NIC down time, time units: ns, us (or µs), ms, s, m, h.
    Duration string `json:"duration,omitempty"`
}

func (*NetworkDownSpec) DeepCopy

func (in *NetworkDownSpec) DeepCopy() *NetworkDownSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDownSpec.

func (*NetworkDownSpec) DeepCopyInto

func (in *NetworkDownSpec) DeepCopyInto(out *NetworkDownSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkDuplicateSpec

type NetworkDuplicateSpec struct {
    NetworkCommonSpec `json:",inline"`

    // percentage of packets to duplicate (10 is 10%)
    Percent string `json:"percent,omitempty"`
}

func (*NetworkDuplicateSpec) DeepCopy

func (in *NetworkDuplicateSpec) DeepCopy() *NetworkDuplicateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkDuplicateSpec.

func (*NetworkDuplicateSpec) DeepCopyInto

func (in *NetworkDuplicateSpec) DeepCopyInto(out *NetworkDuplicateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkFloodSpec

type NetworkFloodSpec struct {
    // The speed of network traffic, allows bps, kbps, mbps, gbps, tbps unit. bps means bytes per second
    Rate string `json:"rate"`
    // Generate traffic to this IP address
    IPAddress string `json:"ip-address,omitempty"`
    // Generate traffic to this port on the IP address
    Port string `json:"port,omitempty"`
    // The number of iperf parallel client threads to run
    Parallel int32 `json:"parallel,omitempty"`
    // The number of seconds to run the iperf test
    Duration string `json:"duration"`
}

func (*NetworkFloodSpec) DeepCopy

func (in *NetworkFloodSpec) DeepCopy() *NetworkFloodSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkFloodSpec.

func (*NetworkFloodSpec) DeepCopyInto

func (in *NetworkFloodSpec) DeepCopyInto(out *NetworkFloodSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkLossSpec

type NetworkLossSpec struct {
    NetworkCommonSpec `json:",inline"`

    // percentage of packets to loss (10 is 10%)
    Percent string `json:"percent,omitempty"`
}

func (*NetworkLossSpec) DeepCopy

func (in *NetworkLossSpec) DeepCopy() *NetworkLossSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkLossSpec.

func (*NetworkLossSpec) DeepCopyInto

func (in *NetworkLossSpec) DeepCopyInto(out *NetworkLossSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkPartitionSpec

type NetworkPartitionSpec struct {
    // the network interface to impact
    Device string `json:"device,omitempty"`
    // only impact traffic to these hostnames
    Hostname string `json:"hostname,omitempty"`
    // only impact egress traffic to these IP addresses
    IPAddress string `json:"ip-address,omitempty"`
    // specifies the partition direction, values can be 'from', 'to'.
    // 'from' means packets coming from the 'IPAddress' or 'Hostname' and going to your server,
    // 'to' means packets originating from your server and going to the 'IPAddress' or 'Hostname'.
    Direction string `json:"direction,omitempty"`
    // only impact egress traffic to these IP addresses
    IPProtocol string `json:"ip-protocol,omitempty"`
    // only the packet which match the tcp flag can be accepted, others will be dropped.
    // only set when the IPProtocol is tcp, used for partition.
    AcceptTCPFlags string `json:"accept-tcp-flags,omitempty"`
}

func (*NetworkPartitionSpec) DeepCopy

func (in *NetworkPartitionSpec) DeepCopy() *NetworkPartitionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPartitionSpec.

func (*NetworkPartitionSpec) DeepCopyInto

func (in *NetworkPartitionSpec) DeepCopyInto(out *NetworkPartitionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PMJVMMySQLSpec

type PMJVMMySQLSpec struct {
    JVMCommonSpec `json:",inline"`

    JVMMySQLSpec `json:",inline"`

    // The exception which needs to throw for action `exception`
    // or the exception message needs to throw in action `mysql`
    ThrowException string `json:"exception,omitempty"`

    // The latency duration for action 'latency'
    // or the latency duration in action `mysql`
    LatencyDuration int `json:"latency,omitempty"`
}

func (*PMJVMMySQLSpec) DeepCopy

func (in *PMJVMMySQLSpec) DeepCopy() *PMJVMMySQLSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PMJVMMySQLSpec.

func (*PMJVMMySQLSpec) DeepCopyInto

func (in *PMJVMMySQLSpec) DeepCopyInto(out *PMJVMMySQLSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Percent

type Percent int

func (*Percent) Validate

func (p *Percent) Validate(root interface{}, path *field.Path) field.ErrorList

type Phase

type Phase string
const (
    // NotInjected means the target is not injected yet. The controller could call "Inject" on the target
    NotInjected Phase = "Not Injected"
    // Injected means the target is injected. It's safe to recover it.
    Injected Phase = "Injected"
)

type PhysicalMachine

PhysicalMachine is the Schema for the physical machine API

type PhysicalMachine struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a physical machine
    Spec PhysicalMachineSpec `json:"spec"`
}

func (*PhysicalMachine) DeepCopy

func (in *PhysicalMachine) DeepCopy() *PhysicalMachine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachine.

func (*PhysicalMachine) DeepCopyInto

func (in *PhysicalMachine) DeepCopyInto(out *PhysicalMachine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachine) DeepCopyObject

func (in *PhysicalMachine) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PhysicalMachine) Default

func (in *PhysicalMachine) Default()

func (*PhysicalMachine) Validate

func (in *PhysicalMachine) Validate() ([]string, error)

func (*PhysicalMachine) ValidateCreate

func (in *PhysicalMachine) ValidateCreate() (admission.Warnings, error)

func (*PhysicalMachine) ValidateDelete

func (in *PhysicalMachine) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PhysicalMachine) ValidateUpdate

func (in *PhysicalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PhysicalMachineChaos

PhysicalMachineChaos is the Schema for the physical machine chaos API

type PhysicalMachineChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a physical machine chaos experiment
    Spec PhysicalMachineChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the chaos experiment
    Status PhysicalMachineChaosStatus `json:"status,omitempty"`
}

func (*PhysicalMachineChaos) DeepCopy

func (in *PhysicalMachineChaos) DeepCopy() *PhysicalMachineChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaos.

func (*PhysicalMachineChaos) DeepCopyInto

func (in *PhysicalMachineChaos) DeepCopyInto(out *PhysicalMachineChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineChaos) DeepCopyObject

func (in *PhysicalMachineChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PhysicalMachineChaos) Default

func (in *PhysicalMachineChaos) Default()

func (*PhysicalMachineChaos) DurationExceeded

func (in *PhysicalMachineChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*PhysicalMachineChaos) GetObjectMeta

func (in *PhysicalMachineChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*PhysicalMachineChaos) GetRemoteCluster

func (in *PhysicalMachineChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*PhysicalMachineChaos) GetSelectorSpecs

func (obj *PhysicalMachineChaos) GetSelectorSpecs() map[string]interface{}

func (*PhysicalMachineChaos) GetSpecAndMetaString

func (in *PhysicalMachineChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*PhysicalMachineChaos) GetStatus

func (in *PhysicalMachineChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*PhysicalMachineChaos) IsDeleted

func (in *PhysicalMachineChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*PhysicalMachineChaos) IsOneShot

func (in *PhysicalMachineChaos) IsOneShot() bool

func (*PhysicalMachineChaos) IsPaused

func (in *PhysicalMachineChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*PhysicalMachineChaos) Validate

func (in *PhysicalMachineChaos) Validate() ([]string, error)

func (*PhysicalMachineChaos) ValidateCreate

func (in *PhysicalMachineChaos) ValidateCreate() (admission.Warnings, error)

func (*PhysicalMachineChaos) ValidateDelete

func (in *PhysicalMachineChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PhysicalMachineChaos) ValidateUpdate

func (in *PhysicalMachineChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PhysicalMachineChaosAction

PhysicalMachineChaosAction represents the chaos action about physical machine.

type PhysicalMachineChaosAction string
var (
    PMStressCPUAction            PhysicalMachineChaosAction = "stress-cpu"
    PMStressMemAction            PhysicalMachineChaosAction = "stress-mem"
    PMDiskWritePayloadAction     PhysicalMachineChaosAction = "disk-write-payload"
    PMDiskReadPayloadAction      PhysicalMachineChaosAction = "disk-read-payload"
    PMDiskFillAction             PhysicalMachineChaosAction = "disk-fill"
    PMNetworkCorruptAction       PhysicalMachineChaosAction = "network-corrupt"
    PMNetworkDuplicateAction     PhysicalMachineChaosAction = "network-duplicate"
    PMNetworkLossAction          PhysicalMachineChaosAction = "network-loss"
    PMNetworkDelayAction         PhysicalMachineChaosAction = "network-delay"
    PMNetworkPartitionAction     PhysicalMachineChaosAction = "network-partition"
    PMNetworkBandwidthAction     PhysicalMachineChaosAction = "network-bandwidth"
    PMNetworkDNSAction           PhysicalMachineChaosAction = "network-dns"
    PMNetworkFloodAction         PhysicalMachineChaosAction = "network-flood"
    PMNetworkDownAction          PhysicalMachineChaosAction = "network-down"
    PMProcessAction              PhysicalMachineChaosAction = "process"
    PMJVMExceptionAction         PhysicalMachineChaosAction = "jvm-exception"
    PMJVMGCAction                PhysicalMachineChaosAction = "jvm-gc"
    PMJVMLatencyAction           PhysicalMachineChaosAction = "jvm-latency"
    PMJVMReturnAction            PhysicalMachineChaosAction = "jvm-return"
    PMJVMStressAction            PhysicalMachineChaosAction = "jvm-stress"
    PMJVMRuleDataAction          PhysicalMachineChaosAction = "jvm-rule-data"
    PMJVMMySQLAction             PhysicalMachineChaosAction = "jvm-mysql"
    PMClockAction                PhysicalMachineChaosAction = "clock"
    PMRedisExpirationAction      PhysicalMachineChaosAction = "redis-expiration"
    PMRedisPenetrationAction     PhysicalMachineChaosAction = "redis-penetration"
    PMRedisCacheLimitAction      PhysicalMachineChaosAction = "redis-cacheLimit"
    PMRedisSentinelRestartAction PhysicalMachineChaosAction = "redis-restart"
    PMRedisSentinelStopAction    PhysicalMachineChaosAction = "redis-stop"
    PMKafkaFillAction            PhysicalMachineChaosAction = "kafka-fill"
    PMKafkaFloodAction           PhysicalMachineChaosAction = "kafka-flood"
    PMKafkaIOAction              PhysicalMachineChaosAction = "kafka-io"
    PMHTTPAbortAction            PhysicalMachineChaosAction = "http-abort"
    PMHTTPDelayAction            PhysicalMachineChaosAction = "http-delay"
    PMHTTPConfigAction           PhysicalMachineChaosAction = "http-config"
    PMHTTPRequestAction          PhysicalMachineChaosAction = "http-request"
    PMFileCreateAction           PhysicalMachineChaosAction = "file-create"
    PMFileModifyPrivilegeAction  PhysicalMachineChaosAction = "file-modify"
    PMFileDeleteAction           PhysicalMachineChaosAction = "file-delete"
    PMFileRenameAction           PhysicalMachineChaosAction = "file-rename"
    PMFileAppendAction           PhysicalMachineChaosAction = "file-append"
    PMFileReplaceAction          PhysicalMachineChaosAction = "file-replace"
    PMVMAction                   PhysicalMachineChaosAction = "vm"
    PMUserDefinedAction          PhysicalMachineChaosAction = "user_defined"
)

type PhysicalMachineChaosList

PhysicalMachineChaosList contains a list of PhysicalMachineChaos

type PhysicalMachineChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PhysicalMachineChaos `json:"items"`
}

func (*PhysicalMachineChaosList) DeepCopy

func (in *PhysicalMachineChaosList) DeepCopy() *PhysicalMachineChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosList.

func (*PhysicalMachineChaosList) DeepCopyInto

func (in *PhysicalMachineChaosList) DeepCopyInto(out *PhysicalMachineChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineChaosList) DeepCopyList

func (in *PhysicalMachineChaosList) DeepCopyList() GenericChaosList

func (*PhysicalMachineChaosList) DeepCopyObject

func (in *PhysicalMachineChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PhysicalMachineChaosList) GetItems

func (in *PhysicalMachineChaosList) GetItems() []GenericChaos

func (*PhysicalMachineChaosList) ListChaos

func (in *PhysicalMachineChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type PhysicalMachineChaosSpec

PhysicalMachineChaosSpec defines the desired state of PhysicalMachineChaos

type PhysicalMachineChaosSpec struct {
    // +kubebuilder:validation:Enum=stress-cpu;stress-mem;disk-read-payload;disk-write-payload;disk-fill;network-corrupt;network-duplicate;network-loss;network-delay;network-partition;network-dns;network-bandwidth;network-flood;network-down;process;jvm-exception;jvm-gc;jvm-latency;jvm-return;jvm-stress;jvm-rule-data;jvm-mysql;clock;redis-expiration;redis-penetration;redis-cacheLimit;redis-restart;redis-stop;kafka-fill;kafka-flood;kafka-io;file-create;file-modify;file-delete;file-rename;file-append;file-replace;vm;user_defined
    Action PhysicalMachineChaosAction `json:"action"`

    PhysicalMachineSelector `json:",inline"`

    // ExpInfo string `json:"expInfo"`
    ExpInfo `json:",inline"`

    // Duration represents the duration of the chaos action
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*PhysicalMachineChaosSpec) DeepCopy

func (in *PhysicalMachineChaosSpec) DeepCopy() *PhysicalMachineChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosSpec.

func (*PhysicalMachineChaosSpec) DeepCopyInto

func (in *PhysicalMachineChaosSpec) DeepCopyInto(out *PhysicalMachineChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineChaosSpec) Default

func (in *PhysicalMachineChaosSpec) Default(root interface{}, field *reflect.StructField)

func (*PhysicalMachineChaosSpec) GetDuration

func (in *PhysicalMachineChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*PhysicalMachineChaosSpec) Validate

func (in *PhysicalMachineChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type PhysicalMachineChaosStatus

PhysicalMachineChaosStatus defines the observed state of PhysicalMachineChaos

type PhysicalMachineChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*PhysicalMachineChaosStatus) DeepCopy

func (in *PhysicalMachineChaosStatus) DeepCopy() *PhysicalMachineChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineChaosStatus.

func (*PhysicalMachineChaosStatus) DeepCopyInto

func (in *PhysicalMachineChaosStatus) DeepCopyInto(out *PhysicalMachineChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PhysicalMachineList

PhysicalMachineList contains a list of PhysicalMachine

type PhysicalMachineList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PhysicalMachine `json:"items"`
}

func (*PhysicalMachineList) DeepCopy

func (in *PhysicalMachineList) DeepCopy() *PhysicalMachineList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineList.

func (*PhysicalMachineList) DeepCopyInto

func (in *PhysicalMachineList) DeepCopyInto(out *PhysicalMachineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineList) DeepCopyObject

func (in *PhysicalMachineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PhysicalMachineSelector

type PhysicalMachineSelector struct {
    // DEPRECATED: Use Selector instead.
    // Only one of Address and Selector could be specified.
    // +optional
    Address []string `json:"address,omitempty"`

    // Selector is used to select physical machines that are used to inject chaos action.
    // +optional
    Selector PhysicalMachineSelectorSpec `json:"selector,omitempty"`

    // Mode defines the mode to run chaos action.
    // Supported mode: one / all / fixed / fixed-percent / random-max-percent
    // +kubebuilder:validation:Enum=one;all;fixed;fixed-percent;random-max-percent
    Mode SelectorMode `json:"mode"`

    // Value is required when the mode is set to `FixedMode` / `FixedPercentMode` / `RandomMaxPercentMode`.
    // If `FixedMode`, provide an integer of physical machines to do chaos action.
    // If `FixedPercentMode`, provide a number from 0-100 to specify the percent of physical machines the server can do chaos action.
    // IF `RandomMaxPercentMode`,  provide a number from 0-100 to specify the max percent of pods to do chaos action
    // +optional
    Value string `json:"value,omitempty"`
}

func (*PhysicalMachineSelector) DeepCopy

func (in *PhysicalMachineSelector) DeepCopy() *PhysicalMachineSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSelector.

func (*PhysicalMachineSelector) DeepCopyInto

func (in *PhysicalMachineSelector) DeepCopyInto(out *PhysicalMachineSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PhysicalMachineSelectorSpec

PhysicalMachineSelectorSpec defines some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.

type PhysicalMachineSelectorSpec struct {
    GenericSelectorSpec `json:",inline"`

    // PhysicalMachines is a map of string keys and a set values that used to select physical machines.
    // The key defines the namespace which physical machine belong,
    // and each value is a set of physical machine names.
    // +optional
    PhysicalMachines map[string][]string `json:"physicalMachines,omitempty"`
}

func (*PhysicalMachineSelectorSpec) DeepCopy

func (in *PhysicalMachineSelectorSpec) DeepCopy() *PhysicalMachineSelectorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSelectorSpec.

func (*PhysicalMachineSelectorSpec) DeepCopyInto

func (in *PhysicalMachineSelectorSpec) DeepCopyInto(out *PhysicalMachineSelectorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineSelectorSpec) Empty

func (spec *PhysicalMachineSelectorSpec) Empty() bool

type PhysicalMachineSpec

PhysicalMachineSpec defines the desired state of PhysicalMachine

type PhysicalMachineSpec struct {

    // Address represents the address of the physical machine
    Address string `json:"address"`
}

func (*PhysicalMachineSpec) DeepCopy

func (in *PhysicalMachineSpec) DeepCopy() *PhysicalMachineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PhysicalMachineSpec.

func (*PhysicalMachineSpec) DeepCopyInto

func (in *PhysicalMachineSpec) DeepCopyInto(out *PhysicalMachineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PhysicalMachineSpec) Default

func (in *PhysicalMachineSpec) Default(root interface{}, field *reflect.StructField)

func (*PhysicalMachineSpec) Validate

func (in *PhysicalMachineSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type PodChaos

PodChaos is the control script`s spec.

type PodChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a pod chaos experiment
    Spec PodChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the chaos experiment about pods
    Status PodChaosStatus `json:"status,omitempty"`
}

func (*PodChaos) DeepCopy

func (in *PodChaos) DeepCopy() *PodChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaos.

func (*PodChaos) DeepCopyInto

func (in *PodChaos) DeepCopyInto(out *PodChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodChaos) DeepCopyObject

func (in *PodChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PodChaos) Default

func (in *PodChaos) Default()

func (*PodChaos) DurationExceeded

func (in *PodChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*PodChaos) GetObjectMeta

func (in *PodChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*PodChaos) GetRemoteCluster

func (in *PodChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*PodChaos) GetSelectorSpecs

func (obj *PodChaos) GetSelectorSpecs() map[string]interface{}

func (*PodChaos) GetSpecAndMetaString

func (in *PodChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*PodChaos) GetStatus

func (in *PodChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*PodChaos) IsDeleted

func (in *PodChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*PodChaos) IsOneShot

func (in *PodChaos) IsOneShot() bool

func (*PodChaos) IsPaused

func (in *PodChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*PodChaos) Validate

func (in *PodChaos) Validate() ([]string, error)

func (*PodChaos) ValidateCreate

func (in *PodChaos) ValidateCreate() (admission.Warnings, error)

func (*PodChaos) ValidateDelete

func (in *PodChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PodChaos) ValidateUpdate

func (in *PodChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PodChaosAction

PodChaosAction represents the chaos action about pods.

type PodChaosAction string
const (
    // PodKillAction represents the chaos action of killing pods.
    PodKillAction PodChaosAction = "pod-kill"
    // PodFailureAction represents the chaos action of injecting errors to pods.
    // This action will cause the pod to not be created for a while.
    PodFailureAction PodChaosAction = "pod-failure"
    // ContainerKillAction represents the chaos action of killing the container
    ContainerKillAction PodChaosAction = "container-kill"
)

type PodChaosList

PodChaosList contains a list of PodChaos

type PodChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PodChaos `json:"items"`
}

func (*PodChaosList) DeepCopy

func (in *PodChaosList) DeepCopy() *PodChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosList.

func (*PodChaosList) DeepCopyInto

func (in *PodChaosList) DeepCopyInto(out *PodChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodChaosList) DeepCopyList

func (in *PodChaosList) DeepCopyList() GenericChaosList

func (*PodChaosList) DeepCopyObject

func (in *PodChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PodChaosList) GetItems

func (in *PodChaosList) GetItems() []GenericChaos

func (*PodChaosList) ListChaos

func (in *PodChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type PodChaosSpec

PodChaosSpec defines the attributes that a user creates on a chaos experiment about pods.

type PodChaosSpec struct {
    ContainerSelector `json:",inline"`

    // Action defines the specific pod chaos action.
    // Supported action: pod-kill / pod-failure / container-kill
    // Default action: pod-kill
    // +kubebuilder:validation:Enum=pod-kill;pod-failure;container-kill
    Action PodChaosAction `json:"action"`

    // Duration represents the duration of the chaos action.
    // It is required when the action is `PodFailureAction`.
    // A duration string is a possibly signed sequence of
    // decimal numbers, each with optional fraction and a unit suffix,
    // such as "300ms", "-1.5h" or "2h45m".
    // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // GracePeriod is used in pod-kill action. It represents the duration in seconds before the pod should be deleted.
    // Value must be non-negative integer. The default value is zero that indicates delete immediately.
    // +optional
    // +kubebuilder:validation:Minimum=0
    GracePeriod int64 `json:"gracePeriod,omitempty"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*PodChaosSpec) DeepCopy

func (in *PodChaosSpec) DeepCopy() *PodChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosSpec.

func (*PodChaosSpec) DeepCopyInto

func (in *PodChaosSpec) DeepCopyInto(out *PodChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodChaosSpec) GetDuration

func (in *PodChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*PodChaosSpec) Validate

func (in *PodChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

validateContainerNames validates the ContainerNames

type PodChaosStatus

PodChaosStatus represents the current status of the chaos experiment about pods.

type PodChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*PodChaosStatus) DeepCopy

func (in *PodChaosStatus) DeepCopy() *PodChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodChaosStatus.

func (*PodChaosStatus) DeepCopyInto

func (in *PodChaosStatus) DeepCopyInto(out *PodChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaos

+chaos-mesh:base +chaos-mesh:webhook:enableUpdate +kubebuilder:subresource:status PodHttpChaos is the Schema for the podhttpchaos API

type PodHttpChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec   PodHttpChaosSpec   `json:"spec,omitempty"`
    Status PodHttpChaosStatus `json:"status,omitempty"`
}

func (*PodHttpChaos) DeepCopy

func (in *PodHttpChaos) DeepCopy() *PodHttpChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaos.

func (*PodHttpChaos) DeepCopyInto

func (in *PodHttpChaos) DeepCopyInto(out *PodHttpChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodHttpChaos) DeepCopyObject

func (in *PodHttpChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PodHttpChaos) Default

func (in *PodHttpChaos) Default()

func (*PodHttpChaos) Validate

func (in *PodHttpChaos) Validate() ([]string, error)

func (*PodHttpChaos) ValidateCreate

func (in *PodHttpChaos) ValidateCreate() (admission.Warnings, error)

func (*PodHttpChaos) ValidateDelete

func (in *PodHttpChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PodHttpChaos) ValidateUpdate

func (in *PodHttpChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PodHttpChaosActions

PodHttpChaosActions defines possible actions of HttpChaos.

type PodHttpChaosActions struct {
    // Abort is a rule to abort a http session.
    // +optional
    Abort *bool `json:"abort,omitempty"`

    // Delay represents the delay of the target request/response.
    // A duration string is a possibly unsigned sequence of
    // decimal numbers, each with optional fraction and a unit suffix,
    // such as "300ms", "2h45m".
    // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    // +optional
    Delay *string `json:"delay,omitempty" webhook:"Delay"`

    // Replace is a rule to replace some contents in target.
    // +optional
    Replace *PodHttpChaosReplaceActions `json:"replace,omitempty"`

    // Patch is a rule to patch some contents in target.
    // +optional
    Patch *PodHttpChaosPatchActions `json:"patch,omitempty"`
}

func (*PodHttpChaosActions) DeepCopy

func (in *PodHttpChaosActions) DeepCopy() *PodHttpChaosActions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosActions.

func (*PodHttpChaosActions) DeepCopyInto

func (in *PodHttpChaosActions) DeepCopyInto(out *PodHttpChaosActions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosBaseRule

PodHttpChaosBaseRule defines the injection rule without source and port.

type PodHttpChaosBaseRule struct {
    // Target is the object to be selected and injected, <Request|Response>.
    Target PodHttpChaosTarget `json:"target"`

    // Selector contains the rules to select target.
    Selector PodHttpChaosSelector `json:"selector"`

    // Actions contains rules to inject target.
    Actions PodHttpChaosActions `json:"actions"`
}

func (*PodHttpChaosBaseRule) DeepCopy

func (in *PodHttpChaosBaseRule) DeepCopy() *PodHttpChaosBaseRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosBaseRule.

func (*PodHttpChaosBaseRule) DeepCopyInto

func (in *PodHttpChaosBaseRule) DeepCopyInto(out *PodHttpChaosBaseRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosList

PodHttpChaosList contains a list of PodHttpChaos

type PodHttpChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PodHttpChaos `json:"items"`
}

func (*PodHttpChaosList) DeepCopy

func (in *PodHttpChaosList) DeepCopy() *PodHttpChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosList.

func (*PodHttpChaosList) DeepCopyInto

func (in *PodHttpChaosList) DeepCopyInto(out *PodHttpChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodHttpChaosList) DeepCopyObject

func (in *PodHttpChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodHttpChaosPatchActions

PodHttpChaosPatchActions defines possible patch-actions of HttpChaos.

type PodHttpChaosPatchActions struct {
    // Body is a rule to patch message body of target.
    // +optional
    Body *PodHttpChaosPatchBodyAction `json:"body,omitempty"`

    // Queries is a rule to append uri queries of target(Request only).
    // For example: `[["foo", "bar"], ["foo", "unknown"]]`.
    // +optional
    Queries [][]string `json:"queries,omitempty"`

    // Headers is a rule to append http headers of target.
    // For example: `[["Set-Cookie", "<one cookie>"], ["Set-Cookie", "<another cookie>"]]`.
    // +optional
    Headers [][]string `json:"headers,omitempty"`
}

func (*PodHttpChaosPatchActions) DeepCopy

func (in *PodHttpChaosPatchActions) DeepCopy() *PodHttpChaosPatchActions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosPatchActions.

func (*PodHttpChaosPatchActions) DeepCopyInto

func (in *PodHttpChaosPatchActions) DeepCopyInto(out *PodHttpChaosPatchActions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosPatchBodyAction

PodHttpChaosPatchBodyAction defines patch body action of HttpChaos.

type PodHttpChaosPatchBodyAction struct {
    // Type represents the patch type, only support `JSON` as [merge patch json](https://tools.ietf.org/html/rfc7396) currently.
    Type string `json:"type"`

    // Value is the patch contents.
    Value string `json:"value"`
}

func (*PodHttpChaosPatchBodyAction) DeepCopy

func (in *PodHttpChaosPatchBodyAction) DeepCopy() *PodHttpChaosPatchBodyAction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosPatchBodyAction.

func (*PodHttpChaosPatchBodyAction) DeepCopyInto

func (in *PodHttpChaosPatchBodyAction) DeepCopyInto(out *PodHttpChaosPatchBodyAction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosReplaceActions

PodHttpChaosReplaceActions defines possible replace-actions of HttpChaos.

type PodHttpChaosReplaceActions struct {
    // Path is rule to to replace uri path in http request.
    // +optional
    Path *string `json:"path,omitempty"`

    // Method is a rule to replace http method in request.
    // +optional
    Method *string `json:"method,omitempty"`

    // Code is a rule to replace http status code in response.
    // +optional
    Code *int32 `json:"code,omitempty"`

    // Body is a rule to replace http message body in target.
    // +optional
    Body []byte `json:"body,omitempty"`

    // Queries is a rule to replace uri queries in http request.
    // For example, with value `{ "foo": "unknown" }`, the `/?foo=bar` will be altered to `/?foo=unknown`,
    // +optional
    Queries map[string]string `json:"queries,omitempty"`

    // Headers is a rule to replace http headers of target.
    // The key-value pairs represent header name and header value pairs.
    // +optional
    Headers map[string]string `json:"headers,omitempty"`
}

func (*PodHttpChaosReplaceActions) DeepCopy

func (in *PodHttpChaosReplaceActions) DeepCopy() *PodHttpChaosReplaceActions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosReplaceActions.

func (*PodHttpChaosReplaceActions) DeepCopyInto

func (in *PodHttpChaosReplaceActions) DeepCopyInto(out *PodHttpChaosReplaceActions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosRule

PodHttpChaosRule defines the injection rule for http.

type PodHttpChaosRule struct {
    PodHttpChaosBaseRule `json:",inline"`

    // Source represents the source of current rules
    Source string `json:"source,omitempty"`

    // Port represents the target port to be proxy of.
    Port int32 `json:"port"`
}

func (*PodHttpChaosRule) DeepCopy

func (in *PodHttpChaosRule) DeepCopy() *PodHttpChaosRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosRule.

func (*PodHttpChaosRule) DeepCopyInto

func (in *PodHttpChaosRule) DeepCopyInto(out *PodHttpChaosRule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosSelector

type PodHttpChaosSelector struct {
    // Port is a rule to select server listening on specific port.
    // +optional
    Port *int32 `json:"port,omitempty"`

    // Path is a rule to select target by uri path in http request.
    // +optional
    Path *string `json:"path,omitempty"`

    // Method is a rule to select target by http method in request.
    // +optional
    Method *string `json:"method,omitempty"`

    // Code is a rule to select target by http status code in response.
    // +optional
    Code *int32 `json:"code,omitempty"`

    // RequestHeaders is a rule to select target by http headers in request.
    // The key-value pairs represent header name and header value pairs.
    // +optional
    RequestHeaders map[string]string `json:"request_headers,omitempty"`

    // ResponseHeaders is a rule to select target by http headers in response.
    // The key-value pairs represent header name and header value pairs.
    // +optional
    ResponseHeaders map[string]string `json:"response_headers,omitempty"`
}

func (*PodHttpChaosSelector) DeepCopy

func (in *PodHttpChaosSelector) DeepCopy() *PodHttpChaosSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosSelector.

func (*PodHttpChaosSelector) DeepCopyInto

func (in *PodHttpChaosSelector) DeepCopyInto(out *PodHttpChaosSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosSpec

PodHttpChaosSpec defines the desired state of PodHttpChaos.

type PodHttpChaosSpec struct {
    // Rules are a list of injection rule for http request.
    // +optional
    Rules []PodHttpChaosRule `json:"rules,omitempty"`

    // TLS is the tls config,
    // will be override if there are multiple HTTPChaos experiments are applied
    // +optional
    TLS *PodHttpChaosTLS `json:"tls,omitempty"`
}

func (*PodHttpChaosSpec) DeepCopy

func (in *PodHttpChaosSpec) DeepCopy() *PodHttpChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosSpec.

func (*PodHttpChaosSpec) DeepCopyInto

func (in *PodHttpChaosSpec) DeepCopyInto(out *PodHttpChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosStatus

PodHttpChaosStatus defines the actual state of PodHttpChaos.

type PodHttpChaosStatus struct {
    // Pid represents a running tproxy process id.
    // +optional
    Pid int64 `json:"pid,omitempty"`

    // StartTime represents the start time of a tproxy process.
    // +optional
    StartTime int64 `json:"startTime,omitempty"`

    // +optional
    FailedMessage string `json:"failedMessage,omitempty"`

    // +optional
    ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*PodHttpChaosStatus) DeepCopy

func (in *PodHttpChaosStatus) DeepCopy() *PodHttpChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosStatus.

func (*PodHttpChaosStatus) DeepCopyInto

func (in *PodHttpChaosStatus) DeepCopyInto(out *PodHttpChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosTLS

PodHttpChaosTLS contains the tls config for HTTPChaos

type PodHttpChaosTLS struct {
    // SecretName represents the name of required secret resource
    SecretName string `json:"secretName"`

    // SecretNamespace represents the namespace of required secret resource
    SecretNamespace string `json:"secretNamespace"`

    // CertName represents the data name of cert file in secret, `tls.crt` for example
    CertName string `json:"certName"`

    // KeyName represents the data name of key file in secret, `tls.key` for example
    KeyName string `json:"keyName"`

    // CAName represents the data name of ca file in secret, `ca.crt` for example
    // +optional
    CAName *string `json:"caName,omitempty"`
}

func (*PodHttpChaosTLS) DeepCopy

func (in *PodHttpChaosTLS) DeepCopy() *PodHttpChaosTLS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodHttpChaosTLS.

func (*PodHttpChaosTLS) DeepCopyInto

func (in *PodHttpChaosTLS) DeepCopyInto(out *PodHttpChaosTLS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodHttpChaosTarget

PodHttpChaosTarget represents the type of an HttpChaos Action

type PodHttpChaosTarget string
const (
    // PodHttpRequest represents injecting chaos for http request
    PodHttpRequest PodHttpChaosTarget = "Request"

    // PodHttpResponse represents injecting chaos for http response
    PodHttpResponse PodHttpChaosTarget = "Response"
)

func (*PodHttpChaosTarget) Validate

func (in *PodHttpChaosTarget) Validate(root interface{}, path *field.Path) field.ErrorList

type PodIOChaos

+chaos-mesh:base +chaos-mesh:webhook:enableUpdate +kubebuilder:object:root=true +kubebuilder:subresource:status PodIOChaos is the Schema for the podiochaos API

type PodIOChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec PodIOChaosSpec `json:"spec,omitempty"`

    //+optional
    Status PodIOChaosStatus `json:"status,omitempty"`
}

func (*PodIOChaos) DeepCopy

func (in *PodIOChaos) DeepCopy() *PodIOChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaos.

func (*PodIOChaos) DeepCopyInto

func (in *PodIOChaos) DeepCopyInto(out *PodIOChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodIOChaos) DeepCopyObject

func (in *PodIOChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PodIOChaos) Default

func (in *PodIOChaos) Default()

func (*PodIOChaos) Validate

func (in *PodIOChaos) Validate() ([]string, error)

func (*PodIOChaos) ValidateCreate

func (in *PodIOChaos) ValidateCreate() (admission.Warnings, error)

func (*PodIOChaos) ValidateDelete

func (in *PodIOChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PodIOChaos) ValidateUpdate

func (in *PodIOChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PodIOChaosList

PodIOChaosList contains a list of PodIOChaos

type PodIOChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PodIOChaos `json:"items"`
}

func (*PodIOChaosList) DeepCopy

func (in *PodIOChaosList) DeepCopy() *PodIOChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosList.

func (*PodIOChaosList) DeepCopyInto

func (in *PodIOChaosList) DeepCopyInto(out *PodIOChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodIOChaosList) DeepCopyObject

func (in *PodIOChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodIOChaosSpec

PodIOChaosSpec defines the desired state of IOChaos

type PodIOChaosSpec struct {
    // VolumeMountPath represents the target mount path
    // It must be a root of mount path now.
    // TODO: search the mount parent of any path automatically.
    // TODO: support multiple different volume mount path in one pod
    VolumeMountPath string `json:"volumeMountPath"`

    // TODO: support multiple different container to inject in one pod
    // +optional
    Container *string `json:"container,omitempty"`

    // Actions are a list of IOChaos actions
    // +optional
    Actions []IOChaosAction `json:"actions,omitempty"`
}

func (*PodIOChaosSpec) DeepCopy

func (in *PodIOChaosSpec) DeepCopy() *PodIOChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosSpec.

func (*PodIOChaosSpec) DeepCopyInto

func (in *PodIOChaosSpec) DeepCopyInto(out *PodIOChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodIOChaosStatus

type PodIOChaosStatus struct {

    // Pid represents a running toda process id
    // +optional
    Pid int64 `json:"pid,omitempty"`

    // StartTime represents the start time of a toda process
    // +optional
    StartTime int64 `json:"startTime,omitempty"`

    // +optional
    FailedMessage string `json:"failedMessage,omitempty"`

    // +optional
    ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*PodIOChaosStatus) DeepCopy

func (in *PodIOChaosStatus) DeepCopy() *PodIOChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodIOChaosStatus.

func (*PodIOChaosStatus) DeepCopyInto

func (in *PodIOChaosStatus) DeepCopyInto(out *PodIOChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkChaos

PodNetworkChaos is the Schema for the PodNetworkChaos API

type PodNetworkChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a pod chaos experiment
    Spec PodNetworkChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the chaos experiment about pods
    Status PodNetworkChaosStatus `json:"status,omitempty"`
}

func (*PodNetworkChaos) DeepCopy

func (in *PodNetworkChaos) DeepCopy() *PodNetworkChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaos.

func (*PodNetworkChaos) DeepCopyInto

func (in *PodNetworkChaos) DeepCopyInto(out *PodNetworkChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetworkChaos) DeepCopyObject

func (in *PodNetworkChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PodNetworkChaos) Default

func (in *PodNetworkChaos) Default()

func (*PodNetworkChaos) Validate

func (in *PodNetworkChaos) Validate() ([]string, error)

func (*PodNetworkChaos) ValidateCreate

func (in *PodNetworkChaos) ValidateCreate() (admission.Warnings, error)

func (*PodNetworkChaos) ValidateDelete

func (in *PodNetworkChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*PodNetworkChaos) ValidateUpdate

func (in *PodNetworkChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PodNetworkChaosList

PodNetworkChaosList contains a list of PodNetworkChaos

type PodNetworkChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []PodNetworkChaos `json:"items"`
}

func (*PodNetworkChaosList) DeepCopy

func (in *PodNetworkChaosList) DeepCopy() *PodNetworkChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosList.

func (*PodNetworkChaosList) DeepCopyInto

func (in *PodNetworkChaosList) DeepCopyInto(out *PodNetworkChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodNetworkChaosList) DeepCopyObject

func (in *PodNetworkChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PodNetworkChaosSpec

PodNetworkChaosSpec defines the desired state of PodNetworkChaos

type PodNetworkChaosSpec struct {
    // The ipset on the pod
    // +optional
    IPSets []RawIPSet `json:"ipsets,omitempty"`

    // The iptables rules on the pod
    // +optional
    Iptables []RawIptables `json:"iptables,omitempty"`

    // The tc rules on the pod
    // +optional
    TrafficControls []RawTrafficControl `json:"tcs,omitempty"`
}

func (*PodNetworkChaosSpec) DeepCopy

func (in *PodNetworkChaosSpec) DeepCopy() *PodNetworkChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosSpec.

func (*PodNetworkChaosSpec) DeepCopyInto

func (in *PodNetworkChaosSpec) DeepCopyInto(out *PodNetworkChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodNetworkChaosStatus

PodNetworkChaosStatus defines the observed state of PodNetworkChaos

type PodNetworkChaosStatus struct {
    FailedMessage string `json:"failedMessage,omitempty"`

    ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*PodNetworkChaosStatus) DeepCopy

func (in *PodNetworkChaosStatus) DeepCopy() *PodNetworkChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodNetworkChaosStatus.

func (*PodNetworkChaosStatus) DeepCopyInto

func (in *PodNetworkChaosStatus) DeepCopyInto(out *PodNetworkChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PodSelector

type PodSelector struct {
    // Selector is used to select pods that are used to inject chaos action.
    Selector PodSelectorSpec `json:"selector"`

    // Mode defines the mode to run chaos action.
    // Supported mode: one / all / fixed / fixed-percent / random-max-percent
    // +kubebuilder:validation:Enum=one;all;fixed;fixed-percent;random-max-percent
    Mode SelectorMode `json:"mode"`

    // Value is required when the mode is set to `FixedMode` / `FixedPercentMode` / `RandomMaxPercentMode`.
    // If `FixedMode`, provide an integer of pods to do chaos action.
    // If `FixedPercentMode`, provide a number from 0-100 to specify the percent of pods the server can do chaos action.
    // IF `RandomMaxPercentMode`,  provide a number from 0-100 to specify the max percent of pods to do chaos action
    // +optional
    Value string `json:"value,omitempty"`
}

func (*PodSelector) DeepCopy

func (in *PodSelector) DeepCopy() *PodSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSelector.

func (*PodSelector) DeepCopyInto

func (in *PodSelector) DeepCopyInto(out *PodSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodSelector) Default

func (p *PodSelector) Default(root interface{}, field *reflect.StructField)

func (*PodSelector) Validate

func (p *PodSelector) Validate(root interface{}, path *field.Path) field.ErrorList

type PodSelectorSpec

PodSelectorSpec defines the some selectors to select objects. If the all selectors are empty, all objects will be used in chaos experiment.

type PodSelectorSpec struct {
    GenericSelectorSpec `json:",inline"`

    // Nodes is a set of node name and objects must belong to these nodes.
    // +optional
    Nodes []string `json:"nodes,omitempty"`

    // Pods is a map of string keys and a set values that used to select pods.
    // The key defines the namespace which pods belong,
    // and the each values is a set of pod names.
    // +optional
    Pods map[string][]string `json:"pods,omitempty"`

    // Map of string keys and values that can be used to select nodes.
    // Selector which must match a node's labels,
    // and objects must belong to these selected nodes.
    // +optional
    NodeSelectors map[string]string `json:"nodeSelectors,omitempty"`

    // PodPhaseSelectors is a set of condition of a pod at the current time.
    // supported value: Pending / Running / Succeeded / Failed / Unknown
    // +optional
    PodPhaseSelectors []string `json:"podPhaseSelectors,omitempty"`
}

func (PodSelectorSpec) ClusterScoped

func (in PodSelectorSpec) ClusterScoped() bool

ClusterScoped returns true if the selector selects Pods in the cluster

func (*PodSelectorSpec) DeepCopy

func (in *PodSelectorSpec) DeepCopy() *PodSelectorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodSelectorSpec.

func (*PodSelectorSpec) DeepCopyInto

func (in *PodSelectorSpec) DeepCopyInto(out *PodSelectorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PodSelectorSpec) DefaultNamespace

func (in *PodSelectorSpec) DefaultNamespace(namespace string)

type Port

type Port int32

func (*Port) Validate

func (in *Port) Validate(root interface{}, path *field.Path) field.ErrorList

type ProcessSpec

type ProcessSpec struct {
    // the process name or the process ID
    Process string `json:"process,omitempty"`
    // the signal number to send
    Signal int `json:"signal,omitempty"`

    // the command to be run when recovering experiment
    RecoverCmd string `json:"recoverCmd,omitempty"`
}

func (*ProcessSpec) DeepCopy

func (in *ProcessSpec) DeepCopy() *ProcessSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSpec.

func (*ProcessSpec) DeepCopyInto

func (in *ProcessSpec) DeepCopyInto(out *ProcessSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Rate

type Rate string

func (*Rate) Validate

func (in *Rate) Validate(root interface{}, path *field.Path) field.ErrorList

validateBandwidth validates the bandwidth

type RateSpec

RateSpec defines details of rate limit.

type RateSpec struct {
    // Rate is the speed knob. Allows bit, kbit, mbit, gbit, tbit, bps, kbps, mbps, gbps, tbps unit. bps means bytes per second.
    Rate string `json:"rate" webhook:"Rate"`
}

func (*RateSpec) DeepCopy

func (in *RateSpec) DeepCopy() *RateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateSpec.

func (*RateSpec) DeepCopyInto

func (in *RateSpec) DeepCopyInto(out *RateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawIPSet

RawIPSet represents an ipset on specific pod

type RawIPSet struct {
    // The name of ipset
    Name string `json:"name"`

    IPSetType IPSetType `json:"ipsetType"`

    // The contents of ipset.
    // Only available when IPSetType is NetIPSet.
    // +optional
    Cidrs []string `json:"cidrs,omitempty"`

    // The contents of ipset.
    // Only available when IPSetType is NetPortIPSet.
    // +optional
    CidrAndPorts []CidrAndPort `json:"cidrAndPorts,omitempty"`

    // The contents of ipset.
    // Only available when IPSetType is SetIPSet.
    // +optional
    SetNames []string `json:"setNames,omitempty"`

    // The name and namespace of the source network chaos
    RawRuleSource `json:",inline"`
}

func (*RawIPSet) DeepCopy

func (in *RawIPSet) DeepCopy() *RawIPSet

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawIPSet.

func (*RawIPSet) DeepCopyInto

func (in *RawIPSet) DeepCopyInto(out *RawIPSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawIptables

RawIptables represents the iptables rules on specific pod

type RawIptables struct {
    // The name of iptables chain
    Name string `json:"name"`

    // The name of related ipset
    // +optional
    // +nullable
    IPSets []string `json:"ipsets,omitempty"`

    // The block direction of this iptables rule
    Direction ChainDirection `json:"direction"`

    // Device represents the network device to be affected.
    // +optional
    Device string `json:"device,omitempty"`

    RawRuleSource `json:",inline"`
}

func (*RawIptables) DeepCopy

func (in *RawIptables) DeepCopy() *RawIptables

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawIptables.

func (*RawIptables) DeepCopyInto

func (in *RawIptables) DeepCopyInto(out *RawIptables)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawRuleSource

RawRuleSource represents the name and namespace of the source network chaos

type RawRuleSource struct {
    Source string `json:"source"`
}

func (*RawRuleSource) DeepCopy

func (in *RawRuleSource) DeepCopy() *RawRuleSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawRuleSource.

func (*RawRuleSource) DeepCopyInto

func (in *RawRuleSource) DeepCopyInto(out *RawRuleSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RawTrafficControl

RawTrafficControl represents the traffic control chaos on specific pod

type RawTrafficControl struct {
    // The type of traffic control
    Type TcType `json:"type"`

    TcParameter `json:",inline"`

    // The name of target ipset
    // +optional
    IPSet string `json:"ipset,omitempty"`

    // The name and namespace of the source network chaos
    Source string `json:"source"`

    // Device represents the network device to be affected.
    // +optional
    Device string `json:"device,omitempty"`
}

func (*RawTrafficControl) DeepCopy

func (in *RawTrafficControl) DeepCopy() *RawTrafficControl

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawTrafficControl.

func (*RawTrafficControl) DeepCopyInto

func (in *RawTrafficControl) DeepCopyInto(out *RawTrafficControl)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Record

type Record struct {
    Id          string `json:"id"`
    SelectorKey string `json:"selectorKey"`
    Phase       Phase  `json:"phase"`
    // InjectedCount is a counter to record the sum of successful injections
    InjectedCount int `json:"injectedCount"`
    // RecoveredCount is a counter to record the sum of successful recoveries
    RecoveredCount int `json:"recoveredCount"`
    // Events are the essential details about the injections and recoveries
    Events []RecordEvent `json:"events,omitempty"`
}

func (*Record) DeepCopy

func (in *Record) DeepCopy() *Record

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Record.

func (*Record) DeepCopyInto

func (in *Record) DeepCopyInto(out *Record)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecordEvent

type RecordEvent struct {
    // Type means the stage of this event
    Type RecordEventType `json:"type"`
    // Operation represents the operation we are doing, when we crate this event
    Operation RecordEventOperation `json:"operation"`
    // Message is the detail message, e.g. the reason why we failed to inject the chaos
    Message string `json:"message,omitempty"`
    // Timestamp is time when we create this event
    Timestamp *metav1.Time `json:"timestamp"`
}

func NewRecordEvent

func NewRecordEvent(eventType RecordEventType, eventStage RecordEventOperation,
    msg string, time metav1.Time) *RecordEvent

NewRecordEvent is a constructor of RecordEvent in status

func (*RecordEvent) DeepCopy

func (in *RecordEvent) DeepCopy() *RecordEvent

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RecordEvent.

func (*RecordEvent) DeepCopyInto

func (in *RecordEvent) DeepCopyInto(out *RecordEvent)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RecordEventOperation

type RecordEventOperation string
const (
    // Apply means this event is recorded, when we inject the chaos
    // typically, when we call impl.Apply()
    Apply RecordEventOperation = "Apply"
    // Recover means this event is recorded, when we recover the chaos
    // typically, when we call impl.Recover()
    Recover RecordEventOperation = "Recover"
)

type RecordEventType

type RecordEventType string
const (
    // TypeSucceeded means the stage of this event is successful
    TypeSucceeded RecordEventType = "Succeeded"
    // TypeFailed means the stage of this event is failed
    TypeFailed RecordEventType = "Failed"
)

type RedisCacheLimitSpec

type RedisCacheLimitSpec struct {
    RedisCommonSpec `json:",inline"`
    // The size of `maxmemory`
    Size string `json:"cacheSize,omitempty"`
    // Specifies maxmemory as a percentage of the original value
    Percent string `json:"percent,omitempty"`
}

func (*RedisCacheLimitSpec) DeepCopy

func (in *RedisCacheLimitSpec) DeepCopy() *RedisCacheLimitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheLimitSpec.

func (*RedisCacheLimitSpec) DeepCopyInto

func (in *RedisCacheLimitSpec) DeepCopyInto(out *RedisCacheLimitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCommonSpec

type RedisCommonSpec struct {
    // The adress of Redis server
    Addr string `json:"addr,omitempty"`
    // The password of Redis server
    Password string `json:"password,omitempty"`
}

func (*RedisCommonSpec) DeepCopy

func (in *RedisCommonSpec) DeepCopy() *RedisCommonSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCommonSpec.

func (*RedisCommonSpec) DeepCopyInto

func (in *RedisCommonSpec) DeepCopyInto(out *RedisCommonSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisExpirationSpec

type RedisExpirationSpec struct {
    RedisCommonSpec `json:",inline"`
    // The expiration of the keys
    Expiration string `json:"expiration,omitempty"`
    // The keys to be expired
    Key string `json:"key,omitempty"`
    // Additional options for `expiration`
    Option string `json:"option,omitempty"`
}

func (*RedisExpirationSpec) DeepCopy

func (in *RedisExpirationSpec) DeepCopy() *RedisExpirationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisExpirationSpec.

func (*RedisExpirationSpec) DeepCopyInto

func (in *RedisExpirationSpec) DeepCopyInto(out *RedisExpirationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisPenetrationSpec

type RedisPenetrationSpec struct {
    RedisCommonSpec `json:",inline"`
    // The number of requests to be sent
    RequestNum int `json:"requestNum,omitempty"`
}

func (*RedisPenetrationSpec) DeepCopy

func (in *RedisPenetrationSpec) DeepCopy() *RedisPenetrationSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisPenetrationSpec.

func (*RedisPenetrationSpec) DeepCopyInto

func (in *RedisPenetrationSpec) DeepCopyInto(out *RedisPenetrationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisSentinelRestartSpec

type RedisSentinelRestartSpec struct {
    RedisCommonSpec `json:",inline"`
    // The path of Sentinel conf
    Conf string `json:"conf,omitempty"`
    // The control flag determines whether to flush config
    FlushConfig bool `json:"flushConfig,omitempty"`
    // The path of `redis-server` command-line tool
    RedisPath bool `json:"redisPath,omitempty"`
}

func (*RedisSentinelRestartSpec) DeepCopy

func (in *RedisSentinelRestartSpec) DeepCopy() *RedisSentinelRestartSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelRestartSpec.

func (*RedisSentinelRestartSpec) DeepCopyInto

func (in *RedisSentinelRestartSpec) DeepCopyInto(out *RedisSentinelRestartSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisSentinelStopSpec

type RedisSentinelStopSpec struct {
    RedisCommonSpec `json:",inline"`
    // The path of Sentinel conf
    Conf string `json:"conf,omitempty"`
    // The control flag determines whether to flush config
    FlushConfig bool `json:"flushConfig,omitempty"`
    // The path of `redis-server` command-line tool
    RedisPath bool `json:"redisPath,omitempty"`
}

func (*RedisSentinelStopSpec) DeepCopy

func (in *RedisSentinelStopSpec) DeepCopy() *RedisSentinelStopSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisSentinelStopSpec.

func (*RedisSentinelStopSpec) DeepCopyInto

func (in *RedisSentinelStopSpec) DeepCopyInto(out *RedisSentinelStopSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteCluster

+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:subresource:status +chaos-mesh:base RemoteCluster defines a remote cluster

type RemoteCluster struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec RemoteClusterSpec `json:"spec,omitempty"`

    // +optional
    Status RemoteClusterStatus `json:"status,omitempty"`
}

func (*RemoteCluster) DeepCopy

func (in *RemoteCluster) DeepCopy() *RemoteCluster

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteCluster.

func (*RemoteCluster) DeepCopyInto

func (in *RemoteCluster) DeepCopyInto(out *RemoteCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RemoteCluster) DeepCopyObject

func (in *RemoteCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RemoteCluster) Default

func (in *RemoteCluster) Default()

func (*RemoteCluster) Validate

func (in *RemoteCluster) Validate() ([]string, error)

func (*RemoteCluster) ValidateCreate

func (in *RemoteCluster) ValidateCreate() (admission.Warnings, error)

func (*RemoteCluster) ValidateDelete

func (in *RemoteCluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*RemoteCluster) ValidateUpdate

func (in *RemoteCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type RemoteClusterCondition

type RemoteClusterCondition struct {
    Type   RemoteClusterConditionType `json:"type"`
    Status corev1.ConditionStatus     `json:"status"`
    // +optional
    Reason string `json:"reason"`
}

func (*RemoteClusterCondition) DeepCopy

func (in *RemoteClusterCondition) DeepCopy() *RemoteClusterCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterCondition.

func (*RemoteClusterCondition) DeepCopyInto

func (in *RemoteClusterCondition) DeepCopyInto(out *RemoteClusterCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteClusterConditionType

type RemoteClusterConditionType string
var (
    RemoteClusterConditionInstalled RemoteClusterConditionType = "Installed"
    RemoteClusterConditionReady     RemoteClusterConditionType = "Ready"
)

type RemoteClusterKubeConfig

RemoteClusterKubeConfig refers to a secret by which we'll use to connect remote cluster

type RemoteClusterKubeConfig struct {
    SecretRef RemoteClusterSecretRef `json:"secretRef"`
}

func (*RemoteClusterKubeConfig) DeepCopy

func (in *RemoteClusterKubeConfig) DeepCopy() *RemoteClusterKubeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterKubeConfig.

func (*RemoteClusterKubeConfig) DeepCopyInto

func (in *RemoteClusterKubeConfig) DeepCopyInto(out *RemoteClusterKubeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteClusterList

RemoteClusterList contains a list of RemoteCluster +kubebuilder:object:root=true

type RemoteClusterList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []RemoteCluster `json:"items"`
}

func (*RemoteClusterList) DeepCopy

func (in *RemoteClusterList) DeepCopy() *RemoteClusterList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterList.

func (*RemoteClusterList) DeepCopyInto

func (in *RemoteClusterList) DeepCopyInto(out *RemoteClusterList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RemoteClusterList) DeepCopyObject

func (in *RemoteClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RemoteClusterSecretRef

RemoteClusterSecretRef refers to a secret in any namespaces

type RemoteClusterSecretRef struct {
    Namespace string `json:"namespace"`
    Name      string `json:"name"`

    Key string `json:"key"`
}

func (*RemoteClusterSecretRef) DeepCopy

func (in *RemoteClusterSecretRef) DeepCopy() *RemoteClusterSecretRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterSecretRef.

func (*RemoteClusterSecretRef) DeepCopyInto

func (in *RemoteClusterSecretRef) DeepCopyInto(out *RemoteClusterSecretRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteClusterSpec

RemoteClusterSpec defines the specification of a remote cluster

type RemoteClusterSpec struct {
    Namespace string `json:"namespace"`
    Version   string `json:"version"`

    KubeConfig RemoteClusterKubeConfig `json:"kubeConfig"`

    // +optional
    // +kubebuilder:validation:Schemaless
    // +kubebuilder:pruning:PreserveUnknownFields
    // +kubebuilder:validation:Type=object
    ConfigOverride json.RawMessage `json:"configOverride,omitempty"`
}

func (*RemoteClusterSpec) DeepCopy

func (in *RemoteClusterSpec) DeepCopy() *RemoteClusterSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterSpec.

func (*RemoteClusterSpec) DeepCopyInto

func (in *RemoteClusterSpec) DeepCopyInto(out *RemoteClusterSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteClusterStatus

type RemoteClusterStatus struct {
    CurrentVersion string `json:"currentVersion"`

    // Conditions represents the current condition of the remote cluster
    // +optional
    Conditions         []RemoteClusterCondition `json:"conditions,omitempty"`
    ObservedGeneration int64                    `json:"observedGeneration,omitempty"`
}

func (*RemoteClusterStatus) DeepCopy

func (in *RemoteClusterStatus) DeepCopy() *RemoteClusterStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteClusterStatus.

func (*RemoteClusterStatus) DeepCopyInto

func (in *RemoteClusterStatus) DeepCopyInto(out *RemoteClusterStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RemoteObject

+kubebuilder:object:generate=false

type RemoteObject interface {
    StatefulObject
    GetRemoteCluster() string
}

type ReorderSpec

ReorderSpec defines details of packet reorder.

type ReorderSpec struct {
    Reorder string `json:"reorder" webhook:"FloatStr"`
    // +optional
    Correlation string `json:"correlation,omitempty" default:"0" webhook:"FloatStr"`
    Gap         int    `json:"gap"`
}

func (*ReorderSpec) DeepCopy

func (in *ReorderSpec) DeepCopy() *ReorderSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReorderSpec.

func (*ReorderSpec) DeepCopyInto

func (in *ReorderSpec) DeepCopyInto(out *ReorderSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Schedule

Schedule is the cronly schedule object

type Schedule struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    Spec ScheduleSpec `json:"spec"`

    // +optional
    Status ScheduleStatus `json:"status,omitempty"`
}

func (*Schedule) DeepCopy

func (in *Schedule) DeepCopy() *Schedule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Schedule.

func (*Schedule) DeepCopyInto

func (in *Schedule) DeepCopyInto(out *Schedule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Schedule) DeepCopyObject

func (in *Schedule) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Schedule) Default

func (in *Schedule) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Schedule) IsPaused

func (in *Schedule) IsPaused() bool

func (*Schedule) Validate

func (in *Schedule) Validate() ([]string, error)

Validate validates chaos object

func (*Schedule) ValidateCreate

func (in *Schedule) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Schedule) ValidateDelete

func (in *Schedule) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Schedule) ValidateUpdate

func (in *Schedule) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ScheduleItem

type ScheduleItem struct {
    EmbedChaos `json:",inline"`
    // +optional
    Workflow *WorkflowSpec `json:"workflow,omitempty"`
}

func (*ScheduleItem) DeepCopy

func (in *ScheduleItem) DeepCopy() *ScheduleItem

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleItem.

func (*ScheduleItem) DeepCopyInto

func (in *ScheduleItem) DeepCopyInto(out *ScheduleItem)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScheduleItem) RestoreChaosSpec

func (it *ScheduleItem) RestoreChaosSpec(root interface{}) error

func (*ScheduleItem) SpawnNewObject

func (it *ScheduleItem) SpawnNewObject(templateType ScheduleTemplateType) (GenericChaos, error)

type ScheduleList

ScheduleList contains a list of Schedule

type ScheduleList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []Schedule `json:"items"`
}

func (*ScheduleList) DeepCopy

func (in *ScheduleList) DeepCopy() *ScheduleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleList.

func (*ScheduleList) DeepCopyInto

func (in *ScheduleList) DeepCopyInto(out *ScheduleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScheduleList) DeepCopyList

func (in *ScheduleList) DeepCopyList() GenericChaosList

func (*ScheduleList) DeepCopyObject

func (in *ScheduleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ScheduleList) GetItems

func (in *ScheduleList) GetItems() []GenericChaos

type ScheduleSpec

ScheduleSpec is the specification of a schedule object

type ScheduleSpec struct {
    Schedule string `json:"schedule"`

    // +optional
    // +nullable
    // +kubebuilder:validation:Minimum=0
    // +kubebuilder:validation:ExclusiveMinimum=true
    StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds"`

    // +optional
    // +kubebuilder:default=Forbid
    // +kubebuilder:validation:Enum=Forbid;Allow
    ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy"`

    // +optional
    // +kubebuilder:validation:Minimum=1
    HistoryLimit int `json:"historyLimit,omitempty"`

    Type ScheduleTemplateType `json:"type"`

    ScheduleItem `json:",inline"`
}

func (*ScheduleSpec) DeepCopy

func (in *ScheduleSpec) DeepCopy() *ScheduleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleSpec.

func (*ScheduleSpec) DeepCopyInto

func (in *ScheduleSpec) DeepCopyInto(out *ScheduleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ScheduleSpec) Validate

func (in *ScheduleSpec) Validate() field.ErrorList

type ScheduleStatus

ScheduleStatus is the status of a schedule object

type ScheduleStatus struct {
    // +optional
    Active []corev1.ObjectReference `json:"active,omitempty"`

    // +optional
    // +nullable
    LastScheduleTime metav1.Time `json:"time,omitempty"`
}

func (*ScheduleStatus) DeepCopy

func (in *ScheduleStatus) DeepCopy() *ScheduleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleStatus.

func (*ScheduleStatus) DeepCopyInto

func (in *ScheduleStatus) DeepCopyInto(out *ScheduleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ScheduleTemplateType

type ScheduleTemplateType string
const (
    ScheduleTypeAWSChaos             ScheduleTemplateType = "AWSChaos"
    ScheduleTypeAzureChaos           ScheduleTemplateType = "AzureChaos"
    ScheduleTypeBlockChaos           ScheduleTemplateType = "BlockChaos"
    ScheduleTypeDNSChaos             ScheduleTemplateType = "DNSChaos"
    ScheduleTypeGCPChaos             ScheduleTemplateType = "GCPChaos"
    ScheduleTypeHTTPChaos            ScheduleTemplateType = "HTTPChaos"
    ScheduleTypeIOChaos              ScheduleTemplateType = "IOChaos"
    ScheduleTypeJVMChaos             ScheduleTemplateType = "JVMChaos"
    ScheduleTypeKernelChaos          ScheduleTemplateType = "KernelChaos"
    ScheduleTypeNetworkChaos         ScheduleTemplateType = "NetworkChaos"
    ScheduleTypePhysicalMachineChaos ScheduleTemplateType = "PhysicalMachineChaos"
    ScheduleTypePodChaos             ScheduleTemplateType = "PodChaos"
    ScheduleTypeStressChaos          ScheduleTemplateType = "StressChaos"
    ScheduleTypeTimeChaos            ScheduleTemplateType = "TimeChaos"
    ScheduleTypeWorkflow             ScheduleTemplateType = "Workflow"
)

type SelectorMode

SelectorMode represents the mode to run chaos action.

type SelectorMode string
const (
    // OneMode represents that the system will do the chaos action on one object selected randomly.
    OneMode SelectorMode = "one"
    // AllMode represents that the system will do the chaos action on all objects
    // regardless of status (not ready or not running pods includes).
    // Use this label carefully.
    AllMode SelectorMode = "all"
    // FixedMode represents that the system will do the chaos action on a specific number of running objects.
    FixedMode SelectorMode = "fixed"
    // FixedPercentMode to specify a fixed % that can be inject chaos action.
    FixedPercentMode SelectorMode = "fixed-percent"
    // RandomMaxPercentMode to specify a maximum % that can be inject chaos action.
    RandomMaxPercentMode SelectorMode = "random-max-percent"
)

type StatefulObject

StatefulObject defines a basic Object that can get the status

type StatefulObject interface {
    GenericChaos
    GetStatus() *ChaosStatus
}

type StatusCheck

+kubebuilder:object:root=true +kubebuilder:subresource:status +chaos-mesh:base

type StatusCheck struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a status check
    Spec StatusCheckSpec `json:"spec"`

    // +optional
    // Most recently observed status of status check
    Status StatusCheckStatus `json:"status,omitempty"`
}

func (*StatusCheck) DeepCopy

func (in *StatusCheck) DeepCopy() *StatusCheck

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheck.

func (*StatusCheck) DeepCopyInto

func (in *StatusCheck) DeepCopyInto(out *StatusCheck)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatusCheck) DeepCopyObject

func (in *StatusCheck) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*StatusCheck) Default

func (in *StatusCheck) Default()

func (*StatusCheck) DurationExceed

func (in *StatusCheck) DurationExceed(now time.Time) (bool, time.Duration, error)

func (*StatusCheck) IsCompleted

func (in *StatusCheck) IsCompleted() bool

IsCompleted checks if the status check is completed, according to the StatusCheckConditionCompleted condition.

func (*StatusCheck) Validate

func (in *StatusCheck) Validate() ([]string, error)

func (*StatusCheck) ValidateCreate

func (in *StatusCheck) ValidateCreate() (admission.Warnings, error)

func (*StatusCheck) ValidateDelete

func (in *StatusCheck) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*StatusCheck) ValidateUpdate

func (in *StatusCheck) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type StatusCheckCondition

type StatusCheckCondition struct {
    Type               StatusCheckConditionType `json:"type"`
    Status             corev1.ConditionStatus   `json:"status"`
    Reason             StatusCheckReason        `json:"reason"`
    LastProbeTime      *metav1.Time             `json:"lastProbeTime"`
    LastTransitionTime *metav1.Time             `json:"lastTransitionTime"`
}

func (*StatusCheckCondition) DeepCopy

func (in *StatusCheckCondition) DeepCopy() *StatusCheckCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckCondition.

func (*StatusCheckCondition) DeepCopyInto

func (in *StatusCheckCondition) DeepCopyInto(out *StatusCheckCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusCheckConditionType

type StatusCheckConditionType string
const (
    // StatusCheckConditionCompleted means the status check is completed.
    // It will be `True`, in the following scenarios:
    // 1. the duration is exceeded
    // 2. the failure threshold is exceeded
    // 3. the success threshold is exceeded (only the `Synchronous` mode)
    StatusCheckConditionCompleted StatusCheckConditionType = "Completed"
    // StatusCheckConditionDurationExceed means the duration is exceeded.
    StatusCheckConditionDurationExceed StatusCheckConditionType = "DurationExceed"
    // StatusCheckConditionFailureThresholdExceed means the failure threshold is exceeded.
    StatusCheckConditionFailureThresholdExceed StatusCheckConditionType = "FailureThresholdExceed"
    // StatusCheckConditionSuccessThresholdExceed means the success threshold is exceeded.
    StatusCheckConditionSuccessThresholdExceed StatusCheckConditionType = "SuccessThresholdExceed"
)

type StatusCheckList

StatusCheckList contains a list of StatusCheck +kubebuilder:object:root=true

type StatusCheckList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []StatusCheck `json:"items"`
}

func (*StatusCheckList) DeepCopy

func (in *StatusCheckList) DeepCopy() *StatusCheckList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckList.

func (*StatusCheckList) DeepCopyInto

func (in *StatusCheckList) DeepCopyInto(out *StatusCheckList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatusCheckList) DeepCopyObject

func (in *StatusCheckList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StatusCheckMode

type StatusCheckMode string
const (
    // StatusCheckSynchronous means the status check will exit
    // immediately after success or failure.
    StatusCheckSynchronous StatusCheckMode = "Synchronous"
    // StatusCheckContinuous means the status check will continue to
    // execute until the duration is exceeded or the status check fails.
    StatusCheckContinuous StatusCheckMode = "Continuous"
)

type StatusCheckOutcome

type StatusCheckOutcome string
const (
    StatusCheckOutcomeSuccess StatusCheckOutcome = "Success"
    StatusCheckOutcomeFailure StatusCheckOutcome = "Failure"
)

type StatusCheckReason

type StatusCheckReason string
const (
    StatusCheckDurationExceed         StatusCheckReason = "StatusCheckDurationExceed"
    StatusCheckFailureThresholdExceed StatusCheckReason = "StatusCheckFailureThresholdExceed"
    StatusCheckSuccessThresholdExceed StatusCheckReason = "StatusCheckSuccessThresholdExceed"
    StatusCheckExecutionFailed        StatusCheckReason = "StatusCheckExecutionFailed"
    StatusCheckExecutionSucceed       StatusCheckReason = "StatusCheckExecutionSucceed"
)

type StatusCheckRecord

type StatusCheckRecord struct {
    StartTime *metav1.Time       `json:"startTime"`
    Outcome   StatusCheckOutcome `json:"outcome"`
}

func (*StatusCheckRecord) DeepCopy

func (in *StatusCheckRecord) DeepCopy() *StatusCheckRecord

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckRecord.

func (*StatusCheckRecord) DeepCopyInto

func (in *StatusCheckRecord) DeepCopyInto(out *StatusCheckRecord)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusCheckSpec

type StatusCheckSpec struct {
    // Mode defines the execution mode of the status check.
    // Support type: Synchronous / Continuous
    // +optional
    // +kubebuilder:validation:Enum=Synchronous;Continuous
    Mode StatusCheckMode `json:"mode,omitempty"`

    // Type defines the specific status check type.
    // Support type: HTTP
    // +kubebuilder:default=HTTP
    // +kubebuilder:validation:Enum=HTTP
    Type StatusCheckType `json:"type"`

    // Duration defines the duration of the whole status check if the
    // number of failed execution does not exceed the failure threshold.
    // Duration is available to both `Synchronous` and `Continuous` mode.
    // A duration string is a possibly signed sequence of
    // decimal numbers, each with optional fraction and a unit suffix,
    // such as "300ms", "-1.5h" or "2h45m".
    // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // TimeoutSeconds defines the number of seconds after which
    // an execution of status check times out.
    // +optional
    // +kubebuilder:default=1
    // +kubebuilder:validation:Minimum=1
    TimeoutSeconds int `json:"timeoutSeconds,omitempty"`

    // IntervalSeconds defines how often (in seconds) to perform
    // an execution of status check.
    // +optional
    // +kubebuilder:default=10
    // +kubebuilder:validation:Minimum=1
    IntervalSeconds int `json:"intervalSeconds,omitempty"`

    // FailureThreshold defines the minimum consecutive failure
    // for the status check to be considered failed.
    // +optional
    // +kubebuilder:default=3
    // +kubebuilder:validation:Minimum=1
    FailureThreshold int `json:"failureThreshold,omitempty"`

    // SuccessThreshold defines the minimum consecutive successes
    // for the status check to be considered successful.
    // SuccessThreshold only works for `Synchronous` mode.
    // +optional
    // +kubebuilder:default=1
    // +kubebuilder:validation:Minimum=1
    SuccessThreshold int `json:"successThreshold,omitempty"`

    // RecordsHistoryLimit defines the number of record to retain.
    // +optional
    // +kubebuilder:default=100
    // +kubebuilder:validation:Minimum=1
    // +kubebuilder:validation:Maximum=1000
    RecordsHistoryLimit int `json:"recordsHistoryLimit,omitempty"`

    // +optional
    *EmbedStatusCheck `json:",inline,omitempty"`
}

func (*StatusCheckSpec) DeepCopy

func (in *StatusCheckSpec) DeepCopy() *StatusCheckSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckSpec.

func (*StatusCheckSpec) DeepCopyInto

func (in *StatusCheckSpec) DeepCopyInto(out *StatusCheckSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StatusCheckSpec) Default

func (in *StatusCheckSpec) Default(root interface{}, field *reflect.StructField)

func (*StatusCheckSpec) GetDuration

func (in *StatusCheckSpec) GetDuration() (*time.Duration, error)

func (*StatusCheckSpec) Validate

func (in *StatusCheckSpec) Validate(root interface{}, path *field.Path) field.ErrorList

type StatusCheckStatus

type StatusCheckStatus struct {
    // StartTime represents time when the status check started to execute.
    // +optional
    StartTime *metav1.Time `json:"startTime,omitempty"`

    // CompletionTime represents time when the status check was completed.
    // +optional
    CompletionTime *metav1.Time `json:"completionTime,omitempty"`

    // Count represents the total number of the status check executed.
    // +optional
    Count int64 `json:"count,omitempty"`

    // Conditions represents the latest available observations of a StatusCheck's current state.
    // +optional
    // +patchMergeKey=type
    // +patchStrategy=merge
    Conditions []StatusCheckCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

    // Records contains the history of the execution of StatusCheck.
    // +optional
    Records []StatusCheckRecord `json:"records,omitempty"`
}

func (*StatusCheckStatus) DeepCopy

func (in *StatusCheckStatus) DeepCopy() *StatusCheckStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCheckStatus.

func (*StatusCheckStatus) DeepCopyInto

func (in *StatusCheckStatus) DeepCopyInto(out *StatusCheckStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StatusCheckTemplate

StatusCheckTemplate represents a template of status check. A statusCheckTemplate would save in the ConfigMap named `template-status-check-<template-name>`. +kubebuilder:object:generate=false

type StatusCheckTemplate struct {
    StatusCheckSpec `json:",inline"`
}

func (*StatusCheckTemplate) Default

func (in *StatusCheckTemplate) Default()

func (*StatusCheckTemplate) Validate

func (in *StatusCheckTemplate) Validate() (admission.Warnings, error)

type StatusCheckType

type StatusCheckType string
const (
    TypeHTTP StatusCheckType = "HTTP"
)

type StatusCode

type StatusCode string

func (*StatusCode) Validate

func (in *StatusCode) Validate(root interface{}, path *field.Path) field.ErrorList

type StressCPUSpec

type StressCPUSpec struct {
    // specifies P percent loading per CPU worker. 0 is effectively a sleep (no load) and 100 is full loading.
    Load int `json:"load,omitempty"`
    // specifies N workers to apply the stressor.
    Workers int `json:"workers,omitempty"`
    // extend stress-ng options
    Options []string `json:"options,omitempty"`
}

func (*StressCPUSpec) DeepCopy

func (in *StressCPUSpec) DeepCopy() *StressCPUSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressCPUSpec.

func (*StressCPUSpec) DeepCopyInto

func (in *StressCPUSpec) DeepCopyInto(out *StressCPUSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StressChaos

StressChaos is the Schema for the stresschaos API

type StressChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a time chaos experiment
    Spec StressChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the time chaos experiment
    Status StressChaosStatus `json:"status,omitempty"`
}

func (*StressChaos) DeepCopy

func (in *StressChaos) DeepCopy() *StressChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaos.

func (*StressChaos) DeepCopyInto

func (in *StressChaos) DeepCopyInto(out *StressChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StressChaos) DeepCopyObject

func (in *StressChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*StressChaos) Default

func (in *StressChaos) Default()

func (*StressChaos) DurationExceeded

func (in *StressChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*StressChaos) GetCustomStatus

func (obj *StressChaos) GetCustomStatus() interface{}

func (*StressChaos) GetObjectMeta

func (in *StressChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*StressChaos) GetRemoteCluster

func (in *StressChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*StressChaos) GetSelectorSpecs

func (obj *StressChaos) GetSelectorSpecs() map[string]interface{}

func (*StressChaos) GetSpecAndMetaString

func (in *StressChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*StressChaos) GetStatus

func (in *StressChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*StressChaos) IsDeleted

func (in *StressChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*StressChaos) IsOneShot

func (in *StressChaos) IsOneShot() bool

func (*StressChaos) IsPaused

func (in *StressChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*StressChaos) Validate

func (in *StressChaos) Validate() ([]string, error)

func (*StressChaos) ValidateCreate

func (in *StressChaos) ValidateCreate() (admission.Warnings, error)

func (*StressChaos) ValidateDelete

func (in *StressChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*StressChaos) ValidateUpdate

func (in *StressChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type StressChaosList

StressChaosList contains a list of StressChaos

type StressChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []StressChaos `json:"items"`
}

func (*StressChaosList) DeepCopy

func (in *StressChaosList) DeepCopy() *StressChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosList.

func (*StressChaosList) DeepCopyInto

func (in *StressChaosList) DeepCopyInto(out *StressChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StressChaosList) DeepCopyList

func (in *StressChaosList) DeepCopyList() GenericChaosList

func (*StressChaosList) DeepCopyObject

func (in *StressChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*StressChaosList) GetItems

func (in *StressChaosList) GetItems() []GenericChaos

func (*StressChaosList) ListChaos

func (in *StressChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type StressChaosSpec

StressChaosSpec defines the desired state of StressChaos

type StressChaosSpec struct {
    ContainerSelector `json:",inline"`

    // Stressors defines plenty of stressors supported to stress system components out.
    // You can use one or more of them to make up various kinds of stresses. At least
    // one of the stressors should be specified.
    // +optional
    Stressors *Stressors `json:"stressors,omitempty"`

    // StressngStressors defines plenty of stressors just like `Stressors` except that it's an experimental
    // feature and more powerful. You can define stressors in `stress-ng` (see also `man stress-ng`) dialect,
    // however not all of the supported stressors are well tested. It maybe retired in later releases. You
    // should always use `Stressors` to define the stressors and use this only when you want more stressors
    // unsupported by `Stressors`. When both `StressngStressors` and `Stressors` are defined, `StressngStressors`
    // wins.
    // +optional
    StressngStressors string `json:"stressngStressors,omitempty"`

    // Duration represents the duration of the chaos action
    // +optional
    Duration *string `json:"duration,omitempty" webhook:"Duration"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*StressChaosSpec) DeepCopy

func (in *StressChaosSpec) DeepCopy() *StressChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosSpec.

func (*StressChaosSpec) DeepCopyInto

func (in *StressChaosSpec) DeepCopyInto(out *StressChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StressChaosSpec) GetDuration

func (in *StressChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

func (*StressChaosSpec) Validate

func (in *StressChaosSpec) Validate(root interface{}, path *field.Path) field.ErrorList

Validate validates the scheduler and duration

type StressChaosStatus

StressChaosStatus defines the observed state of StressChaos

type StressChaosStatus struct {
    ChaosStatus `json:",inline"`
    // Instances always specifies stressing instances
    // +optional
    Instances map[string]StressInstance `json:"instances,omitempty"`
}

func (*StressChaosStatus) DeepCopy

func (in *StressChaosStatus) DeepCopy() *StressChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressChaosStatus.

func (*StressChaosStatus) DeepCopyInto

func (in *StressChaosStatus) DeepCopyInto(out *StressChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StressInstance

StressInstance is an instance generates stresses

type StressInstance struct {
    // UID is the stress-ng identifier
    // +optional
    UID string `json:"uid,omitempty"`
    // MemoryUID is the memStress identifier
    // +optional
    MemoryUID string `json:"memoryUid,omitempty"`
    // StartTime specifies when the stress-ng starts
    // +optional
    StartTime *metav1.Time `json:"startTime,omitempty"`
    // MemoryStartTime specifies when the memStress starts
    // +optional
    MemoryStartTime *metav1.Time `json:"memoryStartTime,omitempty"`
}

func (*StressInstance) DeepCopy

func (in *StressInstance) DeepCopy() *StressInstance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressInstance.

func (*StressInstance) DeepCopyInto

func (in *StressInstance) DeepCopyInto(out *StressInstance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StressMemorySpec

type StressMemorySpec struct {
    // specifies N bytes consumed per vm worker, default is the total available memory.
    // One can specify the size as % of total available memory or in units of B, KB/KiB, MB/MiB, GB/GiB, TB/TiB..
    Size string `json:"size,omitempty"`
    // extend stress-ng options
    Options []string `json:"options,omitempty"`
}

func (*StressMemorySpec) DeepCopy

func (in *StressMemorySpec) DeepCopy() *StressMemorySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StressMemorySpec.

func (*StressMemorySpec) DeepCopyInto

func (in *StressMemorySpec) DeepCopyInto(out *StressMemorySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Stressor

Stressor defines common configurations of a stressor

type Stressor struct {
    // Workers specifies N workers to apply the stressor.
    // Maximum 8192 workers can run by stress-ng
    // +kubebuilder:validation:Maximum=8192
    Workers int `json:"workers"`
}

func (*Stressor) DeepCopy

func (in *Stressor) DeepCopy() *Stressor

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stressor.

func (*Stressor) DeepCopyInto

func (in *Stressor) DeepCopyInto(out *Stressor)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Stressor) Validate

func (in *Stressor) Validate(parent *field.Path) field.ErrorList

Validate validates whether the Stressor is well defined

type Stressors

Stressors defines plenty of stressors supported to stress system components out. You can use one or more of them to make up various kinds of stresses

type Stressors struct {
    // MemoryStressor stresses virtual memory out
    // +optional
    MemoryStressor *MemoryStressor `json:"memory,omitempty"`
    // CPUStressor stresses CPU out
    // +optional
    CPUStressor *CPUStressor `json:"cpu,omitempty"`
}

func (*Stressors) DeepCopy

func (in *Stressors) DeepCopy() *Stressors

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stressors.

func (*Stressors) DeepCopyInto

func (in *Stressors) DeepCopyInto(out *Stressors)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Stressors) Normalize

func (in *Stressors) Normalize() (cpuStressors string, memoryStressors string, err error)

Normalize the stressors to comply with stress-ng

func (*Stressors) Validate

func (in *Stressors) Validate(root interface{}, path *field.Path) field.ErrorList

Validate validates whether the Stressors are all well defined

type Task

type Task struct {
    // Container is the main container image to run in the pod
    Container *corev1.Container `json:"container,omitempty"`

    // Volumes is a list of volumes that can be mounted by containers in a template.
    // +patchStrategy=merge
    // +patchMergeKey=name
    Volumes []corev1.Volume `json:"volumes,omitempty" patchStrategy:"merge" patchMergeKey:"name"`
}

func (*Task) DeepCopy

func (in *Task) DeepCopy() *Task

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Task.

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TcParameter

TcParameter represents the parameters for a traffic control chaos

type TcParameter struct {
    // Delay represents the detail about delay action
    // +ui:form:when=action=='delay'
    // +optional
    Delay *DelaySpec `json:"delay,omitempty"`

    // Loss represents the detail about loss action
    // +ui:form:when=action=='loss'
    // +optional
    Loss *LossSpec `json:"loss,omitempty"`

    // DuplicateSpec represents the detail about loss action
    // +ui:form:when=action=='duplicate'
    // +optional
    Duplicate *DuplicateSpec `json:"duplicate,omitempty"`

    // Corrupt represents the detail about corrupt action
    // +ui:form:when=action=='corrupt'
    // +optional
    Corrupt *CorruptSpec `json:"corrupt,omitempty"`

    // Bandwidth represents the detail about bandwidth control action
    // +ui:form:when=action=='bandwidth'
    // +optional
    Bandwidth *BandwidthSpec `json:"bandwidth,omitempty"`

    // Rate represents the detail about rate control action
    // +ui:form:when=action=='rate'
    // +optional
    Rate *RateSpec `json:"rate,omitempty"`
}

func (*TcParameter) DeepCopy

func (in *TcParameter) DeepCopy() *TcParameter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TcParameter.

func (*TcParameter) DeepCopyInto

func (in *TcParameter) DeepCopyInto(out *TcParameter)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TcType

TcType the type of traffic control

type TcType string
const (
    // Netem represents netem traffic control
    Netem TcType = "netem"

    // Bandwidth represents bandwidth shape traffic control
    Bandwidth TcType = "bandwidth"
)

type Template

type Template struct {
    Name string       `json:"name"`
    Type TemplateType `json:"templateType"`
    // +optional
    Deadline *string `json:"deadline,omitempty"`
    // Task describes the behavior of the custom task. Only used when Type is TypeTask.
    // +optional
    Task *Task `json:"task,omitempty"`
    // Children describes the children steps of serial or parallel node. Only used when Type is TypeSerial or TypeParallel.
    // +optional
    Children []string `json:"children,omitempty"`
    // ConditionalBranches describes the conditional branches of custom tasks. Only used when Type is TypeTask.
    // +optional
    ConditionalBranches []ConditionalBranch `json:"conditionalBranches,omitempty"`
    // EmbedChaos describe the chaos to be injected with chaos nodes. Only used when Type is Type<Something>Chaos.
    // +optional
    *EmbedChaos `json:",inline"`
    // Schedule describe the Schedule(describing scheduled chaos) to be injected with chaos nodes. Only used when Type is TypeSchedule.
    // +optional
    Schedule *ChaosOnlyScheduleSpec `json:"schedule,omitempty"`
    // StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck.
    // +optional
    StatusCheck *StatusCheckSpec `json:"statusCheck,omitempty"`
    // AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded.
    // Only used when Type is TypeStatusCheck.
    // +optional
    AbortWithStatusCheck bool `json:"abortWithStatusCheck,omitempty"`
}

func (*Template) DeepCopy

func (in *Template) DeepCopy() *Template

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Template.

func (*Template) DeepCopyInto

func (in *Template) DeepCopyInto(out *Template)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TemplateType

type TemplateType string
const (
    TypeTask        TemplateType = "Task"
    TypeSerial      TemplateType = "Serial"
    TypeParallel    TemplateType = "Parallel"
    TypeSuspend     TemplateType = "Suspend"
    TypeSchedule    TemplateType = "Schedule"
    TypeStatusCheck TemplateType = "StatusCheck"
)
const (
    TypeAWSChaos             TemplateType = "AWSChaos"
    TypeAzureChaos           TemplateType = "AzureChaos"
    TypeBlockChaos           TemplateType = "BlockChaos"
    TypeDNSChaos             TemplateType = "DNSChaos"
    TypeGCPChaos             TemplateType = "GCPChaos"
    TypeHTTPChaos            TemplateType = "HTTPChaos"
    TypeIOChaos              TemplateType = "IOChaos"
    TypeJVMChaos             TemplateType = "JVMChaos"
    TypeKernelChaos          TemplateType = "KernelChaos"
    TypeNetworkChaos         TemplateType = "NetworkChaos"
    TypePhysicalMachineChaos TemplateType = "PhysicalMachineChaos"
    TypePodChaos             TemplateType = "PodChaos"
    TypeStressChaos          TemplateType = "StressChaos"
    TypeTimeChaos            TemplateType = "TimeChaos"
)

type TimeChaos

TimeChaos is the Schema for the timechaos API

type TimeChaos struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a time chaos experiment
    Spec TimeChaosSpec `json:"spec"`

    // +optional
    // Most recently observed status of the time chaos experiment
    Status TimeChaosStatus `json:"status,omitempty"`
}

func (*TimeChaos) DeepCopy

func (in *TimeChaos) DeepCopy() *TimeChaos

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaos.

func (*TimeChaos) DeepCopyInto

func (in *TimeChaos) DeepCopyInto(out *TimeChaos)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TimeChaos) DeepCopyObject

func (in *TimeChaos) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TimeChaos) Default

func (in *TimeChaos) Default()

func (*TimeChaos) DurationExceeded

func (in *TimeChaos) DurationExceeded(now time.Time) (bool, time.Duration, error)

func (*TimeChaos) GetObjectMeta

func (in *TimeChaos) GetObjectMeta() *metav1.ObjectMeta

GetObjectMeta would return the ObjectMeta for chaos

func (*TimeChaos) GetRemoteCluster

func (in *TimeChaos) GetRemoteCluster() string

GetRemoteCluster returns the remoteCluster

func (*TimeChaos) GetSelectorSpecs

func (in *TimeChaos) GetSelectorSpecs() map[string]interface{}

func (*TimeChaos) GetSpecAndMetaString

func (in *TimeChaos) GetSpecAndMetaString() (string, error)

GetSpecAndMetaString returns a string including the meta and spec field of this chaos object.

func (*TimeChaos) GetStatus

func (in *TimeChaos) GetStatus() *ChaosStatus

GetStatus returns the status

func (*TimeChaos) IsDeleted

func (in *TimeChaos) IsDeleted() bool

IsDeleted returns whether this resource has been deleted

func (*TimeChaos) IsOneShot

func (in *TimeChaos) IsOneShot() bool

func (*TimeChaos) IsPaused

func (in *TimeChaos) IsPaused() bool

IsPaused returns whether this resource has been paused

func (*TimeChaos) Validate

func (in *TimeChaos) Validate() ([]string, error)

func (*TimeChaos) ValidateCreate

func (in *TimeChaos) ValidateCreate() (admission.Warnings, error)

func (*TimeChaos) ValidateDelete

func (in *TimeChaos) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*TimeChaos) ValidateUpdate

func (in *TimeChaos) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TimeChaosList

TimeChaosList contains a list of TimeChaos

type TimeChaosList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []TimeChaos `json:"items"`
}

func (*TimeChaosList) DeepCopy

func (in *TimeChaosList) DeepCopy() *TimeChaosList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosList.

func (*TimeChaosList) DeepCopyInto

func (in *TimeChaosList) DeepCopyInto(out *TimeChaosList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TimeChaosList) DeepCopyList

func (in *TimeChaosList) DeepCopyList() GenericChaosList

func (*TimeChaosList) DeepCopyObject

func (in *TimeChaosList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*TimeChaosList) GetItems

func (in *TimeChaosList) GetItems() []GenericChaos

func (*TimeChaosList) ListChaos

func (in *TimeChaosList) ListChaos() []GenericChaos

ListChaos returns a list of chaos

type TimeChaosSpec

TimeChaosSpec defines the desired state of TimeChaos

type TimeChaosSpec struct {
    ContainerSelector `json:",inline"`

    // TimeOffset defines the delta time of injected program. It's a possibly signed sequence of decimal numbers, such as
    // "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
    TimeOffset string `json:"timeOffset" webhook:"TimeOffset"`

    // ClockIds defines all affected clock id
    // All available options are ["CLOCK_REALTIME","CLOCK_MONOTONIC","CLOCK_PROCESS_CPUTIME_ID","CLOCK_THREAD_CPUTIME_ID",
    // "CLOCK_MONOTONIC_RAW","CLOCK_REALTIME_COARSE","CLOCK_MONOTONIC_COARSE","CLOCK_BOOTTIME","CLOCK_REALTIME_ALARM",
    // "CLOCK_BOOTTIME_ALARM"]
    // Default value is ["CLOCK_REALTIME"]
    ClockIds []string `json:"clockIds,omitempty" webhook:"ClockIds,nilable"`

    // Duration represents the duration of the chaos action
    Duration *string `json:"duration,omitempty"`

    // RemoteCluster represents the remote cluster where the chaos will be deployed
    // +optional
    RemoteCluster string `json:"remoteCluster,omitempty"`
}

func (*TimeChaosSpec) DeepCopy

func (in *TimeChaosSpec) DeepCopy() *TimeChaosSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosSpec.

func (*TimeChaosSpec) DeepCopyInto

func (in *TimeChaosSpec) DeepCopyInto(out *TimeChaosSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TimeChaosSpec) GetDuration

func (in *TimeChaosSpec) GetDuration() (*time.Duration, error)

GetDuration would return the duration for chaos

type TimeChaosStatus

TimeChaosStatus defines the observed state of TimeChaos

type TimeChaosStatus struct {
    ChaosStatus `json:",inline"`
}

func (*TimeChaosStatus) DeepCopy

func (in *TimeChaosStatus) DeepCopy() *TimeChaosStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimeChaosStatus.

func (*TimeChaosStatus) DeepCopyInto

func (in *TimeChaosStatus) DeepCopyInto(out *TimeChaosStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TimeOffset

type TimeOffset string

func (*TimeOffset) Validate

func (in *TimeOffset) Validate(root interface{}, path *field.Path) field.ErrorList

type Timespec

Timespec represents a time

type Timespec struct {
    Sec  int64 `json:"sec"`
    Nsec int64 `json:"nsec"`
}

func (*Timespec) DeepCopy

func (in *Timespec) DeepCopy() *Timespec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timespec.

func (*Timespec) DeepCopyInto

func (in *Timespec) DeepCopyInto(out *Timespec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserDefinedSpec

type UserDefinedSpec struct {
    // The command to be executed when attack
    AttackCmd string `json:"attackCmd,omitempty"`
    // The command to be executed when recover
    RecoverCmd string `json:"recoverCmd,omitempty"`
}

func (*UserDefinedSpec) DeepCopy

func (in *UserDefinedSpec) DeepCopy() *UserDefinedSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserDefinedSpec.

func (*UserDefinedSpec) DeepCopyInto

func (in *UserDefinedSpec) DeepCopyInto(out *UserDefinedSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VMSpec

type VMSpec struct {
    // The name of the VM to be injected
    VMName string `json:"vm-name,omitempty"`
}

func (*VMSpec) DeepCopy

func (in *VMSpec) DeepCopy() *VMSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMSpec.

func (*VMSpec) DeepCopyInto

func (in *VMSpec) DeepCopyInto(out *VMSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebhookObject

WebhookObject is basic Object which implement `webhook.Validator` and `webhook.Defaulter`

type WebhookObject interface {
    webhook.Validator
    webhook.Defaulter
}

type Workflow

+kubebuilder:object:root=true +kubebuilder:resource:shortName=wf +kubebuilder:subresource:status +chaos-mesh:experiment

type Workflow struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a workflow
    Spec WorkflowSpec `json:"spec"`

    // +optional
    // Most recently observed status of the workflow
    Status WorkflowStatus `json:"status"`
}

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Workflow) DeepCopyObject

func (in *Workflow) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Workflow) Default

func (in *Workflow) Default()

func (*Workflow) GetObjectMeta

func (in *Workflow) GetObjectMeta() *metav1.ObjectMeta

func (*Workflow) ValidateCreate

func (in *Workflow) ValidateCreate() (admission.Warnings, error)

func (*Workflow) ValidateDelete

func (in *Workflow) ValidateDelete() (admission.Warnings, error)

func (*Workflow) ValidateUpdate

func (in *Workflow) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

type WorkflowCondition

type WorkflowCondition struct {
    Type      WorkflowConditionType  `json:"type"`
    Status    corev1.ConditionStatus `json:"status"`
    Reason    string                 `json:"reason"`
    StartTime *metav1.Time           `json:"startTime,omitempty"`
}

func (*WorkflowCondition) DeepCopy

func (in *WorkflowCondition) DeepCopy() *WorkflowCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowCondition.

func (*WorkflowCondition) DeepCopyInto

func (in *WorkflowCondition) DeepCopyInto(out *WorkflowCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowConditionType

type WorkflowConditionType string
const (
    WorkflowConditionAccomplished WorkflowConditionType = "Accomplished"
    WorkflowConditionScheduled    WorkflowConditionType = "Scheduled"
)

type WorkflowList

+kubebuilder:object:root=true

type WorkflowList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []Workflow `json:"items"`
}

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowList) DeepCopyList

func (in *WorkflowList) DeepCopyList() GenericChaosList

TODO: refactor: not so accurate

func (*WorkflowList) DeepCopyObject

func (in *WorkflowList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*WorkflowList) GetItems

func (in *WorkflowList) GetItems() []GenericChaos

type WorkflowNode

+kubebuilder:object:root=true +kubebuilder:resource:shortName=wfn +kubebuilder:subresource:status

type WorkflowNode struct {
    metav1.TypeMeta   `json:",inline"`
    metav1.ObjectMeta `json:"metadata,omitempty"`

    // Spec defines the behavior of a node of workflow
    Spec WorkflowNodeSpec `json:"spec"`

    // +optional
    // Most recently observed status of the workflow node
    Status WorkflowNodeStatus `json:"status,omitempty"`
}

func (*WorkflowNode) DeepCopy

func (in *WorkflowNode) DeepCopy() *WorkflowNode

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNode.

func (*WorkflowNode) DeepCopyInto

func (in *WorkflowNode) DeepCopyInto(out *WorkflowNode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowNode) DeepCopyObject

func (in *WorkflowNode) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkflowNodeCondition

type WorkflowNodeCondition struct {
    Type   WorkflowNodeConditionType `json:"type"`
    Status corev1.ConditionStatus    `json:"status"`
    Reason string                    `json:"reason"`
}

func (*WorkflowNodeCondition) DeepCopy

func (in *WorkflowNodeCondition) DeepCopy() *WorkflowNodeCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeCondition.

func (*WorkflowNodeCondition) DeepCopyInto

func (in *WorkflowNodeCondition) DeepCopyInto(out *WorkflowNodeCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowNodeConditionType

type WorkflowNodeConditionType string
const (
    ConditionAccomplished   WorkflowNodeConditionType = "Accomplished"
    ConditionDeadlineExceed WorkflowNodeConditionType = "DeadlineExceed"
    ConditionChaosInjected  WorkflowNodeConditionType = "ChaosInjected"
    ConditionAborted        WorkflowNodeConditionType = "Aborted"
)

type WorkflowNodeList

+kubebuilder:object:root=true

type WorkflowNodeList struct {
    metav1.TypeMeta `json:",inline"`
    metav1.ListMeta `json:"metadata,omitempty"`
    Items           []WorkflowNode `json:"items"`
}

func (*WorkflowNodeList) DeepCopy

func (in *WorkflowNodeList) DeepCopy() *WorkflowNodeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeList.

func (*WorkflowNodeList) DeepCopyInto

func (in *WorkflowNodeList) DeepCopyInto(out *WorkflowNodeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*WorkflowNodeList) DeepCopyObject

func (in *WorkflowNodeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type WorkflowNodeSpec

type WorkflowNodeSpec struct {
    TemplateName string       `json:"templateName"`
    WorkflowName string       `json:"workflowName"`
    Type         TemplateType `json:"type"`
    StartTime    *metav1.Time `json:"startTime"`
    // +optional
    Deadline *metav1.Time `json:"deadline,omitempty"`
    // +optional
    Task *Task `json:"task,omitempty"`
    // +optional
    Children []string `json:"children,omitempty"`
    // +optional
    ConditionalBranches []ConditionalBranch `json:"conditionalBranches,omitempty"`
    // +optional
    *EmbedChaos `json:",inline,omitempty"`
    // +optional
    Schedule *ScheduleSpec `json:"schedule,omitempty"`
    // StatusCheck describe the behavior of StatusCheck. Only used when Type is TypeStatusCheck.
    // +optional
    StatusCheck *StatusCheckSpec `json:"statusCheck,omitempty"`
    // AbortWithStatusCheck describe whether to abort the workflow when the failure threshold of StatusCheck is exceeded.
    // Only used when Type is TypeStatusCheck.
    // +optional
    AbortWithStatusCheck bool `json:"abortWithStatusCheck,omitempty"`
}

func (*WorkflowNodeSpec) DeepCopy

func (in *WorkflowNodeSpec) DeepCopy() *WorkflowNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeSpec.

func (*WorkflowNodeSpec) DeepCopyInto

func (in *WorkflowNodeSpec) DeepCopyInto(out *WorkflowNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowNodeStatus

type WorkflowNodeStatus struct {

    // ChaosResource refs to the real chaos CR object.
    // +optional
    ChaosResource *corev1.TypedLocalObjectReference `json:"chaosResource,omitempty"`

    // ConditionalBranchesStatus records the evaluation result of each ConditionalBranch
    // +optional
    ConditionalBranchesStatus *ConditionalBranchesStatus `json:"conditionalBranchesStatus,omitempty"`

    // ActiveChildren means the created children node
    // +optional
    ActiveChildren []corev1.LocalObjectReference `json:"activeChildren,omitempty"`

    // Children is necessary for representing the order when replicated child template references by parent template.
    // +optional
    FinishedChildren []corev1.LocalObjectReference `json:"finishedChildren,omitempty"`

    // Represents the latest available observations of a workflow node's current state.
    // +optional
    // +patchMergeKey=type
    // +patchStrategy=merge
    Conditions []WorkflowNodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*WorkflowNodeStatus) DeepCopy

func (in *WorkflowNodeStatus) DeepCopy() *WorkflowNodeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowNodeStatus.

func (*WorkflowNodeStatus) DeepCopyInto

func (in *WorkflowNodeStatus) DeepCopyInto(out *WorkflowNodeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowSpec

type WorkflowSpec struct {
    Entry     string     `json:"entry"`
    Templates []Template `json:"templates"`
}

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkflowStatus

type WorkflowStatus struct {
    // +optional
    EntryNode *string `json:"entryNode,omitempty"`
    // +optional
    StartTime *metav1.Time `json:"startTime,omitempty"`
    // +optional
    EndTime *metav1.Time `json:"endTime,omitempty"`
    // Represents the latest available observations of a workflow's current state.
    // +optional
    // +patchMergeKey=type
    // +patchStrategy=merge
    Conditions []WorkflowCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.