github.com/hugorut/terraform@v1.1.3/src/cloud/errors.go (about) 1 package cloud 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/hugorut/terraform/src/tfdiags" 8 "github.com/zclconf/go-cty/cty" 9 ) 10 11 var ( 12 invalidOrganizationConfigMissingValue = tfdiags.AttributeValue( 13 tfdiags.Error, 14 "Invalid organization value", 15 `The "organization" attribute value must not be empty.\n\n%s`, 16 cty.Path{cty.GetAttrStep{Name: "organization"}}, 17 ) 18 19 invalidWorkspaceConfigMissingValues = tfdiags.AttributeValue( 20 tfdiags.Error, 21 "Invalid workspaces configuration", 22 fmt.Sprintf("Missing workspace mapping strategy. Either workspace \"tags\" or \"name\" is required.\n\n%s", workspaceConfigurationHelp), 23 cty.Path{cty.GetAttrStep{Name: "workspaces"}}, 24 ) 25 26 invalidWorkspaceConfigMisconfiguration = tfdiags.AttributeValue( 27 tfdiags.Error, 28 "Invalid workspaces configuration", 29 fmt.Sprintf("Only one of workspace \"tags\" or \"name\" is allowed.\n\n%s", workspaceConfigurationHelp), 30 cty.Path{cty.GetAttrStep{Name: "workspaces"}}, 31 ) 32 ) 33 34 const ignoreRemoteVersionHelp = "If you're sure you want to upgrade the state, you can force Terraform to continue using the -ignore-remote-version flag. This may result in an unusable workspace." 35 36 func incompatibleWorkspaceTerraformVersion(message string, ignoreVersionConflict bool) tfdiags.Diagnostic { 37 severity := tfdiags.Error 38 suggestion := ignoreRemoteVersionHelp 39 if ignoreVersionConflict { 40 severity = tfdiags.Warning 41 suggestion = "" 42 } 43 description := strings.TrimSpace(fmt.Sprintf("%s\n\n%s", message, suggestion)) 44 return tfdiags.Sourceless(severity, "Incompatible Terraform version", description) 45 }