github.com/kcburge/terraform@v0.11.12-beta1/config/configschema/implied_type.go (about)

     1  package configschema
     2  
     3  import (
     4  	"github.com/hashicorp/hcl2/hcldec"
     5  	"github.com/zclconf/go-cty/cty"
     6  )
     7  
     8  // ImpliedType returns the cty.Type that would result from decoding a
     9  // configuration block using the receiving block schema.
    10  //
    11  // ImpliedType always returns a result, even if the given schema is
    12  // inconsistent. Code that creates configschema.Block objects should be
    13  // tested using the InternalValidate method to detect any inconsistencies
    14  // that would cause this method to fall back on defaults and assumptions.
    15  func (b *Block) ImpliedType() cty.Type {
    16  	if b == nil {
    17  		return cty.EmptyObject
    18  	}
    19  
    20  	return hcldec.ImpliedType(b.DecoderSpec())
    21  }