milvus/internal/storage/options.go
godchen fcf0887d92
Add and implement chunk manager interface. (#15541)
Signed-off-by: godchen0212 <qingxiang.chen@zilliz.com>
2022-02-24 23:53:53 +08:00

61 lines
1.1 KiB
Go

package storage
// Option for setting params used by chunk manager client.
type config struct {
address string
bucketName string
accessKeyID string
secretAccessKeyID string
useSSL bool
createBucket bool
rootPath string
}
func newDefaultConfig() *config {
return &config{}
}
// Option is used to config the retry function.
type Option func(*config)
func Address(addr string) Option {
return func(c *config) {
c.address = addr
}
}
func BucketName(bucketName string) Option {
return func(c *config) {
c.bucketName = bucketName
}
}
func AccessKeyID(accessKeyID string) Option {
return func(c *config) {
c.accessKeyID = accessKeyID
}
}
func SecretAccessKeyID(secretAccessKeyID string) Option {
return func(c *config) {
c.secretAccessKeyID = secretAccessKeyID
}
}
func UseSSL(useSSL bool) Option {
return func(c *config) {
c.useSSL = useSSL
}
}
func CreateBucket(createBucket bool) Option {
return func(c *config) {
c.createBucket = createBucket
}
}
func RootPath(rootPath string) Option {
return func(c *config) {
c.rootPath = rootPath
}
}