@@ -26,21 +26,28 @@ import (
26
26
"github.com/hashicorp/terraform-plugin-testing/terraform"
27
27
28
28
"github.com/hashicorp/terraform-provider-google-beta/google-beta/acctest"
29
+ "github.com/hashicorp/terraform-provider-google-beta/google-beta/envvar"
29
30
"github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource"
30
31
transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport"
31
32
)
32
33
33
34
func TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample (t * testing.T ) {
35
+ acctest .SkipIfVcr (t )
34
36
t .Parallel ()
35
37
36
38
context := map [string ]interface {}{
37
- "random_suffix" : acctest .RandString (t , 10 ),
39
+ "billing_account" : envvar .GetTestBillingAccountFromEnv (t ),
40
+ "org_id" : envvar .GetTestOrgFromEnv (t ),
41
+ "random_suffix" : acctest .RandString (t , 10 ),
38
42
}
39
43
40
44
acctest .VcrTest (t , resource.TestCase {
41
45
PreCheck : func () { acctest .AccTestPreCheck (t ) },
42
46
ProtoV5ProviderFactories : acctest .ProtoV5ProviderBetaFactories (t ),
43
- CheckDestroy : testAccCheckManagedKafkaConnectorDestroyProducer (t ),
47
+ ExternalProviders : map [string ]resource.ExternalProvider {
48
+ "time" : {},
49
+ },
50
+ CheckDestroy : testAccCheckManagedKafkaConnectorDestroyProducer (t ),
44
51
Steps : []resource.TestStep {
45
52
{
46
53
Config : testAccManagedKafkaConnector_managedkafkaConnectorBasicExample (context ),
@@ -57,32 +64,58 @@ func TestAccManagedKafkaConnector_managedkafkaConnectorBasicExample(t *testing.T
57
64
58
65
func testAccManagedKafkaConnector_managedkafkaConnectorBasicExample (context map [string ]interface {}) string {
59
66
return acctest .Nprintf (`
60
- resource "google_compute_network" "mkc_network" {
61
- name = "tf-test-my-network-0%{random_suffix}"
62
- auto_create_subnetworks = false
67
+ resource "google_project" "project" {
68
+ project_id = "tf-test%{random_suffix}"
69
+ name = "tf-test%{random_suffix}"
70
+ org_id = "%{org_id}"
71
+ billing_account = "%{billing_account}"
72
+ deletion_policy = "DELETE"
73
+
74
+ provider = google-beta
63
75
}
64
76
65
- resource "google_compute_subnetwork" "mkc_subnet" {
66
- name = "tf-test-my-subnetwork-0%{random_suffix}"
67
- ip_cidr_range = "10.4.0.0/16"
68
- region = "us-central1"
69
- network = google_compute_network.mkc_network.id
77
+ resource "time_sleep" "wait_60_seconds" {
78
+ create_duration = "60s"
79
+ depends_on = [google_project.project]
80
+ }
81
+
82
+ resource "google_project_service" "compute" {
83
+ project = google_project.project.project_id
84
+ service = "compute.googleapis.com"
85
+ depends_on = [time_sleep.wait_60_seconds]
86
+
87
+ provider = google-beta
88
+ }
89
+
90
+ resource "google_project_service" "managedkafka" {
91
+ project = google_project.project.project_id
92
+ service = "managedkafka.googleapis.com"
93
+ depends_on = [time_sleep.wait_60_seconds]
94
+
95
+ provider = google-beta
70
96
}
71
97
72
- resource "google_compute_subnetwork" "mkc_additional_subnet" {
73
- name = "tf-test-my-additional-subnetwork-0%{random_suffix}"
98
+ resource "google_compute_subnetwork" "mkc_secondary_subnet" {
99
+ project = google_project.project.project_id
100
+ name = "tf-test-my-secondary-subnetwork-00%{random_suffix}"
74
101
ip_cidr_range = "10.5.0.0/16"
75
102
region = "us-central1"
76
- network = google_compute_network.mkc_network.id
103
+ network = "default"
104
+ depends_on = [google_project_service.compute]
105
+
106
+ provider = google-beta
77
107
}
78
108
79
109
resource "google_pubsub_topic" "cps_topic" {
110
+ project = google_project.project.project_id
80
111
name = "tf-test-my-cps-topic%{random_suffix}"
81
-
82
112
message_retention_duration = "86600s"
113
+
114
+ provider = google-beta
83
115
}
84
116
85
117
resource "google_managed_kafka_cluster" "gmk_cluster" {
118
+ project = google_project.project.project_id
86
119
cluster_id = "tf-test-my-cluster%{random_suffix}"
87
120
location = "us-central1"
88
121
capacity_config {
@@ -92,23 +125,31 @@ resource "google_managed_kafka_cluster" "gmk_cluster" {
92
125
gcp_config {
93
126
access_config {
94
127
network_configs {
95
- subnet = "projects/${data. google_project.project.project_id}/regions/us-central1/subnetworks/${google_compute_subnetwork.mkc_subnet.id} "
128
+ subnet = "projects/${google_project.project.project_id}/regions/us-central1/subnetworks/default "
96
129
}
97
130
}
98
131
}
132
+ depends_on = [google_project_service.managedkafka]
133
+
134
+ provider = google-beta
99
135
}
100
136
101
137
resource "google_managed_kafka_topic" "gmk_topic" {
138
+ project = google_project.project.project_id
102
139
topic_id = "tf-test-my-topic%{random_suffix}"
103
140
cluster = google_managed_kafka_cluster.gmk_cluster.cluster_id
104
141
location = "us-central1"
105
142
partition_count = 2
106
143
replication_factor = 3
144
+ depends_on = [google_project_service.managedkafka]
145
+
146
+ provider = google-beta
107
147
}
108
148
109
149
resource "google_managed_kafka_connect_cluster" "mkc_cluster" {
150
+ project = google_project.project.project_id
110
151
connect_cluster_id = "tf-test-my-connect-cluster%{random_suffix}"
111
- kafka_cluster = "projects/${data. google_project.project.project_id}/locations/us-central1/clusters/${google_managed_kafka_cluster.gmk_cluster.cluster_id}"
152
+ kafka_cluster = "projects/${google_project.project.project_id}/locations/us-central1/clusters/${google_managed_kafka_cluster.gmk_cluster.cluster_id}"
112
153
location = "us-central1"
113
154
capacity_config {
114
155
vcpu_count = 12
@@ -117,18 +158,22 @@ resource "google_managed_kafka_connect_cluster" "mkc_cluster" {
117
158
gcp_config {
118
159
access_config {
119
160
network_configs {
120
- primary_subnet = "projects/${data. google_project.project.project_id}/regions/us-central1/subnetworks/${google_compute_subnetwork.mkc_subnet.id} "
121
- additional_subnets = ["${google_compute_subnetwork.mkc_additional_subnet .id}"]
122
- dns_domain_names = ["${google_managed_kafka_cluster.gmk_cluster.cluster_id}.us-central1.managedkafka-staging .${data. google_project.project.project_id}.cloud-staging .goog"]
161
+ primary_subnet = "projects/${google_project.project.project_id}/regions/us-central1/subnetworks/default "
162
+ additional_subnets = ["${google_compute_subnetwork.mkc_secondary_subnet .id}"]
163
+ dns_domain_names = ["${google_managed_kafka_cluster.gmk_cluster.cluster_id}.us-central1.managedkafka.${google_project.project.project_id}.cloud.goog"]
123
164
}
124
165
}
125
166
}
126
167
labels = {
127
168
key = "value"
128
169
}
170
+ depends_on = [google_project_service.managedkafka]
171
+
172
+ provider = google-beta
129
173
}
130
174
131
175
resource "google_managed_kafka_connector" "example" {
176
+ project = google_project.project.project_id
132
177
connector_id = "tf-test-my-connector%{random_suffix}"
133
178
connect_cluster = google_managed_kafka_connect_cluster.mkc_cluster.connect_cluster_id
134
179
location = "us-central1"
@@ -138,17 +183,17 @@ resource "google_managed_kafka_connector" "example" {
138
183
"tasks.max" = "1"
139
184
"topics" = "${google_managed_kafka_topic.gmk_topic.topic_id}"
140
185
"cps.topic" = "${google_pubsub_topic.cps_topic.name}"
141
- "cps.project" = "${data. google_project.project.project_id}"
186
+ "cps.project" = "${google_project.project.project_id}"
142
187
"value.converter" = "org.apache.kafka.connect.storage.StringConverter"
143
188
"key.converter" = "org.apache.kafka.connect.storage.StringConverter"
144
189
}
145
190
task_restart_policy {
146
191
minimum_backoff = "60s"
147
192
maximum_backoff = "1800s"
148
193
}
149
- }
194
+ depends_on = [google_project_service.managedkafka]
150
195
151
- data "google_project" "project" {
196
+ provider = google-beta
152
197
}
153
198
` , context )
154
199
}
0 commit comments