@@ -887,6 +887,25 @@ func TestAccGKEHubFeature_WorkloadIdentity(t *testing.T) {
887887
888888func testAccGKEHubFeature_WorkloadIdentity (context map [string ]interface {}) string {
889889 return gkeHubFeatureProjectSetupForGA (context ) + acctest .Nprintf (`
890+ resource "google_container_cluster" "cluster" {
891+ name = "tf-test%{random_suffix}"
892+ location = "us-central1-a"
893+ initial_node_count = 1
894+ project = google_project.project.project_id
895+ deletion_protection = false
896+ depends_on = [time_sleep.wait_for_gkehub_enablement]
897+ }
898+
899+ resource "google_gke_hub_membership" "membership" {
900+ membership_id = "tf-test%{random_suffix}"
901+ endpoint {
902+ gke_cluster {
903+ resource_link = "//container.googleapis.com/${google_container_cluster.cluster.id}"
904+ }
905+ }
906+ project = google_project.project.project_id
907+ }
908+
890909resource "google_project_iam_member" "test-runner-workload-identity-admin" {
891910 project = google_project.project.project_id
892911 role = "roles/iam.workloadIdentityPoolAdmin"
@@ -897,6 +916,7 @@ resource "google_project_iam_member" "fleet-p4sa-workload-identity-admin" {
897916 project = google_project.project.project_id
898917 role = "roles/iam.workloadIdentityPoolAdmin"
899918 member = "serviceAccount:service-${google_project.project.number}@gcp-sa-gkehub.iam.gserviceaccount.com"
919+ depends_on = [google_gke_hub_membership.membership]
900920}
901921
902922resource "time_sleep" "wait_for_workload_identity_binding_propagation" {
@@ -927,6 +947,25 @@ resource "google_gke_hub_feature" "feature" {
927947
928948func testAccGKEHubFeature_WorkloadIdentityUpdate (context map [string ]interface {}) string {
929949 return gkeHubFeatureProjectSetupForGA (context ) + acctest .Nprintf (`
950+ resource "google_container_cluster" "cluster" {
951+ name = "tf-test%{random_suffix}"
952+ location = "us-central1-a"
953+ initial_node_count = 1
954+ project = google_project.project.project_id
955+ deletion_protection = false
956+ depends_on = [time_sleep.wait_for_gkehub_enablement]
957+ }
958+
959+ resource "google_gke_hub_membership" "membership" {
960+ membership_id = "tf-test%{random_suffix}"
961+ endpoint {
962+ gke_cluster {
963+ resource_link = "//container.googleapis.com/${google_container_cluster.cluster.id}"
964+ }
965+ }
966+ project = google_project.project.project_id
967+ }
968+
930969resource "google_project_iam_member" "test-runner-workload-identity-admin" {
931970 project = google_project.project.project_id
932971 role = "roles/iam.workloadIdentityPoolAdmin"
@@ -937,6 +976,7 @@ resource "google_project_iam_member" "fleet-p4sa-workload-identity-admin" {
937976 project = google_project.project.project_id
938977 role = "roles/iam.workloadIdentityPoolAdmin"
939978 member = "serviceAccount:service-${google_project.project.number}@gcp-sa-gkehub.iam.gserviceaccount.com"
979+ depends_on = [google_gke_hub_membership.membership]
940980}
941981
942982resource "time_sleep" "wait_for_workload_identity_binding_propagation" {
0 commit comments