pulumi-gcp 8.7.0a1730196225__py3-none-any.whl → 8.8.0__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 (347) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +4 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +4 -4
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +4 -4
  5. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -2
  6. pulumi_gcp/apigateway/api_config_iam_member.py +2 -2
  7. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -2
  8. pulumi_gcp/apigateway/api_iam_binding.py +2 -2
  9. pulumi_gcp/apigateway/api_iam_member.py +2 -2
  10. pulumi_gcp/apigateway/api_iam_policy.py +2 -2
  11. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -2
  12. pulumi_gcp/apigateway/gateway_iam_member.py +2 -2
  13. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -2
  14. pulumi_gcp/apigee/environment_iam_binding.py +4 -4
  15. pulumi_gcp/apigee/environment_iam_member.py +4 -4
  16. pulumi_gcp/apigee/environment_iam_policy.py +4 -4
  17. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  18. pulumi_gcp/apphub/_inputs.py +6 -3
  19. pulumi_gcp/apphub/application.py +30 -4
  20. pulumi_gcp/apphub/outputs.py +8 -4
  21. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -2
  22. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -2
  23. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -2
  24. pulumi_gcp/assuredworkloads/_inputs.py +34 -0
  25. pulumi_gcp/assuredworkloads/outputs.py +37 -0
  26. pulumi_gcp/assuredworkloads/workload.py +56 -3
  27. pulumi_gcp/backupdisasterrecovery/_inputs.py +0 -6
  28. pulumi_gcp/backupdisasterrecovery/management_server.py +80 -34
  29. pulumi_gcp/backupdisasterrecovery/outputs.py +0 -4
  30. pulumi_gcp/biglake/table.py +12 -12
  31. pulumi_gcp/bigquery/_inputs.py +60 -0
  32. pulumi_gcp/bigquery/connection.py +2 -2
  33. pulumi_gcp/bigquery/connection_iam_binding.py +2 -2
  34. pulumi_gcp/bigquery/connection_iam_member.py +2 -2
  35. pulumi_gcp/bigquery/connection_iam_policy.py +2 -2
  36. pulumi_gcp/bigquery/dataset.py +99 -2
  37. pulumi_gcp/bigquery/dataset_access.py +2 -2
  38. pulumi_gcp/bigquery/dataset_iam_binding.py +53 -0
  39. pulumi_gcp/bigquery/dataset_iam_member.py +53 -0
  40. pulumi_gcp/bigquery/dataset_iam_policy.py +32 -0
  41. pulumi_gcp/bigquery/get_dataset.py +12 -1
  42. pulumi_gcp/bigquery/iam_binding.py +2 -2
  43. pulumi_gcp/bigquery/iam_member.py +2 -2
  44. pulumi_gcp/bigquery/iam_policy.py +2 -2
  45. pulumi_gcp/bigquery/outputs.py +87 -0
  46. pulumi_gcp/bigquery/routine.py +6 -6
  47. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -2
  48. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -2
  49. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -2
  50. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -2
  51. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -2
  52. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -2
  53. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -2
  54. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -2
  55. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -2
  56. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -2
  57. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -2
  58. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -2
  59. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -2
  60. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -2
  61. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -2
  62. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -2
  63. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -2
  64. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -2
  65. pulumi_gcp/cloudbuild/trigger.py +18 -18
  66. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -2
  67. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -2
  68. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -2
  69. pulumi_gcp/clouddeploy/delivery_pipeline.py +10 -10
  70. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -2
  71. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -2
  72. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -2
  73. pulumi_gcp/cloudfunctionsv2/function.py +22 -22
  74. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -2
  75. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -2
  76. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -2
  77. pulumi_gcp/cloudrun/iam_binding.py +2 -2
  78. pulumi_gcp/cloudrun/iam_member.py +2 -2
  79. pulumi_gcp/cloudrun/iam_policy.py +2 -2
  80. pulumi_gcp/cloudrun/service.py +24 -24
  81. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -2
  82. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -2
  83. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -2
  84. pulumi_gcp/cloudrunv2/service.py +2 -2
  85. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -2
  86. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -2
  87. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -2
  88. pulumi_gcp/cloudscheduler/job.py +4 -4
  89. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -2
  90. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -2
  91. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -2
  92. pulumi_gcp/compute/__init__.py +1 -0
  93. pulumi_gcp/compute/_inputs.py +182 -50
  94. pulumi_gcp/compute/backend_bucket_iam_binding.py +2 -2
  95. pulumi_gcp/compute/backend_bucket_iam_member.py +2 -2
  96. pulumi_gcp/compute/backend_bucket_iam_policy.py +2 -2
  97. pulumi_gcp/compute/backend_service_iam_binding.py +2 -2
  98. pulumi_gcp/compute/backend_service_iam_member.py +2 -2
  99. pulumi_gcp/compute/backend_service_iam_policy.py +2 -2
  100. pulumi_gcp/compute/disk_iam_binding.py +2 -2
  101. pulumi_gcp/compute/disk_iam_member.py +2 -2
  102. pulumi_gcp/compute/disk_iam_policy.py +2 -2
  103. pulumi_gcp/compute/get_instance_guest_attributes.py +277 -0
  104. pulumi_gcp/compute/image.py +76 -22
  105. pulumi_gcp/compute/image_iam_binding.py +2 -2
  106. pulumi_gcp/compute/image_iam_member.py +2 -2
  107. pulumi_gcp/compute/image_iam_policy.py +2 -2
  108. pulumi_gcp/compute/instance_iam_binding.py +2 -2
  109. pulumi_gcp/compute/instance_iam_member.py +2 -2
  110. pulumi_gcp/compute/instance_iam_policy.py +2 -2
  111. pulumi_gcp/compute/machine_image_iam_binding.py +2 -2
  112. pulumi_gcp/compute/machine_image_iam_member.py +2 -2
  113. pulumi_gcp/compute/machine_image_iam_policy.py +2 -2
  114. pulumi_gcp/compute/outputs.py +197 -30
  115. pulumi_gcp/compute/region_backend_service_iam_binding.py +2 -2
  116. pulumi_gcp/compute/region_backend_service_iam_member.py +2 -2
  117. pulumi_gcp/compute/region_backend_service_iam_policy.py +2 -2
  118. pulumi_gcp/compute/region_disk_iam_binding.py +2 -2
  119. pulumi_gcp/compute/region_disk_iam_member.py +2 -2
  120. pulumi_gcp/compute/region_disk_iam_policy.py +2 -2
  121. pulumi_gcp/compute/region_security_policy_rule.py +74 -0
  122. pulumi_gcp/compute/security_policy_rule.py +111 -13
  123. pulumi_gcp/compute/snapshot_iam_binding.py +2 -2
  124. pulumi_gcp/compute/snapshot_iam_member.py +2 -2
  125. pulumi_gcp/compute/snapshot_iam_policy.py +2 -2
  126. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -2
  127. pulumi_gcp/compute/subnetwork_iam_member.py +2 -2
  128. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -2
  129. pulumi_gcp/compute/url_map.py +10 -10
  130. pulumi_gcp/container/aws_node_pool.py +12 -12
  131. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -2
  132. pulumi_gcp/containeranalysis/note_iam_member.py +2 -2
  133. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -2
  134. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -2
  135. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -2
  136. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -2
  137. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +4 -4
  138. pulumi_gcp/datacatalog/policy_tag_iam_member.py +4 -4
  139. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +4 -4
  140. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -2
  141. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -2
  142. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -2
  143. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -2
  144. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -2
  145. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -2
  146. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -2
  147. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -2
  148. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -2
  149. pulumi_gcp/dataplex/asset_iam_binding.py +2 -2
  150. pulumi_gcp/dataplex/asset_iam_member.py +2 -2
  151. pulumi_gcp/dataplex/asset_iam_policy.py +2 -2
  152. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -2
  153. pulumi_gcp/dataplex/datascan_iam_member.py +2 -2
  154. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -2
  155. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -2
  156. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -2
  157. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -2
  158. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -2
  159. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -2
  160. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -2
  161. pulumi_gcp/dataplex/lake_iam_binding.py +2 -2
  162. pulumi_gcp/dataplex/lake_iam_member.py +2 -2
  163. pulumi_gcp/dataplex/lake_iam_policy.py +2 -2
  164. pulumi_gcp/dataplex/task.py +4 -4
  165. pulumi_gcp/dataplex/task_iam_binding.py +2 -2
  166. pulumi_gcp/dataplex/task_iam_member.py +2 -2
  167. pulumi_gcp/dataplex/task_iam_policy.py +2 -2
  168. pulumi_gcp/dataplex/zone_iam_binding.py +2 -2
  169. pulumi_gcp/dataplex/zone_iam_member.py +2 -2
  170. pulumi_gcp/dataplex/zone_iam_policy.py +2 -2
  171. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -2
  172. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -2
  173. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -2
  174. pulumi_gcp/dataproc/batch.py +24 -24
  175. pulumi_gcp/dataproc/cluster.py +2 -2
  176. pulumi_gcp/dataproc/job.py +4 -4
  177. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -2
  178. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -2
  179. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -2
  180. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -2
  181. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -2
  182. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -2
  183. pulumi_gcp/diagflow/cx_flow.py +4 -4
  184. pulumi_gcp/diagflow/cx_page.py +10 -10
  185. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -2
  186. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -2
  187. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -2
  188. pulumi_gcp/endpoints/consumers_iam_binding.py +2 -2
  189. pulumi_gcp/endpoints/consumers_iam_member.py +2 -2
  190. pulumi_gcp/endpoints/consumers_iam_policy.py +2 -2
  191. pulumi_gcp/endpoints/service_iam_binding.py +4 -4
  192. pulumi_gcp/endpoints/service_iam_member.py +4 -4
  193. pulumi_gcp/endpoints/service_iam_policy.py +4 -4
  194. pulumi_gcp/firebase/extensions_instance.py +24 -24
  195. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -2
  196. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -2
  197. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -2
  198. pulumi_gcp/gkebackup/restore_plan.py +18 -18
  199. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -2
  200. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -2
  201. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -2
  202. pulumi_gcp/gkehub/_inputs.py +21 -21
  203. pulumi_gcp/gkehub/feature_iam_binding.py +2 -2
  204. pulumi_gcp/gkehub/feature_iam_member.py +2 -2
  205. pulumi_gcp/gkehub/feature_iam_policy.py +2 -2
  206. pulumi_gcp/gkehub/membership_iam_binding.py +2 -2
  207. pulumi_gcp/gkehub/membership_iam_member.py +2 -2
  208. pulumi_gcp/gkehub/membership_iam_policy.py +2 -2
  209. pulumi_gcp/gkehub/outputs.py +13 -13
  210. pulumi_gcp/gkehub/scope_iam_binding.py +2 -2
  211. pulumi_gcp/gkehub/scope_iam_member.py +2 -2
  212. pulumi_gcp/gkehub/scope_iam_policy.py +2 -2
  213. pulumi_gcp/healthcare/consent_store_iam_binding.py +4 -4
  214. pulumi_gcp/healthcare/consent_store_iam_member.py +4 -4
  215. pulumi_gcp/healthcare/consent_store_iam_policy.py +4 -4
  216. pulumi_gcp/iap/__init__.py +1 -0
  217. pulumi_gcp/iap/_inputs.py +1002 -0
  218. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -2
  219. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -2
  220. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -2
  221. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -2
  222. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -2
  223. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -2
  224. pulumi_gcp/iap/outputs.py +827 -0
  225. pulumi_gcp/iap/settings.py +546 -0
  226. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -2
  227. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -2
  228. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -2
  229. pulumi_gcp/iap/tunnel_iam_binding.py +2 -2
  230. pulumi_gcp/iap/tunnel_iam_member.py +2 -2
  231. pulumi_gcp/iap/tunnel_iam_policy.py +2 -2
  232. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -2
  233. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -2
  234. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -2
  235. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -2
  236. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -2
  237. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -2
  238. pulumi_gcp/iap/web_iam_binding.py +2 -2
  239. pulumi_gcp/iap/web_iam_member.py +2 -2
  240. pulumi_gcp/iap/web_iam_policy.py +2 -2
  241. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -2
  242. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -2
  243. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -2
  244. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -2
  245. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -2
  246. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -2
  247. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -2
  248. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -2
  249. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -2
  250. pulumi_gcp/identityplatform/config.py +2 -2
  251. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -2
  252. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -2
  253. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -2
  254. pulumi_gcp/logging/log_view_iam_binding.py +4 -4
  255. pulumi_gcp/logging/log_view_iam_member.py +4 -4
  256. pulumi_gcp/logging/log_view_iam_policy.py +4 -4
  257. pulumi_gcp/memorystore/_inputs.py +117 -4
  258. pulumi_gcp/memorystore/instance.py +105 -0
  259. pulumi_gcp/memorystore/outputs.py +80 -4
  260. pulumi_gcp/networksecurity/address_group_iam_binding.py +2 -2
  261. pulumi_gcp/networksecurity/address_group_iam_member.py +2 -2
  262. pulumi_gcp/networksecurity/address_group_iam_policy.py +2 -2
  263. pulumi_gcp/networksecurity/gateway_security_policy.py +7 -0
  264. pulumi_gcp/networkservices/edge_cache_service.py +2 -2
  265. pulumi_gcp/networkservices/http_route.py +4 -4
  266. pulumi_gcp/notebooks/instance_iam_binding.py +2 -2
  267. pulumi_gcp/notebooks/instance_iam_member.py +2 -2
  268. pulumi_gcp/notebooks/instance_iam_policy.py +2 -2
  269. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -2
  270. pulumi_gcp/notebooks/runtime_iam_member.py +2 -2
  271. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -2
  272. pulumi_gcp/osconfig/os_policy_assignment.py +4 -4
  273. pulumi_gcp/pubsub/schema_iam_binding.py +2 -2
  274. pulumi_gcp/pubsub/schema_iam_member.py +2 -2
  275. pulumi_gcp/pubsub/schema_iam_policy.py +2 -2
  276. pulumi_gcp/pubsub/subscription.py +18 -66
  277. pulumi_gcp/pubsub/topic_iam_binding.py +2 -2
  278. pulumi_gcp/pubsub/topic_iam_member.py +2 -2
  279. pulumi_gcp/pubsub/topic_iam_policy.py +2 -2
  280. pulumi_gcp/pulumi-plugin.json +1 -1
  281. pulumi_gcp/runtimeconfig/config_iam_binding.py +2 -2
  282. pulumi_gcp/runtimeconfig/config_iam_member.py +2 -2
  283. pulumi_gcp/runtimeconfig/config_iam_policy.py +2 -2
  284. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -2
  285. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -2
  286. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -2
  287. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -2
  288. pulumi_gcp/secretmanager/secret_iam_member.py +2 -2
  289. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -2
  290. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -2
  291. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -2
  292. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -2
  293. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +4 -4
  294. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +4 -4
  295. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +4 -4
  296. pulumi_gcp/serviceaccount/__init__.py +1 -0
  297. pulumi_gcp/serviceaccount/get_account.py +15 -1
  298. pulumi_gcp/serviceaccount/get_s.py +132 -0
  299. pulumi_gcp/serviceaccount/outputs.py +89 -0
  300. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  301. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  302. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  303. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  304. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  305. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  306. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -2
  307. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -2
  308. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -2
  309. pulumi_gcp/spanner/_inputs.py +208 -12
  310. pulumi_gcp/spanner/outputs.py +287 -9
  311. pulumi_gcp/sql/_inputs.py +6 -3
  312. pulumi_gcp/sql/outputs.py +4 -2
  313. pulumi_gcp/storage/_inputs.py +3 -6
  314. pulumi_gcp/storage/bucket.py +7 -7
  315. pulumi_gcp/storage/bucket_iam_binding.py +2 -2
  316. pulumi_gcp/storage/bucket_iam_member.py +2 -2
  317. pulumi_gcp/storage/bucket_iam_policy.py +2 -2
  318. pulumi_gcp/storage/managed_folder_iam_binding.py +4 -4
  319. pulumi_gcp/storage/managed_folder_iam_member.py +4 -4
  320. pulumi_gcp/storage/managed_folder_iam_policy.py +4 -4
  321. pulumi_gcp/storage/outputs.py +4 -6
  322. pulumi_gcp/tags/tag_key_iam_binding.py +4 -4
  323. pulumi_gcp/tags/tag_key_iam_member.py +4 -4
  324. pulumi_gcp/tags/tag_key_iam_policy.py +4 -4
  325. pulumi_gcp/tags/tag_value_iam_binding.py +4 -4
  326. pulumi_gcp/tags/tag_value_iam_member.py +4 -4
  327. pulumi_gcp/tags/tag_value_iam_policy.py +4 -4
  328. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +2 -2
  329. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +2 -2
  330. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +2 -2
  331. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +2 -2
  332. pulumi_gcp/vertex/ai_feature_store_iam_member.py +2 -2
  333. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +2 -2
  334. pulumi_gcp/vmwareengine/_inputs.py +472 -6
  335. pulumi_gcp/vmwareengine/outputs.py +668 -22
  336. pulumi_gcp/vmwareengine/private_cloud.py +44 -0
  337. pulumi_gcp/workstations/workstation_config.py +6 -6
  338. pulumi_gcp/workstations/workstation_config_iam_binding.py +2 -2
  339. pulumi_gcp/workstations/workstation_config_iam_member.py +2 -2
  340. pulumi_gcp/workstations/workstation_config_iam_policy.py +2 -2
  341. pulumi_gcp/workstations/workstation_iam_binding.py +2 -2
  342. pulumi_gcp/workstations/workstation_iam_member.py +2 -2
  343. pulumi_gcp/workstations/workstation_iam_policy.py +2 -2
  344. {pulumi_gcp-8.7.0a1730196225.dist-info → pulumi_gcp-8.8.0.dist-info}/METADATA +1 -1
  345. {pulumi_gcp-8.7.0a1730196225.dist-info → pulumi_gcp-8.8.0.dist-info}/RECORD +347 -344
  346. {pulumi_gcp-8.7.0a1730196225.dist-info → pulumi_gcp-8.8.0.dist-info}/WHEEL +0 -0
  347. {pulumi_gcp-8.7.0a1730196225.dist-info → pulumi_gcp-8.8.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/iap/outputs.py CHANGED
@@ -13,12 +13,25 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
16
17
 
17
18
  __all__ = [
18
19
  'AppEngineServiceIamBindingCondition',
19
20
  'AppEngineServiceIamMemberCondition',
20
21
  'AppEngineVersionIamBindingCondition',
21
22
  'AppEngineVersionIamMemberCondition',
23
+ 'SettingsAccessSettings',
24
+ 'SettingsAccessSettingsAllowedDomainsSettings',
25
+ 'SettingsAccessSettingsCorsSettings',
26
+ 'SettingsAccessSettingsGcipSettings',
27
+ 'SettingsAccessSettingsOauthSettings',
28
+ 'SettingsAccessSettingsReauthSettings',
29
+ 'SettingsAccessSettingsWorkforceIdentitySettings',
30
+ 'SettingsAccessSettingsWorkforceIdentitySettingsOauth2',
31
+ 'SettingsApplicationSettings',
32
+ 'SettingsApplicationSettingsAccessDeniedPageSettings',
33
+ 'SettingsApplicationSettingsAttributePropagationSettings',
34
+ 'SettingsApplicationSettingsCsmSettings',
22
35
  'TunnelDestGroupIamBindingCondition',
23
36
  'TunnelDestGroupIamMemberCondition',
24
37
  'TunnelIamBindingCondition',
@@ -233,6 +246,820 @@ class AppEngineVersionIamMemberCondition(dict):
233
246
  return pulumi.get(self, "description")
234
247
 
235
248
 
249
+ @pulumi.output_type
250
+ class SettingsAccessSettings(dict):
251
+ @staticmethod
252
+ def __key_warning(key: str):
253
+ suggest = None
254
+ if key == "allowedDomainsSettings":
255
+ suggest = "allowed_domains_settings"
256
+ elif key == "corsSettings":
257
+ suggest = "cors_settings"
258
+ elif key == "gcipSettings":
259
+ suggest = "gcip_settings"
260
+ elif key == "identitySources":
261
+ suggest = "identity_sources"
262
+ elif key == "oauthSettings":
263
+ suggest = "oauth_settings"
264
+ elif key == "reauthSettings":
265
+ suggest = "reauth_settings"
266
+ elif key == "workforceIdentitySettings":
267
+ suggest = "workforce_identity_settings"
268
+
269
+ if suggest:
270
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettings. Access the value via the '{suggest}' property getter instead.")
271
+
272
+ def __getitem__(self, key: str) -> Any:
273
+ SettingsAccessSettings.__key_warning(key)
274
+ return super().__getitem__(key)
275
+
276
+ def get(self, key: str, default = None) -> Any:
277
+ SettingsAccessSettings.__key_warning(key)
278
+ return super().get(key, default)
279
+
280
+ def __init__(__self__, *,
281
+ allowed_domains_settings: Optional['outputs.SettingsAccessSettingsAllowedDomainsSettings'] = None,
282
+ cors_settings: Optional['outputs.SettingsAccessSettingsCorsSettings'] = None,
283
+ gcip_settings: Optional['outputs.SettingsAccessSettingsGcipSettings'] = None,
284
+ identity_sources: Optional[Sequence[str]] = None,
285
+ oauth_settings: Optional['outputs.SettingsAccessSettingsOauthSettings'] = None,
286
+ reauth_settings: Optional['outputs.SettingsAccessSettingsReauthSettings'] = None,
287
+ workforce_identity_settings: Optional['outputs.SettingsAccessSettingsWorkforceIdentitySettings'] = None):
288
+ """
289
+ :param 'SettingsAccessSettingsAllowedDomainsSettingsArgs' allowed_domains_settings: Settings to configure and enable allowed domains.
290
+ Structure is documented below.
291
+ :param 'SettingsAccessSettingsCorsSettingsArgs' cors_settings: Configuration to allow cross-origin requests via IAP.
292
+ Structure is documented below.
293
+ :param 'SettingsAccessSettingsGcipSettingsArgs' gcip_settings: GCIP claims and endpoint configurations for 3p identity providers.
294
+ Structure is documented below.
295
+ :param Sequence[str] identity_sources: Identity sources that IAP can use to authenticate the end user. Only one identity source
296
+ can be configured. The possible values are:
297
+ * `WORKFORCE_IDENTITY_FEDERATION`: Use external identities set up on Google Cloud Workforce
298
+ Identity Federation.
299
+ Each value may be one of: `WORKFORCE_IDENTITY_FEDERATION`.
300
+ :param 'SettingsAccessSettingsOauthSettingsArgs' oauth_settings: Settings to configure IAP's OAuth behavior.
301
+ Structure is documented below.
302
+ :param 'SettingsAccessSettingsReauthSettingsArgs' reauth_settings: Settings to configure reauthentication policies in IAP.
303
+ Structure is documented below.
304
+ :param 'SettingsAccessSettingsWorkforceIdentitySettingsArgs' workforce_identity_settings: Settings to configure the workforce identity federation, including workforce pools
305
+ and OAuth 2.0 settings.
306
+ Structure is documented below.
307
+ """
308
+ if allowed_domains_settings is not None:
309
+ pulumi.set(__self__, "allowed_domains_settings", allowed_domains_settings)
310
+ if cors_settings is not None:
311
+ pulumi.set(__self__, "cors_settings", cors_settings)
312
+ if gcip_settings is not None:
313
+ pulumi.set(__self__, "gcip_settings", gcip_settings)
314
+ if identity_sources is not None:
315
+ pulumi.set(__self__, "identity_sources", identity_sources)
316
+ if oauth_settings is not None:
317
+ pulumi.set(__self__, "oauth_settings", oauth_settings)
318
+ if reauth_settings is not None:
319
+ pulumi.set(__self__, "reauth_settings", reauth_settings)
320
+ if workforce_identity_settings is not None:
321
+ pulumi.set(__self__, "workforce_identity_settings", workforce_identity_settings)
322
+
323
+ @property
324
+ @pulumi.getter(name="allowedDomainsSettings")
325
+ def allowed_domains_settings(self) -> Optional['outputs.SettingsAccessSettingsAllowedDomainsSettings']:
326
+ """
327
+ Settings to configure and enable allowed domains.
328
+ Structure is documented below.
329
+ """
330
+ return pulumi.get(self, "allowed_domains_settings")
331
+
332
+ @property
333
+ @pulumi.getter(name="corsSettings")
334
+ def cors_settings(self) -> Optional['outputs.SettingsAccessSettingsCorsSettings']:
335
+ """
336
+ Configuration to allow cross-origin requests via IAP.
337
+ Structure is documented below.
338
+ """
339
+ return pulumi.get(self, "cors_settings")
340
+
341
+ @property
342
+ @pulumi.getter(name="gcipSettings")
343
+ def gcip_settings(self) -> Optional['outputs.SettingsAccessSettingsGcipSettings']:
344
+ """
345
+ GCIP claims and endpoint configurations for 3p identity providers.
346
+ Structure is documented below.
347
+ """
348
+ return pulumi.get(self, "gcip_settings")
349
+
350
+ @property
351
+ @pulumi.getter(name="identitySources")
352
+ def identity_sources(self) -> Optional[Sequence[str]]:
353
+ """
354
+ Identity sources that IAP can use to authenticate the end user. Only one identity source
355
+ can be configured. The possible values are:
356
+ * `WORKFORCE_IDENTITY_FEDERATION`: Use external identities set up on Google Cloud Workforce
357
+ Identity Federation.
358
+ Each value may be one of: `WORKFORCE_IDENTITY_FEDERATION`.
359
+ """
360
+ return pulumi.get(self, "identity_sources")
361
+
362
+ @property
363
+ @pulumi.getter(name="oauthSettings")
364
+ def oauth_settings(self) -> Optional['outputs.SettingsAccessSettingsOauthSettings']:
365
+ """
366
+ Settings to configure IAP's OAuth behavior.
367
+ Structure is documented below.
368
+ """
369
+ return pulumi.get(self, "oauth_settings")
370
+
371
+ @property
372
+ @pulumi.getter(name="reauthSettings")
373
+ def reauth_settings(self) -> Optional['outputs.SettingsAccessSettingsReauthSettings']:
374
+ """
375
+ Settings to configure reauthentication policies in IAP.
376
+ Structure is documented below.
377
+ """
378
+ return pulumi.get(self, "reauth_settings")
379
+
380
+ @property
381
+ @pulumi.getter(name="workforceIdentitySettings")
382
+ def workforce_identity_settings(self) -> Optional['outputs.SettingsAccessSettingsWorkforceIdentitySettings']:
383
+ """
384
+ Settings to configure the workforce identity federation, including workforce pools
385
+ and OAuth 2.0 settings.
386
+ Structure is documented below.
387
+ """
388
+ return pulumi.get(self, "workforce_identity_settings")
389
+
390
+
391
+ @pulumi.output_type
392
+ class SettingsAccessSettingsAllowedDomainsSettings(dict):
393
+ def __init__(__self__, *,
394
+ domains: Optional[Sequence[str]] = None,
395
+ enable: Optional[bool] = None):
396
+ """
397
+ :param Sequence[str] domains: List of trusted domains.
398
+ :param bool enable: Configuration for customers to opt in for the feature.
399
+ """
400
+ if domains is not None:
401
+ pulumi.set(__self__, "domains", domains)
402
+ if enable is not None:
403
+ pulumi.set(__self__, "enable", enable)
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def domains(self) -> Optional[Sequence[str]]:
408
+ """
409
+ List of trusted domains.
410
+ """
411
+ return pulumi.get(self, "domains")
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def enable(self) -> Optional[bool]:
416
+ """
417
+ Configuration for customers to opt in for the feature.
418
+ """
419
+ return pulumi.get(self, "enable")
420
+
421
+
422
+ @pulumi.output_type
423
+ class SettingsAccessSettingsCorsSettings(dict):
424
+ @staticmethod
425
+ def __key_warning(key: str):
426
+ suggest = None
427
+ if key == "allowHttpOptions":
428
+ suggest = "allow_http_options"
429
+
430
+ if suggest:
431
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsCorsSettings. Access the value via the '{suggest}' property getter instead.")
432
+
433
+ def __getitem__(self, key: str) -> Any:
434
+ SettingsAccessSettingsCorsSettings.__key_warning(key)
435
+ return super().__getitem__(key)
436
+
437
+ def get(self, key: str, default = None) -> Any:
438
+ SettingsAccessSettingsCorsSettings.__key_warning(key)
439
+ return super().get(key, default)
440
+
441
+ def __init__(__self__, *,
442
+ allow_http_options: Optional[bool] = None):
443
+ """
444
+ :param bool allow_http_options: Configuration to allow HTTP OPTIONS calls to skip authorization.
445
+ If undefined, IAP will not apply any special logic to OPTIONS requests.
446
+ """
447
+ if allow_http_options is not None:
448
+ pulumi.set(__self__, "allow_http_options", allow_http_options)
449
+
450
+ @property
451
+ @pulumi.getter(name="allowHttpOptions")
452
+ def allow_http_options(self) -> Optional[bool]:
453
+ """
454
+ Configuration to allow HTTP OPTIONS calls to skip authorization.
455
+ If undefined, IAP will not apply any special logic to OPTIONS requests.
456
+ """
457
+ return pulumi.get(self, "allow_http_options")
458
+
459
+
460
+ @pulumi.output_type
461
+ class SettingsAccessSettingsGcipSettings(dict):
462
+ @staticmethod
463
+ def __key_warning(key: str):
464
+ suggest = None
465
+ if key == "loginPageUri":
466
+ suggest = "login_page_uri"
467
+ elif key == "tenantIds":
468
+ suggest = "tenant_ids"
469
+
470
+ if suggest:
471
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsGcipSettings. Access the value via the '{suggest}' property getter instead.")
472
+
473
+ def __getitem__(self, key: str) -> Any:
474
+ SettingsAccessSettingsGcipSettings.__key_warning(key)
475
+ return super().__getitem__(key)
476
+
477
+ def get(self, key: str, default = None) -> Any:
478
+ SettingsAccessSettingsGcipSettings.__key_warning(key)
479
+ return super().get(key, default)
480
+
481
+ def __init__(__self__, *,
482
+ login_page_uri: Optional[str] = None,
483
+ tenant_ids: Optional[Sequence[str]] = None):
484
+ """
485
+ :param str login_page_uri: Login page URI associated with the GCIP tenants. Typically, all resources within
486
+ the same project share the same login page, though it could be overridden at the
487
+ sub resource level.
488
+ :param Sequence[str] tenant_ids: GCIP tenant ids that are linked to the IAP resource. tenantIds could be a string
489
+ beginning with a number character to indicate authenticating with GCIP tenant flow,
490
+ or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow
491
+ is used, tenantIds should only contain one single element, while for tenant flow,
492
+ tenantIds can contain multiple elements.
493
+ """
494
+ if login_page_uri is not None:
495
+ pulumi.set(__self__, "login_page_uri", login_page_uri)
496
+ if tenant_ids is not None:
497
+ pulumi.set(__self__, "tenant_ids", tenant_ids)
498
+
499
+ @property
500
+ @pulumi.getter(name="loginPageUri")
501
+ def login_page_uri(self) -> Optional[str]:
502
+ """
503
+ Login page URI associated with the GCIP tenants. Typically, all resources within
504
+ the same project share the same login page, though it could be overridden at the
505
+ sub resource level.
506
+ """
507
+ return pulumi.get(self, "login_page_uri")
508
+
509
+ @property
510
+ @pulumi.getter(name="tenantIds")
511
+ def tenant_ids(self) -> Optional[Sequence[str]]:
512
+ """
513
+ GCIP tenant ids that are linked to the IAP resource. tenantIds could be a string
514
+ beginning with a number character to indicate authenticating with GCIP tenant flow,
515
+ or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow
516
+ is used, tenantIds should only contain one single element, while for tenant flow,
517
+ tenantIds can contain multiple elements.
518
+ """
519
+ return pulumi.get(self, "tenant_ids")
520
+
521
+
522
+ @pulumi.output_type
523
+ class SettingsAccessSettingsOauthSettings(dict):
524
+ @staticmethod
525
+ def __key_warning(key: str):
526
+ suggest = None
527
+ if key == "loginHint":
528
+ suggest = "login_hint"
529
+ elif key == "programmaticClients":
530
+ suggest = "programmatic_clients"
531
+
532
+ if suggest:
533
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsOauthSettings. Access the value via the '{suggest}' property getter instead.")
534
+
535
+ def __getitem__(self, key: str) -> Any:
536
+ SettingsAccessSettingsOauthSettings.__key_warning(key)
537
+ return super().__getitem__(key)
538
+
539
+ def get(self, key: str, default = None) -> Any:
540
+ SettingsAccessSettingsOauthSettings.__key_warning(key)
541
+ return super().get(key, default)
542
+
543
+ def __init__(__self__, *,
544
+ login_hint: Optional[str] = None,
545
+ programmatic_clients: Optional[Sequence[str]] = None):
546
+ """
547
+ :param str login_hint: Domain hint to send as hd=? parameter in OAuth request flow.
548
+ Enables redirect to primary IDP by skipping Google's login screen.
549
+ (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
550
+ Note: IAP does not verify that the id token's hd claim matches this value
551
+ since access behavior is managed by IAM policies.
552
+ :param Sequence[str] programmatic_clients: List of client ids allowed to use IAP programmatically.
553
+ """
554
+ if login_hint is not None:
555
+ pulumi.set(__self__, "login_hint", login_hint)
556
+ if programmatic_clients is not None:
557
+ pulumi.set(__self__, "programmatic_clients", programmatic_clients)
558
+
559
+ @property
560
+ @pulumi.getter(name="loginHint")
561
+ def login_hint(self) -> Optional[str]:
562
+ """
563
+ Domain hint to send as hd=? parameter in OAuth request flow.
564
+ Enables redirect to primary IDP by skipping Google's login screen.
565
+ (https://developers.google.com/identity/protocols/OpenIDConnect#hd-param)
566
+ Note: IAP does not verify that the id token's hd claim matches this value
567
+ since access behavior is managed by IAM policies.
568
+ """
569
+ return pulumi.get(self, "login_hint")
570
+
571
+ @property
572
+ @pulumi.getter(name="programmaticClients")
573
+ def programmatic_clients(self) -> Optional[Sequence[str]]:
574
+ """
575
+ List of client ids allowed to use IAP programmatically.
576
+ """
577
+ return pulumi.get(self, "programmatic_clients")
578
+
579
+
580
+ @pulumi.output_type
581
+ class SettingsAccessSettingsReauthSettings(dict):
582
+ @staticmethod
583
+ def __key_warning(key: str):
584
+ suggest = None
585
+ if key == "maxAge":
586
+ suggest = "max_age"
587
+ elif key == "policyType":
588
+ suggest = "policy_type"
589
+
590
+ if suggest:
591
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsReauthSettings. Access the value via the '{suggest}' property getter instead.")
592
+
593
+ def __getitem__(self, key: str) -> Any:
594
+ SettingsAccessSettingsReauthSettings.__key_warning(key)
595
+ return super().__getitem__(key)
596
+
597
+ def get(self, key: str, default = None) -> Any:
598
+ SettingsAccessSettingsReauthSettings.__key_warning(key)
599
+ return super().get(key, default)
600
+
601
+ def __init__(__self__, *,
602
+ max_age: str,
603
+ method: str,
604
+ policy_type: str):
605
+ """
606
+ :param str max_age: Reauth session lifetime, how long before a user has to reauthenticate again.
607
+ A duration in seconds with up to nine fractional digits, ending with 's'.
608
+ Example: "3.5s".
609
+ :param str method: Reauth method requested. The possible values are:
610
+ * `LOGIN`: Prompts the user to log in again.
611
+ * `SECURE_KEY`: User must use their secure key 2nd factor device.
612
+ * `ENROLLED_SECOND_FACTORS`: User can use any enabled 2nd factor.
613
+ Possible values are: `LOGIN`, `SECURE_KEY`, `ENROLLED_SECOND_FACTORS`.
614
+ :param str policy_type: How IAP determines the effective policy in cases of hierarchical policies.
615
+ Policies are merged from higher in the hierarchy to lower in the hierarchy.
616
+ The possible values are:
617
+ * `MINIMUM`: This policy acts as a minimum to other policies, lower in the hierarchy.
618
+ Effective policy may only be the same or stricter.
619
+ * `DEFAULT`: This policy acts as a default if no other reauth policy is set.
620
+ Possible values are: `MINIMUM`, `DEFAULT`.
621
+ """
622
+ pulumi.set(__self__, "max_age", max_age)
623
+ pulumi.set(__self__, "method", method)
624
+ pulumi.set(__self__, "policy_type", policy_type)
625
+
626
+ @property
627
+ @pulumi.getter(name="maxAge")
628
+ def max_age(self) -> str:
629
+ """
630
+ Reauth session lifetime, how long before a user has to reauthenticate again.
631
+ A duration in seconds with up to nine fractional digits, ending with 's'.
632
+ Example: "3.5s".
633
+ """
634
+ return pulumi.get(self, "max_age")
635
+
636
+ @property
637
+ @pulumi.getter
638
+ def method(self) -> str:
639
+ """
640
+ Reauth method requested. The possible values are:
641
+ * `LOGIN`: Prompts the user to log in again.
642
+ * `SECURE_KEY`: User must use their secure key 2nd factor device.
643
+ * `ENROLLED_SECOND_FACTORS`: User can use any enabled 2nd factor.
644
+ Possible values are: `LOGIN`, `SECURE_KEY`, `ENROLLED_SECOND_FACTORS`.
645
+ """
646
+ return pulumi.get(self, "method")
647
+
648
+ @property
649
+ @pulumi.getter(name="policyType")
650
+ def policy_type(self) -> str:
651
+ """
652
+ How IAP determines the effective policy in cases of hierarchical policies.
653
+ Policies are merged from higher in the hierarchy to lower in the hierarchy.
654
+ The possible values are:
655
+ * `MINIMUM`: This policy acts as a minimum to other policies, lower in the hierarchy.
656
+ Effective policy may only be the same or stricter.
657
+ * `DEFAULT`: This policy acts as a default if no other reauth policy is set.
658
+ Possible values are: `MINIMUM`, `DEFAULT`.
659
+ """
660
+ return pulumi.get(self, "policy_type")
661
+
662
+
663
+ @pulumi.output_type
664
+ class SettingsAccessSettingsWorkforceIdentitySettings(dict):
665
+ @staticmethod
666
+ def __key_warning(key: str):
667
+ suggest = None
668
+ if key == "workforcePools":
669
+ suggest = "workforce_pools"
670
+
671
+ if suggest:
672
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsWorkforceIdentitySettings. Access the value via the '{suggest}' property getter instead.")
673
+
674
+ def __getitem__(self, key: str) -> Any:
675
+ SettingsAccessSettingsWorkforceIdentitySettings.__key_warning(key)
676
+ return super().__getitem__(key)
677
+
678
+ def get(self, key: str, default = None) -> Any:
679
+ SettingsAccessSettingsWorkforceIdentitySettings.__key_warning(key)
680
+ return super().get(key, default)
681
+
682
+ def __init__(__self__, *,
683
+ oauth2: Optional['outputs.SettingsAccessSettingsWorkforceIdentitySettingsOauth2'] = None,
684
+ workforce_pools: Optional[str] = None):
685
+ """
686
+ :param 'SettingsAccessSettingsWorkforceIdentitySettingsOauth2Args' oauth2: OAuth 2.0 settings for IAP to perform OIDC flow with workforce identity
687
+ federation services.
688
+ Structure is documented below.
689
+
690
+
691
+ <a name="nested_oauth2"></a>The `oauth2` block supports:
692
+ :param str workforce_pools: The workforce pool resources. Only one workforce pool is accepted.
693
+ """
694
+ if oauth2 is not None:
695
+ pulumi.set(__self__, "oauth2", oauth2)
696
+ if workforce_pools is not None:
697
+ pulumi.set(__self__, "workforce_pools", workforce_pools)
698
+
699
+ @property
700
+ @pulumi.getter
701
+ def oauth2(self) -> Optional['outputs.SettingsAccessSettingsWorkforceIdentitySettingsOauth2']:
702
+ """
703
+ OAuth 2.0 settings for IAP to perform OIDC flow with workforce identity
704
+ federation services.
705
+ Structure is documented below.
706
+
707
+
708
+ <a name="nested_oauth2"></a>The `oauth2` block supports:
709
+ """
710
+ return pulumi.get(self, "oauth2")
711
+
712
+ @property
713
+ @pulumi.getter(name="workforcePools")
714
+ def workforce_pools(self) -> Optional[str]:
715
+ """
716
+ The workforce pool resources. Only one workforce pool is accepted.
717
+ """
718
+ return pulumi.get(self, "workforce_pools")
719
+
720
+
721
+ @pulumi.output_type
722
+ class SettingsAccessSettingsWorkforceIdentitySettingsOauth2(dict):
723
+ @staticmethod
724
+ def __key_warning(key: str):
725
+ suggest = None
726
+ if key == "clientId":
727
+ suggest = "client_id"
728
+ elif key == "clientSecret":
729
+ suggest = "client_secret"
730
+ elif key == "clientSecretSha256":
731
+ suggest = "client_secret_sha256"
732
+
733
+ if suggest:
734
+ pulumi.log.warn(f"Key '{key}' not found in SettingsAccessSettingsWorkforceIdentitySettingsOauth2. Access the value via the '{suggest}' property getter instead.")
735
+
736
+ def __getitem__(self, key: str) -> Any:
737
+ SettingsAccessSettingsWorkforceIdentitySettingsOauth2.__key_warning(key)
738
+ return super().__getitem__(key)
739
+
740
+ def get(self, key: str, default = None) -> Any:
741
+ SettingsAccessSettingsWorkforceIdentitySettingsOauth2.__key_warning(key)
742
+ return super().get(key, default)
743
+
744
+ def __init__(__self__, *,
745
+ client_id: Optional[str] = None,
746
+ client_secret: Optional[str] = None,
747
+ client_secret_sha256: Optional[str] = None):
748
+ """
749
+ :param str client_id: The OAuth 2.0 client ID registered in the workforce identity
750
+ federation OAuth 2.0 Server.
751
+ :param str client_secret: Input only. The OAuth 2.0 client secret created while registering
752
+ the client ID.
753
+ :param str client_secret_sha256: Output only. SHA256 hash value for the client secret. This field
754
+ is returned by IAP when the settings are retrieved.
755
+ """
756
+ if client_id is not None:
757
+ pulumi.set(__self__, "client_id", client_id)
758
+ if client_secret is not None:
759
+ pulumi.set(__self__, "client_secret", client_secret)
760
+ if client_secret_sha256 is not None:
761
+ pulumi.set(__self__, "client_secret_sha256", client_secret_sha256)
762
+
763
+ @property
764
+ @pulumi.getter(name="clientId")
765
+ def client_id(self) -> Optional[str]:
766
+ """
767
+ The OAuth 2.0 client ID registered in the workforce identity
768
+ federation OAuth 2.0 Server.
769
+ """
770
+ return pulumi.get(self, "client_id")
771
+
772
+ @property
773
+ @pulumi.getter(name="clientSecret")
774
+ def client_secret(self) -> Optional[str]:
775
+ """
776
+ Input only. The OAuth 2.0 client secret created while registering
777
+ the client ID.
778
+ """
779
+ return pulumi.get(self, "client_secret")
780
+
781
+ @property
782
+ @pulumi.getter(name="clientSecretSha256")
783
+ def client_secret_sha256(self) -> Optional[str]:
784
+ """
785
+ Output only. SHA256 hash value for the client secret. This field
786
+ is returned by IAP when the settings are retrieved.
787
+ """
788
+ return pulumi.get(self, "client_secret_sha256")
789
+
790
+
791
+ @pulumi.output_type
792
+ class SettingsApplicationSettings(dict):
793
+ @staticmethod
794
+ def __key_warning(key: str):
795
+ suggest = None
796
+ if key == "accessDeniedPageSettings":
797
+ suggest = "access_denied_page_settings"
798
+ elif key == "attributePropagationSettings":
799
+ suggest = "attribute_propagation_settings"
800
+ elif key == "cookieDomain":
801
+ suggest = "cookie_domain"
802
+ elif key == "csmSettings":
803
+ suggest = "csm_settings"
804
+
805
+ if suggest:
806
+ pulumi.log.warn(f"Key '{key}' not found in SettingsApplicationSettings. Access the value via the '{suggest}' property getter instead.")
807
+
808
+ def __getitem__(self, key: str) -> Any:
809
+ SettingsApplicationSettings.__key_warning(key)
810
+ return super().__getitem__(key)
811
+
812
+ def get(self, key: str, default = None) -> Any:
813
+ SettingsApplicationSettings.__key_warning(key)
814
+ return super().get(key, default)
815
+
816
+ def __init__(__self__, *,
817
+ access_denied_page_settings: Optional['outputs.SettingsApplicationSettingsAccessDeniedPageSettings'] = None,
818
+ attribute_propagation_settings: Optional['outputs.SettingsApplicationSettingsAttributePropagationSettings'] = None,
819
+ cookie_domain: Optional[str] = None,
820
+ csm_settings: Optional['outputs.SettingsApplicationSettingsCsmSettings'] = None):
821
+ """
822
+ :param 'SettingsApplicationSettingsAccessDeniedPageSettingsArgs' access_denied_page_settings: Customization for Access Denied page. IAP allows customers to define a custom URI
823
+ to use as the error page when access is denied to users. If IAP prevents access
824
+ to this page, the default IAP error page will be displayed instead.
825
+ Structure is documented below.
826
+ :param 'SettingsApplicationSettingsAttributePropagationSettingsArgs' attribute_propagation_settings: Settings to configure attribute propagation.
827
+ Structure is documented below.
828
+ :param str cookie_domain: The Domain value to set for cookies generated by IAP. This value is not validated by the API,
829
+ but will be ignored at runtime if invalid.
830
+ :param 'SettingsApplicationSettingsCsmSettingsArgs' csm_settings: Settings to configure IAP's behavior for a service mesh.
831
+ Structure is documented below.
832
+ """
833
+ if access_denied_page_settings is not None:
834
+ pulumi.set(__self__, "access_denied_page_settings", access_denied_page_settings)
835
+ if attribute_propagation_settings is not None:
836
+ pulumi.set(__self__, "attribute_propagation_settings", attribute_propagation_settings)
837
+ if cookie_domain is not None:
838
+ pulumi.set(__self__, "cookie_domain", cookie_domain)
839
+ if csm_settings is not None:
840
+ pulumi.set(__self__, "csm_settings", csm_settings)
841
+
842
+ @property
843
+ @pulumi.getter(name="accessDeniedPageSettings")
844
+ def access_denied_page_settings(self) -> Optional['outputs.SettingsApplicationSettingsAccessDeniedPageSettings']:
845
+ """
846
+ Customization for Access Denied page. IAP allows customers to define a custom URI
847
+ to use as the error page when access is denied to users. If IAP prevents access
848
+ to this page, the default IAP error page will be displayed instead.
849
+ Structure is documented below.
850
+ """
851
+ return pulumi.get(self, "access_denied_page_settings")
852
+
853
+ @property
854
+ @pulumi.getter(name="attributePropagationSettings")
855
+ def attribute_propagation_settings(self) -> Optional['outputs.SettingsApplicationSettingsAttributePropagationSettings']:
856
+ """
857
+ Settings to configure attribute propagation.
858
+ Structure is documented below.
859
+ """
860
+ return pulumi.get(self, "attribute_propagation_settings")
861
+
862
+ @property
863
+ @pulumi.getter(name="cookieDomain")
864
+ def cookie_domain(self) -> Optional[str]:
865
+ """
866
+ The Domain value to set for cookies generated by IAP. This value is not validated by the API,
867
+ but will be ignored at runtime if invalid.
868
+ """
869
+ return pulumi.get(self, "cookie_domain")
870
+
871
+ @property
872
+ @pulumi.getter(name="csmSettings")
873
+ def csm_settings(self) -> Optional['outputs.SettingsApplicationSettingsCsmSettings']:
874
+ """
875
+ Settings to configure IAP's behavior for a service mesh.
876
+ Structure is documented below.
877
+ """
878
+ return pulumi.get(self, "csm_settings")
879
+
880
+
881
+ @pulumi.output_type
882
+ class SettingsApplicationSettingsAccessDeniedPageSettings(dict):
883
+ @staticmethod
884
+ def __key_warning(key: str):
885
+ suggest = None
886
+ if key == "accessDeniedPageUri":
887
+ suggest = "access_denied_page_uri"
888
+ elif key == "generateTroubleshootingUri":
889
+ suggest = "generate_troubleshooting_uri"
890
+ elif key == "remediationTokenGenerationEnabled":
891
+ suggest = "remediation_token_generation_enabled"
892
+
893
+ if suggest:
894
+ pulumi.log.warn(f"Key '{key}' not found in SettingsApplicationSettingsAccessDeniedPageSettings. Access the value via the '{suggest}' property getter instead.")
895
+
896
+ def __getitem__(self, key: str) -> Any:
897
+ SettingsApplicationSettingsAccessDeniedPageSettings.__key_warning(key)
898
+ return super().__getitem__(key)
899
+
900
+ def get(self, key: str, default = None) -> Any:
901
+ SettingsApplicationSettingsAccessDeniedPageSettings.__key_warning(key)
902
+ return super().get(key, default)
903
+
904
+ def __init__(__self__, *,
905
+ access_denied_page_uri: Optional[str] = None,
906
+ generate_troubleshooting_uri: Optional[bool] = None,
907
+ remediation_token_generation_enabled: Optional[bool] = None):
908
+ """
909
+ :param str access_denied_page_uri: The URI to be redirected to when access is denied.
910
+ :param bool generate_troubleshooting_uri: Whether to generate a troubleshooting URL on access denied events to this application.
911
+ :param bool remediation_token_generation_enabled: Whether to generate remediation token on access denied events to this application.
912
+ """
913
+ if access_denied_page_uri is not None:
914
+ pulumi.set(__self__, "access_denied_page_uri", access_denied_page_uri)
915
+ if generate_troubleshooting_uri is not None:
916
+ pulumi.set(__self__, "generate_troubleshooting_uri", generate_troubleshooting_uri)
917
+ if remediation_token_generation_enabled is not None:
918
+ pulumi.set(__self__, "remediation_token_generation_enabled", remediation_token_generation_enabled)
919
+
920
+ @property
921
+ @pulumi.getter(name="accessDeniedPageUri")
922
+ def access_denied_page_uri(self) -> Optional[str]:
923
+ """
924
+ The URI to be redirected to when access is denied.
925
+ """
926
+ return pulumi.get(self, "access_denied_page_uri")
927
+
928
+ @property
929
+ @pulumi.getter(name="generateTroubleshootingUri")
930
+ def generate_troubleshooting_uri(self) -> Optional[bool]:
931
+ """
932
+ Whether to generate a troubleshooting URL on access denied events to this application.
933
+ """
934
+ return pulumi.get(self, "generate_troubleshooting_uri")
935
+
936
+ @property
937
+ @pulumi.getter(name="remediationTokenGenerationEnabled")
938
+ def remediation_token_generation_enabled(self) -> Optional[bool]:
939
+ """
940
+ Whether to generate remediation token on access denied events to this application.
941
+ """
942
+ return pulumi.get(self, "remediation_token_generation_enabled")
943
+
944
+
945
+ @pulumi.output_type
946
+ class SettingsApplicationSettingsAttributePropagationSettings(dict):
947
+ @staticmethod
948
+ def __key_warning(key: str):
949
+ suggest = None
950
+ if key == "outputCredentials":
951
+ suggest = "output_credentials"
952
+
953
+ if suggest:
954
+ pulumi.log.warn(f"Key '{key}' not found in SettingsApplicationSettingsAttributePropagationSettings. Access the value via the '{suggest}' property getter instead.")
955
+
956
+ def __getitem__(self, key: str) -> Any:
957
+ SettingsApplicationSettingsAttributePropagationSettings.__key_warning(key)
958
+ return super().__getitem__(key)
959
+
960
+ def get(self, key: str, default = None) -> Any:
961
+ SettingsApplicationSettingsAttributePropagationSettings.__key_warning(key)
962
+ return super().get(key, default)
963
+
964
+ def __init__(__self__, *,
965
+ enable: Optional[bool] = None,
966
+ expression: Optional[str] = None,
967
+ output_credentials: Optional[Sequence[str]] = None):
968
+ """
969
+ :param bool enable: Whether the provided attribute propagation settings should be evaluated on user requests.
970
+ If set to true, attributes returned from the expression will be propagated in the set output credentials.
971
+ :param str expression: Raw string CEL expression. Must return a list of attributes. A maximum of 45 attributes can
972
+ be selected. Expressions can select different attribute types from attributes:
973
+ attributes.saml_attributes, attributes.iap_attributes.
974
+ :param Sequence[str] output_credentials: Which output credentials attributes selected by the CEL expression should be propagated in.
975
+ All attributes will be fully duplicated in each selected output credential.
976
+ Possible values are:
977
+ * `HEADER`: Propagate attributes in the headers with "x-goog-iap-attr-" prefix.
978
+ * `JWT`: Propagate attributes in the JWT of the form:
979
+ "additional_claims": { "my_attribute": ["value1", "value2"] }
980
+ * `RCTOKEN`: Propagate attributes in the RCToken of the form: "
981
+ additional_claims": { "my_attribute": ["value1", "value2"] }
982
+ Each value may be one of: `HEADER`, `JWT`, `RCTOKEN`.
983
+ """
984
+ if enable is not None:
985
+ pulumi.set(__self__, "enable", enable)
986
+ if expression is not None:
987
+ pulumi.set(__self__, "expression", expression)
988
+ if output_credentials is not None:
989
+ pulumi.set(__self__, "output_credentials", output_credentials)
990
+
991
+ @property
992
+ @pulumi.getter
993
+ def enable(self) -> Optional[bool]:
994
+ """
995
+ Whether the provided attribute propagation settings should be evaluated on user requests.
996
+ If set to true, attributes returned from the expression will be propagated in the set output credentials.
997
+ """
998
+ return pulumi.get(self, "enable")
999
+
1000
+ @property
1001
+ @pulumi.getter
1002
+ def expression(self) -> Optional[str]:
1003
+ """
1004
+ Raw string CEL expression. Must return a list of attributes. A maximum of 45 attributes can
1005
+ be selected. Expressions can select different attribute types from attributes:
1006
+ attributes.saml_attributes, attributes.iap_attributes.
1007
+ """
1008
+ return pulumi.get(self, "expression")
1009
+
1010
+ @property
1011
+ @pulumi.getter(name="outputCredentials")
1012
+ def output_credentials(self) -> Optional[Sequence[str]]:
1013
+ """
1014
+ Which output credentials attributes selected by the CEL expression should be propagated in.
1015
+ All attributes will be fully duplicated in each selected output credential.
1016
+ Possible values are:
1017
+ * `HEADER`: Propagate attributes in the headers with "x-goog-iap-attr-" prefix.
1018
+ * `JWT`: Propagate attributes in the JWT of the form:
1019
+ "additional_claims": { "my_attribute": ["value1", "value2"] }
1020
+ * `RCTOKEN`: Propagate attributes in the RCToken of the form: "
1021
+ additional_claims": { "my_attribute": ["value1", "value2"] }
1022
+ Each value may be one of: `HEADER`, `JWT`, `RCTOKEN`.
1023
+ """
1024
+ return pulumi.get(self, "output_credentials")
1025
+
1026
+
1027
+ @pulumi.output_type
1028
+ class SettingsApplicationSettingsCsmSettings(dict):
1029
+ @staticmethod
1030
+ def __key_warning(key: str):
1031
+ suggest = None
1032
+ if key == "rctokenAud":
1033
+ suggest = "rctoken_aud"
1034
+
1035
+ if suggest:
1036
+ pulumi.log.warn(f"Key '{key}' not found in SettingsApplicationSettingsCsmSettings. Access the value via the '{suggest}' property getter instead.")
1037
+
1038
+ def __getitem__(self, key: str) -> Any:
1039
+ SettingsApplicationSettingsCsmSettings.__key_warning(key)
1040
+ return super().__getitem__(key)
1041
+
1042
+ def get(self, key: str, default = None) -> Any:
1043
+ SettingsApplicationSettingsCsmSettings.__key_warning(key)
1044
+ return super().get(key, default)
1045
+
1046
+ def __init__(__self__, *,
1047
+ rctoken_aud: Optional[str] = None):
1048
+ """
1049
+ :param str rctoken_aud: Audience claim set in the generated RCToken. This value is not validated by IAP.
1050
+ """
1051
+ if rctoken_aud is not None:
1052
+ pulumi.set(__self__, "rctoken_aud", rctoken_aud)
1053
+
1054
+ @property
1055
+ @pulumi.getter(name="rctokenAud")
1056
+ def rctoken_aud(self) -> Optional[str]:
1057
+ """
1058
+ Audience claim set in the generated RCToken. This value is not validated by IAP.
1059
+ """
1060
+ return pulumi.get(self, "rctoken_aud")
1061
+
1062
+
236
1063
  @pulumi.output_type
237
1064
  class TunnelDestGroupIamBindingCondition(dict):
238
1065
  def __init__(__self__, *,