Categorygithub.com/87ZGitHub/madmin-go
modulepackage
1.0.2
Repository: https://github.com/87zgithub/madmin-go.git
Documentation: pkg.go.dev

# README

Golang Admin Client API Reference Slack

The MinIO Admin Golang Client SDK provides APIs to manage MinIO services.

This quickstart guide will show you how to install the MinIO Admin client SDK, connect to MinIO admin service, and provide a walkthrough of a simple file uploader.

This document assumes that you have a working Golang setup.

Initialize MinIO Admin Client object.

MinIO


package main

import (
    "fmt"

    "github.com/87ZGitHub/madmin-go"
)

func main() {
    // Use a secure connection.
    ssl := true

    // Initialize minio client object.
    mdmClnt, err := madmin.New("your-minio.example.com:9000", "YOUR-ACCESSKEYID", "YOUR-SECRETKEY", ssl)
    if err != nil {
        fmt.Println(err)
        return
    }

    // Fetch service status.
    st, err := mdmClnt.ServerInfo()
    if err != nil {
        fmt.Println(err)
        return
    }
	for _, peerInfo := range serversInfo {
		log.Printf("Node: %s, Info: %v\n", peerInfo.Addr, peerInfo.Data)
	}
}

Service operationsInfo operationsHealing operationsConfig operations
ServiceTraceServerInfoHealGetConfig
ServiceStopStorageInfoSetConfig
ServiceRestartAccountInfo
Top operationsIAM operationsMiscKMS
TopLocksAddUserStartProfilingGetKeyStatus
SetPolicyDownloadProfilingData
ListUsersServerUpdate
AddCannedPolicy

1. Constructor

New(endpoint string, accessKeyID string, secretAccessKey string, ssl bool) (*AdminClient, error)

Initializes a new admin client object.

Parameters

ParamTypeDescription
endpointstringMinIO endpoint.
accessKeyIDstringAccess key for the object storage endpoint.
secretAccessKeystringSecret key for the object storage endpoint.
sslboolSet this value to 'true' to enable secure (HTTPS) access.

2. Service operations

ServiceStatus(ctx context.Context) (ServiceStatusMetadata, error)

Fetch service status, replies disk space used, backend type and total disks offline/online (applicable in distributed mode).

ParamTypeDescription
serviceStatusServiceStatusMetadataRepresents current server status info in following format:
ParamTypeDescription
st.ServerVersion.VersionstringServer version.
st.ServerVersion.CommitIDstringServer commit id.
st.Uptimetime.DurationServer uptime duration in seconds.

Example


   st, err := madmClnt.ServiceStatus(context.Background())
   if err != nil {
   	log.Fatalln(err)
   }
   log.Printf("%#v\n", st)

ServiceRestart(ctx context.Context) error

Sends a service action restart command to MinIO server.

Example

   // To restart the service, restarts all servers in the cluster.
   err := madmClnt.ServiceRestart(context.Background())
   if err != nil {
       log.Fatalln(err)
   }
   log.Println("Success")

ServiceStop(ctx context.Context) error

Sends a service action stop command to MinIO server.

Example

   // To stop the service, stops all servers in the cluster.
   err := madmClnt.ServiceStop(context.Background())
   if err != nil {
       log.Fatalln(err)
   }
   log.Println("Success")

ServiceTrace(ctx context.Context, allTrace bool, doneCh <-chan struct{}) <-chan TraceInfo

Enable HTTP request tracing on all nodes in a MinIO cluster

Example

    doneCh := make(chan struct{})
    defer close(doneCh)
    // listen to all trace including internal API calls
    allTrace := true
    // Start listening on all trace activity.
    traceCh := madmClnt.ServiceTrace(context.Background(), allTrace, doneCh)
    for traceInfo := range traceCh {
        fmt.Println(traceInfo.String())
    }

3. Info operations

ServerInfo(ctx context.Context) ([]ServerInfo, error)

Fetches information for all cluster nodes, such as server properties, storage information, network statistics, etc.

ParamTypeDescription
si.AddrstringAddress of the server the following information is retrieved from.
si.ConnStatsServerConnStatsConnection statistics from the given server.
si.HTTPStatsServerHTTPStatsHTTP connection statistics from the given server.
si.PropertiesServerPropertiesServer properties such as region, notification targets.
ParamTypeDescription
ServerProperties.Uptimetime.DurationTotal duration in seconds since server is running.
ServerProperties.VersionstringCurrent server version.
ServerProperties.CommitIDstringCurrent server commitID.
ServerProperties.RegionstringConfigured server region.
ServerProperties.SQSARN[]stringList of notification target ARNs.
ParamTypeDescription
ServerConnStats.TotalInputBytesuint64Total bytes received by the server.
ServerConnStats.TotalOutputBytesuint64Total bytes sent by the server.
ParamTypeDescription
ServerHTTPStats.TotalHEADStatsServerHTTPMethodStatsTotal statistics regarding HEAD operations
ServerHTTPStats.SuccessHEADStatsServerHTTPMethodStatsTotal statistics regarding successful HEAD operations
ServerHTTPStats.TotalGETStatsServerHTTPMethodStatsTotal statistics regarding GET operations
ServerHTTPStats.SuccessGETStatsServerHTTPMethodStatsTotal statistics regarding successful GET operations
ServerHTTPStats.TotalPUTStatsServerHTTPMethodStatsTotal statistics regarding PUT operations
ServerHTTPStats.SuccessPUTStatsServerHTTPMethodStatsTotal statistics regarding successful PUT operations
ServerHTTPStats.TotalPOSTStatsServerHTTPMethodStatsTotal statistics regarding POST operations
ServerHTTPStats.SuccessPOSTStatsServerHTTPMethodStatsTotal statistics regarding successful POST operations
ServerHTTPStats.TotalDELETEStatsServerHTTPMethodStatsTotal statistics regarding DELETE operations
ServerHTTPStats.SuccessDELETEStatsServerHTTPMethodStatsTotal statistics regarding successful DELETE operations
ParamTypeDescription
ServerHTTPMethodStats.Countuint64Total number of operations.
ServerHTTPMethodStats.AvgDurationstringAverage duration of Count number of operations.
ParamTypeDescription
DriveInfo.UUIDstringUnique ID for each disk provisioned by server format.
DriveInfo.EndpointstringEndpoint location of the remote/local disk.
DriveInfo.StatestringCurrent state of the disk at endpoint.

Example


   serversInfo, err := madmClnt.ServerInfo(context.Background())
   if err != nil {
   	log.Fatalln(err)
   }

   for _, peerInfo := range serversInfo {
   	log.Printf("Node: %s, Info: %v\n", peerInfo.Addr, peerInfo.Data)
   }

StorageInfo(ctx context.Context) (StorageInfo, error)

Fetches Storage information for all cluster nodes.

ParamTypeDescription
storageInfo.Used[]int64Used disk spaces.
storageInfo.Total[]int64Total disk spaces.
storageInfo.Available[]int64Available disk spaces.
StorageInfo.Backendstruct{}Represents backend type embedded structure.
ParamTypeDescription
Backend.TypeBackendTypeType of backend used by the server currently only FS or Erasure.
Backend.OnlineDisksBackendDisksTotal number of disks online per node (only applies to Erasure backend) represented in map[string]int, is empty for FS.
Backend.OfflineDisksBackendDisksTotal number of disks offline per node (only applies to Erasure backend) represented in map[string]int, is empty for FS.
Backend.StandardSCParityintParity disks set for standard storage class, is empty for FS.
Backend.RRSCParityintParity disks set for reduced redundancy storage class, is empty for FS.
Backend.Sets[][]DriveInfoRepresents topology of drives in erasure coded sets.

Example


   storageInfo, err := madmClnt.StorageInfo(context.Background())
   if err != nil {
   	log.Fatalln(err)
   }

   log.Println(storageInfo)

AccountInfo(ctx context.Context) (AccountInfo, error)

Fetches accounting usage information for the current authenticated user

ParamTypeDescription
AccountInfo.AccountNamestringAccount name.
AccountInfo.Buckets[]BucketAccessInfoBucket usage info.
ParamTypeDescription
BucketAccessInfo.NamestringThe name of the current bucket
BucketAccessInfo.Sizeuint64The total size of the current bucket
BucketAccessInfo.Createdtime.TimeBucket creation time
BucketAccessInfo.AccessAccountAccessType of access of the current account
ParamTypeDescription
AccountAccess.ReadboolIndicate if the bucket is readable by the current account name.
AccountAccess.WriteboolIndocate if the bucket is writable by the current account name.

Example


   accountInfo, err := madmClnt.AccountInfo(context.Background())
   if err != nil {
	log.Fatalln(err)
   }

   log.Println(accountInfo)

5. Heal operations

Heal(ctx context.Context, bucket, prefix string, healOpts HealOpts, clientToken string, forceStart bool, forceStop bool) (start HealStartSuccess, status HealTaskStatus, err error)

Start a heal sequence that scans data under given (possible empty) bucket and prefix. The recursive bool turns on recursive traversal under the given path. dryRun does not mutate on-disk data, but performs data validation.

Two heal sequences on overlapping paths may not be initiated.

The progress of a heal should be followed using the same API Heal by providing the clientToken previously obtained from a Heal API. The server accumulates results of the heal traversal and waits for the client to receive and acknowledge them using the status request by providing clientToken.

Example


    opts := madmin.HealOpts{
            Recursive: true,
            DryRun:    false,
    }
    forceStart := false
    forceStop := false
    healPath, err := madmClnt.Heal(context.Background(), "", "", opts, "", forceStart, forceStop)
    if err != nil {
        log.Fatalln(err)
    }
    log.Printf("Heal sequence started at %s", healPath)

HealStartSuccess structure

ParamTypeDescription
s.ClientTokenstringA unique token for a successfully started heal operation, this token is used to request realtime progress of the heal operation.
s.ClientAddressstringAddress of the client which initiated the heal operation, the client address has the form "host:port".
s.StartTimetime.TimeTime when heal was initially started.

HealTaskStatus structure

ParamTypeDescription
s.SummarystringShort status of heal sequence
s.FailureDetailstringError message in case of heal sequence failure
s.HealSettingsHealOptsContains the booleans set in the HealStart call
s.Items[]HealResultItemHeal records for actions performed by server

HealResultItem structure

ParamTypeDescription
ResultIndexint64Index of the heal-result record
TypeHealItemTypeRepresents kind of heal operation in the heal record
BucketstringBucket name
ObjectstringObject name
DetailstringDetails about heal operation
DiskInfo.AvailableOn[]intList of disks on which the healed entity is present and healthy
DiskInfo.HealedOn[]intList of disks on which the healed entity was restored
l

6. Config operations

GetConfig(ctx context.Context) ([]byte, error)

Get current config.json of a MinIO server.

Example

    configBytes, err := madmClnt.GetConfig(context.Background())
    if err != nil {
        log.Fatalf("failed due to: %v", err)
    }

    // Pretty-print config received as json.
    var buf bytes.Buffer
    err = json.Indent(buf, configBytes, "", "\t")
    if err != nil {
        log.Fatalf("failed due to: %v", err)
    }

    log.Println("config received successfully: ", string(buf.Bytes()))

SetConfig(ctx context.Context, config io.Reader) error

Set a new config.json for a MinIO server.

Example

    config := bytes.NewReader([]byte(`config.json contents go here`))
    if err := madmClnt.SetConfig(context.Background(), config); err != nil {
        log.Fatalf("failed due to: %v", err)
    }
    log.Println("SetConfig was successful")

7. Top operations

TopLocks(ctx context.Context) (LockEntries, error)

Get the oldest locks from MinIO server.

Example

    locks, err := madmClnt.TopLocks(context.Background())
    if err != nil {
        log.Fatalf("failed due to: %v", err)
    }

    out, err := json.Marshal(locks)
    if err != nil {
        log.Fatalf("Marshal failed due to: %v", err)
    }

    log.Println("TopLocks received successfully: ", string(out))

8. IAM operations

AddCannedPolicy(ctx context.Context, policyName string, policy *iampolicy.Policy) error

Create a new canned policy on MinIO server.

Example

	policy, err := iampolicy.ParseConfig(strings.NewReader(`{"Version": "2012-10-17","Statement": [{"Action": ["s3:GetObject"],"Effect": "Allow","Resource": ["arn:aws:s3:::my-bucketname/*"],"Sid": ""}]}`))
    if err != nil {
        log.Fatalln(err)
    }

    if err = madmClnt.AddCannedPolicy(context.Background(), "get-only", policy); err != nil {
		log.Fatalln(err)
	}

AddUser(ctx context.Context, user string, secret string) error

Add a new user on a MinIO server.

Example

	if err = madmClnt.AddUser(context.Background(), "newuser", "newstrongpassword"); err != nil {
		log.Fatalln(err)
	}

SetPolicy(ctx context.Context, policyName, entityName string, isGroup bool) error

Enable a canned policy get-only for a given user or group on MinIO server.

Example

	if err = madmClnt.SetPolicy(context.Background(), "get-only", "newuser", false); err != nil {
		log.Fatalln(err)
	}

ListUsers(ctx context.Context) (map[string]UserInfo, error)

Lists all users on MinIO server.

Example

	users, err := madmClnt.ListUsers(context.Background());
    if err != nil {
		log.Fatalln(err)
	}
    for k, v := range users {
        fmt.Printf("User %s Status %s\n", k, v.Status)
    }

9. Misc operations

ServerUpdate(ctx context.Context, updateURL string) (ServerUpdateStatus, error)

Sends a update command to MinIO server, to update MinIO server to latest release. In distributed setup it updates all servers atomically.

Example

   // Updates all servers and restarts all the servers in the cluster.
   // optionally takes an updateURL, which is used to update the binary.
   us, err := madmClnt.ServerUpdate(context.Background(), updateURL)
   if err != nil {
       log.Fatalln(err)
   }
   if us.CurrentVersion != us.UpdatedVersion {
       log.Printf("Updated server version from %s to %s successfully", us.CurrentVersion, us.UpdatedVersion)
   }

StartProfiling(ctx context.Context, profiler string) error

Ask all nodes to start profiling using the specified profiler mode

Example

    startProfilingResults, err = madmClnt.StartProfiling(context.Background(), "cpu")
    if err != nil {
            log.Fatalln(err)
    }
    for _, result := range startProfilingResults {
        if !result.Success {
            log.Printf("Unable to start profiling on node `%s`, reason = `%s`\n", result.NodeName, result.Error)
        } else {
            log.Printf("Profiling successfully started on node `%s`\n", result.NodeName)
        }
    }

DownloadProfilingData(ctx context.Context) ([]byte, error)

Download profiling data of all nodes in a zip format.

Example

    profilingData, err := madmClnt.DownloadProfilingData(context.Background())
    if err != nil {
            log.Fatalln(err)
    }

    profilingFile, err := os.Create("/tmp/profiling-data.zip")
    if err != nil {
            log.Fatal(err)
    }

    if _, err := io.Copy(profilingFile, profilingData); err != nil {
            log.Fatal(err)
    }

    if err := profilingFile.Close(); err != nil {
            log.Fatal(err)
    }

    if err := profilingData.Close(); err != nil {
            log.Fatal(err)
    }

    log.Println("Profiling data successfully downloaded.")

11. KMS

GetKeyStatus(ctx context.Context, keyID string) (*KMSKeyStatus, error)

Requests status information about one particular KMS master key from a MinIO server. The keyID is optional and the server will use the default master key (configured via MINIO_KMS_VAULT_KEY_NAME or MINIO_KMS_MASTER_KEY) if the keyID is empty.

Example

    keyInfo, err := madmClnt.GetKeyStatus(context.Background(), "my-minio-key")
    if err != nil {
       log.Fatalln(err)
    }
    if keyInfo.EncryptionErr != "" {
       log.Fatalf("Failed to perform encryption operation using '%s': %v\n", keyInfo.KeyID, keyInfo.EncryptionErr)
    }
    if keyInfo.UpdateErr != "" {
       log.Fatalf("Failed to perform key re-wrap operation using '%s': %v\n", keyInfo.KeyID, keyInfo.UpdateErr)
    }
    if keyInfo.DecryptionErr != "" {
       log.Fatalf("Failed to perform decryption operation using '%s': %v\n", keyInfo.KeyID, keyInfo.DecryptionErr)
    }

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE.

# Packages

Package cgroup implements parsing for all the cgroup categories and functionality in a simple way.
No description provided by the author
No description provided by the author

# Functions

AzureEndpoint helper to supply optional endpoint to NewTierAzure.
AzurePrefix helper to supply optional object prefix to NewTierAzure.
AzureRegion helper to supply optional region to NewTierAzure.
AzureStorageClass helper to supply optional storage class to NewTierAzure.
DecryptData decrypts the data with the key derived from the salt (part of data) and the password using the PBKDF used in EncryptData.
EncryptData encrypts the data with an unique key derived from password using the Argon2id PBKDF.
ErrInvalidArgument - Invalid argument response.
FIPSEnabled returns true if and only if FIPS 140-2 support is enabled.
GCSPrefix helper to supply optional object prefix to NewTierGCS.
GCSRegion helper to supply optional region to NewTierGCS.
GCSStorageClass helper to supply optional storage class to NewTierGCS.
GetCPUs returns system's all CPU information.
GetMemInfo returns system's RAM and swap information.
GetOSInfo returns linux only operating system's information.
GetPartitions returns all disk partitions information of a node running linux only operating system.
GetProcInfo returns current MinIO process information.
GetSREntityType returns the SREntityType for a key.
GetSysConfig returns config values from the system (only those affecting minio performance).
GetSysErrors returns issues in system setup/config.
GetSysServices returns info of sys services that affect minio.
GetTargetUpdateOps returns a slice of update operations being performed with `mc admin bucket remote edit`.
HasSpace - returns if given string has space.
IsEncrypted reports whether data is encrypted.
MinIOPrefix helper to supply optional object prefix to NewTierMinIO.
MinIORegion helper to supply optional region to NewTierMinIO.
New - instantiate minio admin client.
NewAnonymousClient can be used for anonymous APIs without credentials set.
No description provided by the author
NewTierAzure returns a TierConfig of Azure type.
NewTierGCS returns a TierConfig of GCS type.
No description provided by the author
NewTierS3 returns a TierConfig of S3 type.
NewTierType creates TierType if scType is a valid tier type string, otherwise returns an error.
NewWithOptions - instantiate minio admin client with options.
ParseARN return ARN struct from string in arn format.
ParseServerConfigOutput - takes a server config output and returns a slice of configs.
S3AWSRole helper to use optional AWS Role to NewTierS3.
S3Endpoint helper to supply optional endpoint to NewTierS3.
S3Prefix helper to supply optional object prefix to NewTierS3.
S3Region helper to supply optional region to NewTierS3.
S3StorageClass helper to supply optional storage class to NewTierS3.
SanitizeValue - this function is needed, to trim off single or double quotes, creeping into the values.
ToErrorResponse - Returns parsed ErrorResponse struct from body and http headers.

# Constants

Account status per user.
Account status per user.
AdminAPIVersion - admin api version used in the request.
AdminAPIVersion - admin api version used in the request.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Azure refers to Azure Blob Storage.
BandwidthLimitUpdateType update bandwidth limit.
Top level configuration key constants.
Top level configuration key constants.
Standard config keys and values.
Top level configuration key constants.
ConfigAppliedHeader is the header indicating whether the config was applied without requiring a restart.
ConfigAppliedTrue is the value set in header if the config was applied.
add replication configuration.
Top level configuration key constants.
Top level configuration key constants.
CredentialsUpdateType update creds.
Constant separators.
DefaultRetryCap - Each retry attempt never waits no longer than this maximum time duration.
DefaultRetryUnit - default unit multiplicative per retry.
delete bucket (forceDelete = off).
Drive state constants.
Drive state constants.
Drive state constants.
Drive state constants.
Drive state constants.
Drive state constants.
only returned by disk.
Drive state constants.
Standard config keys and values.
Standard config keys and values.
Enable values.
Constant separators.
Constant separators.
Constant separators.
Multi disk Erasure (single, distributed) backend.
ErasureType - Backend is Erasure type.
Top level configuration key constants.
delete bucket (forceDelete = on).
Filesystem backend.
FsType - Backend is FS Type.
Gateway to other storage.
GCS refers to Google Cloud Storage.
GroupStatus values.
GroupStatus values.
HardQuota specifies a hard quota of usage for bucket.
HealDeepScan checks for parts bitrot checksums.
HealItemType constants.
HealItemType constants.
HealItemType constants.
HealItemType constants.
HealNormalScan checks if parts are present and not outdated.
Top level configuration key constants.
HealthCheckDurationUpdateType update health check duration.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
is this really needed?.
HealthDataTypes.
HealthDataTypes.
provides very little info.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthDataTypes.
HealthInfoVersion is current health info version.
HealthInfoVersion0 is version 0.
HealthInfoVersion1 is version 1.
HealthInfoVersion2 is version 2.
HealthInfoVersion3 is version 3.
HealUnknownScan default is unknown.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
ItemInitializing indicates that the item is still in initialization phase.
ItemOffline indicates that the item is offline.
ItemOnline indicates that the item is online.
Constant separators.
Constant separators.
Constant separators.
Constant separators.
Constant separators.
Constant separators.
Top level configuration key constants.
LogKindAll All errors.
LogKindApplication Application errors.
LogKindMinio Minio errors.
LogMaskAll must be the last.
No description provided by the author
No description provided by the author
make bucket and enable versioning.
MaxJitter will randomize over the full exponential backoff time.
MetricsAll must be last.
No description provided by the author
MetricsNone indicates no metrics.
No description provided by the author
No description provided by the author
MinIO refers to MinIO object storage backend.
NoJitter disables the use of jitter for randomizing the exponential backoff time.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
Top level configuration key constants.
PathUpdateType update Path.
Top level configuration key constants.
Top level configuration key constants.
represents Block profiler type.
represents CPU profiler type.
represents CPU with IO (fgprof) profiler type.
represents Goroutine dumps.
represents MEM profiler type.
represents Mutex profiler type.
represents ThreadCreate profiler type.
represents Trace profiler type.
ProxyUpdateType update proxy setting.
purge bucket.
Top level configuration key constants.
Meaningful values for ReplicateAddStatus.Status.
Meaningful values for ReplicateAddStatus.Status.
No description provided by the author
No description provided by the author
ReplicationService specifies replication service.
ResetUpdateType sets ResetBeforeDate and ResetID on a bucket target.
S3 refers to AWS S3 compatible backend.
Top level configuration key constants.
ServiceActionFreeze represents freeze action.
ServiceActionRestart represents restart action.
ServiceActionStop represents stop action.
ServiceActionUnfreeze represents unfreeze a previous freeze action.
Top level configuration key constants.
SRBucketEntity Bucket entity type.
SRBucketMeta.Type constants.
SRBucketMeta.Type constants.
SRBucketMeta.Type constants.
SRBucketMeta.Type constants.
SRBucketMeta.Type constants.
SRBucketMeta.Type constants.
SRGroupEntity Group entity type.
SRIAMItem.Type constants.
SRIAMItem.Type constants.
SRIAMItem.Type constants.
SRIAMItem.Type constants.
SRIAMItem.Type constants.
SRIAMItem.Type constants.
SRPolicyEntity Policy entity type.
SRUserEntity User entity type.
No description provided by the author
No description provided by the author
Top level configuration key constants.
Top level configuration key constants.
Constant separators.
SyncUpdateType update synchronous replication setting.
No description provided by the author
No description provided by the author
TierConfigVer refers to the current tier config version.
TraceAll contains all valid trace modes.
TraceDecommission will trace decommission operations.
TraceHealing will trace healing operations.
TraceInternal tracing internal (.minio.sys/...) HTTP calls.
TraceOS tracing (Golang os package calls).
TraceS3 provides tracing of S3 API calls.
TraceScanner will trace scan operations.
TraceStorage tracing (MinIO Storage Layer).
Enum for different backend types.
Unspecified entity.
Unsupported refers to remote tier backend that is not supported in this version.

# Variables

DefaultTransport - this default transport is similar to http.DefaultTransport but with additional param DisableCompression is set to true to avoid decompressing content with 'gzip' encoding.
No description provided by the author
No description provided by the author
ErrMaliciousData indicates that the stream cannot be decrypted by provided credentials.
ErrTierInvalidConfig "invalid tier config".
ErrTierInvalidConfigVersion "invalid tier config version".
ErrTierNameEmpty "remote tier name empty".
ErrTierTypeUnsupported "unsupported tier type".
HealthDataTypesList - List of health datatypes.
HealthDataTypesMap - Map of Health datatypes.
MaxRetry is the maximum number of retries before stopping.
SubSystems - list of all subsystems in MinIO.

# Structs

AccountAccess contains information about.
AccountInfo represents the account usage info of an account across buckets.
AccountOpts allows for configurable behavior with "prefix-usage".
AddOrUpdateUserReq allows to update user details such as secret key and account status.
AddServiceAccountReq is the request options of the add service account admin call.
AddServiceAccountResp is the response body of the add service account admin call.
AdminClient implements Amazon S3 compatible methods.
AliveOpts customizing liveness check.
AliveResult returns the time spent getting a response back from the server on /minio/health/live endpoint.
AnonymousClient implements an anonymous http client for MinIO.
ARN is a struct to define arn.
BackendInfo - contains info of the underlying backend.
BandwidthDetails for the measured bandwidth.
BgHealState represents the status of the background heal.
BucketAccessInfo represents bucket usage of a bucket, and its relevant access type for an account.
BucketBandwidthReport captures the details for all buckets.
BucketDetails provides information about features currently turned-on per bucket.
BucketMetaImportErrs reports on bucket metadata import status.
BucketQuota holds bucket quota restrictions.
Buckets contains the number of buckets.
BucketStatus reflects status of bucket metadata import.
BucketTarget represents the target bucket and site association.
BucketTargets represents a slice of bucket targets by type and endpoint.
BucketUsageInfo - bucket usage info provides - total size of the bucket - total objects in a bucket - object size histogram per bucket.
ClusterInfo - The "info" sub-node of the cluster registration information struct Intended to be extensible i.e.
ClusterRegistrationInfo - Information stored in the cluster registration token.
ClusterRegistrationReq - JSON payload of the subnet api for cluster registration Contains a registration token created by base64 encoding of the registration info.
ConfigHistoryEntry - captures config set history with a unique restore ID and createTime.
ConfigKV represents a configuration key and value, along with any environment override if present.
CPU contains system's CPU information.
CPUs contains all CPU information of a node.
Credentials holds access and secret keys.
No description provided by the author
DataUsageInfo represents data usage stats of the underlying Object API.
DiffInfo represents relevant replication status and last attempt to replicate for the replication targets configured for the bucket.
Disk holds Disk information.
DiskIOStats contains IO stats of a single drive.
DiskLatency holds latency information for write operations to the drive.
DiskMetric contains metrics for one or more disks.
DiskMetrics has the information about XL Storage APIs the number of calls of each API and the moving average of the duration, in nanosecond, of each API.
DiskThroughput holds throughput information for write operations to the drive.
DrivePerf - result of drive speed test on 1 drive mounted at path.
DrivePerfInfo contains disk drive's performance information.
DrivePerfInfos contains all disk drive's performance information of a node.
DrivePerfInfoV0 - Stats about a single drive in a MinIO node.
DriveSpeedTestOpts provide configurable options for drive speedtest.
DriveSpeedTestResult - result of the drive speed test.
EnvOverride contains the name of the environment variable and its value.
ErasureBackend contains specific erasure storage information.
ErrorResponse - Is the typed error returned by all API operations.
FSBackend contains specific FS storage information.
GCStats collect information about recent garbage collections.
GroupAddRemove is type for adding/removing members to/from a group.
GroupDesc is a type that holds group info along with the policy attached to it.
HealDriveInfo - struct for an individual drive info item.
HealingDisk contains information about.
HealOpts - collection of options for a heal sequence.
HealResultItem - struct for an individual heal result item.
HealStartSuccess - holds information about a successfully started heal operation.
HealTaskStatus - status struct for a heal task.
HealthInfo - MinIO cluster's health Info.
HealthInfoV0 - MinIO cluster's health Info version 0.
HealthInfoV2 - MinIO cluster's health Info version 2.
HealthInfoVersionStruct - struct for health info version.
HealthOpts represents the input options for the health check.
HealthResult represents the cluster health result.
Help - return sub-system level help.
HelpKV - implements help messages for keys with value as description of the keys.
IDPCfgInfo represents a single configuration or related parameter.
IDPConfig contains IDP configuration information returned by server.
IDPListItem - represents an item in the List IDPs call.
IDPSettings contains key IDentity Provider settings to validate that all peers have the same configuration.
InfoMessage container to hold server admin related information.
InfoServiceAccountResp is the response body of the info service account call.
InspectOptions provides options to Inspect.
KMS contains KMS status information.
KMSKeyStatus contains some status information about a KMS master key.
KMSStatus contains various informations about the KMS connected to a MinIO server - like the KMS endpoints and the default key ID.
KubernetesInfo - Information about the kubernetes platform.
KVOptions takes specific inputs for KV functions.
Latency contains write operation latency in seconds of a disk drive.
LDAP contains ldap status.
LDAPSettings contains LDAP configuration info of a cluster.
ListServiceAccountsResp is the response body of the list service accounts call.
LockEntry holds information about client requesting the lock, servers holding the lock, source on the client machine, ID, type(read or write) and time stamp.
LogInfo holds console log messages.
MemInfo contains system's RAM and swap information.
MemStats is strip down version of runtime.MemStats containing memory stats of MinIO server.
MetaStatus status of metadata import.
Metrics contains all metric types.
MetricsOptions are options provided to Metrics call.
MinioConfig contains minio configuration of a node.
MinioHealthInfo - Includes MinIO confifuration information.
MinioHealthInfoV0 - Includes MinIO confifuration information.
MinioInfo contains MinIO server and object storage information.
MRFStatus exposes MRF metrics of a server.
NetLatency holds latency information for read/write operations to the drive.
NetPerfInfo contains network performance information of a node to other nodes.
NetPerfInfoV0 - one-to-one network connectivity Stats between 2 MinIO nodes.
NetperfNodeResult - stats from each server.
NetperfResult - aggregate results from all servers.
NetThroughput holds throughput information for read/write operations to the drive.
NodeCommon - Common fields across most node-specific health structs.
Objects contains the number of objects.
OpenIDProviderSettings contains info on a particular OIDC based provider.
OpenIDSettings contains OpenID configuration info of a cluster.
Options for New method.
OSInfo contains operating system's information.
OSMetrics contains metrics for OS operations.
Partition contains disk partition's information.
Partitions contains all disk partitions information of a node.
PartitionStat - includes data from both shirou/psutil.diskHw.PartitionStat as well as SMART data.
PeerInfo - contains some properties of a cluster peer.
PeerNetPerfInfo contains network performance information of a node.
PeerSite - represents a cluster/site to be added to the set of replicated sites.
PerfInfo - Includes Drive and Net perf info for the entire MinIO cluster.
PerfInfoV0 - Includes Drive and Net perf info for the entire MinIO cluster.
PolicyInfo contains information on a policy.
PoolDecommissionInfo currently draining information.
PoolStatus captures current pool status.
ProcInfo contains current process's information.
RealtimeMetrics provides realtime metrics.
ReplDiffOpts holds options for `mc replicate diff` command.
ReplicateAddStatus - returns status of add request.
ReplicateEditStatus - returns status of edit request.
ReplicateRemoveStatus - returns status of unlink request.
Report includes the bandwidth report or the error encountered.
RequestData exposing internal data structure requestData.
ScannerMetrics contains scanner information.
ServerCPUInfo - Includes cpu and timer stats of each node of the MinIO cluster.
ServerDiskHwInfo - Includes usage counters, disk counters and partitions.
ServerDrivesInfo - Drive info about all drives in a single MinIO node.
ServerInfo holds server information.
ServerMemInfo - Includes host virtual and swap mem information.
ServerNetHealthInfo - Network health info about a single MinIO node.
ServerOsInfo - Includes host os information.
ServerProcInfo - Includes host process lvl information.
ServerProperties holds server information.
ServerUpdateStatus - contains the response of service update API.
Services contains different services information.
ServiceTraceInfo holds http trace.
ServiceTraceOpts holds tracing options.
SetStatus contains information about the heal status of a set.
SiteReplicationInfo - contains cluster replication information.
SmartAtaInfo contains ATA drive info.
SmartInfo contains S.M.A.R.T data about the drive.
SmartNvmeInfo contains NVMe drive info.
SmartScsiInfo contains SCSI drive Info.
SpeedtestOpts provide configurable options for speedtest.
SpeedTestResult - result of the speedtest() call.
SpeedTestResults - Includes perf test results of the MinIO cluster.
SpeedTestStats - stats of all the servers.
SpeedTestStatServer - stats of a server.
SRBucketInfo - returns all the bucket metadata available for bucket.
SRBucketMeta - represents a bucket metadata change that will be copied to a peer.
SRBucketStatsSummary has status of bucket metadata replication misses.
SRGroupInfo - represents a regular (IAM) user to be replicated.
SRGroupStatsSummary has status of group replication misses.
SRIAMItem - represents an IAM object that will be copied to a peer.
SRIAMPolicy - represents an IAM policy.
SRIAMUser - represents a regular (IAM) user to be replicated.
SRInfo gets replication metadata for a site.
SRPeerJoinReq - arg body for SRPeerJoin.
SRPolicyMapping - represents mapping of a policy to a user or group.
SRPolicyStatsSummary has status of policy replication misses.
SRRemoveReq - arg body for SRRemoveReq.
SRSiteSummary holds the count of replicated items in site replication.
SRStatusInfo returns detailed status on site replication status.
SRStatusOptions holds SR status options.
SRSTSCredential - represents an STS credential to be replicated.
SRSvcAccChange - sum-type to represent an svc account change.
SRSvcAccCreate - create operation.
SRSvcAccDelete - delete operation.
SRSvcAccUpdate - update operation.
SRUserStatsSummary has status of user replication misses.
StartProfilingResult holds the result of starting profiler result in a given node.
Status of endpoint.
StorageInfo - represents total capacity of underlying storage.
SubnetLoginReq - JSON payload of the SUBNET login api.
SubnetMFAReq - JSON payload of the SUBNET mfa api.
SubsysConfig represents the configuration for a particular subsytem and target.
SysConfig - info about services that affect minio.
SysErrors - contains a system error.
SysHealthInfo - Includes hardware and system information of the MinIO cluster.
SysInfo - Includes hardware and system information of the MinIO cluster.
SysProcess - Includes process lvl information about a single process.
SysService - name and status of a sys service.
SysServices - info about services that affect minio.
TgtDiffInfo returns status of unreplicated objects for the target ARN.
Throughput contains write performance in bytes per second of a disk drive.
TierAzure represents the remote tier configuration for Azure Blob Storage.
TierConfig represents the different remote tier backend configurations supported.
TierCreds is used to pass remote tier credentials in a tier-edit operation.
TierGCS represents the remote tier configuration for Google Cloud Storage.
TierInfo contains tier name, type and statistics.
TierMinIO represents the remote tier configuration for MinIO object storage backend.
TierS3 represents the remote tier configuration for AWS S3 compatible backend.
TierStats contains per-tier statistics like total size, number of objects/versions transitioned, etc.
TimedAction contains a number of actions and their accumulated duration in nanoseconds.
TimeInfo contains current time in UTC, and the roundtrip duration when fetching it remotely.
Timings captures all latency metrics.
No description provided by the author
No description provided by the author
TopLockOpts top lock options.
TraceCallStats records request stats.
No description provided by the author
TraceInfo - represents a trace record, additionally also reports errors if any while listening on trace.
TraceRequestInfo represents trace of http request.
TraceResponseInfo represents trace of http request.
UpdateServiceAccountReq is the request options of the edit service account admin call.
Usage contains the total size used.
UserInfo carries information about long term users.
Versions contains the number of versions.

# Interfaces

NodeInfo - Interface to abstract any struct that contains address/endpoint and error fields.

# Type aliases

AccountStatus - account status.
Audit contains audit logger status.
AzureOptions supports NewTierAzure to take variadic options.
BackendDisks - represents the map of endpoint-disks.
BackendType - represents different backend types.
BktOp represents the bucket operation being requested.
GCSOptions supports NewTierGCS to take variadic options.
GroupStatus - group status.
HealItemType - specify the type of heal operation in a healing result.
HealScanMode represents the type of healing scan.
HealStopSuccess - holds information about a successfully stopped heal operation.
HealthDataType - Typed Health data types.
HelpKVS - implement order of keys help messages.
ItemState - represents the status of any item in offline,init,online state.
LockEntries - To sort the locks.
Logger contains logger status.
LogKind specifies the kind of error log.
LogMask is a bit mask for log types.
MetricType is a bitfield representation of different metric types.
MinIOOptions supports NewTierMinIO to take variadic options.
ProfilerType represents the profiler type passed to the profiler subsystem.
QuotaType represents bucket quota type.
S3Options supports NewTierS3 to take variadic options.
ServiceAction - type to restrict service-action values.
ServiceType represents service type.
SREntityType specifies type of entity.
TargetIDStatus containsid and status.
TargetUpdateType - type of update on the remote target.
TierType enumerates different remote tier backends.
TimeDurations is time.Duration segments.
TraceType indicates the type of the tracing Info.