@@ -59,6 +59,7 @@ func TestAccSpannerDatabaseIamMember(t *testing.T) {
59
59
role := "roles/spanner.databaseAdmin"
60
60
database := fmt .Sprintf ("tf-test-%s" , randString (t , 10 ))
61
61
instance := fmt .Sprintf ("tf-test-%s" , randString (t , 10 ))
62
+ conditionTitle := "Access only database one"
62
63
63
64
vcrTest (t , resource.TestCase {
64
65
PreCheck : func () { testAccPreCheck (t ) },
@@ -70,11 +71,11 @@ func TestAccSpannerDatabaseIamMember(t *testing.T) {
70
71
},
71
72
{
72
73
ResourceName : "google_spanner_database_iam_member.foo" ,
73
- ImportStateId : fmt .Sprintf ("%s %s serviceAccount:%s@%s.iam.gserviceaccount.com" , spannerDatabaseId {
74
+ ImportStateId : fmt .Sprintf ("%s %s serviceAccount:%s@%s.iam.gserviceaccount.com %s " , spannerDatabaseId {
74
75
Instance : instance ,
75
76
Database : database ,
76
77
Project : project ,
77
- }.terraformId (), role , account , project ),
78
+ }.terraformId (), role , account , project , conditionTitle ),
78
79
ImportState : true ,
79
80
ImportStateVerify : true ,
80
81
},
@@ -207,6 +208,10 @@ resource "google_spanner_database_iam_member" "foo" {
207
208
instance = google_spanner_database.database.instance
208
209
role = "%s"
209
210
member = "serviceAccount:${google_service_account.test_account.email}"
211
+ condition {
212
+ title = "Access only database one"
213
+ expression = "resource.type == \"spanner.googleapis.com/DatabaseRole\" && resource.name.endsWith(\"/databaseRoles/parent\")"
214
+ }
210
215
}
211
216
` , account , instance , instance , database , roleId )
212
217
}
0 commit comments