@@ -683,41 +683,32 @@ resource "google_pubsub_subscription" "foo" {
683
683
func testAccPubsubSubscriptionBigQuery_basic (dataset , table , topic , subscription string , useTableSchema bool , serviceAccountId string ) string {
684
684
serviceAccountEmailField := ""
685
685
serviceAccountResource := ""
686
+ tfDependencies := ""
686
687
if serviceAccountId != "" {
687
688
serviceAccountResource = fmt .Sprintf (`
688
689
resource "google_service_account" "bq_write_service_account" {
689
690
account_id = "%s"
690
691
display_name = "BQ Write Service Account"
691
692
}
692
693
693
- resource "google_project_iam_member" "viewer " {
694
+ resource "google_project_iam_member" "bigquery_metadata_viewer " {
694
695
project = data.google_project.project.project_id
695
696
role = "roles/bigquery.metadataViewer"
696
697
member = "serviceAccount:${google_service_account.bq_write_service_account.email}"
697
698
}
698
699
699
- resource "google_project_iam_member" "editor " {
700
+ resource "google_project_iam_member" "bigquery_data_editor " {
700
701
project = data.google_project.project.project_id
701
702
role = "roles/bigquery.dataEditor"
702
703
member = "serviceAccount:${google_service_account.bq_write_service_account.email}"
703
704
}` , serviceAccountId )
704
705
serviceAccountEmailField = "service_account_email = google_service_account.bq_write_service_account.email"
706
+ tfDependencies = ` google_project_iam_member.bigquery_metadata_viewer,
707
+ google_project_iam_member.bigquery_data_editor,
708
+ time_sleep.wait_30_seconds,`
705
709
} else {
706
- serviceAccountResource = fmt .Sprintf (`
707
- resource "google_project_iam_member" "viewer" {
708
- project = data.google_project.project.project_id
709
- role = "roles/bigquery.metadataViewer"
710
- member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-pubsub.iam.gserviceaccount.com"
711
- }
712
-
713
- resource "google_project_iam_member" "editor" {
714
- project = data.google_project.project.project_id
715
- role = "roles/bigquery.dataEditor"
716
- member = "serviceAccount:service-${data.google_project.project.number}@gcp-sa-pubsub.iam.gserviceaccount.com"
717
- }
718
- ` )
710
+ tfDependencies = " time_sleep.wait_30_seconds,"
719
711
}
720
-
721
712
return fmt .Sprintf (`
722
713
data "google_project" "project" {}
723
714
@@ -763,12 +754,10 @@ resource "google_pubsub_subscription" "foo" {
763
754
}
764
755
765
756
depends_on = [
766
- google_project_iam_member.viewer,
767
- google_project_iam_member.editor,
768
- time_sleep.wait_30_seconds,
757
+ %s
769
758
]
770
759
}
771
- ` , serviceAccountResource , dataset , table , topic , subscription , useTableSchema , serviceAccountEmailField )
760
+ ` , serviceAccountResource , dataset , table , topic , subscription , useTableSchema , serviceAccountEmailField , tfDependencies )
772
761
}
773
762
774
763
func testAccPubsubSubscriptionCloudStorage_basic (bucket , topic , subscription , filenamePrefix , filenameSuffix , filenameDatetimeFormat string , maxBytes int , maxDuration string , maxMessages int , serviceAccountId , outputFormat string ) string {
0 commit comments