s3tables: align ARN regex patterns with S3 standards and refactor to constants

This commit is contained in:
Chris Lu
2026-01-28 14:28:12 -08:00
parent f5d71008d7
commit d98e104dc5

View File

@@ -11,10 +11,15 @@ import (
"time"
)
const (
bucketNamePatternStr = `[a-z0-9-]+`
tableNamespacePatternStr = `[a-z0-9_-]+`
)
var (
bucketARNPattern = regexp.MustCompile(`^arn:aws:s3tables:[^:]*:[^:]*:bucket/([a-z0-9_-]+)$`)
tableARNPattern = regexp.MustCompile(`^arn:aws:s3tables:[^:]*:[^:]*:bucket/([a-z0-9_-]+)/table/([a-z0-9_-]+)/([a-z0-9_-]+)$`)
bucketNamePattern = regexp.MustCompile(`^[a-z0-9_-]+$`)
bucketARNPattern = regexp.MustCompile(`^arn:aws:s3tables:[^:]*:[^:]*:bucket/(` + bucketNamePatternStr + `)$`)
tableARNPattern = regexp.MustCompile(`^arn:aws:s3tables:[^:]*:[^:]*:bucket/(` + bucketNamePatternStr + `)/table/(` + tableNamespacePatternStr + `)/(` + tableNamespacePatternStr + `)$`)
bucketNamePattern = regexp.MustCompile(`^` + bucketNamePatternStr + `$`)
)
// ARN parsing functions