Files
seaweedfs/weed/iam/storage.go
T

24 lines
868 B
Go

package iam
import (
"context"
"github.com/seaweedfs/seaweedfs/weed/iam/policy"
"github.com/seaweedfs/seaweedfs/weed/pb/iam_pb"
)
type IamStorage interface {
// Identity Management
CreateIdentity(ctx context.Context, identity *iam_pb.Identity) error
GetIdentity(ctx context.Context, name string) (*iam_pb.Identity, error)
UpdateIdentity(ctx context.Context, identity *iam_pb.Identity) error
DeleteIdentity(ctx context.Context, name string) error
ListIdentities(ctx context.Context, limit int, offset string) ([]*iam_pb.Identity, error)
// Policy Management
CreatePolicy(ctx context.Context, name string, policy *policy.PolicyDocument) error
GetPolicy(ctx context.Context, name string) (*policy.PolicyDocument, error)
DeletePolicy(ctx context.Context, name string) error
ListPolicies(ctx context.Context, limit int, offset string) ([]string, error)
}