cli

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Exec

func Exec(ctx context.Context, outWriter, errWriter io.Writer, buildInfo util.BuildInfo) error

Types

type ArgObject

type ArgObject struct {
	Object string `arg:"" name:"object"`
}

type ArgPath

type ArgPath struct {
	Path string `arg:"" name:"path"`
}

type ArgPathOptional

type ArgPathOptional struct {
	Path string `arg:"" name:"path" optional:""`
}

type ArgPrefix

type ArgPrefix struct {
	Prefix string `arg:"" name:"prefix" optional:""`
}

type ArgUploadID

type ArgUploadID struct {
	UploadID string `arg:"" name:"upload-id"`
}

type BucketArg

type BucketArg struct {
	BucketName string `arg:"" name:"bucket"`

	BucketCreate     BucketCreate     `cmd:"" group:"Bucket Commands"    name:"mb"                         help:"Make/create bucket."`
	BucketHead       BucketHead       `cmd:"" group:"Bucket Commands"    name:"hb"                         help:"Head bucket lists bucket information."`
	BucketRemove     BucketRemove     `cmd:"" group:"Bucket Commands"    name:"rb"                         help:"Remove/delete bucket."`
	BucketPolicy     BucketPolicy     `cmd:"" group:"Bucket Commands"    name:"policy"                     help:"Manage bucket policy."`
	BucketCors       BucketCors       `cmd:"" group:"Bucket Commands"    name:"cors"                       help:"Manage CORS policy."`
	BucketTag        BucketTag        `cmd:"" group:"Bucket Commands"    name:"tag"                        help:"Manage bucket tags."`
	BucketLifecycle  BucketLifecycle  `cmd:"" group:"Bucket Commands"    name:"lifecycle"   aliases:"lc"   help:"Manage lifecycle policy."`
	BucketVersioning BucketVersioning `cmd:"" group:"Bucket Commands"    name:"versioning"                 help:"Manage bucket versioning."`
	BucketCleanup    BucketCleanup    `` /* 134-byte string literal not displayed */
	ObjectLock       ObjectLock       `cmd:"" group:"Bucket Commands"    name:"object-lock" aliases:"ol"   help:"Manage bucket object-locking."`
	BucketSize       BucketSize       `cmd:"" group:"Bucket Commands"    name:"size"                       help:"Calculate bucket size (resource heavy!)"`
	ObjectList       ObjectList       `cmd:"" group:"Object Commands"    name:"ls"                         help:"List objects."`
	ObjectCopy       ObjectCopy       `cmd:"" group:"Object Commands"    name:"cp"                         help:"Server-side copy."`
	ObjectPut        ObjectPut        `cmd:"" group:"Object Commands"    name:"put"                        help:"Upload object(s)."`
	ObjectPutRand    ObjectPutRand    `cmd:"" group:"Object Commands"    name:"put-rand"                   help:"Upload random object(s)."`
	ObjectDelete     ObjectDelete     `cmd:"" group:"Object Commands"    name:"rm"                         help:"Remove object."`
	ObjectGet        ObjectGet        `` /* 126-byte string literal not displayed */
	ObcectHead       ObjectHead       `cmd:"" group:"Object Commands"    name:"head"                       help:"Head Object Liss object information."`
	ObjectVersions   ObjectVersions   `cmd:"" group:"Object Commands"    name:"versions"                   help:"List object versions"`
	ObjectPresign    ObjectPresign    `cmd:"" group:"Object Commands"    name:"presign"                    help:"Create pre-signed URLs."`
	ObjectACL        ObjectACL        `cmd:"" group:"Object Commands"    name:"acl"                        help:"Manage object ACLs."`
	Multiparts       Multipart        `cmd:"" group:"Multipart Commands" name:"multipart"   aliases:"mp"   help:"Manage multipart uploads."`
}

type BucketCleanup

type BucketCleanup struct {
	FlagConcurrency
	FlagForce
	FlagDryRun
	FlagObjectsVersions bool `name:"all-object-versions" help:"Removes all object versions from a bucket"`
	FlagMultiparts      bool `name:"all-multiparts"      help:"Removes all multipart uploads from a bucket"`
}

func (BucketCleanup) Run

func (s BucketCleanup) Run(cli CLI, ctrl *controller.Controller) error

type BucketCmd added in v0.2.0

type BucketCmd struct {
	BucketArg BucketArg `arg:"" name:"bucket"`
}

type BucketCors

type BucketCors struct {
	BucketCorsGet    BucketCorsGet    `cmd:"" name:"get" help:"Get CORS policy."`
	BucketCorsPut    BucketCorsPut    `cmd:"" name:"put" help:"Put CORS policy."`
	BucketCorsRemove BucketCorsRemove `cmd:"" name:"rm"  help:"Delete CORS policy."`
}

type BucketCorsGet

type BucketCorsGet struct{}

func (BucketCorsGet) Run

func (s BucketCorsGet) Run(cli CLI, ctrl *controller.Controller) error

type BucketCorsPut

type BucketCorsPut struct {
	ArgPath
}

func (BucketCorsPut) Run

func (s BucketCorsPut) Run(cli CLI, ctrl *controller.Controller) error

type BucketCorsRemove

type BucketCorsRemove struct{}

func (BucketCorsRemove) Run

func (s BucketCorsRemove) Run(cli CLI, ctrl *controller.Controller) error

type BucketCreate

type BucketCreate struct {
	ObjectLock bool `name:"object-lock"`
}

func (BucketCreate) Run

func (s BucketCreate) Run(cli CLI, ctrl *controller.Controller) error

type BucketHead

type BucketHead struct{}

func (BucketHead) Run

func (s BucketHead) Run(cli CLI, ctrl *controller.Controller) error

type BucketLifecycle

type BucketLifecycle struct {
	BucketLifecycleGet    BucketLifecycleGet    `cmd:"" name:"get" help:"Get lifecycle policy."`
	BucketLifecyclePut    BucketLifecyclePut    `cmd:"" name:"put" help:"Put lifecycle policy."`
	BucketLifecycleDelete BucketLifecycleDelete `cmd:"" name:"rm"  help:"Delte lifecycle policy."`
}

type BucketLifecycleDelete

type BucketLifecycleDelete struct{}

func (BucketLifecycleDelete) Run

type BucketLifecycleGet

type BucketLifecycleGet struct{}

func (BucketLifecycleGet) Run

func (s BucketLifecycleGet) Run(cli CLI, ctrl *controller.Controller) error

type BucketLifecyclePut

type BucketLifecyclePut struct {
	ArgPath
}

func (BucketLifecyclePut) Run

func (s BucketLifecyclePut) Run(cli CLI, ctrl *controller.Controller) error

type BucketPolicy

type BucketPolicy struct {
	BucketPolicyGet    BucketPolicyGet    `cmd:"" name:"get" help:"Get lifecycle policy."`
	BucketPolicyPut    BucketPolicyPut    `cmd:"" name:"put" help:"Put lifecycle policy."`
	BucketPolicyRemove BucketPolicyRemove `cmd:"" name:"rm"  help:"Delete lifecycle policy."`
}

type BucketPolicyGet

type BucketPolicyGet struct{}

func (BucketPolicyGet) Run

func (s BucketPolicyGet) Run(cli CLI, ctrl *controller.Controller) error

type BucketPolicyPut

type BucketPolicyPut struct {
	ArgPath
}

func (BucketPolicyPut) Run

func (s BucketPolicyPut) Run(cli CLI, ctrl *controller.Controller) error

type BucketPolicyRemove

type BucketPolicyRemove struct{}

func (BucketPolicyRemove) Run

func (s BucketPolicyRemove) Run(cli CLI, ctrl *controller.Controller) error

type BucketRemove

type BucketRemove struct {
	FlagForce
}

func (BucketRemove) Run

func (s BucketRemove) Run(cli CLI, ctrl *controller.Controller) error

type BucketSize

type BucketSize struct {
	ArgPathOptional
}

func (BucketSize) Run

func (s BucketSize) Run(cli CLI, ctrl *controller.Controller) error

type BucketTag

type BucketTag struct {
	BucketTagGet BucketTagGet `cmd:"" name:"get" help:"Get bucket tag."`
}

type BucketTagGet

type BucketTagGet struct{}

func (BucketTagGet) Run

func (s BucketTagGet) Run(cli CLI, ctrl *controller.Controller) error

type BucketVersioning

type BucketVersioning struct {
	BucketVersioningGet BucketVersioningGet `cmd:"" name:"get" help:"Get bucket versioning config."`
	BucketVersioningPut BucketVersioningPut `cmd:"" name:"put" help:"Put bucket versioning config."`
}

type BucketVersioningGet

type BucketVersioningGet struct{}

func (BucketVersioningGet) Run

type BucketVersioningPut

type BucketVersioningPut struct {
	ArgPath
}

func (BucketVersioningPut) Run

type BucketsCmd added in v0.2.0

type BucketsCmd struct{}

func (BucketsCmd) Run added in v0.2.0

func (s BucketsCmd) Run(cli CLI, ctrl *controller.Controller) error

type CLI

type CLI struct {
	// Commands
	Config  ConfigCmd  `cmd:"" name:"config"   aliases:"c"  group:"Generic Commands" help:"Manage config."`
	Version VersionCmd `cmd:"" name:"version"               group:"Generic Commands" help:"Show version information."`
	Buckets BucketsCmd `cmd:"" name:"buckets"  aliases:"ls" group:"Bucket Commands"  help:"List all buckets."`
	Bucket  BucketCmd  `cmd:"" name:"bucket"   aliases:"b"  group:"Bucket Commands"  help:"Manage bucket and objects."`

	// Flags
	ConfigPath string            `name:"config"    short:"c"                   help:"Path to the config file (default: ~/.config/sss/config.toml)."`
	Profile    string            `name:"profile"   short:"p" default:"default" help:"Profile to use." `
	Verbosity  uint8             `name:"verbosity" short:"v" default:"1"       help:"Output verbosity (0=disable; 1=default; 8=header; 9=body)."`
	Endpoint   string            `name:"endpoint"                              help:"S3 endpoint URL."`
	Region     string            `name:"region"                                help:"S3 region."`
	PathStyle  bool              `name:"path-style"                            help:"Use path style S3 requests."`
	AccessKey  string            `name:"access-key"                            help:"S3 access key."`
	SecretKey  string            `name:"secret-key"                            help:"S3 secret key."`
	Insecure   bool              `name:"insecure"                              help:"Skip TLS verification."`
	ReadOnly   bool              `name:"read-only"                             help:"Only allow safe HTTP methods (HEAD, GET, OPTIONS)."`
	Network    string            `name:"network"             default:"tcp"     help:"Force IPv4/6 with 'tcp4' or 'tcp6'."`
	Bandwidth  string            `name:"bandwidth"                             help:"Limit bandwith per second, e.g. '1 MiB' (always 64 KiB burst)."`
	Headers    map[string]string `name:"header"                                help:"Set HTTP headers (format: 'key1=val1;key2=val2')."`
	Params     map[string]string `name:"param"                                 help:"Set URL parameters (format: 'key1=val1;key2=val2')."`
	SNI        string            `name:"sni"                                   help:"TLS Server Name Indication."`
}

type ConfigCmd added in v0.2.0

type ConfigCmd struct {
	ConfigShow ConfigShow `cmd:"" name:"show"     aliases:"s" help:"Get config."`
	Profiles   Profiles   `cmd:"" name:"profiles" aliases:"p" help:"List availale profiles."`
}

type ConfigShow added in v0.2.0

type ConfigShow struct {
	FlagNoRedact
}

func (ConfigShow) Run added in v0.2.0

func (s ConfigShow) Run(cli CLI, ctrl *controller.Controller, config controller.Config) error

type FlagBypassGovernance

type FlagBypassGovernance struct {
	BypassGovernance bool `name:"bypass-governance" help:"delete even when objects are governance retention locked"`
}

type FlagConcurrency

type FlagConcurrency struct {
	Concurrency int `name:"concurrency" short:"C" default:"5"`
}

type FlagDryRun

type FlagDryRun struct {
	DryRun bool `name:"dry-run"`
}

type FlagForce

type FlagForce struct {
	Force bool `name:"force" short:"f"`
}

type FlagJson

type FlagJson struct {
	AsJson bool `name:"json" short:"j" help:"Output as JSON or JSONL."`
}

type FlagNoRedact added in v0.2.0

type FlagNoRedact struct {
	NoRedact bool `name:"no-redact" default:"false"`
}

type FlagRange

type FlagRange struct {
	Range string `name:"range" help:"'bytes=0-500' to get the first 501 bytes"`
}

type FlagRecursive

type FlagRecursive struct {
	Recursive bool `name:"recursive" short:"r"`
}

type FlagVersionID

type FlagVersionID struct {
	VersionID string `name:"version" help:"Version ID"`
}

type Multipart

type Multipart struct {
	MultipartRemove MultipartRemove `cmd:"" name:"rm"     help:"Delete multipart upload."`
	MultipartList   MultipartList   `cmd:"" name:"ls"     help:"List multipart uploads."`
	MultipartCreate MultipartCreate `cmd:"" name:"create" help:"Create multipart upload."`
	MultipartParts  MultipartParts  `cmd:"" name:"parts"  help:"Manage parts."`
}

type MultipartCreate

type MultipartCreate struct {
	ArgPrefix
}

func (MultipartCreate) Run

func (s MultipartCreate) Run(cli CLI, ctrl *controller.Controller) error

type MultipartList

type MultipartList struct {
	ArgPrefix
	FlagRecursive
	FlagJson
}

func (MultipartList) Run

func (s MultipartList) Run(cli CLI, ctrl *controller.Controller) error

type MultipartParts

type MultipartParts struct {
	PartsList PartsList `cmd:"" name:"ls" help:"List parts."`
}

type MultipartRemove

type MultipartRemove struct {
	ArgObject
	ArgUploadID
}

func (MultipartRemove) Run

func (s MultipartRemove) Run(cli CLI, ctrl *controller.Controller) error

type ObjectACL

type ObjectACL struct {
	ObjectACLGet ObjectACLGet `cmd:"" name:"get" help:"Get object ACL."`
}

type ObjectACLGet

type ObjectACLGet struct {
	ArgObject
	FlagVersionID
}

func (ObjectACLGet) Run

func (s ObjectACLGet) Run(cli CLI, ctrl *controller.Controller) error

type ObjectCopy

type ObjectCopy struct {
	SrcObject string `arg:"" name:"src-object"`
	DstBucket string `arg:"" name:"dst-bucket"`
	DstObject string `arg:"" name:"dst-object"`
	// contains filtered or unexported fields
}

func (ObjectCopy) Run

func (s ObjectCopy) Run(cli CLI, ctrl *controller.Controller) error

type ObjectDelete

func (ObjectDelete) Run

func (s ObjectDelete) Run(cli CLI, ctrl *controller.Controller) error

type ObjectGet

type ObjectGet struct {
	ArgObject
	DestinationPath string `arg:"" name:"destination" optional:""`
	FlagDryRun
	FlagConcurrency

	FlagVersionID
	FlagRange
	// contains filtered or unexported fields
}

func (ObjectGet) Run

func (s ObjectGet) Run(cli CLI, ctrl *controller.Controller) error

type ObjectHead

type ObjectHead struct {
	ArgObject
	// contains filtered or unexported fields
}

func (ObjectHead) Run

func (s ObjectHead) Run(cli CLI, ctrl *controller.Controller) error

type ObjectList

type ObjectList struct {
	ArgPrefix
	FlagRecursive
	FlagJson
}

func (ObjectList) Run

func (s ObjectList) Run(cli CLI, ctrl *controller.Controller) error

type ObjectLock

type ObjectLock struct {
	ObjectLockGet ObjectLockGet `cmd:"" name:"get" help:"Get object-lock config."`
	ObjectLockPut ObjectLockPut `cmd:"" name:"put" help:"Put object-lock config."`
}

type ObjectLockGet

type ObjectLockGet struct{}

func (ObjectLockGet) Run

func (s ObjectLockGet) Run(cli CLI, ctrl *controller.Controller) error

type ObjectLockPut

type ObjectLockPut struct {
	ArgPath
}

func (ObjectLockPut) Run

func (s ObjectLockPut) Run(cli CLI, ctrl *controller.Controller) error

type ObjectPresign

type ObjectPresign struct {
	PresignGet PresignGet `cmd:"" name:"get" help:"Create pre-signed URL for GET request."`
	PresignPut PresignPut `cmd:"" name:"put" help:"Create pre-signed URL for PUT request."`
	// contains filtered or unexported fields
}

type ObjectPut

type ObjectPut struct {
	Filepath              string `arg:"" name:"path"`
	Destinaton            string `arg:"" name:"destination" optional:""`
	FlagPartSize          int64  `name:"part-size"`
	FlagMaxUploadParts    int32  `name:"max-parts"`
	FlagLeavePartsOnError bool   `name:"leave-error-parts"`
	FlagACL               string `name:"acl"`
	FlagConcurrency
	FlagDryRun
	// contains filtered or unexported fields
}

func (ObjectPut) Run

func (s ObjectPut) Run(cli CLI, ctrl *controller.Controller) error

type ObjectPutRand

type ObjectPutRand struct {
	FlagPartSize          int64  `name:"part-size"`
	FlagMaxUploadParts    int32  `name:"max-parts"`
	FlagLeavePartsOnError bool   `name:"leave-error-parts"`
	FlagACL               string `name:"acl"`
	FlagConcurrency
	FlagDryRun
	// contains filtered or unexported fields
}

func (ObjectPutRand) Run

func (s ObjectPutRand) Run(cli CLI, ctrl *controller.Controller) error

type ObjectVersions

type ObjectVersions struct {
	ArgPathOptional
	FlagJson
	FlagRecursive
}

func (ObjectVersions) Run

func (s ObjectVersions) Run(cli CLI, ctrl *controller.Controller) error

type PartsList

type PartsList struct {
	ArgObject
	ArgUploadID
	FlagJson
}

func (PartsList) Run

func (s PartsList) Run(cli CLI, ctrl *controller.Controller) error

type PresignGet

type PresignGet struct {
	ArgObject
}

func (PresignGet) Run

func (s PresignGet) Run(cli CLI, ctrl *controller.Controller) error

type PresignPut

type PresignPut struct {
	ArgObject
}

func (PresignPut) Run

func (s PresignPut) Run(cli CLI, ctrl *controller.Controller) error

type Profiles

type Profiles struct{}

func (Profiles) Run

func (s Profiles) Run(cli CLI, ctrl *controller.Controller, config controller.Config) error

type VersionCmd added in v0.2.0

type VersionCmd struct {
	// contains filtered or unexported fields
}

func (VersionCmd) Run added in v0.2.0

func (s VersionCmd) Run(cli CLI, ctrl *controller.Controller, config controller.Config) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL