Skip to content

Commit 8a162d8

Browse files
committed
Adding workaround for subnet resource deletion.
1 parent 274f08f commit 8a162d8

File tree

5 files changed

+206
-33
lines changed
  • managedkafka
    • managedkafka_create_connector_bigquery_sink
    • managedkafka_create_connector_cloud_storage_sink
    • managedkafka_create_connector_mirrormaker
    • managedkafka_create_connector_pubsub_sink
    • managedkafka_create_connector_pubsub_source

5 files changed

+206
-33
lines changed

managedkafka/managedkafka_create_connector_bigquery_sink/main.tf

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
# [START managedkafkaconnect_create_connector_bigquery_sink_parent]
18-
data "google_project" "default" {
19-
provider = google-beta
20-
}
17+
# [START managedkafka_create_connector_bigquery_sink_parent]
2118

2219
resource "google_managed_kafka_cluster" "default" {
2320
project = data.google_project.default.project_id
@@ -30,7 +27,7 @@ resource "google_managed_kafka_cluster" "default" {
3027
gcp_config {
3128
access_config {
3229
network_configs {
33-
subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
30+
subnet = google_compute_subnetwork.default.id
3431
}
3532
}
3633
}
@@ -43,20 +40,53 @@ resource "google_managed_kafka_connect_cluster" "default" {
4340
location = "us-central1"
4441
kafka_cluster = google_managed_kafka_cluster.default.id
4542
capacity_config {
46-
vcpu_count = 3
43+
vcpu_count = 12
4744
memory_bytes = 12884901888 # 12 GiB
4845
}
4946
gcp_config {
5047
access_config {
5148
network_configs {
52-
primary_subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
49+
primary_subnet = google_compute_subnetwork.default.id
5350
}
5451
}
5552
}
5653
}
57-
# [END managedkafka_create_connector_bigquery_sink_parent]
5854

59-
# [START managedkafkaconnect_create_connector_bigquery_sink]
55+
# [START managedkafka_subnetwork]
56+
resource "google_compute_subnetwork" "default" {
57+
name = "test-subnetwork"
58+
ip_cidr_range = "10.2.0.0/16"
59+
region = "us-central1"
60+
network = google_compute_network.default.id
61+
62+
provisioner "local-exec" {
63+
when = destroy
64+
command = <<-EOT
65+
set -e
66+
gcloud compute network-attachments list \
67+
--filter="subnetworks:https://www.googleapis.com/compute/v1/${self.id}" \
68+
--format="value(name)" --project="${self.project}" |
69+
while read -r na_name; do
70+
[[ -z "$na_name" ]] && continue
71+
for i in {1..5}; do
72+
gcloud compute network-attachments delete "$na_name" \
73+
--project="${self.project}" --region="${self.region}" --quiet && break
74+
if [[ $i -eq 5 ]]; then exit 1; fi
75+
sleep 30
76+
done
77+
done
78+
EOT
79+
interpreter = ["bash", "-c"]
80+
}
81+
}
82+
83+
resource "google_compute_network" "default" {
84+
name = "test-network"
85+
auto_create_subnetworks = false
86+
}
87+
# [END managedkafka_subnetwork]
88+
89+
# [START managedkafka_create_connector_bigquery_sink]
6090
resource "google_managed_kafka_connector" "example-bigquery-sink-connector" {
6191
project = data.google_project.default.project_id
6292
connector_id = "my-bigquery-sink-connector"
@@ -78,3 +108,8 @@ resource "google_managed_kafka_connector" "example-bigquery-sink-connector" {
78108
provider = google-beta
79109
}
80110
# [END managedkafka_create_connector_bigquery_sink]
111+
112+
data "google_project" "default" {
113+
}
114+
115+
# [END managedkafka_create_connector_bigquery_sink_parent]

managedkafka/managedkafka_create_connector_cloud_storage_sink/main.tf

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
*/
1616

1717
# [START managedkafka_create_connector_cloud_storage_sink_parent]
18-
data "google_project" "default" {
19-
provider = google-beta
20-
}
2118

2219
resource "google_managed_kafka_cluster" "default" {
2320
project = data.google_project.default.project_id
@@ -30,7 +27,7 @@ resource "google_managed_kafka_cluster" "default" {
3027
gcp_config {
3128
access_config {
3229
network_configs {
33-
subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
30+
subnet = google_compute_subnetwork.default.id
3431
}
3532
}
3633
}
@@ -49,12 +46,45 @@ resource "google_managed_kafka_connect_cluster" "default" {
4946
gcp_config {
5047
access_config {
5148
network_configs {
52-
primary_subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
49+
primary_subnet = google_compute_subnetwork.default.id
5350
}
5451
}
5552
}
5653
}
57-
# [END managedkafka_create_connector_cloud_storage_sink_parent]
54+
55+
# [START managedkafka_subnetwork]
56+
resource "google_compute_subnetwork" "default" {
57+
name = "test-subnetwork"
58+
ip_cidr_range = "10.2.0.0/16"
59+
region = "us-central1"
60+
network = google_compute_network.default.id
61+
62+
provisioner "local-exec" {
63+
when = destroy
64+
command = <<-EOT
65+
set -e
66+
gcloud compute network-attachments list \
67+
--filter="subnetworks:https://www.googleapis.com/compute/v1/${self.id}" \
68+
--format="value(name)" --project="${self.project}" |
69+
while read -r na_name; do
70+
[[ -z "$na_name" ]] && continue
71+
for i in {1..5}; do
72+
gcloud compute network-attachments delete "$na_name" \
73+
--project="${self.project}" --region="${self.region}" --quiet && break
74+
if [[ $i -eq 5 ]]; then exit 1; fi
75+
sleep 30
76+
done
77+
done
78+
EOT
79+
interpreter = ["bash", "-c"]
80+
}
81+
}
82+
83+
resource "google_compute_network" "default" {
84+
name = "test-network"
85+
auto_create_subnetworks = false
86+
}
87+
# [END managedkafka_subnetwork]
5888

5989
# [START managedkafka_create_connector_cloud_storage_sink]
6090
resource "google_managed_kafka_connector" "example-cloud-storage-sink-connector" {
@@ -78,3 +108,8 @@ resource "google_managed_kafka_connector" "example-cloud-storage-sink-connector"
78108
provider = google-beta
79109
}
80110
# [END managedkafka_create_connector_cloud_storage_sink]
111+
112+
data "google_project" "default" {
113+
}
114+
115+
# [END managedkafka_create_connector_cloud_storage_sink_parent]

managedkafka/managedkafka_create_connector_mirrormaker/main.tf

Lines changed: 41 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
*/
1616

1717
# [START managedkafka_create_connector_mirrormaker_parent]
18-
data "google_project" "default" {
19-
provider = google-beta
20-
}
2118

2219
resource "google_managed_kafka_cluster" "default" {
2320
project = data.google_project.default.project_id
@@ -30,7 +27,7 @@ resource "google_managed_kafka_cluster" "default" {
3027
gcp_config {
3128
access_config {
3229
network_configs {
33-
subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
30+
subnet = google_compute_subnetwork.default.id
3431
}
3532
}
3633
}
@@ -49,12 +46,45 @@ resource "google_managed_kafka_connect_cluster" "default" {
4946
gcp_config {
5047
access_config {
5148
network_configs {
52-
primary_subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
49+
primary_subnet = google_compute_subnetwork.default.id
5350
}
5451
}
5552
}
5653
}
57-
# [END managedkafka_create_connector_mirrormaker_parent]
54+
55+
# [START managedkafka_subnetwork]
56+
resource "google_compute_subnetwork" "default" {
57+
name = "test-subnetwork"
58+
ip_cidr_range = "10.2.0.0/16"
59+
region = "us-central1"
60+
network = google_compute_network.default.id
61+
62+
provisioner "local-exec" {
63+
when = destroy
64+
command = <<-EOT
65+
set -e
66+
gcloud compute network-attachments list \
67+
--filter="subnetworks:https://www.googleapis.com/compute/v1/${self.id}" \
68+
--format="value(name)" --project="${self.project}" |
69+
while read -r na_name; do
70+
[[ -z "$na_name" ]] && continue
71+
for i in {1..5}; do
72+
gcloud compute network-attachments delete "$na_name" \
73+
--project="${self.project}" --region="${self.region}" --quiet && break
74+
if [[ $i -eq 5 ]]; then exit 1; fi
75+
sleep 30
76+
done
77+
done
78+
EOT
79+
interpreter = ["bash", "-c"]
80+
}
81+
}
82+
83+
resource "google_compute_network" "default" {
84+
name = "test-network"
85+
auto_create_subnetworks = false
86+
}
87+
# [END managedkafka_subnetwork]
5888

5989
# [START managedkafka_create_connector_mirrormaker]
6090
resource "google_managed_kafka_connector" "default" {
@@ -85,3 +115,8 @@ resource "google_managed_kafka_connector" "default" {
85115
provider = google-beta
86116
}
87117
# [END managedkafka_create_connector_mirrormaker]
118+
119+
data "google_project" "default" {
120+
}
121+
122+
# [END managedkafka_create_connector_mirrormaker_parent]

managedkafka/managedkafka_create_connector_pubsub_sink/main.tf

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
*/
1616

1717
# [START managedkafka_create_connector_pubsub_sink_parent]
18-
data "google_project" "default" {
19-
provider = google-beta
20-
}
2118

2219
resource "google_managed_kafka_cluster" "default" {
2320
project = data.google_project.default.project_id
@@ -30,7 +27,7 @@ resource "google_managed_kafka_cluster" "default" {
3027
gcp_config {
3128
access_config {
3229
network_configs {
33-
subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
30+
subnet = google_compute_subnetwork.default.id
3431
}
3532
}
3633
}
@@ -49,13 +46,45 @@ resource "google_managed_kafka_connect_cluster" "default" {
4946
gcp_config {
5047
access_config {
5148
network_configs {
52-
primary_subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
49+
primary_subnet = google_compute_subnetwork.default.id
5350
}
5451
}
5552
}
5653
}
5754

58-
# [END managedkafka_create_connector_pubsub_sink_parent]
55+
# [START managedkafka_subnetwork]
56+
resource "google_compute_subnetwork" "default" {
57+
name = "test-subnetwork"
58+
ip_cidr_range = "10.2.0.0/16"
59+
region = "us-central1"
60+
network = google_compute_network.default.id
61+
62+
provisioner "local-exec" {
63+
when = destroy
64+
command = <<-EOT
65+
set -e
66+
gcloud compute network-attachments list \
67+
--filter="subnetworks:https://www.googleapis.com/compute/v1/${self.id}" \
68+
--format="value(name)" --project="${self.project}" |
69+
while read -r na_name; do
70+
[[ -z "$na_name" ]] && continue
71+
for i in {1..5}; do
72+
gcloud compute network-attachments delete "$na_name" \
73+
--project="${self.project}" --region="${self.region}" --quiet && break
74+
if [[ $i -eq 5 ]]; then exit 1; fi
75+
sleep 30
76+
done
77+
done
78+
EOT
79+
interpreter = ["bash", "-c"]
80+
}
81+
}
82+
83+
resource "google_compute_network" "default" {
84+
name = "test-network"
85+
auto_create_subnetworks = false
86+
}
87+
# [END managedkafka_subnetwork]
5988

6089
# [START managedkafka_create_connector_pubsub_sink]
6190
resource "google_managed_kafka_connector" "example-pubsub-sink-connector" {
@@ -78,3 +107,8 @@ resource "google_managed_kafka_connector" "example-pubsub-sink-connector" {
78107
provider = google-beta
79108
}
80109
# [END managedkafka_create_connector_pubsub_sink]
110+
111+
data "google_project" "default" {
112+
}
113+
114+
# [END managedkafka_create_connector_pubsub_sink_parent]

managedkafka/managedkafka_create_connector_pubsub_source/main.tf

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
*/
1616

1717
# [START managedkafka_create_connector_pubsub_source_parent]
18-
data "google_project" "default" {
19-
provider = google-beta
20-
}
2118

2219
resource "google_managed_kafka_cluster" "default" {
2320
project = data.google_project.default.project_id
@@ -30,7 +27,7 @@ resource "google_managed_kafka_cluster" "default" {
3027
gcp_config {
3128
access_config {
3229
network_configs {
33-
subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
30+
subnet = google_compute_subnetwork.default.id
3431
}
3532
}
3633
}
@@ -49,13 +46,45 @@ resource "google_managed_kafka_connect_cluster" "default" {
4946
gcp_config {
5047
access_config {
5148
network_configs {
52-
primary_subnet = "projects/${data.google_project.default.number}/regions/us-central1/subnetworks/default"
49+
primary_subnet = google_compute_subnetwork.default.id
5350
}
5451
}
5552
}
5653
}
5754

58-
# [END managedkafka_create_connector_pubsub_source_parent]
55+
# [START managedkafka_subnetwork]
56+
resource "google_compute_subnetwork" "default" {
57+
name = "test-subnetwork"
58+
ip_cidr_range = "10.2.0.0/16"
59+
region = "us-central1"
60+
network = google_compute_network.default.id
61+
62+
provisioner "local-exec" {
63+
when = destroy
64+
command = <<-EOT
65+
set -e
66+
gcloud compute network-attachments list \
67+
--filter="subnetworks:https://www.googleapis.com/compute/v1/${self.id}" \
68+
--format="value(name)" --project="${self.project}" |
69+
while read -r na_name; do
70+
[[ -z "$na_name" ]] && continue
71+
for i in {1..5}; do
72+
gcloud compute network-attachments delete "$na_name" \
73+
--project="${self.project}" --region="${self.region}" --quiet && break
74+
if [[ $i -eq 5 ]]; then exit 1; fi
75+
sleep 30
76+
done
77+
done
78+
EOT
79+
interpreter = ["bash", "-c"]
80+
}
81+
}
82+
83+
resource "google_compute_network" "default" {
84+
name = "test-network"
85+
auto_create_subnetworks = false
86+
}
87+
# [END managedkafka_subnetwork]
5988

6089
# [START managedkafka_create_connector_pubsub_source]
6190
resource "google_managed_kafka_connector" "example-pubsub-source-connector" {
@@ -78,3 +107,8 @@ resource "google_managed_kafka_connector" "example-pubsub-source-connector" {
78107
provider = google-beta
79108
}
80109
# [END managedkafka_create_connector_pubsub_source]
110+
111+
data "google_project" "default" {
112+
}
113+
114+
# [END managedkafka_create_connector_pubsub_source_parent]

0 commit comments

Comments
 (0)