add option to continue pipeline when the input is empty

This commit is contained in:
Donny Xia
2020-08-19 11:21:19 -07:00
parent 0ff4e53046
commit 037ac3b134
3 changed files with 40 additions and 2 deletions

View File

@@ -75,6 +75,11 @@ type Pipeline struct {
// Outputs are where the transformed Resource Configuration is written.
Outputs []Writer `yaml:"outputs,omitempty"`
// ContinueIfInputEmpty indicates should pipeline continue when the
// the input result is empty. This is useful when we want to run outputs
// even the input is empty.
ContinueIfInputEmpty bool
}
// Execute executes each step in the sequence, returning immediately after encountering
@@ -99,7 +104,7 @@ func (p Pipeline) ExecuteWithCallback(callback PipelineExecuteCallbackFunc) erro
}
result = append(result, nodes...)
}
if len(result) == 0 {
if len(result) == 0 && !p.ContinueIfInputEmpty {
// no inputs to operate on
return nil
}