Merge pull request #1604 from ArdaXi/custom-s3-skip-region-check

Only check validity of S3 region if not using custom endpoint
This commit is contained in:
Richard Scothern 2016-04-08 15:38:24 -07:00
commit 4c119524f1

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) {