pulumi-gcp 8.20.0a1739946722__py3-none-any.whl → 8.20.1a1741108673__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 (228) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +168 -8
  3. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  4. pulumi_gcp/accesscontextmanager/outputs.py +104 -8
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +78 -3
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +78 -3
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +78 -3
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +78 -3
  9. pulumi_gcp/alloydb/__init__.py +2 -0
  10. pulumi_gcp/alloydb/get_cluster.py +491 -0
  11. pulumi_gcp/alloydb/get_instance.py +466 -0
  12. pulumi_gcp/alloydb/outputs.py +1160 -0
  13. pulumi_gcp/apigateway/get_api_config_iam_policy.py +20 -2
  14. pulumi_gcp/apigateway/get_api_iam_policy.py +20 -2
  15. pulumi_gcp/apigateway/get_gateway_iam_policy.py +22 -2
  16. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  17. pulumi_gcp/appengine/_inputs.py +3 -3
  18. pulumi_gcp/appengine/outputs.py +2 -2
  19. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  20. pulumi_gcp/backupdisasterrecovery/backup_plan.py +16 -0
  21. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +16 -0
  22. pulumi_gcp/backupdisasterrecovery/management_server.py +16 -0
  23. pulumi_gcp/beyondcorp/get_application_iam_policy.py +2 -2
  24. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +2 -2
  25. pulumi_gcp/bigquery/_inputs.py +6 -8
  26. pulumi_gcp/bigquery/connection.py +2 -14
  27. pulumi_gcp/bigquery/data_transfer_config.py +28 -0
  28. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  29. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  30. pulumi_gcp/bigquery/outputs.py +4 -5
  31. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +8 -8
  32. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +8 -8
  33. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +8 -8
  34. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  35. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  36. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +8 -8
  37. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +8 -8
  38. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +8 -8
  39. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  40. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  41. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  42. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  43. pulumi_gcp/chronicle/rule_deployment.py +21 -7
  44. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  45. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  46. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  47. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  48. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  49. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  50. pulumi_gcp/cloudrun/_inputs.py +6 -3
  51. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  52. pulumi_gcp/cloudrun/outputs.py +4 -2
  53. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  54. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  55. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  56. pulumi_gcp/colab/get_runtime_template_iam_policy.py +2 -2
  57. pulumi_gcp/composer/_inputs.py +6 -6
  58. pulumi_gcp/composer/get_environment.py +12 -0
  59. pulumi_gcp/composer/get_image_versions.py +12 -0
  60. pulumi_gcp/composer/get_user_workloads_config_map.py +12 -0
  61. pulumi_gcp/composer/get_user_workloads_secret.py +12 -0
  62. pulumi_gcp/composer/outputs.py +8 -8
  63. pulumi_gcp/compute/_inputs.py +756 -30
  64. pulumi_gcp/compute/firewall_policy_rule.py +0 -2
  65. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +20 -2
  66. pulumi_gcp/compute/get_backend_service_iam_policy.py +20 -2
  67. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  68. pulumi_gcp/compute/get_hc_vpn_gateway.py +45 -1
  69. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  70. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  71. pulumi_gcp/compute/get_instance_template_iam_policy.py +2 -2
  72. pulumi_gcp/compute/get_machine_image_iam_policy.py +20 -2
  73. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +22 -2
  74. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  75. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  76. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  77. pulumi_gcp/compute/ha_vpn_gateway.py +189 -2
  78. pulumi_gcp/compute/instance_template.py +14 -35
  79. pulumi_gcp/compute/network_peering_routes_config.py +140 -6
  80. pulumi_gcp/compute/outputs.py +796 -18
  81. pulumi_gcp/config/__init__.pyi +2 -0
  82. pulumi_gcp/config/vars.py +4 -0
  83. pulumi_gcp/container/_inputs.py +447 -3
  84. pulumi_gcp/container/outputs.py +469 -5
  85. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  86. pulumi_gcp/datacatalog/entry_group.py +4 -0
  87. pulumi_gcp/datacatalog/entry_group_iam_binding.py +8 -8
  88. pulumi_gcp/datacatalog/entry_group_iam_member.py +8 -8
  89. pulumi_gcp/datacatalog/entry_group_iam_policy.py +8 -8
  90. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  91. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  92. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  93. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  94. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +8 -8
  95. pulumi_gcp/datacatalog/policy_tag_iam_member.py +8 -8
  96. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +8 -8
  97. pulumi_gcp/datacatalog/tag_template.py +4 -0
  98. pulumi_gcp/datacatalog/tag_template_iam_binding.py +8 -8
  99. pulumi_gcp/datacatalog/tag_template_iam_member.py +8 -8
  100. pulumi_gcp/datacatalog/tag_template_iam_policy.py +8 -8
  101. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +8 -8
  102. pulumi_gcp/datacatalog/taxonomy_iam_member.py +8 -8
  103. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +8 -8
  104. pulumi_gcp/dataform/get_repository_iam_policy.py +22 -2
  105. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  106. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  107. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  108. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  109. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  110. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  111. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  112. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  113. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  114. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  115. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  116. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  117. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +8 -8
  118. pulumi_gcp/dataproc/metastore_federation_iam_member.py +8 -8
  119. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +8 -8
  120. pulumi_gcp/dataproc/metastore_service.py +27 -28
  121. pulumi_gcp/dataproc/metastore_service_iam_binding.py +8 -8
  122. pulumi_gcp/dataproc/metastore_service_iam_member.py +8 -8
  123. pulumi_gcp/dataproc/metastore_service_iam_policy.py +8 -8
  124. pulumi_gcp/developerconnect/_inputs.py +575 -0
  125. pulumi_gcp/developerconnect/connection.py +200 -0
  126. pulumi_gcp/developerconnect/git_repository_link.py +12 -0
  127. pulumi_gcp/developerconnect/outputs.py +461 -0
  128. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  129. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  130. pulumi_gcp/eventarc/_inputs.py +29 -8
  131. pulumi_gcp/eventarc/google_channel_config.py +58 -46
  132. pulumi_gcp/eventarc/outputs.py +20 -6
  133. pulumi_gcp/eventarc/trigger.py +95 -72
  134. pulumi_gcp/filestore/backup.py +4 -4
  135. pulumi_gcp/firebase/__init__.py +1 -0
  136. pulumi_gcp/firebase/data_connect_service.py +937 -0
  137. pulumi_gcp/gemini/__init__.py +5 -0
  138. pulumi_gcp/gemini/data_sharing_with_google_setting.py +613 -0
  139. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +722 -0
  140. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +608 -0
  141. pulumi_gcp/gemini/get_repository_group_iam_policy.py +2 -2
  142. pulumi_gcp/gemini/logging_setting.py +42 -50
  143. pulumi_gcp/gemini/logging_setting_binding.py +734 -0
  144. pulumi_gcp/gemini/release_channel_setting.py +39 -43
  145. pulumi_gcp/gemini/release_channel_setting_binding.py +734 -0
  146. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  147. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  148. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  149. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  150. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  151. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  152. pulumi_gcp/iam/organizations_policy_binding.py +10 -2
  153. pulumi_gcp/iam/projects_policy_binding.py +10 -2
  154. pulumi_gcp/iam/workforce_pool_provider.py +63 -11
  155. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  156. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  157. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  158. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  159. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  160. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  161. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  162. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  163. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  164. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  165. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  166. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  167. pulumi_gcp/monitoring/_inputs.py +588 -0
  168. pulumi_gcp/monitoring/outputs.py +410 -0
  169. pulumi_gcp/netapp/__init__.py +1 -0
  170. pulumi_gcp/netapp/volume_quota_rule.py +895 -0
  171. pulumi_gcp/networksecurity/address_group_iam_binding.py +4 -4
  172. pulumi_gcp/networksecurity/address_group_iam_member.py +4 -4
  173. pulumi_gcp/networksecurity/address_group_iam_policy.py +4 -4
  174. pulumi_gcp/networkservices/authz_extension.py +8 -15
  175. pulumi_gcp/networkservices/mesh.py +79 -12
  176. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  177. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  178. pulumi_gcp/parametermanager/get_parameter_version_render.py +3 -0
  179. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +3 -0
  180. pulumi_gcp/projects/__init__.py +1 -0
  181. pulumi_gcp/projects/get_ancestry.py +150 -0
  182. pulumi_gcp/projects/outputs.py +30 -0
  183. pulumi_gcp/provider.py +20 -0
  184. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  185. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  186. pulumi_gcp/pulumi-plugin.json +1 -1
  187. pulumi_gcp/redis/cluster.py +211 -94
  188. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +20 -2
  189. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  190. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  191. pulumi_gcp/secretmanager/secret_version.py +73 -23
  192. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  193. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  194. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  195. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  196. pulumi_gcp/securitycenter/mute_config.py +136 -3
  197. pulumi_gcp/securitycenter/v2_folder_notification_config.py +2 -14
  198. pulumi_gcp/securitycenter/v2_organization_notification_config.py +2 -14
  199. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +8 -8
  200. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +8 -8
  201. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +8 -8
  202. pulumi_gcp/securitycenter/v2_project_notification_config.py +2 -14
  203. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +18 -2
  204. pulumi_gcp/servicedirectory/get_service_iam_policy.py +18 -2
  205. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  206. pulumi_gcp/spanner/__init__.py +1 -0
  207. pulumi_gcp/spanner/instance.py +0 -46
  208. pulumi_gcp/spanner/instance_partition.py +658 -0
  209. pulumi_gcp/sql/_inputs.py +6 -6
  210. pulumi_gcp/sql/outputs.py +4 -4
  211. pulumi_gcp/sql/user.py +20 -14
  212. pulumi_gcp/storage/bucket.py +30 -0
  213. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  214. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  215. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  216. pulumi_gcp/tpu/_inputs.py +150 -1
  217. pulumi_gcp/tpu/outputs.py +114 -1
  218. pulumi_gcp/tpu/v2_queued_resource.py +74 -0
  219. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +22 -2
  220. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +20 -2
  221. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +22 -2
  222. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  223. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +24 -2
  224. pulumi_gcp/workstations/get_workstation_iam_policy.py +26 -2
  225. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/METADATA +1 -1
  226. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/RECORD +228 -217
  227. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/WHEEL +1 -1
  228. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.20.1a1741108673.dist-info}/top_level.txt +0 -0
pulumi_gcp/sql/_inputs.py CHANGED
@@ -1437,7 +1437,7 @@ if not MYPY:
1437
1437
  """
1438
1438
  point_in_time_recovery_enabled: NotRequired[pulumi.Input[bool]]
1439
1439
  """
1440
- True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances.
1440
+ True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances. Enabled by default for PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances.
1441
1441
  """
1442
1442
  start_time: NotRequired[pulumi.Input[str]]
1443
1443
  """
@@ -1446,7 +1446,7 @@ if not MYPY:
1446
1446
  """
1447
1447
  transaction_log_retention_days: NotRequired[pulumi.Input[int]]
1448
1448
  """
1449
- The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1449
+ The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1450
1450
  """
1451
1451
  elif False:
1452
1452
  DatabaseInstanceSettingsBackupConfigurationArgsDict: TypeAlias = Mapping[str, Any]
@@ -1467,10 +1467,10 @@ class DatabaseInstanceSettingsBackupConfigurationArgs:
1467
1467
  Can only be used with MySQL.
1468
1468
  :param pulumi.Input[bool] enabled: True if backup configuration is enabled.
1469
1469
  :param pulumi.Input[str] location: The region where the backup will be stored
1470
- :param pulumi.Input[bool] point_in_time_recovery_enabled: True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances.
1470
+ :param pulumi.Input[bool] point_in_time_recovery_enabled: True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances. Enabled by default for PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances.
1471
1471
  :param pulumi.Input[str] start_time: `HH:MM` format time indicating when backup
1472
1472
  configuration starts.
1473
- :param pulumi.Input[int] transaction_log_retention_days: The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1473
+ :param pulumi.Input[int] transaction_log_retention_days: The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1474
1474
  """
1475
1475
  if backup_retention_settings is not None:
1476
1476
  pulumi.set(__self__, "backup_retention_settings", backup_retention_settings)
@@ -1540,7 +1540,7 @@ class DatabaseInstanceSettingsBackupConfigurationArgs:
1540
1540
  @pulumi.getter(name="pointInTimeRecoveryEnabled")
1541
1541
  def point_in_time_recovery_enabled(self) -> Optional[pulumi.Input[bool]]:
1542
1542
  """
1543
- True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances.
1543
+ True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances. Enabled by default for PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances.
1544
1544
  """
1545
1545
  return pulumi.get(self, "point_in_time_recovery_enabled")
1546
1546
 
@@ -1565,7 +1565,7 @@ class DatabaseInstanceSettingsBackupConfigurationArgs:
1565
1565
  @pulumi.getter(name="transactionLogRetentionDays")
1566
1566
  def transaction_log_retention_days(self) -> Optional[pulumi.Input[int]]:
1567
1567
  """
1568
- The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1568
+ The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1569
1569
  """
1570
1570
  return pulumi.get(self, "transaction_log_retention_days")
1571
1571
 
pulumi_gcp/sql/outputs.py CHANGED
@@ -1168,10 +1168,10 @@ class DatabaseInstanceSettingsBackupConfiguration(dict):
1168
1168
  Can only be used with MySQL.
1169
1169
  :param bool enabled: True if backup configuration is enabled.
1170
1170
  :param str location: The region where the backup will be stored
1171
- :param bool point_in_time_recovery_enabled: True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances.
1171
+ :param bool point_in_time_recovery_enabled: True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances. Enabled by default for PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances.
1172
1172
  :param str start_time: `HH:MM` format time indicating when backup
1173
1173
  configuration starts.
1174
- :param int transaction_log_retention_days: The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1174
+ :param int transaction_log_retention_days: The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1175
1175
  """
1176
1176
  if backup_retention_settings is not None:
1177
1177
  pulumi.set(__self__, "backup_retention_settings", backup_retention_settings)
@@ -1225,7 +1225,7 @@ class DatabaseInstanceSettingsBackupConfiguration(dict):
1225
1225
  @pulumi.getter(name="pointInTimeRecoveryEnabled")
1226
1226
  def point_in_time_recovery_enabled(self) -> Optional[bool]:
1227
1227
  """
1228
- True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances.
1228
+ True if Point-in-time recovery is enabled. Will restart database if enabled after instance creation. Valid only for PostgreSQL and SQL Server instances. Enabled by default for PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances.
1229
1229
  """
1230
1230
  return pulumi.get(self, "point_in_time_recovery_enabled")
1231
1231
 
@@ -1242,7 +1242,7 @@ class DatabaseInstanceSettingsBackupConfiguration(dict):
1242
1242
  @pulumi.getter(name="transactionLogRetentionDays")
1243
1243
  def transaction_log_retention_days(self) -> Optional[int]:
1244
1244
  """
1245
- The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1245
+ The number of days of transaction logs we retain for point in time restore, from 1-7. For PostgreSQL Enterprise Plus and SQL Server Enterprise Plus instances, the number of days of retained transaction logs can be set from 1 to 35.
1246
1246
  """
1247
1247
  return pulumi.get(self, "transaction_log_retention_days")
1248
1248
 
pulumi_gcp/sql/user.py CHANGED
@@ -38,8 +38,6 @@ class UserArgs:
38
38
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
39
39
 
40
40
  Possible values are: `ABANDON`.
41
-
42
- - - -
43
41
  :param pulumi.Input[str] host: The host the user can connect from. This is only supported
44
42
  for BUILT_IN users in MySQL instances. Don't set this field for PostgreSQL and SQL Server instances.
45
43
  Can be an IP address. Changing this forces a new resource to be created.
@@ -96,8 +94,6 @@ class UserArgs:
96
94
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
97
95
 
98
96
  Possible values are: `ABANDON`.
99
-
100
- - - -
101
97
  """
102
98
  return pulumi.get(self, "deletion_policy")
103
99
 
@@ -206,8 +202,6 @@ class _UserState:
206
202
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
207
203
 
208
204
  Possible values are: `ABANDON`.
209
-
210
- - - -
211
205
  :param pulumi.Input[str] host: The host the user can connect from. This is only supported
212
206
  for BUILT_IN users in MySQL instances. Don't set this field for PostgreSQL and SQL Server instances.
213
207
  Can be an IP address. Changing this forces a new resource to be created.
@@ -256,8 +250,6 @@ class _UserState:
256
250
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
257
251
 
258
252
  Possible values are: `ABANDON`.
259
-
260
- - - -
261
253
  """
262
254
  return pulumi.get(self, "deletion_policy")
263
255
 
@@ -463,6 +455,16 @@ class User(pulumi.CustomResource):
463
455
  type="CLOUD_IAM_GROUP")
464
456
  ```
465
457
 
458
+ ## Ephemeral Attributes Reference
459
+
460
+ The following write-only attributes are supported:
461
+
462
+ * `password_wo` - (Optional) The password for the user. Can be updated. For Postgres
463
+ instances this is a Required field, unless type is set to either CLOUD_IAM_USER
464
+ or CLOUD_IAM_SERVICE_ACCOUNT. Don't set this field for CLOUD_IAM_USER
465
+ and CLOUD_IAM_SERVICE_ACCOUNT user types for any Cloud SQL instance.
466
+ **Note**: This property is write-only and will not be read from the API.
467
+
466
468
  ## Import
467
469
 
468
470
  SQL users for MySQL databases can be imported using the `project`, `instance`, `host` and `name`, e.g.
@@ -494,8 +496,6 @@ class User(pulumi.CustomResource):
494
496
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
495
497
 
496
498
  Possible values are: `ABANDON`.
497
-
498
- - - -
499
499
  :param pulumi.Input[str] host: The host the user can connect from. This is only supported
500
500
  for BUILT_IN users in MySQL instances. Don't set this field for PostgreSQL and SQL Server instances.
501
501
  Can be an IP address. Changing this forces a new resource to be created.
@@ -602,6 +602,16 @@ class User(pulumi.CustomResource):
602
602
  type="CLOUD_IAM_GROUP")
603
603
  ```
604
604
 
605
+ ## Ephemeral Attributes Reference
606
+
607
+ The following write-only attributes are supported:
608
+
609
+ * `password_wo` - (Optional) The password for the user. Can be updated. For Postgres
610
+ instances this is a Required field, unless type is set to either CLOUD_IAM_USER
611
+ or CLOUD_IAM_SERVICE_ACCOUNT. Don't set this field for CLOUD_IAM_USER
612
+ and CLOUD_IAM_SERVICE_ACCOUNT user types for any Cloud SQL instance.
613
+ **Note**: This property is write-only and will not be read from the API.
614
+
605
615
  ## Import
606
616
 
607
617
  SQL users for MySQL databases can be imported using the `project`, `instance`, `host` and `name`, e.g.
@@ -702,8 +712,6 @@ class User(pulumi.CustomResource):
702
712
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
703
713
 
704
714
  Possible values are: `ABANDON`.
705
-
706
- - - -
707
715
  :param pulumi.Input[str] host: The host the user can connect from. This is only supported
708
716
  for BUILT_IN users in MySQL instances. Don't set this field for PostgreSQL and SQL Server instances.
709
717
  Can be an IP address. Changing this forces a new resource to be created.
@@ -748,8 +756,6 @@ class User(pulumi.CustomResource):
748
756
  for Postgres, where users cannot be deleted from the API if they have been granted SQL roles.
749
757
 
750
758
  Possible values are: `ABANDON`.
751
-
752
- - - -
753
759
  """
754
760
  return pulumi.get(self, "deletion_policy")
755
761
 
@@ -1006,6 +1006,21 @@ class Bucket(pulumi.CustomResource):
1006
1006
  public_access_prevention="enforced")
1007
1007
  ```
1008
1008
 
1009
+ ### Enabling Hierarchical Namespace
1010
+
1011
+ ```python
1012
+ import pulumi
1013
+ import pulumi_gcp as gcp
1014
+
1015
+ auto_expire = gcp.storage.Bucket("auto-expire",
1016
+ name="hns-enabled-bucket",
1017
+ location="US",
1018
+ force_destroy=True,
1019
+ hierarchical_namespace={
1020
+ "enabled": True,
1021
+ })
1022
+ ```
1023
+
1009
1024
  ## Import
1010
1025
 
1011
1026
  Storage buckets can be imported using the `name` or `project/name`. If the project is not
@@ -1182,6 +1197,21 @@ class Bucket(pulumi.CustomResource):
1182
1197
  public_access_prevention="enforced")
1183
1198
  ```
1184
1199
 
1200
+ ### Enabling Hierarchical Namespace
1201
+
1202
+ ```python
1203
+ import pulumi
1204
+ import pulumi_gcp as gcp
1205
+
1206
+ auto_expire = gcp.storage.Bucket("auto-expire",
1207
+ name="hns-enabled-bucket",
1208
+ location="US",
1209
+ force_destroy=True,
1210
+ hierarchical_namespace={
1211
+ "enabled": True,
1212
+ })
1213
+ ```
1214
+
1185
1215
  ## Import
1186
1216
 
1187
1217
  Storage buckets can be imported using the `name` or `project/name`. If the project is not
@@ -88,7 +88,7 @@ def get_bucket_iam_policy(bucket: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for bucket
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -115,7 +115,7 @@ def get_bucket_iam_policy_output(bucket: Optional[pulumi.Input[str]] = None,
115
115
  """
116
116
  Retrieves the current IAM policy data for bucket
117
117
 
118
- ## example
118
+ ## Example Usage
119
119
 
120
120
  ```python
121
121
  import pulumi
@@ -88,7 +88,7 @@ def get_tag_key_iam_policy(tag_key: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for tagkey
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -115,7 +115,7 @@ def get_tag_key_iam_policy_output(tag_key: Optional[pulumi.Input[str]] = None,
115
115
  """
116
116
  Retrieves the current IAM policy data for tagkey
117
117
 
118
- ## example
118
+ ## Example Usage
119
119
 
120
120
  ```python
121
121
  import pulumi
@@ -88,7 +88,7 @@ def get_tag_value_iam_policy(tag_value: Optional[str] = None,
88
88
  """
89
89
  Retrieves the current IAM policy data for tagvalue
90
90
 
91
- ## example
91
+ ## Example Usage
92
92
 
93
93
  ```python
94
94
  import pulumi
@@ -115,7 +115,7 @@ def get_tag_value_iam_policy_output(tag_value: Optional[pulumi.Input[str]] = Non
115
115
  """
116
116
  Retrieves the current IAM policy data for tagvalue
117
117
 
118
- ## example
118
+ ## Example Usage
119
119
 
120
120
  ```python
121
121
  import pulumi
pulumi_gcp/tpu/_inputs.py CHANGED
@@ -25,6 +25,8 @@ __all__ = [
25
25
  'V2QueuedResourceTpuNodeSpecArgsDict',
26
26
  'V2QueuedResourceTpuNodeSpecNodeArgs',
27
27
  'V2QueuedResourceTpuNodeSpecNodeArgsDict',
28
+ 'V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs',
29
+ 'V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgsDict',
28
30
  'V2VmAcceleratorConfigArgs',
29
31
  'V2VmAcceleratorConfigArgsDict',
30
32
  'V2VmDataDiskArgs',
@@ -258,6 +260,11 @@ if not MYPY:
258
260
  """
259
261
  Text description of the TPU.
260
262
  """
263
+ network_config: NotRequired[pulumi.Input['V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgsDict']]
264
+ """
265
+ Network configurations for the TPU node.
266
+ Structure is documented below.
267
+ """
261
268
  elif False:
262
269
  V2QueuedResourceTpuNodeSpecNodeArgsDict: TypeAlias = Mapping[str, Any]
263
270
 
@@ -266,17 +273,22 @@ class V2QueuedResourceTpuNodeSpecNodeArgs:
266
273
  def __init__(__self__, *,
267
274
  runtime_version: pulumi.Input[str],
268
275
  accelerator_type: Optional[pulumi.Input[str]] = None,
269
- description: Optional[pulumi.Input[str]] = None):
276
+ description: Optional[pulumi.Input[str]] = None,
277
+ network_config: Optional[pulumi.Input['V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs']] = None):
270
278
  """
271
279
  :param pulumi.Input[str] runtime_version: Runtime version for the TPU.
272
280
  :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
273
281
  :param pulumi.Input[str] description: Text description of the TPU.
282
+ :param pulumi.Input['V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs'] network_config: Network configurations for the TPU node.
283
+ Structure is documented below.
274
284
  """
275
285
  pulumi.set(__self__, "runtime_version", runtime_version)
276
286
  if accelerator_type is not None:
277
287
  pulumi.set(__self__, "accelerator_type", accelerator_type)
278
288
  if description is not None:
279
289
  pulumi.set(__self__, "description", description)
290
+ if network_config is not None:
291
+ pulumi.set(__self__, "network_config", network_config)
280
292
 
281
293
  @property
282
294
  @pulumi.getter(name="runtimeVersion")
@@ -314,6 +326,143 @@ class V2QueuedResourceTpuNodeSpecNodeArgs:
314
326
  def description(self, value: Optional[pulumi.Input[str]]):
315
327
  pulumi.set(self, "description", value)
316
328
 
329
+ @property
330
+ @pulumi.getter(name="networkConfig")
331
+ def network_config(self) -> Optional[pulumi.Input['V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs']]:
332
+ """
333
+ Network configurations for the TPU node.
334
+ Structure is documented below.
335
+ """
336
+ return pulumi.get(self, "network_config")
337
+
338
+ @network_config.setter
339
+ def network_config(self, value: Optional[pulumi.Input['V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs']]):
340
+ pulumi.set(self, "network_config", value)
341
+
342
+
343
+ if not MYPY:
344
+ class V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgsDict(TypedDict):
345
+ can_ip_forward: NotRequired[pulumi.Input[bool]]
346
+ """
347
+ Allows the TPU node to send and receive packets with non-matching destination or source
348
+ IPs. This is required if you plan to use the TPU workers to forward routes.
349
+ """
350
+ enable_external_ips: NotRequired[pulumi.Input[bool]]
351
+ """
352
+ Indicates that external IP addresses would be associated with the TPU workers. If set to
353
+ false, the specified subnetwork or network should have Private Google Access enabled.
354
+ """
355
+ network: NotRequired[pulumi.Input[str]]
356
+ """
357
+ The name of the network for the TPU node. It must be a preexisting Google Compute Engine
358
+ network. If none is provided, "default" will be used.
359
+ """
360
+ queue_count: NotRequired[pulumi.Input[int]]
361
+ """
362
+ Specifies networking queue count for TPU VM instance's network interface.
363
+ """
364
+ subnetwork: NotRequired[pulumi.Input[str]]
365
+ """
366
+ The name of the subnetwork for the TPU node. It must be a preexisting Google Compute
367
+ Engine subnetwork. If none is provided, "default" will be used.
368
+ """
369
+ elif False:
370
+ V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgsDict: TypeAlias = Mapping[str, Any]
371
+
372
+ @pulumi.input_type
373
+ class V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs:
374
+ def __init__(__self__, *,
375
+ can_ip_forward: Optional[pulumi.Input[bool]] = None,
376
+ enable_external_ips: Optional[pulumi.Input[bool]] = None,
377
+ network: Optional[pulumi.Input[str]] = None,
378
+ queue_count: Optional[pulumi.Input[int]] = None,
379
+ subnetwork: Optional[pulumi.Input[str]] = None):
380
+ """
381
+ :param pulumi.Input[bool] can_ip_forward: Allows the TPU node to send and receive packets with non-matching destination or source
382
+ IPs. This is required if you plan to use the TPU workers to forward routes.
383
+ :param pulumi.Input[bool] enable_external_ips: Indicates that external IP addresses would be associated with the TPU workers. If set to
384
+ false, the specified subnetwork or network should have Private Google Access enabled.
385
+ :param pulumi.Input[str] network: The name of the network for the TPU node. It must be a preexisting Google Compute Engine
386
+ network. If none is provided, "default" will be used.
387
+ :param pulumi.Input[int] queue_count: Specifies networking queue count for TPU VM instance's network interface.
388
+ :param pulumi.Input[str] subnetwork: The name of the subnetwork for the TPU node. It must be a preexisting Google Compute
389
+ Engine subnetwork. If none is provided, "default" will be used.
390
+ """
391
+ if can_ip_forward is not None:
392
+ pulumi.set(__self__, "can_ip_forward", can_ip_forward)
393
+ if enable_external_ips is not None:
394
+ pulumi.set(__self__, "enable_external_ips", enable_external_ips)
395
+ if network is not None:
396
+ pulumi.set(__self__, "network", network)
397
+ if queue_count is not None:
398
+ pulumi.set(__self__, "queue_count", queue_count)
399
+ if subnetwork is not None:
400
+ pulumi.set(__self__, "subnetwork", subnetwork)
401
+
402
+ @property
403
+ @pulumi.getter(name="canIpForward")
404
+ def can_ip_forward(self) -> Optional[pulumi.Input[bool]]:
405
+ """
406
+ Allows the TPU node to send and receive packets with non-matching destination or source
407
+ IPs. This is required if you plan to use the TPU workers to forward routes.
408
+ """
409
+ return pulumi.get(self, "can_ip_forward")
410
+
411
+ @can_ip_forward.setter
412
+ def can_ip_forward(self, value: Optional[pulumi.Input[bool]]):
413
+ pulumi.set(self, "can_ip_forward", value)
414
+
415
+ @property
416
+ @pulumi.getter(name="enableExternalIps")
417
+ def enable_external_ips(self) -> Optional[pulumi.Input[bool]]:
418
+ """
419
+ Indicates that external IP addresses would be associated with the TPU workers. If set to
420
+ false, the specified subnetwork or network should have Private Google Access enabled.
421
+ """
422
+ return pulumi.get(self, "enable_external_ips")
423
+
424
+ @enable_external_ips.setter
425
+ def enable_external_ips(self, value: Optional[pulumi.Input[bool]]):
426
+ pulumi.set(self, "enable_external_ips", value)
427
+
428
+ @property
429
+ @pulumi.getter
430
+ def network(self) -> Optional[pulumi.Input[str]]:
431
+ """
432
+ The name of the network for the TPU node. It must be a preexisting Google Compute Engine
433
+ network. If none is provided, "default" will be used.
434
+ """
435
+ return pulumi.get(self, "network")
436
+
437
+ @network.setter
438
+ def network(self, value: Optional[pulumi.Input[str]]):
439
+ pulumi.set(self, "network", value)
440
+
441
+ @property
442
+ @pulumi.getter(name="queueCount")
443
+ def queue_count(self) -> Optional[pulumi.Input[int]]:
444
+ """
445
+ Specifies networking queue count for TPU VM instance's network interface.
446
+ """
447
+ return pulumi.get(self, "queue_count")
448
+
449
+ @queue_count.setter
450
+ def queue_count(self, value: Optional[pulumi.Input[int]]):
451
+ pulumi.set(self, "queue_count", value)
452
+
453
+ @property
454
+ @pulumi.getter
455
+ def subnetwork(self) -> Optional[pulumi.Input[str]]:
456
+ """
457
+ The name of the subnetwork for the TPU node. It must be a preexisting Google Compute
458
+ Engine subnetwork. If none is provided, "default" will be used.
459
+ """
460
+ return pulumi.get(self, "subnetwork")
461
+
462
+ @subnetwork.setter
463
+ def subnetwork(self, value: Optional[pulumi.Input[str]]):
464
+ pulumi.set(self, "subnetwork", value)
465
+
317
466
 
318
467
  if not MYPY:
319
468
  class V2VmAcceleratorConfigArgsDict(TypedDict):
pulumi_gcp/tpu/outputs.py CHANGED
@@ -21,6 +21,7 @@ __all__ = [
21
21
  'V2QueuedResourceTpu',
22
22
  'V2QueuedResourceTpuNodeSpec',
23
23
  'V2QueuedResourceTpuNodeSpecNode',
24
+ 'V2QueuedResourceTpuNodeSpecNodeNetworkConfig',
24
25
  'V2VmAcceleratorConfig',
25
26
  'V2VmDataDisk',
26
27
  'V2VmNetworkConfig',
@@ -209,6 +210,8 @@ class V2QueuedResourceTpuNodeSpecNode(dict):
209
210
  suggest = "runtime_version"
210
211
  elif key == "acceleratorType":
211
212
  suggest = "accelerator_type"
213
+ elif key == "networkConfig":
214
+ suggest = "network_config"
212
215
 
213
216
  if suggest:
214
217
  pulumi.log.warn(f"Key '{key}' not found in V2QueuedResourceTpuNodeSpecNode. Access the value via the '{suggest}' property getter instead.")
@@ -224,17 +227,22 @@ class V2QueuedResourceTpuNodeSpecNode(dict):
224
227
  def __init__(__self__, *,
225
228
  runtime_version: str,
226
229
  accelerator_type: Optional[str] = None,
227
- description: Optional[str] = None):
230
+ description: Optional[str] = None,
231
+ network_config: Optional['outputs.V2QueuedResourceTpuNodeSpecNodeNetworkConfig'] = None):
228
232
  """
229
233
  :param str runtime_version: Runtime version for the TPU.
230
234
  :param str accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
231
235
  :param str description: Text description of the TPU.
236
+ :param 'V2QueuedResourceTpuNodeSpecNodeNetworkConfigArgs' network_config: Network configurations for the TPU node.
237
+ Structure is documented below.
232
238
  """
233
239
  pulumi.set(__self__, "runtime_version", runtime_version)
234
240
  if accelerator_type is not None:
235
241
  pulumi.set(__self__, "accelerator_type", accelerator_type)
236
242
  if description is not None:
237
243
  pulumi.set(__self__, "description", description)
244
+ if network_config is not None:
245
+ pulumi.set(__self__, "network_config", network_config)
238
246
 
239
247
  @property
240
248
  @pulumi.getter(name="runtimeVersion")
@@ -260,6 +268,111 @@ class V2QueuedResourceTpuNodeSpecNode(dict):
260
268
  """
261
269
  return pulumi.get(self, "description")
262
270
 
271
+ @property
272
+ @pulumi.getter(name="networkConfig")
273
+ def network_config(self) -> Optional['outputs.V2QueuedResourceTpuNodeSpecNodeNetworkConfig']:
274
+ """
275
+ Network configurations for the TPU node.
276
+ Structure is documented below.
277
+ """
278
+ return pulumi.get(self, "network_config")
279
+
280
+
281
+ @pulumi.output_type
282
+ class V2QueuedResourceTpuNodeSpecNodeNetworkConfig(dict):
283
+ @staticmethod
284
+ def __key_warning(key: str):
285
+ suggest = None
286
+ if key == "canIpForward":
287
+ suggest = "can_ip_forward"
288
+ elif key == "enableExternalIps":
289
+ suggest = "enable_external_ips"
290
+ elif key == "queueCount":
291
+ suggest = "queue_count"
292
+
293
+ if suggest:
294
+ pulumi.log.warn(f"Key '{key}' not found in V2QueuedResourceTpuNodeSpecNodeNetworkConfig. Access the value via the '{suggest}' property getter instead.")
295
+
296
+ def __getitem__(self, key: str) -> Any:
297
+ V2QueuedResourceTpuNodeSpecNodeNetworkConfig.__key_warning(key)
298
+ return super().__getitem__(key)
299
+
300
+ def get(self, key: str, default = None) -> Any:
301
+ V2QueuedResourceTpuNodeSpecNodeNetworkConfig.__key_warning(key)
302
+ return super().get(key, default)
303
+
304
+ def __init__(__self__, *,
305
+ can_ip_forward: Optional[bool] = None,
306
+ enable_external_ips: Optional[bool] = None,
307
+ network: Optional[str] = None,
308
+ queue_count: Optional[int] = None,
309
+ subnetwork: Optional[str] = None):
310
+ """
311
+ :param bool can_ip_forward: Allows the TPU node to send and receive packets with non-matching destination or source
312
+ IPs. This is required if you plan to use the TPU workers to forward routes.
313
+ :param bool enable_external_ips: Indicates that external IP addresses would be associated with the TPU workers. If set to
314
+ false, the specified subnetwork or network should have Private Google Access enabled.
315
+ :param str network: The name of the network for the TPU node. It must be a preexisting Google Compute Engine
316
+ network. If none is provided, "default" will be used.
317
+ :param int queue_count: Specifies networking queue count for TPU VM instance's network interface.
318
+ :param str subnetwork: The name of the subnetwork for the TPU node. It must be a preexisting Google Compute
319
+ Engine subnetwork. If none is provided, "default" will be used.
320
+ """
321
+ if can_ip_forward is not None:
322
+ pulumi.set(__self__, "can_ip_forward", can_ip_forward)
323
+ if enable_external_ips is not None:
324
+ pulumi.set(__self__, "enable_external_ips", enable_external_ips)
325
+ if network is not None:
326
+ pulumi.set(__self__, "network", network)
327
+ if queue_count is not None:
328
+ pulumi.set(__self__, "queue_count", queue_count)
329
+ if subnetwork is not None:
330
+ pulumi.set(__self__, "subnetwork", subnetwork)
331
+
332
+ @property
333
+ @pulumi.getter(name="canIpForward")
334
+ def can_ip_forward(self) -> Optional[bool]:
335
+ """
336
+ Allows the TPU node to send and receive packets with non-matching destination or source
337
+ IPs. This is required if you plan to use the TPU workers to forward routes.
338
+ """
339
+ return pulumi.get(self, "can_ip_forward")
340
+
341
+ @property
342
+ @pulumi.getter(name="enableExternalIps")
343
+ def enable_external_ips(self) -> Optional[bool]:
344
+ """
345
+ Indicates that external IP addresses would be associated with the TPU workers. If set to
346
+ false, the specified subnetwork or network should have Private Google Access enabled.
347
+ """
348
+ return pulumi.get(self, "enable_external_ips")
349
+
350
+ @property
351
+ @pulumi.getter
352
+ def network(self) -> Optional[str]:
353
+ """
354
+ The name of the network for the TPU node. It must be a preexisting Google Compute Engine
355
+ network. If none is provided, "default" will be used.
356
+ """
357
+ return pulumi.get(self, "network")
358
+
359
+ @property
360
+ @pulumi.getter(name="queueCount")
361
+ def queue_count(self) -> Optional[int]:
362
+ """
363
+ Specifies networking queue count for TPU VM instance's network interface.
364
+ """
365
+ return pulumi.get(self, "queue_count")
366
+
367
+ @property
368
+ @pulumi.getter
369
+ def subnetwork(self) -> Optional[str]:
370
+ """
371
+ The name of the subnetwork for the TPU node. It must be a preexisting Google Compute
372
+ Engine subnetwork. If none is provided, "default" will be used.
373
+ """
374
+ return pulumi.get(self, "subnetwork")
375
+
263
376
 
264
377
  @pulumi.output_type
265
378
  class V2VmAcceleratorConfig(dict):