Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/storage/common/aws/storage_class.go

35 lines
1.3 KiB

package aws
import (
"fmt"
"strings"
"github.com/grafana/loki/pkg/util"
)
const (
// S3 Storage Class options which define the data access, resiliency & cost requirements of objects
// https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax
StorageClassGlacier = "GLACIER"
StorageClassDeepArchive = "DEEP_ARCHIVE"
StorageClassGlacierInstantRetrieval = "GLACIER_IR"
StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
StorageClassOneZoneInfrequentAccess = "ONEZONE_IA"
StorageClassOutposts = "OUTPOSTS"
StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
StorageClassStandard = "STANDARD"
StorageClassStandardInfrequentAccess = "STANDARD_IA"
)
var (
SupportedStorageClasses = []string{StorageClassGlacier, StorageClassDeepArchive, StorageClassGlacierInstantRetrieval, StorageClassIntelligentTiering, StorageClassOneZoneInfrequentAccess, StorageClassOutposts, StorageClassReducedRedundancy, StorageClassStandard, StorageClassStandardInfrequentAccess}
)
func ValidateStorageClass(storageClass string) error {
if !util.StringsContain(SupportedStorageClasses, storageClass) {
return fmt.Errorf("unsupported S3 storage class: %s. Supported values: %s", storageClass, strings.Join(SupportedStorageClasses, ", "))
}
return nil
}