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) }