kubeform.dev/terraform-backend-sdk@v0.0.0-20220310143633-45f07fe731c5/plans/mode.go (about)

     1  package plans
     2  
     3  // Mode represents the various mutually-exclusive modes for creating a plan.
     4  type Mode rune
     5  
     6  //go:generate go run golang.org/x/tools/cmd/stringer -type Mode
     7  
     8  const (
     9  	// NormalMode is the default planning mode, which aims to synchronize the
    10  	// prior state with remote objects and plan a set of actions intended to
    11  	// make those remote objects better match the current configuration.
    12  	NormalMode Mode = 0
    13  
    14  	// DestroyMode is a special planning mode for situations where the goal
    15  	// is to destroy all remote objects that are bound to instances in the
    16  	// prior state, even if the configuration for those instances is still
    17  	// present.
    18  	//
    19  	// This mode corresponds with the "-destroy" option to "terraform plan",
    20  	// and with the plan created by the "terraform destroy" command.
    21  	DestroyMode Mode = 'D'
    22  
    23  	// RefreshOnlyMode is a special planning mode which only performs the
    24  	// synchronization of prior state with remote objects, and skips any
    25  	// effort to generate any change actions for resource instances even if
    26  	// the configuration has changed relative to the state.
    27  	//
    28  	// This mode corresponds with the "-refresh-only" option to
    29  	// "terraform plan".
    30  	RefreshOnlyMode Mode = 'R'
    31  )