mirror of
https://github.com/minio/minio.git
synced 2025-11-20 01:50:24 -05:00
39
cmd/fs-v1.go
39
cmd/fs-v1.go
@@ -39,6 +39,7 @@ import (
|
||||
"github.com/minio/minio/cmd/config"
|
||||
xhttp "github.com/minio/minio/cmd/http"
|
||||
"github.com/minio/minio/cmd/logger"
|
||||
"github.com/minio/minio/pkg/bucket/policy"
|
||||
"github.com/minio/minio/pkg/color"
|
||||
"github.com/minio/minio/pkg/lock"
|
||||
"github.com/minio/minio/pkg/madmin"
|
||||
@@ -361,6 +362,44 @@ func (fs *FSObjects) MakeBucketWithLocation(ctx context.Context, bucket, locatio
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetBucketPolicy - only needed for FS in NAS mode
|
||||
func (fs *FSObjects) GetBucketPolicy(ctx context.Context, bucket string) (*policy.Policy, error) {
|
||||
meta, err := loadBucketMetadata(ctx, fs, bucket)
|
||||
if err != nil {
|
||||
return nil, BucketPolicyNotFound{Bucket: bucket}
|
||||
}
|
||||
if meta.policyConfig == nil {
|
||||
return nil, BucketPolicyNotFound{Bucket: bucket}
|
||||
}
|
||||
return meta.policyConfig, nil
|
||||
}
|
||||
|
||||
// SetBucketPolicy - only needed for FS in NAS mode
|
||||
func (fs *FSObjects) SetBucketPolicy(ctx context.Context, bucket string, p *policy.Policy) error {
|
||||
meta, err := loadBucketMetadata(ctx, fs, bucket)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
configData, err := json.Marshal(p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
meta.PolicyConfigJSON = configData
|
||||
|
||||
return meta.Save(ctx, fs)
|
||||
}
|
||||
|
||||
// DeleteBucketPolicy - only needed for FS in NAS mode
|
||||
func (fs *FSObjects) DeleteBucketPolicy(ctx context.Context, bucket string) error {
|
||||
meta, err := loadBucketMetadata(ctx, fs, bucket)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
meta.PolicyConfigJSON = nil
|
||||
return meta.Save(ctx, fs)
|
||||
}
|
||||
|
||||
// GetBucketInfo - fetch bucket metadata info.
|
||||
func (fs *FSObjects) GetBucketInfo(ctx context.Context, bucket string) (bi BucketInfo, e error) {
|
||||
atomic.AddInt64(&fs.activeIOCount, 1)
|
||||
|
||||
Reference in New Issue
Block a user