func()

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
}