Skip to content

Commit

Permalink
Merge pull request #7852 from gaker/google-provider-backend-cdn
Browse files Browse the repository at this point in the history
google_compute_backend_service "enable_cdn"
  • Loading branch information
evandbrown committed Aug 4, 2016
2 parents 4b6eea8 + 3d1802d commit 89df636
Show file tree
Hide file tree
Showing 12 changed files with 9,000 additions and 5,517 deletions.
15 changes: 15 additions & 0 deletions builtin/providers/google/resource_compute_backend_service.go
Expand Up @@ -88,6 +88,12 @@ func resourceComputeBackendService() *schema.Resource {
Optional: true,
},

"enable_cdn": &schema.Schema{
Type: schema.TypeBool,
Optional: true,
Default: false,
},

"fingerprint": &schema.Schema{
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -165,6 +171,10 @@ func resourceComputeBackendServiceCreate(d *schema.ResourceData, meta interface{
service.TimeoutSec = int64(v.(int))
}

if v, ok := d.GetOk("enable_cdn"); ok {
service.EnableCDN = v.(bool)
}

project, err := getProject(d, config)
if err != nil {
return err
Expand Down Expand Up @@ -212,6 +222,7 @@ func resourceComputeBackendServiceRead(d *schema.ResourceData, meta interface{})
}

d.Set("description", service.Description)
d.Set("enable_cdn", service.EnableCDN)
d.Set("port_name", service.PortName)
d.Set("protocol", service.Protocol)
d.Set("timeout_sec", service.TimeoutSec)
Expand Down Expand Up @@ -260,6 +271,10 @@ func resourceComputeBackendServiceUpdate(d *schema.ResourceData, meta interface{
service.TimeoutSec = int64(d.Get("timeout_sec").(int))
}

if d.HasChange("enable_cdn") {
service.EnableCDN = d.Get("enable_cdn").(bool)
}

log.Printf("[DEBUG] Updating existing Backend Service %q: %#v", d.Id(), service)
op, err := config.clientCompute.BackendServices.Update(
project, d.Id(), &service).Do()
Expand Down
43 changes: 43 additions & 0 deletions builtin/providers/google/resource_compute_backend_service_test.go
Expand Up @@ -121,6 +121,32 @@ func testAccCheckComputeBackendServiceExists(n string, svc *compute.BackendServi
}
}

func TestAccComputeBackendService_withCDNEnabled(t *testing.T) {
serviceName := fmt.Sprintf("tf-test-%s", acctest.RandString(10))
checkName := fmt.Sprintf("tf-test-%s", acctest.RandString(10))
var svc compute.BackendService

resource.Test(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
Providers: testAccProviders,
CheckDestroy: testAccCheckComputeBackendServiceDestroy,
Steps: []resource.TestStep{
resource.TestStep{
Config: testAccComputeBackendService_withCDNEnabled(
serviceName, checkName),
Check: resource.ComposeTestCheckFunc(
testAccCheckComputeBackendServiceExists(
"google_compute_backend_service.foobar", &svc),
),
},
},
})

if svc.EnableCDN != true {
t.Errorf("Expected EnableCDN == true, got %t", svc.EnableCDN)
}
}

func testAccComputeBackendService_basic(serviceName, checkName string) string {
return fmt.Sprintf(`
resource "google_compute_backend_service" "foobar" {
Expand All @@ -137,6 +163,23 @@ resource "google_compute_http_health_check" "zero" {
`, serviceName, checkName)
}

func testAccComputeBackendService_withCDNEnabled(serviceName, checkName string) string {
return fmt.Sprintf(`
resource "google_compute_backend_service" "foobar" {
name = "%s"
health_checks = ["${google_compute_http_health_check.zero.self_link}"]
enable_cdn = true
}
resource "google_compute_http_health_check" "zero" {
name = "%s"
request_path = "/"
check_interval_sec = 1
timeout_sec = 1
}
`, serviceName, checkName)
}

func testAccComputeBackendService_basicModified(serviceName, checkOne, checkTwo string) string {
return fmt.Sprintf(`
resource "google_compute_backend_service" "foobar" {
Expand Down
6,209 changes: 3,595 additions & 2,614 deletions vendor/google.golang.org/api/compute/v1/compute-api.json

Large diffs are not rendered by default.

0 comments on commit 89df636

Please sign in to comment.