pulumi-gcp 7.0.0rc0__py3-none-any.whl → 7.1.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. pulumi_gcp/__init__.py +118 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +546 -71
  3. pulumi_gcp/accesscontextmanager/access_level.py +18 -2
  4. pulumi_gcp/accesscontextmanager/access_level_condition.py +57 -3
  5. pulumi_gcp/accesscontextmanager/access_levels.py +18 -2
  6. pulumi_gcp/accesscontextmanager/access_policy.py +18 -2
  7. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +18 -2
  8. pulumi_gcp/accesscontextmanager/egress_policy.py +18 -2
  9. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +18 -2
  10. pulumi_gcp/accesscontextmanager/ingress_policy.py +18 -2
  11. pulumi_gcp/accesscontextmanager/outputs.py +643 -71
  12. pulumi_gcp/accesscontextmanager/service_perimeter.py +18 -2
  13. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +18 -2
  14. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +18 -2
  15. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +18 -2
  16. pulumi_gcp/accesscontextmanager/service_perimeters.py +18 -2
  17. pulumi_gcp/activedirectory/domain.py +22 -10
  18. pulumi_gcp/activedirectory/domain_trust.py +18 -2
  19. pulumi_gcp/activedirectory/peering.py +4 -8
  20. pulumi_gcp/alloydb/__init__.py +1 -0
  21. pulumi_gcp/alloydb/_inputs.py +93 -0
  22. pulumi_gcp/alloydb/backup.py +22 -10
  23. pulumi_gcp/alloydb/cluster.py +283 -11
  24. pulumi_gcp/alloydb/instance.py +241 -40
  25. pulumi_gcp/alloydb/outputs.py +130 -0
  26. pulumi_gcp/alloydb/user.py +609 -0
  27. pulumi_gcp/apigateway/api.py +22 -10
  28. pulumi_gcp/apigateway/api_config.py +22 -10
  29. pulumi_gcp/apigateway/gateway.py +22 -10
  30. pulumi_gcp/apigee/addons_config.py +18 -2
  31. pulumi_gcp/apigee/endpoint_attachment.py +18 -2
  32. pulumi_gcp/apigee/env_group.py +18 -2
  33. pulumi_gcp/apigee/env_group_attachment.py +18 -2
  34. pulumi_gcp/apigee/env_keystore.py +18 -2
  35. pulumi_gcp/apigee/env_references.py +18 -2
  36. pulumi_gcp/apigee/environment.py +96 -5
  37. pulumi_gcp/apigee/flowhook.py +18 -2
  38. pulumi_gcp/apigee/instance.py +18 -2
  39. pulumi_gcp/apigee/instance_attachment.py +18 -2
  40. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +18 -2
  41. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +18 -2
  42. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +18 -2
  43. pulumi_gcp/apigee/nat_address.py +18 -2
  44. pulumi_gcp/apigee/organization.py +18 -2
  45. pulumi_gcp/apigee/sharedflow.py +18 -2
  46. pulumi_gcp/apigee/sharedflow_deployment.py +18 -2
  47. pulumi_gcp/apigee/sync_authorization.py +18 -2
  48. pulumi_gcp/apigee/target_server.py +18 -2
  49. pulumi_gcp/appengine/application.py +20 -4
  50. pulumi_gcp/appengine/application_url_dispatch_rules.py +18 -2
  51. pulumi_gcp/appengine/domain_mapping.py +18 -2
  52. pulumi_gcp/appengine/engine_split_traffic.py +18 -2
  53. pulumi_gcp/appengine/firewall_rule.py +18 -2
  54. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  55. pulumi_gcp/appengine/service_network_settings.py +18 -2
  56. pulumi_gcp/appengine/standard_app_version.py +18 -2
  57. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  58. pulumi_gcp/artifactregistry/outputs.py +4 -4
  59. pulumi_gcp/artifactregistry/repository.py +24 -12
  60. pulumi_gcp/artifactregistry/vpcsc_config.py +18 -2
  61. pulumi_gcp/assuredworkloads/_inputs.py +178 -4
  62. pulumi_gcp/assuredworkloads/outputs.py +217 -5
  63. pulumi_gcp/assuredworkloads/workload.py +474 -63
  64. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  65. pulumi_gcp/backupdisasterrecovery/get_management_server.py +152 -0
  66. pulumi_gcp/backupdisasterrecovery/management_server.py +18 -2
  67. pulumi_gcp/backupdisasterrecovery/outputs.py +40 -0
  68. pulumi_gcp/beyondcorp/app_connection.py +22 -10
  69. pulumi_gcp/beyondcorp/app_connector.py +22 -10
  70. pulumi_gcp/beyondcorp/app_gateway.py +22 -10
  71. pulumi_gcp/biglake/catalog.py +18 -2
  72. pulumi_gcp/biglake/database.py +18 -2
  73. pulumi_gcp/biglake/table.py +18 -2
  74. pulumi_gcp/bigquery/__init__.py +1 -0
  75. pulumi_gcp/bigquery/_inputs.py +94 -8
  76. pulumi_gcp/bigquery/app_profile.py +18 -2
  77. pulumi_gcp/bigquery/bi_reservation.py +18 -2
  78. pulumi_gcp/bigquery/capacity_commitment.py +25 -9
  79. pulumi_gcp/bigquery/connection.py +56 -2
  80. pulumi_gcp/bigquery/data_transfer_config.py +18 -2
  81. pulumi_gcp/bigquery/dataset.py +22 -10
  82. pulumi_gcp/bigquery/dataset_iam_binding.py +10 -38
  83. pulumi_gcp/bigquery/dataset_iam_member.py +10 -38
  84. pulumi_gcp/bigquery/dataset_iam_policy.py +10 -38
  85. pulumi_gcp/bigquery/get_dataset.py +315 -0
  86. pulumi_gcp/bigquery/job.py +26 -10
  87. pulumi_gcp/bigquery/outputs.py +275 -9
  88. pulumi_gcp/bigquery/reservation.py +18 -2
  89. pulumi_gcp/bigquery/reservation_assignment.py +18 -2
  90. pulumi_gcp/bigquery/routine.py +18 -2
  91. pulumi_gcp/bigquery/table.py +171 -17
  92. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +18 -2
  93. pulumi_gcp/bigqueryanalyticshub/listing.py +18 -2
  94. pulumi_gcp/bigquerydatapolicy/data_policy.py +18 -2
  95. pulumi_gcp/bigtable/instance.py +30 -10
  96. pulumi_gcp/bigtable/instance_iam_binding.py +12 -20
  97. pulumi_gcp/bigtable/instance_iam_member.py +12 -20
  98. pulumi_gcp/bigtable/instance_iam_policy.py +12 -20
  99. pulumi_gcp/bigtable/table.py +18 -6
  100. pulumi_gcp/bigtable/table_iam_binding.py +12 -20
  101. pulumi_gcp/bigtable/table_iam_member.py +12 -20
  102. pulumi_gcp/bigtable/table_iam_policy.py +12 -20
  103. pulumi_gcp/billing/account_iam_binding.py +12 -20
  104. pulumi_gcp/billing/account_iam_member.py +12 -20
  105. pulumi_gcp/billing/account_iam_policy.py +12 -20
  106. pulumi_gcp/billing/budget.py +18 -2
  107. pulumi_gcp/billing/project_info.py +18 -2
  108. pulumi_gcp/billing/sub_account.py +18 -2
  109. pulumi_gcp/binaryauthorization/attestor.py +18 -2
  110. pulumi_gcp/binaryauthorization/policy.py +18 -2
  111. pulumi_gcp/certificateauthority/authority.py +22 -10
  112. pulumi_gcp/certificateauthority/ca_pool.py +22 -10
  113. pulumi_gcp/certificateauthority/certificate.py +22 -10
  114. pulumi_gcp/certificateauthority/certificate_template.py +22 -10
  115. pulumi_gcp/certificatemanager/certificate.py +223 -31
  116. pulumi_gcp/certificatemanager/certificate_issuance_config.py +22 -10
  117. pulumi_gcp/certificatemanager/certificate_map.py +22 -10
  118. pulumi_gcp/certificatemanager/certificate_map_entry.py +22 -10
  119. pulumi_gcp/certificatemanager/dns_authorization.py +22 -10
  120. pulumi_gcp/certificatemanager/trust_config.py +22 -10
  121. pulumi_gcp/cloudasset/folder_feed.py +18 -2
  122. pulumi_gcp/cloudasset/organization_feed.py +18 -2
  123. pulumi_gcp/cloudasset/project_feed.py +18 -2
  124. pulumi_gcp/cloudbuild/bitbucket_server_config.py +18 -2
  125. pulumi_gcp/cloudbuild/trigger.py +18 -2
  126. pulumi_gcp/cloudbuild/worker_pool.py +18 -2
  127. pulumi_gcp/cloudbuildv2/connection.py +18 -2
  128. pulumi_gcp/cloudbuildv2/repository.py +18 -2
  129. pulumi_gcp/clouddeploy/delivery_pipeline.py +22 -10
  130. pulumi_gcp/clouddeploy/target.py +22 -10
  131. pulumi_gcp/cloudfunctions/function.py +26 -14
  132. pulumi_gcp/cloudfunctions/get_function.py +3 -0
  133. pulumi_gcp/cloudfunctionsv2/function.py +22 -10
  134. pulumi_gcp/cloudidentity/__init__.py +1 -0
  135. pulumi_gcp/cloudidentity/_inputs.py +119 -0
  136. pulumi_gcp/cloudidentity/get_group_lookup.py +128 -0
  137. pulumi_gcp/cloudidentity/group.py +50 -2
  138. pulumi_gcp/cloudidentity/group_membership.py +18 -2
  139. pulumi_gcp/cloudidentity/outputs.py +156 -0
  140. pulumi_gcp/cloudids/endpoint.py +18 -2
  141. pulumi_gcp/cloudrun/_inputs.py +12 -0
  142. pulumi_gcp/cloudrun/domain_mapping.py +18 -2
  143. pulumi_gcp/cloudrun/outputs.py +12 -0
  144. pulumi_gcp/cloudrun/service.py +18 -2
  145. pulumi_gcp/cloudrunv2/__init__.py +2 -0
  146. pulumi_gcp/cloudrunv2/get_job.py +394 -0
  147. pulumi_gcp/cloudrunv2/get_service.py +454 -0
  148. pulumi_gcp/cloudrunv2/job.py +40 -27
  149. pulumi_gcp/cloudrunv2/outputs.py +1687 -0
  150. pulumi_gcp/cloudrunv2/service.py +40 -27
  151. pulumi_gcp/cloudscheduler/job.py +18 -2
  152. pulumi_gcp/cloudtasks/queue.py +18 -2
  153. pulumi_gcp/composer/_inputs.py +17 -0
  154. pulumi_gcp/composer/environment.py +68 -5
  155. pulumi_gcp/composer/get_environment.py +13 -3
  156. pulumi_gcp/composer/outputs.py +26 -0
  157. pulumi_gcp/compute/__init__.py +2 -0
  158. pulumi_gcp/compute/_inputs.py +158 -4
  159. pulumi_gcp/compute/address.py +38 -18
  160. pulumi_gcp/compute/attached_disk.py +18 -2
  161. pulumi_gcp/compute/autoscaler.py +18 -2
  162. pulumi_gcp/compute/backend_bucket.py +18 -2
  163. pulumi_gcp/compute/backend_service.py +32 -16
  164. pulumi_gcp/compute/disk.py +22 -10
  165. pulumi_gcp/compute/disk_resource_policy_attachment.py +18 -2
  166. pulumi_gcp/compute/external_vpn_gateway.py +22 -10
  167. pulumi_gcp/compute/firewall.py +18 -2
  168. pulumi_gcp/compute/firewall_policy_association.py +18 -2
  169. pulumi_gcp/compute/firewall_policy_rule.py +18 -2
  170. pulumi_gcp/compute/forwarding_rule.py +377 -276
  171. pulumi_gcp/compute/get_disk.py +3 -0
  172. pulumi_gcp/compute/get_forwarding_rule.py +11 -1
  173. pulumi_gcp/compute/get_image.py +3 -0
  174. pulumi_gcp/compute/get_network.py +14 -1
  175. pulumi_gcp/compute/get_networks.py +130 -0
  176. pulumi_gcp/compute/get_subnetwork.py +14 -1
  177. pulumi_gcp/compute/global_address.py +18 -2
  178. pulumi_gcp/compute/global_forwarding_rule.py +127 -108
  179. pulumi_gcp/compute/global_network_endpoint.py +18 -2
  180. pulumi_gcp/compute/global_network_endpoint_group.py +18 -2
  181. pulumi_gcp/compute/ha_vpn_gateway.py +18 -2
  182. pulumi_gcp/compute/health_check.py +18 -2
  183. pulumi_gcp/compute/http_health_check.py +18 -2
  184. pulumi_gcp/compute/https_health_check.py +18 -2
  185. pulumi_gcp/compute/image.py +22 -10
  186. pulumi_gcp/compute/instance.py +44 -36
  187. pulumi_gcp/compute/instance_group.py +24 -8
  188. pulumi_gcp/compute/instance_group_manager.py +26 -10
  189. pulumi_gcp/compute/instance_group_named_port.py +18 -2
  190. pulumi_gcp/compute/instance_settings.py +387 -0
  191. pulumi_gcp/compute/instance_template.py +29 -21
  192. pulumi_gcp/compute/interconnect_attachment.py +18 -2
  193. pulumi_gcp/compute/machine_image.py +18 -2
  194. pulumi_gcp/compute/managed_ssl_certificate.py +18 -2
  195. pulumi_gcp/compute/manged_ssl_certificate.py +18 -2
  196. pulumi_gcp/compute/network.py +18 -2
  197. pulumi_gcp/compute/network_attachment.py +156 -2
  198. pulumi_gcp/compute/network_edge_security_service.py +18 -2
  199. pulumi_gcp/compute/network_endpoint.py +18 -2
  200. pulumi_gcp/compute/network_endpoint_group.py +32 -16
  201. pulumi_gcp/compute/network_endpoint_list.py +18 -2
  202. pulumi_gcp/compute/network_firewall_policy.py +18 -2
  203. pulumi_gcp/compute/network_firewall_policy_association.py +18 -2
  204. pulumi_gcp/compute/network_firewall_policy_rule.py +18 -2
  205. pulumi_gcp/compute/network_peering.py +20 -4
  206. pulumi_gcp/compute/network_peering_routes_config.py +18 -2
  207. pulumi_gcp/compute/node_group.py +129 -2
  208. pulumi_gcp/compute/node_template.py +18 -2
  209. pulumi_gcp/compute/organization_security_policy.py +18 -2
  210. pulumi_gcp/compute/organization_security_policy_association.py +18 -2
  211. pulumi_gcp/compute/organization_security_policy_rule.py +18 -2
  212. pulumi_gcp/compute/outputs.py +230 -7
  213. pulumi_gcp/compute/packet_mirroring.py +18 -2
  214. pulumi_gcp/compute/per_instance_config.py +18 -2
  215. pulumi_gcp/compute/project_default_network_tier.py +20 -4
  216. pulumi_gcp/compute/project_metadata.py +20 -4
  217. pulumi_gcp/compute/project_metadata_item.py +20 -4
  218. pulumi_gcp/compute/public_advertised_prefix.py +18 -2
  219. pulumi_gcp/compute/public_delegated_prefix.py +18 -2
  220. pulumi_gcp/compute/region_autoscaler.py +18 -2
  221. pulumi_gcp/compute/region_backend_service.py +18 -2
  222. pulumi_gcp/compute/region_commitment.py +18 -2
  223. pulumi_gcp/compute/region_disk.py +22 -10
  224. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +18 -2
  225. pulumi_gcp/compute/region_health_check.py +18 -2
  226. pulumi_gcp/compute/region_instance_group_manager.py +20 -4
  227. pulumi_gcp/compute/region_instance_template.py +29 -21
  228. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  229. pulumi_gcp/compute/region_network_firewall_policy.py +18 -2
  230. pulumi_gcp/compute/region_network_firewall_policy_association.py +18 -2
  231. pulumi_gcp/compute/region_network_firewall_policy_rule.py +18 -2
  232. pulumi_gcp/compute/region_per_instance_config.py +18 -2
  233. pulumi_gcp/compute/region_security_policy.py +18 -2
  234. pulumi_gcp/compute/region_security_policy_rule.py +18 -2
  235. pulumi_gcp/compute/region_ssl_certificate.py +18 -2
  236. pulumi_gcp/compute/region_ssl_policy.py +18 -2
  237. pulumi_gcp/compute/region_target_http_proxy.py +18 -2
  238. pulumi_gcp/compute/region_target_https_proxy.py +18 -2
  239. pulumi_gcp/compute/region_target_tcp_proxy.py +18 -2
  240. pulumi_gcp/compute/region_url_map.py +18 -2
  241. pulumi_gcp/compute/reservation.py +18 -2
  242. pulumi_gcp/compute/resource_policy.py +18 -2
  243. pulumi_gcp/compute/route.py +18 -2
  244. pulumi_gcp/compute/router.py +18 -2
  245. pulumi_gcp/compute/router_interface.py +22 -6
  246. pulumi_gcp/compute/router_nat.py +18 -2
  247. pulumi_gcp/compute/router_peer.py +18 -2
  248. pulumi_gcp/compute/security_policy.py +52 -4
  249. pulumi_gcp/compute/security_scan_config.py +18 -2
  250. pulumi_gcp/compute/service_attachment.py +18 -2
  251. pulumi_gcp/compute/shared_vpc_host_project.py +20 -4
  252. pulumi_gcp/compute/shared_vpc_service_project.py +20 -4
  253. pulumi_gcp/compute/snapshot.py +22 -10
  254. pulumi_gcp/compute/ssl_certificate.py +18 -2
  255. pulumi_gcp/compute/ssl_policy.py +18 -2
  256. pulumi_gcp/compute/subnetwork.py +109 -2
  257. pulumi_gcp/compute/target_grpc_proxy.py +18 -2
  258. pulumi_gcp/compute/target_http_proxy.py +18 -2
  259. pulumi_gcp/compute/target_https_proxy.py +181 -16
  260. pulumi_gcp/compute/target_instance.py +18 -2
  261. pulumi_gcp/compute/target_pool.py +18 -2
  262. pulumi_gcp/compute/target_ssl_proxy.py +18 -2
  263. pulumi_gcp/compute/target_tcp_proxy.py +18 -2
  264. pulumi_gcp/compute/url_map.py +18 -2
  265. pulumi_gcp/compute/vpn_gateway.py +18 -2
  266. pulumi_gcp/compute/vpn_tunnel.py +18 -2
  267. pulumi_gcp/config/vars.py +12 -0
  268. pulumi_gcp/container/_inputs.py +299 -54
  269. pulumi_gcp/container/attached_cluster.py +18 -2
  270. pulumi_gcp/container/aws_cluster.py +24 -2
  271. pulumi_gcp/container/aws_node_pool.py +18 -2
  272. pulumi_gcp/container/azure_client.py +18 -2
  273. pulumi_gcp/container/azure_cluster.py +24 -2
  274. pulumi_gcp/container/azure_node_pool.py +18 -2
  275. pulumi_gcp/container/cluster.py +92 -29
  276. pulumi_gcp/container/get_cluster.py +11 -1
  277. pulumi_gcp/container/node_pool.py +22 -6
  278. pulumi_gcp/container/outputs.py +384 -52
  279. pulumi_gcp/containeranalysis/note.py +18 -2
  280. pulumi_gcp/containeranalysis/occurence.py +18 -2
  281. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  282. pulumi_gcp/databasemigrationservice/_inputs.py +465 -0
  283. pulumi_gcp/databasemigrationservice/connection_profile.py +122 -12
  284. pulumi_gcp/databasemigrationservice/outputs.py +466 -0
  285. pulumi_gcp/databasemigrationservice/private_connection.py +672 -0
  286. pulumi_gcp/datacatalog/entry.py +18 -2
  287. pulumi_gcp/datacatalog/entry_group.py +18 -2
  288. pulumi_gcp/datacatalog/policy_tag.py +18 -2
  289. pulumi_gcp/datacatalog/tag.py +18 -2
  290. pulumi_gcp/datacatalog/tag_template.py +18 -2
  291. pulumi_gcp/datacatalog/taxonomy.py +18 -2
  292. pulumi_gcp/dataflow/job.py +24 -12
  293. pulumi_gcp/dataflow/pipeline.py +18 -2
  294. pulumi_gcp/dataform/_inputs.py +78 -21
  295. pulumi_gcp/dataform/outputs.py +86 -20
  296. pulumi_gcp/dataform/repository.py +140 -9
  297. pulumi_gcp/dataform/repository_release_config.py +18 -2
  298. pulumi_gcp/dataform/repository_workflow_config.py +20 -4
  299. pulumi_gcp/datafusion/instance.py +22 -10
  300. pulumi_gcp/dataloss/prevention_deidentify_template.py +18 -2
  301. pulumi_gcp/dataloss/prevention_inspect_template.py +18 -2
  302. pulumi_gcp/dataloss/prevention_job_trigger.py +18 -2
  303. pulumi_gcp/dataloss/prevention_stored_info_type.py +18 -2
  304. pulumi_gcp/dataplex/asset.py +22 -10
  305. pulumi_gcp/dataplex/datascan.py +22 -10
  306. pulumi_gcp/dataplex/lake.py +22 -10
  307. pulumi_gcp/dataplex/task.py +22 -10
  308. pulumi_gcp/dataplex/zone.py +22 -10
  309. pulumi_gcp/dataproc/_inputs.py +148 -0
  310. pulumi_gcp/dataproc/autoscaling_policy.py +18 -2
  311. pulumi_gcp/dataproc/cluster.py +2 -2
  312. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -20
  313. pulumi_gcp/dataproc/cluster_iam_member.py +12 -20
  314. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -20
  315. pulumi_gcp/dataproc/job.py +20 -8
  316. pulumi_gcp/dataproc/job_iam_binding.py +12 -20
  317. pulumi_gcp/dataproc/job_iam_member.py +12 -20
  318. pulumi_gcp/dataproc/job_iam_policy.py +12 -20
  319. pulumi_gcp/dataproc/metastore_federation.py +22 -10
  320. pulumi_gcp/dataproc/metastore_service.py +22 -10
  321. pulumi_gcp/dataproc/outputs.py +175 -0
  322. pulumi_gcp/dataproc/workflow_template.py +18 -2
  323. pulumi_gcp/datastore/data_store_index.py +18 -2
  324. pulumi_gcp/datastream/connection_profile.py +22 -10
  325. pulumi_gcp/datastream/private_connection.py +22 -10
  326. pulumi_gcp/datastream/stream.py +22 -10
  327. pulumi_gcp/deploymentmanager/deployment.py +18 -2
  328. pulumi_gcp/diagflow/_inputs.py +626 -4
  329. pulumi_gcp/diagflow/agent.py +18 -2
  330. pulumi_gcp/diagflow/cx_agent.py +288 -21
  331. pulumi_gcp/diagflow/cx_entity_type.py +18 -2
  332. pulumi_gcp/diagflow/cx_environment.py +18 -2
  333. pulumi_gcp/diagflow/cx_flow.py +309 -4
  334. pulumi_gcp/diagflow/cx_intent.py +165 -10
  335. pulumi_gcp/diagflow/cx_page.py +109 -4
  336. pulumi_gcp/diagflow/cx_security_settings.py +18 -2
  337. pulumi_gcp/diagflow/cx_test_case.py +18 -2
  338. pulumi_gcp/diagflow/cx_version.py +18 -2
  339. pulumi_gcp/diagflow/cx_webhook.py +18 -2
  340. pulumi_gcp/diagflow/entity_type.py +18 -2
  341. pulumi_gcp/diagflow/fulfillment.py +18 -2
  342. pulumi_gcp/diagflow/intent.py +18 -2
  343. pulumi_gcp/diagflow/outputs.py +722 -5
  344. pulumi_gcp/dns/get_keys.py +16 -2
  345. pulumi_gcp/dns/managed_zone.py +22 -10
  346. pulumi_gcp/dns/policy.py +18 -2
  347. pulumi_gcp/dns/record_set.py +24 -8
  348. pulumi_gcp/dns/response_policy.py +18 -2
  349. pulumi_gcp/dns/response_policy_rule.py +18 -2
  350. pulumi_gcp/edgecontainer/__init__.py +12 -0
  351. pulumi_gcp/edgecontainer/_inputs.py +1171 -0
  352. pulumi_gcp/edgecontainer/cluster.py +1539 -0
  353. pulumi_gcp/edgecontainer/node_pool.py +1062 -0
  354. pulumi_gcp/edgecontainer/outputs.py +1204 -0
  355. pulumi_gcp/edgecontainer/vpn_connection.py +918 -0
  356. pulumi_gcp/edgenetwork/network.py +18 -2
  357. pulumi_gcp/edgenetwork/subnet.py +18 -2
  358. pulumi_gcp/essentialcontacts/contact.py +18 -2
  359. pulumi_gcp/essentialcontacts/document_ai_processor.py +18 -2
  360. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +18 -2
  361. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +18 -2
  362. pulumi_gcp/eventarc/channel.py +18 -2
  363. pulumi_gcp/eventarc/google_channel_config.py +18 -2
  364. pulumi_gcp/eventarc/trigger.py +22 -10
  365. pulumi_gcp/filestore/backup.py +22 -10
  366. pulumi_gcp/filestore/instance.py +22 -10
  367. pulumi_gcp/filestore/snapshot.py +22 -10
  368. pulumi_gcp/firebase/__init__.py +1 -0
  369. pulumi_gcp/firebase/_inputs.py +878 -0
  370. pulumi_gcp/firebase/android_app.py +18 -2
  371. pulumi_gcp/firebase/apple_app.py +18 -2
  372. pulumi_gcp/firebase/database_instance.py +18 -2
  373. pulumi_gcp/firebase/extensions_instance.py +18 -2
  374. pulumi_gcp/firebase/hosting_channel.py +22 -10
  375. pulumi_gcp/firebase/hosting_custom_domain.py +1274 -0
  376. pulumi_gcp/firebase/hosting_release.py +18 -2
  377. pulumi_gcp/firebase/hosting_site.py +18 -2
  378. pulumi_gcp/firebase/hosting_version.py +18 -2
  379. pulumi_gcp/firebase/outputs.py +905 -0
  380. pulumi_gcp/firebase/project.py +18 -2
  381. pulumi_gcp/firebase/storage_bucket.py +18 -2
  382. pulumi_gcp/firebase/web_app.py +18 -2
  383. pulumi_gcp/firebaserules/release.py +18 -2
  384. pulumi_gcp/firebaserules/ruleset.py +18 -2
  385. pulumi_gcp/firestore/__init__.py +1 -0
  386. pulumi_gcp/firestore/_inputs.py +35 -2
  387. pulumi_gcp/firestore/backup_schedule.py +547 -0
  388. pulumi_gcp/firestore/database.py +24 -4
  389. pulumi_gcp/firestore/document.py +22 -2
  390. pulumi_gcp/firestore/field.py +27 -13
  391. pulumi_gcp/firestore/index.py +140 -21
  392. pulumi_gcp/firestore/outputs.py +31 -2
  393. pulumi_gcp/folder/access_approval_settings.py +18 -2
  394. pulumi_gcp/folder/iam_audit_config.py +10 -58
  395. pulumi_gcp/folder/iam_member.py +10 -58
  396. pulumi_gcp/folder/iam_policy.py +10 -58
  397. pulumi_gcp/folder/organization_policy.py +22 -6
  398. pulumi_gcp/gkebackup/backup_plan.py +22 -10
  399. pulumi_gcp/gkebackup/restore_plan.py +22 -10
  400. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +18 -2
  401. pulumi_gcp/gkebackup/restore_plan_iam_member.py +18 -2
  402. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +18 -2
  403. pulumi_gcp/gkehub/__init__.py +1 -0
  404. pulumi_gcp/gkehub/_inputs.py +431 -0
  405. pulumi_gcp/gkehub/feature.py +76 -10
  406. pulumi_gcp/gkehub/feature_membership.py +22 -2
  407. pulumi_gcp/gkehub/fleet.py +432 -0
  408. pulumi_gcp/gkehub/get_membership_iam_policy.py +24 -3
  409. pulumi_gcp/gkehub/membership.py +120 -16
  410. pulumi_gcp/gkehub/membership_binding.py +22 -10
  411. pulumi_gcp/gkehub/membership_iam_binding.py +67 -0
  412. pulumi_gcp/gkehub/membership_iam_member.py +67 -0
  413. pulumi_gcp/gkehub/membership_iam_policy.py +67 -0
  414. pulumi_gcp/gkehub/membership_rbac_role_binding.py +18 -2
  415. pulumi_gcp/gkehub/namespace.py +22 -10
  416. pulumi_gcp/gkehub/outputs.py +432 -1
  417. pulumi_gcp/gkehub/scope.py +22 -10
  418. pulumi_gcp/gkehub/scope_rbac_role_binding.py +22 -10
  419. pulumi_gcp/gkeonprem/_inputs.py +17 -31
  420. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +148 -132
  421. pulumi_gcp/gkeonprem/bare_metal_cluster.py +260 -246
  422. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +30 -18
  423. pulumi_gcp/gkeonprem/outputs.py +17 -31
  424. pulumi_gcp/gkeonprem/v_mware_cluster.py +287 -230
  425. pulumi_gcp/gkeonprem/v_mware_node_pool.py +30 -18
  426. pulumi_gcp/healthcare/consent_store.py +22 -10
  427. pulumi_gcp/healthcare/dataset.py +18 -2
  428. pulumi_gcp/healthcare/dataset_iam_binding.py +10 -38
  429. pulumi_gcp/healthcare/dataset_iam_member.py +10 -38
  430. pulumi_gcp/healthcare/dataset_iam_policy.py +10 -38
  431. pulumi_gcp/healthcare/dicom_store.py +22 -10
  432. pulumi_gcp/healthcare/dicom_store_iam_binding.py +10 -30
  433. pulumi_gcp/healthcare/dicom_store_iam_member.py +10 -30
  434. pulumi_gcp/healthcare/dicom_store_iam_policy.py +10 -30
  435. pulumi_gcp/healthcare/fhir_store.py +22 -10
  436. pulumi_gcp/healthcare/fhir_store_iam_binding.py +10 -30
  437. pulumi_gcp/healthcare/fhir_store_iam_member.py +10 -30
  438. pulumi_gcp/healthcare/fhir_store_iam_policy.py +10 -30
  439. pulumi_gcp/healthcare/hl7_store.py +22 -10
  440. pulumi_gcp/healthcare/hl7_store_iam_binding.py +10 -30
  441. pulumi_gcp/healthcare/hl7_store_iam_member.py +10 -30
  442. pulumi_gcp/healthcare/hl7_store_iam_policy.py +10 -30
  443. pulumi_gcp/iam/_inputs.py +20 -0
  444. pulumi_gcp/iam/access_boundary_policy.py +18 -2
  445. pulumi_gcp/iam/deny_policy.py +18 -2
  446. pulumi_gcp/iam/outputs.py +20 -0
  447. pulumi_gcp/iam/workforce_pool.py +18 -2
  448. pulumi_gcp/iam/workforce_pool_provider.py +18 -2
  449. pulumi_gcp/iam/workload_identity_pool.py +18 -2
  450. pulumi_gcp/iam/workload_identity_pool_provider.py +18 -2
  451. pulumi_gcp/iap/brand.py +18 -2
  452. pulumi_gcp/iap/client.py +18 -2
  453. pulumi_gcp/identityplatform/_inputs.py +92 -0
  454. pulumi_gcp/identityplatform/config.py +91 -5
  455. pulumi_gcp/identityplatform/default_supported_idp_config.py +18 -2
  456. pulumi_gcp/identityplatform/inbound_saml_config.py +18 -2
  457. pulumi_gcp/identityplatform/oauth_idp_config.py +18 -2
  458. pulumi_gcp/identityplatform/outputs.py +129 -0
  459. pulumi_gcp/identityplatform/project_default_config.py +18 -2
  460. pulumi_gcp/identityplatform/tenant.py +18 -2
  461. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +18 -2
  462. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +18 -2
  463. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +18 -2
  464. pulumi_gcp/integrationconnectors/__init__.py +10 -0
  465. pulumi_gcp/integrationconnectors/_inputs.py +2518 -0
  466. pulumi_gcp/integrationconnectors/connection.py +1921 -0
  467. pulumi_gcp/integrationconnectors/outputs.py +2780 -0
  468. pulumi_gcp/kms/crypto_key.py +22 -10
  469. pulumi_gcp/kms/crypto_key_iam_binding.py +10 -30
  470. pulumi_gcp/kms/crypto_key_iam_member.py +10 -30
  471. pulumi_gcp/kms/crypto_key_iam_policy.py +10 -30
  472. pulumi_gcp/kms/crypto_key_version.py +18 -2
  473. pulumi_gcp/kms/key_ring.py +18 -2
  474. pulumi_gcp/kms/key_ring_iam_binding.py +10 -30
  475. pulumi_gcp/kms/key_ring_iam_member.py +10 -30
  476. pulumi_gcp/kms/key_ring_iam_policy.py +10 -30
  477. pulumi_gcp/kms/key_ring_import_job.py +18 -2
  478. pulumi_gcp/logging/_inputs.py +160 -0
  479. pulumi_gcp/logging/billing_account_bucket_config.py +61 -26
  480. pulumi_gcp/logging/billing_account_exclusion.py +20 -4
  481. pulumi_gcp/logging/billing_account_sink.py +20 -4
  482. pulumi_gcp/logging/folder_bucket_config.py +75 -4
  483. pulumi_gcp/logging/folder_exclusion.py +20 -4
  484. pulumi_gcp/logging/folder_sink.py +20 -4
  485. pulumi_gcp/logging/linked_dataset.py +18 -2
  486. pulumi_gcp/logging/log_view.py +18 -2
  487. pulumi_gcp/logging/metric.py +18 -2
  488. pulumi_gcp/logging/organization_bucket_config.py +75 -4
  489. pulumi_gcp/logging/organization_exclusion.py +20 -4
  490. pulumi_gcp/logging/organization_sink.py +20 -4
  491. pulumi_gcp/logging/outputs.py +196 -0
  492. pulumi_gcp/logging/project_bucket_config.py +59 -134
  493. pulumi_gcp/logging/project_exclusion.py +20 -4
  494. pulumi_gcp/logging/project_sink.py +95 -18
  495. pulumi_gcp/looker/instance.py +18 -2
  496. pulumi_gcp/memcache/instance.py +22 -10
  497. pulumi_gcp/ml/engine_model.py +22 -10
  498. pulumi_gcp/monitoring/_inputs.py +127 -13
  499. pulumi_gcp/monitoring/alert_policy.py +64 -2
  500. pulumi_gcp/monitoring/custom_service.py +18 -2
  501. pulumi_gcp/monitoring/dashboard.py +18 -2
  502. pulumi_gcp/monitoring/generic_service.py +18 -2
  503. pulumi_gcp/monitoring/group.py +18 -2
  504. pulumi_gcp/monitoring/metric_descriptor.py +18 -2
  505. pulumi_gcp/monitoring/monitored_project.py +18 -2
  506. pulumi_gcp/monitoring/notification_channel.py +18 -2
  507. pulumi_gcp/monitoring/outputs.py +158 -13
  508. pulumi_gcp/monitoring/slo.py +18 -2
  509. pulumi_gcp/monitoring/uptime_check_config.py +92 -9
  510. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  511. pulumi_gcp/networkconnectivity/_inputs.py +185 -0
  512. pulumi_gcp/networkconnectivity/hub.py +22 -10
  513. pulumi_gcp/networkconnectivity/outputs.py +189 -0
  514. pulumi_gcp/networkconnectivity/policy_based_route.py +1003 -0
  515. pulumi_gcp/networkconnectivity/service_connection_policy.py +22 -10
  516. pulumi_gcp/networkconnectivity/spoke.py +22 -10
  517. pulumi_gcp/networkmanagement/connectivity_test.py +22 -10
  518. pulumi_gcp/networksecurity/address_group.py +22 -10
  519. pulumi_gcp/networksecurity/authorization_policy.py +22 -10
  520. pulumi_gcp/networksecurity/client_tls_policy.py +22 -10
  521. pulumi_gcp/networksecurity/gateway_security_policy.py +18 -2
  522. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +18 -2
  523. pulumi_gcp/networksecurity/server_tls_policy.py +92 -10
  524. pulumi_gcp/networksecurity/tls_inspection_policy.py +18 -2
  525. pulumi_gcp/networksecurity/url_list.py +18 -2
  526. pulumi_gcp/networkservices/edge_cache_keyset.py +22 -10
  527. pulumi_gcp/networkservices/edge_cache_origin.py +22 -10
  528. pulumi_gcp/networkservices/edge_cache_service.py +22 -10
  529. pulumi_gcp/networkservices/endpoint_policy.py +22 -10
  530. pulumi_gcp/networkservices/gateway.py +22 -10
  531. pulumi_gcp/networkservices/grpc_route.py +22 -10
  532. pulumi_gcp/networkservices/http_route.py +22 -10
  533. pulumi_gcp/networkservices/mesh.py +22 -10
  534. pulumi_gcp/networkservices/service_binding.py +22 -10
  535. pulumi_gcp/networkservices/tcp_route.py +22 -10
  536. pulumi_gcp/networkservices/tls_route.py +18 -2
  537. pulumi_gcp/notebooks/environment.py +18 -2
  538. pulumi_gcp/notebooks/instance.py +22 -10
  539. pulumi_gcp/notebooks/location.py +18 -2
  540. pulumi_gcp/notebooks/runtime.py +18 -2
  541. pulumi_gcp/organizations/access_approval_settings.py +18 -2
  542. pulumi_gcp/organizations/folder.py +22 -6
  543. pulumi_gcp/organizations/iam_member.py +10 -58
  544. pulumi_gcp/organizations/iam_policy.py +10 -58
  545. pulumi_gcp/organizations/policy.py +22 -4
  546. pulumi_gcp/organizations/project.py +24 -12
  547. pulumi_gcp/orgpolicy/custom_constraint.py +50 -22
  548. pulumi_gcp/orgpolicy/policy.py +18 -2
  549. pulumi_gcp/osconfig/guest_policies.py +18 -2
  550. pulumi_gcp/osconfig/os_policy_assignment.py +18 -2
  551. pulumi_gcp/osconfig/patch_deployment.py +18 -2
  552. pulumi_gcp/oslogin/ssh_public_key.py +18 -2
  553. pulumi_gcp/projects/access_approval_settings.py +18 -2
  554. pulumi_gcp/projects/api_key.py +18 -2
  555. pulumi_gcp/projects/iam_audit_config.py +10 -58
  556. pulumi_gcp/projects/iam_binding.py +10 -58
  557. pulumi_gcp/projects/iam_custom_role.py +18 -2
  558. pulumi_gcp/projects/iam_member.py +10 -58
  559. pulumi_gcp/projects/iam_policy.py +10 -58
  560. pulumi_gcp/projects/organization_policy.py +24 -8
  561. pulumi_gcp/projects/service.py +22 -4
  562. pulumi_gcp/projects/usage_export_bucket.py +20 -4
  563. pulumi_gcp/provider.py +60 -0
  564. pulumi_gcp/pubsub/__init__.py +4 -0
  565. pulumi_gcp/pubsub/_inputs.py +80 -0
  566. pulumi_gcp/pubsub/get_schema_iam_policy.py +147 -0
  567. pulumi_gcp/pubsub/lite_reservation.py +18 -2
  568. pulumi_gcp/pubsub/lite_subscription.py +18 -2
  569. pulumi_gcp/pubsub/lite_topic.py +18 -2
  570. pulumi_gcp/pubsub/outputs.py +56 -0
  571. pulumi_gcp/pubsub/schema.py +18 -2
  572. pulumi_gcp/pubsub/schema_iam_binding.py +601 -0
  573. pulumi_gcp/pubsub/schema_iam_member.py +601 -0
  574. pulumi_gcp/pubsub/schema_iam_policy.py +523 -0
  575. pulumi_gcp/pubsub/subscription.py +22 -10
  576. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -20
  577. pulumi_gcp/pubsub/subscription_iam_member.py +12 -20
  578. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -20
  579. pulumi_gcp/pubsub/topic.py +36 -17
  580. pulumi_gcp/recaptcha/enterprise_key.py +22 -10
  581. pulumi_gcp/redis/cluster.py +42 -18
  582. pulumi_gcp/redis/instance.py +22 -58
  583. pulumi_gcp/resourcemanager/lien.py +18 -2
  584. pulumi_gcp/runtimeconfig/config.py +26 -6
  585. pulumi_gcp/runtimeconfig/variable.py +26 -6
  586. pulumi_gcp/secretmanager/__init__.py +1 -0
  587. pulumi_gcp/secretmanager/get_secrets.py +133 -0
  588. pulumi_gcp/secretmanager/outputs.py +354 -0
  589. pulumi_gcp/secretmanager/secret.py +36 -10
  590. pulumi_gcp/secretmanager/secret_version.py +18 -2
  591. pulumi_gcp/securitycenter/folder_custom_module.py +18 -2
  592. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -2
  593. pulumi_gcp/securitycenter/instance_iam_member.py +18 -2
  594. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -2
  595. pulumi_gcp/securitycenter/mute_config.py +18 -2
  596. pulumi_gcp/securitycenter/notification_config.py +18 -2
  597. pulumi_gcp/securitycenter/organization_custom_module.py +18 -2
  598. pulumi_gcp/securitycenter/project_custom_module.py +18 -2
  599. pulumi_gcp/securitycenter/source.py +18 -2
  600. pulumi_gcp/securitycenter/source_iam_binding.py +18 -2
  601. pulumi_gcp/securitycenter/source_iam_member.py +18 -2
  602. pulumi_gcp/securitycenter/source_iam_policy.py +18 -2
  603. pulumi_gcp/serviceaccount/account.py +20 -4
  604. pulumi_gcp/serviceaccount/iam_binding.py +2 -30
  605. pulumi_gcp/serviceaccount/iam_member.py +2 -30
  606. pulumi_gcp/serviceaccount/iam_policy.py +2 -30
  607. pulumi_gcp/servicedirectory/endpoint.py +18 -2
  608. pulumi_gcp/servicedirectory/namespace.py +22 -10
  609. pulumi_gcp/servicedirectory/service.py +18 -2
  610. pulumi_gcp/servicenetworking/connection.py +22 -6
  611. pulumi_gcp/servicenetworking/peered_dns_domain.py +18 -6
  612. pulumi_gcp/serviceusage/consumer_quota_override.py +18 -2
  613. pulumi_gcp/sourcerepo/repository.py +18 -2
  614. pulumi_gcp/spanner/_inputs.py +142 -0
  615. pulumi_gcp/spanner/database.py +18 -2
  616. pulumi_gcp/spanner/database_iam_binding.py +10 -26
  617. pulumi_gcp/spanner/database_iam_member.py +10 -26
  618. pulumi_gcp/spanner/database_iam_policy.py +10 -26
  619. pulumi_gcp/spanner/get_instance.py +12 -1
  620. pulumi_gcp/spanner/instance.py +99 -10
  621. pulumi_gcp/spanner/instance_iam_binding.py +10 -26
  622. pulumi_gcp/spanner/instance_iam_member.py +10 -26
  623. pulumi_gcp/spanner/instance_iam_policy.py +10 -26
  624. pulumi_gcp/spanner/outputs.py +236 -0
  625. pulumi_gcp/sql/_inputs.py +27 -7
  626. pulumi_gcp/sql/database.py +18 -2
  627. pulumi_gcp/sql/database_instance.py +24 -8
  628. pulumi_gcp/sql/outputs.py +41 -9
  629. pulumi_gcp/sql/source_representation_instance.py +25 -9
  630. pulumi_gcp/sql/user.py +38 -8
  631. pulumi_gcp/storage/_inputs.py +59 -1
  632. pulumi_gcp/storage/bucket.py +69 -6
  633. pulumi_gcp/storage/bucket_access_control.py +18 -2
  634. pulumi_gcp/storage/bucket_object.py +47 -0
  635. pulumi_gcp/storage/default_object_access_control.py +18 -2
  636. pulumi_gcp/storage/get_bucket.py +11 -1
  637. pulumi_gcp/storage/get_bucket_object.py +11 -1
  638. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  639. pulumi_gcp/storage/hmac_key.py +18 -2
  640. pulumi_gcp/storage/insights_report_config.py +18 -2
  641. pulumi_gcp/storage/notification.py +20 -4
  642. pulumi_gcp/storage/object_access_control.py +18 -2
  643. pulumi_gcp/storage/outputs.py +129 -2
  644. pulumi_gcp/storage/transfer_agent_pool.py +18 -2
  645. pulumi_gcp/storage/transfer_job.py +20 -4
  646. pulumi_gcp/tags/location_tag_binding.py +35 -19
  647. pulumi_gcp/tags/tag_binding.py +18 -2
  648. pulumi_gcp/tags/tag_key.py +18 -2
  649. pulumi_gcp/tags/tag_value.py +18 -2
  650. pulumi_gcp/tpu/_inputs.py +450 -0
  651. pulumi_gcp/tpu/node.py +22 -10
  652. pulumi_gcp/tpu/outputs.py +477 -0
  653. pulumi_gcp/tpu/v2_vm.py +906 -38
  654. pulumi_gcp/vertex/_inputs.py +39 -0
  655. pulumi_gcp/vertex/ai_dataset.py +4 -8
  656. pulumi_gcp/vertex/ai_endpoint.py +22 -10
  657. pulumi_gcp/vertex/ai_feature_store.py +22 -10
  658. pulumi_gcp/vertex/ai_feature_store_entity_type.py +22 -10
  659. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +22 -10
  660. pulumi_gcp/vertex/ai_index.py +22 -10
  661. pulumi_gcp/vertex/ai_index_endpoint.py +116 -10
  662. pulumi_gcp/vertex/ai_metadata_store.py +18 -2
  663. pulumi_gcp/vertex/ai_tensorboard.py +22 -10
  664. pulumi_gcp/vertex/outputs.py +50 -0
  665. pulumi_gcp/vmwareengine/cluster.py +18 -2
  666. pulumi_gcp/vmwareengine/network.py +18 -2
  667. pulumi_gcp/vmwareengine/private_cloud.py +18 -2
  668. pulumi_gcp/vpcaccess/connector.py +18 -2
  669. pulumi_gcp/workflows/workflow.py +159 -11
  670. pulumi_gcp/workstations/_inputs.py +23 -0
  671. pulumi_gcp/workstations/outputs.py +19 -0
  672. pulumi_gcp/workstations/workstation.py +22 -10
  673. pulumi_gcp/workstations/workstation_cluster.py +142 -10
  674. pulumi_gcp/workstations/workstation_config.py +24 -12
  675. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/METADATA +1 -1
  676. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/RECORD +678 -650
  677. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/WHEEL +0 -0
  678. {pulumi_gcp-7.0.0rc0.dist-info → pulumi_gcp-7.1.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/tpu/v2_vm.py CHANGED
@@ -8,6 +8,8 @@ import pulumi
8
8
  import pulumi.runtime
9
9
  from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
11
13
 
12
14
  __all__ = ['V2VmArgs', 'V2Vm']
13
15
 
@@ -15,10 +17,20 @@ __all__ = ['V2VmArgs', 'V2Vm']
15
17
  class V2VmArgs:
16
18
  def __init__(__self__, *,
17
19
  runtime_version: pulumi.Input[str],
20
+ accelerator_config: Optional[pulumi.Input['V2VmAcceleratorConfigArgs']] = None,
18
21
  accelerator_type: Optional[pulumi.Input[str]] = None,
22
+ cidr_block: Optional[pulumi.Input[str]] = None,
23
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]] = None,
19
24
  description: Optional[pulumi.Input[str]] = None,
25
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
26
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
20
27
  name: Optional[pulumi.Input[str]] = None,
28
+ network_config: Optional[pulumi.Input['V2VmNetworkConfigArgs']] = None,
21
29
  project: Optional[pulumi.Input[str]] = None,
30
+ scheduling_config: Optional[pulumi.Input['V2VmSchedulingConfigArgs']] = None,
31
+ service_account: Optional[pulumi.Input['V2VmServiceAccountArgs']] = None,
32
+ shielded_instance_config: Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']] = None,
33
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
22
34
  zone: Optional[pulumi.Input[str]] = None):
23
35
  """
24
36
  The set of arguments for constructing a V2Vm resource.
@@ -26,22 +38,68 @@ class V2VmArgs:
26
38
 
27
39
 
28
40
  - - -
29
- :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
41
+ :param pulumi.Input['V2VmAcceleratorConfigArgs'] accelerator_config: The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
42
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
43
+ Structure is documented below.
44
+ :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
45
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
46
+ :param pulumi.Input[str] cidr_block: The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
47
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
48
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
49
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
50
+ with any subnetworks in the user's provided network, or the provided network is peered with
51
+ another network that is using that CIDR block.
52
+ :param pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]] data_disks: The additional data disks for the Node.
53
+ Structure is documented below.
30
54
  :param pulumi.Input[str] description: Text description of the TPU.
55
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata.
56
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
57
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
58
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
31
59
  :param pulumi.Input[str] name: The immutable name of the TPU.
60
+ :param pulumi.Input['V2VmNetworkConfigArgs'] network_config: Network configurations for the TPU node.
61
+ Structure is documented below.
32
62
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
33
63
  If it is not provided, the provider project is used.
64
+ :param pulumi.Input['V2VmSchedulingConfigArgs'] scheduling_config: The scheduling options for this node.
65
+ Structure is documented below.
66
+ :param pulumi.Input['V2VmServiceAccountArgs'] service_account: The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
67
+ specified, the default compute service account will be used.
68
+ Structure is documented below.
69
+ :param pulumi.Input['V2VmShieldedInstanceConfigArgs'] shielded_instance_config: Shielded Instance options.
70
+ Structure is documented below.
71
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
34
72
  :param pulumi.Input[str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
35
73
  """
36
74
  pulumi.set(__self__, "runtime_version", runtime_version)
75
+ if accelerator_config is not None:
76
+ pulumi.set(__self__, "accelerator_config", accelerator_config)
37
77
  if accelerator_type is not None:
38
78
  pulumi.set(__self__, "accelerator_type", accelerator_type)
79
+ if cidr_block is not None:
80
+ pulumi.set(__self__, "cidr_block", cidr_block)
81
+ if data_disks is not None:
82
+ pulumi.set(__self__, "data_disks", data_disks)
39
83
  if description is not None:
40
84
  pulumi.set(__self__, "description", description)
85
+ if labels is not None:
86
+ pulumi.set(__self__, "labels", labels)
87
+ if metadata is not None:
88
+ pulumi.set(__self__, "metadata", metadata)
41
89
  if name is not None:
42
90
  pulumi.set(__self__, "name", name)
91
+ if network_config is not None:
92
+ pulumi.set(__self__, "network_config", network_config)
43
93
  if project is not None:
44
94
  pulumi.set(__self__, "project", project)
95
+ if scheduling_config is not None:
96
+ pulumi.set(__self__, "scheduling_config", scheduling_config)
97
+ if service_account is not None:
98
+ pulumi.set(__self__, "service_account", service_account)
99
+ if shielded_instance_config is not None:
100
+ pulumi.set(__self__, "shielded_instance_config", shielded_instance_config)
101
+ if tags is not None:
102
+ pulumi.set(__self__, "tags", tags)
45
103
  if zone is not None:
46
104
  pulumi.set(__self__, "zone", zone)
47
105
 
@@ -60,11 +118,26 @@ class V2VmArgs:
60
118
  def runtime_version(self, value: pulumi.Input[str]):
61
119
  pulumi.set(self, "runtime_version", value)
62
120
 
121
+ @property
122
+ @pulumi.getter(name="acceleratorConfig")
123
+ def accelerator_config(self) -> Optional[pulumi.Input['V2VmAcceleratorConfigArgs']]:
124
+ """
125
+ The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
126
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
127
+ Structure is documented below.
128
+ """
129
+ return pulumi.get(self, "accelerator_config")
130
+
131
+ @accelerator_config.setter
132
+ def accelerator_config(self, value: Optional[pulumi.Input['V2VmAcceleratorConfigArgs']]):
133
+ pulumi.set(self, "accelerator_config", value)
134
+
63
135
  @property
64
136
  @pulumi.getter(name="acceleratorType")
65
137
  def accelerator_type(self) -> Optional[pulumi.Input[str]]:
66
138
  """
67
- TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
139
+ TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
140
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
68
141
  """
69
142
  return pulumi.get(self, "accelerator_type")
70
143
 
@@ -72,6 +145,36 @@ class V2VmArgs:
72
145
  def accelerator_type(self, value: Optional[pulumi.Input[str]]):
73
146
  pulumi.set(self, "accelerator_type", value)
74
147
 
148
+ @property
149
+ @pulumi.getter(name="cidrBlock")
150
+ def cidr_block(self) -> Optional[pulumi.Input[str]]:
151
+ """
152
+ The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
153
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
154
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
155
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
156
+ with any subnetworks in the user's provided network, or the provided network is peered with
157
+ another network that is using that CIDR block.
158
+ """
159
+ return pulumi.get(self, "cidr_block")
160
+
161
+ @cidr_block.setter
162
+ def cidr_block(self, value: Optional[pulumi.Input[str]]):
163
+ pulumi.set(self, "cidr_block", value)
164
+
165
+ @property
166
+ @pulumi.getter(name="dataDisks")
167
+ def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]]:
168
+ """
169
+ The additional data disks for the Node.
170
+ Structure is documented below.
171
+ """
172
+ return pulumi.get(self, "data_disks")
173
+
174
+ @data_disks.setter
175
+ def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]]):
176
+ pulumi.set(self, "data_disks", value)
177
+
75
178
  @property
76
179
  @pulumi.getter
77
180
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -84,6 +187,32 @@ class V2VmArgs:
84
187
  def description(self, value: Optional[pulumi.Input[str]]):
85
188
  pulumi.set(self, "description", value)
86
189
 
190
+ @property
191
+ @pulumi.getter
192
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
193
+ """
194
+ Resource labels to represent user-provided metadata.
195
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
196
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
197
+ """
198
+ return pulumi.get(self, "labels")
199
+
200
+ @labels.setter
201
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
202
+ pulumi.set(self, "labels", value)
203
+
204
+ @property
205
+ @pulumi.getter
206
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
207
+ """
208
+ Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
209
+ """
210
+ return pulumi.get(self, "metadata")
211
+
212
+ @metadata.setter
213
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
214
+ pulumi.set(self, "metadata", value)
215
+
87
216
  @property
88
217
  @pulumi.getter
89
218
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -96,6 +225,19 @@ class V2VmArgs:
96
225
  def name(self, value: Optional[pulumi.Input[str]]):
97
226
  pulumi.set(self, "name", value)
98
227
 
228
+ @property
229
+ @pulumi.getter(name="networkConfig")
230
+ def network_config(self) -> Optional[pulumi.Input['V2VmNetworkConfigArgs']]:
231
+ """
232
+ Network configurations for the TPU node.
233
+ Structure is documented below.
234
+ """
235
+ return pulumi.get(self, "network_config")
236
+
237
+ @network_config.setter
238
+ def network_config(self, value: Optional[pulumi.Input['V2VmNetworkConfigArgs']]):
239
+ pulumi.set(self, "network_config", value)
240
+
99
241
  @property
100
242
  @pulumi.getter
101
243
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -109,6 +251,58 @@ class V2VmArgs:
109
251
  def project(self, value: Optional[pulumi.Input[str]]):
110
252
  pulumi.set(self, "project", value)
111
253
 
254
+ @property
255
+ @pulumi.getter(name="schedulingConfig")
256
+ def scheduling_config(self) -> Optional[pulumi.Input['V2VmSchedulingConfigArgs']]:
257
+ """
258
+ The scheduling options for this node.
259
+ Structure is documented below.
260
+ """
261
+ return pulumi.get(self, "scheduling_config")
262
+
263
+ @scheduling_config.setter
264
+ def scheduling_config(self, value: Optional[pulumi.Input['V2VmSchedulingConfigArgs']]):
265
+ pulumi.set(self, "scheduling_config", value)
266
+
267
+ @property
268
+ @pulumi.getter(name="serviceAccount")
269
+ def service_account(self) -> Optional[pulumi.Input['V2VmServiceAccountArgs']]:
270
+ """
271
+ The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
272
+ specified, the default compute service account will be used.
273
+ Structure is documented below.
274
+ """
275
+ return pulumi.get(self, "service_account")
276
+
277
+ @service_account.setter
278
+ def service_account(self, value: Optional[pulumi.Input['V2VmServiceAccountArgs']]):
279
+ pulumi.set(self, "service_account", value)
280
+
281
+ @property
282
+ @pulumi.getter(name="shieldedInstanceConfig")
283
+ def shielded_instance_config(self) -> Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']]:
284
+ """
285
+ Shielded Instance options.
286
+ Structure is documented below.
287
+ """
288
+ return pulumi.get(self, "shielded_instance_config")
289
+
290
+ @shielded_instance_config.setter
291
+ def shielded_instance_config(self, value: Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']]):
292
+ pulumi.set(self, "shielded_instance_config", value)
293
+
294
+ @property
295
+ @pulumi.getter
296
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
297
+ """
298
+ Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
299
+ """
300
+ return pulumi.get(self, "tags")
301
+
302
+ @tags.setter
303
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
304
+ pulumi.set(self, "tags", value)
305
+
112
306
  @property
113
307
  @pulumi.getter
114
308
  def zone(self) -> Optional[pulumi.Input[str]]:
@@ -125,43 +319,158 @@ class V2VmArgs:
125
319
  @pulumi.input_type
126
320
  class _V2VmState:
127
321
  def __init__(__self__, *,
322
+ accelerator_config: Optional[pulumi.Input['V2VmAcceleratorConfigArgs']] = None,
128
323
  accelerator_type: Optional[pulumi.Input[str]] = None,
324
+ api_version: Optional[pulumi.Input[str]] = None,
325
+ cidr_block: Optional[pulumi.Input[str]] = None,
326
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]] = None,
129
327
  description: Optional[pulumi.Input[str]] = None,
328
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
329
+ health: Optional[pulumi.Input[str]] = None,
330
+ health_description: Optional[pulumi.Input[str]] = None,
331
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
332
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
333
+ multislice_node: Optional[pulumi.Input[bool]] = None,
130
334
  name: Optional[pulumi.Input[str]] = None,
335
+ network_config: Optional[pulumi.Input['V2VmNetworkConfigArgs']] = None,
336
+ network_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmNetworkEndpointArgs']]]] = None,
131
337
  project: Optional[pulumi.Input[str]] = None,
338
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
339
+ queued_resource: Optional[pulumi.Input[str]] = None,
132
340
  runtime_version: Optional[pulumi.Input[str]] = None,
341
+ scheduling_config: Optional[pulumi.Input['V2VmSchedulingConfigArgs']] = None,
342
+ service_account: Optional[pulumi.Input['V2VmServiceAccountArgs']] = None,
343
+ shielded_instance_config: Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']] = None,
344
+ state: Optional[pulumi.Input[str]] = None,
345
+ symptoms: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmSymptomArgs']]]] = None,
346
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
133
347
  zone: Optional[pulumi.Input[str]] = None):
134
348
  """
135
349
  Input properties used for looking up and filtering V2Vm resources.
136
- :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
350
+ :param pulumi.Input['V2VmAcceleratorConfigArgs'] accelerator_config: The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
351
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
352
+ Structure is documented below.
353
+ :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
354
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
355
+ :param pulumi.Input[str] api_version: The API version that created this Node.
356
+ :param pulumi.Input[str] cidr_block: The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
357
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
358
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
359
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
360
+ with any subnetworks in the user's provided network, or the provided network is peered with
361
+ another network that is using that CIDR block.
362
+ :param pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]] data_disks: The additional data disks for the Node.
363
+ Structure is documented below.
137
364
  :param pulumi.Input[str] description: Text description of the TPU.
365
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
366
+ :param pulumi.Input[str] health: The health status of the TPU node.
367
+ :param pulumi.Input[str] health_description: If this field is populated, it contains a description of why the TPU Node is unhealthy.
368
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata.
369
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
370
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
371
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
372
+ :param pulumi.Input[bool] multislice_node: Whether the Node belongs to a Multislice group.
138
373
  :param pulumi.Input[str] name: The immutable name of the TPU.
374
+ :param pulumi.Input['V2VmNetworkConfigArgs'] network_config: Network configurations for the TPU node.
375
+ Structure is documented below.
376
+ :param pulumi.Input[Sequence[pulumi.Input['V2VmNetworkEndpointArgs']]] network_endpoints: The network endpoints where TPU workers can be accessed and sent work. It is recommended that
377
+ runtime clients of the node reach out to the 0th entry in this map first.
378
+ Structure is documented below.
139
379
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
140
380
  If it is not provided, the provider project is used.
381
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
382
+ and default labels configured on the provider.
383
+ :param pulumi.Input[str] queued_resource: The qualified name of the QueuedResource that requested this Node.
141
384
  :param pulumi.Input[str] runtime_version: Runtime version for the TPU.
142
385
 
143
386
 
144
387
  - - -
388
+ :param pulumi.Input['V2VmSchedulingConfigArgs'] scheduling_config: The scheduling options for this node.
389
+ Structure is documented below.
390
+ :param pulumi.Input['V2VmServiceAccountArgs'] service_account: The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
391
+ specified, the default compute service account will be used.
392
+ Structure is documented below.
393
+ :param pulumi.Input['V2VmShieldedInstanceConfigArgs'] shielded_instance_config: Shielded Instance options.
394
+ Structure is documented below.
395
+ :param pulumi.Input[str] state: The current state for the TPU Node.
396
+ :param pulumi.Input[Sequence[pulumi.Input['V2VmSymptomArgs']]] symptoms: The Symptoms that have occurred to the TPU Node.
397
+ Structure is documented below.
398
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
145
399
  :param pulumi.Input[str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
146
400
  """
401
+ if accelerator_config is not None:
402
+ pulumi.set(__self__, "accelerator_config", accelerator_config)
147
403
  if accelerator_type is not None:
148
404
  pulumi.set(__self__, "accelerator_type", accelerator_type)
405
+ if api_version is not None:
406
+ pulumi.set(__self__, "api_version", api_version)
407
+ if cidr_block is not None:
408
+ pulumi.set(__self__, "cidr_block", cidr_block)
409
+ if data_disks is not None:
410
+ pulumi.set(__self__, "data_disks", data_disks)
149
411
  if description is not None:
150
412
  pulumi.set(__self__, "description", description)
413
+ if effective_labels is not None:
414
+ pulumi.set(__self__, "effective_labels", effective_labels)
415
+ if health is not None:
416
+ pulumi.set(__self__, "health", health)
417
+ if health_description is not None:
418
+ pulumi.set(__self__, "health_description", health_description)
419
+ if labels is not None:
420
+ pulumi.set(__self__, "labels", labels)
421
+ if metadata is not None:
422
+ pulumi.set(__self__, "metadata", metadata)
423
+ if multislice_node is not None:
424
+ pulumi.set(__self__, "multislice_node", multislice_node)
151
425
  if name is not None:
152
426
  pulumi.set(__self__, "name", name)
427
+ if network_config is not None:
428
+ pulumi.set(__self__, "network_config", network_config)
429
+ if network_endpoints is not None:
430
+ pulumi.set(__self__, "network_endpoints", network_endpoints)
153
431
  if project is not None:
154
432
  pulumi.set(__self__, "project", project)
433
+ if pulumi_labels is not None:
434
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
435
+ if queued_resource is not None:
436
+ pulumi.set(__self__, "queued_resource", queued_resource)
155
437
  if runtime_version is not None:
156
438
  pulumi.set(__self__, "runtime_version", runtime_version)
439
+ if scheduling_config is not None:
440
+ pulumi.set(__self__, "scheduling_config", scheduling_config)
441
+ if service_account is not None:
442
+ pulumi.set(__self__, "service_account", service_account)
443
+ if shielded_instance_config is not None:
444
+ pulumi.set(__self__, "shielded_instance_config", shielded_instance_config)
445
+ if state is not None:
446
+ pulumi.set(__self__, "state", state)
447
+ if symptoms is not None:
448
+ pulumi.set(__self__, "symptoms", symptoms)
449
+ if tags is not None:
450
+ pulumi.set(__self__, "tags", tags)
157
451
  if zone is not None:
158
452
  pulumi.set(__self__, "zone", zone)
159
453
 
454
+ @property
455
+ @pulumi.getter(name="acceleratorConfig")
456
+ def accelerator_config(self) -> Optional[pulumi.Input['V2VmAcceleratorConfigArgs']]:
457
+ """
458
+ The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
459
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
460
+ Structure is documented below.
461
+ """
462
+ return pulumi.get(self, "accelerator_config")
463
+
464
+ @accelerator_config.setter
465
+ def accelerator_config(self, value: Optional[pulumi.Input['V2VmAcceleratorConfigArgs']]):
466
+ pulumi.set(self, "accelerator_config", value)
467
+
160
468
  @property
161
469
  @pulumi.getter(name="acceleratorType")
162
470
  def accelerator_type(self) -> Optional[pulumi.Input[str]]:
163
471
  """
164
- TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
472
+ TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
473
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
165
474
  """
166
475
  return pulumi.get(self, "accelerator_type")
167
476
 
@@ -169,6 +478,48 @@ class _V2VmState:
169
478
  def accelerator_type(self, value: Optional[pulumi.Input[str]]):
170
479
  pulumi.set(self, "accelerator_type", value)
171
480
 
481
+ @property
482
+ @pulumi.getter(name="apiVersion")
483
+ def api_version(self) -> Optional[pulumi.Input[str]]:
484
+ """
485
+ The API version that created this Node.
486
+ """
487
+ return pulumi.get(self, "api_version")
488
+
489
+ @api_version.setter
490
+ def api_version(self, value: Optional[pulumi.Input[str]]):
491
+ pulumi.set(self, "api_version", value)
492
+
493
+ @property
494
+ @pulumi.getter(name="cidrBlock")
495
+ def cidr_block(self) -> Optional[pulumi.Input[str]]:
496
+ """
497
+ The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
498
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
499
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
500
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
501
+ with any subnetworks in the user's provided network, or the provided network is peered with
502
+ another network that is using that CIDR block.
503
+ """
504
+ return pulumi.get(self, "cidr_block")
505
+
506
+ @cidr_block.setter
507
+ def cidr_block(self, value: Optional[pulumi.Input[str]]):
508
+ pulumi.set(self, "cidr_block", value)
509
+
510
+ @property
511
+ @pulumi.getter(name="dataDisks")
512
+ def data_disks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]]:
513
+ """
514
+ The additional data disks for the Node.
515
+ Structure is documented below.
516
+ """
517
+ return pulumi.get(self, "data_disks")
518
+
519
+ @data_disks.setter
520
+ def data_disks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmDataDiskArgs']]]]):
521
+ pulumi.set(self, "data_disks", value)
522
+
172
523
  @property
173
524
  @pulumi.getter
174
525
  def description(self) -> Optional[pulumi.Input[str]]:
@@ -181,6 +532,80 @@ class _V2VmState:
181
532
  def description(self, value: Optional[pulumi.Input[str]]):
182
533
  pulumi.set(self, "description", value)
183
534
 
535
+ @property
536
+ @pulumi.getter(name="effectiveLabels")
537
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
538
+ """
539
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
540
+ """
541
+ return pulumi.get(self, "effective_labels")
542
+
543
+ @effective_labels.setter
544
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
545
+ pulumi.set(self, "effective_labels", value)
546
+
547
+ @property
548
+ @pulumi.getter
549
+ def health(self) -> Optional[pulumi.Input[str]]:
550
+ """
551
+ The health status of the TPU node.
552
+ """
553
+ return pulumi.get(self, "health")
554
+
555
+ @health.setter
556
+ def health(self, value: Optional[pulumi.Input[str]]):
557
+ pulumi.set(self, "health", value)
558
+
559
+ @property
560
+ @pulumi.getter(name="healthDescription")
561
+ def health_description(self) -> Optional[pulumi.Input[str]]:
562
+ """
563
+ If this field is populated, it contains a description of why the TPU Node is unhealthy.
564
+ """
565
+ return pulumi.get(self, "health_description")
566
+
567
+ @health_description.setter
568
+ def health_description(self, value: Optional[pulumi.Input[str]]):
569
+ pulumi.set(self, "health_description", value)
570
+
571
+ @property
572
+ @pulumi.getter
573
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
574
+ """
575
+ Resource labels to represent user-provided metadata.
576
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
577
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
578
+ """
579
+ return pulumi.get(self, "labels")
580
+
581
+ @labels.setter
582
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
583
+ pulumi.set(self, "labels", value)
584
+
585
+ @property
586
+ @pulumi.getter
587
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
588
+ """
589
+ Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
590
+ """
591
+ return pulumi.get(self, "metadata")
592
+
593
+ @metadata.setter
594
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
595
+ pulumi.set(self, "metadata", value)
596
+
597
+ @property
598
+ @pulumi.getter(name="multisliceNode")
599
+ def multislice_node(self) -> Optional[pulumi.Input[bool]]:
600
+ """
601
+ Whether the Node belongs to a Multislice group.
602
+ """
603
+ return pulumi.get(self, "multislice_node")
604
+
605
+ @multislice_node.setter
606
+ def multislice_node(self, value: Optional[pulumi.Input[bool]]):
607
+ pulumi.set(self, "multislice_node", value)
608
+
184
609
  @property
185
610
  @pulumi.getter
186
611
  def name(self) -> Optional[pulumi.Input[str]]:
@@ -193,6 +618,33 @@ class _V2VmState:
193
618
  def name(self, value: Optional[pulumi.Input[str]]):
194
619
  pulumi.set(self, "name", value)
195
620
 
621
+ @property
622
+ @pulumi.getter(name="networkConfig")
623
+ def network_config(self) -> Optional[pulumi.Input['V2VmNetworkConfigArgs']]:
624
+ """
625
+ Network configurations for the TPU node.
626
+ Structure is documented below.
627
+ """
628
+ return pulumi.get(self, "network_config")
629
+
630
+ @network_config.setter
631
+ def network_config(self, value: Optional[pulumi.Input['V2VmNetworkConfigArgs']]):
632
+ pulumi.set(self, "network_config", value)
633
+
634
+ @property
635
+ @pulumi.getter(name="networkEndpoints")
636
+ def network_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2VmNetworkEndpointArgs']]]]:
637
+ """
638
+ The network endpoints where TPU workers can be accessed and sent work. It is recommended that
639
+ runtime clients of the node reach out to the 0th entry in this map first.
640
+ Structure is documented below.
641
+ """
642
+ return pulumi.get(self, "network_endpoints")
643
+
644
+ @network_endpoints.setter
645
+ def network_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmNetworkEndpointArgs']]]]):
646
+ pulumi.set(self, "network_endpoints", value)
647
+
196
648
  @property
197
649
  @pulumi.getter
198
650
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -206,6 +658,31 @@ class _V2VmState:
206
658
  def project(self, value: Optional[pulumi.Input[str]]):
207
659
  pulumi.set(self, "project", value)
208
660
 
661
+ @property
662
+ @pulumi.getter(name="pulumiLabels")
663
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
664
+ """
665
+ The combination of labels configured directly on the resource
666
+ and default labels configured on the provider.
667
+ """
668
+ return pulumi.get(self, "pulumi_labels")
669
+
670
+ @pulumi_labels.setter
671
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
672
+ pulumi.set(self, "pulumi_labels", value)
673
+
674
+ @property
675
+ @pulumi.getter(name="queuedResource")
676
+ def queued_resource(self) -> Optional[pulumi.Input[str]]:
677
+ """
678
+ The qualified name of the QueuedResource that requested this Node.
679
+ """
680
+ return pulumi.get(self, "queued_resource")
681
+
682
+ @queued_resource.setter
683
+ def queued_resource(self, value: Optional[pulumi.Input[str]]):
684
+ pulumi.set(self, "queued_resource", value)
685
+
209
686
  @property
210
687
  @pulumi.getter(name="runtimeVersion")
211
688
  def runtime_version(self) -> Optional[pulumi.Input[str]]:
@@ -221,6 +698,83 @@ class _V2VmState:
221
698
  def runtime_version(self, value: Optional[pulumi.Input[str]]):
222
699
  pulumi.set(self, "runtime_version", value)
223
700
 
701
+ @property
702
+ @pulumi.getter(name="schedulingConfig")
703
+ def scheduling_config(self) -> Optional[pulumi.Input['V2VmSchedulingConfigArgs']]:
704
+ """
705
+ The scheduling options for this node.
706
+ Structure is documented below.
707
+ """
708
+ return pulumi.get(self, "scheduling_config")
709
+
710
+ @scheduling_config.setter
711
+ def scheduling_config(self, value: Optional[pulumi.Input['V2VmSchedulingConfigArgs']]):
712
+ pulumi.set(self, "scheduling_config", value)
713
+
714
+ @property
715
+ @pulumi.getter(name="serviceAccount")
716
+ def service_account(self) -> Optional[pulumi.Input['V2VmServiceAccountArgs']]:
717
+ """
718
+ The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
719
+ specified, the default compute service account will be used.
720
+ Structure is documented below.
721
+ """
722
+ return pulumi.get(self, "service_account")
723
+
724
+ @service_account.setter
725
+ def service_account(self, value: Optional[pulumi.Input['V2VmServiceAccountArgs']]):
726
+ pulumi.set(self, "service_account", value)
727
+
728
+ @property
729
+ @pulumi.getter(name="shieldedInstanceConfig")
730
+ def shielded_instance_config(self) -> Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']]:
731
+ """
732
+ Shielded Instance options.
733
+ Structure is documented below.
734
+ """
735
+ return pulumi.get(self, "shielded_instance_config")
736
+
737
+ @shielded_instance_config.setter
738
+ def shielded_instance_config(self, value: Optional[pulumi.Input['V2VmShieldedInstanceConfigArgs']]):
739
+ pulumi.set(self, "shielded_instance_config", value)
740
+
741
+ @property
742
+ @pulumi.getter
743
+ def state(self) -> Optional[pulumi.Input[str]]:
744
+ """
745
+ The current state for the TPU Node.
746
+ """
747
+ return pulumi.get(self, "state")
748
+
749
+ @state.setter
750
+ def state(self, value: Optional[pulumi.Input[str]]):
751
+ pulumi.set(self, "state", value)
752
+
753
+ @property
754
+ @pulumi.getter
755
+ def symptoms(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['V2VmSymptomArgs']]]]:
756
+ """
757
+ The Symptoms that have occurred to the TPU Node.
758
+ Structure is documented below.
759
+ """
760
+ return pulumi.get(self, "symptoms")
761
+
762
+ @symptoms.setter
763
+ def symptoms(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['V2VmSymptomArgs']]]]):
764
+ pulumi.set(self, "symptoms", value)
765
+
766
+ @property
767
+ @pulumi.getter
768
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
769
+ """
770
+ Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
771
+ """
772
+ return pulumi.get(self, "tags")
773
+
774
+ @tags.setter
775
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
776
+ pulumi.set(self, "tags", value)
777
+
224
778
  @property
225
779
  @pulumi.getter
226
780
  def zone(self) -> Optional[pulumi.Input[str]]:
@@ -239,11 +793,21 @@ class V2Vm(pulumi.CustomResource):
239
793
  def __init__(__self__,
240
794
  resource_name: str,
241
795
  opts: Optional[pulumi.ResourceOptions] = None,
796
+ accelerator_config: Optional[pulumi.Input[pulumi.InputType['V2VmAcceleratorConfigArgs']]] = None,
242
797
  accelerator_type: Optional[pulumi.Input[str]] = None,
798
+ cidr_block: Optional[pulumi.Input[str]] = None,
799
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmDataDiskArgs']]]]] = None,
243
800
  description: Optional[pulumi.Input[str]] = None,
801
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
802
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
244
803
  name: Optional[pulumi.Input[str]] = None,
804
+ network_config: Optional[pulumi.Input[pulumi.InputType['V2VmNetworkConfigArgs']]] = None,
245
805
  project: Optional[pulumi.Input[str]] = None,
246
806
  runtime_version: Optional[pulumi.Input[str]] = None,
807
+ scheduling_config: Optional[pulumi.Input[pulumi.InputType['V2VmSchedulingConfigArgs']]] = None,
808
+ service_account: Optional[pulumi.Input[pulumi.InputType['V2VmServiceAccountArgs']]] = None,
809
+ shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['V2VmShieldedInstanceConfigArgs']]] = None,
810
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
247
811
  zone: Optional[pulumi.Input[str]] = None,
248
812
  __props__=None):
249
813
  """
@@ -260,25 +824,18 @@ class V2Vm(pulumi.CustomResource):
260
824
  runtime_version="tpu-vm-tf-2.13.0",
261
825
  opts=pulumi.ResourceOptions(provider=google_beta))
262
826
  ```
263
- ### Tpu V2 Vm Full
264
827
 
265
- ```python
266
- import pulumi
267
- import pulumi_gcp as gcp
828
+ ## Import
268
829
 
269
- available_v2_runtime_versions = gcp.tpu.get_v2_runtime_versions()
270
- available_v2_accelerator_types = gcp.tpu.get_v2_accelerator_types()
271
- tpu = gcp.tpu.V2Vm("tpu",
272
- zone="us-central1-c",
273
- description="Text description of the TPU.",
274
- runtime_version="tpu-vm-tf-2.13.0",
275
- accelerator_type="v2-8",
276
- opts=pulumi.ResourceOptions(provider=google_beta))
277
- ```
830
+ Vm can be imported using any of these accepted formats* `projects/{{project}}/locations/{{zone}}/nodes/{{name}}` * `{{project}}/{{zone}}/{{name}}` * `{{zone}}/{{name}}` * `{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Vm using one of the formats above. For exampletf import {
278
831
 
279
- ## Import
832
+ id = "projects/{{project}}/locations/{{zone}}/nodes/{{name}}"
833
+
834
+ to = google_tpu_v2_vm.default }
280
835
 
281
- Vm can be imported using any of these accepted formats
836
+ ```sh
837
+ $ pulumi import gcp:tpu/v2Vm:V2Vm When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Vm can be imported using one of the formats above. For example
838
+ ```
282
839
 
283
840
  ```sh
284
841
  $ pulumi import gcp:tpu/v2Vm:V2Vm default projects/{{project}}/locations/{{zone}}/nodes/{{name}}
@@ -298,15 +855,41 @@ class V2Vm(pulumi.CustomResource):
298
855
 
299
856
  :param str resource_name: The name of the resource.
300
857
  :param pulumi.ResourceOptions opts: Options for the resource.
301
- :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
858
+ :param pulumi.Input[pulumi.InputType['V2VmAcceleratorConfigArgs']] accelerator_config: The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
859
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
860
+ Structure is documented below.
861
+ :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
862
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
863
+ :param pulumi.Input[str] cidr_block: The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
864
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
865
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
866
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
867
+ with any subnetworks in the user's provided network, or the provided network is peered with
868
+ another network that is using that CIDR block.
869
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmDataDiskArgs']]]] data_disks: The additional data disks for the Node.
870
+ Structure is documented below.
302
871
  :param pulumi.Input[str] description: Text description of the TPU.
872
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata.
873
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
874
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
875
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
303
876
  :param pulumi.Input[str] name: The immutable name of the TPU.
877
+ :param pulumi.Input[pulumi.InputType['V2VmNetworkConfigArgs']] network_config: Network configurations for the TPU node.
878
+ Structure is documented below.
304
879
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
305
880
  If it is not provided, the provider project is used.
306
881
  :param pulumi.Input[str] runtime_version: Runtime version for the TPU.
307
882
 
308
883
 
309
884
  - - -
885
+ :param pulumi.Input[pulumi.InputType['V2VmSchedulingConfigArgs']] scheduling_config: The scheduling options for this node.
886
+ Structure is documented below.
887
+ :param pulumi.Input[pulumi.InputType['V2VmServiceAccountArgs']] service_account: The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
888
+ specified, the default compute service account will be used.
889
+ Structure is documented below.
890
+ :param pulumi.Input[pulumi.InputType['V2VmShieldedInstanceConfigArgs']] shielded_instance_config: Shielded Instance options.
891
+ Structure is documented below.
892
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
310
893
  :param pulumi.Input[str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
311
894
  """
312
895
  ...
@@ -329,25 +912,18 @@ class V2Vm(pulumi.CustomResource):
329
912
  runtime_version="tpu-vm-tf-2.13.0",
330
913
  opts=pulumi.ResourceOptions(provider=google_beta))
331
914
  ```
332
- ### Tpu V2 Vm Full
333
915
 
334
- ```python
335
- import pulumi
336
- import pulumi_gcp as gcp
916
+ ## Import
337
917
 
338
- available_v2_runtime_versions = gcp.tpu.get_v2_runtime_versions()
339
- available_v2_accelerator_types = gcp.tpu.get_v2_accelerator_types()
340
- tpu = gcp.tpu.V2Vm("tpu",
341
- zone="us-central1-c",
342
- description="Text description of the TPU.",
343
- runtime_version="tpu-vm-tf-2.13.0",
344
- accelerator_type="v2-8",
345
- opts=pulumi.ResourceOptions(provider=google_beta))
346
- ```
918
+ Vm can be imported using any of these accepted formats* `projects/{{project}}/locations/{{zone}}/nodes/{{name}}` * `{{project}}/{{zone}}/{{name}}` * `{{zone}}/{{name}}` * `{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Vm using one of the formats above. For exampletf import {
347
919
 
348
- ## Import
920
+ id = "projects/{{project}}/locations/{{zone}}/nodes/{{name}}"
921
+
922
+ to = google_tpu_v2_vm.default }
349
923
 
350
- Vm can be imported using any of these accepted formats
924
+ ```sh
925
+ $ pulumi import gcp:tpu/v2Vm:V2Vm When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Vm can be imported using one of the formats above. For example
926
+ ```
351
927
 
352
928
  ```sh
353
929
  $ pulumi import gcp:tpu/v2Vm:V2Vm default projects/{{project}}/locations/{{zone}}/nodes/{{name}}
@@ -380,11 +956,21 @@ class V2Vm(pulumi.CustomResource):
380
956
  def _internal_init(__self__,
381
957
  resource_name: str,
382
958
  opts: Optional[pulumi.ResourceOptions] = None,
959
+ accelerator_config: Optional[pulumi.Input[pulumi.InputType['V2VmAcceleratorConfigArgs']]] = None,
383
960
  accelerator_type: Optional[pulumi.Input[str]] = None,
961
+ cidr_block: Optional[pulumi.Input[str]] = None,
962
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmDataDiskArgs']]]]] = None,
384
963
  description: Optional[pulumi.Input[str]] = None,
964
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
965
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
385
966
  name: Optional[pulumi.Input[str]] = None,
967
+ network_config: Optional[pulumi.Input[pulumi.InputType['V2VmNetworkConfigArgs']]] = None,
386
968
  project: Optional[pulumi.Input[str]] = None,
387
969
  runtime_version: Optional[pulumi.Input[str]] = None,
970
+ scheduling_config: Optional[pulumi.Input[pulumi.InputType['V2VmSchedulingConfigArgs']]] = None,
971
+ service_account: Optional[pulumi.Input[pulumi.InputType['V2VmServiceAccountArgs']]] = None,
972
+ shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['V2VmShieldedInstanceConfigArgs']]] = None,
973
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
388
974
  zone: Optional[pulumi.Input[str]] = None,
389
975
  __props__=None):
390
976
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -395,14 +981,36 @@ class V2Vm(pulumi.CustomResource):
395
981
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
396
982
  __props__ = V2VmArgs.__new__(V2VmArgs)
397
983
 
984
+ __props__.__dict__["accelerator_config"] = accelerator_config
398
985
  __props__.__dict__["accelerator_type"] = accelerator_type
986
+ __props__.__dict__["cidr_block"] = cidr_block
987
+ __props__.__dict__["data_disks"] = data_disks
399
988
  __props__.__dict__["description"] = description
989
+ __props__.__dict__["labels"] = labels
990
+ __props__.__dict__["metadata"] = metadata
400
991
  __props__.__dict__["name"] = name
992
+ __props__.__dict__["network_config"] = network_config
401
993
  __props__.__dict__["project"] = project
402
994
  if runtime_version is None and not opts.urn:
403
995
  raise TypeError("Missing required property 'runtime_version'")
404
996
  __props__.__dict__["runtime_version"] = runtime_version
997
+ __props__.__dict__["scheduling_config"] = scheduling_config
998
+ __props__.__dict__["service_account"] = service_account
999
+ __props__.__dict__["shielded_instance_config"] = shielded_instance_config
1000
+ __props__.__dict__["tags"] = tags
405
1001
  __props__.__dict__["zone"] = zone
1002
+ __props__.__dict__["api_version"] = None
1003
+ __props__.__dict__["effective_labels"] = None
1004
+ __props__.__dict__["health"] = None
1005
+ __props__.__dict__["health_description"] = None
1006
+ __props__.__dict__["multislice_node"] = None
1007
+ __props__.__dict__["network_endpoints"] = None
1008
+ __props__.__dict__["pulumi_labels"] = None
1009
+ __props__.__dict__["queued_resource"] = None
1010
+ __props__.__dict__["state"] = None
1011
+ __props__.__dict__["symptoms"] = None
1012
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
1013
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
406
1014
  super(V2Vm, __self__).__init__(
407
1015
  'gcp:tpu/v2Vm:V2Vm',
408
1016
  resource_name,
@@ -413,11 +1021,31 @@ class V2Vm(pulumi.CustomResource):
413
1021
  def get(resource_name: str,
414
1022
  id: pulumi.Input[str],
415
1023
  opts: Optional[pulumi.ResourceOptions] = None,
1024
+ accelerator_config: Optional[pulumi.Input[pulumi.InputType['V2VmAcceleratorConfigArgs']]] = None,
416
1025
  accelerator_type: Optional[pulumi.Input[str]] = None,
1026
+ api_version: Optional[pulumi.Input[str]] = None,
1027
+ cidr_block: Optional[pulumi.Input[str]] = None,
1028
+ data_disks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmDataDiskArgs']]]]] = None,
417
1029
  description: Optional[pulumi.Input[str]] = None,
1030
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1031
+ health: Optional[pulumi.Input[str]] = None,
1032
+ health_description: Optional[pulumi.Input[str]] = None,
1033
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1034
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1035
+ multislice_node: Optional[pulumi.Input[bool]] = None,
418
1036
  name: Optional[pulumi.Input[str]] = None,
1037
+ network_config: Optional[pulumi.Input[pulumi.InputType['V2VmNetworkConfigArgs']]] = None,
1038
+ network_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmNetworkEndpointArgs']]]]] = None,
419
1039
  project: Optional[pulumi.Input[str]] = None,
1040
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1041
+ queued_resource: Optional[pulumi.Input[str]] = None,
420
1042
  runtime_version: Optional[pulumi.Input[str]] = None,
1043
+ scheduling_config: Optional[pulumi.Input[pulumi.InputType['V2VmSchedulingConfigArgs']]] = None,
1044
+ service_account: Optional[pulumi.Input[pulumi.InputType['V2VmServiceAccountArgs']]] = None,
1045
+ shielded_instance_config: Optional[pulumi.Input[pulumi.InputType['V2VmShieldedInstanceConfigArgs']]] = None,
1046
+ state: Optional[pulumi.Input[str]] = None,
1047
+ symptoms: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmSymptomArgs']]]]] = None,
1048
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
421
1049
  zone: Optional[pulumi.Input[str]] = None) -> 'V2Vm':
422
1050
  """
423
1051
  Get an existing V2Vm resource's state with the given name, id, and optional extra
@@ -426,37 +1054,138 @@ class V2Vm(pulumi.CustomResource):
426
1054
  :param str resource_name: The unique name of the resulting resource.
427
1055
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
428
1056
  :param pulumi.ResourceOptions opts: Options for the resource.
429
- :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
1057
+ :param pulumi.Input[pulumi.InputType['V2VmAcceleratorConfigArgs']] accelerator_config: The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
1058
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
1059
+ Structure is documented below.
1060
+ :param pulumi.Input[str] accelerator_type: TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
1061
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
1062
+ :param pulumi.Input[str] api_version: The API version that created this Node.
1063
+ :param pulumi.Input[str] cidr_block: The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
1064
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
1065
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
1066
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
1067
+ with any subnetworks in the user's provided network, or the provided network is peered with
1068
+ another network that is using that CIDR block.
1069
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmDataDiskArgs']]]] data_disks: The additional data disks for the Node.
1070
+ Structure is documented below.
430
1071
  :param pulumi.Input[str] description: Text description of the TPU.
1072
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1073
+ :param pulumi.Input[str] health: The health status of the TPU node.
1074
+ :param pulumi.Input[str] health_description: If this field is populated, it contains a description of why the TPU Node is unhealthy.
1075
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Resource labels to represent user-provided metadata.
1076
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1077
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1078
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] metadata: Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
1079
+ :param pulumi.Input[bool] multislice_node: Whether the Node belongs to a Multislice group.
431
1080
  :param pulumi.Input[str] name: The immutable name of the TPU.
1081
+ :param pulumi.Input[pulumi.InputType['V2VmNetworkConfigArgs']] network_config: Network configurations for the TPU node.
1082
+ Structure is documented below.
1083
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmNetworkEndpointArgs']]]] network_endpoints: The network endpoints where TPU workers can be accessed and sent work. It is recommended that
1084
+ runtime clients of the node reach out to the 0th entry in this map first.
1085
+ Structure is documented below.
432
1086
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
433
1087
  If it is not provided, the provider project is used.
1088
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
1089
+ and default labels configured on the provider.
1090
+ :param pulumi.Input[str] queued_resource: The qualified name of the QueuedResource that requested this Node.
434
1091
  :param pulumi.Input[str] runtime_version: Runtime version for the TPU.
435
1092
 
436
1093
 
437
1094
  - - -
1095
+ :param pulumi.Input[pulumi.InputType['V2VmSchedulingConfigArgs']] scheduling_config: The scheduling options for this node.
1096
+ Structure is documented below.
1097
+ :param pulumi.Input[pulumi.InputType['V2VmServiceAccountArgs']] service_account: The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
1098
+ specified, the default compute service account will be used.
1099
+ Structure is documented below.
1100
+ :param pulumi.Input[pulumi.InputType['V2VmShieldedInstanceConfigArgs']] shielded_instance_config: Shielded Instance options.
1101
+ Structure is documented below.
1102
+ :param pulumi.Input[str] state: The current state for the TPU Node.
1103
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['V2VmSymptomArgs']]]] symptoms: The Symptoms that have occurred to the TPU Node.
1104
+ Structure is documented below.
1105
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
438
1106
  :param pulumi.Input[str] zone: The GCP location for the TPU. If it is not provided, the provider zone is used.
439
1107
  """
440
1108
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
441
1109
 
442
1110
  __props__ = _V2VmState.__new__(_V2VmState)
443
1111
 
1112
+ __props__.__dict__["accelerator_config"] = accelerator_config
444
1113
  __props__.__dict__["accelerator_type"] = accelerator_type
1114
+ __props__.__dict__["api_version"] = api_version
1115
+ __props__.__dict__["cidr_block"] = cidr_block
1116
+ __props__.__dict__["data_disks"] = data_disks
445
1117
  __props__.__dict__["description"] = description
1118
+ __props__.__dict__["effective_labels"] = effective_labels
1119
+ __props__.__dict__["health"] = health
1120
+ __props__.__dict__["health_description"] = health_description
1121
+ __props__.__dict__["labels"] = labels
1122
+ __props__.__dict__["metadata"] = metadata
1123
+ __props__.__dict__["multislice_node"] = multislice_node
446
1124
  __props__.__dict__["name"] = name
1125
+ __props__.__dict__["network_config"] = network_config
1126
+ __props__.__dict__["network_endpoints"] = network_endpoints
447
1127
  __props__.__dict__["project"] = project
1128
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
1129
+ __props__.__dict__["queued_resource"] = queued_resource
448
1130
  __props__.__dict__["runtime_version"] = runtime_version
1131
+ __props__.__dict__["scheduling_config"] = scheduling_config
1132
+ __props__.__dict__["service_account"] = service_account
1133
+ __props__.__dict__["shielded_instance_config"] = shielded_instance_config
1134
+ __props__.__dict__["state"] = state
1135
+ __props__.__dict__["symptoms"] = symptoms
1136
+ __props__.__dict__["tags"] = tags
449
1137
  __props__.__dict__["zone"] = zone
450
1138
  return V2Vm(resource_name, opts=opts, __props__=__props__)
451
1139
 
1140
+ @property
1141
+ @pulumi.getter(name="acceleratorConfig")
1142
+ def accelerator_config(self) -> pulumi.Output['outputs.V2VmAcceleratorConfig']:
1143
+ """
1144
+ The AccleratorConfig for the TPU Node. `accelerator_config` cannot be used at the same time
1145
+ as `accelerator_type`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
1146
+ Structure is documented below.
1147
+ """
1148
+ return pulumi.get(self, "accelerator_config")
1149
+
452
1150
  @property
453
1151
  @pulumi.getter(name="acceleratorType")
454
- def accelerator_type(self) -> pulumi.Output[Optional[str]]:
1152
+ def accelerator_type(self) -> pulumi.Output[str]:
455
1153
  """
456
- TPU accelerator type for the TPU. If not specified, this defaults to 'v2-8'.
1154
+ TPU accelerator type for the TPU. `accelerator_type` cannot be used at the same time as
1155
+ `accelerator_config`. If neither is specified, `accelerator_type` defaults to 'v2-8'.
457
1156
  """
458
1157
  return pulumi.get(self, "accelerator_type")
459
1158
 
1159
+ @property
1160
+ @pulumi.getter(name="apiVersion")
1161
+ def api_version(self) -> pulumi.Output[str]:
1162
+ """
1163
+ The API version that created this Node.
1164
+ """
1165
+ return pulumi.get(self, "api_version")
1166
+
1167
+ @property
1168
+ @pulumi.getter(name="cidrBlock")
1169
+ def cidr_block(self) -> pulumi.Output[str]:
1170
+ """
1171
+ The CIDR block that the TPU node will use when selecting an IP address. This CIDR block must
1172
+ be a /29 block; the Compute Engine networks API forbids a smaller block, and using a larger
1173
+ block would be wasteful (a node can only consume one IP address). Errors will occur if the
1174
+ CIDR block has already been used for a currently existing TPU node, the CIDR block conflicts
1175
+ with any subnetworks in the user's provided network, or the provided network is peered with
1176
+ another network that is using that CIDR block.
1177
+ """
1178
+ return pulumi.get(self, "cidr_block")
1179
+
1180
+ @property
1181
+ @pulumi.getter(name="dataDisks")
1182
+ def data_disks(self) -> pulumi.Output[Optional[Sequence['outputs.V2VmDataDisk']]]:
1183
+ """
1184
+ The additional data disks for the Node.
1185
+ Structure is documented below.
1186
+ """
1187
+ return pulumi.get(self, "data_disks")
1188
+
460
1189
  @property
461
1190
  @pulumi.getter
462
1191
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -465,6 +1194,56 @@ class V2Vm(pulumi.CustomResource):
465
1194
  """
466
1195
  return pulumi.get(self, "description")
467
1196
 
1197
+ @property
1198
+ @pulumi.getter(name="effectiveLabels")
1199
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1200
+ """
1201
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1202
+ """
1203
+ return pulumi.get(self, "effective_labels")
1204
+
1205
+ @property
1206
+ @pulumi.getter
1207
+ def health(self) -> pulumi.Output[str]:
1208
+ """
1209
+ The health status of the TPU node.
1210
+ """
1211
+ return pulumi.get(self, "health")
1212
+
1213
+ @property
1214
+ @pulumi.getter(name="healthDescription")
1215
+ def health_description(self) -> pulumi.Output[str]:
1216
+ """
1217
+ If this field is populated, it contains a description of why the TPU Node is unhealthy.
1218
+ """
1219
+ return pulumi.get(self, "health_description")
1220
+
1221
+ @property
1222
+ @pulumi.getter
1223
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1224
+ """
1225
+ Resource labels to represent user-provided metadata.
1226
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1227
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1228
+ """
1229
+ return pulumi.get(self, "labels")
1230
+
1231
+ @property
1232
+ @pulumi.getter
1233
+ def metadata(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1234
+ """
1235
+ Custom metadata to apply to the TPU Node. Can set startup-script and shutdown-script.
1236
+ """
1237
+ return pulumi.get(self, "metadata")
1238
+
1239
+ @property
1240
+ @pulumi.getter(name="multisliceNode")
1241
+ def multislice_node(self) -> pulumi.Output[bool]:
1242
+ """
1243
+ Whether the Node belongs to a Multislice group.
1244
+ """
1245
+ return pulumi.get(self, "multislice_node")
1246
+
468
1247
  @property
469
1248
  @pulumi.getter
470
1249
  def name(self) -> pulumi.Output[str]:
@@ -473,6 +1252,25 @@ class V2Vm(pulumi.CustomResource):
473
1252
  """
474
1253
  return pulumi.get(self, "name")
475
1254
 
1255
+ @property
1256
+ @pulumi.getter(name="networkConfig")
1257
+ def network_config(self) -> pulumi.Output['outputs.V2VmNetworkConfig']:
1258
+ """
1259
+ Network configurations for the TPU node.
1260
+ Structure is documented below.
1261
+ """
1262
+ return pulumi.get(self, "network_config")
1263
+
1264
+ @property
1265
+ @pulumi.getter(name="networkEndpoints")
1266
+ def network_endpoints(self) -> pulumi.Output[Sequence['outputs.V2VmNetworkEndpoint']]:
1267
+ """
1268
+ The network endpoints where TPU workers can be accessed and sent work. It is recommended that
1269
+ runtime clients of the node reach out to the 0th entry in this map first.
1270
+ Structure is documented below.
1271
+ """
1272
+ return pulumi.get(self, "network_endpoints")
1273
+
476
1274
  @property
477
1275
  @pulumi.getter
478
1276
  def project(self) -> pulumi.Output[str]:
@@ -482,6 +1280,23 @@ class V2Vm(pulumi.CustomResource):
482
1280
  """
483
1281
  return pulumi.get(self, "project")
484
1282
 
1283
+ @property
1284
+ @pulumi.getter(name="pulumiLabels")
1285
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1286
+ """
1287
+ The combination of labels configured directly on the resource
1288
+ and default labels configured on the provider.
1289
+ """
1290
+ return pulumi.get(self, "pulumi_labels")
1291
+
1292
+ @property
1293
+ @pulumi.getter(name="queuedResource")
1294
+ def queued_resource(self) -> pulumi.Output[str]:
1295
+ """
1296
+ The qualified name of the QueuedResource that requested this Node.
1297
+ """
1298
+ return pulumi.get(self, "queued_resource")
1299
+
485
1300
  @property
486
1301
  @pulumi.getter(name="runtimeVersion")
487
1302
  def runtime_version(self) -> pulumi.Output[str]:
@@ -493,6 +1308,59 @@ class V2Vm(pulumi.CustomResource):
493
1308
  """
494
1309
  return pulumi.get(self, "runtime_version")
495
1310
 
1311
+ @property
1312
+ @pulumi.getter(name="schedulingConfig")
1313
+ def scheduling_config(self) -> pulumi.Output[Optional['outputs.V2VmSchedulingConfig']]:
1314
+ """
1315
+ The scheduling options for this node.
1316
+ Structure is documented below.
1317
+ """
1318
+ return pulumi.get(self, "scheduling_config")
1319
+
1320
+ @property
1321
+ @pulumi.getter(name="serviceAccount")
1322
+ def service_account(self) -> pulumi.Output['outputs.V2VmServiceAccount']:
1323
+ """
1324
+ The Google Cloud Platform Service Account to be used by the TPU node VMs. If None is
1325
+ specified, the default compute service account will be used.
1326
+ Structure is documented below.
1327
+ """
1328
+ return pulumi.get(self, "service_account")
1329
+
1330
+ @property
1331
+ @pulumi.getter(name="shieldedInstanceConfig")
1332
+ def shielded_instance_config(self) -> pulumi.Output[Optional['outputs.V2VmShieldedInstanceConfig']]:
1333
+ """
1334
+ Shielded Instance options.
1335
+ Structure is documented below.
1336
+ """
1337
+ return pulumi.get(self, "shielded_instance_config")
1338
+
1339
+ @property
1340
+ @pulumi.getter
1341
+ def state(self) -> pulumi.Output[str]:
1342
+ """
1343
+ The current state for the TPU Node.
1344
+ """
1345
+ return pulumi.get(self, "state")
1346
+
1347
+ @property
1348
+ @pulumi.getter
1349
+ def symptoms(self) -> pulumi.Output[Sequence['outputs.V2VmSymptom']]:
1350
+ """
1351
+ The Symptoms that have occurred to the TPU Node.
1352
+ Structure is documented below.
1353
+ """
1354
+ return pulumi.get(self, "symptoms")
1355
+
1356
+ @property
1357
+ @pulumi.getter
1358
+ def tags(self) -> pulumi.Output[Optional[Sequence[str]]]:
1359
+ """
1360
+ Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls.
1361
+ """
1362
+ return pulumi.get(self, "tags")
1363
+
496
1364
  @property
497
1365
  @pulumi.getter
498
1366
  def zone(self) -> pulumi.Output[str]: