Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttrType ¶ added in v0.0.2
type AttrType uint32
AttrType is the type of extended attribute, either system (sys) or user (user).
type Authorization ¶ added in v0.0.2
Authorization specifies the mechanisms through which EOS can be accessed. One of the data members must be set.
type DeletedEntry ¶
type DeletedEntry struct { RestorePath string RestoreKey string Size uint64 DeletionMTime uint64 IsDir bool }
DeletedEntry represents an entry from the trashbin.
type EOSClient ¶ added in v0.0.2
type EOSClient interface { AddACL(ctx context.Context, auth, rootAuth Authorization, path string, a *acl.Entry) error RemoveACL(ctx context.Context, auth, rootAuth Authorization, path string, a *acl.Entry) error UpdateACL(ctx context.Context, auth, rootAuth Authorization, path string, a *acl.Entry) error GetACL(ctx context.Context, auth Authorization, path, aclType, target string) (*acl.Entry, error) ListACLs(ctx context.Context, auth Authorization, path string) ([]*acl.Entry, error) GetFileInfoByInode(ctx context.Context, auth Authorization, inode uint64) (*FileInfo, error) GetFileInfoByFXID(ctx context.Context, auth Authorization, fxid string) (*FileInfo, error) GetFileInfoByPath(ctx context.Context, auth Authorization, path string) (*FileInfo, error) SetAttr(ctx context.Context, auth Authorization, attr *Attribute, recursive bool, path string) error UnsetAttr(ctx context.Context, auth Authorization, attr *Attribute, path string) error GetQuota(ctx context.Context, username string, rootAuth Authorization, path string) (*QuotaInfo, error) SetQuota(ctx context.Context, rooAuth Authorization, info *SetQuotaInfo) error Touch(ctx context.Context, auth Authorization, path string) error Chown(ctx context.Context, auth, chownauth Authorization, path string) error Chmod(ctx context.Context, auth Authorization, mode, path string) error CreateDir(ctx context.Context, auth Authorization, path string) error Remove(ctx context.Context, auth Authorization, path string) error Rename(ctx context.Context, auth Authorization, oldPath, newPath string) error List(ctx context.Context, auth Authorization, path string) ([]*FileInfo, error) Read(ctx context.Context, auth Authorization, path string) (io.ReadCloser, error) Write(ctx context.Context, auth Authorization, path string, stream io.ReadCloser) error WriteFile(ctx context.Context, auth Authorization, path, source string) error ListDeletedEntries(ctx context.Context, auth Authorization) ([]*DeletedEntry, error) RestoreDeletedEntry(ctx context.Context, auth Authorization, key string) error PurgeDeletedEntries(ctx context.Context, auth Authorization) error ListVersions(ctx context.Context, auth Authorization, p string) ([]*FileInfo, error) RollbackToVersion(ctx context.Context, auth Authorization, path, version string) error ReadVersion(ctx context.Context, auth Authorization, p, version string) (io.ReadCloser, error) GenerateToken(ctx context.Context, auth Authorization, path string, a *acl.Entry) (string, error) }
EOSClient is the interface which enables access to EOS instances through various interfaces.
type FileInfo ¶
type FileInfo struct { IsDir bool MTimeNanos uint32 Inode uint64 `json:"inode"` FID uint64 `json:"fid"` UID uint64 `json:"uid"` GID uint64 `json:"gid"` TreeSize uint64 `json:"tree_size"` MTimeSec uint64 `json:"mtime_sec"` Size uint64 `json:"size"` TreeCount uint64 `json:"tree_count"` File string `json:"eos_file"` ETag string `json:"etag"` Instance string `json:"instance"` XS *Checksum `json:"xs"` SysACL *acl.ACLs `json:"sys_acl"` Attrs map[string]string `json:"attrs"` }
FileInfo represents the metadata information returned by querying the EOS namespace.
type QuotaInfo ¶ added in v0.0.2
QuotaInfo reports the available bytes and inodes for a particular user. eos reports all quota values are unsigned long, see https://github.com/cern-eos/eos/blob/93515df8c0d5a858982853d960bec98f983c1285/mgm/Quota.hh#L135