Skip to content

Commit 89df636

Browse files
authored
Merge pull request hashicorp#7852 from gaker/google-provider-backend-cdn
google_compute_backend_service "enable_cdn"
2 parents 4b6eea8 + 3d1802d commit 89df636

12 files changed

Lines changed: 9000 additions & 5517 deletions

File tree

builtin/providers/google/resource_compute_backend_service.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ func resourceComputeBackendService() *schema.Resource {
8888
Optional: true,
8989
},
9090

91+
"enable_cdn": &schema.Schema{
92+
Type: schema.TypeBool,
93+
Optional: true,
94+
Default: false,
95+
},
96+
9197
"fingerprint": &schema.Schema{
9298
Type: schema.TypeString,
9399
Computed: true,
@@ -165,6 +171,10 @@ func resourceComputeBackendServiceCreate(d *schema.ResourceData, meta interface{
165171
service.TimeoutSec = int64(v.(int))
166172
}
167173

174+
if v, ok := d.GetOk("enable_cdn"); ok {
175+
service.EnableCDN = v.(bool)
176+
}
177+
168178
project, err := getProject(d, config)
169179
if err != nil {
170180
return err
@@ -212,6 +222,7 @@ func resourceComputeBackendServiceRead(d *schema.ResourceData, meta interface{})
212222
}
213223

214224
d.Set("description", service.Description)
225+
d.Set("enable_cdn", service.EnableCDN)
215226
d.Set("port_name", service.PortName)
216227
d.Set("protocol", service.Protocol)
217228
d.Set("timeout_sec", service.TimeoutSec)
@@ -260,6 +271,10 @@ func resourceComputeBackendServiceUpdate(d *schema.ResourceData, meta interface{
260271
service.TimeoutSec = int64(d.Get("timeout_sec").(int))
261272
}
262273

274+
if d.HasChange("enable_cdn") {
275+
service.EnableCDN = d.Get("enable_cdn").(bool)
276+
}
277+
263278
log.Printf("[DEBUG] Updating existing Backend Service %q: %#v", d.Id(), service)
264279
op, err := config.clientCompute.BackendServices.Update(
265280
project, d.Id(), &service).Do()

builtin/providers/google/resource_compute_backend_service_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,32 @@ func testAccCheckComputeBackendServiceExists(n string, svc *compute.BackendServi
121121
}
122122
}
123123

124+
func TestAccComputeBackendService_withCDNEnabled(t *testing.T) {
125+
serviceName := fmt.Sprintf("tf-test-%s", acctest.RandString(10))
126+
checkName := fmt.Sprintf("tf-test-%s", acctest.RandString(10))
127+
var svc compute.BackendService
128+
129+
resource.Test(t, resource.TestCase{
130+
PreCheck: func() { testAccPreCheck(t) },
131+
Providers: testAccProviders,
132+
CheckDestroy: testAccCheckComputeBackendServiceDestroy,
133+
Steps: []resource.TestStep{
134+
resource.TestStep{
135+
Config: testAccComputeBackendService_withCDNEnabled(
136+
serviceName, checkName),
137+
Check: resource.ComposeTestCheckFunc(
138+
testAccCheckComputeBackendServiceExists(
139+
"google_compute_backend_service.foobar", &svc),
140+
),
141+
},
142+
},
143+
})
144+
145+
if svc.EnableCDN != true {
146+
t.Errorf("Expected EnableCDN == true, got %t", svc.EnableCDN)
147+
}
148+
}
149+
124150
func testAccComputeBackendService_basic(serviceName, checkName string) string {
125151
return fmt.Sprintf(`
126152
resource "google_compute_backend_service" "foobar" {
@@ -137,6 +163,23 @@ resource "google_compute_http_health_check" "zero" {
137163
`, serviceName, checkName)
138164
}
139165

166+
func testAccComputeBackendService_withCDNEnabled(serviceName, checkName string) string {
167+
return fmt.Sprintf(`
168+
resource "google_compute_backend_service" "foobar" {
169+
name = "%s"
170+
health_checks = ["${google_compute_http_health_check.zero.self_link}"]
171+
enable_cdn = true
172+
}
173+
174+
resource "google_compute_http_health_check" "zero" {
175+
name = "%s"
176+
request_path = "/"
177+
check_interval_sec = 1
178+
timeout_sec = 1
179+
}
180+
`, serviceName, checkName)
181+
}
182+
140183
func testAccComputeBackendService_basicModified(serviceName, checkOne, checkTwo string) string {
141184
return fmt.Sprintf(`
142185
resource "google_compute_backend_service" "foobar" {

vendor/google.golang.org/api/compute/v1/compute-api.json

Lines changed: 3595 additions & 2614 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)