Merge pull request #3088 from thaJeztah/2.7_backport_fix_cloudfront_middleware

[release/2.7 backport] Bugfix: Make ipfilteredby not required
This commit is contained in:
Derek McGowan 2020-02-23 00:07:58 -08:00 committed by GitHub
commit bdf503a444
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -138,27 +138,33 @@ func newCloudFrontStorageMiddleware(storageDriver storagedriver.StorageDriver, o
// parse ipfilteredby // parse ipfilteredby
var awsIPs *awsIPs var awsIPs *awsIPs
if ipFilteredBy := options["ipfilteredby"].(string); ok { if i, ok := options["ipfilteredby"]; ok {
switch strings.ToLower(strings.TrimSpace(ipFilteredBy)) { if ipFilteredBy, ok := i.(string); ok {
case "", "none": switch strings.ToLower(strings.TrimSpace(ipFilteredBy)) {
awsIPs = nil case "", "none":
case "aws": awsIPs = nil
newAWSIPs(ipRangesURL, updateFrequency, nil) case "aws":
case "awsregion": awsIPs = newAWSIPs(ipRangesURL, updateFrequency, nil)
var awsRegion []string case "awsregion":
if regions, ok := options["awsregion"].(string); ok { var awsRegion []string
for _, awsRegions := range strings.Split(regions, ",") { if i, ok := options["awsregion"]; ok {
awsRegion = append(awsRegion, strings.ToLower(strings.TrimSpace(awsRegions))) if regions, ok := i.(string); ok {
for _, awsRegions := range strings.Split(regions, ",") {
awsRegion = append(awsRegion, strings.ToLower(strings.TrimSpace(awsRegions)))
}
awsIPs = newAWSIPs(ipRangesURL, updateFrequency, awsRegion)
} else {
return nil, fmt.Errorf("awsRegion must be a comma separated string of valid aws regions")
}
} else {
return nil, fmt.Errorf("awsRegion is not defined")
} }
awsIPs = newAWSIPs(ipRangesURL, updateFrequency, awsRegion) default:
} else { return nil, fmt.Errorf("ipfilteredby only allows a string the following value: none|aws|awsregion")
return nil, fmt.Errorf("awsRegion must be a comma separated string of valid aws regions")
} }
default: } else {
return nil, fmt.Errorf("ipfilteredby only allows a string the following value: none|aws|awsregion") return nil, fmt.Errorf("ipfilteredby only allows a string with the following value: none|aws|awsregion")
} }
} else {
return nil, fmt.Errorf("ipfilteredby only allows a string with the following value: none|aws|awsregion")
} }
return &cloudFrontStorageMiddleware{ return &cloudFrontStorageMiddleware{