pulumi-gcp 7.7.0a1706207981__py3-none-any.whl → 7.8.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (686) hide show
  1. pulumi_gcp/__init__.py +73 -0
  2. pulumi_gcp/_utilities.py +6 -2
  3. pulumi_gcp/accesscontextmanager/access_level.py +2 -18
  4. pulumi_gcp/accesscontextmanager/access_levels.py +2 -18
  5. pulumi_gcp/accesscontextmanager/access_policy.py +2 -18
  6. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +2 -18
  7. pulumi_gcp/accesscontextmanager/egress_policy.py +2 -18
  8. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +2 -18
  9. pulumi_gcp/accesscontextmanager/ingress_policy.py +2 -18
  10. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -18
  11. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -18
  12. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -18
  13. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +2 -18
  14. pulumi_gcp/accesscontextmanager/service_perimeters.py +2 -18
  15. pulumi_gcp/activedirectory/domain.py +2 -18
  16. pulumi_gcp/activedirectory/domain_trust.py +2 -18
  17. pulumi_gcp/alloydb/backup.py +2 -18
  18. pulumi_gcp/alloydb/cluster.py +26 -18
  19. pulumi_gcp/alloydb/instance.py +3 -19
  20. pulumi_gcp/alloydb/outputs.py +16 -0
  21. pulumi_gcp/alloydb/user.py +2 -18
  22. pulumi_gcp/apigateway/api.py +2 -18
  23. pulumi_gcp/apigateway/api_config.py +2 -18
  24. pulumi_gcp/apigateway/gateway.py +23 -53
  25. pulumi_gcp/apigee/addons_config.py +2 -18
  26. pulumi_gcp/apigee/endpoint_attachment.py +2 -18
  27. pulumi_gcp/apigee/env_group.py +2 -18
  28. pulumi_gcp/apigee/env_group_attachment.py +2 -18
  29. pulumi_gcp/apigee/env_keystore.py +2 -18
  30. pulumi_gcp/apigee/env_references.py +2 -18
  31. pulumi_gcp/apigee/environment.py +2 -18
  32. pulumi_gcp/apigee/flowhook.py +2 -18
  33. pulumi_gcp/apigee/instance.py +2 -18
  34. pulumi_gcp/apigee/instance_attachment.py +2 -18
  35. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +2 -18
  36. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +2 -18
  37. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +2 -18
  38. pulumi_gcp/apigee/nat_address.py +2 -18
  39. pulumi_gcp/apigee/organization.py +2 -18
  40. pulumi_gcp/apigee/sharedflow.py +2 -18
  41. pulumi_gcp/apigee/sharedflow_deployment.py +2 -18
  42. pulumi_gcp/apigee/sync_authorization.py +2 -18
  43. pulumi_gcp/apigee/target_server.py +2 -18
  44. pulumi_gcp/appengine/application.py +2 -18
  45. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -18
  46. pulumi_gcp/appengine/domain_mapping.py +2 -18
  47. pulumi_gcp/appengine/engine_split_traffic.py +2 -18
  48. pulumi_gcp/appengine/firewall_rule.py +2 -18
  49. pulumi_gcp/appengine/flexible_app_version.py +2 -18
  50. pulumi_gcp/appengine/service_network_settings.py +2 -18
  51. pulumi_gcp/appengine/standard_app_version.py +2 -18
  52. pulumi_gcp/artifactregistry/_inputs.py +60 -0
  53. pulumi_gcp/artifactregistry/outputs.py +264 -0
  54. pulumi_gcp/artifactregistry/repository.py +77 -74
  55. pulumi_gcp/artifactregistry/vpcsc_config.py +2 -18
  56. pulumi_gcp/assuredworkloads/_inputs.py +34 -0
  57. pulumi_gcp/assuredworkloads/outputs.py +34 -0
  58. pulumi_gcp/assuredworkloads/workload.py +2 -18
  59. pulumi_gcp/backupdisasterrecovery/management_server.py +2 -18
  60. pulumi_gcp/backupdisasterrecovery/outputs.py +20 -0
  61. pulumi_gcp/beyondcorp/app_connection.py +2 -18
  62. pulumi_gcp/beyondcorp/app_connector.py +2 -18
  63. pulumi_gcp/beyondcorp/app_gateway.py +2 -18
  64. pulumi_gcp/beyondcorp/outputs.py +54 -0
  65. pulumi_gcp/biglake/catalog.py +2 -18
  66. pulumi_gcp/biglake/database.py +2 -18
  67. pulumi_gcp/biglake/table.py +2 -18
  68. pulumi_gcp/bigquery/_inputs.py +18 -0
  69. pulumi_gcp/bigquery/app_profile.py +2 -18
  70. pulumi_gcp/bigquery/bi_reservation.py +2 -18
  71. pulumi_gcp/bigquery/capacity_commitment.py +2 -18
  72. pulumi_gcp/bigquery/connection.py +2 -18
  73. pulumi_gcp/bigquery/data_transfer_config.py +2 -18
  74. pulumi_gcp/bigquery/dataset.py +9 -18
  75. pulumi_gcp/bigquery/dataset_iam_binding.py +4 -12
  76. pulumi_gcp/bigquery/dataset_iam_member.py +4 -12
  77. pulumi_gcp/bigquery/dataset_iam_policy.py +4 -12
  78. pulumi_gcp/bigquery/job.py +2 -18
  79. pulumi_gcp/bigquery/outputs.py +172 -0
  80. pulumi_gcp/bigquery/reservation.py +2 -18
  81. pulumi_gcp/bigquery/reservation_assignment.py +2 -18
  82. pulumi_gcp/bigquery/routine.py +2 -18
  83. pulumi_gcp/bigquery/table.py +2 -18
  84. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +2 -18
  85. pulumi_gcp/bigqueryanalyticshub/listing.py +2 -18
  86. pulumi_gcp/bigquerydatapolicy/data_policy.py +2 -18
  87. pulumi_gcp/bigtable/_inputs.py +4 -0
  88. pulumi_gcp/bigtable/instance.py +2 -18
  89. pulumi_gcp/bigtable/instance_iam_binding.py +4 -12
  90. pulumi_gcp/bigtable/instance_iam_member.py +4 -12
  91. pulumi_gcp/bigtable/instance_iam_policy.py +4 -12
  92. pulumi_gcp/bigtable/outputs.py +4 -0
  93. pulumi_gcp/bigtable/table.py +2 -18
  94. pulumi_gcp/bigtable/table_iam_binding.py +4 -12
  95. pulumi_gcp/bigtable/table_iam_member.py +4 -12
  96. pulumi_gcp/bigtable/table_iam_policy.py +4 -12
  97. pulumi_gcp/billing/account_iam_binding.py +4 -12
  98. pulumi_gcp/billing/account_iam_member.py +4 -12
  99. pulumi_gcp/billing/account_iam_policy.py +4 -12
  100. pulumi_gcp/billing/budget.py +2 -18
  101. pulumi_gcp/billing/project_info.py +2 -18
  102. pulumi_gcp/billing/sub_account.py +2 -18
  103. pulumi_gcp/binaryauthorization/attestor.py +2 -18
  104. pulumi_gcp/binaryauthorization/policy.py +2 -18
  105. pulumi_gcp/blockchainnodeengine/__init__.py +10 -0
  106. pulumi_gcp/blockchainnodeengine/_inputs.py +388 -0
  107. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +791 -0
  108. pulumi_gcp/blockchainnodeengine/outputs.py +441 -0
  109. pulumi_gcp/certificateauthority/authority.py +2 -18
  110. pulumi_gcp/certificateauthority/ca_pool.py +2 -18
  111. pulumi_gcp/certificateauthority/certificate.py +2 -18
  112. pulumi_gcp/certificateauthority/certificate_template.py +2 -18
  113. pulumi_gcp/certificateauthority/outputs.py +378 -0
  114. pulumi_gcp/certificatemanager/certificate.py +2 -18
  115. pulumi_gcp/certificatemanager/certificate_issuance_config.py +2 -18
  116. pulumi_gcp/certificatemanager/certificate_map.py +2 -18
  117. pulumi_gcp/certificatemanager/certificate_map_entry.py +2 -18
  118. pulumi_gcp/certificatemanager/dns_authorization.py +2 -18
  119. pulumi_gcp/certificatemanager/outputs.py +32 -0
  120. pulumi_gcp/certificatemanager/trust_config.py +2 -18
  121. pulumi_gcp/cloudasset/folder_feed.py +2 -18
  122. pulumi_gcp/cloudasset/organization_feed.py +2 -18
  123. pulumi_gcp/cloudasset/project_feed.py +2 -18
  124. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -18
  125. pulumi_gcp/cloudbuild/outputs.py +1009 -3
  126. pulumi_gcp/cloudbuild/trigger.py +2 -18
  127. pulumi_gcp/cloudbuild/worker_pool.py +2 -18
  128. pulumi_gcp/cloudbuildv2/_inputs.py +14 -0
  129. pulumi_gcp/cloudbuildv2/connection.py +2 -18
  130. pulumi_gcp/cloudbuildv2/outputs.py +14 -0
  131. pulumi_gcp/cloudbuildv2/repository.py +2 -18
  132. pulumi_gcp/clouddeploy/_inputs.py +36 -0
  133. pulumi_gcp/clouddeploy/automation.py +2 -18
  134. pulumi_gcp/clouddeploy/delivery_pipeline.py +2 -18
  135. pulumi_gcp/clouddeploy/outputs.py +36 -0
  136. pulumi_gcp/clouddeploy/target.py +2 -18
  137. pulumi_gcp/clouddomains/registration.py +2 -18
  138. pulumi_gcp/cloudfunctions/_inputs.py +4 -0
  139. pulumi_gcp/cloudfunctions/function.py +2 -18
  140. pulumi_gcp/cloudfunctions/outputs.py +54 -0
  141. pulumi_gcp/cloudfunctionsv2/function.py +2 -18
  142. pulumi_gcp/cloudfunctionsv2/outputs.py +302 -0
  143. pulumi_gcp/cloudidentity/group.py +2 -18
  144. pulumi_gcp/cloudidentity/group_membership.py +2 -18
  145. pulumi_gcp/cloudidentity/outputs.py +54 -0
  146. pulumi_gcp/cloudids/endpoint.py +2 -18
  147. pulumi_gcp/cloudrun/_inputs.py +93 -4
  148. pulumi_gcp/cloudrun/domain_mapping.py +2 -18
  149. pulumi_gcp/cloudrun/outputs.py +867 -9
  150. pulumi_gcp/cloudrun/service.py +2 -18
  151. pulumi_gcp/cloudrunv2/_inputs.py +12 -0
  152. pulumi_gcp/cloudrunv2/job.py +2 -18
  153. pulumi_gcp/cloudrunv2/outputs.py +937 -1
  154. pulumi_gcp/cloudrunv2/service.py +2 -18
  155. pulumi_gcp/cloudscheduler/job.py +2 -18
  156. pulumi_gcp/cloudtasks/queue.py +2 -18
  157. pulumi_gcp/composer/_inputs.py +493 -0
  158. pulumi_gcp/composer/environment.py +2 -18
  159. pulumi_gcp/composer/outputs.py +996 -0
  160. pulumi_gcp/compute/__init__.py +2 -0
  161. pulumi_gcp/compute/_inputs.py +1010 -46
  162. pulumi_gcp/compute/address.py +2 -18
  163. pulumi_gcp/compute/attached_disk.py +2 -18
  164. pulumi_gcp/compute/autoscaler.py +2 -18
  165. pulumi_gcp/compute/backend_bucket.py +2 -18
  166. pulumi_gcp/compute/backend_service.py +30 -18
  167. pulumi_gcp/compute/disk.py +34 -29
  168. pulumi_gcp/compute/disk_resource_policy_attachment.py +2 -18
  169. pulumi_gcp/compute/external_vpn_gateway.py +2 -18
  170. pulumi_gcp/compute/firewall.py +2 -18
  171. pulumi_gcp/compute/firewall_policy_association.py +2 -18
  172. pulumi_gcp/compute/firewall_policy_rule.py +2 -18
  173. pulumi_gcp/compute/forwarding_rule.py +2 -18
  174. pulumi_gcp/compute/get_disk.py +11 -1
  175. pulumi_gcp/compute/get_instance_group_manager.py +11 -1
  176. pulumi_gcp/compute/get_instance_template.py +3 -0
  177. pulumi_gcp/compute/get_machine_types.py +143 -0
  178. pulumi_gcp/compute/global_address.py +9 -25
  179. pulumi_gcp/compute/global_forwarding_rule.py +2 -18
  180. pulumi_gcp/compute/global_network_endpoint.py +2 -18
  181. pulumi_gcp/compute/global_network_endpoint_group.py +2 -18
  182. pulumi_gcp/compute/ha_vpn_gateway.py +2 -18
  183. pulumi_gcp/compute/health_check.py +2 -18
  184. pulumi_gcp/compute/http_health_check.py +2 -18
  185. pulumi_gcp/compute/https_health_check.py +2 -18
  186. pulumi_gcp/compute/image.py +2 -18
  187. pulumi_gcp/compute/instance.py +13 -22
  188. pulumi_gcp/compute/instance_group.py +2 -18
  189. pulumi_gcp/compute/instance_group_manager.py +34 -29
  190. pulumi_gcp/compute/instance_group_named_port.py +2 -18
  191. pulumi_gcp/compute/instance_settings.py +2 -18
  192. pulumi_gcp/compute/instance_template.py +9 -25
  193. pulumi_gcp/compute/interconnect_attachment.py +77 -18
  194. pulumi_gcp/compute/machine_image.py +2 -18
  195. pulumi_gcp/compute/managed_ssl_certificate.py +2 -18
  196. pulumi_gcp/compute/manged_ssl_certificate.py +2 -18
  197. pulumi_gcp/compute/network.py +2 -18
  198. pulumi_gcp/compute/network_attachment.py +2 -18
  199. pulumi_gcp/compute/network_edge_security_service.py +2 -18
  200. pulumi_gcp/compute/network_endpoint.py +2 -18
  201. pulumi_gcp/compute/network_endpoint_group.py +2 -18
  202. pulumi_gcp/compute/network_endpoint_list.py +2 -18
  203. pulumi_gcp/compute/network_firewall_policy.py +2 -18
  204. pulumi_gcp/compute/network_firewall_policy_association.py +2 -18
  205. pulumi_gcp/compute/network_firewall_policy_rule.py +2 -18
  206. pulumi_gcp/compute/network_peering.py +2 -18
  207. pulumi_gcp/compute/network_peering_routes_config.py +2 -18
  208. pulumi_gcp/compute/node_group.py +30 -53
  209. pulumi_gcp/compute/node_template.py +2 -18
  210. pulumi_gcp/compute/organization_security_policy.py +2 -18
  211. pulumi_gcp/compute/organization_security_policy_association.py +2 -18
  212. pulumi_gcp/compute/organization_security_policy_rule.py +2 -18
  213. pulumi_gcp/compute/outputs.py +4530 -181
  214. pulumi_gcp/compute/packet_mirroring.py +2 -18
  215. pulumi_gcp/compute/per_instance_config.py +2 -18
  216. pulumi_gcp/compute/project_default_network_tier.py +2 -18
  217. pulumi_gcp/compute/project_metadata.py +2 -18
  218. pulumi_gcp/compute/project_metadata_item.py +2 -18
  219. pulumi_gcp/compute/public_advertised_prefix.py +2 -18
  220. pulumi_gcp/compute/public_delegated_prefix.py +2 -18
  221. pulumi_gcp/compute/region_autoscaler.py +2 -18
  222. pulumi_gcp/compute/region_backend_service.py +46 -32
  223. pulumi_gcp/compute/region_commitment.py +2 -18
  224. pulumi_gcp/compute/region_disk.py +6 -29
  225. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +2 -18
  226. pulumi_gcp/compute/region_health_check.py +2 -18
  227. pulumi_gcp/compute/region_instance_group_manager.py +34 -29
  228. pulumi_gcp/compute/region_instance_template.py +2 -18
  229. pulumi_gcp/compute/region_network_endpoint.py +556 -0
  230. pulumi_gcp/compute/region_network_endpoint_group.py +140 -92
  231. pulumi_gcp/compute/region_network_firewall_policy.py +2 -18
  232. pulumi_gcp/compute/region_network_firewall_policy_association.py +2 -18
  233. pulumi_gcp/compute/region_network_firewall_policy_rule.py +2 -18
  234. pulumi_gcp/compute/region_per_instance_config.py +2 -18
  235. pulumi_gcp/compute/region_security_policy.py +2 -18
  236. pulumi_gcp/compute/region_security_policy_rule.py +2 -18
  237. pulumi_gcp/compute/region_ssl_certificate.py +2 -18
  238. pulumi_gcp/compute/region_ssl_policy.py +2 -18
  239. pulumi_gcp/compute/region_target_http_proxy.py +2 -18
  240. pulumi_gcp/compute/region_target_https_proxy.py +2 -18
  241. pulumi_gcp/compute/region_target_tcp_proxy.py +2 -18
  242. pulumi_gcp/compute/region_url_map.py +2 -18
  243. pulumi_gcp/compute/reservation.py +2 -18
  244. pulumi_gcp/compute/resource_policy.py +2 -18
  245. pulumi_gcp/compute/route.py +2 -18
  246. pulumi_gcp/compute/router.py +2 -18
  247. pulumi_gcp/compute/router_interface.py +2 -18
  248. pulumi_gcp/compute/router_nat.py +44 -39
  249. pulumi_gcp/compute/router_peer.py +2 -18
  250. pulumi_gcp/compute/security_policy.py +2 -18
  251. pulumi_gcp/compute/security_scan_config.py +2 -18
  252. pulumi_gcp/compute/service_attachment.py +2 -18
  253. pulumi_gcp/compute/shared_vpc_host_project.py +2 -18
  254. pulumi_gcp/compute/shared_vpc_service_project.py +2 -18
  255. pulumi_gcp/compute/snapshot.py +2 -18
  256. pulumi_gcp/compute/ssl_certificate.py +2 -18
  257. pulumi_gcp/compute/ssl_policy.py +2 -18
  258. pulumi_gcp/compute/subnetwork.py +79 -102
  259. pulumi_gcp/compute/target_grpc_proxy.py +2 -18
  260. pulumi_gcp/compute/target_http_proxy.py +2 -18
  261. pulumi_gcp/compute/target_https_proxy.py +2 -18
  262. pulumi_gcp/compute/target_instance.py +2 -18
  263. pulumi_gcp/compute/target_pool.py +9 -25
  264. pulumi_gcp/compute/target_ssl_proxy.py +2 -18
  265. pulumi_gcp/compute/target_tcp_proxy.py +2 -18
  266. pulumi_gcp/compute/url_map.py +2 -18
  267. pulumi_gcp/compute/vpn_gateway.py +2 -18
  268. pulumi_gcp/compute/vpn_tunnel.py +2 -18
  269. pulumi_gcp/config/__init__.pyi +6 -0
  270. pulumi_gcp/config/vars.py +12 -0
  271. pulumi_gcp/container/_inputs.py +568 -30
  272. pulumi_gcp/container/attached_cluster.py +2 -18
  273. pulumi_gcp/container/aws_cluster.py +9 -25
  274. pulumi_gcp/container/aws_node_pool.py +2 -18
  275. pulumi_gcp/container/azure_client.py +2 -18
  276. pulumi_gcp/container/azure_cluster.py +9 -25
  277. pulumi_gcp/container/azure_node_pool.py +2 -18
  278. pulumi_gcp/container/cluster.py +25 -69
  279. pulumi_gcp/container/node_pool.py +2 -18
  280. pulumi_gcp/container/outputs.py +2161 -31
  281. pulumi_gcp/containeranalysis/note.py +2 -18
  282. pulumi_gcp/containeranalysis/occurence.py +2 -18
  283. pulumi_gcp/databasemigrationservice/connection_profile.py +2 -18
  284. pulumi_gcp/databasemigrationservice/private_connection.py +2 -18
  285. pulumi_gcp/datacatalog/entry.py +2 -18
  286. pulumi_gcp/datacatalog/entry_group.py +2 -18
  287. pulumi_gcp/datacatalog/policy_tag.py +2 -18
  288. pulumi_gcp/datacatalog/tag.py +2 -18
  289. pulumi_gcp/datacatalog/tag_template.py +2 -18
  290. pulumi_gcp/datacatalog/taxonomy.py +2 -18
  291. pulumi_gcp/dataflow/job.py +2 -18
  292. pulumi_gcp/dataflow/pipeline.py +2 -18
  293. pulumi_gcp/dataform/repository.py +2 -18
  294. pulumi_gcp/dataform/repository_release_config.py +2 -18
  295. pulumi_gcp/dataform/repository_workflow_config.py +2 -18
  296. pulumi_gcp/datafusion/instance.py +30 -46
  297. pulumi_gcp/dataloss/prevention_deidentify_template.py +2 -18
  298. pulumi_gcp/dataloss/prevention_inspect_template.py +2 -18
  299. pulumi_gcp/dataloss/prevention_job_trigger.py +2 -18
  300. pulumi_gcp/dataloss/prevention_stored_info_type.py +2 -18
  301. pulumi_gcp/dataplex/_inputs.py +66 -0
  302. pulumi_gcp/dataplex/asset.py +2 -18
  303. pulumi_gcp/dataplex/datascan.py +2 -18
  304. pulumi_gcp/dataplex/lake.py +2 -18
  305. pulumi_gcp/dataplex/outputs.py +66 -0
  306. pulumi_gcp/dataplex/task.py +2 -18
  307. pulumi_gcp/dataplex/zone.py +2 -18
  308. pulumi_gcp/dataproc/_inputs.py +178 -0
  309. pulumi_gcp/dataproc/autoscaling_policy.py +2 -18
  310. pulumi_gcp/dataproc/cluster_iam_binding.py +4 -12
  311. pulumi_gcp/dataproc/cluster_iam_member.py +4 -12
  312. pulumi_gcp/dataproc/cluster_iam_policy.py +4 -12
  313. pulumi_gcp/dataproc/job_iam_binding.py +4 -12
  314. pulumi_gcp/dataproc/job_iam_member.py +4 -12
  315. pulumi_gcp/dataproc/job_iam_policy.py +4 -12
  316. pulumi_gcp/dataproc/metastore_federation.py +2 -18
  317. pulumi_gcp/dataproc/metastore_service.py +2 -18
  318. pulumi_gcp/dataproc/outputs.py +178 -0
  319. pulumi_gcp/dataproc/workflow_template.py +9 -25
  320. pulumi_gcp/datastore/data_store_index.py +2 -18
  321. pulumi_gcp/datastream/connection_profile.py +2 -18
  322. pulumi_gcp/datastream/private_connection.py +2 -18
  323. pulumi_gcp/datastream/stream.py +2 -18
  324. pulumi_gcp/deploymentmanager/deployment.py +2 -18
  325. pulumi_gcp/diagflow/agent.py +2 -18
  326. pulumi_gcp/diagflow/cx_agent.py +2 -18
  327. pulumi_gcp/diagflow/cx_entity_type.py +2 -18
  328. pulumi_gcp/diagflow/cx_environment.py +2 -18
  329. pulumi_gcp/diagflow/cx_flow.py +2 -18
  330. pulumi_gcp/diagflow/cx_intent.py +2 -18
  331. pulumi_gcp/diagflow/cx_page.py +2 -18
  332. pulumi_gcp/diagflow/cx_security_settings.py +2 -18
  333. pulumi_gcp/diagflow/cx_test_case.py +2 -18
  334. pulumi_gcp/diagflow/cx_version.py +2 -18
  335. pulumi_gcp/diagflow/cx_webhook.py +2 -18
  336. pulumi_gcp/diagflow/entity_type.py +2 -18
  337. pulumi_gcp/diagflow/fulfillment.py +2 -18
  338. pulumi_gcp/diagflow/intent.py +2 -18
  339. pulumi_gcp/discoveryengine/__init__.py +12 -0
  340. pulumi_gcp/discoveryengine/_inputs.py +237 -0
  341. pulumi_gcp/discoveryengine/chat_engine.py +822 -0
  342. pulumi_gcp/discoveryengine/data_store.py +734 -0
  343. pulumi_gcp/discoveryengine/outputs.py +304 -0
  344. pulumi_gcp/discoveryengine/search_engine.py +752 -0
  345. pulumi_gcp/dns/_inputs.py +34 -0
  346. pulumi_gcp/dns/managed_zone.py +2 -18
  347. pulumi_gcp/dns/outputs.py +34 -0
  348. pulumi_gcp/dns/policy.py +2 -18
  349. pulumi_gcp/dns/record_set.py +2 -18
  350. pulumi_gcp/dns/response_policy.py +2 -18
  351. pulumi_gcp/dns/response_policy_rule.py +9 -32
  352. pulumi_gcp/edgecontainer/cluster.py +2 -18
  353. pulumi_gcp/edgecontainer/node_pool.py +2 -18
  354. pulumi_gcp/edgecontainer/vpn_connection.py +2 -18
  355. pulumi_gcp/edgenetwork/network.py +2 -18
  356. pulumi_gcp/edgenetwork/subnet.py +2 -18
  357. pulumi_gcp/essentialcontacts/contact.py +2 -18
  358. pulumi_gcp/essentialcontacts/document_ai_processor.py +2 -18
  359. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +2 -18
  360. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +2 -18
  361. pulumi_gcp/eventarc/_inputs.py +2 -2
  362. pulumi_gcp/eventarc/channel.py +2 -18
  363. pulumi_gcp/eventarc/google_channel_config.py +2 -18
  364. pulumi_gcp/eventarc/outputs.py +2 -2
  365. pulumi_gcp/eventarc/trigger.py +2 -18
  366. pulumi_gcp/filestore/_inputs.py +1 -3
  367. pulumi_gcp/filestore/backup.py +2 -18
  368. pulumi_gcp/filestore/instance.py +2 -18
  369. pulumi_gcp/filestore/outputs.py +89 -3
  370. pulumi_gcp/filestore/snapshot.py +2 -18
  371. pulumi_gcp/firebase/_inputs.py +4 -2
  372. pulumi_gcp/firebase/android_app.py +2 -18
  373. pulumi_gcp/firebase/apple_app.py +2 -18
  374. pulumi_gcp/firebase/database_instance.py +2 -18
  375. pulumi_gcp/firebase/extensions_instance.py +8 -26
  376. pulumi_gcp/firebase/hosting_channel.py +2 -18
  377. pulumi_gcp/firebase/hosting_custom_domain.py +2 -18
  378. pulumi_gcp/firebase/hosting_release.py +2 -18
  379. pulumi_gcp/firebase/hosting_site.py +2 -18
  380. pulumi_gcp/firebase/hosting_version.py +2 -18
  381. pulumi_gcp/firebase/outputs.py +4 -2
  382. pulumi_gcp/firebase/project.py +2 -18
  383. pulumi_gcp/firebase/storage_bucket.py +2 -18
  384. pulumi_gcp/firebase/web_app.py +2 -18
  385. pulumi_gcp/firebaserules/_inputs.py +6 -0
  386. pulumi_gcp/firebaserules/outputs.py +6 -0
  387. pulumi_gcp/firebaserules/release.py +4 -16
  388. pulumi_gcp/firebaserules/ruleset.py +2 -18
  389. pulumi_gcp/firestore/backup_schedule.py +38 -30
  390. pulumi_gcp/firestore/database.py +2 -26
  391. pulumi_gcp/firestore/document.py +2 -86
  392. pulumi_gcp/firestore/field.py +24 -120
  393. pulumi_gcp/firestore/index.py +6 -60
  394. pulumi_gcp/folder/_inputs.py +4 -0
  395. pulumi_gcp/folder/access_approval_settings.py +2 -18
  396. pulumi_gcp/folder/iam_audit_config.py +6 -14
  397. pulumi_gcp/folder/iam_member.py +6 -14
  398. pulumi_gcp/folder/iam_policy.py +6 -14
  399. pulumi_gcp/folder/organization_policy.py +2 -18
  400. pulumi_gcp/folder/outputs.py +54 -0
  401. pulumi_gcp/gkebackup/backup_plan.py +2 -18
  402. pulumi_gcp/gkebackup/restore_plan.py +2 -18
  403. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -18
  404. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -18
  405. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -18
  406. pulumi_gcp/gkehub/_inputs.py +8 -0
  407. pulumi_gcp/gkehub/feature.py +4 -20
  408. pulumi_gcp/gkehub/feature_membership.py +2 -18
  409. pulumi_gcp/gkehub/fleet.py +2 -18
  410. pulumi_gcp/gkehub/membership.py +6 -29
  411. pulumi_gcp/gkehub/membership_binding.py +2 -18
  412. pulumi_gcp/gkehub/membership_rbac_role_binding.py +2 -18
  413. pulumi_gcp/gkehub/namespace.py +2 -18
  414. pulumi_gcp/gkehub/outputs.py +8 -0
  415. pulumi_gcp/gkehub/scope.py +2 -18
  416. pulumi_gcp/gkehub/scope_rbac_role_binding.py +2 -18
  417. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +2 -18
  418. pulumi_gcp/gkeonprem/bare_metal_cluster.py +2 -18
  419. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +2 -18
  420. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -18
  421. pulumi_gcp/gkeonprem/v_mware_node_pool.py +2 -18
  422. pulumi_gcp/healthcare/consent_store.py +2 -18
  423. pulumi_gcp/healthcare/dataset.py +2 -18
  424. pulumi_gcp/healthcare/dataset_iam_binding.py +4 -12
  425. pulumi_gcp/healthcare/dataset_iam_member.py +4 -12
  426. pulumi_gcp/healthcare/dataset_iam_policy.py +4 -12
  427. pulumi_gcp/healthcare/dicom_store.py +2 -18
  428. pulumi_gcp/healthcare/dicom_store_iam_binding.py +4 -12
  429. pulumi_gcp/healthcare/dicom_store_iam_member.py +4 -12
  430. pulumi_gcp/healthcare/dicom_store_iam_policy.py +4 -12
  431. pulumi_gcp/healthcare/fhir_store.py +23 -32
  432. pulumi_gcp/healthcare/fhir_store_iam_binding.py +4 -12
  433. pulumi_gcp/healthcare/fhir_store_iam_member.py +4 -12
  434. pulumi_gcp/healthcare/fhir_store_iam_policy.py +4 -12
  435. pulumi_gcp/healthcare/hl7_store.py +2 -18
  436. pulumi_gcp/healthcare/hl7_store_iam_binding.py +4 -12
  437. pulumi_gcp/healthcare/hl7_store_iam_member.py +4 -12
  438. pulumi_gcp/healthcare/hl7_store_iam_policy.py +4 -12
  439. pulumi_gcp/iam/access_boundary_policy.py +2 -18
  440. pulumi_gcp/iam/deny_policy.py +2 -18
  441. pulumi_gcp/iam/outputs.py +92 -0
  442. pulumi_gcp/iam/workforce_pool.py +2 -18
  443. pulumi_gcp/iam/workforce_pool_provider.py +2 -18
  444. pulumi_gcp/iam/workload_identity_pool.py +2 -18
  445. pulumi_gcp/iam/workload_identity_pool_provider.py +2 -18
  446. pulumi_gcp/iap/brand.py +2 -18
  447. pulumi_gcp/iap/client.py +2 -18
  448. pulumi_gcp/identityplatform/config.py +2 -18
  449. pulumi_gcp/identityplatform/default_supported_idp_config.py +2 -18
  450. pulumi_gcp/identityplatform/inbound_saml_config.py +2 -18
  451. pulumi_gcp/identityplatform/oauth_idp_config.py +2 -18
  452. pulumi_gcp/identityplatform/project_default_config.py +2 -18
  453. pulumi_gcp/identityplatform/tenant.py +2 -18
  454. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +2 -18
  455. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +2 -18
  456. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +2 -18
  457. pulumi_gcp/integrationconnectors/connection.py +2 -18
  458. pulumi_gcp/integrationconnectors/endpoint_attachment.py +2 -18
  459. pulumi_gcp/kms/crypto_key.py +36 -18
  460. pulumi_gcp/kms/crypto_key_iam_binding.py +11 -19
  461. pulumi_gcp/kms/crypto_key_iam_member.py +11 -19
  462. pulumi_gcp/kms/crypto_key_iam_policy.py +4 -12
  463. pulumi_gcp/kms/crypto_key_version.py +2 -18
  464. pulumi_gcp/kms/key_ring.py +2 -18
  465. pulumi_gcp/kms/key_ring_iam_binding.py +11 -19
  466. pulumi_gcp/kms/key_ring_iam_member.py +11 -19
  467. pulumi_gcp/kms/key_ring_iam_policy.py +4 -12
  468. pulumi_gcp/kms/key_ring_import_job.py +2 -18
  469. pulumi_gcp/kms/outputs.py +16 -0
  470. pulumi_gcp/logging/_inputs.py +108 -0
  471. pulumi_gcp/logging/billing_account_bucket_config.py +2 -18
  472. pulumi_gcp/logging/billing_account_exclusion.py +2 -18
  473. pulumi_gcp/logging/billing_account_sink.py +2 -18
  474. pulumi_gcp/logging/folder_bucket_config.py +2 -18
  475. pulumi_gcp/logging/folder_exclusion.py +2 -18
  476. pulumi_gcp/logging/folder_settings.py +2 -18
  477. pulumi_gcp/logging/folder_sink.py +2 -18
  478. pulumi_gcp/logging/linked_dataset.py +2 -18
  479. pulumi_gcp/logging/log_view.py +2 -18
  480. pulumi_gcp/logging/metric.py +2 -18
  481. pulumi_gcp/logging/organization_bucket_config.py +2 -18
  482. pulumi_gcp/logging/organization_exclusion.py +2 -18
  483. pulumi_gcp/logging/organization_settings.py +2 -18
  484. pulumi_gcp/logging/organization_sink.py +2 -18
  485. pulumi_gcp/logging/outputs.py +108 -0
  486. pulumi_gcp/logging/project_bucket_config.py +2 -18
  487. pulumi_gcp/logging/project_exclusion.py +2 -18
  488. pulumi_gcp/logging/project_sink.py +2 -18
  489. pulumi_gcp/looker/instance.py +2 -18
  490. pulumi_gcp/memcache/instance.py +63 -18
  491. pulumi_gcp/migrationcenter/group.py +2 -18
  492. pulumi_gcp/ml/engine_model.py +2 -18
  493. pulumi_gcp/monitoring/alert_policy.py +2 -18
  494. pulumi_gcp/monitoring/custom_service.py +2 -18
  495. pulumi_gcp/monitoring/dashboard.py +2 -18
  496. pulumi_gcp/monitoring/generic_service.py +2 -18
  497. pulumi_gcp/monitoring/group.py +2 -18
  498. pulumi_gcp/monitoring/metric_descriptor.py +2 -18
  499. pulumi_gcp/monitoring/monitored_project.py +2 -18
  500. pulumi_gcp/monitoring/notification_channel.py +2 -18
  501. pulumi_gcp/monitoring/outputs.py +14 -0
  502. pulumi_gcp/monitoring/slo.py +2 -18
  503. pulumi_gcp/monitoring/uptime_check_config.py +2 -18
  504. pulumi_gcp/netapp/__init__.py +1 -0
  505. pulumi_gcp/netapp/active_directory.py +2 -18
  506. pulumi_gcp/netapp/backup_policy.py +2 -18
  507. pulumi_gcp/netapp/backup_vault.py +2 -18
  508. pulumi_gcp/netapp/kmsconfig.py +2 -18
  509. pulumi_gcp/netapp/storage_pool.py +36 -24
  510. pulumi_gcp/netapp/volume.py +67 -20
  511. pulumi_gcp/netapp/volume_snapshot.py +625 -0
  512. pulumi_gcp/networkconnectivity/_inputs.py +6 -0
  513. pulumi_gcp/networkconnectivity/hub.py +2 -18
  514. pulumi_gcp/networkconnectivity/outputs.py +6 -0
  515. pulumi_gcp/networkconnectivity/policy_based_route.py +2 -18
  516. pulumi_gcp/networkconnectivity/service_connection_policy.py +2 -18
  517. pulumi_gcp/networkconnectivity/spoke.py +2 -18
  518. pulumi_gcp/networkmanagement/connectivity_test.py +2 -18
  519. pulumi_gcp/networksecurity/address_group.py +2 -18
  520. pulumi_gcp/networksecurity/authorization_policy.py +2 -18
  521. pulumi_gcp/networksecurity/client_tls_policy.py +2 -18
  522. pulumi_gcp/networksecurity/gateway_security_policy.py +2 -18
  523. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +2 -18
  524. pulumi_gcp/networksecurity/security_profile.py +2 -18
  525. pulumi_gcp/networksecurity/server_tls_policy.py +2 -18
  526. pulumi_gcp/networksecurity/tls_inspection_policy.py +2 -18
  527. pulumi_gcp/networksecurity/url_list.py +2 -18
  528. pulumi_gcp/networkservices/edge_cache_keyset.py +2 -18
  529. pulumi_gcp/networkservices/edge_cache_origin.py +2 -18
  530. pulumi_gcp/networkservices/edge_cache_service.py +2 -18
  531. pulumi_gcp/networkservices/endpoint_policy.py +2 -18
  532. pulumi_gcp/networkservices/gateway.py +2 -18
  533. pulumi_gcp/networkservices/grpc_route.py +2 -18
  534. pulumi_gcp/networkservices/http_route.py +2 -18
  535. pulumi_gcp/networkservices/mesh.py +2 -18
  536. pulumi_gcp/networkservices/service_binding.py +2 -18
  537. pulumi_gcp/networkservices/tcp_route.py +2 -18
  538. pulumi_gcp/networkservices/tls_route.py +2 -18
  539. pulumi_gcp/notebooks/environment.py +2 -18
  540. pulumi_gcp/notebooks/instance.py +2 -18
  541. pulumi_gcp/notebooks/location.py +2 -18
  542. pulumi_gcp/notebooks/runtime.py +2 -18
  543. pulumi_gcp/organizations/_inputs.py +4 -0
  544. pulumi_gcp/organizations/access_approval_settings.py +2 -18
  545. pulumi_gcp/organizations/folder.py +2 -18
  546. pulumi_gcp/organizations/iam_audit_config.py +2 -2
  547. pulumi_gcp/organizations/iam_member.py +6 -14
  548. pulumi_gcp/organizations/iam_policy.py +6 -14
  549. pulumi_gcp/organizations/outputs.py +4 -0
  550. pulumi_gcp/organizations/policy.py +2 -18
  551. pulumi_gcp/organizations/project.py +2 -18
  552. pulumi_gcp/orgpolicy/custom_constraint.py +2 -18
  553. pulumi_gcp/orgpolicy/policy.py +4 -16
  554. pulumi_gcp/osconfig/guest_policies.py +2 -18
  555. pulumi_gcp/osconfig/os_policy_assignment.py +2 -18
  556. pulumi_gcp/osconfig/patch_deployment.py +2 -18
  557. pulumi_gcp/oslogin/ssh_public_key.py +2 -18
  558. pulumi_gcp/projects/_inputs.py +4 -0
  559. pulumi_gcp/projects/access_approval_settings.py +2 -18
  560. pulumi_gcp/projects/api_key.py +2 -18
  561. pulumi_gcp/projects/iam_audit_config.py +6 -14
  562. pulumi_gcp/projects/iam_binding.py +6 -14
  563. pulumi_gcp/projects/iam_custom_role.py +2 -18
  564. pulumi_gcp/projects/iam_member.py +6 -14
  565. pulumi_gcp/projects/iam_policy.py +6 -14
  566. pulumi_gcp/projects/organization_policy.py +2 -18
  567. pulumi_gcp/projects/outputs.py +54 -0
  568. pulumi_gcp/projects/service.py +2 -18
  569. pulumi_gcp/projects/usage_export_bucket.py +2 -18
  570. pulumi_gcp/provider.py +60 -0
  571. pulumi_gcp/pubsub/_inputs.py +26 -4
  572. pulumi_gcp/pubsub/lite_reservation.py +2 -18
  573. pulumi_gcp/pubsub/lite_subscription.py +2 -18
  574. pulumi_gcp/pubsub/lite_topic.py +2 -18
  575. pulumi_gcp/pubsub/outputs.py +323 -4
  576. pulumi_gcp/pubsub/schema.py +2 -18
  577. pulumi_gcp/pubsub/subscription.py +82 -16
  578. pulumi_gcp/pubsub/subscription_iam_binding.py +4 -12
  579. pulumi_gcp/pubsub/subscription_iam_member.py +4 -12
  580. pulumi_gcp/pubsub/subscription_iam_policy.py +4 -12
  581. pulumi_gcp/pubsub/topic.py +2 -18
  582. pulumi_gcp/recaptcha/enterprise_key.py +2 -18
  583. pulumi_gcp/redis/cluster.py +2 -18
  584. pulumi_gcp/redis/instance.py +2 -18
  585. pulumi_gcp/redis/outputs.py +204 -0
  586. pulumi_gcp/resourcemanager/lien.py +2 -18
  587. pulumi_gcp/runtimeconfig/config.py +2 -18
  588. pulumi_gcp/runtimeconfig/variable.py +2 -18
  589. pulumi_gcp/secretmanager/outputs.py +88 -0
  590. pulumi_gcp/secretmanager/secret.py +2 -18
  591. pulumi_gcp/secretmanager/secret_version.py +2 -18
  592. pulumi_gcp/securesourcemanager/instance.py +2 -18
  593. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +2 -18
  594. pulumi_gcp/securitycenter/folder_custom_module.py +2 -18
  595. pulumi_gcp/securitycenter/instance_iam_binding.py +2 -18
  596. pulumi_gcp/securitycenter/instance_iam_member.py +2 -18
  597. pulumi_gcp/securitycenter/instance_iam_policy.py +2 -18
  598. pulumi_gcp/securitycenter/mute_config.py +2 -18
  599. pulumi_gcp/securitycenter/notification_config.py +2 -18
  600. pulumi_gcp/securitycenter/organization_custom_module.py +2 -18
  601. pulumi_gcp/securitycenter/project_custom_module.py +2 -18
  602. pulumi_gcp/securitycenter/source.py +2 -18
  603. pulumi_gcp/securitycenter/source_iam_binding.py +2 -18
  604. pulumi_gcp/securitycenter/source_iam_member.py +2 -18
  605. pulumi_gcp/securitycenter/source_iam_policy.py +2 -18
  606. pulumi_gcp/securityposture/__init__.py +11 -0
  607. pulumi_gcp/securityposture/_inputs.py +1364 -0
  608. pulumi_gcp/securityposture/outputs.py +1372 -0
  609. pulumi_gcp/securityposture/posture.py +828 -0
  610. pulumi_gcp/securityposture/posture_deployment.py +872 -0
  611. pulumi_gcp/serviceaccount/account.py +2 -18
  612. pulumi_gcp/servicedirectory/endpoint.py +2 -18
  613. pulumi_gcp/servicedirectory/namespace.py +2 -18
  614. pulumi_gcp/servicedirectory/service.py +2 -18
  615. pulumi_gcp/servicenetworking/connection.py +2 -18
  616. pulumi_gcp/servicenetworking/peered_dns_domain.py +2 -18
  617. pulumi_gcp/serviceusage/consumer_quota_override.py +2 -18
  618. pulumi_gcp/sourcerepo/outputs.py +20 -0
  619. pulumi_gcp/sourcerepo/repository.py +2 -18
  620. pulumi_gcp/spanner/database.py +2 -18
  621. pulumi_gcp/spanner/database_iam_binding.py +4 -12
  622. pulumi_gcp/spanner/database_iam_member.py +4 -12
  623. pulumi_gcp/spanner/database_iam_policy.py +4 -12
  624. pulumi_gcp/spanner/instance.py +2 -18
  625. pulumi_gcp/spanner/instance_iam_binding.py +4 -12
  626. pulumi_gcp/spanner/instance_iam_member.py +4 -12
  627. pulumi_gcp/spanner/instance_iam_policy.py +4 -12
  628. pulumi_gcp/spanner/outputs.py +68 -0
  629. pulumi_gcp/sql/_inputs.py +50 -0
  630. pulumi_gcp/sql/database.py +2 -18
  631. pulumi_gcp/sql/database_instance.py +2 -18
  632. pulumi_gcp/sql/outputs.py +904 -0
  633. pulumi_gcp/sql/source_representation_instance.py +2 -18
  634. pulumi_gcp/sql/user.py +2 -30
  635. pulumi_gcp/storage/bucket.py +2 -18
  636. pulumi_gcp/storage/bucket_access_control.py +2 -18
  637. pulumi_gcp/storage/default_object_access_control.py +2 -18
  638. pulumi_gcp/storage/hmac_key.py +2 -18
  639. pulumi_gcp/storage/insights_report_config.py +2 -18
  640. pulumi_gcp/storage/notification.py +2 -18
  641. pulumi_gcp/storage/object_access_control.py +2 -18
  642. pulumi_gcp/storage/outputs.py +188 -0
  643. pulumi_gcp/storage/transfer_agent_pool.py +2 -18
  644. pulumi_gcp/storage/transfer_job.py +2 -18
  645. pulumi_gcp/tags/location_tag_binding.py +2 -18
  646. pulumi_gcp/tags/tag_binding.py +2 -18
  647. pulumi_gcp/tags/tag_key.py +2 -18
  648. pulumi_gcp/tags/tag_value.py +2 -18
  649. pulumi_gcp/tpu/node.py +2 -18
  650. pulumi_gcp/tpu/v2_vm.py +2 -18
  651. pulumi_gcp/vertex/_inputs.py +166 -0
  652. pulumi_gcp/vertex/ai_endpoint.py +2 -18
  653. pulumi_gcp/vertex/ai_feature_group.py +2 -18
  654. pulumi_gcp/vertex/ai_feature_group_feature.py +2 -18
  655. pulumi_gcp/vertex/ai_feature_online_store.py +30 -46
  656. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +259 -19
  657. pulumi_gcp/vertex/ai_feature_store.py +9 -46
  658. pulumi_gcp/vertex/ai_feature_store_entity_type.py +9 -39
  659. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +2 -18
  660. pulumi_gcp/vertex/ai_index.py +2 -18
  661. pulumi_gcp/vertex/ai_index_endpoint.py +2 -18
  662. pulumi_gcp/vertex/ai_metadata_store.py +2 -18
  663. pulumi_gcp/vertex/ai_tensorboard.py +2 -18
  664. pulumi_gcp/vertex/outputs.py +304 -0
  665. pulumi_gcp/vmwareengine/cluster.py +2 -18
  666. pulumi_gcp/vmwareengine/external_access_rule.py +2 -18
  667. pulumi_gcp/vmwareengine/external_address.py +2 -18
  668. pulumi_gcp/vmwareengine/network.py +2 -18
  669. pulumi_gcp/vmwareengine/network_peering.py +2 -18
  670. pulumi_gcp/vmwareengine/network_policy.py +2 -18
  671. pulumi_gcp/vmwareengine/outputs.py +208 -0
  672. pulumi_gcp/vmwareengine/private_cloud.py +2 -25
  673. pulumi_gcp/vmwareengine/subnet.py +2 -18
  674. pulumi_gcp/vpcaccess/connector.py +2 -18
  675. pulumi_gcp/vpcaccess/outputs.py +4 -0
  676. pulumi_gcp/workbench/instance.py +2 -18
  677. pulumi_gcp/workflows/workflow.py +75 -7
  678. pulumi_gcp/workstations/_inputs.py +38 -0
  679. pulumi_gcp/workstations/outputs.py +30 -0
  680. pulumi_gcp/workstations/workstation.py +2 -18
  681. pulumi_gcp/workstations/workstation_cluster.py +2 -18
  682. pulumi_gcp/workstations/workstation_config.py +56 -18
  683. {pulumi_gcp-7.7.0a1706207981.dist-info → pulumi_gcp-7.8.0.dist-info}/METADATA +2 -1
  684. {pulumi_gcp-7.7.0a1706207981.dist-info → pulumi_gcp-7.8.0.dist-info}/RECORD +686 -668
  685. {pulumi_gcp-7.7.0a1706207981.dist-info → pulumi_gcp-7.8.0.dist-info}/WHEEL +0 -0
  686. {pulumi_gcp-7.7.0a1706207981.dist-info → pulumi_gcp-7.8.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1372 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'PosturePolicySet',
15
+ 'PosturePolicySetPolicy',
16
+ 'PosturePolicySetPolicyComplianceStandard',
17
+ 'PosturePolicySetPolicyConstraint',
18
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraint',
19
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom',
20
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint',
21
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule',
22
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr',
23
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues',
24
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule',
25
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr',
26
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues',
27
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule',
28
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig',
29
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput',
30
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty',
31
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyValueExpression',
32
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate',
33
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector',
34
+ 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule',
35
+ ]
36
+
37
+ @pulumi.output_type
38
+ class PosturePolicySet(dict):
39
+ @staticmethod
40
+ def __key_warning(key: str):
41
+ suggest = None
42
+ if key == "policySetId":
43
+ suggest = "policy_set_id"
44
+
45
+ if suggest:
46
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySet. Access the value via the '{suggest}' property getter instead.")
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ PosturePolicySet.__key_warning(key)
50
+ return super().__getitem__(key)
51
+
52
+ def get(self, key: str, default = None) -> Any:
53
+ PosturePolicySet.__key_warning(key)
54
+ return super().get(key, default)
55
+
56
+ def __init__(__self__, *,
57
+ policy_set_id: str,
58
+ description: Optional[str] = None,
59
+ policies: Optional[Sequence['outputs.PosturePolicySetPolicy']] = None):
60
+ """
61
+ :param str policy_set_id: ID of the policy set.
62
+ :param str description: Description of the policy set.
63
+ :param Sequence['PosturePolicySetPolicyArgs'] policies: List of security policy
64
+ Structure is documented below.
65
+ """
66
+ pulumi.set(__self__, "policy_set_id", policy_set_id)
67
+ if description is not None:
68
+ pulumi.set(__self__, "description", description)
69
+ if policies is not None:
70
+ pulumi.set(__self__, "policies", policies)
71
+
72
+ @property
73
+ @pulumi.getter(name="policySetId")
74
+ def policy_set_id(self) -> str:
75
+ """
76
+ ID of the policy set.
77
+ """
78
+ return pulumi.get(self, "policy_set_id")
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def description(self) -> Optional[str]:
83
+ """
84
+ Description of the policy set.
85
+ """
86
+ return pulumi.get(self, "description")
87
+
88
+ @property
89
+ @pulumi.getter
90
+ def policies(self) -> Optional[Sequence['outputs.PosturePolicySetPolicy']]:
91
+ """
92
+ List of security policy
93
+ Structure is documented below.
94
+ """
95
+ return pulumi.get(self, "policies")
96
+
97
+
98
+ @pulumi.output_type
99
+ class PosturePolicySetPolicy(dict):
100
+ @staticmethod
101
+ def __key_warning(key: str):
102
+ suggest = None
103
+ if key == "policyId":
104
+ suggest = "policy_id"
105
+ elif key == "complianceStandards":
106
+ suggest = "compliance_standards"
107
+
108
+ if suggest:
109
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicy. Access the value via the '{suggest}' property getter instead.")
110
+
111
+ def __getitem__(self, key: str) -> Any:
112
+ PosturePolicySetPolicy.__key_warning(key)
113
+ return super().__getitem__(key)
114
+
115
+ def get(self, key: str, default = None) -> Any:
116
+ PosturePolicySetPolicy.__key_warning(key)
117
+ return super().get(key, default)
118
+
119
+ def __init__(__self__, *,
120
+ constraint: 'outputs.PosturePolicySetPolicyConstraint',
121
+ policy_id: str,
122
+ compliance_standards: Optional[Sequence['outputs.PosturePolicySetPolicyComplianceStandard']] = None,
123
+ description: Optional[str] = None):
124
+ """
125
+ :param 'PosturePolicySetPolicyConstraintArgs' constraint: Policy constraint definition.It can have the definition of one of following constraints: orgPolicyConstraint orgPolicyConstraintCustom securityHealthAnalyticsModule securityHealthAnalyticsCustomModule
126
+ Structure is documented below.
127
+ :param str policy_id: ID of the policy.
128
+ :param Sequence['PosturePolicySetPolicyComplianceStandardArgs'] compliance_standards: Mapping for policy to security standards and controls.
129
+ Structure is documented below.
130
+ :param str description: Description of the policy.
131
+ """
132
+ pulumi.set(__self__, "constraint", constraint)
133
+ pulumi.set(__self__, "policy_id", policy_id)
134
+ if compliance_standards is not None:
135
+ pulumi.set(__self__, "compliance_standards", compliance_standards)
136
+ if description is not None:
137
+ pulumi.set(__self__, "description", description)
138
+
139
+ @property
140
+ @pulumi.getter
141
+ def constraint(self) -> 'outputs.PosturePolicySetPolicyConstraint':
142
+ """
143
+ Policy constraint definition.It can have the definition of one of following constraints: orgPolicyConstraint orgPolicyConstraintCustom securityHealthAnalyticsModule securityHealthAnalyticsCustomModule
144
+ Structure is documented below.
145
+ """
146
+ return pulumi.get(self, "constraint")
147
+
148
+ @property
149
+ @pulumi.getter(name="policyId")
150
+ def policy_id(self) -> str:
151
+ """
152
+ ID of the policy.
153
+ """
154
+ return pulumi.get(self, "policy_id")
155
+
156
+ @property
157
+ @pulumi.getter(name="complianceStandards")
158
+ def compliance_standards(self) -> Optional[Sequence['outputs.PosturePolicySetPolicyComplianceStandard']]:
159
+ """
160
+ Mapping for policy to security standards and controls.
161
+ Structure is documented below.
162
+ """
163
+ return pulumi.get(self, "compliance_standards")
164
+
165
+ @property
166
+ @pulumi.getter
167
+ def description(self) -> Optional[str]:
168
+ """
169
+ Description of the policy.
170
+ """
171
+ return pulumi.get(self, "description")
172
+
173
+
174
+ @pulumi.output_type
175
+ class PosturePolicySetPolicyComplianceStandard(dict):
176
+ def __init__(__self__, *,
177
+ control: Optional[str] = None,
178
+ standard: Optional[str] = None):
179
+ """
180
+ :param str control: Mapping of security controls for the policy.
181
+ :param str standard: Mapping of compliance standards for the policy.
182
+ """
183
+ if control is not None:
184
+ pulumi.set(__self__, "control", control)
185
+ if standard is not None:
186
+ pulumi.set(__self__, "standard", standard)
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def control(self) -> Optional[str]:
191
+ """
192
+ Mapping of security controls for the policy.
193
+ """
194
+ return pulumi.get(self, "control")
195
+
196
+ @property
197
+ @pulumi.getter
198
+ def standard(self) -> Optional[str]:
199
+ """
200
+ Mapping of compliance standards for the policy.
201
+ """
202
+ return pulumi.get(self, "standard")
203
+
204
+
205
+ @pulumi.output_type
206
+ class PosturePolicySetPolicyConstraint(dict):
207
+ @staticmethod
208
+ def __key_warning(key: str):
209
+ suggest = None
210
+ if key == "orgPolicyConstraint":
211
+ suggest = "org_policy_constraint"
212
+ elif key == "orgPolicyConstraintCustom":
213
+ suggest = "org_policy_constraint_custom"
214
+ elif key == "securityHealthAnalyticsCustomModule":
215
+ suggest = "security_health_analytics_custom_module"
216
+ elif key == "securityHealthAnalyticsModule":
217
+ suggest = "security_health_analytics_module"
218
+
219
+ if suggest:
220
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraint. Access the value via the '{suggest}' property getter instead.")
221
+
222
+ def __getitem__(self, key: str) -> Any:
223
+ PosturePolicySetPolicyConstraint.__key_warning(key)
224
+ return super().__getitem__(key)
225
+
226
+ def get(self, key: str, default = None) -> Any:
227
+ PosturePolicySetPolicyConstraint.__key_warning(key)
228
+ return super().get(key, default)
229
+
230
+ def __init__(__self__, *,
231
+ org_policy_constraint: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraint'] = None,
232
+ org_policy_constraint_custom: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom'] = None,
233
+ security_health_analytics_custom_module: Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule'] = None,
234
+ security_health_analytics_module: Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule'] = None):
235
+ """
236
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintArgs' org_policy_constraint: Organization policy canned constraint definition.
237
+ Structure is documented below.
238
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomArgs' org_policy_constraint_custom: Organization policy custom constraint policy definition.
239
+ Structure is documented below.
240
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleArgs' security_health_analytics_custom_module: Definition of Security Health Analytics Custom Module.
241
+ Structure is documented below.
242
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModuleArgs' security_health_analytics_module: Security Health Analytics built-in detector definition.
243
+ Structure is documented below.
244
+ """
245
+ if org_policy_constraint is not None:
246
+ pulumi.set(__self__, "org_policy_constraint", org_policy_constraint)
247
+ if org_policy_constraint_custom is not None:
248
+ pulumi.set(__self__, "org_policy_constraint_custom", org_policy_constraint_custom)
249
+ if security_health_analytics_custom_module is not None:
250
+ pulumi.set(__self__, "security_health_analytics_custom_module", security_health_analytics_custom_module)
251
+ if security_health_analytics_module is not None:
252
+ pulumi.set(__self__, "security_health_analytics_module", security_health_analytics_module)
253
+
254
+ @property
255
+ @pulumi.getter(name="orgPolicyConstraint")
256
+ def org_policy_constraint(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraint']:
257
+ """
258
+ Organization policy canned constraint definition.
259
+ Structure is documented below.
260
+ """
261
+ return pulumi.get(self, "org_policy_constraint")
262
+
263
+ @property
264
+ @pulumi.getter(name="orgPolicyConstraintCustom")
265
+ def org_policy_constraint_custom(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom']:
266
+ """
267
+ Organization policy custom constraint policy definition.
268
+ Structure is documented below.
269
+ """
270
+ return pulumi.get(self, "org_policy_constraint_custom")
271
+
272
+ @property
273
+ @pulumi.getter(name="securityHealthAnalyticsCustomModule")
274
+ def security_health_analytics_custom_module(self) -> Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule']:
275
+ """
276
+ Definition of Security Health Analytics Custom Module.
277
+ Structure is documented below.
278
+ """
279
+ return pulumi.get(self, "security_health_analytics_custom_module")
280
+
281
+ @property
282
+ @pulumi.getter(name="securityHealthAnalyticsModule")
283
+ def security_health_analytics_module(self) -> Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule']:
284
+ """
285
+ Security Health Analytics built-in detector definition.
286
+ Structure is documented below.
287
+ """
288
+ return pulumi.get(self, "security_health_analytics_module")
289
+
290
+
291
+ @pulumi.output_type
292
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraint(dict):
293
+ @staticmethod
294
+ def __key_warning(key: str):
295
+ suggest = None
296
+ if key == "cannedConstraintId":
297
+ suggest = "canned_constraint_id"
298
+ elif key == "policyRules":
299
+ suggest = "policy_rules"
300
+
301
+ if suggest:
302
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraint. Access the value via the '{suggest}' property getter instead.")
303
+
304
+ def __getitem__(self, key: str) -> Any:
305
+ PosturePolicySetPolicyConstraintOrgPolicyConstraint.__key_warning(key)
306
+ return super().__getitem__(key)
307
+
308
+ def get(self, key: str, default = None) -> Any:
309
+ PosturePolicySetPolicyConstraintOrgPolicyConstraint.__key_warning(key)
310
+ return super().get(key, default)
311
+
312
+ def __init__(__self__, *,
313
+ canned_constraint_id: str,
314
+ policy_rules: Sequence['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule']):
315
+ """
316
+ :param str canned_constraint_id: Organization policy canned constraint Id
317
+ :param Sequence['PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleArgs'] policy_rules: Definition of policy rules
318
+ Structure is documented below.
319
+ """
320
+ pulumi.set(__self__, "canned_constraint_id", canned_constraint_id)
321
+ pulumi.set(__self__, "policy_rules", policy_rules)
322
+
323
+ @property
324
+ @pulumi.getter(name="cannedConstraintId")
325
+ def canned_constraint_id(self) -> str:
326
+ """
327
+ Organization policy canned constraint Id
328
+ """
329
+ return pulumi.get(self, "canned_constraint_id")
330
+
331
+ @property
332
+ @pulumi.getter(name="policyRules")
333
+ def policy_rules(self) -> Sequence['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule']:
334
+ """
335
+ Definition of policy rules
336
+ Structure is documented below.
337
+ """
338
+ return pulumi.get(self, "policy_rules")
339
+
340
+
341
+ @pulumi.output_type
342
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom(dict):
343
+ @staticmethod
344
+ def __key_warning(key: str):
345
+ suggest = None
346
+ if key == "policyRules":
347
+ suggest = "policy_rules"
348
+ elif key == "customConstraint":
349
+ suggest = "custom_constraint"
350
+
351
+ if suggest:
352
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom. Access the value via the '{suggest}' property getter instead.")
353
+
354
+ def __getitem__(self, key: str) -> Any:
355
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom.__key_warning(key)
356
+ return super().__getitem__(key)
357
+
358
+ def get(self, key: str, default = None) -> Any:
359
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom.__key_warning(key)
360
+ return super().get(key, default)
361
+
362
+ def __init__(__self__, *,
363
+ policy_rules: Sequence['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule'],
364
+ custom_constraint: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint'] = None):
365
+ """
366
+ :param Sequence['PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleArgs'] policy_rules: Definition of policy rules
367
+ Structure is documented below.
368
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraintArgs' custom_constraint: Organization policy custom constraint definition.
369
+ Structure is documented below.
370
+ """
371
+ pulumi.set(__self__, "policy_rules", policy_rules)
372
+ if custom_constraint is not None:
373
+ pulumi.set(__self__, "custom_constraint", custom_constraint)
374
+
375
+ @property
376
+ @pulumi.getter(name="policyRules")
377
+ def policy_rules(self) -> Sequence['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule']:
378
+ """
379
+ Definition of policy rules
380
+ Structure is documented below.
381
+ """
382
+ return pulumi.get(self, "policy_rules")
383
+
384
+ @property
385
+ @pulumi.getter(name="customConstraint")
386
+ def custom_constraint(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint']:
387
+ """
388
+ Organization policy custom constraint definition.
389
+ Structure is documented below.
390
+ """
391
+ return pulumi.get(self, "custom_constraint")
392
+
393
+
394
+ @pulumi.output_type
395
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint(dict):
396
+ @staticmethod
397
+ def __key_warning(key: str):
398
+ suggest = None
399
+ if key == "actionType":
400
+ suggest = "action_type"
401
+ elif key == "methodTypes":
402
+ suggest = "method_types"
403
+ elif key == "resourceTypes":
404
+ suggest = "resource_types"
405
+ elif key == "displayName":
406
+ suggest = "display_name"
407
+
408
+ if suggest:
409
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint. Access the value via the '{suggest}' property getter instead.")
410
+
411
+ def __getitem__(self, key: str) -> Any:
412
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint.__key_warning(key)
413
+ return super().__getitem__(key)
414
+
415
+ def get(self, key: str, default = None) -> Any:
416
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint.__key_warning(key)
417
+ return super().get(key, default)
418
+
419
+ def __init__(__self__, *,
420
+ action_type: str,
421
+ condition: str,
422
+ method_types: Sequence[str],
423
+ name: str,
424
+ resource_types: Sequence[str],
425
+ description: Optional[str] = None,
426
+ display_name: Optional[str] = None):
427
+ """
428
+ :param str action_type: The action to take if the condition is met.
429
+ Possible values are: `ALLOW`, `DENY`.
430
+ :param str condition: A CEL condition that refers to a supported service resource, for example `resource.management.autoUpgrade == false`. For details about CEL usage, see [Common Expression Language](https://cloud.google.com/resource-manager/docs/organization-policy/creating-managing-custom-constraints#common_expression_language).
431
+ :param Sequence[str] method_types: A list of RESTful methods for which to enforce the constraint. Can be `CREATE`, `UPDATE`, or both. Not all Google Cloud services support both methods. To see supported methods for each service, find the service in [Supported services](https://cloud.google.com/resource-manager/docs/organization-policy/custom-constraint-supported-services).
432
+ :param str name: Immutable. The name of the custom constraint. This is unique within the organization.
433
+ :param Sequence[str] resource_types: Immutable. The fully qualified name of the Google Cloud REST resource containing the object and field you want to restrict. For example, `container.googleapis.com/NodePool`.
434
+ :param str description: A human-friendly description of the constraint to display as an error message when the policy is violated.
435
+ :param str display_name: A human-friendly name for the constraint.
436
+ """
437
+ pulumi.set(__self__, "action_type", action_type)
438
+ pulumi.set(__self__, "condition", condition)
439
+ pulumi.set(__self__, "method_types", method_types)
440
+ pulumi.set(__self__, "name", name)
441
+ pulumi.set(__self__, "resource_types", resource_types)
442
+ if description is not None:
443
+ pulumi.set(__self__, "description", description)
444
+ if display_name is not None:
445
+ pulumi.set(__self__, "display_name", display_name)
446
+
447
+ @property
448
+ @pulumi.getter(name="actionType")
449
+ def action_type(self) -> str:
450
+ """
451
+ The action to take if the condition is met.
452
+ Possible values are: `ALLOW`, `DENY`.
453
+ """
454
+ return pulumi.get(self, "action_type")
455
+
456
+ @property
457
+ @pulumi.getter
458
+ def condition(self) -> str:
459
+ """
460
+ A CEL condition that refers to a supported service resource, for example `resource.management.autoUpgrade == false`. For details about CEL usage, see [Common Expression Language](https://cloud.google.com/resource-manager/docs/organization-policy/creating-managing-custom-constraints#common_expression_language).
461
+ """
462
+ return pulumi.get(self, "condition")
463
+
464
+ @property
465
+ @pulumi.getter(name="methodTypes")
466
+ def method_types(self) -> Sequence[str]:
467
+ """
468
+ A list of RESTful methods for which to enforce the constraint. Can be `CREATE`, `UPDATE`, or both. Not all Google Cloud services support both methods. To see supported methods for each service, find the service in [Supported services](https://cloud.google.com/resource-manager/docs/organization-policy/custom-constraint-supported-services).
469
+ """
470
+ return pulumi.get(self, "method_types")
471
+
472
+ @property
473
+ @pulumi.getter
474
+ def name(self) -> str:
475
+ """
476
+ Immutable. The name of the custom constraint. This is unique within the organization.
477
+ """
478
+ return pulumi.get(self, "name")
479
+
480
+ @property
481
+ @pulumi.getter(name="resourceTypes")
482
+ def resource_types(self) -> Sequence[str]:
483
+ """
484
+ Immutable. The fully qualified name of the Google Cloud REST resource containing the object and field you want to restrict. For example, `container.googleapis.com/NodePool`.
485
+ """
486
+ return pulumi.get(self, "resource_types")
487
+
488
+ @property
489
+ @pulumi.getter
490
+ def description(self) -> Optional[str]:
491
+ """
492
+ A human-friendly description of the constraint to display as an error message when the policy is violated.
493
+ """
494
+ return pulumi.get(self, "description")
495
+
496
+ @property
497
+ @pulumi.getter(name="displayName")
498
+ def display_name(self) -> Optional[str]:
499
+ """
500
+ A human-friendly name for the constraint.
501
+ """
502
+ return pulumi.get(self, "display_name")
503
+
504
+
505
+ @pulumi.output_type
506
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule(dict):
507
+ @staticmethod
508
+ def __key_warning(key: str):
509
+ suggest = None
510
+ if key == "allowAll":
511
+ suggest = "allow_all"
512
+ elif key == "denyAll":
513
+ suggest = "deny_all"
514
+
515
+ if suggest:
516
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule. Access the value via the '{suggest}' property getter instead.")
517
+
518
+ def __getitem__(self, key: str) -> Any:
519
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule.__key_warning(key)
520
+ return super().__getitem__(key)
521
+
522
+ def get(self, key: str, default = None) -> Any:
523
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule.__key_warning(key)
524
+ return super().get(key, default)
525
+
526
+ def __init__(__self__, *,
527
+ allow_all: Optional[bool] = None,
528
+ deny_all: Optional[bool] = None,
529
+ enforce: Optional[bool] = None,
530
+ expr: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr'] = None,
531
+ values: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues'] = None):
532
+ """
533
+ :param bool allow_all: Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
534
+ :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
535
+ :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
536
+ This field can be set only in policies for boolean constraints.
537
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExprArgs' expr: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
538
+ This page details the objects and attributes that are used to the build the CEL expressions for
539
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
540
+ Structure is documented below.
541
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValuesArgs' values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
542
+ Structure is documented below.
543
+ """
544
+ if allow_all is not None:
545
+ pulumi.set(__self__, "allow_all", allow_all)
546
+ if deny_all is not None:
547
+ pulumi.set(__self__, "deny_all", deny_all)
548
+ if enforce is not None:
549
+ pulumi.set(__self__, "enforce", enforce)
550
+ if expr is not None:
551
+ pulumi.set(__self__, "expr", expr)
552
+ if values is not None:
553
+ pulumi.set(__self__, "values", values)
554
+
555
+ @property
556
+ @pulumi.getter(name="allowAll")
557
+ def allow_all(self) -> Optional[bool]:
558
+ """
559
+ Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
560
+ """
561
+ return pulumi.get(self, "allow_all")
562
+
563
+ @property
564
+ @pulumi.getter(name="denyAll")
565
+ def deny_all(self) -> Optional[bool]:
566
+ """
567
+ Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
568
+ """
569
+ return pulumi.get(self, "deny_all")
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def enforce(self) -> Optional[bool]:
574
+ """
575
+ If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
576
+ This field can be set only in policies for boolean constraints.
577
+ """
578
+ return pulumi.get(self, "enforce")
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def expr(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr']:
583
+ """
584
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
585
+ This page details the objects and attributes that are used to the build the CEL expressions for
586
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
587
+ Structure is documented below.
588
+ """
589
+ return pulumi.get(self, "expr")
590
+
591
+ @property
592
+ @pulumi.getter
593
+ def values(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues']:
594
+ """
595
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
596
+ Structure is documented below.
597
+ """
598
+ return pulumi.get(self, "values")
599
+
600
+
601
+ @pulumi.output_type
602
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr(dict):
603
+ def __init__(__self__, *,
604
+ expression: str,
605
+ description: Optional[str] = None,
606
+ location: Optional[str] = None,
607
+ title: Optional[str] = None):
608
+ """
609
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
610
+ :param str description: Description of the expression
611
+ :param str location: String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
612
+ :param str title: Title for the expression, i.e. a short string describing its purpose.
613
+ """
614
+ pulumi.set(__self__, "expression", expression)
615
+ if description is not None:
616
+ pulumi.set(__self__, "description", description)
617
+ if location is not None:
618
+ pulumi.set(__self__, "location", location)
619
+ if title is not None:
620
+ pulumi.set(__self__, "title", title)
621
+
622
+ @property
623
+ @pulumi.getter
624
+ def expression(self) -> str:
625
+ """
626
+ Textual representation of an expression in Common Expression Language syntax.
627
+ """
628
+ return pulumi.get(self, "expression")
629
+
630
+ @property
631
+ @pulumi.getter
632
+ def description(self) -> Optional[str]:
633
+ """
634
+ Description of the expression
635
+ """
636
+ return pulumi.get(self, "description")
637
+
638
+ @property
639
+ @pulumi.getter
640
+ def location(self) -> Optional[str]:
641
+ """
642
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
643
+ """
644
+ return pulumi.get(self, "location")
645
+
646
+ @property
647
+ @pulumi.getter
648
+ def title(self) -> Optional[str]:
649
+ """
650
+ Title for the expression, i.e. a short string describing its purpose.
651
+ """
652
+ return pulumi.get(self, "title")
653
+
654
+
655
+ @pulumi.output_type
656
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues(dict):
657
+ @staticmethod
658
+ def __key_warning(key: str):
659
+ suggest = None
660
+ if key == "allowedValues":
661
+ suggest = "allowed_values"
662
+ elif key == "deniedValues":
663
+ suggest = "denied_values"
664
+
665
+ if suggest:
666
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues. Access the value via the '{suggest}' property getter instead.")
667
+
668
+ def __getitem__(self, key: str) -> Any:
669
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues.__key_warning(key)
670
+ return super().__getitem__(key)
671
+
672
+ def get(self, key: str, default = None) -> Any:
673
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues.__key_warning(key)
674
+ return super().get(key, default)
675
+
676
+ def __init__(__self__, *,
677
+ allowed_values: Optional[Sequence[str]] = None,
678
+ denied_values: Optional[Sequence[str]] = None):
679
+ """
680
+ :param Sequence[str] allowed_values: List of values allowed at this resource.
681
+ :param Sequence[str] denied_values: List of values denied at this resource.
682
+ """
683
+ if allowed_values is not None:
684
+ pulumi.set(__self__, "allowed_values", allowed_values)
685
+ if denied_values is not None:
686
+ pulumi.set(__self__, "denied_values", denied_values)
687
+
688
+ @property
689
+ @pulumi.getter(name="allowedValues")
690
+ def allowed_values(self) -> Optional[Sequence[str]]:
691
+ """
692
+ List of values allowed at this resource.
693
+ """
694
+ return pulumi.get(self, "allowed_values")
695
+
696
+ @property
697
+ @pulumi.getter(name="deniedValues")
698
+ def denied_values(self) -> Optional[Sequence[str]]:
699
+ """
700
+ List of values denied at this resource.
701
+ """
702
+ return pulumi.get(self, "denied_values")
703
+
704
+
705
+ @pulumi.output_type
706
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule(dict):
707
+ @staticmethod
708
+ def __key_warning(key: str):
709
+ suggest = None
710
+ if key == "allowAll":
711
+ suggest = "allow_all"
712
+ elif key == "denyAll":
713
+ suggest = "deny_all"
714
+
715
+ if suggest:
716
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule. Access the value via the '{suggest}' property getter instead.")
717
+
718
+ def __getitem__(self, key: str) -> Any:
719
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule.__key_warning(key)
720
+ return super().__getitem__(key)
721
+
722
+ def get(self, key: str, default = None) -> Any:
723
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule.__key_warning(key)
724
+ return super().get(key, default)
725
+
726
+ def __init__(__self__, *,
727
+ allow_all: Optional[bool] = None,
728
+ deny_all: Optional[bool] = None,
729
+ enforce: Optional[bool] = None,
730
+ expr: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr'] = None,
731
+ values: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues'] = None):
732
+ """
733
+ :param bool allow_all: Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
734
+ :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
735
+ :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
736
+ This field can be set only in policies for boolean constraints.
737
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExprArgs' expr: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
738
+ This page details the objects and attributes that are used to the build the CEL expressions for
739
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
740
+ Structure is documented below.
741
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValuesArgs' values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
742
+ Structure is documented below.
743
+ """
744
+ if allow_all is not None:
745
+ pulumi.set(__self__, "allow_all", allow_all)
746
+ if deny_all is not None:
747
+ pulumi.set(__self__, "deny_all", deny_all)
748
+ if enforce is not None:
749
+ pulumi.set(__self__, "enforce", enforce)
750
+ if expr is not None:
751
+ pulumi.set(__self__, "expr", expr)
752
+ if values is not None:
753
+ pulumi.set(__self__, "values", values)
754
+
755
+ @property
756
+ @pulumi.getter(name="allowAll")
757
+ def allow_all(self) -> Optional[bool]:
758
+ """
759
+ Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
760
+ """
761
+ return pulumi.get(self, "allow_all")
762
+
763
+ @property
764
+ @pulumi.getter(name="denyAll")
765
+ def deny_all(self) -> Optional[bool]:
766
+ """
767
+ Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
768
+ """
769
+ return pulumi.get(self, "deny_all")
770
+
771
+ @property
772
+ @pulumi.getter
773
+ def enforce(self) -> Optional[bool]:
774
+ """
775
+ If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
776
+ This field can be set only in policies for boolean constraints.
777
+ """
778
+ return pulumi.get(self, "enforce")
779
+
780
+ @property
781
+ @pulumi.getter
782
+ def expr(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr']:
783
+ """
784
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
785
+ This page details the objects and attributes that are used to the build the CEL expressions for
786
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
787
+ Structure is documented below.
788
+ """
789
+ return pulumi.get(self, "expr")
790
+
791
+ @property
792
+ @pulumi.getter
793
+ def values(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues']:
794
+ """
795
+ List of values to be used for this policy rule. This field can be set only in policies for list constraints.
796
+ Structure is documented below.
797
+ """
798
+ return pulumi.get(self, "values")
799
+
800
+
801
+ @pulumi.output_type
802
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr(dict):
803
+ def __init__(__self__, *,
804
+ expression: str,
805
+ description: Optional[str] = None,
806
+ location: Optional[str] = None,
807
+ title: Optional[str] = None):
808
+ """
809
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
810
+ :param str description: Description of the expression
811
+ :param str location: String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
812
+ :param str title: Title for the expression, i.e. a short string describing its purpose.
813
+ """
814
+ pulumi.set(__self__, "expression", expression)
815
+ if description is not None:
816
+ pulumi.set(__self__, "description", description)
817
+ if location is not None:
818
+ pulumi.set(__self__, "location", location)
819
+ if title is not None:
820
+ pulumi.set(__self__, "title", title)
821
+
822
+ @property
823
+ @pulumi.getter
824
+ def expression(self) -> str:
825
+ """
826
+ Textual representation of an expression in Common Expression Language syntax.
827
+ """
828
+ return pulumi.get(self, "expression")
829
+
830
+ @property
831
+ @pulumi.getter
832
+ def description(self) -> Optional[str]:
833
+ """
834
+ Description of the expression
835
+ """
836
+ return pulumi.get(self, "description")
837
+
838
+ @property
839
+ @pulumi.getter
840
+ def location(self) -> Optional[str]:
841
+ """
842
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
843
+ """
844
+ return pulumi.get(self, "location")
845
+
846
+ @property
847
+ @pulumi.getter
848
+ def title(self) -> Optional[str]:
849
+ """
850
+ Title for the expression, i.e. a short string describing its purpose.
851
+ """
852
+ return pulumi.get(self, "title")
853
+
854
+
855
+ @pulumi.output_type
856
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues(dict):
857
+ @staticmethod
858
+ def __key_warning(key: str):
859
+ suggest = None
860
+ if key == "allowedValues":
861
+ suggest = "allowed_values"
862
+ elif key == "deniedValues":
863
+ suggest = "denied_values"
864
+
865
+ if suggest:
866
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues. Access the value via the '{suggest}' property getter instead.")
867
+
868
+ def __getitem__(self, key: str) -> Any:
869
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues.__key_warning(key)
870
+ return super().__getitem__(key)
871
+
872
+ def get(self, key: str, default = None) -> Any:
873
+ PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues.__key_warning(key)
874
+ return super().get(key, default)
875
+
876
+ def __init__(__self__, *,
877
+ allowed_values: Optional[Sequence[str]] = None,
878
+ denied_values: Optional[Sequence[str]] = None):
879
+ """
880
+ :param Sequence[str] allowed_values: List of values allowed at this resource.
881
+ :param Sequence[str] denied_values: List of values denied at this resource.
882
+ """
883
+ if allowed_values is not None:
884
+ pulumi.set(__self__, "allowed_values", allowed_values)
885
+ if denied_values is not None:
886
+ pulumi.set(__self__, "denied_values", denied_values)
887
+
888
+ @property
889
+ @pulumi.getter(name="allowedValues")
890
+ def allowed_values(self) -> Optional[Sequence[str]]:
891
+ """
892
+ List of values allowed at this resource.
893
+ """
894
+ return pulumi.get(self, "allowed_values")
895
+
896
+ @property
897
+ @pulumi.getter(name="deniedValues")
898
+ def denied_values(self) -> Optional[Sequence[str]]:
899
+ """
900
+ List of values denied at this resource.
901
+ """
902
+ return pulumi.get(self, "denied_values")
903
+
904
+
905
+ @pulumi.output_type
906
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule(dict):
907
+ @staticmethod
908
+ def __key_warning(key: str):
909
+ suggest = None
910
+ if key == "displayName":
911
+ suggest = "display_name"
912
+ elif key == "moduleEnablementState":
913
+ suggest = "module_enablement_state"
914
+
915
+ if suggest:
916
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule. Access the value via the '{suggest}' property getter instead.")
917
+
918
+ def __getitem__(self, key: str) -> Any:
919
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule.__key_warning(key)
920
+ return super().__getitem__(key)
921
+
922
+ def get(self, key: str, default = None) -> Any:
923
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule.__key_warning(key)
924
+ return super().get(key, default)
925
+
926
+ def __init__(__self__, *,
927
+ config: 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig',
928
+ display_name: Optional[str] = None,
929
+ id: Optional[str] = None,
930
+ module_enablement_state: Optional[str] = None):
931
+ """
932
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigArgs' config: Custom module details.
933
+ Structure is documented below.
934
+ :param str display_name: The display name of the Security Health Analytics custom module. This
935
+ display name becomes the finding category for all findings that are
936
+ returned by this custom module.
937
+ :param str id: (Output)
938
+ A server generated id of custom module.
939
+ :param str module_enablement_state: The state of enablement for the module at its level of the resource hierarchy.
940
+ Possible values are: `ENABLEMENT_STATE_UNSPECIFIED`, `ENABLED`, `DISABLED`.
941
+ """
942
+ pulumi.set(__self__, "config", config)
943
+ if display_name is not None:
944
+ pulumi.set(__self__, "display_name", display_name)
945
+ if id is not None:
946
+ pulumi.set(__self__, "id", id)
947
+ if module_enablement_state is not None:
948
+ pulumi.set(__self__, "module_enablement_state", module_enablement_state)
949
+
950
+ @property
951
+ @pulumi.getter
952
+ def config(self) -> 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig':
953
+ """
954
+ Custom module details.
955
+ Structure is documented below.
956
+ """
957
+ return pulumi.get(self, "config")
958
+
959
+ @property
960
+ @pulumi.getter(name="displayName")
961
+ def display_name(self) -> Optional[str]:
962
+ """
963
+ The display name of the Security Health Analytics custom module. This
964
+ display name becomes the finding category for all findings that are
965
+ returned by this custom module.
966
+ """
967
+ return pulumi.get(self, "display_name")
968
+
969
+ @property
970
+ @pulumi.getter
971
+ def id(self) -> Optional[str]:
972
+ """
973
+ (Output)
974
+ A server generated id of custom module.
975
+ """
976
+ return pulumi.get(self, "id")
977
+
978
+ @property
979
+ @pulumi.getter(name="moduleEnablementState")
980
+ def module_enablement_state(self) -> Optional[str]:
981
+ """
982
+ The state of enablement for the module at its level of the resource hierarchy.
983
+ Possible values are: `ENABLEMENT_STATE_UNSPECIFIED`, `ENABLED`, `DISABLED`.
984
+ """
985
+ return pulumi.get(self, "module_enablement_state")
986
+
987
+
988
+ @pulumi.output_type
989
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig(dict):
990
+ @staticmethod
991
+ def __key_warning(key: str):
992
+ suggest = None
993
+ if key == "resourceSelector":
994
+ suggest = "resource_selector"
995
+ elif key == "customOutput":
996
+ suggest = "custom_output"
997
+
998
+ if suggest:
999
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig. Access the value via the '{suggest}' property getter instead.")
1000
+
1001
+ def __getitem__(self, key: str) -> Any:
1002
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig.__key_warning(key)
1003
+ return super().__getitem__(key)
1004
+
1005
+ def get(self, key: str, default = None) -> Any:
1006
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig.__key_warning(key)
1007
+ return super().get(key, default)
1008
+
1009
+ def __init__(__self__, *,
1010
+ predicate: 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate',
1011
+ resource_selector: 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector',
1012
+ severity: str,
1013
+ custom_output: Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput'] = None,
1014
+ description: Optional[str] = None,
1015
+ recommendation: Optional[str] = None):
1016
+ """
1017
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigPredicateArgs' predicate: The CEL expression to evaluate to produce findings.When the expression
1018
+ evaluates to true against a resource, a finding is generated.
1019
+ Structure is documented below.
1020
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelectorArgs' resource_selector: The resource types that the custom module operates on. Each custom module
1021
+ can specify up to 5 resource types.
1022
+ Structure is documented below.
1023
+ :param str severity: The severity to assign to findings generated by the module.
1024
+ Possible values are: `SEVERITY_UNSPECIFIED`, `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`.
1025
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputArgs' custom_output: Custom output properties. A set of optional name-value pairs that define custom source properties to
1026
+ return with each finding that is generated by the custom module. The custom
1027
+ source properties that are defined here are included in the finding JSON
1028
+ under `sourceProperties`.
1029
+ Structure is documented below.
1030
+ :param str description: Text that describes the vulnerability or misconfiguration that the custom
1031
+ module detects.
1032
+ :param str recommendation: An explanation of the recommended steps that security teams can take to
1033
+ resolve the detected issue
1034
+ """
1035
+ pulumi.set(__self__, "predicate", predicate)
1036
+ pulumi.set(__self__, "resource_selector", resource_selector)
1037
+ pulumi.set(__self__, "severity", severity)
1038
+ if custom_output is not None:
1039
+ pulumi.set(__self__, "custom_output", custom_output)
1040
+ if description is not None:
1041
+ pulumi.set(__self__, "description", description)
1042
+ if recommendation is not None:
1043
+ pulumi.set(__self__, "recommendation", recommendation)
1044
+
1045
+ @property
1046
+ @pulumi.getter
1047
+ def predicate(self) -> 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate':
1048
+ """
1049
+ The CEL expression to evaluate to produce findings.When the expression
1050
+ evaluates to true against a resource, a finding is generated.
1051
+ Structure is documented below.
1052
+ """
1053
+ return pulumi.get(self, "predicate")
1054
+
1055
+ @property
1056
+ @pulumi.getter(name="resourceSelector")
1057
+ def resource_selector(self) -> 'outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector':
1058
+ """
1059
+ The resource types that the custom module operates on. Each custom module
1060
+ can specify up to 5 resource types.
1061
+ Structure is documented below.
1062
+ """
1063
+ return pulumi.get(self, "resource_selector")
1064
+
1065
+ @property
1066
+ @pulumi.getter
1067
+ def severity(self) -> str:
1068
+ """
1069
+ The severity to assign to findings generated by the module.
1070
+ Possible values are: `SEVERITY_UNSPECIFIED`, `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`.
1071
+ """
1072
+ return pulumi.get(self, "severity")
1073
+
1074
+ @property
1075
+ @pulumi.getter(name="customOutput")
1076
+ def custom_output(self) -> Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput']:
1077
+ """
1078
+ Custom output properties. A set of optional name-value pairs that define custom source properties to
1079
+ return with each finding that is generated by the custom module. The custom
1080
+ source properties that are defined here are included in the finding JSON
1081
+ under `sourceProperties`.
1082
+ Structure is documented below.
1083
+ """
1084
+ return pulumi.get(self, "custom_output")
1085
+
1086
+ @property
1087
+ @pulumi.getter
1088
+ def description(self) -> Optional[str]:
1089
+ """
1090
+ Text that describes the vulnerability or misconfiguration that the custom
1091
+ module detects.
1092
+ """
1093
+ return pulumi.get(self, "description")
1094
+
1095
+ @property
1096
+ @pulumi.getter
1097
+ def recommendation(self) -> Optional[str]:
1098
+ """
1099
+ An explanation of the recommended steps that security teams can take to
1100
+ resolve the detected issue
1101
+ """
1102
+ return pulumi.get(self, "recommendation")
1103
+
1104
+
1105
+ @pulumi.output_type
1106
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutput(dict):
1107
+ def __init__(__self__, *,
1108
+ properties: Optional[Sequence['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty']] = None):
1109
+ """
1110
+ :param Sequence['PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyArgs'] properties: A list of custom output properties to add to the finding.
1111
+ Structure is documented below.
1112
+ """
1113
+ if properties is not None:
1114
+ pulumi.set(__self__, "properties", properties)
1115
+
1116
+ @property
1117
+ @pulumi.getter
1118
+ def properties(self) -> Optional[Sequence['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty']]:
1119
+ """
1120
+ A list of custom output properties to add to the finding.
1121
+ Structure is documented below.
1122
+ """
1123
+ return pulumi.get(self, "properties")
1124
+
1125
+
1126
+ @pulumi.output_type
1127
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty(dict):
1128
+ @staticmethod
1129
+ def __key_warning(key: str):
1130
+ suggest = None
1131
+ if key == "valueExpression":
1132
+ suggest = "value_expression"
1133
+
1134
+ if suggest:
1135
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty. Access the value via the '{suggest}' property getter instead.")
1136
+
1137
+ def __getitem__(self, key: str) -> Any:
1138
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty.__key_warning(key)
1139
+ return super().__getitem__(key)
1140
+
1141
+ def get(self, key: str, default = None) -> Any:
1142
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputProperty.__key_warning(key)
1143
+ return super().get(key, default)
1144
+
1145
+ def __init__(__self__, *,
1146
+ name: str,
1147
+ value_expression: Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyValueExpression'] = None):
1148
+ """
1149
+ :param str name: Name of the property for the custom output.
1150
+ :param 'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyValueExpressionArgs' value_expression: The CEL expression for the custom output. A resource property can be
1151
+ specified to return the value of the property or a text string enclosed
1152
+ in quotation marks.
1153
+ Structure is documented below.
1154
+ """
1155
+ pulumi.set(__self__, "name", name)
1156
+ if value_expression is not None:
1157
+ pulumi.set(__self__, "value_expression", value_expression)
1158
+
1159
+ @property
1160
+ @pulumi.getter
1161
+ def name(self) -> str:
1162
+ """
1163
+ Name of the property for the custom output.
1164
+ """
1165
+ return pulumi.get(self, "name")
1166
+
1167
+ @property
1168
+ @pulumi.getter(name="valueExpression")
1169
+ def value_expression(self) -> Optional['outputs.PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyValueExpression']:
1170
+ """
1171
+ The CEL expression for the custom output. A resource property can be
1172
+ specified to return the value of the property or a text string enclosed
1173
+ in quotation marks.
1174
+ Structure is documented below.
1175
+ """
1176
+ return pulumi.get(self, "value_expression")
1177
+
1178
+
1179
+ @pulumi.output_type
1180
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigCustomOutputPropertyValueExpression(dict):
1181
+ def __init__(__self__, *,
1182
+ expression: str,
1183
+ description: Optional[str] = None,
1184
+ location: Optional[str] = None,
1185
+ title: Optional[str] = None):
1186
+ """
1187
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
1188
+ :param str description: Description of the expression
1189
+ :param str location: String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
1190
+ :param str title: Title for the expression, i.e. a short string describing its purpose.
1191
+ """
1192
+ pulumi.set(__self__, "expression", expression)
1193
+ if description is not None:
1194
+ pulumi.set(__self__, "description", description)
1195
+ if location is not None:
1196
+ pulumi.set(__self__, "location", location)
1197
+ if title is not None:
1198
+ pulumi.set(__self__, "title", title)
1199
+
1200
+ @property
1201
+ @pulumi.getter
1202
+ def expression(self) -> str:
1203
+ """
1204
+ Textual representation of an expression in Common Expression Language syntax.
1205
+ """
1206
+ return pulumi.get(self, "expression")
1207
+
1208
+ @property
1209
+ @pulumi.getter
1210
+ def description(self) -> Optional[str]:
1211
+ """
1212
+ Description of the expression
1213
+ """
1214
+ return pulumi.get(self, "description")
1215
+
1216
+ @property
1217
+ @pulumi.getter
1218
+ def location(self) -> Optional[str]:
1219
+ """
1220
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
1221
+ """
1222
+ return pulumi.get(self, "location")
1223
+
1224
+ @property
1225
+ @pulumi.getter
1226
+ def title(self) -> Optional[str]:
1227
+ """
1228
+ Title for the expression, i.e. a short string describing its purpose.
1229
+ """
1230
+ return pulumi.get(self, "title")
1231
+
1232
+
1233
+ @pulumi.output_type
1234
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigPredicate(dict):
1235
+ def __init__(__self__, *,
1236
+ expression: str,
1237
+ description: Optional[str] = None,
1238
+ location: Optional[str] = None,
1239
+ title: Optional[str] = None):
1240
+ """
1241
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
1242
+ :param str description: Description of the expression
1243
+ :param str location: String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
1244
+ :param str title: Title for the expression, i.e. a short string describing its purpose.
1245
+ """
1246
+ pulumi.set(__self__, "expression", expression)
1247
+ if description is not None:
1248
+ pulumi.set(__self__, "description", description)
1249
+ if location is not None:
1250
+ pulumi.set(__self__, "location", location)
1251
+ if title is not None:
1252
+ pulumi.set(__self__, "title", title)
1253
+
1254
+ @property
1255
+ @pulumi.getter
1256
+ def expression(self) -> str:
1257
+ """
1258
+ Textual representation of an expression in Common Expression Language syntax.
1259
+ """
1260
+ return pulumi.get(self, "expression")
1261
+
1262
+ @property
1263
+ @pulumi.getter
1264
+ def description(self) -> Optional[str]:
1265
+ """
1266
+ Description of the expression
1267
+ """
1268
+ return pulumi.get(self, "description")
1269
+
1270
+ @property
1271
+ @pulumi.getter
1272
+ def location(self) -> Optional[str]:
1273
+ """
1274
+ String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
1275
+ """
1276
+ return pulumi.get(self, "location")
1277
+
1278
+ @property
1279
+ @pulumi.getter
1280
+ def title(self) -> Optional[str]:
1281
+ """
1282
+ Title for the expression, i.e. a short string describing its purpose.
1283
+ """
1284
+ return pulumi.get(self, "title")
1285
+
1286
+
1287
+ @pulumi.output_type
1288
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector(dict):
1289
+ @staticmethod
1290
+ def __key_warning(key: str):
1291
+ suggest = None
1292
+ if key == "resourceTypes":
1293
+ suggest = "resource_types"
1294
+
1295
+ if suggest:
1296
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector. Access the value via the '{suggest}' property getter instead.")
1297
+
1298
+ def __getitem__(self, key: str) -> Any:
1299
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector.__key_warning(key)
1300
+ return super().__getitem__(key)
1301
+
1302
+ def get(self, key: str, default = None) -> Any:
1303
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfigResourceSelector.__key_warning(key)
1304
+ return super().get(key, default)
1305
+
1306
+ def __init__(__self__, *,
1307
+ resource_types: Sequence[str]):
1308
+ """
1309
+ :param Sequence[str] resource_types: The resource types to run the detector on.
1310
+ """
1311
+ pulumi.set(__self__, "resource_types", resource_types)
1312
+
1313
+ @property
1314
+ @pulumi.getter(name="resourceTypes")
1315
+ def resource_types(self) -> Sequence[str]:
1316
+ """
1317
+ The resource types to run the detector on.
1318
+ """
1319
+ return pulumi.get(self, "resource_types")
1320
+
1321
+
1322
+ @pulumi.output_type
1323
+ class PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule(dict):
1324
+ @staticmethod
1325
+ def __key_warning(key: str):
1326
+ suggest = None
1327
+ if key == "moduleName":
1328
+ suggest = "module_name"
1329
+ elif key == "moduleEnablementState":
1330
+ suggest = "module_enablement_state"
1331
+
1332
+ if suggest:
1333
+ pulumi.log.warn(f"Key '{key}' not found in PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule. Access the value via the '{suggest}' property getter instead.")
1334
+
1335
+ def __getitem__(self, key: str) -> Any:
1336
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule.__key_warning(key)
1337
+ return super().__getitem__(key)
1338
+
1339
+ def get(self, key: str, default = None) -> Any:
1340
+ PosturePolicySetPolicyConstraintSecurityHealthAnalyticsModule.__key_warning(key)
1341
+ return super().get(key, default)
1342
+
1343
+ def __init__(__self__, *,
1344
+ module_name: str,
1345
+ module_enablement_state: Optional[str] = None):
1346
+ """
1347
+ :param str module_name: The name of the module eg: BIGQUERY_TABLE_CMEK_DISABLED.
1348
+ :param str module_enablement_state: The state of enablement for the module at its level of the resource hierarchy.
1349
+ Possible values are: `ENABLEMENT_STATE_UNSPECIFIED`, `ENABLED`, `DISABLED`.
1350
+ """
1351
+ pulumi.set(__self__, "module_name", module_name)
1352
+ if module_enablement_state is not None:
1353
+ pulumi.set(__self__, "module_enablement_state", module_enablement_state)
1354
+
1355
+ @property
1356
+ @pulumi.getter(name="moduleName")
1357
+ def module_name(self) -> str:
1358
+ """
1359
+ The name of the module eg: BIGQUERY_TABLE_CMEK_DISABLED.
1360
+ """
1361
+ return pulumi.get(self, "module_name")
1362
+
1363
+ @property
1364
+ @pulumi.getter(name="moduleEnablementState")
1365
+ def module_enablement_state(self) -> Optional[str]:
1366
+ """
1367
+ The state of enablement for the module at its level of the resource hierarchy.
1368
+ Possible values are: `ENABLEMENT_STATE_UNSPECIFIED`, `ENABLED`, `DISABLED`.
1369
+ """
1370
+ return pulumi.get(self, "module_enablement_state")
1371
+
1372
+