You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform/internal/command/workdir/config_state.go

20 lines
568 B

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package workdir
import (
"github.com/hashicorp/terraform/internal/configs/configschema"
"github.com/hashicorp/terraform/internal/plans"
"github.com/zclconf/go-cty/cty"
)
// ConfigState describes a configuration block, and is used to make that config block stateful.
type ConfigState[T any] interface {
Empty() bool
Config(*configschema.Block) (cty.Value, error)
SetConfig(cty.Value, *configschema.Block) error
ForPlan(*configschema.Block, string) (*plans.Backend, error)
DeepCopy() *T
}