chore: add remote backend specfic warnings to dev override warning

pull/34746/head
Mark DeCrane 2 years ago
parent dde743c436
commit 9580ee27f9

@ -260,7 +260,8 @@ func (c *ApplyCommand) OperationRequest(
// Applying changes with dev overrides in effect could make it impossible
// to switch back to a release version if the schema isn't compatible,
// so we'll warn about it.
diags = diags.Append(c.providerDevOverrideRuntimeWarnings())
_, isRemoteBackend := be.(BackendWithRemoteTerraformVersion)
diags = diags.Append(c.providerDevOverrideRuntimeWarnings(isRemoteBackend))
// Build the operation
opReq := c.Operation(be, viewType)

@ -198,7 +198,7 @@ func (m *Meta) providerDevOverrideInitWarnings() tfdiags.Diagnostics {
//
// See providerDevOverrideInitWarnings for warnings specific to the init
// command.
func (m *Meta) providerDevOverrideRuntimeWarnings() tfdiags.Diagnostics {
func (m *Meta) providerDevOverrideRuntimeWarnings(backendIsRemote bool) tfdiags.Diagnostics {
if len(m.ProviderDevOverrides) == 0 {
return nil
}
@ -208,6 +208,9 @@ func (m *Meta) providerDevOverrideRuntimeWarnings() tfdiags.Diagnostics {
detailMsg.WriteString(fmt.Sprintf(" - %s in %s\n", addr.ForDisplay(), path))
}
detailMsg.WriteString("\nThe behavior may therefore not match any released version of the provider and applying changes may cause the state to become incompatible with published releases.")
if backendIsRemote {
detailMsg.WriteString("\n\nNote that provider development overrides have only been configured locally and the remote operation won't be affected by them")
}
return tfdiags.Diagnostics{
tfdiags.Sourceless(
tfdiags.Warning,

@ -64,10 +64,10 @@ func (c *PlanCommand) Run(rawArgs []string) int {
// object state for now.
c.Meta.parallelism = args.Operation.Parallelism
diags = diags.Append(c.providerDevOverrideRuntimeWarnings())
// Prepare the backend with the backend-specific arguments
be, beDiags := c.PrepareBackend(args.State, args.ViewType)
_, isRemoteBackend := be.(BackendWithRemoteTerraformVersion)
diags = diags.Append(c.providerDevOverrideRuntimeWarnings(isRemoteBackend))
diags = diags.Append(beDiags)
if diags.HasErrors() {
view.Diagnostics(diags)

@ -61,7 +61,7 @@ func (c *ValidateCommand) Run(rawArgs []string) int {
// not be valid for a stable release, so we'll warn about that in case
// the user is trying to use "terraform validate" as a sort of pre-flight
// check before submitting a change.
diags = diags.Append(c.providerDevOverrideRuntimeWarnings())
diags = diags.Append(c.providerDevOverrideRuntimeWarnings(false))
return view.Results(diags)
}

Loading…
Cancel
Save