pulumi-gcp 7.32.0a1721151794__py3-none-any.whl → 7.33.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. pulumi_gcp/__init__.py +11 -0
  2. pulumi_gcp/_utilities.py +5 -4
  3. pulumi_gcp/accesscontextmanager/access_level.py +8 -8
  4. pulumi_gcp/accesscontextmanager/access_level_condition.py +18 -18
  5. pulumi_gcp/accesscontextmanager/access_levels.py +16 -16
  6. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +8 -8
  7. pulumi_gcp/accesscontextmanager/service_perimeter.py +66 -66
  8. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +2 -2
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +2 -2
  10. pulumi_gcp/accesscontextmanager/service_perimeters.py +12 -12
  11. pulumi_gcp/alloydb/cluster.py +22 -46
  12. pulumi_gcp/alloydb/instance.py +8 -8
  13. pulumi_gcp/apigee/addons_config.py +14 -14
  14. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +6 -6
  15. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  16. pulumi_gcp/appengine/domain_mapping.py +2 -2
  17. pulumi_gcp/appengine/engine_split_traffic.py +10 -10
  18. pulumi_gcp/appengine/flexible_app_version.py +18 -18
  19. pulumi_gcp/appengine/service_network_settings.py +4 -4
  20. pulumi_gcp/appengine/standard_app_version.py +26 -26
  21. pulumi_gcp/apphub/application.py +12 -12
  22. pulumi_gcp/apphub/service.py +12 -12
  23. pulumi_gcp/applicationintegration/auth_config.py +4 -4
  24. pulumi_gcp/applicationintegration/client.py +8 -8
  25. pulumi_gcp/artifactregistry/repository.py +102 -102
  26. pulumi_gcp/assuredworkloads/workload.py +26 -26
  27. pulumi_gcp/backupdisasterrecovery/management_server.py +2 -2
  28. pulumi_gcp/beyondcorp/app_connection.py +6 -6
  29. pulumi_gcp/beyondcorp/app_connector.py +4 -4
  30. pulumi_gcp/biglake/database.py +2 -2
  31. pulumi_gcp/biglake/table.py +24 -24
  32. pulumi_gcp/bigquery/_inputs.py +0 -12
  33. pulumi_gcp/bigquery/app_profile.py +56 -56
  34. pulumi_gcp/bigquery/connection.py +42 -42
  35. pulumi_gcp/bigquery/dataset.py +30 -58
  36. pulumi_gcp/bigquery/dataset_access.py +26 -54
  37. pulumi_gcp/bigquery/job.py +126 -126
  38. pulumi_gcp/bigquery/outputs.py +0 -24
  39. pulumi_gcp/bigquery/reservation.py +2 -2
  40. pulumi_gcp/bigquery/routine.py +40 -40
  41. pulumi_gcp/bigquery/table.py +8 -8
  42. pulumi_gcp/bigqueryanalyticshub/listing.py +2 -2
  43. pulumi_gcp/bigquerydatapolicy/data_policy.py +2 -2
  44. pulumi_gcp/bigtable/authorized_view.py +104 -0
  45. pulumi_gcp/bigtable/gc_policy.py +8 -8
  46. pulumi_gcp/bigtable/instance.py +24 -24
  47. pulumi_gcp/bigtable/table.py +6 -6
  48. pulumi_gcp/billing/budget.py +64 -64
  49. pulumi_gcp/binaryauthorization/attestor.py +20 -20
  50. pulumi_gcp/binaryauthorization/policy.py +26 -26
  51. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +32 -32
  52. pulumi_gcp/certificateauthority/authority.py +222 -222
  53. pulumi_gcp/certificateauthority/ca_pool.py +108 -108
  54. pulumi_gcp/certificateauthority/certificate.py +338 -338
  55. pulumi_gcp/certificateauthority/certificate_template.py +70 -70
  56. pulumi_gcp/certificatemanager/certificate.py +76 -76
  57. pulumi_gcp/certificatemanager/certificate_issuance_config.py +30 -30
  58. pulumi_gcp/certificatemanager/certificate_map_entry.py +2 -2
  59. pulumi_gcp/certificatemanager/trust_config.py +12 -12
  60. pulumi_gcp/cloudasset/folder_feed.py +2 -2
  61. pulumi_gcp/cloudasset/organization_feed.py +2 -2
  62. pulumi_gcp/cloudasset/project_feed.py +2 -2
  63. pulumi_gcp/cloudbuild/bitbucket_server_config.py +26 -26
  64. pulumi_gcp/cloudbuild/trigger.py +228 -228
  65. pulumi_gcp/cloudbuild/worker_pool.py +16 -16
  66. pulumi_gcp/cloudbuildv2/connection.py +24 -24
  67. pulumi_gcp/cloudbuildv2/repository.py +18 -18
  68. pulumi_gcp/clouddeploy/automation.py +16 -16
  69. pulumi_gcp/clouddeploy/custom_target_type.py +26 -26
  70. pulumi_gcp/clouddeploy/delivery_pipeline.py +50 -50
  71. pulumi_gcp/clouddeploy/target.py +6 -6
  72. pulumi_gcp/clouddomains/registration.py +48 -48
  73. pulumi_gcp/cloudfunctionsv2/function.py +292 -292
  74. pulumi_gcp/cloudquota/s_quota_preference.py +2 -2
  75. pulumi_gcp/cloudrun/domain_mapping.py +2 -2
  76. pulumi_gcp/cloudrun/service.py +60 -60
  77. pulumi_gcp/cloudrunv2/job.py +30 -30
  78. pulumi_gcp/cloudrunv2/service.py +78 -78
  79. pulumi_gcp/cloudscheduler/job.py +40 -40
  80. pulumi_gcp/cloudtasks/queue.py +16 -16
  81. pulumi_gcp/composer/get_image_versions.py +4 -4
  82. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -4
  83. pulumi_gcp/composer/get_user_workloads_secret.py +4 -4
  84. pulumi_gcp/composer/user_workloads_config_map.py +4 -4
  85. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  86. pulumi_gcp/compute/_inputs.py +14 -0
  87. pulumi_gcp/compute/address.py +6 -6
  88. pulumi_gcp/compute/attached_disk.py +2 -2
  89. pulumi_gcp/compute/autoscaler.py +24 -24
  90. pulumi_gcp/compute/backend_bucket.py +8 -8
  91. pulumi_gcp/compute/backend_service.py +72 -72
  92. pulumi_gcp/compute/backend_service_signed_url_key.py +6 -6
  93. pulumi_gcp/compute/disk_resource_policy_attachment.py +6 -6
  94. pulumi_gcp/compute/external_vpn_gateway.py +2 -2
  95. pulumi_gcp/compute/firewall_policy_rule.py +18 -18
  96. pulumi_gcp/compute/forwarding_rule.py +24 -24
  97. pulumi_gcp/compute/get_disk.py +2 -2
  98. pulumi_gcp/compute/get_image.py +2 -2
  99. pulumi_gcp/compute/get_instance_serial_port.py +4 -4
  100. pulumi_gcp/compute/global_address.py +16 -4
  101. pulumi_gcp/compute/global_forwarding_rule.py +50 -50
  102. pulumi_gcp/compute/ha_vpn_gateway.py +4 -4
  103. pulumi_gcp/compute/health_check.py +42 -42
  104. pulumi_gcp/compute/instance.py +4 -4
  105. pulumi_gcp/compute/instance_from_template.py +6 -6
  106. pulumi_gcp/compute/instance_group_manager.py +18 -18
  107. pulumi_gcp/compute/instance_group_membership.py +2 -2
  108. pulumi_gcp/compute/instance_group_named_port.py +4 -4
  109. pulumi_gcp/compute/instance_template.py +24 -24
  110. pulumi_gcp/compute/machine_image.py +6 -6
  111. pulumi_gcp/compute/managed_ssl_certificate.py +6 -6
  112. pulumi_gcp/compute/manged_ssl_certificate.py +6 -6
  113. pulumi_gcp/compute/network_attachment.py +4 -4
  114. pulumi_gcp/compute/network_endpoint.py +4 -4
  115. pulumi_gcp/compute/network_endpoint_list.py +12 -12
  116. pulumi_gcp/compute/network_firewall_policy_rule.py +16 -16
  117. pulumi_gcp/compute/network_peering_routes_config.py +18 -18
  118. pulumi_gcp/compute/node_group.py +12 -12
  119. pulumi_gcp/compute/organization_security_policy_association.py +8 -8
  120. pulumi_gcp/compute/organization_security_policy_rule.py +8 -8
  121. pulumi_gcp/compute/outputs.py +8 -0
  122. pulumi_gcp/compute/packet_mirroring.py +8 -8
  123. pulumi_gcp/compute/per_instance_config.py +8 -8
  124. pulumi_gcp/compute/region_autoscaler.py +18 -18
  125. pulumi_gcp/compute/region_backend_service.py +42 -42
  126. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +6 -6
  127. pulumi_gcp/compute/region_health_check.py +42 -42
  128. pulumi_gcp/compute/region_instance_group_manager.py +18 -18
  129. pulumi_gcp/compute/region_network_endpoint.py +4 -4
  130. pulumi_gcp/compute/region_network_endpoint_group.py +20 -20
  131. pulumi_gcp/compute/region_network_firewall_policy_rule.py +16 -16
  132. pulumi_gcp/compute/region_per_instance_config.py +12 -12
  133. pulumi_gcp/compute/region_security_policy.py +2 -2
  134. pulumi_gcp/compute/region_security_policy_rule.py +32 -32
  135. pulumi_gcp/compute/region_target_http_proxy.py +10 -10
  136. pulumi_gcp/compute/region_target_https_proxy.py +28 -28
  137. pulumi_gcp/compute/region_url_map.py +314 -314
  138. pulumi_gcp/compute/reservation.py +6 -6
  139. pulumi_gcp/compute/resource_policy.py +56 -56
  140. pulumi_gcp/compute/router.py +6 -6
  141. pulumi_gcp/compute/router_nat.py +16 -16
  142. pulumi_gcp/compute/router_peer.py +16 -16
  143. pulumi_gcp/compute/security_policy.py +54 -54
  144. pulumi_gcp/compute/security_policy_rule.py +20 -20
  145. pulumi_gcp/compute/service_attachment.py +12 -12
  146. pulumi_gcp/compute/subnetwork.py +8 -8
  147. pulumi_gcp/compute/target_grpc_proxy.py +66 -66
  148. pulumi_gcp/compute/target_http_proxy.py +16 -16
  149. pulumi_gcp/compute/target_https_proxy.py +40 -40
  150. pulumi_gcp/compute/target_instance.py +12 -12
  151. pulumi_gcp/compute/url_map.py +324 -324
  152. pulumi_gcp/config/__init__.pyi +2 -0
  153. pulumi_gcp/config/vars.py +4 -0
  154. pulumi_gcp/container/attached_cluster.py +20 -20
  155. pulumi_gcp/container/aws_cluster.py +176 -176
  156. pulumi_gcp/container/aws_node_pool.py +288 -288
  157. pulumi_gcp/container/azure_cluster.py +34 -34
  158. pulumi_gcp/container/azure_node_pool.py +38 -38
  159. pulumi_gcp/container/cluster.py +10 -10
  160. pulumi_gcp/container/node_pool.py +18 -18
  161. pulumi_gcp/containeranalysis/note.py +4 -4
  162. pulumi_gcp/databasemigrationservice/connection_profile.py +60 -60
  163. pulumi_gcp/databasemigrationservice/private_connection.py +2 -2
  164. pulumi_gcp/datacatalog/entry.py +2 -2
  165. pulumi_gcp/datacatalog/tag.py +112 -112
  166. pulumi_gcp/datacatalog/tag_template.py +28 -28
  167. pulumi_gcp/dataflow/pipeline.py +32 -32
  168. pulumi_gcp/dataform/repository.py +10 -10
  169. pulumi_gcp/dataform/repository_release_config.py +24 -24
  170. pulumi_gcp/dataform/repository_workflow_config.py +36 -36
  171. pulumi_gcp/datafusion/instance.py +14 -14
  172. pulumi_gcp/dataloss/prevention_deidentify_template.py +66 -66
  173. pulumi_gcp/dataloss/prevention_inspect_template.py +124 -124
  174. pulumi_gcp/dataloss/prevention_job_trigger.py +292 -292
  175. pulumi_gcp/dataloss/prevention_stored_info_type.py +10 -10
  176. pulumi_gcp/dataplex/asset.py +2 -2
  177. pulumi_gcp/dataplex/datascan.py +76 -76
  178. pulumi_gcp/dataplex/task.py +64 -64
  179. pulumi_gcp/dataplex/zone.py +2 -2
  180. pulumi_gcp/dataproc/autoscaling_policy.py +14 -14
  181. pulumi_gcp/dataproc/cluster.py +58 -58
  182. pulumi_gcp/dataproc/job.py +18 -18
  183. pulumi_gcp/dataproc/metastore_federation.py +10 -10
  184. pulumi_gcp/dataproc/metastore_service.py +52 -52
  185. pulumi_gcp/dataproc/workflow_template.py +52 -52
  186. pulumi_gcp/datastream/connection_profile.py +18 -18
  187. pulumi_gcp/datastream/stream.py +222 -222
  188. pulumi_gcp/diagflow/cx_agent.py +22 -22
  189. pulumi_gcp/diagflow/cx_entity_type.py +2 -2
  190. pulumi_gcp/diagflow/cx_environment.py +2 -2
  191. pulumi_gcp/diagflow/cx_flow.py +98 -98
  192. pulumi_gcp/diagflow/cx_intent.py +6 -6
  193. pulumi_gcp/diagflow/cx_page.py +154 -154
  194. pulumi_gcp/diagflow/cx_security_settings.py +22 -22
  195. pulumi_gcp/diagflow/cx_test_case.py +46 -46
  196. pulumi_gcp/diagflow/cx_version.py +2 -2
  197. pulumi_gcp/diagflow/cx_webhook.py +2 -2
  198. pulumi_gcp/diagflow/fulfillment.py +2 -2
  199. pulumi_gcp/discoveryengine/chat_engine.py +8 -8
  200. pulumi_gcp/discoveryengine/data_store.py +12 -12
  201. pulumi_gcp/dns/get_keys.py +2 -2
  202. pulumi_gcp/dns/managed_zone.py +48 -48
  203. pulumi_gcp/dns/policy.py +12 -12
  204. pulumi_gcp/dns/record_set.py +20 -20
  205. pulumi_gcp/dns/response_policy.py +26 -26
  206. pulumi_gcp/dns/response_policy_rule.py +6 -6
  207. pulumi_gcp/edgecontainer/cluster.py +32 -32
  208. pulumi_gcp/edgecontainer/node_pool.py +28 -28
  209. pulumi_gcp/edgecontainer/vpn_connection.py +6 -6
  210. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +20 -20
  211. pulumi_gcp/eventarc/trigger.py +10 -10
  212. pulumi_gcp/filestore/backup.py +4 -4
  213. pulumi_gcp/filestore/instance.py +28 -28
  214. pulumi_gcp/filestore/snapshot.py +4 -4
  215. pulumi_gcp/firebase/android_app.py +8 -8
  216. pulumi_gcp/firebase/apple_app.py +4 -4
  217. pulumi_gcp/firebase/extensions_instance.py +34 -34
  218. pulumi_gcp/firebase/hosting_custom_domain.py +2 -2
  219. pulumi_gcp/firebase/hosting_release.py +4 -4
  220. pulumi_gcp/firebase/hosting_version.py +4 -4
  221. pulumi_gcp/firebase/web_app.py +4 -4
  222. pulumi_gcp/firestore/database.py +4 -4
  223. pulumi_gcp/firestore/field.py +6 -6
  224. pulumi_gcp/firestore/index.py +16 -16
  225. pulumi_gcp/folder/access_approval_settings.py +4 -4
  226. pulumi_gcp/folder/iam_audit_config.py +12 -12
  227. pulumi_gcp/folder/iam_member.py +12 -12
  228. pulumi_gcp/folder/iam_policy.py +12 -12
  229. pulumi_gcp/folder/organization_policy.py +2 -2
  230. pulumi_gcp/gkebackup/backup_plan.py +130 -130
  231. pulumi_gcp/gkebackup/restore_plan.py +262 -262
  232. pulumi_gcp/gkehub/__init__.py +1 -0
  233. pulumi_gcp/gkehub/feature.py +90 -90
  234. pulumi_gcp/gkehub/feature_membership.py +66 -66
  235. pulumi_gcp/gkehub/fleet.py +4 -4
  236. pulumi_gcp/gkehub/get_membership_binding.py +222 -0
  237. pulumi_gcp/gkehub/membership.py +14 -14
  238. pulumi_gcp/gkehub/membership_binding.py +4 -4
  239. pulumi_gcp/gkehub/membership_rbac_role_binding.py +6 -6
  240. pulumi_gcp/gkehub/outputs.py +19 -0
  241. pulumi_gcp/gkehub/scope_rbac_role_binding.py +2 -2
  242. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +100 -100
  243. pulumi_gcp/gkeonprem/bare_metal_cluster.py +182 -182
  244. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +100 -100
  245. pulumi_gcp/gkeonprem/v_mware_cluster.py +112 -112
  246. pulumi_gcp/gkeonprem/v_mware_node_pool.py +24 -24
  247. pulumi_gcp/healthcare/dataset.py +2 -2
  248. pulumi_gcp/healthcare/dicom_store.py +10 -10
  249. pulumi_gcp/healthcare/fhir_store.py +22 -22
  250. pulumi_gcp/healthcare/hl7_store.py +10 -10
  251. pulumi_gcp/iam/access_boundary_policy.py +16 -16
  252. pulumi_gcp/iam/deny_policy.py +18 -18
  253. pulumi_gcp/iam/workforce_pool.py +4 -4
  254. pulumi_gcp/iam/workforce_pool_provider.py +84 -84
  255. pulumi_gcp/iam/workload_identity_pool_provider.py +20 -20
  256. pulumi_gcp/iap/client.py +7 -7
  257. pulumi_gcp/identityplatform/config.py +32 -32
  258. pulumi_gcp/identityplatform/inbound_saml_config.py +14 -14
  259. pulumi_gcp/identityplatform/project_default_config.py +10 -10
  260. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +14 -14
  261. pulumi_gcp/integrationconnectors/connection.py +132 -132
  262. pulumi_gcp/integrationconnectors/managed_zone.py +2 -2
  263. pulumi_gcp/kms/_inputs.py +40 -0
  264. pulumi_gcp/kms/crypto_key.py +103 -0
  265. pulumi_gcp/kms/ekm_connection.py +6 -6
  266. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  267. pulumi_gcp/kms/get_kms_secret_ciphertext.py +4 -4
  268. pulumi_gcp/kms/outputs.py +112 -0
  269. pulumi_gcp/kms/secret_ciphertext.py +4 -4
  270. pulumi_gcp/logging/folder_bucket_config.py +2 -2
  271. pulumi_gcp/logging/metric.py +28 -28
  272. pulumi_gcp/logging/organization_bucket_config.py +2 -2
  273. pulumi_gcp/logging/project_bucket_config.py +4 -4
  274. pulumi_gcp/looker/instance.py +38 -38
  275. pulumi_gcp/managedkafka/cluster.py +18 -18
  276. pulumi_gcp/managedkafka/topic.py +8 -8
  277. pulumi_gcp/memcache/instance.py +8 -8
  278. pulumi_gcp/migrationcenter/preference_set.py +46 -46
  279. pulumi_gcp/monitoring/alert_policy.py +42 -42
  280. pulumi_gcp/monitoring/custom_service.py +2 -2
  281. pulumi_gcp/monitoring/generic_service.py +4 -4
  282. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  283. pulumi_gcp/monitoring/get_notification_channel.py +8 -8
  284. pulumi_gcp/monitoring/metric_descriptor.py +10 -10
  285. pulumi_gcp/monitoring/notification_channel.py +2 -2
  286. pulumi_gcp/monitoring/slo.py +28 -28
  287. pulumi_gcp/monitoring/uptime_check_config.py +66 -66
  288. pulumi_gcp/netapp/backup.py +2 -2
  289. pulumi_gcp/netapp/volume_replication.py +6 -6
  290. pulumi_gcp/networkconnectivity/policy_based_route.py +10 -10
  291. pulumi_gcp/networkconnectivity/spoke.py +16 -16
  292. pulumi_gcp/networkmanagement/connectivity_test.py +18 -18
  293. pulumi_gcp/networksecurity/address_group.py +1 -1
  294. pulumi_gcp/networksecurity/authorization_policy.py +10 -10
  295. pulumi_gcp/networksecurity/client_tls_policy.py +12 -12
  296. pulumi_gcp/networksecurity/gateway_security_policy.py +42 -42
  297. pulumi_gcp/networksecurity/security_profile.py +6 -6
  298. pulumi_gcp/networksecurity/server_tls_policy.py +36 -36
  299. pulumi_gcp/networksecurity/tls_inspection_policy.py +92 -92
  300. pulumi_gcp/networkservices/edge_cache_keyset.py +2 -2
  301. pulumi_gcp/networkservices/edge_cache_origin.py +30 -30
  302. pulumi_gcp/networkservices/edge_cache_service.py +260 -260
  303. pulumi_gcp/networkservices/endpoint_policy.py +14 -14
  304. pulumi_gcp/networkservices/gateway.py +8 -8
  305. pulumi_gcp/networkservices/grpc_route.py +36 -36
  306. pulumi_gcp/networkservices/http_route.py +148 -148
  307. pulumi_gcp/networkservices/service_lb_policies.py +2 -2
  308. pulumi_gcp/networkservices/tcp_route.py +16 -16
  309. pulumi_gcp/networkservices/tls_route.py +12 -12
  310. pulumi_gcp/notebooks/instance.py +10 -10
  311. pulumi_gcp/notebooks/runtime.py +90 -90
  312. pulumi_gcp/organizations/access_approval_settings.py +8 -8
  313. pulumi_gcp/organizations/iam_audit_config.py +4 -4
  314. pulumi_gcp/organizations/iam_member.py +12 -12
  315. pulumi_gcp/organizations/iam_policy.py +12 -12
  316. pulumi_gcp/organizations/policy.py +2 -2
  317. pulumi_gcp/orgpolicy/policy.py +12 -12
  318. pulumi_gcp/osconfig/guest_policies.py +28 -28
  319. pulumi_gcp/osconfig/os_policy_assignment.py +42 -42
  320. pulumi_gcp/osconfig/patch_deployment.py +70 -70
  321. pulumi_gcp/privilegedaccessmanager/entitlement.py +24 -20
  322. pulumi_gcp/projects/access_approval_settings.py +6 -6
  323. pulumi_gcp/projects/api_key.py +28 -28
  324. pulumi_gcp/projects/iam_audit_config.py +12 -12
  325. pulumi_gcp/projects/iam_binding.py +12 -12
  326. pulumi_gcp/projects/iam_member.py +12 -12
  327. pulumi_gcp/projects/iam_policy.py +12 -12
  328. pulumi_gcp/projects/organization_policy.py +2 -2
  329. pulumi_gcp/provider.py +20 -0
  330. pulumi_gcp/pubsub/lite_subscription.py +8 -8
  331. pulumi_gcp/pubsub/lite_topic.py +8 -8
  332. pulumi_gcp/pubsub/subscription.py +50 -50
  333. pulumi_gcp/pubsub/topic.py +12 -12
  334. pulumi_gcp/pulumi-plugin.json +1 -1
  335. pulumi_gcp/recaptcha/enterprise_key.py +54 -54
  336. pulumi_gcp/redis/instance.py +8 -8
  337. pulumi_gcp/secretmanager/secret.py +6 -6
  338. pulumi_gcp/secretmanager/secret_version.py +6 -6
  339. pulumi_gcp/securesourcemanager/instance.py +30 -30
  340. pulumi_gcp/securesourcemanager/repository.py +2 -2
  341. pulumi_gcp/securitycenter/__init__.py +1 -0
  342. pulumi_gcp/securitycenter/_inputs.py +93 -0
  343. pulumi_gcp/securitycenter/folder_custom_module.py +12 -12
  344. pulumi_gcp/securitycenter/instance_iam_binding.py +14 -14
  345. pulumi_gcp/securitycenter/instance_iam_member.py +14 -14
  346. pulumi_gcp/securitycenter/instance_iam_policy.py +14 -14
  347. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +12 -12
  348. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +12 -12
  349. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +12 -12
  350. pulumi_gcp/securitycenter/organization_custom_module.py +12 -12
  351. pulumi_gcp/securitycenter/outputs.py +59 -0
  352. pulumi_gcp/securitycenter/project_custom_module.py +12 -12
  353. pulumi_gcp/securitycenter/project_notification_config.py +518 -0
  354. pulumi_gcp/securityposture/posture.py +52 -52
  355. pulumi_gcp/siteverification/__init__.py +8 -0
  356. pulumi_gcp/siteverification/get_token.py +221 -0
  357. pulumi_gcp/sourcerepo/repository.py +4 -4
  358. pulumi_gcp/spanner/instance.py +12 -12
  359. pulumi_gcp/sql/database_instance.py +28 -28
  360. pulumi_gcp/sql/user.py +4 -4
  361. pulumi_gcp/storage/bucket.py +12 -12
  362. pulumi_gcp/storage/get_project_service_account.py +2 -2
  363. pulumi_gcp/storage/insights_report_config.py +16 -16
  364. pulumi_gcp/storage/transfer_agent_pool.py +2 -2
  365. pulumi_gcp/storage/transfer_job.py +38 -38
  366. pulumi_gcp/tpu/v2_vm.py +8 -8
  367. pulumi_gcp/vertex/ai_deployment_resource_pool.py +16 -16
  368. pulumi_gcp/vertex/ai_endpoint.py +2 -2
  369. pulumi_gcp/vertex/ai_feature_group.py +6 -6
  370. pulumi_gcp/vertex/ai_feature_group_feature.py +6 -6
  371. pulumi_gcp/vertex/ai_feature_online_store.py +22 -22
  372. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +76 -76
  373. pulumi_gcp/vertex/ai_feature_store.py +14 -14
  374. pulumi_gcp/vertex/ai_feature_store_entity_type.py +30 -30
  375. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +12 -12
  376. pulumi_gcp/vertex/ai_index.py +28 -28
  377. pulumi_gcp/vertex/ai_index_endpoint.py +4 -4
  378. pulumi_gcp/vertex/ai_tensorboard.py +2 -2
  379. pulumi_gcp/vmwareengine/cluster.py +36 -36
  380. pulumi_gcp/vmwareengine/external_access_rule.py +20 -20
  381. pulumi_gcp/vmwareengine/external_address.py +12 -12
  382. pulumi_gcp/vmwareengine/private_cloud.py +26 -26
  383. pulumi_gcp/vmwareengine/subnet.py +12 -12
  384. pulumi_gcp/workbench/instance.py +66 -66
  385. pulumi_gcp/workstations/workstation.py +8 -8
  386. pulumi_gcp/workstations/workstation_cluster.py +4 -4
  387. pulumi_gcp/workstations/workstation_config.py +122 -122
  388. {pulumi_gcp-7.32.0a1721151794.dist-info → pulumi_gcp-7.33.0.dist-info}/METADATA +1 -1
  389. {pulumi_gcp-7.32.0a1721151794.dist-info → pulumi_gcp-7.33.0.dist-info}/RECORD +391 -387
  390. {pulumi_gcp-7.32.0a1721151794.dist-info → pulumi_gcp-7.33.0.dist-info}/WHEEL +1 -1
  391. {pulumi_gcp-7.32.0a1721151794.dist-info → pulumi_gcp-7.33.0.dist-info}/top_level.txt +0 -0
@@ -25,6 +25,7 @@ class CryptoKeyArgs:
25
25
  crypto_key_backend: Optional[pulumi.Input[str]] = None,
26
26
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
27
27
  import_only: Optional[pulumi.Input[bool]] = None,
28
+ key_access_justifications_policy: Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']] = None,
28
29
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
30
  name: Optional[pulumi.Input[str]] = None,
30
31
  purpose: Optional[pulumi.Input[str]] = None,
@@ -43,6 +44,15 @@ class CryptoKeyArgs:
43
44
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
44
45
  If not specified at creation time, the default duration is 30 days.
45
46
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
47
+ :param pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs'] key_access_justifications_policy: The policy used for Key Access Justifications Policy Enforcement. If this
48
+ field is present and this key is enrolled in Key Access Justifications
49
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
50
+ sign operations, and the operation will fail if rejected by the policy. The
51
+ policy is defined by specifying zero or more allowed justification codes.
52
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
53
+ By default, this field is absent, and all justification codes are allowed.
54
+ This field is currently in beta and is subject to change.
55
+ Structure is documented below.
46
56
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels with user-defined metadata to apply to this resource.
47
57
 
48
58
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -69,6 +79,8 @@ class CryptoKeyArgs:
69
79
  pulumi.set(__self__, "destroy_scheduled_duration", destroy_scheduled_duration)
70
80
  if import_only is not None:
71
81
  pulumi.set(__self__, "import_only", import_only)
82
+ if key_access_justifications_policy is not None:
83
+ pulumi.set(__self__, "key_access_justifications_policy", key_access_justifications_policy)
72
84
  if labels is not None:
73
85
  pulumi.set(__self__, "labels", labels)
74
86
  if name is not None:
@@ -136,6 +148,26 @@ class CryptoKeyArgs:
136
148
  def import_only(self, value: Optional[pulumi.Input[bool]]):
137
149
  pulumi.set(self, "import_only", value)
138
150
 
151
+ @property
152
+ @pulumi.getter(name="keyAccessJustificationsPolicy")
153
+ def key_access_justifications_policy(self) -> Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']]:
154
+ """
155
+ The policy used for Key Access Justifications Policy Enforcement. If this
156
+ field is present and this key is enrolled in Key Access Justifications
157
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
158
+ sign operations, and the operation will fail if rejected by the policy. The
159
+ policy is defined by specifying zero or more allowed justification codes.
160
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
161
+ By default, this field is absent, and all justification codes are allowed.
162
+ This field is currently in beta and is subject to change.
163
+ Structure is documented below.
164
+ """
165
+ return pulumi.get(self, "key_access_justifications_policy")
166
+
167
+ @key_access_justifications_policy.setter
168
+ def key_access_justifications_policy(self, value: Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']]):
169
+ pulumi.set(self, "key_access_justifications_policy", value)
170
+
139
171
  @property
140
172
  @pulumi.getter
141
173
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -228,6 +260,7 @@ class _CryptoKeyState:
228
260
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
229
261
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
230
262
  import_only: Optional[pulumi.Input[bool]] = None,
263
+ key_access_justifications_policy: Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']] = None,
231
264
  key_ring: Optional[pulumi.Input[str]] = None,
232
265
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
233
266
  name: Optional[pulumi.Input[str]] = None,
@@ -245,6 +278,15 @@ class _CryptoKeyState:
245
278
  If not specified at creation time, the default duration is 30 days.
246
279
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
247
280
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
281
+ :param pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs'] key_access_justifications_policy: The policy used for Key Access Justifications Policy Enforcement. If this
282
+ field is present and this key is enrolled in Key Access Justifications
283
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
284
+ sign operations, and the operation will fail if rejected by the policy. The
285
+ policy is defined by specifying zero or more allowed justification codes.
286
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
287
+ By default, this field is absent, and all justification codes are allowed.
288
+ This field is currently in beta and is subject to change.
289
+ Structure is documented below.
248
290
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
249
291
  Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`.
250
292
 
@@ -282,6 +324,8 @@ class _CryptoKeyState:
282
324
  pulumi.set(__self__, "effective_labels", effective_labels)
283
325
  if import_only is not None:
284
326
  pulumi.set(__self__, "import_only", import_only)
327
+ if key_access_justifications_policy is not None:
328
+ pulumi.set(__self__, "key_access_justifications_policy", key_access_justifications_policy)
285
329
  if key_ring is not None:
286
330
  pulumi.set(__self__, "key_ring", key_ring)
287
331
  if labels is not None:
@@ -351,6 +395,26 @@ class _CryptoKeyState:
351
395
  def import_only(self, value: Optional[pulumi.Input[bool]]):
352
396
  pulumi.set(self, "import_only", value)
353
397
 
398
+ @property
399
+ @pulumi.getter(name="keyAccessJustificationsPolicy")
400
+ def key_access_justifications_policy(self) -> Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']]:
401
+ """
402
+ The policy used for Key Access Justifications Policy Enforcement. If this
403
+ field is present and this key is enrolled in Key Access Justifications
404
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
405
+ sign operations, and the operation will fail if rejected by the policy. The
406
+ policy is defined by specifying zero or more allowed justification codes.
407
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
408
+ By default, this field is absent, and all justification codes are allowed.
409
+ This field is currently in beta and is subject to change.
410
+ Structure is documented below.
411
+ """
412
+ return pulumi.get(self, "key_access_justifications_policy")
413
+
414
+ @key_access_justifications_policy.setter
415
+ def key_access_justifications_policy(self, value: Optional[pulumi.Input['CryptoKeyKeyAccessJustificationsPolicyArgs']]):
416
+ pulumi.set(self, "key_access_justifications_policy", value)
417
+
354
418
  @property
355
419
  @pulumi.getter(name="keyRing")
356
420
  def key_ring(self) -> Optional[pulumi.Input[str]]:
@@ -487,6 +551,7 @@ class CryptoKey(pulumi.CustomResource):
487
551
  crypto_key_backend: Optional[pulumi.Input[str]] = None,
488
552
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
489
553
  import_only: Optional[pulumi.Input[bool]] = None,
554
+ key_access_justifications_policy: Optional[pulumi.Input[Union['CryptoKeyKeyAccessJustificationsPolicyArgs', 'CryptoKeyKeyAccessJustificationsPolicyArgsDict']]] = None,
490
555
  key_ring: Optional[pulumi.Input[str]] = None,
491
556
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
492
557
  name: Optional[pulumi.Input[str]] = None,
@@ -570,6 +635,15 @@ class CryptoKey(pulumi.CustomResource):
570
635
  :param pulumi.Input[str] destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
571
636
  If not specified at creation time, the default duration is 30 days.
572
637
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
638
+ :param pulumi.Input[Union['CryptoKeyKeyAccessJustificationsPolicyArgs', 'CryptoKeyKeyAccessJustificationsPolicyArgsDict']] key_access_justifications_policy: The policy used for Key Access Justifications Policy Enforcement. If this
639
+ field is present and this key is enrolled in Key Access Justifications
640
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
641
+ sign operations, and the operation will fail if rejected by the policy. The
642
+ policy is defined by specifying zero or more allowed justification codes.
643
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
644
+ By default, this field is absent, and all justification codes are allowed.
645
+ This field is currently in beta and is subject to change.
646
+ Structure is documented below.
573
647
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
574
648
  Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`.
575
649
 
@@ -686,6 +760,7 @@ class CryptoKey(pulumi.CustomResource):
686
760
  crypto_key_backend: Optional[pulumi.Input[str]] = None,
687
761
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
688
762
  import_only: Optional[pulumi.Input[bool]] = None,
763
+ key_access_justifications_policy: Optional[pulumi.Input[Union['CryptoKeyKeyAccessJustificationsPolicyArgs', 'CryptoKeyKeyAccessJustificationsPolicyArgsDict']]] = None,
689
764
  key_ring: Optional[pulumi.Input[str]] = None,
690
765
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
691
766
  name: Optional[pulumi.Input[str]] = None,
@@ -705,6 +780,7 @@ class CryptoKey(pulumi.CustomResource):
705
780
  __props__.__dict__["crypto_key_backend"] = crypto_key_backend
706
781
  __props__.__dict__["destroy_scheduled_duration"] = destroy_scheduled_duration
707
782
  __props__.__dict__["import_only"] = import_only
783
+ __props__.__dict__["key_access_justifications_policy"] = key_access_justifications_policy
708
784
  if key_ring is None and not opts.urn:
709
785
  raise TypeError("Missing required property 'key_ring'")
710
786
  __props__.__dict__["key_ring"] = key_ring
@@ -733,6 +809,7 @@ class CryptoKey(pulumi.CustomResource):
733
809
  destroy_scheduled_duration: Optional[pulumi.Input[str]] = None,
734
810
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
735
811
  import_only: Optional[pulumi.Input[bool]] = None,
812
+ key_access_justifications_policy: Optional[pulumi.Input[Union['CryptoKeyKeyAccessJustificationsPolicyArgs', 'CryptoKeyKeyAccessJustificationsPolicyArgsDict']]] = None,
736
813
  key_ring: Optional[pulumi.Input[str]] = None,
737
814
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
738
815
  name: Optional[pulumi.Input[str]] = None,
@@ -755,6 +832,15 @@ class CryptoKey(pulumi.CustomResource):
755
832
  If not specified at creation time, the default duration is 30 days.
756
833
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
757
834
  :param pulumi.Input[bool] import_only: Whether this key may contain imported versions only.
835
+ :param pulumi.Input[Union['CryptoKeyKeyAccessJustificationsPolicyArgs', 'CryptoKeyKeyAccessJustificationsPolicyArgsDict']] key_access_justifications_policy: The policy used for Key Access Justifications Policy Enforcement. If this
836
+ field is present and this key is enrolled in Key Access Justifications
837
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
838
+ sign operations, and the operation will fail if rejected by the policy. The
839
+ policy is defined by specifying zero or more allowed justification codes.
840
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
841
+ By default, this field is absent, and all justification codes are allowed.
842
+ This field is currently in beta and is subject to change.
843
+ Structure is documented below.
758
844
  :param pulumi.Input[str] key_ring: The KeyRing that this key belongs to.
759
845
  Format: `'projects/{{project}}/locations/{{location}}/keyRings/{{keyRing}}'`.
760
846
 
@@ -792,6 +878,7 @@ class CryptoKey(pulumi.CustomResource):
792
878
  __props__.__dict__["destroy_scheduled_duration"] = destroy_scheduled_duration
793
879
  __props__.__dict__["effective_labels"] = effective_labels
794
880
  __props__.__dict__["import_only"] = import_only
881
+ __props__.__dict__["key_access_justifications_policy"] = key_access_justifications_policy
795
882
  __props__.__dict__["key_ring"] = key_ring
796
883
  __props__.__dict__["labels"] = labels
797
884
  __props__.__dict__["name"] = name
@@ -837,6 +924,22 @@ class CryptoKey(pulumi.CustomResource):
837
924
  """
838
925
  return pulumi.get(self, "import_only")
839
926
 
927
+ @property
928
+ @pulumi.getter(name="keyAccessJustificationsPolicy")
929
+ def key_access_justifications_policy(self) -> pulumi.Output['outputs.CryptoKeyKeyAccessJustificationsPolicy']:
930
+ """
931
+ The policy used for Key Access Justifications Policy Enforcement. If this
932
+ field is present and this key is enrolled in Key Access Justifications
933
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
934
+ sign operations, and the operation will fail if rejected by the policy. The
935
+ policy is defined by specifying zero or more allowed justification codes.
936
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
937
+ By default, this field is absent, and all justification codes are allowed.
938
+ This field is currently in beta and is subject to change.
939
+ Structure is documented below.
940
+ """
941
+ return pulumi.get(self, "key_access_justifications_policy")
942
+
840
943
  @property
841
944
  @pulumi.getter(name="keyRing")
842
945
  def key_ring(self) -> pulumi.Output[str]:
@@ -320,10 +320,10 @@ class EkmConnection(pulumi.CustomResource):
320
320
  location="us-central1",
321
321
  key_management_mode="MANUAL",
322
322
  service_resolvers=[{
323
- "serviceDirectoryService": "projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
323
+ "service_directory_service": "projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
324
324
  "hostname": "example-ekm.goog",
325
- "serverCertificates": [{
326
- "rawDer": "==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
325
+ "server_certificates": [{
326
+ "raw_der": "==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
327
327
  }],
328
328
  }])
329
329
  ```
@@ -396,10 +396,10 @@ class EkmConnection(pulumi.CustomResource):
396
396
  location="us-central1",
397
397
  key_management_mode="MANUAL",
398
398
  service_resolvers=[{
399
- "serviceDirectoryService": "projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
399
+ "service_directory_service": "projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
400
400
  "hostname": "example-ekm.goog",
401
- "serverCertificates": [{
402
- "rawDer": "==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
401
+ "server_certificates": [{
402
+ "raw_der": "==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
403
403
  }],
404
404
  }])
405
405
  ```
@@ -27,7 +27,7 @@ class GetKMSCryptoKeyResult:
27
27
  """
28
28
  A collection of values returned by getKMSCryptoKey.
29
29
  """
30
- def __init__(__self__, crypto_key_backend=None, destroy_scheduled_duration=None, effective_labels=None, id=None, import_only=None, key_ring=None, labels=None, name=None, primaries=None, pulumi_labels=None, purpose=None, rotation_period=None, skip_initial_version_creation=None, version_templates=None):
30
+ def __init__(__self__, crypto_key_backend=None, destroy_scheduled_duration=None, effective_labels=None, id=None, import_only=None, key_access_justifications_policies=None, key_ring=None, labels=None, name=None, primaries=None, pulumi_labels=None, purpose=None, rotation_period=None, skip_initial_version_creation=None, version_templates=None):
31
31
  if crypto_key_backend and not isinstance(crypto_key_backend, str):
32
32
  raise TypeError("Expected argument 'crypto_key_backend' to be a str")
33
33
  pulumi.set(__self__, "crypto_key_backend", crypto_key_backend)
@@ -43,6 +43,9 @@ class GetKMSCryptoKeyResult:
43
43
  if import_only and not isinstance(import_only, bool):
44
44
  raise TypeError("Expected argument 'import_only' to be a bool")
45
45
  pulumi.set(__self__, "import_only", import_only)
46
+ if key_access_justifications_policies and not isinstance(key_access_justifications_policies, list):
47
+ raise TypeError("Expected argument 'key_access_justifications_policies' to be a list")
48
+ pulumi.set(__self__, "key_access_justifications_policies", key_access_justifications_policies)
46
49
  if key_ring and not isinstance(key_ring, str):
47
50
  raise TypeError("Expected argument 'key_ring' to be a str")
48
51
  pulumi.set(__self__, "key_ring", key_ring)
@@ -99,6 +102,11 @@ class GetKMSCryptoKeyResult:
99
102
  def import_only(self) -> bool:
100
103
  return pulumi.get(self, "import_only")
101
104
 
105
+ @property
106
+ @pulumi.getter(name="keyAccessJustificationsPolicies")
107
+ def key_access_justifications_policies(self) -> Sequence['outputs.GetKMSCryptoKeyKeyAccessJustificationsPolicyResult']:
108
+ return pulumi.get(self, "key_access_justifications_policies")
109
+
102
110
  @property
103
111
  @pulumi.getter(name="keyRing")
104
112
  def key_ring(self) -> str:
@@ -164,6 +172,7 @@ class AwaitableGetKMSCryptoKeyResult(GetKMSCryptoKeyResult):
164
172
  effective_labels=self.effective_labels,
165
173
  id=self.id,
166
174
  import_only=self.import_only,
175
+ key_access_justifications_policies=self.key_access_justifications_policies,
167
176
  key_ring=self.key_ring,
168
177
  labels=self.labels,
169
178
  name=self.name,
@@ -216,6 +225,7 @@ def get_kms_crypto_key(key_ring: Optional[str] = None,
216
225
  effective_labels=pulumi.get(__ret__, 'effective_labels'),
217
226
  id=pulumi.get(__ret__, 'id'),
218
227
  import_only=pulumi.get(__ret__, 'import_only'),
228
+ key_access_justifications_policies=pulumi.get(__ret__, 'key_access_justifications_policies'),
219
229
  key_ring=pulumi.get(__ret__, 'key_ring'),
220
230
  labels=pulumi.get(__ret__, 'labels'),
221
231
  name=pulumi.get(__ret__, 'name'),
@@ -123,14 +123,14 @@ def get_kms_secret_ciphertext(crypto_key: Optional[str] = None,
123
123
  plaintext="my-secret-password")
124
124
  instance = gcp.compute.Instance("instance",
125
125
  network_interfaces=[{
126
- "accessConfigs": [{}],
126
+ "access_configs": [{}],
127
127
  "network": "default",
128
128
  }],
129
129
  name="test",
130
130
  machine_type="e2-medium",
131
131
  zone="us-central1-a",
132
132
  boot_disk={
133
- "initializeParams": {
133
+ "initialize_params": {
134
134
  "image": "debian-cloud/debian-11",
135
135
  },
136
136
  },
@@ -206,14 +206,14 @@ def get_kms_secret_ciphertext_output(crypto_key: Optional[pulumi.Input[str]] = N
206
206
  plaintext="my-secret-password")
207
207
  instance = gcp.compute.Instance("instance",
208
208
  network_interfaces=[{
209
- "accessConfigs": [{}],
209
+ "access_configs": [{}],
210
210
  "network": "default",
211
211
  }],
212
212
  name="test",
213
213
  machine_type="e2-medium",
214
214
  zone="us-central1-a",
215
215
  boot_disk={
216
- "initializeParams": {
216
+ "initialize_params": {
217
217
  "image": "debian-cloud/debian-11",
218
218
  },
219
219
  },
pulumi_gcp/kms/outputs.py CHANGED
@@ -18,6 +18,7 @@ from . import outputs
18
18
  __all__ = [
19
19
  'CryptoKeyIAMBindingCondition',
20
20
  'CryptoKeyIAMMemberCondition',
21
+ 'CryptoKeyKeyAccessJustificationsPolicy',
21
22
  'CryptoKeyPrimary',
22
23
  'CryptoKeyVersionAttestation',
23
24
  'CryptoKeyVersionAttestationCertChains',
@@ -31,8 +32,10 @@ __all__ = [
31
32
  'KeyRingImportJobAttestation',
32
33
  'KeyRingImportJobPublicKey',
33
34
  'GetCryptoKeysKeyResult',
35
+ 'GetCryptoKeysKeyKeyAccessJustificationsPolicyResult',
34
36
  'GetCryptoKeysKeyPrimaryResult',
35
37
  'GetCryptoKeysKeyVersionTemplateResult',
38
+ 'GetKMSCryptoKeyKeyAccessJustificationsPolicyResult',
36
39
  'GetKMSCryptoKeyPrimaryResult',
37
40
  'GetKMSCryptoKeyVersionPublicKeyResult',
38
41
  'GetKMSCryptoKeyVersionTemplateResult',
@@ -137,6 +140,46 @@ class CryptoKeyIAMMemberCondition(dict):
137
140
  return pulumi.get(self, "description")
138
141
 
139
142
 
143
+ @pulumi.output_type
144
+ class CryptoKeyKeyAccessJustificationsPolicy(dict):
145
+ @staticmethod
146
+ def __key_warning(key: str):
147
+ suggest = None
148
+ if key == "allowedAccessReasons":
149
+ suggest = "allowed_access_reasons"
150
+
151
+ if suggest:
152
+ pulumi.log.warn(f"Key '{key}' not found in CryptoKeyKeyAccessJustificationsPolicy. Access the value via the '{suggest}' property getter instead.")
153
+
154
+ def __getitem__(self, key: str) -> Any:
155
+ CryptoKeyKeyAccessJustificationsPolicy.__key_warning(key)
156
+ return super().__getitem__(key)
157
+
158
+ def get(self, key: str, default = None) -> Any:
159
+ CryptoKeyKeyAccessJustificationsPolicy.__key_warning(key)
160
+ return super().get(key, default)
161
+
162
+ def __init__(__self__, *,
163
+ allowed_access_reasons: Optional[Sequence[str]] = None):
164
+ """
165
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
166
+ access reasons means all encrypt, decrypt, and sign operations for
167
+ this CryptoKey will fail.
168
+ """
169
+ if allowed_access_reasons is not None:
170
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
171
+
172
+ @property
173
+ @pulumi.getter(name="allowedAccessReasons")
174
+ def allowed_access_reasons(self) -> Optional[Sequence[str]]:
175
+ """
176
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
177
+ access reasons means all encrypt, decrypt, and sign operations for
178
+ this CryptoKey will fail.
179
+ """
180
+ return pulumi.get(self, "allowed_access_reasons")
181
+
182
+
140
183
  @pulumi.output_type
141
184
  class CryptoKeyPrimary(dict):
142
185
  def __init__(__self__, *,
@@ -872,6 +915,7 @@ class GetCryptoKeysKeyResult(dict):
872
915
  effective_labels: Mapping[str, str],
873
916
  id: str,
874
917
  import_only: bool,
918
+ key_access_justifications_policies: Sequence['outputs.GetCryptoKeysKeyKeyAccessJustificationsPolicyResult'],
875
919
  labels: Mapping[str, str],
876
920
  primaries: Sequence['outputs.GetCryptoKeysKeyPrimaryResult'],
877
921
  pulumi_labels: Mapping[str, str],
@@ -887,6 +931,14 @@ class GetCryptoKeysKeyResult(dict):
887
931
  :param str destroy_scheduled_duration: The period of time that versions of this key spend in the DESTROY_SCHEDULED state before transitioning to DESTROYED.
888
932
  If not specified at creation time, the default duration is 30 days.
889
933
  :param bool import_only: Whether this key may contain imported versions only.
934
+ :param Sequence['GetCryptoKeysKeyKeyAccessJustificationsPolicyArgs'] key_access_justifications_policies: The policy used for Key Access Justifications Policy Enforcement. If this
935
+ field is present and this key is enrolled in Key Access Justifications
936
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
937
+ sign operations, and the operation will fail if rejected by the policy. The
938
+ policy is defined by specifying zero or more allowed justification codes.
939
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
940
+ By default, this field is absent, and all justification codes are allowed.
941
+ This field is currently in beta and is subject to change.
890
942
  :param Mapping[str, str] labels: Labels with user-defined metadata to apply to this resource.
891
943
 
892
944
 
@@ -916,6 +968,7 @@ class GetCryptoKeysKeyResult(dict):
916
968
  pulumi.set(__self__, "effective_labels", effective_labels)
917
969
  pulumi.set(__self__, "id", id)
918
970
  pulumi.set(__self__, "import_only", import_only)
971
+ pulumi.set(__self__, "key_access_justifications_policies", key_access_justifications_policies)
919
972
  pulumi.set(__self__, "labels", labels)
920
973
  pulumi.set(__self__, "primaries", primaries)
921
974
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
@@ -964,6 +1017,21 @@ class GetCryptoKeysKeyResult(dict):
964
1017
  """
965
1018
  return pulumi.get(self, "import_only")
966
1019
 
1020
+ @property
1021
+ @pulumi.getter(name="keyAccessJustificationsPolicies")
1022
+ def key_access_justifications_policies(self) -> Sequence['outputs.GetCryptoKeysKeyKeyAccessJustificationsPolicyResult']:
1023
+ """
1024
+ The policy used for Key Access Justifications Policy Enforcement. If this
1025
+ field is present and this key is enrolled in Key Access Justifications
1026
+ Policy Enforcement, the policy will be evaluated in encrypt, decrypt, and
1027
+ sign operations, and the operation will fail if rejected by the policy. The
1028
+ policy is defined by specifying zero or more allowed justification codes.
1029
+ https://cloud.google.com/assured-workloads/key-access-justifications/docs/justification-codes
1030
+ By default, this field is absent, and all justification codes are allowed.
1031
+ This field is currently in beta and is subject to change.
1032
+ """
1033
+ return pulumi.get(self, "key_access_justifications_policies")
1034
+
967
1035
  @property
968
1036
  @pulumi.getter
969
1037
  def labels(self) -> Mapping[str, str]:
@@ -1051,6 +1119,28 @@ class GetCryptoKeysKeyResult(dict):
1051
1119
  return pulumi.get(self, "name")
1052
1120
 
1053
1121
 
1122
+ @pulumi.output_type
1123
+ class GetCryptoKeysKeyKeyAccessJustificationsPolicyResult(dict):
1124
+ def __init__(__self__, *,
1125
+ allowed_access_reasons: Sequence[str]):
1126
+ """
1127
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
1128
+ access reasons means all encrypt, decrypt, and sign operations for
1129
+ this CryptoKey will fail.
1130
+ """
1131
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1132
+
1133
+ @property
1134
+ @pulumi.getter(name="allowedAccessReasons")
1135
+ def allowed_access_reasons(self) -> Sequence[str]:
1136
+ """
1137
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
1138
+ access reasons means all encrypt, decrypt, and sign operations for
1139
+ this CryptoKey will fail.
1140
+ """
1141
+ return pulumi.get(self, "allowed_access_reasons")
1142
+
1143
+
1054
1144
  @pulumi.output_type
1055
1145
  class GetCryptoKeysKeyPrimaryResult(dict):
1056
1146
  def __init__(__self__, *,
@@ -1111,6 +1201,28 @@ class GetCryptoKeysKeyVersionTemplateResult(dict):
1111
1201
  return pulumi.get(self, "protection_level")
1112
1202
 
1113
1203
 
1204
+ @pulumi.output_type
1205
+ class GetKMSCryptoKeyKeyAccessJustificationsPolicyResult(dict):
1206
+ def __init__(__self__, *,
1207
+ allowed_access_reasons: Sequence[str]):
1208
+ """
1209
+ :param Sequence[str] allowed_access_reasons: The list of allowed reasons for access to this CryptoKey. Zero allowed
1210
+ access reasons means all encrypt, decrypt, and sign operations for
1211
+ this CryptoKey will fail.
1212
+ """
1213
+ pulumi.set(__self__, "allowed_access_reasons", allowed_access_reasons)
1214
+
1215
+ @property
1216
+ @pulumi.getter(name="allowedAccessReasons")
1217
+ def allowed_access_reasons(self) -> Sequence[str]:
1218
+ """
1219
+ The list of allowed reasons for access to this CryptoKey. Zero allowed
1220
+ access reasons means all encrypt, decrypt, and sign operations for
1221
+ this CryptoKey will fail.
1222
+ """
1223
+ return pulumi.get(self, "allowed_access_reasons")
1224
+
1225
+
1114
1226
  @pulumi.output_type
1115
1227
  class GetKMSCryptoKeyPrimaryResult(dict):
1116
1228
  def __init__(__self__, *,
@@ -209,14 +209,14 @@ class SecretCiphertext(pulumi.CustomResource):
209
209
  plaintext="my-secret-password")
210
210
  instance = gcp.compute.Instance("instance",
211
211
  network_interfaces=[{
212
- "accessConfigs": [{}],
212
+ "access_configs": [{}],
213
213
  "network": "default",
214
214
  }],
215
215
  name="my-instance",
216
216
  machine_type="e2-medium",
217
217
  zone="us-central1-a",
218
218
  boot_disk={
219
- "initializeParams": {
219
+ "initialize_params": {
220
220
  "image": "debian-cloud/debian-11",
221
221
  },
222
222
  },
@@ -281,14 +281,14 @@ class SecretCiphertext(pulumi.CustomResource):
281
281
  plaintext="my-secret-password")
282
282
  instance = gcp.compute.Instance("instance",
283
283
  network_interfaces=[{
284
- "accessConfigs": [{}],
284
+ "access_configs": [{}],
285
285
  "network": "default",
286
286
  }],
287
287
  name="my-instance",
288
288
  machine_type="e2-medium",
289
289
  zone="us-central1-a",
290
290
  boot_disk={
291
- "initializeParams": {
291
+ "initialize_params": {
292
292
  "image": "debian-cloud/debian-11",
293
293
  },
294
294
  },
@@ -330,7 +330,7 @@ class FolderBucketConfig(pulumi.CustomResource):
330
330
  retention_days=30,
331
331
  bucket_id="_Default",
332
332
  index_configs=[{
333
- "fieldPath": "jsonPayload.request.status",
333
+ "field_path": "jsonPayload.request.status",
334
334
  "type": "INDEX_TYPE_STRING",
335
335
  }])
336
336
  ```
@@ -387,7 +387,7 @@ class FolderBucketConfig(pulumi.CustomResource):
387
387
  retention_days=30,
388
388
  bucket_id="_Default",
389
389
  index_configs=[{
390
- "fieldPath": "jsonPayload.request.status",
390
+ "field_path": "jsonPayload.request.status",
391
391
  "type": "INDEX_TYPE_STRING",
392
392
  }])
393
393
  ```