Documentation
¶
Index ¶
- func ErrInvalidArgument(message string) error
- type AdminClient
- func (adm *AdminClient) ClearLocks(bucket, prefix string, duration time.Duration) ([]VolumeLockInfo, error)
- func (adm *AdminClient) GetConfig() ([]byte, error)
- func (adm *AdminClient) HealBucket(bucket string, dryrun bool) error
- func (adm *AdminClient) HealFormat(dryrun bool) error
- func (adm *AdminClient) HealObject(bucket, object string, dryrun bool) (HealResult, error)
- func (adm *AdminClient) HealUpload(bucket, object, uploadID string, dryrun bool) (HealResult, error)
- func (adm *AdminClient) ListBucketsHeal() ([]BucketInfo, error)
- func (adm *AdminClient) ListLocks(bucket, prefix string, duration time.Duration) ([]VolumeLockInfo, error)
- func (adm *AdminClient) ListObjectsHeal(bucket, prefix string, recursive bool, doneCh <-chan struct{}) (<-chan ObjectInfo, error)
- func (adm *AdminClient) ListUploadsHeal(bucket, prefix string, recursive bool, doneCh <-chan struct{}) (<-chan UploadInfo, error)
- func (adm *AdminClient) ServerInfo() ([]ServerInfo, error)
- func (adm *AdminClient) ServiceRestart() error
- func (adm *AdminClient) ServiceStatus() (ServiceStatusMetadata, error)
- func (c *AdminClient) SetAppInfo(appName string, appVersion string)
- func (adm *AdminClient) SetConfig(config io.Reader) (SetConfigResult, error)
- func (adm *AdminClient) SetCredentials(access, secret string) error
- func (c *AdminClient) SetCustomTransport(customHTTPTransport http.RoundTripper)
- func (c *AdminClient) TraceOff()
- func (c *AdminClient) TraceOn(outputStream io.Writer)
- type BackendType
- type Bucket
- type BucketInfo
- type ErrorResponse
- type HealBucketInfo
- type HealObjectInfo
- type HealResult
- type HealState
- type HealStatus
- type Initiator
- type ListBucketsHealResponse
- type NodeSummary
- type ObjectInfo
- type OpsLockState
- type Owner
- type ServerConnStats
- type ServerInfo
- type ServerInfoData
- type ServerProperties
- type ServiceStatusMetadata
- type SetConfigResult
- type StorageInfo
- type UploadInfo
- type VolumeLockInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ErrInvalidArgument ¶
ErrInvalidArgument - Invalid argument response.
Types ¶
type AdminClient ¶
type AdminClient struct {
// contains filtered or unexported fields
}
AdminClient implements Amazon S3 compatible methods.
func New ¶
func New(endpoint string, accessKeyID, secretAccessKey string, secure bool) (*AdminClient, error)
New - instantiate minio client Client, adds automatic verification of signature.
func (*AdminClient) ClearLocks ¶
func (adm *AdminClient) ClearLocks(bucket, prefix string, duration time.Duration) ([]VolumeLockInfo, error)
ClearLocks - Calls Clear Locks Management API to clear locks held on bucket, matching prefix older than duration supplied.
func (*AdminClient) GetConfig ¶
func (adm *AdminClient) GetConfig() ([]byte, error)
GetConfig - returns the config.json of a minio setup.
func (*AdminClient) HealBucket ¶
func (adm *AdminClient) HealBucket(bucket string, dryrun bool) error
HealBucket - Heal the given bucket
func (*AdminClient) HealFormat ¶
func (adm *AdminClient) HealFormat(dryrun bool) error
HealFormat - heal storage format on available disks.
func (*AdminClient) HealObject ¶
func (adm *AdminClient) HealObject(bucket, object string, dryrun bool) (HealResult, error)
HealObject - Heal the given object.
func (*AdminClient) HealUpload ¶
func (adm *AdminClient) HealUpload(bucket, object, uploadID string, dryrun bool) (HealResult, error)
HealUpload - Heal the given upload.
func (*AdminClient) ListBucketsHeal ¶
func (adm *AdminClient) ListBucketsHeal() ([]BucketInfo, error)
ListBucketsHeal - issues heal bucket list API request
func (*AdminClient) ListLocks ¶
func (adm *AdminClient) ListLocks(bucket, prefix string, duration time.Duration) ([]VolumeLockInfo, error)
ListLocks - Calls List Locks Management API to fetch locks matching bucket, prefix and held before the duration supplied.
func (*AdminClient) ListObjectsHeal ¶
func (adm *AdminClient) ListObjectsHeal(bucket, prefix string, recursive bool, doneCh <-chan struct{}) (<-chan ObjectInfo, error)
ListObjectsHeal - Lists upto maxKeys objects that needing heal matching bucket, prefix, marker, delimiter.
func (*AdminClient) ListUploadsHeal ¶
func (adm *AdminClient) ListUploadsHeal(bucket, prefix string, recursive bool, doneCh <-chan struct{}) (<-chan UploadInfo, error)
ListUploadsHeal - issues list heal uploads API request
func (*AdminClient) ServerInfo ¶
func (adm *AdminClient) ServerInfo() ([]ServerInfo, error)
ServerInfo - Connect to a minio server and call Server Info Management API to fetch server's information represented by ServerInfo structure
func (*AdminClient) ServiceRestart ¶
func (adm *AdminClient) ServiceRestart() error
ServiceRestart - Call Service Restart API to restart a specified Minio server
func (*AdminClient) ServiceStatus ¶
func (adm *AdminClient) ServiceStatus() (ServiceStatusMetadata, error)
ServiceStatus - Connect to a minio server and call Service Status Management API to fetch server's storage information represented by ServiceStatusMetadata structure
func (*AdminClient) SetAppInfo ¶
func (c *AdminClient) SetAppInfo(appName string, appVersion string)
SetAppInfo - add application details to user agent.
func (*AdminClient) SetConfig ¶
func (adm *AdminClient) SetConfig(config io.Reader) (SetConfigResult, error)
SetConfig - set config supplied as config.json for the setup.
func (*AdminClient) SetCredentials ¶
func (adm *AdminClient) SetCredentials(access, secret string) error
SetCredentials - Call Set Credentials API to set new access and secret keys in the specified Minio server
func (*AdminClient) SetCustomTransport ¶
func (c *AdminClient) SetCustomTransport(customHTTPTransport http.RoundTripper)
SetCustomTransport - set new custom transport.
func (*AdminClient) TraceOn ¶
func (c *AdminClient) TraceOn(outputStream io.Writer)
TraceOn - enable HTTP tracing.
type BackendType ¶
type BackendType int
BackendType - represents different backend types.
const ( Unknown BackendType = iota // Filesystem backend. FS // Multi disk Erasure (single, distributed) backend. Erasure )
Enum for different backend types.
type Bucket ¶
type Bucket struct {
Name string
CreationDate string // time string of format "2006-01-02T15:04:05.000Z"
HealBucketInfo *HealBucketInfo `xml:"HealBucketInfo,omitempty"`
}
Bucket container for bucket metadata
type BucketInfo ¶
type BucketInfo struct {
// Name of the bucket.
Name string
// Date and time when the bucket was created.
Created time.Time
// Healing information
HealBucketInfo *HealBucketInfo `xml:"HealBucketInfo,omitempty"`
}
BucketInfo - represents bucket metadata.
type ErrorResponse ¶
type ErrorResponse struct {
XMLName xml.Name `xml:"Error" json:"-"`
Code string
Message string
BucketName string
Key string
RequestID string `xml:"RequestId"`
HostID string `xml:"HostId"`
// Region where the bucket is located. This header is returned
// only in HEAD bucket and ListObjects response.
Region string
}
ErrorResponse - Is the typed error returned by all API operations.
func (ErrorResponse) Error ¶
func (e ErrorResponse) Error() string
Error - Returns HTTP error string
type HealBucketInfo ¶
type HealBucketInfo struct {
Status HealStatus
}
HealBucketInfo - represents healing related information of a bucket.
type HealObjectInfo ¶
type HealObjectInfo struct {
Status HealStatus
MissingDataCount int
MissingParityCount int
}
HealObjectInfo - represents healing related information of an object.
type HealResult ¶
type HealResult struct {
State HealState `json:"state"`
}
HealResult - represents result of heal-object admin API.
type HealStatus ¶
type HealStatus int
HealStatus - represents different states of healing an object could be in.
const ( // Healthy - Object that is already healthy Healthy HealStatus = iota // CanHeal - Object can be healed CanHeal // Corrupted - Object can't be healed Corrupted // quorum is available QuorumUnavailable // CanPartiallyHeal - Object can't be healed completely until // disks with missing parts come online CanPartiallyHeal )
type ListBucketsHealResponse ¶
type ListBucketsHealResponse struct {
XMLName xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListAllMyBucketsResult" json:"-"`
Owner Owner
// Container for one or more buckets.
Buckets struct {
Buckets []Bucket `xml:"Bucket"`
} // Buckets are nested
}
ListBucketsHealResponse - format for list buckets response
type NodeSummary ¶
type NodeSummary struct {
Name string `json:"name"`
ErrSet bool `json:"errSet"`
ErrMsg string `json:"errMsg"`
}
NodeSummary - represents the result of an operation part of set-config on a node.
type ObjectInfo ¶
type ObjectInfo struct {
// An ETag is optionally set to md5sum of an object. In case of multipart objects,
// ETag is of the form MD5SUM-N where MD5SUM is md5sum of all individual md5sums of
// each parts concatenated into one string.
ETag string `json:"etag"`
Key string `json:"name"` // Name of the object
LastModified time.Time `json:"lastModified"` // Date and time the object was last modified.
Size int64 `json:"size"` // Size in bytes of the object.
ContentType string `json:"contentType"` // A standard MIME type describing the format of the object data.
// Collection of additional metadata on the object.
// eg: x-amz-meta-*, content-encoding etc.
Metadata http.Header `json:"metadata"`
// Owner name.
Owner struct {
DisplayName string `json:"name"`
ID string `json:"id"`
} `json:"owner"`
// The class of storage used to store the object.
StorageClass string `json:"storageClass"`
// Error
Err error `json:"-"`
HealObjectInfo *HealObjectInfo `json:"healObjectInfo,omitempty"`
}
ObjectInfo container for object metadata.
type OpsLockState ¶
type OpsLockState struct {
OperationID string `json:"id"` // String containing operation ID.
LockSource string `json:"source"` // Operation type (GetObject, PutObject...)
LockType lockType `json:"type"` // Lock type (RLock, WLock)
Status statusType `json:"status"` // Status can be Running/Ready/Blocked.
Since time.Time `json:"since"` // Time when the lock was initially held.
}
OpsLockState - represents lock specific details.
type ServerConnStats ¶
type ServerConnStats struct {
TotalInputBytes uint64 `json:"transferred"`
TotalOutputBytes uint64 `json:"received"`
}
ServerConnStats holds network information
type ServerInfo ¶
type ServerInfo struct {
Error string `json:"error"`
Addr string `json:"addr"`
Data *ServerInfoData `json:"data"`
}
ServerInfo holds server information result of one node
type ServerInfoData ¶
type ServerInfoData struct {
StorageInfo StorageInfo `json:"storage"`
ConnStats ServerConnStats `json:"network"`
Properties ServerProperties `json:"server"`
}
ServerInfoData holds storage, connections and other information of a given server
type ServerProperties ¶
type ServerProperties struct {
Uptime time.Duration `json:"uptime"`
Version string `json:"version"`
CommitID string `json:"commitID"`
Region string `json:"region"`
SQSARN []string `json:"sqsARN"`
}
ServerProperties holds some of the server's information such as uptime, version, region, ..
type ServiceStatusMetadata ¶
ServiceStatusMetadata - contains the response of service status API
type SetConfigResult ¶
type SetConfigResult struct {
NodeResults []NodeSummary `json:"nodeResults"`
Status bool `json:"status"`
}
SetConfigResult - represents detailed results of a set-config operation.
type StorageInfo ¶
type StorageInfo struct {
// Total disk space.
Total int64
// Free available disk space.
Free int64
// Backend type.
Backend struct {
// Represents various backend types, currently on FS and Erasure.
Type BackendType
// Following fields are only meaningful if BackendType is Erasure.
OnlineDisks int // Online disks during server startup.
OfflineDisks int // Offline disks during server startup.
ReadQuorum int // Minimum disks required for successful read operations.
WriteQuorum int // Minimum disks required for successful write operations.
}
}
StorageInfo - represents total capacity of underlying storage.
type UploadInfo ¶
type UploadInfo struct {
Key string `json:"name"` // Name of the object being uploaded.
UploadID string `json:"uploadId"` // UploadID
// Owner name.
Owner struct {
DisplayName string `json:"name"`
ID string `json:"id"`
} `json:"owner"`
// The class of storage used to store the object.
StorageClass string `json:"storageClass"`
Initiated time.Time `json:"initiated"` // Time at which upload was initiated.
// Error
Err error `json:"-"`
HealUploadInfo *HealObjectInfo `json:"healObjectInfo,omitempty"`
}
UploadInfo - represents an ongoing upload that needs to be healed.
type VolumeLockInfo ¶
type VolumeLockInfo struct {
Bucket string `json:"bucket"`
Object string `json:"object"`
// All locks blocked + running for given <volume,path> pair.
LocksOnObject int64 `json:"-"`
// Count of operations which has successfully acquired the lock
// but hasn't unlocked yet( operation in progress).
LocksAcquiredOnObject int64 `json:"-"`
// Count of operations which are blocked waiting for the lock
// to be released.
TotalBlockedLocks int64 `json:"-"`
// Count of all read locks
TotalReadLocks int64 `json:"readLocks"`
// Count of all write locks
TotalWriteLocks int64 `json:"writeLocks"`
// State information containing state of the locks for all operations
// on given <volume,path> pair.
LockDetailsOnObject []OpsLockState `json:"lockOwners"`
}
VolumeLockInfo - represents summary and individual lock details of all locks held on a given bucket, object.