blob: 99223b1aa73330a251a873f22b33e0adeebbfdb9 [file] [edit]
// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package execgraph
// operationDesc is a low-level description of an operation that can be saved in
// serialized form for reloading later and can be "compiled" into a form
// suitable for execution once the full graph execution graph has been built.
type operationDesc struct {
opCode opCode
operands []AnyResultRef
}
// opCode is an enumeration of all of the different operation types that
// can appear in an execution graph.
//
// This does not represent the actual implementation of each opCode. The
// descriptions of operations are "compiled" into executable functions as a
// separate step after assembling the execution graph piecemeal during the
// planning process.
type opCode int
const (
_ = opCode(iota) // the zero value is not a valid operation
opResourceInstanceCurrentMeta
opResourceInstanceDesired
opResourceInstancePrior
opManagedFinalPlan
opManagedApply
opManagedPrepareDepose
opManagedPerformDepose
opManagedDesposedMeta
opManagedAlreadyDeposed
opManagedChangeAddr
opDataRead
)
//go:generate go run golang.org/x/tools/cmd/stringer -type=opCode