Skip to content

Commit 36bf0b3

Browse files
compute: add supporte to IN_FLIGHT in balancing_mode on BackendService (#15288)
Co-authored-by: Thomas Rodgers <[email protected]>
1 parent d645cad commit 36bf0b3

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

mmv1/products/compute/BackendService.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,12 @@ examples:
121121
vars:
122122
backend_service_name: 'backend-service'
123123
neg_name: 'network-endpoint'
124+
- name: 'backend_service_in_flight'
125+
primary_resource_id: 'default'
126+
min_version: 'beta'
127+
vars:
128+
backend_service_name: 'backend-service'
129+
health_check_name: 'health-check'
124130
- name: 'backend_service_external_managed'
125131
primary_resource_id: 'default'
126132
vars:
@@ -194,6 +200,7 @@ properties:
194200
- 'RATE'
195201
- 'CONNECTION'
196202
- 'CUSTOM_METRICS'
203+
- 'IN_FLIGHT'
197204
- name: 'capacityScaler'
198205
type: Double
199206
description: |
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
resource "google_compute_network" "custom" {
2+
provider = google-beta
3+
name = "custom-vpc"
4+
auto_create_subnetworks = false
5+
}
6+
7+
resource "google_compute_subnetwork" "default" {
8+
provider = google-beta
9+
name = "custom-subnet"
10+
ip_cidr_range = "10.0.0.0/24"
11+
region = "us-central1"
12+
network = google_compute_network.custom.id
13+
}
14+
15+
resource "google_compute_instance_template" "default" {
16+
provider = google-beta
17+
name = "instance-template"
18+
machine_type = "e2-micro"
19+
20+
disk {
21+
source_image = "debian-cloud/debian-11"
22+
auto_delete = true
23+
boot = true
24+
}
25+
26+
network_interface {
27+
network = google_compute_network.custom.id
28+
subnetwork = google_compute_subnetwork.default.id
29+
}
30+
31+
metadata = {
32+
startup-script = <<-EOT
33+
#!/bin/bash
34+
echo "Hello World from MIG VM" > /var/www/html/index.html
35+
apt-get update -y
36+
apt-get install -y apache2
37+
systemctl start apache2
38+
EOT
39+
}
40+
}
41+
42+
resource "google_compute_region_instance_group_manager" "foobar" {
43+
provider = google-beta
44+
name = "instance-group-manager"
45+
base_instance_name = "vm"
46+
region = "us-central1"
47+
48+
version {
49+
instance_template = google_compute_instance_template.default.id
50+
}
51+
52+
target_size = 1
53+
}
54+
55+
resource "google_compute_backend_service" "{{$.PrimaryResourceId}}" {
56+
provider = google-beta
57+
name = "{{index $.Vars "backend_service_name"}}"
58+
description = "Hello World 1234"
59+
port_name = "http"
60+
protocol = "TCP"
61+
load_balancing_scheme = "EXTERNAL_MANAGED"
62+
63+
backend {
64+
group = google_compute_region_instance_group_manager.foobar.instance_group
65+
balancing_mode = "IN_FLIGHT"
66+
max_in_flight_requests = 1000
67+
traffic_duration = "LONG"
68+
}
69+
70+
health_checks = [google_compute_health_check.default.self_link]
71+
}
72+
73+
resource "google_compute_health_check" "default" {
74+
provider = google-beta
75+
name = "{{index $.Vars "health_check_name"}}"
76+
77+
http_health_check {
78+
port = 80
79+
}
80+
}

0 commit comments

Comments
 (0)