pulumi-gcp 8.10.0a1731950704__py3-none-any.whl → 8.10.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accessapproval/get_folder_service_account.py +2 -2
  3. pulumi_gcp/accessapproval/get_organization_service_account.py +2 -2
  4. pulumi_gcp/accessapproval/get_project_service_account.py +2 -2
  5. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  6. pulumi_gcp/accesscontextmanager/_inputs.py +90 -54
  7. pulumi_gcp/accesscontextmanager/get_access_policy.py +158 -0
  8. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  9. pulumi_gcp/accesscontextmanager/outputs.py +60 -36
  10. pulumi_gcp/alloydb/get_locations.py +2 -2
  11. pulumi_gcp/alloydb/get_supported_database_flags.py +2 -2
  12. pulumi_gcp/apigateway/get_api_config_iam_policy.py +2 -2
  13. pulumi_gcp/apigateway/get_api_iam_policy.py +2 -2
  14. pulumi_gcp/apigateway/get_gateway_iam_policy.py +2 -2
  15. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  16. pulumi_gcp/appengine/get_default_service_account.py +2 -2
  17. pulumi_gcp/apphub/get_application.py +2 -2
  18. pulumi_gcp/apphub/get_discovered_service.py +2 -2
  19. pulumi_gcp/apphub/get_discovered_workload.py +2 -2
  20. pulumi_gcp/artifactregistry/_inputs.py +56 -0
  21. pulumi_gcp/artifactregistry/get_docker_image.py +2 -2
  22. pulumi_gcp/artifactregistry/get_locations.py +2 -2
  23. pulumi_gcp/artifactregistry/get_repository.py +2 -2
  24. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  25. pulumi_gcp/artifactregistry/outputs.py +65 -0
  26. pulumi_gcp/artifactregistry/repository.py +48 -0
  27. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  28. pulumi_gcp/backupdisasterrecovery/backup_vault.py +63 -0
  29. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +2 -2
  30. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +2 -2
  31. pulumi_gcp/backupdisasterrecovery/get_data_source.py +263 -0
  32. pulumi_gcp/backupdisasterrecovery/get_management_server.py +2 -2
  33. pulumi_gcp/backupdisasterrecovery/outputs.py +402 -0
  34. pulumi_gcp/beyondcorp/get_app_connection.py +2 -2
  35. pulumi_gcp/beyondcorp/get_app_connector.py +2 -2
  36. pulumi_gcp/beyondcorp/get_app_gateway.py +2 -2
  37. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  38. pulumi_gcp/bigquery/get_dataset.py +2 -2
  39. pulumi_gcp/bigquery/get_dataset_iam_policy.py +2 -2
  40. pulumi_gcp/bigquery/get_default_service_account.py +2 -2
  41. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  42. pulumi_gcp/bigquery/get_tables.py +2 -2
  43. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  44. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  45. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  46. pulumi_gcp/bigtable/get_instance_iam_policy.py +2 -2
  47. pulumi_gcp/bigtable/get_table_iam_policy.py +2 -2
  48. pulumi_gcp/billing/get_account_iam_policy.py +2 -2
  49. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  50. pulumi_gcp/certificateauthority/authority.py +28 -138
  51. pulumi_gcp/certificateauthority/get_authority.py +2 -2
  52. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  53. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  54. pulumi_gcp/certificatemanager/get_certificate_map.py +2 -2
  55. pulumi_gcp/certificatemanager/get_certificates.py +2 -2
  56. pulumi_gcp/cloudasset/get_resources_search_all.py +2 -2
  57. pulumi_gcp/cloudasset/get_search_all_resources.py +2 -2
  58. pulumi_gcp/cloudbuild/get_trigger.py +2 -2
  59. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  60. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  61. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  62. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  63. pulumi_gcp/cloudfunctions/get_function.py +2 -2
  64. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  65. pulumi_gcp/cloudfunctionsv2/get_function.py +2 -2
  66. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  67. pulumi_gcp/cloudidentity/get_group_lookup.py +2 -2
  68. pulumi_gcp/cloudidentity/get_group_memberships.py +2 -2
  69. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +2 -2
  70. pulumi_gcp/cloudidentity/get_groups.py +2 -2
  71. pulumi_gcp/cloudquota/get_s_quota_info.py +2 -2
  72. pulumi_gcp/cloudquota/get_s_quota_infos.py +2 -2
  73. pulumi_gcp/cloudrun/get_locations.py +2 -2
  74. pulumi_gcp/cloudrun/get_service.py +2 -2
  75. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  76. pulumi_gcp/cloudrun/service.py +0 -10
  77. pulumi_gcp/cloudrunv2/get_job.py +2 -2
  78. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  79. pulumi_gcp/cloudrunv2/get_service.py +17 -6
  80. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  81. pulumi_gcp/cloudrunv2/service.py +30 -2
  82. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  83. pulumi_gcp/composer/get_environment.py +2 -2
  84. pulumi_gcp/composer/get_image_versions.py +2 -2
  85. pulumi_gcp/composer/get_user_workloads_config_map.py +2 -2
  86. pulumi_gcp/composer/get_user_workloads_secret.py +2 -2
  87. pulumi_gcp/compute/_inputs.py +12 -12
  88. pulumi_gcp/compute/get_address.py +2 -2
  89. pulumi_gcp/compute/get_addresses.py +2 -2
  90. pulumi_gcp/compute/get_backend_bucket.py +2 -2
  91. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +2 -2
  92. pulumi_gcp/compute/get_backend_service.py +2 -2
  93. pulumi_gcp/compute/get_backend_service_iam_policy.py +2 -2
  94. pulumi_gcp/compute/get_certificate.py +2 -2
  95. pulumi_gcp/compute/get_default_service_account.py +2 -2
  96. pulumi_gcp/compute/get_disk.py +2 -2
  97. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  98. pulumi_gcp/compute/get_forwarding_rule.py +2 -2
  99. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  100. pulumi_gcp/compute/get_global_address.py +2 -2
  101. pulumi_gcp/compute/get_global_forwarding_rule.py +2 -2
  102. pulumi_gcp/compute/get_hc_vpn_gateway.py +2 -2
  103. pulumi_gcp/compute/get_health_check.py +2 -2
  104. pulumi_gcp/compute/get_image.py +2 -2
  105. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  106. pulumi_gcp/compute/get_instance.py +2 -2
  107. pulumi_gcp/compute/get_instance_group.py +2 -2
  108. pulumi_gcp/compute/get_instance_group_manager.py +2 -2
  109. pulumi_gcp/compute/get_instance_guest_attributes.py +2 -2
  110. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  111. pulumi_gcp/compute/get_instance_serial_port.py +2 -2
  112. pulumi_gcp/compute/get_instance_template.py +2 -2
  113. pulumi_gcp/compute/get_lbip_ranges.py +2 -2
  114. pulumi_gcp/compute/get_machine_image_iam_policy.py +2 -2
  115. pulumi_gcp/compute/get_machine_types.py +2 -2
  116. pulumi_gcp/compute/get_netblock_ip_ranges.py +2 -2
  117. pulumi_gcp/compute/get_network.py +2 -2
  118. pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
  119. pulumi_gcp/compute/get_network_peering.py +2 -2
  120. pulumi_gcp/compute/get_networks.py +2 -2
  121. pulumi_gcp/compute/get_node_types.py +2 -2
  122. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +2 -2
  123. pulumi_gcp/compute/get_region_disk.py +2 -2
  124. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  125. pulumi_gcp/compute/get_region_instance_group.py +2 -2
  126. pulumi_gcp/compute/get_region_instance_group_manager.py +2 -2
  127. pulumi_gcp/compute/get_region_instance_template.py +2 -2
  128. pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
  129. pulumi_gcp/compute/get_region_ssl_certificate.py +2 -2
  130. pulumi_gcp/compute/get_regions.py +2 -2
  131. pulumi_gcp/compute/get_reservation.py +2 -2
  132. pulumi_gcp/compute/get_resource_policy.py +2 -2
  133. pulumi_gcp/compute/get_router.py +2 -2
  134. pulumi_gcp/compute/get_router_nat.py +2 -2
  135. pulumi_gcp/compute/get_router_status.py +2 -2
  136. pulumi_gcp/compute/get_security_policy.py +2 -2
  137. pulumi_gcp/compute/get_snapshot.py +2 -2
  138. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  139. pulumi_gcp/compute/get_ssl_policy.py +2 -2
  140. pulumi_gcp/compute/get_subnetwork.py +2 -2
  141. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  142. pulumi_gcp/compute/get_subnetworks.py +2 -2
  143. pulumi_gcp/compute/get_vpn_gateway.py +2 -2
  144. pulumi_gcp/compute/get_zones.py +2 -2
  145. pulumi_gcp/compute/outputs.py +10 -10
  146. pulumi_gcp/compute/router_status.py +2 -2
  147. pulumi_gcp/container/get_attached_install_manifest.py +2 -2
  148. pulumi_gcp/container/get_attached_versions.py +2 -2
  149. pulumi_gcp/container/get_aws_versions.py +2 -2
  150. pulumi_gcp/container/get_azure_versions.py +2 -2
  151. pulumi_gcp/container/get_cluster.py +2 -2
  152. pulumi_gcp/container/get_engine_versions.py +2 -2
  153. pulumi_gcp/container/get_registry_image.py +2 -2
  154. pulumi_gcp/container/get_registry_repository.py +2 -2
  155. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  156. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  157. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  158. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  159. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  160. pulumi_gcp/dataform/get_repository_iam_policy.py +2 -2
  161. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  162. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  163. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  164. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  165. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  166. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  167. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  168. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  169. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  170. pulumi_gcp/dataproc/__init__.py +1 -0
  171. pulumi_gcp/dataproc/_inputs.py +490 -0
  172. pulumi_gcp/dataproc/gdc_spark_application.py +1658 -0
  173. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  174. pulumi_gcp/dataproc/get_cluster_iam_policy.py +2 -2
  175. pulumi_gcp/dataproc/get_job_iam_policy.py +2 -2
  176. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  177. pulumi_gcp/dataproc/get_metastore_service.py +2 -2
  178. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  179. pulumi_gcp/dataproc/outputs.py +385 -0
  180. pulumi_gcp/datastream/get_static_ips.py +2 -2
  181. pulumi_gcp/dns/get_keys.py +2 -2
  182. pulumi_gcp/dns/get_managed_zone.py +2 -2
  183. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  184. pulumi_gcp/dns/get_managed_zones.py +2 -2
  185. pulumi_gcp/dns/get_record_set.py +2 -2
  186. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +2 -2
  187. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  188. pulumi_gcp/filestore/_inputs.py +152 -0
  189. pulumi_gcp/filestore/get_instance.py +14 -3
  190. pulumi_gcp/filestore/instance.py +47 -0
  191. pulumi_gcp/filestore/outputs.py +229 -0
  192. pulumi_gcp/firebase/get_android_app.py +2 -2
  193. pulumi_gcp/firebase/get_android_app_config.py +2 -2
  194. pulumi_gcp/firebase/get_apple_app.py +2 -2
  195. pulumi_gcp/firebase/get_apple_app_config.py +2 -2
  196. pulumi_gcp/firebase/get_hosting_channel.py +2 -2
  197. pulumi_gcp/firebase/get_web_app.py +2 -2
  198. pulumi_gcp/firebase/get_web_app_config.py +2 -2
  199. pulumi_gcp/folder/get_iam_policy.py +2 -2
  200. pulumi_gcp/folder/get_organization_policy.py +2 -2
  201. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  202. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  203. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  204. pulumi_gcp/gkehub/get_membership_binding.py +2 -2
  205. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  206. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  207. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  208. pulumi_gcp/healthcare/get_dataset_iam_policy.py +2 -2
  209. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +2 -2
  210. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +2 -2
  211. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +2 -2
  212. pulumi_gcp/iam/__init__.py +2 -0
  213. pulumi_gcp/iam/_inputs.py +274 -0
  214. pulumi_gcp/iam/folders_policy_binding.py +917 -0
  215. pulumi_gcp/iam/get_rule.py +2 -2
  216. pulumi_gcp/iam/get_testable_permissions.py +2 -2
  217. pulumi_gcp/iam/get_workload_identity_pool.py +2 -2
  218. pulumi_gcp/iam/get_workload_identity_pool_provider.py +2 -2
  219. pulumi_gcp/iam/organizations_policy_binding.py +901 -0
  220. pulumi_gcp/iam/outputs.py +198 -0
  221. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  222. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  223. pulumi_gcp/iap/get_client.py +2 -2
  224. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  225. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  226. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  227. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  228. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  229. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  230. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  231. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  232. pulumi_gcp/kms/get_crypto_key_iam_policy.py +2 -2
  233. pulumi_gcp/kms/get_crypto_key_latest_version.py +2 -2
  234. pulumi_gcp/kms/get_crypto_key_versions.py +2 -2
  235. pulumi_gcp/kms/get_crypto_keys.py +2 -2
  236. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  237. pulumi_gcp/kms/get_key_ring_iam_policy.py +2 -2
  238. pulumi_gcp/kms/get_key_rings.py +2 -2
  239. pulumi_gcp/kms/get_kms_crypto_key.py +2 -2
  240. pulumi_gcp/kms/get_kms_crypto_key_version.py +2 -2
  241. pulumi_gcp/kms/get_kms_key_ring.py +2 -2
  242. pulumi_gcp/kms/get_kms_secret.py +2 -2
  243. pulumi_gcp/kms/get_kms_secret_asymmetric.py +2 -2
  244. pulumi_gcp/kms/get_kms_secret_ciphertext.py +2 -2
  245. pulumi_gcp/logging/get_folder_settings.py +2 -2
  246. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  247. pulumi_gcp/logging/get_organization_settings.py +2 -2
  248. pulumi_gcp/logging/get_project_cmek_settings.py +2 -2
  249. pulumi_gcp/logging/get_project_settings.py +2 -2
  250. pulumi_gcp/logging/get_sink.py +2 -2
  251. pulumi_gcp/managedkafka/cluster.py +4 -0
  252. pulumi_gcp/managedkafka/topic.py +4 -0
  253. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  254. pulumi_gcp/monitoring/get_cluster_istio_service.py +2 -2
  255. pulumi_gcp/monitoring/get_istio_canonical_service.py +2 -2
  256. pulumi_gcp/monitoring/get_mesh_istio_service.py +2 -2
  257. pulumi_gcp/monitoring/get_notification_channel.py +2 -2
  258. pulumi_gcp/monitoring/get_secret_version.py +2 -2
  259. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +2 -2
  260. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +2 -2
  261. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  262. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  263. pulumi_gcp/oracledatabase/get_autonomous_database.py +2 -2
  264. pulumi_gcp/oracledatabase/get_autonomous_databases.py +2 -2
  265. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +2 -2
  266. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructures.py +2 -2
  267. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +2 -2
  268. pulumi_gcp/oracledatabase/get_cloud_vm_clusters.py +2 -2
  269. pulumi_gcp/oracledatabase/get_db_nodes.py +2 -2
  270. pulumi_gcp/oracledatabase/get_db_servers.py +2 -2
  271. pulumi_gcp/organizations/get_active_folder.py +2 -2
  272. pulumi_gcp/organizations/get_billing_account.py +2 -2
  273. pulumi_gcp/organizations/get_client_config.py +2 -2
  274. pulumi_gcp/organizations/get_client_open_id_user_info.py +2 -2
  275. pulumi_gcp/organizations/get_folder.py +2 -2
  276. pulumi_gcp/organizations/get_folders.py +2 -2
  277. pulumi_gcp/organizations/get_iam_policy.py +2 -2
  278. pulumi_gcp/organizations/get_organization.py +2 -2
  279. pulumi_gcp/organizations/get_project.py +2 -2
  280. pulumi_gcp/privilegedaccessmanager/get_entitlement.py +2 -2
  281. pulumi_gcp/projects/get_iam_policy.py +2 -2
  282. pulumi_gcp/projects/get_organization_policy.py +2 -2
  283. pulumi_gcp/projects/get_project.py +2 -2
  284. pulumi_gcp/projects/get_project_service.py +2 -2
  285. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  286. pulumi_gcp/pubsub/get_subscription.py +2 -2
  287. pulumi_gcp/pubsub/get_subscription_iam_policy.py +2 -2
  288. pulumi_gcp/pubsub/get_topic.py +2 -2
  289. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  290. pulumi_gcp/pubsub/subscription.py +8 -8
  291. pulumi_gcp/pulumi-plugin.json +1 -1
  292. pulumi_gcp/redis/_inputs.py +213 -0
  293. pulumi_gcp/redis/cluster.py +289 -0
  294. pulumi_gcp/redis/get_instance.py +2 -2
  295. pulumi_gcp/redis/outputs.py +185 -0
  296. pulumi_gcp/runtimeconfig/get_config.py +2 -2
  297. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +2 -2
  298. pulumi_gcp/runtimeconfig/get_variable.py +2 -2
  299. pulumi_gcp/secretmanager/get_regional_secret.py +2 -2
  300. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  301. pulumi_gcp/secretmanager/get_regional_secret_version.py +2 -2
  302. pulumi_gcp/secretmanager/get_regional_secret_version_access.py +2 -2
  303. pulumi_gcp/secretmanager/get_regional_secrets.py +2 -2
  304. pulumi_gcp/secretmanager/get_secret.py +2 -2
  305. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  306. pulumi_gcp/secretmanager/get_secret_version.py +2 -2
  307. pulumi_gcp/secretmanager/get_secret_version_access.py +2 -2
  308. pulumi_gcp/secretmanager/get_secrets.py +2 -2
  309. pulumi_gcp/securesourcemanager/_inputs.py +33 -0
  310. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  311. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  312. pulumi_gcp/securesourcemanager/instance.py +90 -3
  313. pulumi_gcp/securesourcemanager/outputs.py +19 -0
  314. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  315. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  316. pulumi_gcp/serviceaccount/get_account.py +2 -2
  317. pulumi_gcp/serviceaccount/get_account_access_token.py +2 -2
  318. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  319. pulumi_gcp/serviceaccount/get_account_jwt.py +2 -2
  320. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  321. pulumi_gcp/serviceaccount/get_iam_policy.py +2 -2
  322. pulumi_gcp/serviceaccount/get_s.py +2 -2
  323. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +2 -2
  324. pulumi_gcp/servicedirectory/get_service_iam_policy.py +2 -2
  325. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +2 -2
  326. pulumi_gcp/siteverification/get_token.py +2 -2
  327. pulumi_gcp/sourcerepo/get_repository.py +2 -2
  328. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  329. pulumi_gcp/spanner/database.py +14 -14
  330. pulumi_gcp/spanner/get_database.py +2 -2
  331. pulumi_gcp/spanner/get_database_iam_policy.py +2 -2
  332. pulumi_gcp/spanner/get_instance.py +2 -2
  333. pulumi_gcp/spanner/get_instance_iam_policy.py +2 -2
  334. pulumi_gcp/sql/_inputs.py +73 -0
  335. pulumi_gcp/sql/database_instance.py +60 -0
  336. pulumi_gcp/sql/get_backup_run.py +2 -2
  337. pulumi_gcp/sql/get_ca_certs.py +2 -2
  338. pulumi_gcp/sql/get_database.py +2 -2
  339. pulumi_gcp/sql/get_database_instance.py +2 -2
  340. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +2 -2
  341. pulumi_gcp/sql/get_database_instances.py +2 -2
  342. pulumi_gcp/sql/get_databases.py +2 -2
  343. pulumi_gcp/sql/get_tiers.py +2 -2
  344. pulumi_gcp/sql/outputs.py +146 -0
  345. pulumi_gcp/sql/user.py +2 -2
  346. pulumi_gcp/storage/get_bucket.py +2 -2
  347. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  348. pulumi_gcp/storage/get_bucket_object.py +2 -2
  349. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  350. pulumi_gcp/storage/get_bucket_objects.py +2 -2
  351. pulumi_gcp/storage/get_buckets.py +2 -2
  352. pulumi_gcp/storage/get_managed_folder_iam_policy.py +2 -2
  353. pulumi_gcp/storage/get_object_signed_url.py +2 -2
  354. pulumi_gcp/storage/get_project_service_account.py +2 -2
  355. pulumi_gcp/storage/get_transfer_project_service_account.py +2 -2
  356. pulumi_gcp/storage/get_transfer_project_servie_account.py +2 -2
  357. pulumi_gcp/tags/get_tag_key.py +2 -2
  358. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  359. pulumi_gcp/tags/get_tag_keys.py +2 -2
  360. pulumi_gcp/tags/get_tag_value.py +2 -2
  361. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  362. pulumi_gcp/tags/get_tag_values.py +2 -2
  363. pulumi_gcp/tags/location_tag_binding.py +8 -8
  364. pulumi_gcp/tpu/get_tensorflow_versions.py +2 -2
  365. pulumi_gcp/tpu/get_v2_accelerator_types.py +2 -2
  366. pulumi_gcp/tpu/get_v2_runtime_versions.py +2 -2
  367. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +2 -2
  368. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +2 -2
  369. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +2 -2
  370. pulumi_gcp/vertex/get_ai_index.py +2 -2
  371. pulumi_gcp/vmwareengine/get_cluster.py +2 -2
  372. pulumi_gcp/vmwareengine/get_external_access_rule.py +2 -2
  373. pulumi_gcp/vmwareengine/get_external_address.py +2 -2
  374. pulumi_gcp/vmwareengine/get_network.py +2 -2
  375. pulumi_gcp/vmwareengine/get_network_peering.py +2 -2
  376. pulumi_gcp/vmwareengine/get_network_policy.py +2 -2
  377. pulumi_gcp/vmwareengine/get_nsx_credentials.py +2 -2
  378. pulumi_gcp/vmwareengine/get_private_cloud.py +2 -2
  379. pulumi_gcp/vmwareengine/get_subnet.py +2 -2
  380. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +2 -2
  381. pulumi_gcp/vpcaccess/get_connector.py +2 -2
  382. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  383. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +2 -2
  384. pulumi_gcp/workstations/get_workstation_iam_policy.py +2 -2
  385. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/METADATA +5 -5
  386. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/RECORD +388 -383
  387. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/WHEEL +1 -1
  388. {pulumi_gcp-8.10.0a1731950704.dist-info → pulumi_gcp-8.10.1.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,7 @@ class ClusterArgs:
28
28
  maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
29
29
  name: Optional[pulumi.Input[str]] = None,
30
30
  node_type: Optional[pulumi.Input[str]] = None,
31
+ persistence_config: Optional[pulumi.Input['ClusterPersistenceConfigArgs']] = None,
31
32
  project: Optional[pulumi.Input[str]] = None,
32
33
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
33
34
  region: Optional[pulumi.Input[str]] = None,
@@ -51,6 +52,7 @@ class ClusterArgs:
51
52
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
52
53
  :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
53
54
  ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
55
+ :param pulumi.Input['ClusterPersistenceConfigArgs'] persistence_config: Persistence config (RDB, AOF) for the cluster.
54
56
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] redis_configs: Configure Redis Cluster behavior using a subset of native Redis configuration parameters. Please check Memorystore
55
57
  documentation for the list of supported parameters:
56
58
  https://cloud.google.com/memorystore/docs/cluster/supported-instance-configurations
@@ -73,6 +75,8 @@ class ClusterArgs:
73
75
  pulumi.set(__self__, "name", name)
74
76
  if node_type is not None:
75
77
  pulumi.set(__self__, "node_type", node_type)
78
+ if persistence_config is not None:
79
+ pulumi.set(__self__, "persistence_config", persistence_config)
76
80
  if project is not None:
77
81
  pulumi.set(__self__, "project", project)
78
82
  if redis_configs is not None:
@@ -178,6 +182,18 @@ class ClusterArgs:
178
182
  def node_type(self, value: Optional[pulumi.Input[str]]):
179
183
  pulumi.set(self, "node_type", value)
180
184
 
185
+ @property
186
+ @pulumi.getter(name="persistenceConfig")
187
+ def persistence_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigArgs']]:
188
+ """
189
+ Persistence config (RDB, AOF) for the cluster.
190
+ """
191
+ return pulumi.get(self, "persistence_config")
192
+
193
+ @persistence_config.setter
194
+ def persistence_config(self, value: Optional[pulumi.Input['ClusterPersistenceConfigArgs']]):
195
+ pulumi.set(self, "persistence_config", value)
196
+
181
197
  @property
182
198
  @pulumi.getter
183
199
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -263,6 +279,7 @@ class _ClusterState:
263
279
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceScheduleArgs']]]] = None,
264
280
  name: Optional[pulumi.Input[str]] = None,
265
281
  node_type: Optional[pulumi.Input[str]] = None,
282
+ persistence_config: Optional[pulumi.Input['ClusterPersistenceConfigArgs']] = None,
266
283
  precise_size_gb: Optional[pulumi.Input[float]] = None,
267
284
  project: Optional[pulumi.Input[str]] = None,
268
285
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]]] = None,
@@ -298,6 +315,7 @@ class _ClusterState:
298
315
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
299
316
  :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
300
317
  ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
318
+ :param pulumi.Input['ClusterPersistenceConfigArgs'] persistence_config: Persistence config (RDB, AOF) for the cluster.
301
319
  :param pulumi.Input[float] precise_size_gb: Output only. Redis memory precise size in GB for the entire cluster.
302
320
  :param pulumi.Input[Sequence[pulumi.Input['ClusterPscConfigArgs']]] psc_configs: Required. Each PscConfig configures the consumer network where two
303
321
  network addresses will be designated to the cluster for client access.
@@ -337,6 +355,8 @@ class _ClusterState:
337
355
  pulumi.set(__self__, "name", name)
338
356
  if node_type is not None:
339
357
  pulumi.set(__self__, "node_type", node_type)
358
+ if persistence_config is not None:
359
+ pulumi.set(__self__, "persistence_config", persistence_config)
340
360
  if precise_size_gb is not None:
341
361
  pulumi.set(__self__, "precise_size_gb", precise_size_gb)
342
362
  if project is not None:
@@ -473,6 +493,18 @@ class _ClusterState:
473
493
  def node_type(self, value: Optional[pulumi.Input[str]]):
474
494
  pulumi.set(self, "node_type", value)
475
495
 
496
+ @property
497
+ @pulumi.getter(name="persistenceConfig")
498
+ def persistence_config(self) -> Optional[pulumi.Input['ClusterPersistenceConfigArgs']]:
499
+ """
500
+ Persistence config (RDB, AOF) for the cluster.
501
+ """
502
+ return pulumi.get(self, "persistence_config")
503
+
504
+ @persistence_config.setter
505
+ def persistence_config(self, value: Optional[pulumi.Input['ClusterPersistenceConfigArgs']]):
506
+ pulumi.set(self, "persistence_config", value)
507
+
476
508
  @property
477
509
  @pulumi.getter(name="preciseSizeGb")
478
510
  def precise_size_gb(self) -> Optional[pulumi.Input[float]]:
@@ -658,6 +690,7 @@ class Cluster(pulumi.CustomResource):
658
690
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
659
691
  name: Optional[pulumi.Input[str]] = None,
660
692
  node_type: Optional[pulumi.Input[str]] = None,
693
+ persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
661
694
  project: Optional[pulumi.Input[str]] = None,
662
695
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]]] = None,
663
696
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -780,6 +813,127 @@ class Cluster(pulumi.CustomResource):
780
813
  deletion_protection_enabled=True,
781
814
  opts = pulumi.ResourceOptions(depends_on=[default]))
782
815
  ```
816
+ ### Redis Cluster Rdb
817
+
818
+ ```python
819
+ import pulumi
820
+ import pulumi_gcp as gcp
821
+
822
+ producer_net = gcp.compute.Network("producer_net",
823
+ name="mynetwork",
824
+ auto_create_subnetworks=False)
825
+ producer_subnet = gcp.compute.Subnetwork("producer_subnet",
826
+ name="mysubnet",
827
+ ip_cidr_range="10.0.0.248/29",
828
+ region="us-central1",
829
+ network=producer_net.id)
830
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
831
+ name="mypolicy",
832
+ location="us-central1",
833
+ service_class="gcp-memorystore-redis",
834
+ description="my basic service connection policy",
835
+ network=producer_net.id,
836
+ psc_config={
837
+ "subnetworks": [producer_subnet.id],
838
+ })
839
+ cluster_rdb = gcp.redis.Cluster("cluster-rdb",
840
+ name="rdb-cluster",
841
+ shard_count=3,
842
+ psc_configs=[{
843
+ "network": producer_net.id,
844
+ }],
845
+ region="us-central1",
846
+ replica_count=0,
847
+ node_type="REDIS_SHARED_CORE_NANO",
848
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
849
+ authorization_mode="AUTH_MODE_DISABLED",
850
+ redis_configs={
851
+ "maxmemory-policy": "volatile-ttl",
852
+ },
853
+ deletion_protection_enabled=True,
854
+ zone_distribution_config={
855
+ "mode": "MULTI_ZONE",
856
+ },
857
+ maintenance_policy={
858
+ "weekly_maintenance_windows": [{
859
+ "day": "MONDAY",
860
+ "start_time": {
861
+ "hours": 1,
862
+ "minutes": 0,
863
+ "seconds": 0,
864
+ "nanos": 0,
865
+ },
866
+ }],
867
+ },
868
+ persistence_config={
869
+ "mode": "RDB",
870
+ "rdb_config": {
871
+ "rdb_snapshot_period": "ONE_HOUR",
872
+ "rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
873
+ },
874
+ },
875
+ opts = pulumi.ResourceOptions(depends_on=[default]))
876
+ ```
877
+ ### Redis Cluster Aof
878
+
879
+ ```python
880
+ import pulumi
881
+ import pulumi_gcp as gcp
882
+
883
+ producer_net = gcp.compute.Network("producer_net",
884
+ name="mynetwork",
885
+ auto_create_subnetworks=False)
886
+ producer_subnet = gcp.compute.Subnetwork("producer_subnet",
887
+ name="mysubnet",
888
+ ip_cidr_range="10.0.0.248/29",
889
+ region="us-central1",
890
+ network=producer_net.id)
891
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
892
+ name="mypolicy",
893
+ location="us-central1",
894
+ service_class="gcp-memorystore-redis",
895
+ description="my basic service connection policy",
896
+ network=producer_net.id,
897
+ psc_config={
898
+ "subnetworks": [producer_subnet.id],
899
+ })
900
+ cluster_aof = gcp.redis.Cluster("cluster-aof",
901
+ name="aof-cluster",
902
+ shard_count=3,
903
+ psc_configs=[{
904
+ "network": producer_net.id,
905
+ }],
906
+ region="us-central1",
907
+ replica_count=0,
908
+ node_type="REDIS_SHARED_CORE_NANO",
909
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
910
+ authorization_mode="AUTH_MODE_DISABLED",
911
+ redis_configs={
912
+ "maxmemory-policy": "volatile-ttl",
913
+ },
914
+ deletion_protection_enabled=True,
915
+ zone_distribution_config={
916
+ "mode": "MULTI_ZONE",
917
+ },
918
+ maintenance_policy={
919
+ "weekly_maintenance_windows": [{
920
+ "day": "MONDAY",
921
+ "start_time": {
922
+ "hours": 1,
923
+ "minutes": 0,
924
+ "seconds": 0,
925
+ "nanos": 0,
926
+ },
927
+ }],
928
+ },
929
+ persistence_config={
930
+ "mode": "AOF",
931
+ "aof_config": {
932
+ "append_fsync": "EVERYSEC",
933
+ },
934
+ },
935
+ opts = pulumi.ResourceOptions(depends_on=[default]))
936
+ ```
783
937
 
784
938
  ## Import
785
939
 
@@ -823,6 +977,7 @@ class Cluster(pulumi.CustomResource):
823
977
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
824
978
  :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
825
979
  ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
980
+ :param pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']] persistence_config: Persistence config (RDB, AOF) for the cluster.
826
981
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]] psc_configs: Required. Each PscConfig configures the consumer network where two
827
982
  network addresses will be designated to the cluster for client access.
828
983
  Currently, only one PscConfig is supported.
@@ -957,6 +1112,127 @@ class Cluster(pulumi.CustomResource):
957
1112
  deletion_protection_enabled=True,
958
1113
  opts = pulumi.ResourceOptions(depends_on=[default]))
959
1114
  ```
1115
+ ### Redis Cluster Rdb
1116
+
1117
+ ```python
1118
+ import pulumi
1119
+ import pulumi_gcp as gcp
1120
+
1121
+ producer_net = gcp.compute.Network("producer_net",
1122
+ name="mynetwork",
1123
+ auto_create_subnetworks=False)
1124
+ producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1125
+ name="mysubnet",
1126
+ ip_cidr_range="10.0.0.248/29",
1127
+ region="us-central1",
1128
+ network=producer_net.id)
1129
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1130
+ name="mypolicy",
1131
+ location="us-central1",
1132
+ service_class="gcp-memorystore-redis",
1133
+ description="my basic service connection policy",
1134
+ network=producer_net.id,
1135
+ psc_config={
1136
+ "subnetworks": [producer_subnet.id],
1137
+ })
1138
+ cluster_rdb = gcp.redis.Cluster("cluster-rdb",
1139
+ name="rdb-cluster",
1140
+ shard_count=3,
1141
+ psc_configs=[{
1142
+ "network": producer_net.id,
1143
+ }],
1144
+ region="us-central1",
1145
+ replica_count=0,
1146
+ node_type="REDIS_SHARED_CORE_NANO",
1147
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
1148
+ authorization_mode="AUTH_MODE_DISABLED",
1149
+ redis_configs={
1150
+ "maxmemory-policy": "volatile-ttl",
1151
+ },
1152
+ deletion_protection_enabled=True,
1153
+ zone_distribution_config={
1154
+ "mode": "MULTI_ZONE",
1155
+ },
1156
+ maintenance_policy={
1157
+ "weekly_maintenance_windows": [{
1158
+ "day": "MONDAY",
1159
+ "start_time": {
1160
+ "hours": 1,
1161
+ "minutes": 0,
1162
+ "seconds": 0,
1163
+ "nanos": 0,
1164
+ },
1165
+ }],
1166
+ },
1167
+ persistence_config={
1168
+ "mode": "RDB",
1169
+ "rdb_config": {
1170
+ "rdb_snapshot_period": "ONE_HOUR",
1171
+ "rdb_snapshot_start_time": "2024-10-02T15:01:23Z",
1172
+ },
1173
+ },
1174
+ opts = pulumi.ResourceOptions(depends_on=[default]))
1175
+ ```
1176
+ ### Redis Cluster Aof
1177
+
1178
+ ```python
1179
+ import pulumi
1180
+ import pulumi_gcp as gcp
1181
+
1182
+ producer_net = gcp.compute.Network("producer_net",
1183
+ name="mynetwork",
1184
+ auto_create_subnetworks=False)
1185
+ producer_subnet = gcp.compute.Subnetwork("producer_subnet",
1186
+ name="mysubnet",
1187
+ ip_cidr_range="10.0.0.248/29",
1188
+ region="us-central1",
1189
+ network=producer_net.id)
1190
+ default = gcp.networkconnectivity.ServiceConnectionPolicy("default",
1191
+ name="mypolicy",
1192
+ location="us-central1",
1193
+ service_class="gcp-memorystore-redis",
1194
+ description="my basic service connection policy",
1195
+ network=producer_net.id,
1196
+ psc_config={
1197
+ "subnetworks": [producer_subnet.id],
1198
+ })
1199
+ cluster_aof = gcp.redis.Cluster("cluster-aof",
1200
+ name="aof-cluster",
1201
+ shard_count=3,
1202
+ psc_configs=[{
1203
+ "network": producer_net.id,
1204
+ }],
1205
+ region="us-central1",
1206
+ replica_count=0,
1207
+ node_type="REDIS_SHARED_CORE_NANO",
1208
+ transit_encryption_mode="TRANSIT_ENCRYPTION_MODE_DISABLED",
1209
+ authorization_mode="AUTH_MODE_DISABLED",
1210
+ redis_configs={
1211
+ "maxmemory-policy": "volatile-ttl",
1212
+ },
1213
+ deletion_protection_enabled=True,
1214
+ zone_distribution_config={
1215
+ "mode": "MULTI_ZONE",
1216
+ },
1217
+ maintenance_policy={
1218
+ "weekly_maintenance_windows": [{
1219
+ "day": "MONDAY",
1220
+ "start_time": {
1221
+ "hours": 1,
1222
+ "minutes": 0,
1223
+ "seconds": 0,
1224
+ "nanos": 0,
1225
+ },
1226
+ }],
1227
+ },
1228
+ persistence_config={
1229
+ "mode": "AOF",
1230
+ "aof_config": {
1231
+ "append_fsync": "EVERYSEC",
1232
+ },
1233
+ },
1234
+ opts = pulumi.ResourceOptions(depends_on=[default]))
1235
+ ```
960
1236
 
961
1237
  ## Import
962
1238
 
@@ -1008,6 +1284,7 @@ class Cluster(pulumi.CustomResource):
1008
1284
  maintenance_policy: Optional[pulumi.Input[Union['ClusterMaintenancePolicyArgs', 'ClusterMaintenancePolicyArgsDict']]] = None,
1009
1285
  name: Optional[pulumi.Input[str]] = None,
1010
1286
  node_type: Optional[pulumi.Input[str]] = None,
1287
+ persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
1011
1288
  project: Optional[pulumi.Input[str]] = None,
1012
1289
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]]] = None,
1013
1290
  redis_configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
@@ -1030,6 +1307,7 @@ class Cluster(pulumi.CustomResource):
1030
1307
  __props__.__dict__["maintenance_policy"] = maintenance_policy
1031
1308
  __props__.__dict__["name"] = name
1032
1309
  __props__.__dict__["node_type"] = node_type
1310
+ __props__.__dict__["persistence_config"] = persistence_config
1033
1311
  __props__.__dict__["project"] = project
1034
1312
  if psc_configs is None and not opts.urn:
1035
1313
  raise TypeError("Missing required property 'psc_configs'")
@@ -1069,6 +1347,7 @@ class Cluster(pulumi.CustomResource):
1069
1347
  maintenance_schedules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterMaintenanceScheduleArgs', 'ClusterMaintenanceScheduleArgsDict']]]]] = None,
1070
1348
  name: Optional[pulumi.Input[str]] = None,
1071
1349
  node_type: Optional[pulumi.Input[str]] = None,
1350
+ persistence_config: Optional[pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']]] = None,
1072
1351
  precise_size_gb: Optional[pulumi.Input[float]] = None,
1073
1352
  project: Optional[pulumi.Input[str]] = None,
1074
1353
  psc_configs: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]]] = None,
@@ -1109,6 +1388,7 @@ class Cluster(pulumi.CustomResource):
1109
1388
  projects/{projectId}/locations/{locationId}/clusters/{clusterId}
1110
1389
  :param pulumi.Input[str] node_type: The nodeType for the Redis cluster. If not provided, REDIS_HIGHMEM_MEDIUM will be used as default Possible values:
1111
1390
  ["REDIS_SHARED_CORE_NANO", "REDIS_HIGHMEM_MEDIUM", "REDIS_HIGHMEM_XLARGE", "REDIS_STANDARD_SMALL"]
1391
+ :param pulumi.Input[Union['ClusterPersistenceConfigArgs', 'ClusterPersistenceConfigArgsDict']] persistence_config: Persistence config (RDB, AOF) for the cluster.
1112
1392
  :param pulumi.Input[float] precise_size_gb: Output only. Redis memory precise size in GB for the entire cluster.
1113
1393
  :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterPscConfigArgs', 'ClusterPscConfigArgsDict']]]] psc_configs: Required. Each PscConfig configures the consumer network where two
1114
1394
  network addresses will be designated to the cluster for client access.
@@ -1144,6 +1424,7 @@ class Cluster(pulumi.CustomResource):
1144
1424
  __props__.__dict__["maintenance_schedules"] = maintenance_schedules
1145
1425
  __props__.__dict__["name"] = name
1146
1426
  __props__.__dict__["node_type"] = node_type
1427
+ __props__.__dict__["persistence_config"] = persistence_config
1147
1428
  __props__.__dict__["precise_size_gb"] = precise_size_gb
1148
1429
  __props__.__dict__["project"] = project
1149
1430
  __props__.__dict__["psc_configs"] = psc_configs
@@ -1235,6 +1516,14 @@ class Cluster(pulumi.CustomResource):
1235
1516
  """
1236
1517
  return pulumi.get(self, "node_type")
1237
1518
 
1519
+ @property
1520
+ @pulumi.getter(name="persistenceConfig")
1521
+ def persistence_config(self) -> pulumi.Output['outputs.ClusterPersistenceConfig']:
1522
+ """
1523
+ Persistence config (RDB, AOF) for the cluster.
1524
+ """
1525
+ return pulumi.get(self, "persistence_config")
1526
+
1238
1527
  @property
1239
1528
  @pulumi.getter(name="preciseSizeGb")
1240
1529
  def precise_size_gb(self) -> pulumi.Output[float]:
@@ -450,7 +450,7 @@ def get_instance(name: Optional[str] = None,
450
450
  def get_instance_output(name: Optional[pulumi.Input[str]] = None,
451
451
  project: Optional[pulumi.Input[Optional[str]]] = None,
452
452
  region: Optional[pulumi.Input[Optional[str]]] = None,
453
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetInstanceResult]:
453
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetInstanceResult]:
454
454
  """
455
455
  Get info about a Google Cloud Redis instance.
456
456
 
@@ -479,7 +479,7 @@ def get_instance_output(name: Optional[pulumi.Input[str]] = None,
479
479
  __args__['name'] = name
480
480
  __args__['project'] = project
481
481
  __args__['region'] = region
482
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
482
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
483
483
  __ret__ = pulumi.runtime.invoke_output('gcp:redis/getInstance:getInstance', __args__, opts=opts, typ=GetInstanceResult)
484
484
  return __ret__.apply(lambda __response__: GetInstanceResult(
485
485
  alternative_location_id=pulumi.get(__response__, 'alternative_location_id'),
@@ -22,6 +22,9 @@ __all__ = [
22
22
  'ClusterMaintenancePolicyWeeklyMaintenanceWindow',
23
23
  'ClusterMaintenancePolicyWeeklyMaintenanceWindowStartTime',
24
24
  'ClusterMaintenanceSchedule',
25
+ 'ClusterPersistenceConfig',
26
+ 'ClusterPersistenceConfigAofConfig',
27
+ 'ClusterPersistenceConfigRdbConfig',
25
28
  'ClusterPscConfig',
26
29
  'ClusterPscConnection',
27
30
  'ClusterStateInfo',
@@ -437,6 +440,188 @@ class ClusterMaintenanceSchedule(dict):
437
440
  return pulumi.get(self, "start_time")
438
441
 
439
442
 
443
+ @pulumi.output_type
444
+ class ClusterPersistenceConfig(dict):
445
+ @staticmethod
446
+ def __key_warning(key: str):
447
+ suggest = None
448
+ if key == "aofConfig":
449
+ suggest = "aof_config"
450
+ elif key == "rdbConfig":
451
+ suggest = "rdb_config"
452
+
453
+ if suggest:
454
+ pulumi.log.warn(f"Key '{key}' not found in ClusterPersistenceConfig. Access the value via the '{suggest}' property getter instead.")
455
+
456
+ def __getitem__(self, key: str) -> Any:
457
+ ClusterPersistenceConfig.__key_warning(key)
458
+ return super().__getitem__(key)
459
+
460
+ def get(self, key: str, default = None) -> Any:
461
+ ClusterPersistenceConfig.__key_warning(key)
462
+ return super().get(key, default)
463
+
464
+ def __init__(__self__, *,
465
+ aof_config: Optional['outputs.ClusterPersistenceConfigAofConfig'] = None,
466
+ mode: Optional[str] = None,
467
+ rdb_config: Optional['outputs.ClusterPersistenceConfigRdbConfig'] = None):
468
+ """
469
+ :param 'ClusterPersistenceConfigAofConfigArgs' aof_config: AOF configuration. This field will be ignored if mode is not AOF.
470
+ Structure is documented below.
471
+ :param str mode: Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
472
+ - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
473
+ - RDB: RDB based Persistence is enabled.
474
+ - AOF: AOF based Persistence is enabled.
475
+ Possible values are: `PERSISTENCE_MODE_UNSPECIFIED`, `DISABLED`, `RDB`, `AOF`.
476
+ :param 'ClusterPersistenceConfigRdbConfigArgs' rdb_config: RDB configuration. This field will be ignored if mode is not RDB.
477
+ Structure is documented below.
478
+ """
479
+ if aof_config is not None:
480
+ pulumi.set(__self__, "aof_config", aof_config)
481
+ if mode is not None:
482
+ pulumi.set(__self__, "mode", mode)
483
+ if rdb_config is not None:
484
+ pulumi.set(__self__, "rdb_config", rdb_config)
485
+
486
+ @property
487
+ @pulumi.getter(name="aofConfig")
488
+ def aof_config(self) -> Optional['outputs.ClusterPersistenceConfigAofConfig']:
489
+ """
490
+ AOF configuration. This field will be ignored if mode is not AOF.
491
+ Structure is documented below.
492
+ """
493
+ return pulumi.get(self, "aof_config")
494
+
495
+ @property
496
+ @pulumi.getter
497
+ def mode(self) -> Optional[str]:
498
+ """
499
+ Optional. Controls whether Persistence features are enabled. If not provided, the existing value will be used.
500
+ - DISABLED: Persistence (both backup and restore) is disabled for the cluster.
501
+ - RDB: RDB based Persistence is enabled.
502
+ - AOF: AOF based Persistence is enabled.
503
+ Possible values are: `PERSISTENCE_MODE_UNSPECIFIED`, `DISABLED`, `RDB`, `AOF`.
504
+ """
505
+ return pulumi.get(self, "mode")
506
+
507
+ @property
508
+ @pulumi.getter(name="rdbConfig")
509
+ def rdb_config(self) -> Optional['outputs.ClusterPersistenceConfigRdbConfig']:
510
+ """
511
+ RDB configuration. This field will be ignored if mode is not RDB.
512
+ Structure is documented below.
513
+ """
514
+ return pulumi.get(self, "rdb_config")
515
+
516
+
517
+ @pulumi.output_type
518
+ class ClusterPersistenceConfigAofConfig(dict):
519
+ @staticmethod
520
+ def __key_warning(key: str):
521
+ suggest = None
522
+ if key == "appendFsync":
523
+ suggest = "append_fsync"
524
+
525
+ if suggest:
526
+ pulumi.log.warn(f"Key '{key}' not found in ClusterPersistenceConfigAofConfig. Access the value via the '{suggest}' property getter instead.")
527
+
528
+ def __getitem__(self, key: str) -> Any:
529
+ ClusterPersistenceConfigAofConfig.__key_warning(key)
530
+ return super().__getitem__(key)
531
+
532
+ def get(self, key: str, default = None) -> Any:
533
+ ClusterPersistenceConfigAofConfig.__key_warning(key)
534
+ return super().get(key, default)
535
+
536
+ def __init__(__self__, *,
537
+ append_fsync: Optional[str] = None):
538
+ """
539
+ :param str append_fsync: Optional. Available fsync modes.
540
+ - NO - Do not explicilty call fsync(). Rely on OS defaults.
541
+ - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
542
+ - ALWAYS - Call fsync() for earch write command.
543
+ Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
544
+ """
545
+ if append_fsync is not None:
546
+ pulumi.set(__self__, "append_fsync", append_fsync)
547
+
548
+ @property
549
+ @pulumi.getter(name="appendFsync")
550
+ def append_fsync(self) -> Optional[str]:
551
+ """
552
+ Optional. Available fsync modes.
553
+ - NO - Do not explicilty call fsync(). Rely on OS defaults.
554
+ - EVERYSEC - Call fsync() once per second in a background thread. A balance between performance and durability.
555
+ - ALWAYS - Call fsync() for earch write command.
556
+ Possible values are: `APPEND_FSYNC_UNSPECIFIED`, `NO`, `EVERYSEC`, `ALWAYS`.
557
+ """
558
+ return pulumi.get(self, "append_fsync")
559
+
560
+
561
+ @pulumi.output_type
562
+ class ClusterPersistenceConfigRdbConfig(dict):
563
+ @staticmethod
564
+ def __key_warning(key: str):
565
+ suggest = None
566
+ if key == "rdbSnapshotPeriod":
567
+ suggest = "rdb_snapshot_period"
568
+ elif key == "rdbSnapshotStartTime":
569
+ suggest = "rdb_snapshot_start_time"
570
+
571
+ if suggest:
572
+ pulumi.log.warn(f"Key '{key}' not found in ClusterPersistenceConfigRdbConfig. Access the value via the '{suggest}' property getter instead.")
573
+
574
+ def __getitem__(self, key: str) -> Any:
575
+ ClusterPersistenceConfigRdbConfig.__key_warning(key)
576
+ return super().__getitem__(key)
577
+
578
+ def get(self, key: str, default = None) -> Any:
579
+ ClusterPersistenceConfigRdbConfig.__key_warning(key)
580
+ return super().get(key, default)
581
+
582
+ def __init__(__self__, *,
583
+ rdb_snapshot_period: Optional[str] = None,
584
+ rdb_snapshot_start_time: Optional[str] = None):
585
+ """
586
+ :param str rdb_snapshot_period: Optional. Available snapshot periods for scheduling.
587
+ - ONE_HOUR: Snapshot every 1 hour.
588
+ - SIX_HOURS: Snapshot every 6 hours.
589
+ - TWELVE_HOURS: Snapshot every 12 hours.
590
+ - TWENTY_FOUR_HOURS: Snapshot every 24 hours.
591
+ Possible values are: `SNAPSHOT_PERIOD_UNSPECIFIED`, `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
592
+ :param str rdb_snapshot_start_time: The time that the first snapshot was/will be attempted, and to which
593
+ future snapshots will be aligned.
594
+ If not provided, the current time will be used.
595
+ """
596
+ if rdb_snapshot_period is not None:
597
+ pulumi.set(__self__, "rdb_snapshot_period", rdb_snapshot_period)
598
+ if rdb_snapshot_start_time is not None:
599
+ pulumi.set(__self__, "rdb_snapshot_start_time", rdb_snapshot_start_time)
600
+
601
+ @property
602
+ @pulumi.getter(name="rdbSnapshotPeriod")
603
+ def rdb_snapshot_period(self) -> Optional[str]:
604
+ """
605
+ Optional. Available snapshot periods for scheduling.
606
+ - ONE_HOUR: Snapshot every 1 hour.
607
+ - SIX_HOURS: Snapshot every 6 hours.
608
+ - TWELVE_HOURS: Snapshot every 12 hours.
609
+ - TWENTY_FOUR_HOURS: Snapshot every 24 hours.
610
+ Possible values are: `SNAPSHOT_PERIOD_UNSPECIFIED`, `ONE_HOUR`, `SIX_HOURS`, `TWELVE_HOURS`, `TWENTY_FOUR_HOURS`.
611
+ """
612
+ return pulumi.get(self, "rdb_snapshot_period")
613
+
614
+ @property
615
+ @pulumi.getter(name="rdbSnapshotStartTime")
616
+ def rdb_snapshot_start_time(self) -> Optional[str]:
617
+ """
618
+ The time that the first snapshot was/will be attempted, and to which
619
+ future snapshots will be aligned.
620
+ If not provided, the current time will be used.
621
+ """
622
+ return pulumi.get(self, "rdb_snapshot_start_time")
623
+
624
+
440
625
  @pulumi.output_type
441
626
  class ClusterPscConfig(dict):
442
627
  def __init__(__self__, *,
@@ -109,7 +109,7 @@ def get_config(name: Optional[str] = None,
109
109
  project=pulumi.get(__ret__, 'project'))
110
110
  def get_config_output(name: Optional[pulumi.Input[str]] = None,
111
111
  project: Optional[pulumi.Input[Optional[str]]] = None,
112
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigResult]:
112
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigResult]:
113
113
  """
114
114
  ## Example Usage
115
115
 
@@ -130,7 +130,7 @@ def get_config_output(name: Optional[pulumi.Input[str]] = None,
130
130
  __args__ = dict()
131
131
  __args__['name'] = name
132
132
  __args__['project'] = project
133
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
133
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
134
134
  __ret__ = pulumi.runtime.invoke_output('gcp:runtimeconfig/getConfig:getConfig', __args__, opts=opts, typ=GetConfigResult)
135
135
  return __ret__.apply(lambda __response__: GetConfigResult(
136
136
  description=pulumi.get(__response__, 'description'),
@@ -116,7 +116,7 @@ def get_config_iam_policy(config: Optional[str] = None,
116
116
  project=pulumi.get(__ret__, 'project'))
117
117
  def get_config_iam_policy_output(config: Optional[pulumi.Input[str]] = None,
118
118
  project: Optional[pulumi.Input[Optional[str]]] = None,
119
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetConfigIamPolicyResult]:
119
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConfigIamPolicyResult]:
120
120
  """
121
121
  Use this data source to access information about an existing resource.
122
122
 
@@ -127,7 +127,7 @@ def get_config_iam_policy_output(config: Optional[pulumi.Input[str]] = None,
127
127
  __args__ = dict()
128
128
  __args__['config'] = config
129
129
  __args__['project'] = project
130
- opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
130
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
131
131
  __ret__ = pulumi.runtime.invoke_output('gcp:runtimeconfig/getConfigIamPolicy:getConfigIamPolicy', __args__, opts=opts, typ=GetConfigIamPolicyResult)
132
132
  return __ret__.apply(lambda __response__: GetConfigIamPolicyResult(
133
133
  config=pulumi.get(__response__, 'config'),