Only check validity of S3 region if not using custom endpoint

Signed-off-by: Arien Holthuizen <aholthuizen@schubergphilis.com>
This commit is contained in:
Arien Holthuizen 2016-04-06 13:34:14 +02:00
parent 4e45a3a903
commit c655241209

View file

@ -136,14 +136,21 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
secretKey = "" secretKey = ""
} }
regionEndpoint := parameters["regionendpoint"]
if regionEndpoint == nil {
regionEndpoint = ""
}
regionName, ok := parameters["region"] regionName, ok := parameters["region"]
if regionName == nil || fmt.Sprint(regionName) == "" { if regionName == nil || fmt.Sprint(regionName) == "" {
return nil, fmt.Errorf("No region parameter provided") return nil, fmt.Errorf("No region parameter provided")
} }
region := fmt.Sprint(regionName) region := fmt.Sprint(regionName)
_, ok = validRegions[region] // Don't check the region value if a custom endpoint is provided.
if !ok { if regionEndpoint == "" {
return nil, fmt.Errorf("Invalid region provided: %v", region) if _, ok = validRegions[region]; !ok {
return nil, fmt.Errorf("Invalid region provided: %v", region)
}
} }
bucket := parameters["bucket"] bucket := parameters["bucket"]
@ -151,11 +158,6 @@ func FromParameters(parameters map[string]interface{}) (*Driver, error) {
return nil, fmt.Errorf("No bucket parameter provided") return nil, fmt.Errorf("No bucket parameter provided")
} }
regionEndpoint := parameters["regionendpoint"]
if regionEndpoint == nil {
regionEndpoint = ""
}
encryptBool := false encryptBool := false
encrypt := parameters["encrypt"] encrypt := parameters["encrypt"]
switch encrypt := encrypt.(type) { switch encrypt := encrypt.(type) {