package storage // Option for setting params used by chunk manager client. type config struct { address string bucketName string accessKeyID string secretAccessKeyID string useSSL bool sslCACert string createBucket bool rootPath string useIAM bool cloudProvider string iamEndpoint string useVirtualHost bool region string requestTimeoutMs int64 } 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 SslCACert(sslCACert string) Option { return func(c *config) { c.sslCACert = sslCACert } } func CreateBucket(createBucket bool) Option { return func(c *config) { c.createBucket = createBucket } } func RootPath(rootPath string) Option { return func(c *config) { c.rootPath = rootPath } } func UseIAM(useIAM bool) Option { return func(c *config) { c.useIAM = useIAM } } func CloudProvider(cloudProvider string) Option { return func(c *config) { c.cloudProvider = cloudProvider } } func IAMEndpoint(iamEndpoint string) Option { return func(c *config) { c.iamEndpoint = iamEndpoint } } func UseVirtualHost(useVirtualHost bool) Option { return func(c *config) { c.useVirtualHost = useVirtualHost } } func Region(region string) Option { return func(c *config) { c.region = region } } func RequestTimeout(requestTimeoutMs int64) Option { return func(c *config) { c.requestTimeoutMs = requestTimeoutMs } }