Files
opentf/internal/encryption/keyprovider/errors.go
Oleksandr Levchenkov 5a161c8bcc add automated copyright header check (#1696)
Signed-off-by: ollevche <ollevche@gmail.com>
Signed-off-by: Oleksandr Levchenkov <ollevche@gmail.com>
2024-06-03 16:49:36 +03:00

73 lines
1.6 KiB
Go

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package keyprovider
import "fmt"
// ErrKeyProviderFailure indicates a generic key provider failure.
type ErrKeyProviderFailure struct {
Message string
Cause error
}
func (e ErrKeyProviderFailure) Error() string {
if e.Cause != nil {
return fmt.Sprintf("%s: %v", e.Message, e.Cause)
}
return e.Message
}
func (e ErrKeyProviderFailure) Unwrap() error {
return e.Cause
}
// ErrInvalidConfiguration indicates that the key provider configuration is incorrect.
type ErrInvalidConfiguration struct {
Message string
Cause error
}
func (e ErrInvalidConfiguration) Error() string {
if e.Cause != nil {
if e.Message != "" {
return fmt.Sprintf("%s: %v", e.Message, e.Cause)
}
return fmt.Sprintf("invalid key provider configuration: %v", e.Cause)
}
if e.Message != "" {
return e.Message
}
return "invalid provider configuration"
}
func (e ErrInvalidConfiguration) Unwrap() error {
return e.Cause
}
// ErrInvalidMetadata indicates that the key provider has received an incorrect metadata and cannot decrypt.
type ErrInvalidMetadata struct {
Message string
Cause error
}
func (e ErrInvalidMetadata) Error() string {
if e.Cause != nil {
if e.Message != "" {
return fmt.Sprintf("%s: %v", e.Message, e.Cause)
}
return fmt.Sprintf("invalid key provider metadata: %v", e.Cause)
}
if e.Message != "" {
return e.Message
}
return "invalid provider metadata"
}
func (e ErrInvalidMetadata) Unwrap() error {
return e.Cause
}