From 58c42bc91bbab04e4073bd8d018b0420ccb21591 Mon Sep 17 00:00:00 2001 From: Anis Eleuch Date: Mon, 22 Jul 2024 21:02:49 +0100 Subject: [PATCH] Allow STANDARD_IA as a AWS tier storage class (#4994) --- cmd/ilm-tier-add.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/cmd/ilm-tier-add.go b/cmd/ilm-tier-add.go index becbca7bd5..17d10fac59 100644 --- a/cmd/ilm-tier-add.go +++ b/cmd/ilm-tier-add.go @@ -20,6 +20,7 @@ package cmd import ( "fmt" "os" + "slices" "strings" "github.com/fatih/color" @@ -169,10 +170,8 @@ func checkAdminTierAddSyntax(ctx *cli.Context) { } } -const ( - s3Standard = "STANDARD" - s3ReducedRedundancy = "REDUCED_REDUNDANCY" -) +// The list of AWS S3 storage classes that can be used with MinIO ILM tiering +var supportedAWSTierSC = []string{"STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA"} // fetchTierConfig returns a TierConfig given a tierName, a tierType and ctx to // lookup command-line flags from. It exits with non-zero error code if any of @@ -256,7 +255,7 @@ func fetchTierConfig(ctx *cli.Context, tierName string, tierType madmin.TierType s3SC := ctx.String("storage-class") if s3SC != "" { - if s3SC != s3Standard && s3SC != s3ReducedRedundancy { + if !slices.Contains(supportedAWSTierSC, s3SC) { fatalIf(errInvalidArgument().Trace(), fmt.Sprintf("unsupported storage-class type %s", s3SC)) } s3Opts = append(s3Opts, madmin.S3StorageClass(s3SC))