62 lines
1.8 KiB
Go
62 lines
1.8 KiB
Go
// monorepo/cloud/maplefile-backend/pkg/storage/object/s3/config.go
|
|
package s3
|
|
|
|
type S3ObjectStorageConfigurationProvider interface {
|
|
GetAccessKey() string
|
|
GetSecretKey() string
|
|
GetEndpoint() string
|
|
GetRegion() string
|
|
GetBucketName() string
|
|
GetIsPublicBucket() bool
|
|
GetUsePathStyle() bool
|
|
}
|
|
|
|
type s3ObjectStorageConfigurationProviderImpl struct {
|
|
accessKey string `env:"AWS_ACCESS_KEY,required"`
|
|
secretKey string `env:"AWS_SECRET_KEY,required"`
|
|
endpoint string `env:"AWS_ENDPOINT,required"`
|
|
region string `env:"AWS_REGION,required"`
|
|
bucketName string `env:"AWS_BUCKET_NAME,required"`
|
|
isPublicBucket bool `env:"AWS_IS_PUBLIC_BUCKET"`
|
|
usePathStyle bool `env:"AWS_USE_PATH_STYLE"`
|
|
}
|
|
|
|
func NewS3ObjectStorageConfigurationProvider(accessKey, secretKey, endpoint, region, bucketName string, isPublicBucket, usePathStyle bool) S3ObjectStorageConfigurationProvider {
|
|
return &s3ObjectStorageConfigurationProviderImpl{
|
|
accessKey: accessKey,
|
|
secretKey: secretKey,
|
|
endpoint: endpoint,
|
|
region: region,
|
|
bucketName: bucketName,
|
|
isPublicBucket: isPublicBucket,
|
|
usePathStyle: usePathStyle,
|
|
}
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetAccessKey() string {
|
|
return me.accessKey
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetSecretKey() string {
|
|
return me.secretKey
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetEndpoint() string {
|
|
return me.endpoint
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetRegion() string {
|
|
return me.region
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetBucketName() string {
|
|
return me.bucketName
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetIsPublicBucket() bool {
|
|
return me.isPublicBucket
|
|
}
|
|
|
|
func (me *s3ObjectStorageConfigurationProviderImpl) GetUsePathStyle() bool {
|
|
return me.usePathStyle
|
|
}
|