in pkg/apis/frameworkcontroller/v1/completion.go [336:392]
func matchContainerPattern(
container core.ContainerStatus,
containerPattern *ContainerPattern) *MatchedContainer {
term := container.State.Terminated
matchedContainer := &MatchedContainer{}
if !containerPattern.NameRegex.IsZero() {
if ms := containerPattern.NameRegex.FindString(container.Name); ms != nil {
matchedContainer.Name = ms
} else {
return nil
}
}
if !containerPattern.ReasonRegex.IsZero() {
if term == nil {
return nil
}
if ms := containerPattern.ReasonRegex.FindString(term.Reason); ms != nil {
matchedContainer.Reason = *ms
} else {
return nil
}
}
if !containerPattern.MessageRegex.IsZero() {
if term == nil {
return nil
}
if ms := containerPattern.MessageRegex.FindString(term.Message); ms != nil {
matchedContainer.Message = *ms
} else {
return nil
}
}
if !containerPattern.SignalRange.IsZero() {
if term == nil {
return nil
}
if containerPattern.SignalRange.Contains(term.Signal) {
matchedContainer.Signal = term.Signal
} else {
return nil
}
}
if !containerPattern.CodeRange.IsZero() {
if term == nil {
return nil
}
if containerPattern.CodeRange.Contains(term.ExitCode) {
matchedContainer.Code = &term.ExitCode
} else {
return nil
}
}
return matchedContainer
}