package command import ( "os" "strconv" "github.com/hashicorp/terraform/internal/plans/planfile" ) // NOTE: Temporary file until this branch is cleaned up. // Input returns whether or not input asking is enabled. func (m *Meta) Input() bool { if test || !m.input { return false } if envVar := os.Getenv(InputModeEnvVar); envVar != "" { if v, err := strconv.ParseBool(envVar); err == nil && !v { return false } } return true } // PlanFile returns a reader for the plan file at the given path. // // If the return value and error are both nil, the given path exists but seems // to be a configuration directory instead. // // Error will be non-nil if path refers to something which looks like a plan // file and loading the file fails. func (m *Meta) PlanFile(path string) (*planfile.Reader, error) { fi, err := os.Stat(path) if err != nil { return nil, err } if fi.IsDir() { // Looks like a configuration directory. return nil, nil } return planfile.Open(path) }