Skip to content

Commit 996790c

Browse files
committed
WIP: improve error messages
1 parent 9e2a8e1 commit 996790c

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

internal/resources/cloud/resource_cloud_access_policy_rotating_token.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -229,22 +229,18 @@ func computeRotatingTokenName(d getter) (string, error) {
229229
func computeRotatingTokenExpiresAt(d getter) (*time.Time, error) {
230230
rotateAfter, err := getRotatingTokenRotateAfter(d)
231231
if err != nil {
232-
return nil, fmt.Errorf("%w: error parsing 'rotate_after': %w", errComputingTokenField("expires_at"), err)
232+
return nil, fmt.Errorf("error parsing 'rotate_after' while computing 'expires_at': %w", err)
233233
}
234234

235235
postRotationLifetime, err := getRotatingTokenPostRotationLifetime(d)
236236
if err != nil {
237-
return nil, fmt.Errorf("%w: error parsing 'post_rotation_lifetime': %w", errComputingTokenField("expires_at"), err)
237+
return nil, fmt.Errorf("error parsing 'post_rotation_lifetime' while computing 'expires_at': %w", err)
238238
}
239239

240240
expiresAt := rotateAfter.Add(*postRotationLifetime)
241241
return &expiresAt, nil
242242
}
243243

244-
func errComputingTokenField(field string) error {
245-
return fmt.Errorf("error computing token's %s", field)
246-
}
247-
248244
type rotatingTokenNameAttributes struct {
249245
namePrefix string
250246
postRotationLifetime string
@@ -258,24 +254,27 @@ func (r rotatingTokenNameAttributes) computedName() string {
258254
func rotatingTokenAttributesFromName(name string) (*rotatingTokenNameAttributes, error) {
259255
parts := strings.Split(name, "-")
260256
if len(parts) < 3 {
261-
return nil, fmt.Errorf("rotating token name does not follow the expected pattern: %s", name)
257+
return nil, fmt.Errorf("rotating token name does not follow the expected pattern '<name_prefix>-<rotate_after>-<post_rotation_lifetime>': %s", name)
262258
}
263259

264260
// rotateAfter
265261
rotateAfterStr := parts[len(parts)-2]
266262
rotateAfter, err := strconv.ParseInt(rotateAfterStr, 10, 64)
267263
if err != nil || rotateAfter <= 0 {
268-
return nil, fmt.Errorf("error parsing rotate_after timestamp from rotating token name: %w", err)
264+
return nil, fmt.Errorf("could not infer 'rotate_after' from rotating token name: %w", err)
269265
}
270266

271267
// postRotationLifetime
272268
postRotationLifetime := parts[len(parts)-1]
273-
if _, err := time.ParseDuration(postRotationLifetime); err != nil {
274-
return nil, fmt.Errorf("error parsing post_rotation_lifetime duration from rotating token name: %w", err)
269+
if _, err = time.ParseDuration(postRotationLifetime); err != nil {
270+
return nil, fmt.Errorf("could not infer 'post_rotation_lifetime' from rotating token name: %w", err)
275271
}
276272

277273
// namePrefix
278274
namePrefix := strings.Join(parts[:len(parts)-2], "-")
275+
if namePrefix == "" {
276+
return nil, errors.New("could not infer 'name_prefix' from rotating token name")
277+
}
279278

280279
return &rotatingTokenNameAttributes{
281280
namePrefix: namePrefix,

0 commit comments

Comments
 (0)