Corrected Frankfurt S3 Website Endpoint fixes #2258
This commit is contained in:
parent
c852ac5d80
commit
52a21f3fb0
|
@ -433,6 +433,13 @@ func websiteEndpoint(s3conn *s3.S3, d *schema.ResourceData) (string, error) {
|
||||||
|
|
||||||
func WebsiteEndpointUrl(bucket string, region string) string {
|
func WebsiteEndpointUrl(bucket string, region string) string {
|
||||||
region = normalizeRegion(region)
|
region = normalizeRegion(region)
|
||||||
|
|
||||||
|
// Frankfurt(and probably future) regions uses different syntax for website endpoints
|
||||||
|
// http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html
|
||||||
|
if region == "eu-central-1" {
|
||||||
|
return fmt.Sprintf("%s.s3-website.%s.amazonaws.com", bucket, region)
|
||||||
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("%s.s3-website-%s.amazonaws.com", bucket, region)
|
return fmt.Sprintf("%s.s3-website-%s.amazonaws.com", bucket, region)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,27 @@ package aws
|
||||||
|
|
||||||
import "testing"
|
import "testing"
|
||||||
|
|
||||||
func TestWebsiteEndpointUrl_withoutRegion(t *testing.T) {
|
// http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html
|
||||||
u := WebsiteEndpointUrl("buck.et", "")
|
var websiteEndpoints = []struct {
|
||||||
if u != "buck.et.s3-website-us-east-1.amazonaws.com" {
|
in string
|
||||||
t.Fatalf("bad: %s", u)
|
out string
|
||||||
}
|
}{
|
||||||
|
{"", "bucket-name.s3-website-us-east-1.amazonaws.com"},
|
||||||
|
{"us-west-2", "bucket-name.s3-website-us-west-2.amazonaws.com"},
|
||||||
|
{"us-west-1", "bucket-name.s3-website-us-west-1.amazonaws.com"},
|
||||||
|
{"eu-west-1", "bucket-name.s3-website-eu-west-1.amazonaws.com"},
|
||||||
|
{"eu-central-1", "bucket-name.s3-website.eu-central-1.amazonaws.com"},
|
||||||
|
{"ap-southeast-1", "bucket-name.s3-website-ap-southeast-1.amazonaws.com"},
|
||||||
|
{"ap-northeast-1", "bucket-name.s3-website-ap-northeast-1.amazonaws.com"},
|
||||||
|
{"ap-southeast-2", "bucket-name.s3-website-ap-southeast-2.amazonaws.com"},
|
||||||
|
{"sa-east-1", "bucket-name.s3-website-sa-east-1.amazonaws.com"},
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestWebsiteEndpointUrl_withRegion(t *testing.T) {
|
func TestWebsiteEndpointUrl(t *testing.T) {
|
||||||
u := WebsiteEndpointUrl("buck.et", "us-west-1")
|
for _, tt := range websiteEndpoints {
|
||||||
if u != "buck.et.s3-website-us-west-1.amazonaws.com" {
|
s := WebsiteEndpointUrl("bucket-name", tt.in)
|
||||||
t.Fatalf("bad: %s", u)
|
if s != tt.out {
|
||||||
|
t.Errorf("WebsiteEndpointUrl(\"bucket-name\", %q) => %q, want %q", tt.in, s, tt.out)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue