github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/terraform/terraform.go (about)

     1  package terraform
     2  
     3  import (
     4  	"encoding/json"
     5  )
     6  
     7  type TerraformOutput struct {
     8  	Sensitive bool        `json:"sensitive"`
     9  	ObjType   interface{} `json:"type"`
    10  	Value     interface{} `json:"value"`
    11  }
    12  
    13  func ReadOutputs(tfOutputJson string) (map[string]interface{}, error) {
    14  	var objmap map[string]TerraformOutput
    15  	err := json.Unmarshal([]byte(tfOutputJson), &objmap)
    16  
    17  	if err != nil {
    18  		return nil, err
    19  	}
    20  
    21  	retmap := make(map[string]interface{})
    22  
    23  	for tfoutvarname, tfoutvar := range objmap {
    24  		retmap[tfoutvarname] = tfoutvar.Value
    25  	}
    26  
    27  	return retmap, nil
    28  }