|
|
|
|
@ -114,6 +114,32 @@ func TestAccComputeRegionBackendService_withBackendAndUpdate(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestAccComputeRegionBackendService_withSessionAffinity(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: testAccCheckComputeRegionBackendServiceDestroy,
|
|
|
|
|
Steps: []resource.TestStep{
|
|
|
|
|
resource.TestStep{
|
|
|
|
|
Config: testAccComputeRegionBackendService_withSessionAffinity(
|
|
|
|
|
serviceName, checkName),
|
|
|
|
|
Check: resource.ComposeTestCheckFunc(
|
|
|
|
|
testAccCheckComputeRegionBackendServiceExists(
|
|
|
|
|
"google_compute_region_backend_service.foobar", &svc),
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
if svc.SessionAffinity != "CLIENT_IP" {
|
|
|
|
|
t.Errorf("Expected Protocol to be CLIENT_IP, got %q", svc.SessionAffinity)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func testAccCheckComputeRegionBackendServiceDestroy(s *terraform.State) error {
|
|
|
|
|
config := testAccProvider.Meta().(*Config)
|
|
|
|
|
|
|
|
|
|
@ -253,10 +279,32 @@ resource "google_compute_health_check" "default" {
|
|
|
|
|
name = "%s"
|
|
|
|
|
check_interval_sec = 1
|
|
|
|
|
timeout_sec = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tcp_health_check {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`, serviceName, timeout, igName, itName, checkName)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func testAccComputeRegionBackendService_withSessionAffinity(serviceName, checkName string) string {
|
|
|
|
|
return fmt.Sprintf(`
|
|
|
|
|
resource "google_compute_region_backend_service" "foobar" {
|
|
|
|
|
name = "%s"
|
|
|
|
|
health_checks = ["${google_compute_health_check.zero.self_link}"]
|
|
|
|
|
region = "us-central1"
|
|
|
|
|
session_affinity = "CLIENT_IP"
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource "google_compute_health_check" "zero" {
|
|
|
|
|
name = "%s"
|
|
|
|
|
check_interval_sec = 1
|
|
|
|
|
timeout_sec = 1
|
|
|
|
|
|
|
|
|
|
tcp_health_check {
|
|
|
|
|
port = "80"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
`, serviceName, checkName)
|
|
|
|
|
}
|
|
|
|
|
|