diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b77cb2ec29..46862259a94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,4 +14,5 @@ IMPROVEMENTS: BUG FIXES: * Changed `google_compute_instance_group_manager` `target_size` default to 0 [GH-65] +* Represent GCS Bucket locations as uppercase in state. [GH-117] * Allow unlinking of billing account [GH-133] diff --git a/google/resource_storage_bucket.go b/google/resource_storage_bucket.go index b60b76acb99..f58a5785c29 100644 --- a/google/resource_storage_bucket.go +++ b/google/resource_storage_bucket.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "log" + "strings" "time" "github.com/hashicorp/terraform/helper/resource" @@ -41,6 +42,9 @@ func resourceStorageBucket() *schema.Resource { Default: "US", Optional: true, ForceNew: true, + StateFunc: func(s interface{}) string { + return strings.ToUpper(s.(string)) + }, }, "predefined_acl": &schema.Schema{ diff --git a/google/resource_storage_bucket_test.go b/google/resource_storage_bucket_test.go index cc05180443f..d1055a00001 100644 --- a/google/resource_storage_bucket_test.go +++ b/google/resource_storage_bucket_test.go @@ -38,6 +38,26 @@ func TestAccStorageBucket_basic(t *testing.T) { }) } +func TestAccStorageBucket_lowercaseLocation(t *testing.T) { + var bucket storage.Bucket + bucketName := fmt.Sprintf("tf-test-acl-bucket-%d", acctest.RandInt()) + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccStorageBucketDestroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testAccStorageBucket_lowercaseLocation(bucketName), + Check: resource.ComposeTestCheckFunc( + testAccCheckStorageBucketExists( + "google_storage_bucket.bucket", bucketName, &bucket), + ), + }, + }, + }) +} + func TestAccStorageBucket_customAttributes(t *testing.T) { var bucket storage.Bucket bucketName := fmt.Sprintf("tf-test-acl-bucket-%d", acctest.RandInt()) @@ -335,6 +355,15 @@ resource "google_storage_bucket" "bucket" { `, bucketName) } +func testAccStorageBucket_lowercaseLocation(bucketName string) string { + return fmt.Sprintf(` +resource "google_storage_bucket" "bucket" { + name = "%s" + location = "eu" +} +`, bucketName) +} + func testAccStorageBucket_customAttributes(bucketName string) string { return fmt.Sprintf(` resource "google_storage_bucket" "bucket" {