in pkg/data_output.go [25:46]
func (d *DataOutput) ExecuteDuringPlan() error {
src := d.BaseBlock.Config().(*MetaProgrammingTFConfig).OutputBlocks()
var matched []*terraform.RootBlock
ds := linq.From(src)
if d.ExpectedOutputName != "" {
ds = ds.Where(func(i interface{}) bool {
return i.(*terraform.RootBlock).Labels[0] == d.ExpectedOutputName
})
}
ds.ToSlice(&matched)
outputBlocks := make(map[string]cty.Value)
for _, block := range matched {
outputName := block.Labels[0]
outputBlocks[outputName] = block.EvalContext()
}
d.Result = cty.ObjectVal(outputBlocks)
return nil
}