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