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,872 @@
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
+
12
+ __all__ = ['PostureDeploymentArgs', 'PostureDeployment']
13
+
14
+ @pulumi.input_type
15
+ class PostureDeploymentArgs:
16
+ def __init__(__self__, *,
17
+ location: pulumi.Input[str],
18
+ parent: pulumi.Input[str],
19
+ posture_deployment_id: pulumi.Input[str],
20
+ posture_id: pulumi.Input[str],
21
+ posture_revision_id: pulumi.Input[str],
22
+ target_resource: pulumi.Input[str],
23
+ description: Optional[pulumi.Input[str]] = None):
24
+ """
25
+ The set of arguments for constructing a PostureDeployment resource.
26
+ :param pulumi.Input[str] location: The location of the resource, eg. global`.
27
+ :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
28
+ :param pulumi.Input[str] posture_deployment_id: ID of the posture deployment.
29
+
30
+
31
+ - - -
32
+ :param pulumi.Input[str] posture_id: Relative name of the posture which needs to be deployed. It should be in the format:
33
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
34
+ :param pulumi.Input[str] posture_revision_id: Revision_id the posture which needs to be deployed.
35
+ :param pulumi.Input[str] target_resource: The resource on which the posture should be deployed. This can be in one of the following formats:
36
+ projects/<project_number>
37
+ folders/<folder_number>
38
+ organizations/<organization_id>
39
+ :param pulumi.Input[str] description: Description of the posture deployment.
40
+ """
41
+ pulumi.set(__self__, "location", location)
42
+ pulumi.set(__self__, "parent", parent)
43
+ pulumi.set(__self__, "posture_deployment_id", posture_deployment_id)
44
+ pulumi.set(__self__, "posture_id", posture_id)
45
+ pulumi.set(__self__, "posture_revision_id", posture_revision_id)
46
+ pulumi.set(__self__, "target_resource", target_resource)
47
+ if description is not None:
48
+ pulumi.set(__self__, "description", description)
49
+
50
+ @property
51
+ @pulumi.getter
52
+ def location(self) -> pulumi.Input[str]:
53
+ """
54
+ The location of the resource, eg. global`.
55
+ """
56
+ return pulumi.get(self, "location")
57
+
58
+ @location.setter
59
+ def location(self, value: pulumi.Input[str]):
60
+ pulumi.set(self, "location", value)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def parent(self) -> pulumi.Input[str]:
65
+ """
66
+ The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
67
+ """
68
+ return pulumi.get(self, "parent")
69
+
70
+ @parent.setter
71
+ def parent(self, value: pulumi.Input[str]):
72
+ pulumi.set(self, "parent", value)
73
+
74
+ @property
75
+ @pulumi.getter(name="postureDeploymentId")
76
+ def posture_deployment_id(self) -> pulumi.Input[str]:
77
+ """
78
+ ID of the posture deployment.
79
+
80
+
81
+ - - -
82
+ """
83
+ return pulumi.get(self, "posture_deployment_id")
84
+
85
+ @posture_deployment_id.setter
86
+ def posture_deployment_id(self, value: pulumi.Input[str]):
87
+ pulumi.set(self, "posture_deployment_id", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="postureId")
91
+ def posture_id(self) -> pulumi.Input[str]:
92
+ """
93
+ Relative name of the posture which needs to be deployed. It should be in the format:
94
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
95
+ """
96
+ return pulumi.get(self, "posture_id")
97
+
98
+ @posture_id.setter
99
+ def posture_id(self, value: pulumi.Input[str]):
100
+ pulumi.set(self, "posture_id", value)
101
+
102
+ @property
103
+ @pulumi.getter(name="postureRevisionId")
104
+ def posture_revision_id(self) -> pulumi.Input[str]:
105
+ """
106
+ Revision_id the posture which needs to be deployed.
107
+ """
108
+ return pulumi.get(self, "posture_revision_id")
109
+
110
+ @posture_revision_id.setter
111
+ def posture_revision_id(self, value: pulumi.Input[str]):
112
+ pulumi.set(self, "posture_revision_id", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="targetResource")
116
+ def target_resource(self) -> pulumi.Input[str]:
117
+ """
118
+ The resource on which the posture should be deployed. This can be in one of the following formats:
119
+ projects/<project_number>
120
+ folders/<folder_number>
121
+ organizations/<organization_id>
122
+ """
123
+ return pulumi.get(self, "target_resource")
124
+
125
+ @target_resource.setter
126
+ def target_resource(self, value: pulumi.Input[str]):
127
+ pulumi.set(self, "target_resource", value)
128
+
129
+ @property
130
+ @pulumi.getter
131
+ def description(self) -> Optional[pulumi.Input[str]]:
132
+ """
133
+ Description of the posture deployment.
134
+ """
135
+ return pulumi.get(self, "description")
136
+
137
+ @description.setter
138
+ def description(self, value: Optional[pulumi.Input[str]]):
139
+ pulumi.set(self, "description", value)
140
+
141
+
142
+ @pulumi.input_type
143
+ class _PostureDeploymentState:
144
+ def __init__(__self__, *,
145
+ create_time: Optional[pulumi.Input[str]] = None,
146
+ description: Optional[pulumi.Input[str]] = None,
147
+ desired_posture_id: Optional[pulumi.Input[str]] = None,
148
+ desired_posture_revision_id: Optional[pulumi.Input[str]] = None,
149
+ etag: Optional[pulumi.Input[str]] = None,
150
+ failure_message: Optional[pulumi.Input[str]] = None,
151
+ location: Optional[pulumi.Input[str]] = None,
152
+ name: Optional[pulumi.Input[str]] = None,
153
+ parent: Optional[pulumi.Input[str]] = None,
154
+ posture_deployment_id: Optional[pulumi.Input[str]] = None,
155
+ posture_id: Optional[pulumi.Input[str]] = None,
156
+ posture_revision_id: Optional[pulumi.Input[str]] = None,
157
+ reconciling: Optional[pulumi.Input[bool]] = None,
158
+ state: Optional[pulumi.Input[str]] = None,
159
+ target_resource: Optional[pulumi.Input[str]] = None,
160
+ update_time: Optional[pulumi.Input[str]] = None):
161
+ """
162
+ Input properties used for looking up and filtering PostureDeployment resources.
163
+ :param pulumi.Input[str] create_time: Time the posture deployment was created in UTC.
164
+ :param pulumi.Input[str] description: Description of the posture deployment.
165
+ :param pulumi.Input[str] desired_posture_id: This is an output only optional field which will be filled in case when
166
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
167
+ It denotes the desired Posture to be deployed.
168
+ :param pulumi.Input[str] desired_posture_revision_id: This is an output only optional field which will be filled in case when
169
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
170
+ It denotes the desired Posture revision_id to be deployed.
171
+ :param pulumi.Input[str] etag: For Resource freshness validation (https://google.aip.dev/154)
172
+ :param pulumi.Input[str] failure_message: This is a output only optional field which will be filled in case where
173
+ PostureDeployment enters a failure state like UPDATE_FAILED or
174
+ CREATE_FAILED or DELETE_FAILED. It will have the failure message for posture deployment's
175
+ CREATE/UPDATE/DELETE methods.
176
+ :param pulumi.Input[str] location: The location of the resource, eg. global`.
177
+ :param pulumi.Input[str] name: Name of the posture deployment instance.
178
+ :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
179
+ :param pulumi.Input[str] posture_deployment_id: ID of the posture deployment.
180
+
181
+
182
+ - - -
183
+ :param pulumi.Input[str] posture_id: Relative name of the posture which needs to be deployed. It should be in the format:
184
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
185
+ :param pulumi.Input[str] posture_revision_id: Revision_id the posture which needs to be deployed.
186
+ :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the posture deployment.
187
+ :param pulumi.Input[str] state: State of the posture deployment.
188
+ :param pulumi.Input[str] target_resource: The resource on which the posture should be deployed. This can be in one of the following formats:
189
+ projects/<project_number>
190
+ folders/<folder_number>
191
+ organizations/<organization_id>
192
+ :param pulumi.Input[str] update_time: Time the posture deployment was updated in UTC.
193
+ """
194
+ if create_time is not None:
195
+ pulumi.set(__self__, "create_time", create_time)
196
+ if description is not None:
197
+ pulumi.set(__self__, "description", description)
198
+ if desired_posture_id is not None:
199
+ pulumi.set(__self__, "desired_posture_id", desired_posture_id)
200
+ if desired_posture_revision_id is not None:
201
+ pulumi.set(__self__, "desired_posture_revision_id", desired_posture_revision_id)
202
+ if etag is not None:
203
+ pulumi.set(__self__, "etag", etag)
204
+ if failure_message is not None:
205
+ pulumi.set(__self__, "failure_message", failure_message)
206
+ if location is not None:
207
+ pulumi.set(__self__, "location", location)
208
+ if name is not None:
209
+ pulumi.set(__self__, "name", name)
210
+ if parent is not None:
211
+ pulumi.set(__self__, "parent", parent)
212
+ if posture_deployment_id is not None:
213
+ pulumi.set(__self__, "posture_deployment_id", posture_deployment_id)
214
+ if posture_id is not None:
215
+ pulumi.set(__self__, "posture_id", posture_id)
216
+ if posture_revision_id is not None:
217
+ pulumi.set(__self__, "posture_revision_id", posture_revision_id)
218
+ if reconciling is not None:
219
+ pulumi.set(__self__, "reconciling", reconciling)
220
+ if state is not None:
221
+ pulumi.set(__self__, "state", state)
222
+ if target_resource is not None:
223
+ pulumi.set(__self__, "target_resource", target_resource)
224
+ if update_time is not None:
225
+ pulumi.set(__self__, "update_time", update_time)
226
+
227
+ @property
228
+ @pulumi.getter(name="createTime")
229
+ def create_time(self) -> Optional[pulumi.Input[str]]:
230
+ """
231
+ Time the posture deployment was created in UTC.
232
+ """
233
+ return pulumi.get(self, "create_time")
234
+
235
+ @create_time.setter
236
+ def create_time(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "create_time", value)
238
+
239
+ @property
240
+ @pulumi.getter
241
+ def description(self) -> Optional[pulumi.Input[str]]:
242
+ """
243
+ Description of the posture deployment.
244
+ """
245
+ return pulumi.get(self, "description")
246
+
247
+ @description.setter
248
+ def description(self, value: Optional[pulumi.Input[str]]):
249
+ pulumi.set(self, "description", value)
250
+
251
+ @property
252
+ @pulumi.getter(name="desiredPostureId")
253
+ def desired_posture_id(self) -> Optional[pulumi.Input[str]]:
254
+ """
255
+ This is an output only optional field which will be filled in case when
256
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
257
+ It denotes the desired Posture to be deployed.
258
+ """
259
+ return pulumi.get(self, "desired_posture_id")
260
+
261
+ @desired_posture_id.setter
262
+ def desired_posture_id(self, value: Optional[pulumi.Input[str]]):
263
+ pulumi.set(self, "desired_posture_id", value)
264
+
265
+ @property
266
+ @pulumi.getter(name="desiredPostureRevisionId")
267
+ def desired_posture_revision_id(self) -> Optional[pulumi.Input[str]]:
268
+ """
269
+ This is an output only optional field which will be filled in case when
270
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
271
+ It denotes the desired Posture revision_id to be deployed.
272
+ """
273
+ return pulumi.get(self, "desired_posture_revision_id")
274
+
275
+ @desired_posture_revision_id.setter
276
+ def desired_posture_revision_id(self, value: Optional[pulumi.Input[str]]):
277
+ pulumi.set(self, "desired_posture_revision_id", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def etag(self) -> Optional[pulumi.Input[str]]:
282
+ """
283
+ For Resource freshness validation (https://google.aip.dev/154)
284
+ """
285
+ return pulumi.get(self, "etag")
286
+
287
+ @etag.setter
288
+ def etag(self, value: Optional[pulumi.Input[str]]):
289
+ pulumi.set(self, "etag", value)
290
+
291
+ @property
292
+ @pulumi.getter(name="failureMessage")
293
+ def failure_message(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ This is a output only optional field which will be filled in case where
296
+ PostureDeployment enters a failure state like UPDATE_FAILED or
297
+ CREATE_FAILED or DELETE_FAILED. It will have the failure message for posture deployment's
298
+ CREATE/UPDATE/DELETE methods.
299
+ """
300
+ return pulumi.get(self, "failure_message")
301
+
302
+ @failure_message.setter
303
+ def failure_message(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "failure_message", value)
305
+
306
+ @property
307
+ @pulumi.getter
308
+ def location(self) -> Optional[pulumi.Input[str]]:
309
+ """
310
+ The location of the resource, eg. global`.
311
+ """
312
+ return pulumi.get(self, "location")
313
+
314
+ @location.setter
315
+ def location(self, value: Optional[pulumi.Input[str]]):
316
+ pulumi.set(self, "location", value)
317
+
318
+ @property
319
+ @pulumi.getter
320
+ def name(self) -> Optional[pulumi.Input[str]]:
321
+ """
322
+ Name of the posture deployment instance.
323
+ """
324
+ return pulumi.get(self, "name")
325
+
326
+ @name.setter
327
+ def name(self, value: Optional[pulumi.Input[str]]):
328
+ pulumi.set(self, "name", value)
329
+
330
+ @property
331
+ @pulumi.getter
332
+ def parent(self) -> Optional[pulumi.Input[str]]:
333
+ """
334
+ The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
335
+ """
336
+ return pulumi.get(self, "parent")
337
+
338
+ @parent.setter
339
+ def parent(self, value: Optional[pulumi.Input[str]]):
340
+ pulumi.set(self, "parent", value)
341
+
342
+ @property
343
+ @pulumi.getter(name="postureDeploymentId")
344
+ def posture_deployment_id(self) -> Optional[pulumi.Input[str]]:
345
+ """
346
+ ID of the posture deployment.
347
+
348
+
349
+ - - -
350
+ """
351
+ return pulumi.get(self, "posture_deployment_id")
352
+
353
+ @posture_deployment_id.setter
354
+ def posture_deployment_id(self, value: Optional[pulumi.Input[str]]):
355
+ pulumi.set(self, "posture_deployment_id", value)
356
+
357
+ @property
358
+ @pulumi.getter(name="postureId")
359
+ def posture_id(self) -> Optional[pulumi.Input[str]]:
360
+ """
361
+ Relative name of the posture which needs to be deployed. It should be in the format:
362
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
363
+ """
364
+ return pulumi.get(self, "posture_id")
365
+
366
+ @posture_id.setter
367
+ def posture_id(self, value: Optional[pulumi.Input[str]]):
368
+ pulumi.set(self, "posture_id", value)
369
+
370
+ @property
371
+ @pulumi.getter(name="postureRevisionId")
372
+ def posture_revision_id(self) -> Optional[pulumi.Input[str]]:
373
+ """
374
+ Revision_id the posture which needs to be deployed.
375
+ """
376
+ return pulumi.get(self, "posture_revision_id")
377
+
378
+ @posture_revision_id.setter
379
+ def posture_revision_id(self, value: Optional[pulumi.Input[str]]):
380
+ pulumi.set(self, "posture_revision_id", value)
381
+
382
+ @property
383
+ @pulumi.getter
384
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
385
+ """
386
+ If set, there are currently changes in flight to the posture deployment.
387
+ """
388
+ return pulumi.get(self, "reconciling")
389
+
390
+ @reconciling.setter
391
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
392
+ pulumi.set(self, "reconciling", value)
393
+
394
+ @property
395
+ @pulumi.getter
396
+ def state(self) -> Optional[pulumi.Input[str]]:
397
+ """
398
+ State of the posture deployment.
399
+ """
400
+ return pulumi.get(self, "state")
401
+
402
+ @state.setter
403
+ def state(self, value: Optional[pulumi.Input[str]]):
404
+ pulumi.set(self, "state", value)
405
+
406
+ @property
407
+ @pulumi.getter(name="targetResource")
408
+ def target_resource(self) -> Optional[pulumi.Input[str]]:
409
+ """
410
+ The resource on which the posture should be deployed. This can be in one of the following formats:
411
+ projects/<project_number>
412
+ folders/<folder_number>
413
+ organizations/<organization_id>
414
+ """
415
+ return pulumi.get(self, "target_resource")
416
+
417
+ @target_resource.setter
418
+ def target_resource(self, value: Optional[pulumi.Input[str]]):
419
+ pulumi.set(self, "target_resource", value)
420
+
421
+ @property
422
+ @pulumi.getter(name="updateTime")
423
+ def update_time(self) -> Optional[pulumi.Input[str]]:
424
+ """
425
+ Time the posture deployment was updated in UTC.
426
+ """
427
+ return pulumi.get(self, "update_time")
428
+
429
+ @update_time.setter
430
+ def update_time(self, value: Optional[pulumi.Input[str]]):
431
+ pulumi.set(self, "update_time", value)
432
+
433
+
434
+ class PostureDeployment(pulumi.CustomResource):
435
+ @overload
436
+ def __init__(__self__,
437
+ resource_name: str,
438
+ opts: Optional[pulumi.ResourceOptions] = None,
439
+ description: Optional[pulumi.Input[str]] = None,
440
+ location: Optional[pulumi.Input[str]] = None,
441
+ parent: Optional[pulumi.Input[str]] = None,
442
+ posture_deployment_id: Optional[pulumi.Input[str]] = None,
443
+ posture_id: Optional[pulumi.Input[str]] = None,
444
+ posture_revision_id: Optional[pulumi.Input[str]] = None,
445
+ target_resource: Optional[pulumi.Input[str]] = None,
446
+ __props__=None):
447
+ """
448
+ Represents a deployment of a security posture on a resource. A posture contains user curated policy sets. A posture can
449
+ be deployed on a project or on a folder or on an organization. To deploy a posture we need to populate the posture's name
450
+ and its revision_id in the posture deployment configuration. Every update to a deployed posture generates a new revision_id.
451
+ Thus, the updated revision_id should be used in the respective posture deployment's configuration to deploy that posture
452
+ on a resource.
453
+
454
+ To get more information about PostureDeployment, see:
455
+
456
+ * How-to Guides
457
+ * [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
458
+
459
+ ## Example Usage
460
+ ### Securityposture Posture Deployment Basic
461
+
462
+ ```python
463
+ import pulumi
464
+ import pulumi_gcp as gcp
465
+
466
+ posture1 = gcp.securityposture.Posture("posture1",
467
+ posture_id="posture_1",
468
+ parent="organizations/123456789",
469
+ location="global",
470
+ state="ACTIVE",
471
+ description="a new posture",
472
+ policy_sets=[gcp.securityposture.PosturePolicySetArgs(
473
+ policy_set_id="org_policy_set",
474
+ description="set of org policies",
475
+ policies=[gcp.securityposture.PosturePolicySetPolicyArgs(
476
+ policy_id="policy_1",
477
+ constraint=gcp.securityposture.PosturePolicySetPolicyConstraintArgs(
478
+ org_policy_constraint=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintArgs(
479
+ canned_constraint_id="storage.uniformBucketLevelAccess",
480
+ policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleArgs(
481
+ enforce=True,
482
+ )],
483
+ ),
484
+ ),
485
+ )],
486
+ )])
487
+ posture_deployment = gcp.securityposture.PostureDeployment("postureDeployment",
488
+ posture_deployment_id="posture_deployment_1",
489
+ parent="organizations/123456789",
490
+ location="global",
491
+ description="a new posture deployment",
492
+ target_resource="projects/1111111111111",
493
+ posture_id=posture1.name,
494
+ posture_revision_id=posture1.revision_id)
495
+ ```
496
+
497
+ ## Import
498
+
499
+ PostureDeployment can be imported using any of these accepted formats* `{{parent}}/locations/{{location}}/postureDeployments/{{posture_deployment_id}}` When using the `pulumi import` command, PostureDeployment can be imported using one of the formats above. For example
500
+
501
+ ```sh
502
+ $ pulumi import gcp:securityposture/postureDeployment:PostureDeployment default {{parent}}/locations/{{location}}/postureDeployments/{{posture_deployment_id}}
503
+ ```
504
+
505
+ :param str resource_name: The name of the resource.
506
+ :param pulumi.ResourceOptions opts: Options for the resource.
507
+ :param pulumi.Input[str] description: Description of the posture deployment.
508
+ :param pulumi.Input[str] location: The location of the resource, eg. global`.
509
+ :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
510
+ :param pulumi.Input[str] posture_deployment_id: ID of the posture deployment.
511
+
512
+
513
+ - - -
514
+ :param pulumi.Input[str] posture_id: Relative name of the posture which needs to be deployed. It should be in the format:
515
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
516
+ :param pulumi.Input[str] posture_revision_id: Revision_id the posture which needs to be deployed.
517
+ :param pulumi.Input[str] target_resource: The resource on which the posture should be deployed. This can be in one of the following formats:
518
+ projects/<project_number>
519
+ folders/<folder_number>
520
+ organizations/<organization_id>
521
+ """
522
+ ...
523
+ @overload
524
+ def __init__(__self__,
525
+ resource_name: str,
526
+ args: PostureDeploymentArgs,
527
+ opts: Optional[pulumi.ResourceOptions] = None):
528
+ """
529
+ Represents a deployment of a security posture on a resource. A posture contains user curated policy sets. A posture can
530
+ be deployed on a project or on a folder or on an organization. To deploy a posture we need to populate the posture's name
531
+ and its revision_id in the posture deployment configuration. Every update to a deployed posture generates a new revision_id.
532
+ Thus, the updated revision_id should be used in the respective posture deployment's configuration to deploy that posture
533
+ on a resource.
534
+
535
+ To get more information about PostureDeployment, see:
536
+
537
+ * How-to Guides
538
+ * [Create and deploy a posture](https://cloud.google.com/security-command-center/docs/how-to-use-security-posture)
539
+
540
+ ## Example Usage
541
+ ### Securityposture Posture Deployment Basic
542
+
543
+ ```python
544
+ import pulumi
545
+ import pulumi_gcp as gcp
546
+
547
+ posture1 = gcp.securityposture.Posture("posture1",
548
+ posture_id="posture_1",
549
+ parent="organizations/123456789",
550
+ location="global",
551
+ state="ACTIVE",
552
+ description="a new posture",
553
+ policy_sets=[gcp.securityposture.PosturePolicySetArgs(
554
+ policy_set_id="org_policy_set",
555
+ description="set of org policies",
556
+ policies=[gcp.securityposture.PosturePolicySetPolicyArgs(
557
+ policy_id="policy_1",
558
+ constraint=gcp.securityposture.PosturePolicySetPolicyConstraintArgs(
559
+ org_policy_constraint=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintArgs(
560
+ canned_constraint_id="storage.uniformBucketLevelAccess",
561
+ policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleArgs(
562
+ enforce=True,
563
+ )],
564
+ ),
565
+ ),
566
+ )],
567
+ )])
568
+ posture_deployment = gcp.securityposture.PostureDeployment("postureDeployment",
569
+ posture_deployment_id="posture_deployment_1",
570
+ parent="organizations/123456789",
571
+ location="global",
572
+ description="a new posture deployment",
573
+ target_resource="projects/1111111111111",
574
+ posture_id=posture1.name,
575
+ posture_revision_id=posture1.revision_id)
576
+ ```
577
+
578
+ ## Import
579
+
580
+ PostureDeployment can be imported using any of these accepted formats* `{{parent}}/locations/{{location}}/postureDeployments/{{posture_deployment_id}}` When using the `pulumi import` command, PostureDeployment can be imported using one of the formats above. For example
581
+
582
+ ```sh
583
+ $ pulumi import gcp:securityposture/postureDeployment:PostureDeployment default {{parent}}/locations/{{location}}/postureDeployments/{{posture_deployment_id}}
584
+ ```
585
+
586
+ :param str resource_name: The name of the resource.
587
+ :param PostureDeploymentArgs args: The arguments to use to populate this resource's properties.
588
+ :param pulumi.ResourceOptions opts: Options for the resource.
589
+ """
590
+ ...
591
+ def __init__(__self__, resource_name: str, *args, **kwargs):
592
+ resource_args, opts = _utilities.get_resource_args_opts(PostureDeploymentArgs, pulumi.ResourceOptions, *args, **kwargs)
593
+ if resource_args is not None:
594
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
595
+ else:
596
+ __self__._internal_init(resource_name, *args, **kwargs)
597
+
598
+ def _internal_init(__self__,
599
+ resource_name: str,
600
+ opts: Optional[pulumi.ResourceOptions] = None,
601
+ description: Optional[pulumi.Input[str]] = None,
602
+ location: Optional[pulumi.Input[str]] = None,
603
+ parent: Optional[pulumi.Input[str]] = None,
604
+ posture_deployment_id: Optional[pulumi.Input[str]] = None,
605
+ posture_id: Optional[pulumi.Input[str]] = None,
606
+ posture_revision_id: Optional[pulumi.Input[str]] = None,
607
+ target_resource: Optional[pulumi.Input[str]] = None,
608
+ __props__=None):
609
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
610
+ if not isinstance(opts, pulumi.ResourceOptions):
611
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
612
+ if opts.id is None:
613
+ if __props__ is not None:
614
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
615
+ __props__ = PostureDeploymentArgs.__new__(PostureDeploymentArgs)
616
+
617
+ __props__.__dict__["description"] = description
618
+ if location is None and not opts.urn:
619
+ raise TypeError("Missing required property 'location'")
620
+ __props__.__dict__["location"] = location
621
+ if parent is None and not opts.urn:
622
+ raise TypeError("Missing required property 'parent'")
623
+ __props__.__dict__["parent"] = parent
624
+ if posture_deployment_id is None and not opts.urn:
625
+ raise TypeError("Missing required property 'posture_deployment_id'")
626
+ __props__.__dict__["posture_deployment_id"] = posture_deployment_id
627
+ if posture_id is None and not opts.urn:
628
+ raise TypeError("Missing required property 'posture_id'")
629
+ __props__.__dict__["posture_id"] = posture_id
630
+ if posture_revision_id is None and not opts.urn:
631
+ raise TypeError("Missing required property 'posture_revision_id'")
632
+ __props__.__dict__["posture_revision_id"] = posture_revision_id
633
+ if target_resource is None and not opts.urn:
634
+ raise TypeError("Missing required property 'target_resource'")
635
+ __props__.__dict__["target_resource"] = target_resource
636
+ __props__.__dict__["create_time"] = None
637
+ __props__.__dict__["desired_posture_id"] = None
638
+ __props__.__dict__["desired_posture_revision_id"] = None
639
+ __props__.__dict__["etag"] = None
640
+ __props__.__dict__["failure_message"] = None
641
+ __props__.__dict__["name"] = None
642
+ __props__.__dict__["reconciling"] = None
643
+ __props__.__dict__["state"] = None
644
+ __props__.__dict__["update_time"] = None
645
+ super(PostureDeployment, __self__).__init__(
646
+ 'gcp:securityposture/postureDeployment:PostureDeployment',
647
+ resource_name,
648
+ __props__,
649
+ opts)
650
+
651
+ @staticmethod
652
+ def get(resource_name: str,
653
+ id: pulumi.Input[str],
654
+ opts: Optional[pulumi.ResourceOptions] = None,
655
+ create_time: Optional[pulumi.Input[str]] = None,
656
+ description: Optional[pulumi.Input[str]] = None,
657
+ desired_posture_id: Optional[pulumi.Input[str]] = None,
658
+ desired_posture_revision_id: Optional[pulumi.Input[str]] = None,
659
+ etag: Optional[pulumi.Input[str]] = None,
660
+ failure_message: Optional[pulumi.Input[str]] = None,
661
+ location: Optional[pulumi.Input[str]] = None,
662
+ name: Optional[pulumi.Input[str]] = None,
663
+ parent: Optional[pulumi.Input[str]] = None,
664
+ posture_deployment_id: Optional[pulumi.Input[str]] = None,
665
+ posture_id: Optional[pulumi.Input[str]] = None,
666
+ posture_revision_id: Optional[pulumi.Input[str]] = None,
667
+ reconciling: Optional[pulumi.Input[bool]] = None,
668
+ state: Optional[pulumi.Input[str]] = None,
669
+ target_resource: Optional[pulumi.Input[str]] = None,
670
+ update_time: Optional[pulumi.Input[str]] = None) -> 'PostureDeployment':
671
+ """
672
+ Get an existing PostureDeployment resource's state with the given name, id, and optional extra
673
+ properties used to qualify the lookup.
674
+
675
+ :param str resource_name: The unique name of the resulting resource.
676
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
677
+ :param pulumi.ResourceOptions opts: Options for the resource.
678
+ :param pulumi.Input[str] create_time: Time the posture deployment was created in UTC.
679
+ :param pulumi.Input[str] description: Description of the posture deployment.
680
+ :param pulumi.Input[str] desired_posture_id: This is an output only optional field which will be filled in case when
681
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
682
+ It denotes the desired Posture to be deployed.
683
+ :param pulumi.Input[str] desired_posture_revision_id: This is an output only optional field which will be filled in case when
684
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
685
+ It denotes the desired Posture revision_id to be deployed.
686
+ :param pulumi.Input[str] etag: For Resource freshness validation (https://google.aip.dev/154)
687
+ :param pulumi.Input[str] failure_message: This is a output only optional field which will be filled in case where
688
+ PostureDeployment enters a failure state like UPDATE_FAILED or
689
+ CREATE_FAILED or DELETE_FAILED. It will have the failure message for posture deployment's
690
+ CREATE/UPDATE/DELETE methods.
691
+ :param pulumi.Input[str] location: The location of the resource, eg. global`.
692
+ :param pulumi.Input[str] name: Name of the posture deployment instance.
693
+ :param pulumi.Input[str] parent: The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
694
+ :param pulumi.Input[str] posture_deployment_id: ID of the posture deployment.
695
+
696
+
697
+ - - -
698
+ :param pulumi.Input[str] posture_id: Relative name of the posture which needs to be deployed. It should be in the format:
699
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
700
+ :param pulumi.Input[str] posture_revision_id: Revision_id the posture which needs to be deployed.
701
+ :param pulumi.Input[bool] reconciling: If set, there are currently changes in flight to the posture deployment.
702
+ :param pulumi.Input[str] state: State of the posture deployment.
703
+ :param pulumi.Input[str] target_resource: The resource on which the posture should be deployed. This can be in one of the following formats:
704
+ projects/<project_number>
705
+ folders/<folder_number>
706
+ organizations/<organization_id>
707
+ :param pulumi.Input[str] update_time: Time the posture deployment was updated in UTC.
708
+ """
709
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
710
+
711
+ __props__ = _PostureDeploymentState.__new__(_PostureDeploymentState)
712
+
713
+ __props__.__dict__["create_time"] = create_time
714
+ __props__.__dict__["description"] = description
715
+ __props__.__dict__["desired_posture_id"] = desired_posture_id
716
+ __props__.__dict__["desired_posture_revision_id"] = desired_posture_revision_id
717
+ __props__.__dict__["etag"] = etag
718
+ __props__.__dict__["failure_message"] = failure_message
719
+ __props__.__dict__["location"] = location
720
+ __props__.__dict__["name"] = name
721
+ __props__.__dict__["parent"] = parent
722
+ __props__.__dict__["posture_deployment_id"] = posture_deployment_id
723
+ __props__.__dict__["posture_id"] = posture_id
724
+ __props__.__dict__["posture_revision_id"] = posture_revision_id
725
+ __props__.__dict__["reconciling"] = reconciling
726
+ __props__.__dict__["state"] = state
727
+ __props__.__dict__["target_resource"] = target_resource
728
+ __props__.__dict__["update_time"] = update_time
729
+ return PostureDeployment(resource_name, opts=opts, __props__=__props__)
730
+
731
+ @property
732
+ @pulumi.getter(name="createTime")
733
+ def create_time(self) -> pulumi.Output[str]:
734
+ """
735
+ Time the posture deployment was created in UTC.
736
+ """
737
+ return pulumi.get(self, "create_time")
738
+
739
+ @property
740
+ @pulumi.getter
741
+ def description(self) -> pulumi.Output[Optional[str]]:
742
+ """
743
+ Description of the posture deployment.
744
+ """
745
+ return pulumi.get(self, "description")
746
+
747
+ @property
748
+ @pulumi.getter(name="desiredPostureId")
749
+ def desired_posture_id(self) -> pulumi.Output[str]:
750
+ """
751
+ This is an output only optional field which will be filled in case when
752
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
753
+ It denotes the desired Posture to be deployed.
754
+ """
755
+ return pulumi.get(self, "desired_posture_id")
756
+
757
+ @property
758
+ @pulumi.getter(name="desiredPostureRevisionId")
759
+ def desired_posture_revision_id(self) -> pulumi.Output[str]:
760
+ """
761
+ This is an output only optional field which will be filled in case when
762
+ PostureDeployment state is UPDATE_FAILED or CREATE_FAILED or DELETE_FAILED.
763
+ It denotes the desired Posture revision_id to be deployed.
764
+ """
765
+ return pulumi.get(self, "desired_posture_revision_id")
766
+
767
+ @property
768
+ @pulumi.getter
769
+ def etag(self) -> pulumi.Output[str]:
770
+ """
771
+ For Resource freshness validation (https://google.aip.dev/154)
772
+ """
773
+ return pulumi.get(self, "etag")
774
+
775
+ @property
776
+ @pulumi.getter(name="failureMessage")
777
+ def failure_message(self) -> pulumi.Output[str]:
778
+ """
779
+ This is a output only optional field which will be filled in case where
780
+ PostureDeployment enters a failure state like UPDATE_FAILED or
781
+ CREATE_FAILED or DELETE_FAILED. It will have the failure message for posture deployment's
782
+ CREATE/UPDATE/DELETE methods.
783
+ """
784
+ return pulumi.get(self, "failure_message")
785
+
786
+ @property
787
+ @pulumi.getter
788
+ def location(self) -> pulumi.Output[str]:
789
+ """
790
+ The location of the resource, eg. global`.
791
+ """
792
+ return pulumi.get(self, "location")
793
+
794
+ @property
795
+ @pulumi.getter
796
+ def name(self) -> pulumi.Output[str]:
797
+ """
798
+ Name of the posture deployment instance.
799
+ """
800
+ return pulumi.get(self, "name")
801
+
802
+ @property
803
+ @pulumi.getter
804
+ def parent(self) -> pulumi.Output[str]:
805
+ """
806
+ The parent of the resource, an organization. Format should be `organizations/{organization_id}`.
807
+ """
808
+ return pulumi.get(self, "parent")
809
+
810
+ @property
811
+ @pulumi.getter(name="postureDeploymentId")
812
+ def posture_deployment_id(self) -> pulumi.Output[str]:
813
+ """
814
+ ID of the posture deployment.
815
+
816
+
817
+ - - -
818
+ """
819
+ return pulumi.get(self, "posture_deployment_id")
820
+
821
+ @property
822
+ @pulumi.getter(name="postureId")
823
+ def posture_id(self) -> pulumi.Output[str]:
824
+ """
825
+ Relative name of the posture which needs to be deployed. It should be in the format:
826
+ organizations/<ORG_ID>/locations/<LOCATION>/postures/<postureID>
827
+ """
828
+ return pulumi.get(self, "posture_id")
829
+
830
+ @property
831
+ @pulumi.getter(name="postureRevisionId")
832
+ def posture_revision_id(self) -> pulumi.Output[str]:
833
+ """
834
+ Revision_id the posture which needs to be deployed.
835
+ """
836
+ return pulumi.get(self, "posture_revision_id")
837
+
838
+ @property
839
+ @pulumi.getter
840
+ def reconciling(self) -> pulumi.Output[bool]:
841
+ """
842
+ If set, there are currently changes in flight to the posture deployment.
843
+ """
844
+ return pulumi.get(self, "reconciling")
845
+
846
+ @property
847
+ @pulumi.getter
848
+ def state(self) -> pulumi.Output[str]:
849
+ """
850
+ State of the posture deployment.
851
+ """
852
+ return pulumi.get(self, "state")
853
+
854
+ @property
855
+ @pulumi.getter(name="targetResource")
856
+ def target_resource(self) -> pulumi.Output[str]:
857
+ """
858
+ The resource on which the posture should be deployed. This can be in one of the following formats:
859
+ projects/<project_number>
860
+ folders/<folder_number>
861
+ organizations/<organization_id>
862
+ """
863
+ return pulumi.get(self, "target_resource")
864
+
865
+ @property
866
+ @pulumi.getter(name="updateTime")
867
+ def update_time(self) -> pulumi.Output[str]:
868
+ """
869
+ Time the posture deployment was updated in UTC.
870
+ """
871
+ return pulumi.get(self, "update_time")
872
+