mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-02-22 14:00:57 -05:00
43 lines
1.7 KiB
Go
43 lines
1.7 KiB
Go
// Copyright (c) The OpenTofu Authors
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
// Copyright (c) 2023 HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package eval
|
|
|
|
import (
|
|
"github.com/opentofu/opentofu/internal/addrs"
|
|
"github.com/opentofu/opentofu/internal/configs"
|
|
"github.com/opentofu/opentofu/internal/configs/configschema"
|
|
"github.com/opentofu/opentofu/internal/lang/eval/internal/evalglue"
|
|
"github.com/opentofu/opentofu/internal/lang/eval/internal/tofu2024"
|
|
"github.com/opentofu/opentofu/internal/providers"
|
|
)
|
|
|
|
// The symbols aliased in this file are defined in [evalglue] really just to
|
|
// avoid a dependency between this package and the "compiler" packages
|
|
// like ./internal/tofu2024, but we do still need them in our exported API
|
|
// here so that other parts of OpenTofu can interact with the evaluator.
|
|
|
|
type EvalContext = evalglue.EvalContext
|
|
type ProvidersSchema = evalglue.ProvidersSchema
|
|
type ProvisionersSchema = evalglue.ProvisionersSchema
|
|
type ExternalModules = evalglue.ExternalModules
|
|
type UncompiledModule = evalglue.UncompiledModule
|
|
|
|
func ModulesForTesting(modules map[addrs.ModuleSourceLocal]*configs.Module) ExternalModules {
|
|
// This one actually lives in tofu2024 because evalglue isn't allowed to
|
|
// depend on tofu2024 itself, but from the caller's perspective this is
|
|
// still presented as an evalglue re-export because the return type belongs
|
|
// to that package.
|
|
return tofu2024.ModulesForTesting(modules)
|
|
}
|
|
|
|
func ProvidersForTesting(schemas map[addrs.Provider]*providers.GetProviderSchemaResponse) ProvidersSchema {
|
|
return evalglue.ProvidersForTesting(schemas)
|
|
}
|
|
|
|
func ProvisionersForTesting(schemas map[string]*configschema.Block) ProvisionersSchema {
|
|
return evalglue.ProvisionersForTesting(schemas)
|
|
}
|