pulumi-gcp 8.20.0a1739946722__py3-none-any.whl → 8.20.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +168 -8
  3. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  4. pulumi_gcp/accesscontextmanager/outputs.py +104 -8
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +78 -3
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +78 -3
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +78 -3
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +78 -3
  9. pulumi_gcp/alloydb/__init__.py +2 -0
  10. pulumi_gcp/alloydb/get_cluster.py +491 -0
  11. pulumi_gcp/alloydb/get_instance.py +466 -0
  12. pulumi_gcp/alloydb/outputs.py +1160 -0
  13. pulumi_gcp/apigateway/get_api_config_iam_policy.py +20 -2
  14. pulumi_gcp/apigateway/get_api_iam_policy.py +20 -2
  15. pulumi_gcp/apigateway/get_gateway_iam_policy.py +22 -2
  16. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  17. pulumi_gcp/appengine/_inputs.py +3 -3
  18. pulumi_gcp/appengine/outputs.py +2 -2
  19. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  20. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  21. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  22. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  23. pulumi_gcp/beyondcorp/get_application_iam_policy.py +2 -2
  24. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +2 -2
  25. pulumi_gcp/bigquery/_inputs.py +6 -8
  26. pulumi_gcp/bigquery/connection.py +2 -14
  27. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  28. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  29. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  30. pulumi_gcp/bigquery/outputs.py +4 -5
  31. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +8 -8
  32. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +8 -8
  33. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +8 -8
  34. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  35. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  36. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +8 -8
  37. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +8 -8
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +8 -8
  39. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  40. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  41. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  42. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  43. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  44. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  45. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  46. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  47. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  48. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  49. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  50. pulumi_gcp/cloudrun/_inputs.py +6 -3
  51. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  52. pulumi_gcp/cloudrun/outputs.py +4 -2
  53. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  54. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  55. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  56. pulumi_gcp/colab/get_runtime_template_iam_policy.py +2 -2
  57. pulumi_gcp/composer/_inputs.py +6 -6
  58. pulumi_gcp/composer/get_environment.py +12 -0
  59. pulumi_gcp/composer/get_image_versions.py +12 -0
  60. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  61. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  62. pulumi_gcp/composer/outputs.py +8 -8
  63. pulumi_gcp/compute/_inputs.py +756 -30
  64. pulumi_gcp/compute/firewall_policy_rule.py +0 -2
  65. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +20 -2
  66. pulumi_gcp/compute/get_backend_service_iam_policy.py +20 -2
  67. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  68. pulumi_gcp/compute/get_hc_vpn_gateway.py +45 -1
  69. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  70. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  71. pulumi_gcp/compute/get_instance_template_iam_policy.py +2 -2
  72. pulumi_gcp/compute/get_machine_image_iam_policy.py +20 -2
  73. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +22 -2
  74. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  75. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  76. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  77. pulumi_gcp/compute/ha_vpn_gateway.py +189 -2
  78. pulumi_gcp/compute/instance_template.py +14 -35
  79. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  80. pulumi_gcp/compute/outputs.py +796 -18
  81. pulumi_gcp/config/__init__.pyi +2 -0
  82. pulumi_gcp/config/vars.py +4 -0
  83. pulumi_gcp/container/_inputs.py +447 -3
  84. pulumi_gcp/container/outputs.py +469 -5
  85. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  86. pulumi_gcp/datacatalog/entry_group.py +4 -0
  87. pulumi_gcp/datacatalog/entry_group_iam_binding.py +8 -8
  88. pulumi_gcp/datacatalog/entry_group_iam_member.py +8 -8
  89. pulumi_gcp/datacatalog/entry_group_iam_policy.py +8 -8
  90. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  91. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  92. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  93. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  94. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +8 -8
  95. pulumi_gcp/datacatalog/policy_tag_iam_member.py +8 -8
  96. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +8 -8
  97. pulumi_gcp/datacatalog/tag_template.py +4 -0
  98. pulumi_gcp/datacatalog/tag_template_iam_binding.py +8 -8
  99. pulumi_gcp/datacatalog/tag_template_iam_member.py +8 -8
  100. pulumi_gcp/datacatalog/tag_template_iam_policy.py +8 -8
  101. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +8 -8
  102. pulumi_gcp/datacatalog/taxonomy_iam_member.py +8 -8
  103. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +8 -8
  104. pulumi_gcp/dataform/get_repository_iam_policy.py +22 -2
  105. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  106. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  107. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  108. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  109. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  110. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  111. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  112. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  113. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  114. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  115. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  116. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  117. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +8 -8
  118. pulumi_gcp/dataproc/metastore_federation_iam_member.py +8 -8
  119. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +8 -8
  120. pulumi_gcp/dataproc/metastore_service.py +27 -28
  121. pulumi_gcp/dataproc/metastore_service_iam_binding.py +8 -8
  122. pulumi_gcp/dataproc/metastore_service_iam_member.py +8 -8
  123. pulumi_gcp/dataproc/metastore_service_iam_policy.py +8 -8
  124. pulumi_gcp/developerconnect/_inputs.py +575 -0
  125. pulumi_gcp/developerconnect/connection.py +200 -0
  126. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  127. pulumi_gcp/developerconnect/outputs.py +461 -0
  128. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  129. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  130. pulumi_gcp/eventarc/_inputs.py +29 -8
  131. pulumi_gcp/eventarc/google_channel_config.py +58 -46
  132. pulumi_gcp/eventarc/outputs.py +20 -6
  133. pulumi_gcp/eventarc/trigger.py +95 -72
  134. pulumi_gcp/filestore/backup.py +4 -4
  135. pulumi_gcp/firebase/__init__.py +1 -0
  136. pulumi_gcp/firebase/data_connect_service.py +937 -0
  137. pulumi_gcp/gemini/__init__.py +5 -0
  138. pulumi_gcp/gemini/data_sharing_with_google_setting.py +613 -0
  139. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  140. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +608 -0
  141. pulumi_gcp/gemini/get_repository_group_iam_policy.py +2 -2
  142. pulumi_gcp/gemini/logging_setting.py +42 -50
  143. pulumi_gcp/gemini/logging_setting_binding.py +734 -0
  144. pulumi_gcp/gemini/release_channel_setting.py +39 -43
  145. pulumi_gcp/gemini/release_channel_setting_binding.py +734 -0
  146. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  147. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  148. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  149. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  150. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  151. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  152. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  153. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  154. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  155. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  156. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  157. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  158. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  159. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  160. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  161. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  162. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  163. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  164. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  165. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  166. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  167. pulumi_gcp/monitoring/_inputs.py +588 -0
  168. pulumi_gcp/monitoring/outputs.py +410 -0
  169. pulumi_gcp/netapp/__init__.py +1 -0
  170. pulumi_gcp/netapp/volume_quota_rule.py +895 -0
  171. pulumi_gcp/networksecurity/address_group_iam_binding.py +4 -4
  172. pulumi_gcp/networksecurity/address_group_iam_member.py +4 -4
  173. pulumi_gcp/networksecurity/address_group_iam_policy.py +4 -4
  174. pulumi_gcp/networkservices/authz_extension.py +8 -15
  175. pulumi_gcp/networkservices/mesh.py +79 -12
  176. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  177. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  178. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  179. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  180. pulumi_gcp/projects/__init__.py +1 -0
  181. pulumi_gcp/projects/get_ancestry.py +150 -0
  182. pulumi_gcp/projects/outputs.py +30 -0
  183. pulumi_gcp/provider.py +20 -0
  184. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  185. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  186. pulumi_gcp/pulumi-plugin.json +1 -1
  187. pulumi_gcp/redis/cluster.py +211 -94
  188. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +20 -2
  189. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  190. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  191. pulumi_gcp/secretmanager/secret_version.py +73 -23
  192. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  193. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  194. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  195. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  196. pulumi_gcp/securitycenter/mute_config.py +136 -3
  197. pulumi_gcp/securitycenter/v2_folder_notification_config.py +2 -14
  198. pulumi_gcp/securitycenter/v2_organization_notification_config.py +2 -14
  199. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +8 -8
  200. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +8 -8
  201. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +8 -8
  202. pulumi_gcp/securitycenter/v2_project_notification_config.py +2 -14
  203. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +18 -2
  204. pulumi_gcp/servicedirectory/get_service_iam_policy.py +18 -2
  205. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  206. pulumi_gcp/spanner/__init__.py +1 -0
  207. pulumi_gcp/spanner/instance.py +0 -46
  208. pulumi_gcp/spanner/instance_partition.py +658 -0
  209. pulumi_gcp/sql/_inputs.py +6 -6
  210. pulumi_gcp/sql/outputs.py +4 -4
  211. pulumi_gcp/sql/user.py +20 -14
  212. pulumi_gcp/storage/bucket.py +30 -0
  213. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  214. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  215. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  216. pulumi_gcp/tpu/_inputs.py +150 -1
  217. pulumi_gcp/tpu/outputs.py +114 -1
  218. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  219. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +22 -2
  220. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +20 -2
  221. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +22 -2
  222. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  223. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +24 -2
  224. pulumi_gcp/workstations/get_workstation_iam_policy.py +26 -2
  225. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1.dist-info}/METADATA +1 -1
  226. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1.dist-info}/RECORD +228 -217
  227. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1.dist-info}/WHEEL +1 -1
  228. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1.dist-info}/top_level.txt +0 -0
@@ -108,7 +108,7 @@ def get_backup_plan_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for backupplan
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -149,7 +149,7 @@ def get_backup_plan_iam_policy_output(location: Optional[pulumi.Input[Optional[s
149
149
  """
150
150
  Retrieves the current IAM policy data for backupplan
151
151
 
152
- ## example
152
+ ## Example Usage
153
153
 
154
154
  ```python
155
155
  import pulumi
@@ -108,7 +108,7 @@ def get_restore_plan_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for restoreplan
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -149,7 +149,7 @@ def get_restore_plan_iam_policy_output(location: Optional[pulumi.Input[Optional[
149
149
  """
150
150
  Retrieves the current IAM policy data for restoreplan
151
151
 
152
- ## example
152
+ ## Example Usage
153
153
 
154
154
  ```python
155
155
  import pulumi
@@ -108,7 +108,7 @@ def get_feature_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for feature
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -148,7 +148,7 @@ def get_feature_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]
148
148
  """
149
149
  Retrieves the current IAM policy data for feature
150
150
 
151
- ## example
151
+ ## Example Usage
152
152
 
153
153
  ```python
154
154
  import pulumi
@@ -108,7 +108,7 @@ def get_membership_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for membership
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -149,7 +149,7 @@ def get_membership_iam_policy_output(location: Optional[pulumi.Input[Optional[st
149
149
  """
150
150
  Retrieves the current IAM policy data for membership
151
151
 
152
- ## example
152
+ ## Example Usage
153
153
 
154
154
  ```python
155
155
  import pulumi
@@ -98,7 +98,7 @@ def get_scope_iam_policy(project: Optional[str] = None,
98
98
  """
99
99
  Retrieves the current IAM policy data for scope
100
100
 
101
- ## example
101
+ ## Example Usage
102
102
 
103
103
  ```python
104
104
  import pulumi
@@ -130,7 +130,7 @@ def get_scope_iam_policy_output(project: Optional[pulumi.Input[Optional[str]]] =
130
130
  """
131
131
  Retrieves the current IAM policy data for scope
132
132
 
133
- ## example
133
+ ## Example Usage
134
134
 
135
135
  ```python
136
136
  import pulumi
@@ -98,7 +98,7 @@ def get_consent_store_iam_policy(consent_store_id: Optional[str] = None,
98
98
  """
99
99
  Retrieves the current IAM policy data for consentstore
100
100
 
101
- ## example
101
+ ## Example Usage
102
102
 
103
103
  ```python
104
104
  import pulumi
@@ -132,7 +132,7 @@ def get_consent_store_iam_policy_output(consent_store_id: Optional[pulumi.Input[
132
132
  """
133
133
  Retrieves the current IAM policy data for consentstore
134
134
 
135
- ## example
135
+ ## Example Usage
136
136
 
137
137
  ```python
138
138
  import pulumi
@@ -512,12 +512,15 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
512
512
  ```python
513
513
  import pulumi
514
514
  import pulumi_gcp as gcp
515
+ import pulumi_time as time
515
516
 
516
517
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
517
518
  organization="123456789",
518
519
  location="global",
519
520
  display_name="test org binding",
520
521
  principal_access_boundary_policy_id="my-pab-policy")
522
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
523
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
521
524
  my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
522
525
  organization="123456789",
523
526
  location="global",
@@ -527,7 +530,8 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
527
530
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
528
531
  target={
529
532
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
530
- })
533
+ },
534
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
531
535
  ```
532
536
 
533
537
  ## Import
@@ -596,12 +600,15 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
596
600
  ```python
597
601
  import pulumi
598
602
  import pulumi_gcp as gcp
603
+ import pulumi_time as time
599
604
 
600
605
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
601
606
  organization="123456789",
602
607
  location="global",
603
608
  display_name="test org binding",
604
609
  principal_access_boundary_policy_id="my-pab-policy")
610
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
605
612
  my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
606
613
  organization="123456789",
607
614
  location="global",
@@ -611,7 +618,8 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
611
618
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
612
619
  target={
613
620
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
614
- })
621
+ },
622
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
615
623
  ```
616
624
 
617
625
  ## Import
@@ -505,6 +505,7 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
505
505
  ```python
506
506
  import pulumi
507
507
  import pulumi_gcp as gcp
508
+ import pulumi_time as time
508
509
 
509
510
  project = gcp.organizations.get_project()
510
511
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
@@ -512,6 +513,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
512
513
  location="global",
513
514
  display_name="test project binding",
514
515
  principal_access_boundary_policy_id="my-pab-policy")
516
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
517
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
515
518
  my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
516
519
  project=project.project_id,
517
520
  location="global",
@@ -521,7 +524,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
521
524
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
522
525
  target={
523
526
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
524
- })
527
+ },
528
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
525
529
  ```
526
530
 
527
531
  ## Import
@@ -595,6 +599,7 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
595
599
  ```python
596
600
  import pulumi
597
601
  import pulumi_gcp as gcp
602
+ import pulumi_time as time
598
603
 
599
604
  project = gcp.organizations.get_project()
600
605
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
@@ -602,6 +607,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
602
607
  location="global",
603
608
  display_name="test project binding",
604
609
  principal_access_boundary_policy_id="my-pab-policy")
610
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
605
612
  my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
606
613
  project=project.project_id,
607
614
  location="global",
@@ -611,7 +618,8 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
611
618
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
612
619
  target={
613
620
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
614
- })
621
+ },
622
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
615
623
  ```
616
624
 
617
625
  ## Import
@@ -99,7 +99,7 @@ class WorkforcePoolProviderArgs:
99
99
  :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
100
100
  attributes. This should be used when users can't get the desired claims
101
101
  in authentication credentials. Currently this configuration is only
102
- supported with OIDC protocol.
102
+ supported with SAML and OIDC protocol.
103
103
  Structure is documented below.
104
104
  :param pulumi.Input['WorkforcePoolProviderOidcArgs'] oidc: Represents an OpenId Connect 1.0 identity provider.
105
105
  Structure is documented below.
@@ -283,7 +283,7 @@ class WorkforcePoolProviderArgs:
283
283
  The configuration for OAuth 2.0 client used to get the additional user
284
284
  attributes. This should be used when users can't get the desired claims
285
285
  in authentication credentials. Currently this configuration is only
286
- supported with OIDC protocol.
286
+ supported with SAML and OIDC protocol.
287
287
  Structure is documented below.
288
288
  """
289
289
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -391,7 +391,7 @@ class _WorkforcePoolProviderState:
391
391
  :param pulumi.Input['WorkforcePoolProviderExtraAttributesOauth2ClientArgs'] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
392
392
  attributes. This should be used when users can't get the desired claims
393
393
  in authentication credentials. Currently this configuration is only
394
- supported with OIDC protocol.
394
+ supported with SAML and OIDC protocol.
395
395
  Structure is documented below.
396
396
  :param pulumi.Input[str] location: The location for the resource.
397
397
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
@@ -557,7 +557,7 @@ class _WorkforcePoolProviderState:
557
557
  The configuration for OAuth 2.0 client used to get the additional user
558
558
  attributes. This should be used when users can't get the desired claims
559
559
  in authentication credentials. Currently this configuration is only
560
- supported with OIDC protocol.
560
+ supported with SAML and OIDC protocol.
561
561
  Structure is documented below.
562
562
  """
563
563
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -737,7 +737,20 @@ class WorkforcePoolProvider(pulumi.CustomResource):
737
737
  "google.subject": "assertion.sub",
738
738
  },
739
739
  saml={
740
- "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>",
740
+ "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989\\"><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>",
741
+ },
742
+ extra_attributes_oauth2_client={
743
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
744
+ "client_id": "client-id",
745
+ "client_secret": {
746
+ "value": {
747
+ "plain_text": "client-secret",
748
+ },
749
+ },
750
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
751
+ "query_parameters": {
752
+ "filter": "mail:gcp",
753
+ },
741
754
  },
742
755
  display_name="Display name",
743
756
  description="A sample SAML workforce pool provider.",
@@ -793,7 +806,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
793
806
  "google.subject": "assertion.sub",
794
807
  },
795
808
  oidc={
796
- "issuer_uri": "https://accounts.thirdparty.com",
809
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
797
810
  "client_id": "client-id",
798
811
  "client_secret": {
799
812
  "value": {
@@ -809,6 +822,19 @@ class WorkforcePoolProvider(pulumi.CustomResource):
809
822
  ],
810
823
  },
811
824
  },
825
+ extra_attributes_oauth2_client={
826
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
827
+ "client_id": "client-id",
828
+ "client_secret": {
829
+ "value": {
830
+ "plain_text": "client-secret",
831
+ },
832
+ },
833
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
834
+ "query_parameters": {
835
+ "filter": "mail:sales",
836
+ },
837
+ },
812
838
  display_name="Display name",
813
839
  description="A sample OIDC workforce pool provider.",
814
840
  disabled=False,
@@ -974,7 +1000,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
974
1000
  :param pulumi.Input[Union['WorkforcePoolProviderExtraAttributesOauth2ClientArgs', 'WorkforcePoolProviderExtraAttributesOauth2ClientArgsDict']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
975
1001
  attributes. This should be used when users can't get the desired claims
976
1002
  in authentication credentials. Currently this configuration is only
977
- supported with OIDC protocol.
1003
+ supported with SAML and OIDC protocol.
978
1004
  Structure is documented below.
979
1005
  :param pulumi.Input[str] location: The location for the resource.
980
1006
  :param pulumi.Input[Union['WorkforcePoolProviderOidcArgs', 'WorkforcePoolProviderOidcArgsDict']] oidc: Represents an OpenId Connect 1.0 identity provider.
@@ -1051,7 +1077,20 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1051
1077
  "google.subject": "assertion.sub",
1052
1078
  },
1053
1079
  saml={
1054
- "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>",
1080
+ "idp_metadata_xml": "<?xml version=\\"1.0\\"?><md:EntityDescriptor xmlns:md=\\"urn:oasis:names:tc:SAML:2.0:metadata\\" entityID=\\"https://sts.windows.net/826602fe-2101-470c-9d71-ee1343668989\\"><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>",
1081
+ },
1082
+ extra_attributes_oauth2_client={
1083
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1084
+ "client_id": "client-id",
1085
+ "client_secret": {
1086
+ "value": {
1087
+ "plain_text": "client-secret",
1088
+ },
1089
+ },
1090
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
1091
+ "query_parameters": {
1092
+ "filter": "mail:gcp",
1093
+ },
1055
1094
  },
1056
1095
  display_name="Display name",
1057
1096
  description="A sample SAML workforce pool provider.",
@@ -1107,7 +1146,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1107
1146
  "google.subject": "assertion.sub",
1108
1147
  },
1109
1148
  oidc={
1110
- "issuer_uri": "https://accounts.thirdparty.com",
1149
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1111
1150
  "client_id": "client-id",
1112
1151
  "client_secret": {
1113
1152
  "value": {
@@ -1123,6 +1162,19 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1123
1162
  ],
1124
1163
  },
1125
1164
  },
1165
+ extra_attributes_oauth2_client={
1166
+ "issuer_uri": "https://login.microsoftonline.com/826602fe-2101-470c-9d71-ee1343668989/v2.0",
1167
+ "client_id": "client-id",
1168
+ "client_secret": {
1169
+ "value": {
1170
+ "plain_text": "client-secret",
1171
+ },
1172
+ },
1173
+ "attributes_type": "AZURE_AD_GROUPS_MAIL",
1174
+ "query_parameters": {
1175
+ "filter": "mail:sales",
1176
+ },
1177
+ },
1126
1178
  display_name="Display name",
1127
1179
  description="A sample OIDC workforce pool provider.",
1128
1180
  disabled=False,
@@ -1370,7 +1422,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1370
1422
  :param pulumi.Input[Union['WorkforcePoolProviderExtraAttributesOauth2ClientArgs', 'WorkforcePoolProviderExtraAttributesOauth2ClientArgsDict']] extra_attributes_oauth2_client: The configuration for OAuth 2.0 client used to get the additional user
1371
1423
  attributes. This should be used when users can't get the desired claims
1372
1424
  in authentication credentials. Currently this configuration is only
1373
- supported with OIDC protocol.
1425
+ supported with SAML and OIDC protocol.
1374
1426
  Structure is documented below.
1375
1427
  :param pulumi.Input[str] location: The location for the resource.
1376
1428
  :param pulumi.Input[str] name: Output only. The resource name of the provider.
@@ -1508,7 +1560,7 @@ class WorkforcePoolProvider(pulumi.CustomResource):
1508
1560
  The configuration for OAuth 2.0 client used to get the additional user
1509
1561
  attributes. This should be used when users can't get the desired claims
1510
1562
  in authentication credentials. Currently this configuration is only
1511
- supported with OIDC protocol.
1563
+ supported with SAML and OIDC protocol.
1512
1564
  Structure is documented below.
1513
1565
  """
1514
1566
  return pulumi.get(self, "extra_attributes_oauth2_client")
@@ -108,7 +108,7 @@ def get_app_engine_service_iam_policy(app_id: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for appengineservice
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -146,7 +146,7 @@ def get_app_engine_service_iam_policy_output(app_id: Optional[pulumi.Input[str]]
146
146
  """
147
147
  Retrieves the current IAM policy data for appengineservice
148
148
 
149
- ## example
149
+ ## Example Usage
150
150
 
151
151
  ```python
152
152
  import pulumi
@@ -118,7 +118,7 @@ def get_app_engine_version_iam_policy(app_id: Optional[str] = None,
118
118
  """
119
119
  Retrieves the current IAM policy data for appengineversion
120
120
 
121
- ## example
121
+ ## Example Usage
122
122
 
123
123
  ```python
124
124
  import pulumi
@@ -161,7 +161,7 @@ def get_app_engine_version_iam_policy_output(app_id: Optional[pulumi.Input[str]]
161
161
  """
162
162
  Retrieves the current IAM policy data for appengineversion
163
163
 
164
- ## example
164
+ ## Example Usage
165
165
 
166
166
  ```python
167
167
  import pulumi
@@ -108,7 +108,7 @@ def get_tunnel_dest_group_iam_policy(dest_group: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for tunneldestgroup
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -148,7 +148,7 @@ def get_tunnel_dest_group_iam_policy_output(dest_group: Optional[pulumi.Input[st
148
148
  """
149
149
  Retrieves the current IAM policy data for tunneldestgroup
150
150
 
151
- ## example
151
+ ## Example Usage
152
152
 
153
153
  ```python
154
154
  import pulumi
@@ -88,7 +88,7 @@ def get_tunnel_iam_policy(project: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for tunnel
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -116,7 +116,7 @@ def get_tunnel_iam_policy_output(project: Optional[pulumi.Input[Optional[str]]]
116
116
  """
117
117
  Retrieves the current IAM policy data for tunnel
118
118
 
119
- ## example
119
+ ## Example Usage
120
120
 
121
121
  ```python
122
122
  import pulumi
@@ -108,7 +108,7 @@ def get_tunnel_instance_iam_policy(instance: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for tunnelinstance
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -145,7 +145,7 @@ def get_tunnel_instance_iam_policy_output(instance: Optional[pulumi.Input[str]]
145
145
  """
146
146
  Retrieves the current IAM policy data for tunnelinstance
147
147
 
148
- ## example
148
+ ## Example Usage
149
149
 
150
150
  ```python
151
151
  import pulumi
@@ -98,7 +98,7 @@ def get_web_backend_service_iam_policy(project: Optional[str] = None,
98
98
  """
99
99
  Retrieves the current IAM policy data for webbackendservice
100
100
 
101
- ## example
101
+ ## Example Usage
102
102
 
103
103
  ```python
104
104
  import pulumi
@@ -131,7 +131,7 @@ def get_web_backend_service_iam_policy_output(project: Optional[pulumi.Input[Opt
131
131
  """
132
132
  Retrieves the current IAM policy data for webbackendservice
133
133
 
134
- ## example
134
+ ## Example Usage
135
135
 
136
136
  ```python
137
137
  import pulumi
@@ -88,7 +88,7 @@ def get_web_iam_policy(project: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for web
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -116,7 +116,7 @@ def get_web_iam_policy_output(project: Optional[pulumi.Input[Optional[str]]] = N
116
116
  """
117
117
  Retrieves the current IAM policy data for web
118
118
 
119
- ## example
119
+ ## Example Usage
120
120
 
121
121
  ```python
122
122
  import pulumi
@@ -108,7 +108,7 @@ def get_web_region_backend_service_iam_policy(project: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for webregionbackendservice
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -145,7 +145,7 @@ def get_web_region_backend_service_iam_policy_output(project: Optional[pulumi.In
145
145
  """
146
146
  Retrieves the current IAM policy data for webregionbackendservice
147
147
 
148
- ## example
148
+ ## Example Usage
149
149
 
150
150
  ```python
151
151
  import pulumi
@@ -98,7 +98,7 @@ def get_web_type_app_engine_iam_policy(app_id: Optional[str] = None,
98
98
  """
99
99
  Retrieves the current IAM policy data for webtypeappengine
100
100
 
101
- ## example
101
+ ## Example Usage
102
102
 
103
103
  ```python
104
104
  import pulumi
@@ -131,7 +131,7 @@ def get_web_type_app_engine_iam_policy_output(app_id: Optional[pulumi.Input[str]
131
131
  """
132
132
  Retrieves the current IAM policy data for webtypeappengine
133
133
 
134
- ## example
134
+ ## Example Usage
135
135
 
136
136
  ```python
137
137
  import pulumi
@@ -88,7 +88,7 @@ def get_web_type_compute_iam_policy(project: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for webtypecompute
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -116,7 +116,7 @@ def get_web_type_compute_iam_policy_output(project: Optional[pulumi.Input[Option
116
116
  """
117
117
  Retrieves the current IAM policy data for webtypecompute
118
118
 
119
- ## example
119
+ ## Example Usage
120
120
 
121
121
  ```python
122
122
  import pulumi
@@ -108,7 +108,7 @@ def get_ekm_connection_iam_policy(location: Optional[str] = None,
108
108
  """
109
109
  Retrieves the current IAM policy data for ekmconnection
110
110
 
111
- ## example
111
+ ## Example Usage
112
112
 
113
113
  ```python
114
114
  import pulumi
@@ -150,7 +150,7 @@ def get_ekm_connection_iam_policy_output(location: Optional[pulumi.Input[Optiona
150
150
  """
151
151
  Retrieves the current IAM policy data for ekmconnection
152
152
 
153
- ## example
153
+ ## Example Usage
154
154
 
155
155
  ```python
156
156
  import pulumi
@@ -118,7 +118,7 @@ def get_log_view_iam_policy(bucket: Optional[str] = None,
118
118
  """
119
119
  Retrieves the current IAM policy data for logview
120
120
 
121
- ## example
121
+ ## Example Usage
122
122
 
123
123
  ```python
124
124
  import pulumi
@@ -162,7 +162,7 @@ def get_log_view_iam_policy_output(bucket: Optional[pulumi.Input[str]] = None,
162
162
  """
163
163
  Retrieves the current IAM policy data for logview
164
164
 
165
- ## example
165
+ ## Example Usage
166
166
 
167
167
  ```python
168
168
  import pulumi