Documentation ¶
Index ¶
- Constants
- func DecryptData(password string, data io.Reader) ([]byte, error)
- func EncryptData(password string, data []byte) ([]byte, error)
- func ErrInvalidArgument(message string) error
- type AccountStatus
- type AdminAPIVersionInfo
- type AdminClient
- func (adm *AdminClient) AddCannedPolicy(policyName, policy string) error
- func (adm *AdminClient) AddUser(accessKey, secretKey string) error
- func (adm *AdminClient) DownloadProfilingData() (io.ReadCloser, error)
- func (adm *AdminClient) GetConfig() ([]byte, error)
- func (adm *AdminClient) GetConfigKeys(keys []string) ([]byte, error)
- func (adm *AdminClient) Heal(bucket, prefix string, healOpts HealOpts, clientToken string, ...) (healStart HealStartSuccess, healTaskStatus HealTaskStatus, err error)
- func (adm *AdminClient) ListCannedPolicies() (map[string][]byte, error)
- func (adm *AdminClient) ListUsers() (map[string]UserInfo, error)
- func (adm *AdminClient) RemoveCannedPolicy(policyName string) error
- func (adm *AdminClient) RemoveUser(accessKey string) error
- func (adm *AdminClient) ServerInfo() ([]ServerInfo, error)
- func (adm *AdminClient) ServiceSendAction(action ServiceActionValue) error
- func (adm *AdminClient) ServiceStatus() (ss ServiceStatus, err error)
- func (adm *AdminClient) SetAdminCredentials(access, secret string) error
- func (c *AdminClient) SetAppInfo(appName string, appVersion string)
- func (adm *AdminClient) SetConfig(config io.Reader) (err error)
- func (adm *AdminClient) SetConfigKeys(params map[string]string) error
- func (c *AdminClient) SetCustomTransport(customHTTPTransport http.RoundTripper)
- func (adm *AdminClient) SetUser(accessKey, secretKey string, status AccountStatus) error
- func (adm *AdminClient) SetUserPolicy(accessKey, policyName string) error
- func (adm *AdminClient) SetUserStatus(accessKey string, status AccountStatus) error
- func (adm *AdminClient) StartProfiling(profiler ProfilerType) ([]StartProfilingResult, error)
- func (c *AdminClient) TraceOff()
- func (c *AdminClient) TraceOn(outputStream io.Writer)
- func (adm *AdminClient) VersionInfo() (verInfo AdminAPIVersionInfo, err error)
- type BackendType
- type DriveInfo
- type ErrorResponse
- type HealDriveInfo
- type HealItemType
- type HealOpts
- type HealResultItem
- type HealStartSuccess
- type HealStopSuccess
- type HealTaskStatus
- type ProfilerType
- type ServerConnStats
- type ServerHTTPMethodStats
- type ServerHTTPStats
- type ServerInfo
- type ServerInfoData
- type ServerProperties
- type ServerVersion
- type ServiceAction
- type ServiceActionValue
- type ServiceStatus
- type SetCredsReq
- type StartProfilingResult
- type StorageInfo
- type UserInfo
Constants ¶
const ( HealItemMetadata HealItemType = "metadata" HealItemBucket = "bucket" HealItemBucketMetadata = "bucket-metadata" HealItemObject = "object" )
HealItemType constants
const ( DriveStateOk string = "ok" DriveStateOffline = "offline" DriveStateCorrupt = "corrupt" DriveStateMissing = "missing" )
Drive state constants
const ( ProfilerCPU ProfilerType = "cpu" // represents CPU profiler type ProfilerMEM = "mem" // represents MEM profiler type ProfilerBlock = "block" // represents Block profiler type ProfilerMutex = "mutex" // represents Mutex profiler type ProfilerTrace = "trace" // represents Trace profiler type )
Different supported profiler types.
Variables ¶
This section is empty.
Functions ¶
func DecryptData ¶
DecryptData - decrypts server config data.
func EncryptData ¶
EncryptData - encrypts server config data.
func ErrInvalidArgument ¶
ErrInvalidArgument - Invalid argument response.
Types ¶
type AccountStatus ¶
type AccountStatus string
AccountStatus - account status.
const ( AccountEnabled AccountStatus = "enabled" AccountDisabled AccountStatus = "disabled" )
Account status per user.
type AdminAPIVersionInfo ¶
type AdminAPIVersionInfo struct {
Version string `json:"version"`
}
AdminAPIVersionInfo - contains admin API version information
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) AddCannedPolicy ¶
func (adm *AdminClient) AddCannedPolicy(policyName, policy string) error
AddCannedPolicy - adds a policy for a canned.
func (*AdminClient) AddUser ¶
func (adm *AdminClient) AddUser(accessKey, secretKey string) error
AddUser - adds a user.
func (*AdminClient) DownloadProfilingData ¶
func (adm *AdminClient) DownloadProfilingData() (io.ReadCloser, error)
DownloadProfilingData makes an admin call to download profiling data of a standalone server or of the whole cluster in case of a distributed setup.
func (*AdminClient) GetConfig ¶
func (adm *AdminClient) GetConfig() ([]byte, error)
GetConfig - returns the config.json of a minio setup, incoming data is encrypted.
func (*AdminClient) GetConfigKeys ¶
func (adm *AdminClient) GetConfigKeys(keys []string) ([]byte, error)
GetConfigKeys - returns partial json or json value from config.json of a minio setup.
func (*AdminClient) Heal ¶
func (adm *AdminClient) Heal(bucket, prefix string, healOpts HealOpts, clientToken string, forceStart, forceStop bool) ( healStart HealStartSuccess, healTaskStatus HealTaskStatus, err error)
Heal - API endpoint to start heal and to fetch status forceStart and forceStop are mutually exclusive, you can either set one of them to 'true'. If both are set 'forceStart' will be honored.
func (*AdminClient) ListCannedPolicies ¶
func (adm *AdminClient) ListCannedPolicies() (map[string][]byte, error)
ListCannedPolicies - list all configured canned policies.
func (*AdminClient) ListUsers ¶
func (adm *AdminClient) ListUsers() (map[string]UserInfo, error)
ListUsers - list all users.
func (*AdminClient) RemoveCannedPolicy ¶
func (adm *AdminClient) RemoveCannedPolicy(policyName string) error
RemoveCannedPolicy - remove a policy for a canned.
func (*AdminClient) RemoveUser ¶
func (adm *AdminClient) RemoveUser(accessKey string) error
RemoveUser - remove a user.
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) ServiceSendAction ¶
func (adm *AdminClient) ServiceSendAction(action ServiceActionValue) error
ServiceSendAction - Call Service Restart/Stop API to restart/stop a Minio server
func (*AdminClient) ServiceStatus ¶
func (adm *AdminClient) ServiceStatus() (ss ServiceStatus, err 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) SetAdminCredentials ¶
func (adm *AdminClient) SetAdminCredentials(access, secret string) error
SetAdminCredentials - Call Set Credentials API to set new access and secret keys in the specified Minio server
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) (err error)
SetConfig - set config supplied as config.json for the setup.
func (*AdminClient) SetConfigKeys ¶
func (adm *AdminClient) SetConfigKeys(params map[string]string) error
SetConfigKeys - set config keys supplied as config.json for the setup.
func (*AdminClient) SetCustomTransport ¶
func (c *AdminClient) SetCustomTransport(customHTTPTransport http.RoundTripper)
SetCustomTransport - set new custom transport.
func (*AdminClient) SetUser ¶
func (adm *AdminClient) SetUser(accessKey, secretKey string, status AccountStatus) error
SetUser - sets a user info.
func (*AdminClient) SetUserPolicy ¶
func (adm *AdminClient) SetUserPolicy(accessKey, policyName string) error
SetUserPolicy - adds a policy for a user.
func (*AdminClient) SetUserStatus ¶
func (adm *AdminClient) SetUserStatus(accessKey string, status AccountStatus) error
SetUserStatus - adds a status for a user.
func (*AdminClient) StartProfiling ¶
func (adm *AdminClient) StartProfiling(profiler ProfilerType) ([]StartProfilingResult, error)
StartProfiling makes an admin call to remotely start profiling on a standalone server or the whole cluster in case of a distributed setup.
func (*AdminClient) TraceOn ¶
func (c *AdminClient) TraceOn(outputStream io.Writer)
TraceOn - enable HTTP tracing.
func (*AdminClient) VersionInfo ¶
func (adm *AdminClient) VersionInfo() (verInfo AdminAPIVersionInfo, err error)
VersionInfo - Connect to minio server and call the version API to retrieve the server API version
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 DriveInfo ¶
type DriveInfo HealDriveInfo
DriveInfo - represents each drive info, describing status, uuid and endpoint.
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 HealDriveInfo ¶
type HealDriveInfo struct { UUID string `json:"uuid"` Endpoint string `json:"endpoint"` State string `json:"state"` }
HealDriveInfo - struct for an individual drive info item.
type HealItemType ¶
type HealItemType string
HealItemType - specify the type of heal operation in a healing result
type HealResultItem ¶
type HealResultItem struct { ResultIndex int64 `json:"resultId"` Type HealItemType `json:"type"` Bucket string `json:"bucket"` Object string `json:"object"` Detail string `json:"detail"` ParityBlocks int `json:"parityBlocks,omitempty"` DataBlocks int `json:"dataBlocks,omitempty"` DiskCount int `json:"diskCount"` SetCount int `json:"setCount"` // below slices are from drive info. Before struct { Drives []HealDriveInfo `json:"drives"` } `json:"before"` After struct { Drives []HealDriveInfo `json:"drives"` } `json:"after"` ObjectSize int64 `json:"objectSize"` }
HealResultItem - struct for an individual heal result item
func (*HealResultItem) GetCorruptedCounts ¶
func (hri *HealResultItem) GetCorruptedCounts() (b, a int)
GetCorruptedCounts - returns the number of corrupted disks before and after heal
func (*HealResultItem) GetMissingCounts ¶
func (hri *HealResultItem) GetMissingCounts() (b, a int)
GetMissingCounts - returns the number of missing disks before and after heal
func (*HealResultItem) GetOfflineCounts ¶
func (hri *HealResultItem) GetOfflineCounts() (b, a int)
GetOfflineCounts - returns the number of offline disks before and after heal
func (*HealResultItem) GetOnlineCounts ¶
func (hri *HealResultItem) GetOnlineCounts() (b, a int)
GetOnlineCounts - returns the number of online disks before and after heal
type HealStartSuccess ¶
type HealStartSuccess struct { ClientToken string `json:"clientToken"` ClientAddress string `json:"clientAddress"` StartTime time.Time `json:"startTime"` }
HealStartSuccess - holds information about a successfully started heal operation
type HealStopSuccess ¶
type HealStopSuccess HealStartSuccess
HealStopSuccess - holds information about a successfully stopped heal operation.
type HealTaskStatus ¶
type HealTaskStatus struct { Summary string `json:"summary"` FailureDetail string `json:"detail"` StartTime time.Time `json:"startTime"` HealSettings HealOpts `json:"settings"` NumDisks int `json:"numDisks"` Items []HealResultItem `json:"items,omitempty"` }
HealTaskStatus - status struct for a heal task
type ProfilerType ¶
type ProfilerType string
ProfilerType represents the profiler type passed to the profiler subsystem.
type ServerConnStats ¶
type ServerConnStats struct { TotalInputBytes uint64 `json:"transferred"` TotalOutputBytes uint64 `json:"received"` }
ServerConnStats holds network information
type ServerHTTPMethodStats ¶
type ServerHTTPMethodStats struct { Count uint64 `json:"count"` AvgDuration string `json:"avgDuration"` }
ServerHTTPMethodStats holds total number of HTTP operations from/to the server, including the average duration the call was spent.
type ServerHTTPStats ¶
type ServerHTTPStats struct { TotalHEADStats ServerHTTPMethodStats `json:"totalHEADs"` SuccessHEADStats ServerHTTPMethodStats `json:"successHEADs"` TotalGETStats ServerHTTPMethodStats `json:"totalGETs"` SuccessGETStats ServerHTTPMethodStats `json:"successGETs"` TotalPUTStats ServerHTTPMethodStats `json:"totalPUTs"` SuccessPUTStats ServerHTTPMethodStats `json:"successPUTs"` TotalPOSTStats ServerHTTPMethodStats `json:"totalPOSTs"` SuccessPOSTStats ServerHTTPMethodStats `json:"successPOSTs"` TotalDELETEStats ServerHTTPMethodStats `json:"totalDELETEs"` SuccessDELETEStats ServerHTTPMethodStats `json:"successDELETEs"` }
ServerHTTPStats holds all type of http operations performed to/from the server including their average execution time.
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"` HTTPStats ServerHTTPStats `json:"http"` 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 ServerVersion ¶
ServerVersion - server version
type ServiceAction ¶
type ServiceAction struct {
Action ServiceActionValue `json:"action"`
}
ServiceAction - represents POST body for service action APIs
type ServiceActionValue ¶
type ServiceActionValue string
ServiceActionValue - type to restrict service-action values
const ( // ServiceActionValueRestart represents restart action ServiceActionValueRestart ServiceActionValue = "restart" // ServiceActionValueStop represents stop action ServiceActionValueStop = "stop" )
type ServiceStatus ¶
type ServiceStatus struct { ServerVersion ServerVersion `json:"serverVersion"` Uptime time.Duration `json:"uptime"` }
ServiceStatus - contains the response of service status API
type SetCredsReq ¶
SetCredsReq - xml to send to the server to set new credentials
type StartProfilingResult ¶
type StartProfilingResult struct { NodeName string `json:"nodeName"` Success bool `json:"success"` Error string `json:"error"` }
StartProfilingResult holds the result of starting profiler result in a given node.
type StorageInfo ¶
type StorageInfo struct { Used uint64 // Total used spaced per tenant. // 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. StandardSCData int // Data disks for currently configured Standard storage class. StandardSCParity int // Parity disks for currently configured Standard storage class. RRSCData int // Data disks for currently configured Reduced Redundancy storage class. RRSCParity int // Parity disks for currently configured Reduced Redundancy storage class. // List of all disk status, this is only meaningful if BackendType is Erasure. Sets [][]DriveInfo } }
StorageInfo - represents total capacity of underlying storage.
type UserInfo ¶
type UserInfo struct { SecretKey string `json:"secretKey,omitempty"` PolicyName string `json:"policyName,omitempty"` Status AccountStatus `json:"status"` }
UserInfo carries information about long term users.