opentofu/plugin/discovery/error.go
Pam Selle 346e341ff2 Only display status link if public registry used
Updates to throw a specific error if using the defined public
registry vs. another registry.
2019-04-05 16:49:27 -04:00

65 lines
3.1 KiB
Go

package discovery
// Error is a type used to describe situations that the caller must handle
// since they indicate some form of user error.
//
// The functions and methods that return these specialized errors indicate so
// in their documentation. The Error type should not itself be used directly,
// but rather errors should be compared using the == operator with the
// error constants in this package.
//
// Values of this type are _not_ used when the error being reported is an
// operational error (server unavailable, etc) or indicative of a bug in
// this package or its caller.
type Error string
// ErrorNoSuitableVersion indicates that a suitable version (meeting given
// constraints) is not available.
const ErrorNoSuitableVersion = Error("no suitable version is available")
// ErrorNoVersionCompatible indicates that all of the available versions
// that otherwise met constraints are not compatible with the current
// version of Terraform.
const ErrorNoVersionCompatible = Error("no available version is compatible with this version of Terraform")
// ErrorVersionIncompatible indicates that all of the versions within the
// constraints are not compatible with the current version of Terrafrom, though
// there does exist a version outside of the constaints that is compatible.
const ErrorVersionIncompatible = Error("incompatible provider version")
// ErrorNoSuchProvider indicates that no provider exists with a name given
const ErrorNoSuchProvider = Error("no provider exists with the given name")
// ErrorNoVersionCompatibleWithPlatform indicates that all of the available
// versions that otherwise met constraints are not compatible with the
// requested platform
const ErrorNoVersionCompatibleWithPlatform = Error("no available version is compatible for the requested platform")
// ErrorMissingChecksumVerification indicates that either the provider
// distribution is missing the SHA256SUMS file or the checksum file does
// not contain a checksum for the binary plugin
const ErrorMissingChecksumVerification = Error("unable to verify checksum")
// ErrorChecksumVerification indicates that the current checksum of the
// provider plugin has changed since the initial release and is not trusted
// to download
const ErrorChecksumVerification = Error("unexpected plugin checksum")
// ErrorSignatureVerification indicates that the digital signature for a
// provider distribution could not be verified for one of the following
// reasons: missing signature file, missing public key, or the signature
// was not signed by any known key for the publisher
const ErrorSignatureVerification = Error("unable to verify signature")
// ErrorServiceUnreachable indicates that the network was unable to connect
// to the registry service
const ErrorServiceUnreachable = Error("registry service is unreachable")
// ErrorPublicRegistryUnreachable indicates that the network was unable to connect
// to the public registry in particular, so we can show a link to the statuspage
const ErrorPublicRegistryUnreachable = Error("registry service is unreachable, check https://status.hashicorp.com/ for status updates")
func (err Error) Error() string {
return string(err)
}