opentofu/internal/encryption/method/id.go

25 lines
613 B
Go
Raw Normal View History

// Copyright (c) The OpenTofu Authors
// SPDX-License-Identifier: MPL-2.0
// Copyright (c) 2023 HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
package method
import (
"fmt"
)
// ID is a type alias to make passing the wrong ID into a method ID harder.
type ID string
// Validate validates the key provider ID for correctness.
func (i ID) Validate() error {
if i == "" {
return fmt.Errorf("empty key provider ID (key provider IDs must match %s)", idRe.String())
}
if !idRe.MatchString(string(i)) {
return fmt.Errorf("invalid key provider ID: %s (must match %s)", i, idRe.String())
}
return nil
}