terraform/internal/plans/action.go
2026-02-17 13:56:34 +00:00

29 lines
812 B
Go

// Copyright IBM Corp. 2014, 2026
// SPDX-License-Identifier: BUSL-1.1
package plans
type Action rune
const (
NoOp Action = 0
Create Action = '+'
Read Action = '←'
Update Action = '~'
DeleteThenCreate Action = '∓'
CreateThenDelete Action = '±'
Delete Action = '-'
Forget Action = '.'
CreateThenForget Action = '⨥'
Open Action = '⟃'
Renew Action = '⟳'
Close Action = '⫏'
)
//go:generate go tool golang.org/x/tools/cmd/stringer -type Action
// IsReplace returns true if the action is one of the actions that
// represent replacing an existing object with a new object.
func (a Action) IsReplace() bool {
return a == DeleteThenCreate || a == CreateThenDelete || a == CreateThenForget
}