pulumi-gcp 7.0.0a1699651384__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.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/METADATA +1 -1
  676. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/RECORD +678 -650
  677. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/WHEEL +0 -0
  678. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1062 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['NodePoolArgs', 'NodePool']
15
+
16
+ @pulumi.input_type
17
+ class NodePoolArgs:
18
+ def __init__(__self__, *,
19
+ cluster: pulumi.Input[str],
20
+ location: pulumi.Input[str],
21
+ node_count: pulumi.Input[int],
22
+ node_location: pulumi.Input[str],
23
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
24
+ local_disk_encryption: Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']] = None,
25
+ machine_filter: Optional[pulumi.Input[str]] = None,
26
+ name: Optional[pulumi.Input[str]] = None,
27
+ node_config: Optional[pulumi.Input['NodePoolNodeConfigArgs']] = None,
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a NodePool resource.
31
+ :param pulumi.Input[str] cluster: The name of the target Distributed Cloud Edge Cluster.
32
+
33
+
34
+ - - -
35
+ :param pulumi.Input[str] location: The location of the resource.
36
+ :param pulumi.Input[int] node_count: The number of nodes in the pool.
37
+ :param pulumi.Input[str] node_location: Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
38
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
39
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
40
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
41
+ :param pulumi.Input['NodePoolLocalDiskEncryptionArgs'] local_disk_encryption: Local disk encryption options. This field is only used when enabling CMEK support.
42
+ Structure is documented below.
43
+ :param pulumi.Input[str] machine_filter: Only machines matching this filter will be allowed to join the node pool.
44
+ The filtering language accepts strings like "name=<name>", and is
45
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
46
+ :param pulumi.Input[str] name: The resource name of the node pool.
47
+ :param pulumi.Input['NodePoolNodeConfigArgs'] node_config: Configuration for each node in the NodePool
48
+ Structure is documented below.
49
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
50
+ If it is not provided, the provider project is used.
51
+ """
52
+ pulumi.set(__self__, "cluster", cluster)
53
+ pulumi.set(__self__, "location", location)
54
+ pulumi.set(__self__, "node_count", node_count)
55
+ pulumi.set(__self__, "node_location", node_location)
56
+ if labels is not None:
57
+ pulumi.set(__self__, "labels", labels)
58
+ if local_disk_encryption is not None:
59
+ pulumi.set(__self__, "local_disk_encryption", local_disk_encryption)
60
+ if machine_filter is not None:
61
+ pulumi.set(__self__, "machine_filter", machine_filter)
62
+ if name is not None:
63
+ pulumi.set(__self__, "name", name)
64
+ if node_config is not None:
65
+ pulumi.set(__self__, "node_config", node_config)
66
+ if project is not None:
67
+ pulumi.set(__self__, "project", project)
68
+
69
+ @property
70
+ @pulumi.getter
71
+ def cluster(self) -> pulumi.Input[str]:
72
+ """
73
+ The name of the target Distributed Cloud Edge Cluster.
74
+
75
+
76
+ - - -
77
+ """
78
+ return pulumi.get(self, "cluster")
79
+
80
+ @cluster.setter
81
+ def cluster(self, value: pulumi.Input[str]):
82
+ pulumi.set(self, "cluster", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def location(self) -> pulumi.Input[str]:
87
+ """
88
+ The location of the resource.
89
+ """
90
+ return pulumi.get(self, "location")
91
+
92
+ @location.setter
93
+ def location(self, value: pulumi.Input[str]):
94
+ pulumi.set(self, "location", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="nodeCount")
98
+ def node_count(self) -> pulumi.Input[int]:
99
+ """
100
+ The number of nodes in the pool.
101
+ """
102
+ return pulumi.get(self, "node_count")
103
+
104
+ @node_count.setter
105
+ def node_count(self, value: pulumi.Input[int]):
106
+ pulumi.set(self, "node_count", value)
107
+
108
+ @property
109
+ @pulumi.getter(name="nodeLocation")
110
+ def node_location(self) -> pulumi.Input[str]:
111
+ """
112
+ Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
113
+ """
114
+ return pulumi.get(self, "node_location")
115
+
116
+ @node_location.setter
117
+ def node_location(self, value: pulumi.Input[str]):
118
+ pulumi.set(self, "node_location", value)
119
+
120
+ @property
121
+ @pulumi.getter
122
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
123
+ """
124
+ Labels associated with this resource.
125
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
126
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
127
+ """
128
+ return pulumi.get(self, "labels")
129
+
130
+ @labels.setter
131
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
132
+ pulumi.set(self, "labels", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="localDiskEncryption")
136
+ def local_disk_encryption(self) -> Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']]:
137
+ """
138
+ Local disk encryption options. This field is only used when enabling CMEK support.
139
+ Structure is documented below.
140
+ """
141
+ return pulumi.get(self, "local_disk_encryption")
142
+
143
+ @local_disk_encryption.setter
144
+ def local_disk_encryption(self, value: Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']]):
145
+ pulumi.set(self, "local_disk_encryption", value)
146
+
147
+ @property
148
+ @pulumi.getter(name="machineFilter")
149
+ def machine_filter(self) -> Optional[pulumi.Input[str]]:
150
+ """
151
+ Only machines matching this filter will be allowed to join the node pool.
152
+ The filtering language accepts strings like "name=<name>", and is
153
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
154
+ """
155
+ return pulumi.get(self, "machine_filter")
156
+
157
+ @machine_filter.setter
158
+ def machine_filter(self, value: Optional[pulumi.Input[str]]):
159
+ pulumi.set(self, "machine_filter", value)
160
+
161
+ @property
162
+ @pulumi.getter
163
+ def name(self) -> Optional[pulumi.Input[str]]:
164
+ """
165
+ The resource name of the node pool.
166
+ """
167
+ return pulumi.get(self, "name")
168
+
169
+ @name.setter
170
+ def name(self, value: Optional[pulumi.Input[str]]):
171
+ pulumi.set(self, "name", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="nodeConfig")
175
+ def node_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigArgs']]:
176
+ """
177
+ Configuration for each node in the NodePool
178
+ Structure is documented below.
179
+ """
180
+ return pulumi.get(self, "node_config")
181
+
182
+ @node_config.setter
183
+ def node_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigArgs']]):
184
+ pulumi.set(self, "node_config", value)
185
+
186
+ @property
187
+ @pulumi.getter
188
+ def project(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ The ID of the project in which the resource belongs.
191
+ If it is not provided, the provider project is used.
192
+ """
193
+ return pulumi.get(self, "project")
194
+
195
+ @project.setter
196
+ def project(self, value: Optional[pulumi.Input[str]]):
197
+ pulumi.set(self, "project", value)
198
+
199
+
200
+ @pulumi.input_type
201
+ class _NodePoolState:
202
+ def __init__(__self__, *,
203
+ cluster: Optional[pulumi.Input[str]] = None,
204
+ create_time: Optional[pulumi.Input[str]] = None,
205
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
206
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
207
+ local_disk_encryption: Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']] = None,
208
+ location: Optional[pulumi.Input[str]] = None,
209
+ machine_filter: Optional[pulumi.Input[str]] = None,
210
+ name: Optional[pulumi.Input[str]] = None,
211
+ node_config: Optional[pulumi.Input['NodePoolNodeConfigArgs']] = None,
212
+ node_count: Optional[pulumi.Input[int]] = None,
213
+ node_location: Optional[pulumi.Input[str]] = None,
214
+ node_version: Optional[pulumi.Input[str]] = None,
215
+ project: Optional[pulumi.Input[str]] = None,
216
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
217
+ update_time: Optional[pulumi.Input[str]] = None):
218
+ """
219
+ Input properties used for looking up and filtering NodePool resources.
220
+ :param pulumi.Input[str] cluster: The name of the target Distributed Cloud Edge Cluster.
221
+
222
+
223
+ - - -
224
+ :param pulumi.Input[str] create_time: The time when the node pool was created.
225
+ :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.
226
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
227
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
228
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
229
+ :param pulumi.Input['NodePoolLocalDiskEncryptionArgs'] local_disk_encryption: Local disk encryption options. This field is only used when enabling CMEK support.
230
+ Structure is documented below.
231
+ :param pulumi.Input[str] location: The location of the resource.
232
+ :param pulumi.Input[str] machine_filter: Only machines matching this filter will be allowed to join the node pool.
233
+ The filtering language accepts strings like "name=<name>", and is
234
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
235
+ :param pulumi.Input[str] name: The resource name of the node pool.
236
+ :param pulumi.Input['NodePoolNodeConfigArgs'] node_config: Configuration for each node in the NodePool
237
+ Structure is documented below.
238
+ :param pulumi.Input[int] node_count: The number of nodes in the pool.
239
+ :param pulumi.Input[str] node_location: Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
240
+ :param pulumi.Input[str] node_version: The lowest release version among all worker nodes.
241
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
242
+ If it is not provided, the provider project is used.
243
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
244
+ and default labels configured on the provider.
245
+ :param pulumi.Input[str] update_time: The time when the node pool was last updated.
246
+ """
247
+ if cluster is not None:
248
+ pulumi.set(__self__, "cluster", cluster)
249
+ if create_time is not None:
250
+ pulumi.set(__self__, "create_time", create_time)
251
+ if effective_labels is not None:
252
+ pulumi.set(__self__, "effective_labels", effective_labels)
253
+ if labels is not None:
254
+ pulumi.set(__self__, "labels", labels)
255
+ if local_disk_encryption is not None:
256
+ pulumi.set(__self__, "local_disk_encryption", local_disk_encryption)
257
+ if location is not None:
258
+ pulumi.set(__self__, "location", location)
259
+ if machine_filter is not None:
260
+ pulumi.set(__self__, "machine_filter", machine_filter)
261
+ if name is not None:
262
+ pulumi.set(__self__, "name", name)
263
+ if node_config is not None:
264
+ pulumi.set(__self__, "node_config", node_config)
265
+ if node_count is not None:
266
+ pulumi.set(__self__, "node_count", node_count)
267
+ if node_location is not None:
268
+ pulumi.set(__self__, "node_location", node_location)
269
+ if node_version is not None:
270
+ pulumi.set(__self__, "node_version", node_version)
271
+ if project is not None:
272
+ pulumi.set(__self__, "project", project)
273
+ if pulumi_labels is not None:
274
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
275
+ if update_time is not None:
276
+ pulumi.set(__self__, "update_time", update_time)
277
+
278
+ @property
279
+ @pulumi.getter
280
+ def cluster(self) -> Optional[pulumi.Input[str]]:
281
+ """
282
+ The name of the target Distributed Cloud Edge Cluster.
283
+
284
+
285
+ - - -
286
+ """
287
+ return pulumi.get(self, "cluster")
288
+
289
+ @cluster.setter
290
+ def cluster(self, value: Optional[pulumi.Input[str]]):
291
+ pulumi.set(self, "cluster", value)
292
+
293
+ @property
294
+ @pulumi.getter(name="createTime")
295
+ def create_time(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ The time when the node pool was created.
298
+ """
299
+ return pulumi.get(self, "create_time")
300
+
301
+ @create_time.setter
302
+ def create_time(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "create_time", value)
304
+
305
+ @property
306
+ @pulumi.getter(name="effectiveLabels")
307
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
308
+ """
309
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
310
+ """
311
+ return pulumi.get(self, "effective_labels")
312
+
313
+ @effective_labels.setter
314
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
315
+ pulumi.set(self, "effective_labels", value)
316
+
317
+ @property
318
+ @pulumi.getter
319
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
320
+ """
321
+ Labels associated with this resource.
322
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
323
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
324
+ """
325
+ return pulumi.get(self, "labels")
326
+
327
+ @labels.setter
328
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
329
+ pulumi.set(self, "labels", value)
330
+
331
+ @property
332
+ @pulumi.getter(name="localDiskEncryption")
333
+ def local_disk_encryption(self) -> Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']]:
334
+ """
335
+ Local disk encryption options. This field is only used when enabling CMEK support.
336
+ Structure is documented below.
337
+ """
338
+ return pulumi.get(self, "local_disk_encryption")
339
+
340
+ @local_disk_encryption.setter
341
+ def local_disk_encryption(self, value: Optional[pulumi.Input['NodePoolLocalDiskEncryptionArgs']]):
342
+ pulumi.set(self, "local_disk_encryption", value)
343
+
344
+ @property
345
+ @pulumi.getter
346
+ def location(self) -> Optional[pulumi.Input[str]]:
347
+ """
348
+ The location of the resource.
349
+ """
350
+ return pulumi.get(self, "location")
351
+
352
+ @location.setter
353
+ def location(self, value: Optional[pulumi.Input[str]]):
354
+ pulumi.set(self, "location", value)
355
+
356
+ @property
357
+ @pulumi.getter(name="machineFilter")
358
+ def machine_filter(self) -> Optional[pulumi.Input[str]]:
359
+ """
360
+ Only machines matching this filter will be allowed to join the node pool.
361
+ The filtering language accepts strings like "name=<name>", and is
362
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
363
+ """
364
+ return pulumi.get(self, "machine_filter")
365
+
366
+ @machine_filter.setter
367
+ def machine_filter(self, value: Optional[pulumi.Input[str]]):
368
+ pulumi.set(self, "machine_filter", value)
369
+
370
+ @property
371
+ @pulumi.getter
372
+ def name(self) -> Optional[pulumi.Input[str]]:
373
+ """
374
+ The resource name of the node pool.
375
+ """
376
+ return pulumi.get(self, "name")
377
+
378
+ @name.setter
379
+ def name(self, value: Optional[pulumi.Input[str]]):
380
+ pulumi.set(self, "name", value)
381
+
382
+ @property
383
+ @pulumi.getter(name="nodeConfig")
384
+ def node_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigArgs']]:
385
+ """
386
+ Configuration for each node in the NodePool
387
+ Structure is documented below.
388
+ """
389
+ return pulumi.get(self, "node_config")
390
+
391
+ @node_config.setter
392
+ def node_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigArgs']]):
393
+ pulumi.set(self, "node_config", value)
394
+
395
+ @property
396
+ @pulumi.getter(name="nodeCount")
397
+ def node_count(self) -> Optional[pulumi.Input[int]]:
398
+ """
399
+ The number of nodes in the pool.
400
+ """
401
+ return pulumi.get(self, "node_count")
402
+
403
+ @node_count.setter
404
+ def node_count(self, value: Optional[pulumi.Input[int]]):
405
+ pulumi.set(self, "node_count", value)
406
+
407
+ @property
408
+ @pulumi.getter(name="nodeLocation")
409
+ def node_location(self) -> Optional[pulumi.Input[str]]:
410
+ """
411
+ Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
412
+ """
413
+ return pulumi.get(self, "node_location")
414
+
415
+ @node_location.setter
416
+ def node_location(self, value: Optional[pulumi.Input[str]]):
417
+ pulumi.set(self, "node_location", value)
418
+
419
+ @property
420
+ @pulumi.getter(name="nodeVersion")
421
+ def node_version(self) -> Optional[pulumi.Input[str]]:
422
+ """
423
+ The lowest release version among all worker nodes.
424
+ """
425
+ return pulumi.get(self, "node_version")
426
+
427
+ @node_version.setter
428
+ def node_version(self, value: Optional[pulumi.Input[str]]):
429
+ pulumi.set(self, "node_version", value)
430
+
431
+ @property
432
+ @pulumi.getter
433
+ def project(self) -> Optional[pulumi.Input[str]]:
434
+ """
435
+ The ID of the project in which the resource belongs.
436
+ If it is not provided, the provider project is used.
437
+ """
438
+ return pulumi.get(self, "project")
439
+
440
+ @project.setter
441
+ def project(self, value: Optional[pulumi.Input[str]]):
442
+ pulumi.set(self, "project", value)
443
+
444
+ @property
445
+ @pulumi.getter(name="pulumiLabels")
446
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
447
+ """
448
+ The combination of labels configured directly on the resource
449
+ and default labels configured on the provider.
450
+ """
451
+ return pulumi.get(self, "pulumi_labels")
452
+
453
+ @pulumi_labels.setter
454
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
455
+ pulumi.set(self, "pulumi_labels", value)
456
+
457
+ @property
458
+ @pulumi.getter(name="updateTime")
459
+ def update_time(self) -> Optional[pulumi.Input[str]]:
460
+ """
461
+ The time when the node pool was last updated.
462
+ """
463
+ return pulumi.get(self, "update_time")
464
+
465
+ @update_time.setter
466
+ def update_time(self, value: Optional[pulumi.Input[str]]):
467
+ pulumi.set(self, "update_time", value)
468
+
469
+
470
+ class NodePool(pulumi.CustomResource):
471
+ @overload
472
+ def __init__(__self__,
473
+ resource_name: str,
474
+ opts: Optional[pulumi.ResourceOptions] = None,
475
+ cluster: Optional[pulumi.Input[str]] = None,
476
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
477
+ local_disk_encryption: Optional[pulumi.Input[pulumi.InputType['NodePoolLocalDiskEncryptionArgs']]] = None,
478
+ location: Optional[pulumi.Input[str]] = None,
479
+ machine_filter: Optional[pulumi.Input[str]] = None,
480
+ name: Optional[pulumi.Input[str]] = None,
481
+ node_config: Optional[pulumi.Input[pulumi.InputType['NodePoolNodeConfigArgs']]] = None,
482
+ node_count: Optional[pulumi.Input[int]] = None,
483
+ node_location: Optional[pulumi.Input[str]] = None,
484
+ project: Optional[pulumi.Input[str]] = None,
485
+ __props__=None):
486
+ """
487
+ "A set of Kubernetes nodes in a cluster with common configuration and specification."
488
+
489
+ To get more information about NodePool, see:
490
+
491
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters.nodePools)
492
+ * How-to Guides
493
+ * [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/docs)
494
+
495
+ ## Example Usage
496
+ ### Edgecontainer Node Pool
497
+
498
+ ```python
499
+ import pulumi
500
+ import pulumi_gcp as gcp
501
+
502
+ project = gcp.organizations.get_project()
503
+ cluster = gcp.edgecontainer.Cluster("cluster",
504
+ location="us-central1",
505
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
506
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
507
+ username="admin@hashicorptest.com",
508
+ ),
509
+ ),
510
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
511
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
512
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
513
+ ),
514
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
515
+ project=f"projects/{project.number}",
516
+ ))
517
+ default = gcp.edgecontainer.NodePool("default",
518
+ cluster=cluster.name,
519
+ location="us-central1",
520
+ node_location="us-central1-edge-example-edgesite",
521
+ node_count=3,
522
+ labels={
523
+ "my_key": "my_val",
524
+ "other_key": "other_val",
525
+ })
526
+ ```
527
+ ### Edgecontainer Node Pool With Cmek
528
+
529
+ ```python
530
+ import pulumi
531
+ import pulumi_gcp as gcp
532
+
533
+ project = gcp.organizations.get_project()
534
+ cluster = gcp.edgecontainer.Cluster("cluster",
535
+ location="us-central1",
536
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
537
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
538
+ username="admin@hashicorptest.com",
539
+ ),
540
+ ),
541
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
542
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
543
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
544
+ ),
545
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
546
+ project=f"projects/{project.number}",
547
+ ))
548
+ key_ring = gcp.kms.KeyRing("keyRing", location="us-central1")
549
+ crypto_key_crypto_key = gcp.kms.CryptoKey("cryptoKeyCryptoKey", key_ring=key_ring.id)
550
+ crypto_key_crypto_key_iam_member = gcp.kms.CryptoKeyIAMMember("cryptoKeyCryptoKeyIAMMember",
551
+ crypto_key_id=crypto_key_crypto_key.id,
552
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
553
+ member=f"serviceAccount:service-{project.number}@gcp-sa-edgecontainer.iam.gserviceaccount.com")
554
+ default = gcp.edgecontainer.NodePool("default",
555
+ cluster=cluster.name,
556
+ location="us-central1",
557
+ node_location="us-central1-edge-example-edgesite",
558
+ node_count=3,
559
+ local_disk_encryption=gcp.edgecontainer.NodePoolLocalDiskEncryptionArgs(
560
+ kms_key=crypto_key_crypto_key.id,
561
+ ),
562
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_crypto_key_iam_member]))
563
+ ```
564
+ ### Edgecontainer Local Control Plane Node Pool
565
+
566
+ ```python
567
+ import pulumi
568
+ import pulumi_gcp as gcp
569
+
570
+ project = gcp.organizations.get_project()
571
+ default_cluster = gcp.edgecontainer.Cluster("defaultCluster",
572
+ location="us-central1",
573
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
574
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
575
+ username="admin@hashicorptest.com",
576
+ ),
577
+ ),
578
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
579
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
580
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
581
+ ),
582
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
583
+ project=f"projects/{project.number}",
584
+ ),
585
+ external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
586
+ control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
587
+ local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
588
+ node_location="us-central1-edge-example-edgesite",
589
+ node_count=1,
590
+ machine_filter="machine-name",
591
+ shared_deployment_policy="ALLOWED",
592
+ ),
593
+ ))
594
+ default_node_pool = gcp.edgecontainer.NodePool("defaultNodePool",
595
+ cluster=google_edgecontainer_cluster["cluster"]["name"],
596
+ location="us-central1",
597
+ node_location="us-central1-edge-example-edgesite",
598
+ node_count=3)
599
+ ```
600
+
601
+ ## Import
602
+
603
+ NodePool can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}` * `{{project}}/{{location}}/{{cluster}}/{{name}}` * `{{location}}/{{cluster}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import NodePool using one of the formats above. For exampletf import {
604
+
605
+ id = "projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}"
606
+
607
+ to = google_edgecontainer_node_pool.default }
608
+
609
+ ```sh
610
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), NodePool can be imported using one of the formats above. For example
611
+ ```
612
+
613
+ ```sh
614
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}
615
+ ```
616
+
617
+ ```sh
618
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{project}}/{{location}}/{{cluster}}/{{name}}
619
+ ```
620
+
621
+ ```sh
622
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{location}}/{{cluster}}/{{name}}
623
+ ```
624
+
625
+ :param str resource_name: The name of the resource.
626
+ :param pulumi.ResourceOptions opts: Options for the resource.
627
+ :param pulumi.Input[str] cluster: The name of the target Distributed Cloud Edge Cluster.
628
+
629
+
630
+ - - -
631
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
632
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
633
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
634
+ :param pulumi.Input[pulumi.InputType['NodePoolLocalDiskEncryptionArgs']] local_disk_encryption: Local disk encryption options. This field is only used when enabling CMEK support.
635
+ Structure is documented below.
636
+ :param pulumi.Input[str] location: The location of the resource.
637
+ :param pulumi.Input[str] machine_filter: Only machines matching this filter will be allowed to join the node pool.
638
+ The filtering language accepts strings like "name=<name>", and is
639
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
640
+ :param pulumi.Input[str] name: The resource name of the node pool.
641
+ :param pulumi.Input[pulumi.InputType['NodePoolNodeConfigArgs']] node_config: Configuration for each node in the NodePool
642
+ Structure is documented below.
643
+ :param pulumi.Input[int] node_count: The number of nodes in the pool.
644
+ :param pulumi.Input[str] node_location: Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
645
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
646
+ If it is not provided, the provider project is used.
647
+ """
648
+ ...
649
+ @overload
650
+ def __init__(__self__,
651
+ resource_name: str,
652
+ args: NodePoolArgs,
653
+ opts: Optional[pulumi.ResourceOptions] = None):
654
+ """
655
+ "A set of Kubernetes nodes in a cluster with common configuration and specification."
656
+
657
+ To get more information about NodePool, see:
658
+
659
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters.nodePools)
660
+ * How-to Guides
661
+ * [Google Distributed Cloud Edge](https://cloud.google.com/distributed-cloud/edge/latest/docs)
662
+
663
+ ## Example Usage
664
+ ### Edgecontainer Node Pool
665
+
666
+ ```python
667
+ import pulumi
668
+ import pulumi_gcp as gcp
669
+
670
+ project = gcp.organizations.get_project()
671
+ cluster = gcp.edgecontainer.Cluster("cluster",
672
+ location="us-central1",
673
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
674
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
675
+ username="admin@hashicorptest.com",
676
+ ),
677
+ ),
678
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
679
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
680
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
681
+ ),
682
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
683
+ project=f"projects/{project.number}",
684
+ ))
685
+ default = gcp.edgecontainer.NodePool("default",
686
+ cluster=cluster.name,
687
+ location="us-central1",
688
+ node_location="us-central1-edge-example-edgesite",
689
+ node_count=3,
690
+ labels={
691
+ "my_key": "my_val",
692
+ "other_key": "other_val",
693
+ })
694
+ ```
695
+ ### Edgecontainer Node Pool With Cmek
696
+
697
+ ```python
698
+ import pulumi
699
+ import pulumi_gcp as gcp
700
+
701
+ project = gcp.organizations.get_project()
702
+ cluster = gcp.edgecontainer.Cluster("cluster",
703
+ location="us-central1",
704
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
705
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
706
+ username="admin@hashicorptest.com",
707
+ ),
708
+ ),
709
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
710
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
711
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
712
+ ),
713
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
714
+ project=f"projects/{project.number}",
715
+ ))
716
+ key_ring = gcp.kms.KeyRing("keyRing", location="us-central1")
717
+ crypto_key_crypto_key = gcp.kms.CryptoKey("cryptoKeyCryptoKey", key_ring=key_ring.id)
718
+ crypto_key_crypto_key_iam_member = gcp.kms.CryptoKeyIAMMember("cryptoKeyCryptoKeyIAMMember",
719
+ crypto_key_id=crypto_key_crypto_key.id,
720
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
721
+ member=f"serviceAccount:service-{project.number}@gcp-sa-edgecontainer.iam.gserviceaccount.com")
722
+ default = gcp.edgecontainer.NodePool("default",
723
+ cluster=cluster.name,
724
+ location="us-central1",
725
+ node_location="us-central1-edge-example-edgesite",
726
+ node_count=3,
727
+ local_disk_encryption=gcp.edgecontainer.NodePoolLocalDiskEncryptionArgs(
728
+ kms_key=crypto_key_crypto_key.id,
729
+ ),
730
+ opts=pulumi.ResourceOptions(depends_on=[crypto_key_crypto_key_iam_member]))
731
+ ```
732
+ ### Edgecontainer Local Control Plane Node Pool
733
+
734
+ ```python
735
+ import pulumi
736
+ import pulumi_gcp as gcp
737
+
738
+ project = gcp.organizations.get_project()
739
+ default_cluster = gcp.edgecontainer.Cluster("defaultCluster",
740
+ location="us-central1",
741
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
742
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
743
+ username="admin@hashicorptest.com",
744
+ ),
745
+ ),
746
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
747
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
748
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
749
+ ),
750
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
751
+ project=f"projects/{project.number}",
752
+ ),
753
+ external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
754
+ control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
755
+ local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
756
+ node_location="us-central1-edge-example-edgesite",
757
+ node_count=1,
758
+ machine_filter="machine-name",
759
+ shared_deployment_policy="ALLOWED",
760
+ ),
761
+ ))
762
+ default_node_pool = gcp.edgecontainer.NodePool("defaultNodePool",
763
+ cluster=google_edgecontainer_cluster["cluster"]["name"],
764
+ location="us-central1",
765
+ node_location="us-central1-edge-example-edgesite",
766
+ node_count=3)
767
+ ```
768
+
769
+ ## Import
770
+
771
+ NodePool can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}` * `{{project}}/{{location}}/{{cluster}}/{{name}}` * `{{location}}/{{cluster}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import NodePool using one of the formats above. For exampletf import {
772
+
773
+ id = "projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}"
774
+
775
+ to = google_edgecontainer_node_pool.default }
776
+
777
+ ```sh
778
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), NodePool can be imported using one of the formats above. For example
779
+ ```
780
+
781
+ ```sh
782
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/nodePools/{{name}}
783
+ ```
784
+
785
+ ```sh
786
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{project}}/{{location}}/{{cluster}}/{{name}}
787
+ ```
788
+
789
+ ```sh
790
+ $ pulumi import gcp:edgecontainer/nodePool:NodePool default {{location}}/{{cluster}}/{{name}}
791
+ ```
792
+
793
+ :param str resource_name: The name of the resource.
794
+ :param NodePoolArgs args: The arguments to use to populate this resource's properties.
795
+ :param pulumi.ResourceOptions opts: Options for the resource.
796
+ """
797
+ ...
798
+ def __init__(__self__, resource_name: str, *args, **kwargs):
799
+ resource_args, opts = _utilities.get_resource_args_opts(NodePoolArgs, pulumi.ResourceOptions, *args, **kwargs)
800
+ if resource_args is not None:
801
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
802
+ else:
803
+ __self__._internal_init(resource_name, *args, **kwargs)
804
+
805
+ def _internal_init(__self__,
806
+ resource_name: str,
807
+ opts: Optional[pulumi.ResourceOptions] = None,
808
+ cluster: Optional[pulumi.Input[str]] = None,
809
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
810
+ local_disk_encryption: Optional[pulumi.Input[pulumi.InputType['NodePoolLocalDiskEncryptionArgs']]] = None,
811
+ location: Optional[pulumi.Input[str]] = None,
812
+ machine_filter: Optional[pulumi.Input[str]] = None,
813
+ name: Optional[pulumi.Input[str]] = None,
814
+ node_config: Optional[pulumi.Input[pulumi.InputType['NodePoolNodeConfigArgs']]] = None,
815
+ node_count: Optional[pulumi.Input[int]] = None,
816
+ node_location: Optional[pulumi.Input[str]] = None,
817
+ project: Optional[pulumi.Input[str]] = None,
818
+ __props__=None):
819
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
820
+ if not isinstance(opts, pulumi.ResourceOptions):
821
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
822
+ if opts.id is None:
823
+ if __props__ is not None:
824
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
825
+ __props__ = NodePoolArgs.__new__(NodePoolArgs)
826
+
827
+ if cluster is None and not opts.urn:
828
+ raise TypeError("Missing required property 'cluster'")
829
+ __props__.__dict__["cluster"] = cluster
830
+ __props__.__dict__["labels"] = labels
831
+ __props__.__dict__["local_disk_encryption"] = local_disk_encryption
832
+ if location is None and not opts.urn:
833
+ raise TypeError("Missing required property 'location'")
834
+ __props__.__dict__["location"] = location
835
+ __props__.__dict__["machine_filter"] = machine_filter
836
+ __props__.__dict__["name"] = name
837
+ __props__.__dict__["node_config"] = node_config
838
+ if node_count is None and not opts.urn:
839
+ raise TypeError("Missing required property 'node_count'")
840
+ __props__.__dict__["node_count"] = node_count
841
+ if node_location is None and not opts.urn:
842
+ raise TypeError("Missing required property 'node_location'")
843
+ __props__.__dict__["node_location"] = node_location
844
+ __props__.__dict__["project"] = project
845
+ __props__.__dict__["create_time"] = None
846
+ __props__.__dict__["effective_labels"] = None
847
+ __props__.__dict__["node_version"] = None
848
+ __props__.__dict__["pulumi_labels"] = None
849
+ __props__.__dict__["update_time"] = None
850
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
851
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
852
+ super(NodePool, __self__).__init__(
853
+ 'gcp:edgecontainer/nodePool:NodePool',
854
+ resource_name,
855
+ __props__,
856
+ opts)
857
+
858
+ @staticmethod
859
+ def get(resource_name: str,
860
+ id: pulumi.Input[str],
861
+ opts: Optional[pulumi.ResourceOptions] = None,
862
+ cluster: Optional[pulumi.Input[str]] = None,
863
+ create_time: Optional[pulumi.Input[str]] = None,
864
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
865
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
866
+ local_disk_encryption: Optional[pulumi.Input[pulumi.InputType['NodePoolLocalDiskEncryptionArgs']]] = None,
867
+ location: Optional[pulumi.Input[str]] = None,
868
+ machine_filter: Optional[pulumi.Input[str]] = None,
869
+ name: Optional[pulumi.Input[str]] = None,
870
+ node_config: Optional[pulumi.Input[pulumi.InputType['NodePoolNodeConfigArgs']]] = None,
871
+ node_count: Optional[pulumi.Input[int]] = None,
872
+ node_location: Optional[pulumi.Input[str]] = None,
873
+ node_version: Optional[pulumi.Input[str]] = None,
874
+ project: Optional[pulumi.Input[str]] = None,
875
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
876
+ update_time: Optional[pulumi.Input[str]] = None) -> 'NodePool':
877
+ """
878
+ Get an existing NodePool resource's state with the given name, id, and optional extra
879
+ properties used to qualify the lookup.
880
+
881
+ :param str resource_name: The unique name of the resulting resource.
882
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
883
+ :param pulumi.ResourceOptions opts: Options for the resource.
884
+ :param pulumi.Input[str] cluster: The name of the target Distributed Cloud Edge Cluster.
885
+
886
+
887
+ - - -
888
+ :param pulumi.Input[str] create_time: The time when the node pool was created.
889
+ :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.
890
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels associated with this resource.
891
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
892
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
893
+ :param pulumi.Input[pulumi.InputType['NodePoolLocalDiskEncryptionArgs']] local_disk_encryption: Local disk encryption options. This field is only used when enabling CMEK support.
894
+ Structure is documented below.
895
+ :param pulumi.Input[str] location: The location of the resource.
896
+ :param pulumi.Input[str] machine_filter: Only machines matching this filter will be allowed to join the node pool.
897
+ The filtering language accepts strings like "name=<name>", and is
898
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
899
+ :param pulumi.Input[str] name: The resource name of the node pool.
900
+ :param pulumi.Input[pulumi.InputType['NodePoolNodeConfigArgs']] node_config: Configuration for each node in the NodePool
901
+ Structure is documented below.
902
+ :param pulumi.Input[int] node_count: The number of nodes in the pool.
903
+ :param pulumi.Input[str] node_location: Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
904
+ :param pulumi.Input[str] node_version: The lowest release version among all worker nodes.
905
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
906
+ If it is not provided, the provider project is used.
907
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
908
+ and default labels configured on the provider.
909
+ :param pulumi.Input[str] update_time: The time when the node pool was last updated.
910
+ """
911
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
912
+
913
+ __props__ = _NodePoolState.__new__(_NodePoolState)
914
+
915
+ __props__.__dict__["cluster"] = cluster
916
+ __props__.__dict__["create_time"] = create_time
917
+ __props__.__dict__["effective_labels"] = effective_labels
918
+ __props__.__dict__["labels"] = labels
919
+ __props__.__dict__["local_disk_encryption"] = local_disk_encryption
920
+ __props__.__dict__["location"] = location
921
+ __props__.__dict__["machine_filter"] = machine_filter
922
+ __props__.__dict__["name"] = name
923
+ __props__.__dict__["node_config"] = node_config
924
+ __props__.__dict__["node_count"] = node_count
925
+ __props__.__dict__["node_location"] = node_location
926
+ __props__.__dict__["node_version"] = node_version
927
+ __props__.__dict__["project"] = project
928
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
929
+ __props__.__dict__["update_time"] = update_time
930
+ return NodePool(resource_name, opts=opts, __props__=__props__)
931
+
932
+ @property
933
+ @pulumi.getter
934
+ def cluster(self) -> pulumi.Output[str]:
935
+ """
936
+ The name of the target Distributed Cloud Edge Cluster.
937
+
938
+
939
+ - - -
940
+ """
941
+ return pulumi.get(self, "cluster")
942
+
943
+ @property
944
+ @pulumi.getter(name="createTime")
945
+ def create_time(self) -> pulumi.Output[str]:
946
+ """
947
+ The time when the node pool was created.
948
+ """
949
+ return pulumi.get(self, "create_time")
950
+
951
+ @property
952
+ @pulumi.getter(name="effectiveLabels")
953
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
954
+ """
955
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
956
+ """
957
+ return pulumi.get(self, "effective_labels")
958
+
959
+ @property
960
+ @pulumi.getter
961
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
962
+ """
963
+ Labels associated with this resource.
964
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
965
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
966
+ """
967
+ return pulumi.get(self, "labels")
968
+
969
+ @property
970
+ @pulumi.getter(name="localDiskEncryption")
971
+ def local_disk_encryption(self) -> pulumi.Output[Optional['outputs.NodePoolLocalDiskEncryption']]:
972
+ """
973
+ Local disk encryption options. This field is only used when enabling CMEK support.
974
+ Structure is documented below.
975
+ """
976
+ return pulumi.get(self, "local_disk_encryption")
977
+
978
+ @property
979
+ @pulumi.getter
980
+ def location(self) -> pulumi.Output[str]:
981
+ """
982
+ The location of the resource.
983
+ """
984
+ return pulumi.get(self, "location")
985
+
986
+ @property
987
+ @pulumi.getter(name="machineFilter")
988
+ def machine_filter(self) -> pulumi.Output[str]:
989
+ """
990
+ Only machines matching this filter will be allowed to join the node pool.
991
+ The filtering language accepts strings like "name=<name>", and is
992
+ documented in more detail in [AIP-160](https://google.aip.dev/160).
993
+ """
994
+ return pulumi.get(self, "machine_filter")
995
+
996
+ @property
997
+ @pulumi.getter
998
+ def name(self) -> pulumi.Output[str]:
999
+ """
1000
+ The resource name of the node pool.
1001
+ """
1002
+ return pulumi.get(self, "name")
1003
+
1004
+ @property
1005
+ @pulumi.getter(name="nodeConfig")
1006
+ def node_config(self) -> pulumi.Output['outputs.NodePoolNodeConfig']:
1007
+ """
1008
+ Configuration for each node in the NodePool
1009
+ Structure is documented below.
1010
+ """
1011
+ return pulumi.get(self, "node_config")
1012
+
1013
+ @property
1014
+ @pulumi.getter(name="nodeCount")
1015
+ def node_count(self) -> pulumi.Output[int]:
1016
+ """
1017
+ The number of nodes in the pool.
1018
+ """
1019
+ return pulumi.get(self, "node_count")
1020
+
1021
+ @property
1022
+ @pulumi.getter(name="nodeLocation")
1023
+ def node_location(self) -> pulumi.Output[str]:
1024
+ """
1025
+ Name of the Google Distributed Cloud Edge zone where this node pool will be created. For example: `us-central1-edge-customer-a`.
1026
+ """
1027
+ return pulumi.get(self, "node_location")
1028
+
1029
+ @property
1030
+ @pulumi.getter(name="nodeVersion")
1031
+ def node_version(self) -> pulumi.Output[str]:
1032
+ """
1033
+ The lowest release version among all worker nodes.
1034
+ """
1035
+ return pulumi.get(self, "node_version")
1036
+
1037
+ @property
1038
+ @pulumi.getter
1039
+ def project(self) -> pulumi.Output[str]:
1040
+ """
1041
+ The ID of the project in which the resource belongs.
1042
+ If it is not provided, the provider project is used.
1043
+ """
1044
+ return pulumi.get(self, "project")
1045
+
1046
+ @property
1047
+ @pulumi.getter(name="pulumiLabels")
1048
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1049
+ """
1050
+ The combination of labels configured directly on the resource
1051
+ and default labels configured on the provider.
1052
+ """
1053
+ return pulumi.get(self, "pulumi_labels")
1054
+
1055
+ @property
1056
+ @pulumi.getter(name="updateTime")
1057
+ def update_time(self) -> pulumi.Output[str]:
1058
+ """
1059
+ The time when the node pool was last updated.
1060
+ """
1061
+ return pulumi.get(self, "update_time")
1062
+