@@ -120,7 +120,7 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_saml(t *testing.T) {
120
120
})
121
121
}
122
122
123
- func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client (t *testing.T) {
123
+ func TestAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client (t *testing.T) {
124
124
t.Parallel()
125
125
126
126
random_suffix := acctest.RandString(t, 10)
@@ -135,7 +135,7 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client(t
135
135
CheckDestroy: testAccCheckIAMWorkforcePoolWorkforcePoolDestroyProducer(t),
136
136
Steps: []resource.TestStep{
137
137
{
138
- Config: testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_full (context),
138
+ Config: testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_full (context),
139
139
},
140
140
{
141
141
ResourceName: "google_iam_workforce_pool_provider.my_provider",
@@ -144,7 +144,7 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client(t
144
144
ImportStateVerifyIgnore: []string{"oidc.0.client_secret.0.value.0.plain_text", "extra_attributes_oauth2_client.0.client_secret.0.value.0.plain_text"},
145
145
},
146
146
{
147
- Config: testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_update (context),
147
+ Config: testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_update (context),
148
148
},
149
149
{
150
150
ResourceName: "google_iam_workforce_pool_provider.my_provider",
@@ -153,7 +153,7 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client(t
153
153
ImportStateVerifyIgnore: []string{"oidc.0.client_secret.0.value.0.plain_text", "extra_attributes_oauth2_client.0.client_secret.0.value.0.plain_text"},
154
154
},
155
155
{
156
- Config: testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_update_clearConfig (context),
156
+ Config: testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_update_clearConfig (context),
157
157
},
158
158
{
159
159
ResourceName: "google_iam_workforce_pool_provider.my_provider",
@@ -162,7 +162,7 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client(t
162
162
ImportStateVerifyIgnore: []string{"oidc.0.client_secret.0.value.0.plain_text"},
163
163
},
164
164
{
165
- Config: testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_basic (context),
165
+ Config: testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_basic (context),
166
166
},
167
167
{
168
168
ResourceName: "google_iam_workforce_pool_provider.my_provider",
@@ -180,6 +180,67 @@ func TestAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client(t
180
180
})
181
181
}
182
182
183
+
184
+ func TestAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client(t *testing.T) {
185
+ t.Parallel()
186
+
187
+ random_suffix := acctest.RandString(t, 10)
188
+ context := map[string]interface{}{
189
+ "org_id": envvar.GetTestOrgFromEnv(t),
190
+ "random_suffix": random_suffix,
191
+ }
192
+
193
+ acctest.VcrTest(t, resource.TestCase{
194
+ PreCheck: func() { acctest.AccTestPreCheck(t) },
195
+ ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories(t),
196
+ CheckDestroy: testAccCheckIAMWorkforcePoolWorkforcePoolDestroyProducer(t),
197
+ Steps: []resource.TestStep{
198
+ {
199
+ Config: testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_full(context),
200
+ },
201
+ {
202
+ ResourceName: "google_iam_workforce_pool_provider.my_provider",
203
+ ImportState: true,
204
+ ImportStateVerify: true,
205
+ ImportStateVerifyIgnore: []string{"extra_attributes_oauth2_client.0.client_secret.0.value.0.plain_text"},
206
+ },
207
+ {
208
+ Config: testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_update(context),
209
+ },
210
+ {
211
+ ResourceName: "google_iam_workforce_pool_provider.my_provider",
212
+ ImportState: true,
213
+ ImportStateVerify: true,
214
+ ImportStateVerifyIgnore: []string{"extra_attributes_oauth2_client.0.client_secret.0.value.0.plain_text"},
215
+ },
216
+ {
217
+ Config: testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_update_clearConfig(context),
218
+ },
219
+ {
220
+ ResourceName: "google_iam_workforce_pool_provider.my_provider",
221
+ ImportState: true,
222
+ ImportStateVerify: true,
223
+ ImportStateVerifyIgnore: []string{"oidc.0.client_secret.0.value.0.plain_text"},
224
+ },
225
+ {
226
+ Config: testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_basic(context),
227
+ },
228
+ {
229
+ ResourceName: "google_iam_workforce_pool_provider.my_provider",
230
+ ImportState: true,
231
+ ImportStateVerify: true,
232
+ ImportStateVerifyIgnore: []string{"extra_attributes_oauth2_client.0.client_secret.0.value.0.plain_text"},
233
+ },
234
+ {
235
+ Config: testAccIAMWorkforcePoolWorkforcePoolProvider_destroy(context),
236
+ Check: resource.ComposeTestCheckFunc(
237
+ testAccCheckIAMWorkforcePoolWorkforcePoolProviderAccess(t, random_suffix),
238
+ ),
239
+ },
240
+ },
241
+ })
242
+ }
243
+
183
244
func testAccCheckIAMWorkforcePoolWorkforcePoolProviderAccess(t *testing.T, random_suffix string) resource.TestCheckFunc {
184
245
return func(s *terraform.State) error {
185
246
pool_resource_name := "google_iam_workforce_pool.my_pool"
@@ -426,7 +487,7 @@ resource "google_iam_workforce_pool_provider" "my_provider" {
426
487
}
427
488
428
489
429
- func testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_full (context map[string]interface{}) string {
490
+ func testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_full (context map[string]interface{}) string {
430
491
return acctest.Nprintf(`
431
492
resource "google_iam_workforce_pool" "my_pool" {
432
493
workforce_pool_id = "my-pool-%{random_suffix}"
@@ -476,7 +537,7 @@ resource "google_iam_workforce_pool_provider" "my_provider" {
476
537
`, context)
477
538
}
478
539
479
- func testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_update (context map[string]interface{}) string {
540
+ func testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_update (context map[string]interface{}) string {
480
541
return acctest.Nprintf(`
481
542
resource "google_iam_workforce_pool" "my_pool" {
482
543
workforce_pool_id = "my-pool-%{random_suffix}"
@@ -526,7 +587,7 @@ resource "google_iam_workforce_pool_provider" "my_provider" {
526
587
`, context)
527
588
}
528
589
529
- func testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_update_clearConfig (context map[string]interface{}) string {
590
+ func testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_update_clearConfig (context map[string]interface{}) string {
530
591
return acctest.Nprintf(`
531
592
resource "google_iam_workforce_pool" "my_pool" {
532
593
workforce_pool_id = "my-pool-%{random_suffix}"
@@ -563,7 +624,7 @@ resource "google_iam_workforce_pool_provider" "my_provider" {
563
624
`, context)
564
625
}
565
626
566
- func testAccIAMWorkforcePoolWorkforcePoolProvider_extraAttributesOauth2Client_basic (context map[string]interface{}) string {
627
+ func testAccIAMWorkforcePoolWorkforcePoolOidcProvider_extraAttributesOauth2Client_basic (context map[string]interface{}) string {
567
628
return acctest.Nprintf(`
568
629
resource "google_iam_workforce_pool" "my_pool" {
569
630
workforce_pool_id = "my-pool-%{random_suffix}"
@@ -610,6 +671,147 @@ resource "google_iam_workforce_pool_provider" "my_provider" {
610
671
`, context)
611
672
}
612
673
674
+
675
+ func testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_full(context map[string]interface{}) string {
676
+ return acctest.Nprintf(`
677
+ resource "google_iam_workforce_pool" "my_pool" {
678
+ workforce_pool_id = "my-pool-%{random_suffix}"
679
+ parent = "organizations/%{org_id}"
680
+ location = "global"
681
+ }
682
+
683
+ resource "google_iam_workforce_pool_provider" "my_provider" {
684
+ workforce_pool_id = google_iam_workforce_pool.my_pool.workforce_pool_id
685
+ location = google_iam_workforce_pool.my_pool.location
686
+ provider_id = "my-provider-%{random_suffix}"
687
+ attribute_mapping = {
688
+ "google.subject" = "assertion.sub"
689
+ }
690
+ saml {
691
+ idp_metadata_xml = "<?xml version=\"1.0\"?><md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://sts.windows.net/3c75f51a-5393-4b53-8efe-fa85c311e533/\"><md:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"> <md:KeyDescriptor use=\"signing\"><ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://test.com/sso\"/></md:IDPSSODescriptor></md:EntityDescriptor>"
692
+ }
693
+ extra_attributes_oauth2_client {
694
+ issuer_uri = "https://login.microsoftonline.com/3c75f51a-5393-4b53-8efe-fa85c311e533/v2.0/"
695
+ client_id = "client-id"
696
+ client_secret {
697
+ value {
698
+ plain_text = "client-secret"
699
+ }
700
+ }
701
+ attributes_type = "AZURE_AD_GROUPS_MAIL"
702
+ query_parameters {
703
+ filter = "mail:gcp"
704
+ }
705
+ }
706
+ display_name = "Display name"
707
+ description = "A sample OIDC workforce pool provider."
708
+ disabled = false
709
+ attribute_condition = "true"
710
+ }
711
+ `, context)
712
+ }
713
+
714
+ func testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_update(context map[string]interface{}) string {
715
+ return acctest.Nprintf(`
716
+ resource "google_iam_workforce_pool" "my_pool" {
717
+ workforce_pool_id = "my-pool-%{random_suffix}"
718
+ parent = "organizations/%{org_id}"
719
+ location = "global"
720
+ }
721
+
722
+ resource "google_iam_workforce_pool_provider" "my_provider" {
723
+ workforce_pool_id = google_iam_workforce_pool.my_pool.workforce_pool_id
724
+ location = google_iam_workforce_pool.my_pool.location
725
+ provider_id = "my-provider-%{random_suffix}"
726
+ attribute_mapping = {
727
+ "google.subject" = "false"
728
+ }
729
+ saml {
730
+ idp_metadata_xml = "<?xml version=\"1.0\"?><md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://sts.windows.net/3c75f51a-5393-4b53-8efe-fa85c311e533/\"><md:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"> <md:KeyDescriptor use=\"signing\"><ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://test.com/sso\"/></md:IDPSSODescriptor></md:EntityDescriptor>"
731
+ }
732
+ extra_attributes_oauth2_client {
733
+ issuer_uri = "https://login.microsoftonline.com/3c75f51a-5393-4b53-8efe-fa85c311e533/v2.0/"
734
+ client_id = "new-client-id"
735
+ client_secret {
736
+ value {
737
+ plain_text = "new-client-secret"
738
+ }
739
+ }
740
+ attributes_type = "AZURE_AD_GROUPS_MAIL"
741
+ query_parameters {
742
+ filter = "displayName:gcp"
743
+ }
744
+ }
745
+ display_name = "New Display name"
746
+ description = "A sample OIDC workforce pool provider with updated description."
747
+ disabled = true
748
+ attribute_condition = "false"
749
+ }
750
+ `, context)
751
+ }
752
+
753
+ func testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_update_clearConfig(context map[string]interface{}) string {
754
+ return acctest.Nprintf(`
755
+ resource "google_iam_workforce_pool" "my_pool" {
756
+ workforce_pool_id = "my-pool-%{random_suffix}"
757
+ parent = "organizations/%{org_id}"
758
+ location = "global"
759
+ }
760
+
761
+ resource "google_iam_workforce_pool_provider" "my_provider" {
762
+ workforce_pool_id = google_iam_workforce_pool.my_pool.workforce_pool_id
763
+ location = google_iam_workforce_pool.my_pool.location
764
+ provider_id = "my-provider-%{random_suffix}"
765
+ attribute_mapping = {
766
+ "google.subject" = "false"
767
+ }
768
+ saml {
769
+ idp_metadata_xml = "<?xml version=\"1.0\"?><md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://test.com\"><md:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"> <md:KeyDescriptor use=\"signing\"><ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://test.com/sso\"/></md:IDPSSODescriptor></md:EntityDescriptor>"
770
+ }
771
+ display_name = "New Display name"
772
+ description = "A sample OIDC workforce pool provider with updated description."
773
+ disabled = true
774
+ attribute_condition = "false"
775
+ }
776
+ `, context)
777
+ }
778
+
779
+ func testAccIAMWorkforcePoolWorkforcePoolSamlProvider_extraAttributesOauth2Client_basic(context map[string]interface{}) string {
780
+ return acctest.Nprintf(`
781
+ resource "google_iam_workforce_pool" "my_pool" {
782
+ workforce_pool_id = "my-pool-%{random_suffix}"
783
+ parent = "organizations/%{org_id}"
784
+ location = "global"
785
+ }
786
+
787
+ resource "google_iam_workforce_pool_provider" "my_provider" {
788
+ workforce_pool_id = google_iam_workforce_pool.my_pool.workforce_pool_id
789
+ location = google_iam_workforce_pool.my_pool.location
790
+ provider_id = "my-provider-%{random_suffix}"
791
+ attribute_mapping = {
792
+ "google.subject" = "false"
793
+ }
794
+ saml {
795
+ idp_metadata_xml = "<?xml version=\"1.0\"?><md:EntityDescriptor xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\" entityID=\"https://sts.windows.net/3c75f51a-5393-4b53-8efe-fa85c311e533/\"><md:IDPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\"> <md:KeyDescriptor use=\"signing\"><ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"><ds:X509Data><ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAX7/5qPhMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi00NTg0MjExHDAaBgkqhkiG9w0BCQEWDWluZm9Ab2t0YS5jb20wHhcNMjIwMjE2MDAxOTEyWhcNMzIwMjE2MDAyMDEyWjCBkjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtNDU4NDIxMRwwGgYJKoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrBl7GKz52cRpxF9xCsirnRuMxnhFBaUrsHqAQrLqWmdlpNYZTVg+T9iQ+aq/iE68L+BRZcZniKIvW58wqqS0ltXVvIkXuDSvnvnkkI5yMIVErR20K8jSOKQm1FmK+fgAJ4koshFiu9oLiqu0Ejc0DuL3/XRsb4RuxjktKTb1khgBBtb+7idEk0sFR0RPefAweXImJkDHDm7SxjDwGJUubbqpdTxasPr0W+AHI1VUzsUsTiHAoyb0XDkYqHfDzhj/ZdIEl4zHQ3bEZvlD984ztAnmX2SuFLLKfXeAAGHei8MMixJvwxYkkPeYZ/5h8WgBZPP4heS2CPjwYExt29L8QIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQARjJFz++a9Z5IQGFzsZMrX2EDR5ML4xxUiQkbhld1S1PljOLcYFARDmUC2YYHOueU4ee8Jid9nPGEUebV/4Jok+b+oQh+dWMgiWjSLI7h5q4OYZ3VJtdlVwgMFt2iz+/4yBKMUZ50g3Qgg36vE34us+eKitg759JgCNsibxn0qtJgSPm0sgP2L6yTaLnoEUbXBRxCwynTSkp9ZijZqEzbhN0e2dWv7Rx/nfpohpDP6vEiFImKFHpDSv3M/5de1ytQzPFrZBYt9WlzlYwE1aD9FHCxdd+rWgYMVVoRaRmndpV/Rq3QUuDuFJtaoX11bC7ExkOpg9KstZzA63i3VcfYv</ds:X509Certificate></ds:X509Data></ds:KeyInfo></md:KeyDescriptor><md:SingleSignOnService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\" Location=\"https://test.com/sso\"/></md:IDPSSODescriptor></md:EntityDescriptor>"
796
+ }
797
+ extra_attributes_oauth2_client {
798
+ issuer_uri = "https://login.microsoftonline.com/3c75f51a-5393-4b53-8efe-fa85c311e533/v2.0/"
799
+ client_id = "client-id"
800
+ client_secret {
801
+ value {
802
+ plain_text = "client-secret"
803
+ }
804
+ }
805
+ attributes_type = "AZURE_AD_GROUPS_MAIL"
806
+ }
807
+ display_name = "New Display name"
808
+ description = "A sample OIDC workforce pool provider with updated description."
809
+ disabled = true
810
+ attribute_condition = "false"
811
+ }
812
+ `, context)
813
+ }
814
+
613
815
func testAccIAMWorkforcePoolWorkforcePoolProvider_destroy(context map[string]interface{}) string {
614
816
return acctest.Nprintf(`
615
817
resource "google_iam_workforce_pool" "my_pool" {
0 commit comments