/
githubmirror
/
terraform
Обзор
Документация
Войти
/
githubmirror
/
terraform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
internal/stacks/stackruntime/validate.go
46 строк
1 KB
Radek Simko
make copyrightfix
17 фев 2026, 16:56
17 фев 2026, 16:56
0fe906f
Код
Авторство
О чём код?
// Copyright IBM Corp. 2014, 2026 // SPDX-License-Identifier: BUSL-1.1 package stackruntime import ( "context" "go.opentelemetry.io/otel/codes" "github.com/hashicorp/terraform/internal/addrs" "github.com/hashicorp/terraform/internal/depsfile" "github.com/hashicorp/terraform/internal/providers" "github.com/hashicorp/terraform/internal/stacks/stackconfig" "github.com/hashicorp/terraform/internal/stacks/stackruntime/internal/stackeval" "github.com/hashicorp/terraform/internal/tfdiags" ) // Validate performs static validation of a full stack configuration, returning // diagnostics in case of any detected problems. func Validate(ctx context.Context, req *ValidateRequest) tfdiags.Diagnostics { ctx, span := tracer.Start(ctx, "validate stack configuration") defer span.End() main := stackeval.NewForValidating(req.Config, stackeval.ValidateOpts{ ProviderFactories: req.ProviderFactories, DependencyLocks: req.DependencyLocks, }) main.AllowLanguageExperiments(req.ExperimentsAllowed) diags := main.ValidateAll(ctx) diags = diags.Append( main.DoCleanup(ctx), ) if diags.HasErrors() { span.SetStatus(codes.Error, "validation returned errors") } return diags } type ValidateRequest struct { Config *stackconfig.Config ProviderFactories map[addrs.Provider]providers.Factory DependencyLocks depsfile.Locks ExperimentsAllowed bool }