Display storage-class of transitioned object in HEAD

This commit is contained in:
Poorna Krishnamoorthy
2020-11-16 22:52:40 -08:00
committed by Harshavardhana
parent 95675b0c9a
commit 08b24620c0
3 changed files with 28 additions and 2 deletions

View File

@@ -168,6 +168,23 @@ func validateTransitionDestination(ctx context.Context, bucket string, targetLab
return sameTarget, arn.Bucket, nil
}
// transitionSC returns storage class label for this bucket
func transitionSC(ctx context.Context, bucket string) string {
cfg, err := globalBucketMetadataSys.GetLifecycleConfig(bucket)
if err != nil {
return ""
}
for _, rule := range cfg.Rules {
if rule.Status == Disabled {
continue
}
if rule.Transition.StorageClass != "" {
return rule.Transition.StorageClass
}
}
return ""
}
// return true if ARN representing transition storage class is present in a active rule
// for the lifecycle configured on this bucket
func transitionSCInUse(ctx context.Context, lfc *lifecycle.Lifecycle, bucket, arnStr string) bool {