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
@@ -0,0 +1,1204 @@
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
+
13
+ __all__ = [
14
+ 'ClusterAuthorization',
15
+ 'ClusterAuthorizationAdminUsers',
16
+ 'ClusterControlPlane',
17
+ 'ClusterControlPlaneEncryption',
18
+ 'ClusterControlPlaneEncryptionKmsStatus',
19
+ 'ClusterControlPlaneLocal',
20
+ 'ClusterControlPlaneRemote',
21
+ 'ClusterFleet',
22
+ 'ClusterMaintenanceEvent',
23
+ 'ClusterMaintenancePolicy',
24
+ 'ClusterMaintenancePolicyWindow',
25
+ 'ClusterMaintenancePolicyWindowRecurringWindow',
26
+ 'ClusterMaintenancePolicyWindowRecurringWindowWindow',
27
+ 'ClusterNetworking',
28
+ 'ClusterSystemAddonsConfig',
29
+ 'ClusterSystemAddonsConfigIngress',
30
+ 'NodePoolLocalDiskEncryption',
31
+ 'NodePoolNodeConfig',
32
+ 'VpnConnectionDetail',
33
+ 'VpnConnectionDetailCloudRouter',
34
+ 'VpnConnectionDetailCloudVpn',
35
+ 'VpnConnectionVpcProject',
36
+ ]
37
+
38
+ @pulumi.output_type
39
+ class ClusterAuthorization(dict):
40
+ @staticmethod
41
+ def __key_warning(key: str):
42
+ suggest = None
43
+ if key == "adminUsers":
44
+ suggest = "admin_users"
45
+
46
+ if suggest:
47
+ pulumi.log.warn(f"Key '{key}' not found in ClusterAuthorization. Access the value via the '{suggest}' property getter instead.")
48
+
49
+ def __getitem__(self, key: str) -> Any:
50
+ ClusterAuthorization.__key_warning(key)
51
+ return super().__getitem__(key)
52
+
53
+ def get(self, key: str, default = None) -> Any:
54
+ ClusterAuthorization.__key_warning(key)
55
+ return super().get(key, default)
56
+
57
+ def __init__(__self__, *,
58
+ admin_users: 'outputs.ClusterAuthorizationAdminUsers'):
59
+ """
60
+ :param 'ClusterAuthorizationAdminUsersArgs' admin_users: User that will be granted the cluster-admin role on the cluster, providing
61
+ full access to the cluster. Currently, this is a singular field, but will
62
+ be expanded to allow multiple admins in the future.
63
+ Structure is documented below.
64
+ """
65
+ pulumi.set(__self__, "admin_users", admin_users)
66
+
67
+ @property
68
+ @pulumi.getter(name="adminUsers")
69
+ def admin_users(self) -> 'outputs.ClusterAuthorizationAdminUsers':
70
+ """
71
+ User that will be granted the cluster-admin role on the cluster, providing
72
+ full access to the cluster. Currently, this is a singular field, but will
73
+ be expanded to allow multiple admins in the future.
74
+ Structure is documented below.
75
+ """
76
+ return pulumi.get(self, "admin_users")
77
+
78
+
79
+ @pulumi.output_type
80
+ class ClusterAuthorizationAdminUsers(dict):
81
+ def __init__(__self__, *,
82
+ username: str):
83
+ """
84
+ :param str username: An active Google username.
85
+
86
+ - - -
87
+ """
88
+ pulumi.set(__self__, "username", username)
89
+
90
+ @property
91
+ @pulumi.getter
92
+ def username(self) -> str:
93
+ """
94
+ An active Google username.
95
+
96
+ - - -
97
+ """
98
+ return pulumi.get(self, "username")
99
+
100
+
101
+ @pulumi.output_type
102
+ class ClusterControlPlane(dict):
103
+ def __init__(__self__, *,
104
+ local: Optional['outputs.ClusterControlPlaneLocal'] = None,
105
+ remote: Optional['outputs.ClusterControlPlaneRemote'] = None):
106
+ """
107
+ :param 'ClusterControlPlaneLocalArgs' local: Local control plane configuration.
108
+ Structure is documented below.
109
+ :param 'ClusterControlPlaneRemoteArgs' remote: Remote control plane configuration.
110
+ Structure is documented below.
111
+ """
112
+ if local is not None:
113
+ pulumi.set(__self__, "local", local)
114
+ if remote is not None:
115
+ pulumi.set(__self__, "remote", remote)
116
+
117
+ @property
118
+ @pulumi.getter
119
+ def local(self) -> Optional['outputs.ClusterControlPlaneLocal']:
120
+ """
121
+ Local control plane configuration.
122
+ Structure is documented below.
123
+ """
124
+ return pulumi.get(self, "local")
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def remote(self) -> Optional['outputs.ClusterControlPlaneRemote']:
129
+ """
130
+ Remote control plane configuration.
131
+ Structure is documented below.
132
+ """
133
+ return pulumi.get(self, "remote")
134
+
135
+
136
+ @pulumi.output_type
137
+ class ClusterControlPlaneEncryption(dict):
138
+ @staticmethod
139
+ def __key_warning(key: str):
140
+ suggest = None
141
+ if key == "kmsKey":
142
+ suggest = "kms_key"
143
+ elif key == "kmsKeyActiveVersion":
144
+ suggest = "kms_key_active_version"
145
+ elif key == "kmsKeyState":
146
+ suggest = "kms_key_state"
147
+ elif key == "kmsStatuses":
148
+ suggest = "kms_statuses"
149
+
150
+ if suggest:
151
+ pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneEncryption. Access the value via the '{suggest}' property getter instead.")
152
+
153
+ def __getitem__(self, key: str) -> Any:
154
+ ClusterControlPlaneEncryption.__key_warning(key)
155
+ return super().__getitem__(key)
156
+
157
+ def get(self, key: str, default = None) -> Any:
158
+ ClusterControlPlaneEncryption.__key_warning(key)
159
+ return super().get(key, default)
160
+
161
+ def __init__(__self__, *,
162
+ kms_key: Optional[str] = None,
163
+ kms_key_active_version: Optional[str] = None,
164
+ kms_key_state: Optional[str] = None,
165
+ kms_statuses: Optional[Sequence['outputs.ClusterControlPlaneEncryptionKmsStatus']] = None):
166
+ """
167
+ :param str kms_key: The Cloud KMS CryptoKey e.g.
168
+ projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
169
+ to use for protecting control plane disks. If not specified, a
170
+ Google-managed key will be used instead.
171
+ :param str kms_key_active_version: (Output)
172
+ The Cloud KMS CryptoKeyVersion currently in use for protecting control
173
+ plane disks. Only applicable if kms_key is set.
174
+ :param str kms_key_state: (Output)
175
+ Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then
176
+ nodes may go offline as they cannot access their local data. This can be
177
+ caused by a lack of permissions to use the key, or if the key is disabled
178
+ or deleted.
179
+ :param Sequence['ClusterControlPlaneEncryptionKmsStatusArgs'] kms_statuses: (Output)
180
+ Error status returned by Cloud KMS when using this key. This field may be
181
+ populated only if `kms_key_state` is not `KMS_KEY_STATE_KEY_AVAILABLE`.
182
+ If populated, this field contains the error status reported by Cloud KMS.
183
+ Structure is documented below.
184
+
185
+
186
+ <a name="nested_kms_status"></a>The `kms_status` block contains:
187
+ """
188
+ if kms_key is not None:
189
+ pulumi.set(__self__, "kms_key", kms_key)
190
+ if kms_key_active_version is not None:
191
+ pulumi.set(__self__, "kms_key_active_version", kms_key_active_version)
192
+ if kms_key_state is not None:
193
+ pulumi.set(__self__, "kms_key_state", kms_key_state)
194
+ if kms_statuses is not None:
195
+ pulumi.set(__self__, "kms_statuses", kms_statuses)
196
+
197
+ @property
198
+ @pulumi.getter(name="kmsKey")
199
+ def kms_key(self) -> Optional[str]:
200
+ """
201
+ The Cloud KMS CryptoKey e.g.
202
+ projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey}
203
+ to use for protecting control plane disks. If not specified, a
204
+ Google-managed key will be used instead.
205
+ """
206
+ return pulumi.get(self, "kms_key")
207
+
208
+ @property
209
+ @pulumi.getter(name="kmsKeyActiveVersion")
210
+ def kms_key_active_version(self) -> Optional[str]:
211
+ """
212
+ (Output)
213
+ The Cloud KMS CryptoKeyVersion currently in use for protecting control
214
+ plane disks. Only applicable if kms_key is set.
215
+ """
216
+ return pulumi.get(self, "kms_key_active_version")
217
+
218
+ @property
219
+ @pulumi.getter(name="kmsKeyState")
220
+ def kms_key_state(self) -> Optional[str]:
221
+ """
222
+ (Output)
223
+ Availability of the Cloud KMS CryptoKey. If not `KEY_AVAILABLE`, then
224
+ nodes may go offline as they cannot access their local data. This can be
225
+ caused by a lack of permissions to use the key, or if the key is disabled
226
+ or deleted.
227
+ """
228
+ return pulumi.get(self, "kms_key_state")
229
+
230
+ @property
231
+ @pulumi.getter(name="kmsStatuses")
232
+ def kms_statuses(self) -> Optional[Sequence['outputs.ClusterControlPlaneEncryptionKmsStatus']]:
233
+ """
234
+ (Output)
235
+ Error status returned by Cloud KMS when using this key. This field may be
236
+ populated only if `kms_key_state` is not `KMS_KEY_STATE_KEY_AVAILABLE`.
237
+ If populated, this field contains the error status reported by Cloud KMS.
238
+ Structure is documented below.
239
+
240
+
241
+ <a name="nested_kms_status"></a>The `kms_status` block contains:
242
+ """
243
+ return pulumi.get(self, "kms_statuses")
244
+
245
+
246
+ @pulumi.output_type
247
+ class ClusterControlPlaneEncryptionKmsStatus(dict):
248
+ def __init__(__self__, *,
249
+ code: Optional[int] = None,
250
+ message: Optional[str] = None):
251
+ """
252
+ :param int code: (Output)
253
+ The status code, which should be an enum value of google.rpc.Code.
254
+ :param str message: (Output)
255
+ A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
256
+ """
257
+ if code is not None:
258
+ pulumi.set(__self__, "code", code)
259
+ if message is not None:
260
+ pulumi.set(__self__, "message", message)
261
+
262
+ @property
263
+ @pulumi.getter
264
+ def code(self) -> Optional[int]:
265
+ """
266
+ (Output)
267
+ The status code, which should be an enum value of google.rpc.Code.
268
+ """
269
+ return pulumi.get(self, "code")
270
+
271
+ @property
272
+ @pulumi.getter
273
+ def message(self) -> Optional[str]:
274
+ """
275
+ (Output)
276
+ A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
277
+ """
278
+ return pulumi.get(self, "message")
279
+
280
+
281
+ @pulumi.output_type
282
+ class ClusterControlPlaneLocal(dict):
283
+ @staticmethod
284
+ def __key_warning(key: str):
285
+ suggest = None
286
+ if key == "machineFilter":
287
+ suggest = "machine_filter"
288
+ elif key == "nodeCount":
289
+ suggest = "node_count"
290
+ elif key == "nodeLocation":
291
+ suggest = "node_location"
292
+ elif key == "sharedDeploymentPolicy":
293
+ suggest = "shared_deployment_policy"
294
+
295
+ if suggest:
296
+ pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneLocal. Access the value via the '{suggest}' property getter instead.")
297
+
298
+ def __getitem__(self, key: str) -> Any:
299
+ ClusterControlPlaneLocal.__key_warning(key)
300
+ return super().__getitem__(key)
301
+
302
+ def get(self, key: str, default = None) -> Any:
303
+ ClusterControlPlaneLocal.__key_warning(key)
304
+ return super().get(key, default)
305
+
306
+ def __init__(__self__, *,
307
+ machine_filter: Optional[str] = None,
308
+ node_count: Optional[int] = None,
309
+ node_location: Optional[str] = None,
310
+ shared_deployment_policy: Optional[str] = None):
311
+ """
312
+ :param str machine_filter: Only machines matching this filter will be allowed to host control
313
+ plane nodes. The filtering language accepts strings like "name=<name>",
314
+ and is documented here: [AIP-160](https://google.aip.dev/160).
315
+ :param int node_count: The number of nodes to serve as replicas of the Control Plane.
316
+ Only 1 and 3 are supported.
317
+ :param str node_location: Name of the Google Distributed Cloud Edge zones where this node pool
318
+ will be created. For example: `us-central1-edge-customer-a`.
319
+ :param str shared_deployment_policy: Policy configuration about how user applications are deployed.
320
+ Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
321
+ """
322
+ if machine_filter is not None:
323
+ pulumi.set(__self__, "machine_filter", machine_filter)
324
+ if node_count is not None:
325
+ pulumi.set(__self__, "node_count", node_count)
326
+ if node_location is not None:
327
+ pulumi.set(__self__, "node_location", node_location)
328
+ if shared_deployment_policy is not None:
329
+ pulumi.set(__self__, "shared_deployment_policy", shared_deployment_policy)
330
+
331
+ @property
332
+ @pulumi.getter(name="machineFilter")
333
+ def machine_filter(self) -> Optional[str]:
334
+ """
335
+ Only machines matching this filter will be allowed to host control
336
+ plane nodes. The filtering language accepts strings like "name=<name>",
337
+ and is documented here: [AIP-160](https://google.aip.dev/160).
338
+ """
339
+ return pulumi.get(self, "machine_filter")
340
+
341
+ @property
342
+ @pulumi.getter(name="nodeCount")
343
+ def node_count(self) -> Optional[int]:
344
+ """
345
+ The number of nodes to serve as replicas of the Control Plane.
346
+ Only 1 and 3 are supported.
347
+ """
348
+ return pulumi.get(self, "node_count")
349
+
350
+ @property
351
+ @pulumi.getter(name="nodeLocation")
352
+ def node_location(self) -> Optional[str]:
353
+ """
354
+ Name of the Google Distributed Cloud Edge zones where this node pool
355
+ will be created. For example: `us-central1-edge-customer-a`.
356
+ """
357
+ return pulumi.get(self, "node_location")
358
+
359
+ @property
360
+ @pulumi.getter(name="sharedDeploymentPolicy")
361
+ def shared_deployment_policy(self) -> Optional[str]:
362
+ """
363
+ Policy configuration about how user applications are deployed.
364
+ Possible values are: `SHARED_DEPLOYMENT_POLICY_UNSPECIFIED`, `ALLOWED`, `DISALLOWED`.
365
+ """
366
+ return pulumi.get(self, "shared_deployment_policy")
367
+
368
+
369
+ @pulumi.output_type
370
+ class ClusterControlPlaneRemote(dict):
371
+ @staticmethod
372
+ def __key_warning(key: str):
373
+ suggest = None
374
+ if key == "nodeLocation":
375
+ suggest = "node_location"
376
+
377
+ if suggest:
378
+ pulumi.log.warn(f"Key '{key}' not found in ClusterControlPlaneRemote. Access the value via the '{suggest}' property getter instead.")
379
+
380
+ def __getitem__(self, key: str) -> Any:
381
+ ClusterControlPlaneRemote.__key_warning(key)
382
+ return super().__getitem__(key)
383
+
384
+ def get(self, key: str, default = None) -> Any:
385
+ ClusterControlPlaneRemote.__key_warning(key)
386
+ return super().get(key, default)
387
+
388
+ def __init__(__self__, *,
389
+ node_location: Optional[str] = None):
390
+ """
391
+ :param str node_location: Name of the Google Distributed Cloud Edge zones where this node pool
392
+ will be created. For example: `us-central1-edge-customer-a`.
393
+ """
394
+ if node_location is not None:
395
+ pulumi.set(__self__, "node_location", node_location)
396
+
397
+ @property
398
+ @pulumi.getter(name="nodeLocation")
399
+ def node_location(self) -> Optional[str]:
400
+ """
401
+ Name of the Google Distributed Cloud Edge zones where this node pool
402
+ will be created. For example: `us-central1-edge-customer-a`.
403
+ """
404
+ return pulumi.get(self, "node_location")
405
+
406
+
407
+ @pulumi.output_type
408
+ class ClusterFleet(dict):
409
+ def __init__(__self__, *,
410
+ project: str,
411
+ membership: Optional[str] = None):
412
+ """
413
+ :param str project: The name of the Fleet host project where this cluster will be registered.
414
+ Project names are formatted as
415
+ `projects/<project-number>`.
416
+ :param str membership: (Output)
417
+ The name of the managed Hub Membership resource associated to this cluster.
418
+ Membership names are formatted as
419
+ `projects/<project-number>/locations/global/membership/<cluster-id>`.
420
+ """
421
+ pulumi.set(__self__, "project", project)
422
+ if membership is not None:
423
+ pulumi.set(__self__, "membership", membership)
424
+
425
+ @property
426
+ @pulumi.getter
427
+ def project(self) -> str:
428
+ """
429
+ The name of the Fleet host project where this cluster will be registered.
430
+ Project names are formatted as
431
+ `projects/<project-number>`.
432
+ """
433
+ return pulumi.get(self, "project")
434
+
435
+ @property
436
+ @pulumi.getter
437
+ def membership(self) -> Optional[str]:
438
+ """
439
+ (Output)
440
+ The name of the managed Hub Membership resource associated to this cluster.
441
+ Membership names are formatted as
442
+ `projects/<project-number>/locations/global/membership/<cluster-id>`.
443
+ """
444
+ return pulumi.get(self, "membership")
445
+
446
+
447
+ @pulumi.output_type
448
+ class ClusterMaintenanceEvent(dict):
449
+ @staticmethod
450
+ def __key_warning(key: str):
451
+ suggest = None
452
+ if key == "createTime":
453
+ suggest = "create_time"
454
+ elif key == "endTime":
455
+ suggest = "end_time"
456
+ elif key == "startTime":
457
+ suggest = "start_time"
458
+ elif key == "targetVersion":
459
+ suggest = "target_version"
460
+ elif key == "updateTime":
461
+ suggest = "update_time"
462
+
463
+ if suggest:
464
+ pulumi.log.warn(f"Key '{key}' not found in ClusterMaintenanceEvent. Access the value via the '{suggest}' property getter instead.")
465
+
466
+ def __getitem__(self, key: str) -> Any:
467
+ ClusterMaintenanceEvent.__key_warning(key)
468
+ return super().__getitem__(key)
469
+
470
+ def get(self, key: str, default = None) -> Any:
471
+ ClusterMaintenanceEvent.__key_warning(key)
472
+ return super().get(key, default)
473
+
474
+ def __init__(__self__, *,
475
+ create_time: Optional[str] = None,
476
+ end_time: Optional[str] = None,
477
+ operation: Optional[str] = None,
478
+ schedule: Optional[str] = None,
479
+ start_time: Optional[str] = None,
480
+ state: Optional[str] = None,
481
+ target_version: Optional[str] = None,
482
+ type: Optional[str] = None,
483
+ update_time: Optional[str] = None,
484
+ uuid: Optional[str] = None):
485
+ """
486
+ :param str create_time: (Output)
487
+ The time when the maintenance event request was created.
488
+ :param str end_time: The time that the window ends. The end time must take place after the
489
+ start time.
490
+ :param str operation: (Output)
491
+ The operation for running the maintenance event. Specified in the format
492
+ projects/*/locations/*/operations/*. If the maintenance event is split
493
+ into multiple operations (e.g. due to maintenance windows), the latest
494
+ one is recorded.
495
+ :param str schedule: (Output)
496
+ The schedule of the maintenance event.
497
+ :param str start_time: The time that the window first starts.
498
+ :param str state: (Output)
499
+ Indicates the maintenance event state.
500
+ :param str target_version: The target cluster version. For example: "1.5.0".
501
+ :param str type: (Output)
502
+ Indicates the maintenance event type.
503
+ :param str update_time: (Output)
504
+ The time when the maintenance event message was updated.
505
+ :param str uuid: (Output)
506
+ UUID of the maintenance event.
507
+ """
508
+ if create_time is not None:
509
+ pulumi.set(__self__, "create_time", create_time)
510
+ if end_time is not None:
511
+ pulumi.set(__self__, "end_time", end_time)
512
+ if operation is not None:
513
+ pulumi.set(__self__, "operation", operation)
514
+ if schedule is not None:
515
+ pulumi.set(__self__, "schedule", schedule)
516
+ if start_time is not None:
517
+ pulumi.set(__self__, "start_time", start_time)
518
+ if state is not None:
519
+ pulumi.set(__self__, "state", state)
520
+ if target_version is not None:
521
+ pulumi.set(__self__, "target_version", target_version)
522
+ if type is not None:
523
+ pulumi.set(__self__, "type", type)
524
+ if update_time is not None:
525
+ pulumi.set(__self__, "update_time", update_time)
526
+ if uuid is not None:
527
+ pulumi.set(__self__, "uuid", uuid)
528
+
529
+ @property
530
+ @pulumi.getter(name="createTime")
531
+ def create_time(self) -> Optional[str]:
532
+ """
533
+ (Output)
534
+ The time when the maintenance event request was created.
535
+ """
536
+ return pulumi.get(self, "create_time")
537
+
538
+ @property
539
+ @pulumi.getter(name="endTime")
540
+ def end_time(self) -> Optional[str]:
541
+ """
542
+ The time that the window ends. The end time must take place after the
543
+ start time.
544
+ """
545
+ return pulumi.get(self, "end_time")
546
+
547
+ @property
548
+ @pulumi.getter
549
+ def operation(self) -> Optional[str]:
550
+ """
551
+ (Output)
552
+ The operation for running the maintenance event. Specified in the format
553
+ projects/*/locations/*/operations/*. If the maintenance event is split
554
+ into multiple operations (e.g. due to maintenance windows), the latest
555
+ one is recorded.
556
+ """
557
+ return pulumi.get(self, "operation")
558
+
559
+ @property
560
+ @pulumi.getter
561
+ def schedule(self) -> Optional[str]:
562
+ """
563
+ (Output)
564
+ The schedule of the maintenance event.
565
+ """
566
+ return pulumi.get(self, "schedule")
567
+
568
+ @property
569
+ @pulumi.getter(name="startTime")
570
+ def start_time(self) -> Optional[str]:
571
+ """
572
+ The time that the window first starts.
573
+ """
574
+ return pulumi.get(self, "start_time")
575
+
576
+ @property
577
+ @pulumi.getter
578
+ def state(self) -> Optional[str]:
579
+ """
580
+ (Output)
581
+ Indicates the maintenance event state.
582
+ """
583
+ return pulumi.get(self, "state")
584
+
585
+ @property
586
+ @pulumi.getter(name="targetVersion")
587
+ def target_version(self) -> Optional[str]:
588
+ """
589
+ The target cluster version. For example: "1.5.0".
590
+ """
591
+ return pulumi.get(self, "target_version")
592
+
593
+ @property
594
+ @pulumi.getter
595
+ def type(self) -> Optional[str]:
596
+ """
597
+ (Output)
598
+ Indicates the maintenance event type.
599
+ """
600
+ return pulumi.get(self, "type")
601
+
602
+ @property
603
+ @pulumi.getter(name="updateTime")
604
+ def update_time(self) -> Optional[str]:
605
+ """
606
+ (Output)
607
+ The time when the maintenance event message was updated.
608
+ """
609
+ return pulumi.get(self, "update_time")
610
+
611
+ @property
612
+ @pulumi.getter
613
+ def uuid(self) -> Optional[str]:
614
+ """
615
+ (Output)
616
+ UUID of the maintenance event.
617
+ """
618
+ return pulumi.get(self, "uuid")
619
+
620
+
621
+ @pulumi.output_type
622
+ class ClusterMaintenancePolicy(dict):
623
+ def __init__(__self__, *,
624
+ window: 'outputs.ClusterMaintenancePolicyWindow'):
625
+ """
626
+ :param 'ClusterMaintenancePolicyWindowArgs' window: Specifies the maintenance window in which maintenance may be performed.
627
+ Structure is documented below.
628
+ """
629
+ pulumi.set(__self__, "window", window)
630
+
631
+ @property
632
+ @pulumi.getter
633
+ def window(self) -> 'outputs.ClusterMaintenancePolicyWindow':
634
+ """
635
+ Specifies the maintenance window in which maintenance may be performed.
636
+ Structure is documented below.
637
+ """
638
+ return pulumi.get(self, "window")
639
+
640
+
641
+ @pulumi.output_type
642
+ class ClusterMaintenancePolicyWindow(dict):
643
+ @staticmethod
644
+ def __key_warning(key: str):
645
+ suggest = None
646
+ if key == "recurringWindow":
647
+ suggest = "recurring_window"
648
+
649
+ if suggest:
650
+ pulumi.log.warn(f"Key '{key}' not found in ClusterMaintenancePolicyWindow. Access the value via the '{suggest}' property getter instead.")
651
+
652
+ def __getitem__(self, key: str) -> Any:
653
+ ClusterMaintenancePolicyWindow.__key_warning(key)
654
+ return super().__getitem__(key)
655
+
656
+ def get(self, key: str, default = None) -> Any:
657
+ ClusterMaintenancePolicyWindow.__key_warning(key)
658
+ return super().get(key, default)
659
+
660
+ def __init__(__self__, *,
661
+ recurring_window: 'outputs.ClusterMaintenancePolicyWindowRecurringWindow'):
662
+ """
663
+ :param 'ClusterMaintenancePolicyWindowRecurringWindowArgs' recurring_window: Represents an arbitrary window of time that recurs.
664
+ Structure is documented below.
665
+ """
666
+ pulumi.set(__self__, "recurring_window", recurring_window)
667
+
668
+ @property
669
+ @pulumi.getter(name="recurringWindow")
670
+ def recurring_window(self) -> 'outputs.ClusterMaintenancePolicyWindowRecurringWindow':
671
+ """
672
+ Represents an arbitrary window of time that recurs.
673
+ Structure is documented below.
674
+ """
675
+ return pulumi.get(self, "recurring_window")
676
+
677
+
678
+ @pulumi.output_type
679
+ class ClusterMaintenancePolicyWindowRecurringWindow(dict):
680
+ def __init__(__self__, *,
681
+ recurrence: Optional[str] = None,
682
+ window: Optional['outputs.ClusterMaintenancePolicyWindowRecurringWindowWindow'] = None):
683
+ """
684
+ :param str recurrence: An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
685
+ this window recurs. They go on for the span of time between the start and
686
+ end time.
687
+ :param 'ClusterMaintenancePolicyWindowRecurringWindowWindowArgs' window: Represents an arbitrary window of time.
688
+ Structure is documented below.
689
+ """
690
+ if recurrence is not None:
691
+ pulumi.set(__self__, "recurrence", recurrence)
692
+ if window is not None:
693
+ pulumi.set(__self__, "window", window)
694
+
695
+ @property
696
+ @pulumi.getter
697
+ def recurrence(self) -> Optional[str]:
698
+ """
699
+ An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
700
+ this window recurs. They go on for the span of time between the start and
701
+ end time.
702
+ """
703
+ return pulumi.get(self, "recurrence")
704
+
705
+ @property
706
+ @pulumi.getter
707
+ def window(self) -> Optional['outputs.ClusterMaintenancePolicyWindowRecurringWindowWindow']:
708
+ """
709
+ Represents an arbitrary window of time.
710
+ Structure is documented below.
711
+ """
712
+ return pulumi.get(self, "window")
713
+
714
+
715
+ @pulumi.output_type
716
+ class ClusterMaintenancePolicyWindowRecurringWindowWindow(dict):
717
+ @staticmethod
718
+ def __key_warning(key: str):
719
+ suggest = None
720
+ if key == "endTime":
721
+ suggest = "end_time"
722
+ elif key == "startTime":
723
+ suggest = "start_time"
724
+
725
+ if suggest:
726
+ pulumi.log.warn(f"Key '{key}' not found in ClusterMaintenancePolicyWindowRecurringWindowWindow. Access the value via the '{suggest}' property getter instead.")
727
+
728
+ def __getitem__(self, key: str) -> Any:
729
+ ClusterMaintenancePolicyWindowRecurringWindowWindow.__key_warning(key)
730
+ return super().__getitem__(key)
731
+
732
+ def get(self, key: str, default = None) -> Any:
733
+ ClusterMaintenancePolicyWindowRecurringWindowWindow.__key_warning(key)
734
+ return super().get(key, default)
735
+
736
+ def __init__(__self__, *,
737
+ end_time: Optional[str] = None,
738
+ start_time: Optional[str] = None):
739
+ """
740
+ :param str end_time: The time that the window ends. The end time must take place after the
741
+ start time.
742
+ :param str start_time: The time that the window first starts.
743
+ """
744
+ if end_time is not None:
745
+ pulumi.set(__self__, "end_time", end_time)
746
+ if start_time is not None:
747
+ pulumi.set(__self__, "start_time", start_time)
748
+
749
+ @property
750
+ @pulumi.getter(name="endTime")
751
+ def end_time(self) -> Optional[str]:
752
+ """
753
+ The time that the window ends. The end time must take place after the
754
+ start time.
755
+ """
756
+ return pulumi.get(self, "end_time")
757
+
758
+ @property
759
+ @pulumi.getter(name="startTime")
760
+ def start_time(self) -> Optional[str]:
761
+ """
762
+ The time that the window first starts.
763
+ """
764
+ return pulumi.get(self, "start_time")
765
+
766
+
767
+ @pulumi.output_type
768
+ class ClusterNetworking(dict):
769
+ @staticmethod
770
+ def __key_warning(key: str):
771
+ suggest = None
772
+ if key == "clusterIpv4CidrBlocks":
773
+ suggest = "cluster_ipv4_cidr_blocks"
774
+ elif key == "servicesIpv4CidrBlocks":
775
+ suggest = "services_ipv4_cidr_blocks"
776
+ elif key == "clusterIpv6CidrBlocks":
777
+ suggest = "cluster_ipv6_cidr_blocks"
778
+ elif key == "networkType":
779
+ suggest = "network_type"
780
+ elif key == "servicesIpv6CidrBlocks":
781
+ suggest = "services_ipv6_cidr_blocks"
782
+
783
+ if suggest:
784
+ pulumi.log.warn(f"Key '{key}' not found in ClusterNetworking. Access the value via the '{suggest}' property getter instead.")
785
+
786
+ def __getitem__(self, key: str) -> Any:
787
+ ClusterNetworking.__key_warning(key)
788
+ return super().__getitem__(key)
789
+
790
+ def get(self, key: str, default = None) -> Any:
791
+ ClusterNetworking.__key_warning(key)
792
+ return super().get(key, default)
793
+
794
+ def __init__(__self__, *,
795
+ cluster_ipv4_cidr_blocks: Sequence[str],
796
+ services_ipv4_cidr_blocks: Sequence[str],
797
+ cluster_ipv6_cidr_blocks: Optional[Sequence[str]] = None,
798
+ network_type: Optional[str] = None,
799
+ services_ipv6_cidr_blocks: Optional[Sequence[str]] = None):
800
+ """
801
+ :param Sequence[str] cluster_ipv4_cidr_blocks: All pods in the cluster are assigned an RFC1918 IPv4 address from these
802
+ blocks. Only a single block is supported. This field cannot be changed
803
+ after creation.
804
+ :param Sequence[str] services_ipv4_cidr_blocks: All services in the cluster are assigned an RFC1918 IPv4 address from these
805
+ blocks. Only a single block is supported. This field cannot be changed
806
+ after creation.
807
+ :param Sequence[str] cluster_ipv6_cidr_blocks: If specified, dual stack mode is enabled and all pods in the cluster are
808
+ assigned an IPv6 address from these blocks alongside from an IPv4
809
+ address. Only a single block is supported. This field cannot be changed
810
+ after creation.
811
+ :param str network_type: (Output)
812
+ IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
813
+ :param Sequence[str] services_ipv6_cidr_blocks: If specified, dual stack mode is enabled and all services in the cluster are
814
+ assigned an IPv6 address from these blocks alongside from an IPv4
815
+ address. Only a single block is supported. This field cannot be changed
816
+ after creation.
817
+ """
818
+ pulumi.set(__self__, "cluster_ipv4_cidr_blocks", cluster_ipv4_cidr_blocks)
819
+ pulumi.set(__self__, "services_ipv4_cidr_blocks", services_ipv4_cidr_blocks)
820
+ if cluster_ipv6_cidr_blocks is not None:
821
+ pulumi.set(__self__, "cluster_ipv6_cidr_blocks", cluster_ipv6_cidr_blocks)
822
+ if network_type is not None:
823
+ pulumi.set(__self__, "network_type", network_type)
824
+ if services_ipv6_cidr_blocks is not None:
825
+ pulumi.set(__self__, "services_ipv6_cidr_blocks", services_ipv6_cidr_blocks)
826
+
827
+ @property
828
+ @pulumi.getter(name="clusterIpv4CidrBlocks")
829
+ def cluster_ipv4_cidr_blocks(self) -> Sequence[str]:
830
+ """
831
+ All pods in the cluster are assigned an RFC1918 IPv4 address from these
832
+ blocks. Only a single block is supported. This field cannot be changed
833
+ after creation.
834
+ """
835
+ return pulumi.get(self, "cluster_ipv4_cidr_blocks")
836
+
837
+ @property
838
+ @pulumi.getter(name="servicesIpv4CidrBlocks")
839
+ def services_ipv4_cidr_blocks(self) -> Sequence[str]:
840
+ """
841
+ All services in the cluster are assigned an RFC1918 IPv4 address from these
842
+ blocks. Only a single block is supported. This field cannot be changed
843
+ after creation.
844
+ """
845
+ return pulumi.get(self, "services_ipv4_cidr_blocks")
846
+
847
+ @property
848
+ @pulumi.getter(name="clusterIpv6CidrBlocks")
849
+ def cluster_ipv6_cidr_blocks(self) -> Optional[Sequence[str]]:
850
+ """
851
+ If specified, dual stack mode is enabled and all pods in the cluster are
852
+ assigned an IPv6 address from these blocks alongside from an IPv4
853
+ address. Only a single block is supported. This field cannot be changed
854
+ after creation.
855
+ """
856
+ return pulumi.get(self, "cluster_ipv6_cidr_blocks")
857
+
858
+ @property
859
+ @pulumi.getter(name="networkType")
860
+ def network_type(self) -> Optional[str]:
861
+ """
862
+ (Output)
863
+ IP addressing type of this cluster i.e. SINGLESTACK_V4 vs DUALSTACK_V4_V6.
864
+ """
865
+ return pulumi.get(self, "network_type")
866
+
867
+ @property
868
+ @pulumi.getter(name="servicesIpv6CidrBlocks")
869
+ def services_ipv6_cidr_blocks(self) -> Optional[Sequence[str]]:
870
+ """
871
+ If specified, dual stack mode is enabled and all services in the cluster are
872
+ assigned an IPv6 address from these blocks alongside from an IPv4
873
+ address. Only a single block is supported. This field cannot be changed
874
+ after creation.
875
+ """
876
+ return pulumi.get(self, "services_ipv6_cidr_blocks")
877
+
878
+
879
+ @pulumi.output_type
880
+ class ClusterSystemAddonsConfig(dict):
881
+ def __init__(__self__, *,
882
+ ingress: Optional['outputs.ClusterSystemAddonsConfigIngress'] = None):
883
+ """
884
+ :param 'ClusterSystemAddonsConfigIngressArgs' ingress: Config for the Ingress add-on which allows customers to create an Ingress
885
+ object to manage external access to the servers in a cluster. The add-on
886
+ consists of istiod and istio-ingress.
887
+ Structure is documented below.
888
+ """
889
+ if ingress is not None:
890
+ pulumi.set(__self__, "ingress", ingress)
891
+
892
+ @property
893
+ @pulumi.getter
894
+ def ingress(self) -> Optional['outputs.ClusterSystemAddonsConfigIngress']:
895
+ """
896
+ Config for the Ingress add-on which allows customers to create an Ingress
897
+ object to manage external access to the servers in a cluster. The add-on
898
+ consists of istiod and istio-ingress.
899
+ Structure is documented below.
900
+ """
901
+ return pulumi.get(self, "ingress")
902
+
903
+
904
+ @pulumi.output_type
905
+ class ClusterSystemAddonsConfigIngress(dict):
906
+ @staticmethod
907
+ def __key_warning(key: str):
908
+ suggest = None
909
+ if key == "ipv4Vip":
910
+ suggest = "ipv4_vip"
911
+
912
+ if suggest:
913
+ pulumi.log.warn(f"Key '{key}' not found in ClusterSystemAddonsConfigIngress. Access the value via the '{suggest}' property getter instead.")
914
+
915
+ def __getitem__(self, key: str) -> Any:
916
+ ClusterSystemAddonsConfigIngress.__key_warning(key)
917
+ return super().__getitem__(key)
918
+
919
+ def get(self, key: str, default = None) -> Any:
920
+ ClusterSystemAddonsConfigIngress.__key_warning(key)
921
+ return super().get(key, default)
922
+
923
+ def __init__(__self__, *,
924
+ disabled: Optional[bool] = None,
925
+ ipv4_vip: Optional[str] = None):
926
+ """
927
+ :param bool disabled: Whether Ingress is disabled.
928
+ :param str ipv4_vip: Ingress VIP.
929
+ """
930
+ if disabled is not None:
931
+ pulumi.set(__self__, "disabled", disabled)
932
+ if ipv4_vip is not None:
933
+ pulumi.set(__self__, "ipv4_vip", ipv4_vip)
934
+
935
+ @property
936
+ @pulumi.getter
937
+ def disabled(self) -> Optional[bool]:
938
+ """
939
+ Whether Ingress is disabled.
940
+ """
941
+ return pulumi.get(self, "disabled")
942
+
943
+ @property
944
+ @pulumi.getter(name="ipv4Vip")
945
+ def ipv4_vip(self) -> Optional[str]:
946
+ """
947
+ Ingress VIP.
948
+ """
949
+ return pulumi.get(self, "ipv4_vip")
950
+
951
+
952
+ @pulumi.output_type
953
+ class NodePoolLocalDiskEncryption(dict):
954
+ @staticmethod
955
+ def __key_warning(key: str):
956
+ suggest = None
957
+ if key == "kmsKey":
958
+ suggest = "kms_key"
959
+ elif key == "kmsKeyActiveVersion":
960
+ suggest = "kms_key_active_version"
961
+ elif key == "kmsKeyState":
962
+ suggest = "kms_key_state"
963
+
964
+ if suggest:
965
+ pulumi.log.warn(f"Key '{key}' not found in NodePoolLocalDiskEncryption. Access the value via the '{suggest}' property getter instead.")
966
+
967
+ def __getitem__(self, key: str) -> Any:
968
+ NodePoolLocalDiskEncryption.__key_warning(key)
969
+ return super().__getitem__(key)
970
+
971
+ def get(self, key: str, default = None) -> Any:
972
+ NodePoolLocalDiskEncryption.__key_warning(key)
973
+ return super().get(key, default)
974
+
975
+ def __init__(__self__, *,
976
+ kms_key: Optional[str] = None,
977
+ kms_key_active_version: Optional[str] = None,
978
+ kms_key_state: Optional[str] = None):
979
+ """
980
+ :param str kms_key: The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks.
981
+ If not specified, a Google-managed key will be used instead.
982
+ :param str kms_key_active_version: (Output)
983
+ The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.
984
+ :param str kms_key_state: (Output)
985
+ Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data.
986
+ This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
987
+ """
988
+ if kms_key is not None:
989
+ pulumi.set(__self__, "kms_key", kms_key)
990
+ if kms_key_active_version is not None:
991
+ pulumi.set(__self__, "kms_key_active_version", kms_key_active_version)
992
+ if kms_key_state is not None:
993
+ pulumi.set(__self__, "kms_key_state", kms_key_state)
994
+
995
+ @property
996
+ @pulumi.getter(name="kmsKey")
997
+ def kms_key(self) -> Optional[str]:
998
+ """
999
+ The Cloud KMS CryptoKey e.g. projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{cryptoKey} to use for protecting node local disks.
1000
+ If not specified, a Google-managed key will be used instead.
1001
+ """
1002
+ return pulumi.get(self, "kms_key")
1003
+
1004
+ @property
1005
+ @pulumi.getter(name="kmsKeyActiveVersion")
1006
+ def kms_key_active_version(self) -> Optional[str]:
1007
+ """
1008
+ (Output)
1009
+ The Cloud KMS CryptoKeyVersion currently in use for protecting node local disks. Only applicable if kmsKey is set.
1010
+ """
1011
+ return pulumi.get(self, "kms_key_active_version")
1012
+
1013
+ @property
1014
+ @pulumi.getter(name="kmsKeyState")
1015
+ def kms_key_state(self) -> Optional[str]:
1016
+ """
1017
+ (Output)
1018
+ Availability of the Cloud KMS CryptoKey. If not KEY_AVAILABLE, then nodes may go offline as they cannot access their local data.
1019
+ This can be caused by a lack of permissions to use the key, or if the key is disabled or deleted.
1020
+ """
1021
+ return pulumi.get(self, "kms_key_state")
1022
+
1023
+
1024
+ @pulumi.output_type
1025
+ class NodePoolNodeConfig(dict):
1026
+ def __init__(__self__, *,
1027
+ labels: Optional[Mapping[str, str]] = None):
1028
+ """
1029
+ :param Mapping[str, str] labels: "The Kubernetes node labels"
1030
+ """
1031
+ if labels is not None:
1032
+ pulumi.set(__self__, "labels", labels)
1033
+
1034
+ @property
1035
+ @pulumi.getter
1036
+ def labels(self) -> Optional[Mapping[str, str]]:
1037
+ """
1038
+ "The Kubernetes node labels"
1039
+ """
1040
+ return pulumi.get(self, "labels")
1041
+
1042
+
1043
+ @pulumi.output_type
1044
+ class VpnConnectionDetail(dict):
1045
+ @staticmethod
1046
+ def __key_warning(key: str):
1047
+ suggest = None
1048
+ if key == "cloudRouters":
1049
+ suggest = "cloud_routers"
1050
+ elif key == "cloudVpns":
1051
+ suggest = "cloud_vpns"
1052
+
1053
+ if suggest:
1054
+ pulumi.log.warn(f"Key '{key}' not found in VpnConnectionDetail. Access the value via the '{suggest}' property getter instead.")
1055
+
1056
+ def __getitem__(self, key: str) -> Any:
1057
+ VpnConnectionDetail.__key_warning(key)
1058
+ return super().__getitem__(key)
1059
+
1060
+ def get(self, key: str, default = None) -> Any:
1061
+ VpnConnectionDetail.__key_warning(key)
1062
+ return super().get(key, default)
1063
+
1064
+ def __init__(__self__, *,
1065
+ cloud_routers: Optional[Sequence['outputs.VpnConnectionDetailCloudRouter']] = None,
1066
+ cloud_vpns: Optional[Sequence['outputs.VpnConnectionDetailCloudVpn']] = None,
1067
+ error: Optional[str] = None,
1068
+ state: Optional[str] = None):
1069
+ """
1070
+ :param Sequence['VpnConnectionDetailCloudRouterArgs'] cloud_routers: (Output)
1071
+ The Cloud Router info.
1072
+ Structure is documented below.
1073
+ :param Sequence['VpnConnectionDetailCloudVpnArgs'] cloud_vpns: (Output)
1074
+ Each connection has multiple Cloud VPN gateways.
1075
+ Structure is documented below.
1076
+ :param str error: (Output)
1077
+ The error message. This is only populated when state=ERROR.
1078
+ :param str state: (Output)
1079
+ The current connection state.
1080
+ """
1081
+ if cloud_routers is not None:
1082
+ pulumi.set(__self__, "cloud_routers", cloud_routers)
1083
+ if cloud_vpns is not None:
1084
+ pulumi.set(__self__, "cloud_vpns", cloud_vpns)
1085
+ if error is not None:
1086
+ pulumi.set(__self__, "error", error)
1087
+ if state is not None:
1088
+ pulumi.set(__self__, "state", state)
1089
+
1090
+ @property
1091
+ @pulumi.getter(name="cloudRouters")
1092
+ def cloud_routers(self) -> Optional[Sequence['outputs.VpnConnectionDetailCloudRouter']]:
1093
+ """
1094
+ (Output)
1095
+ The Cloud Router info.
1096
+ Structure is documented below.
1097
+ """
1098
+ return pulumi.get(self, "cloud_routers")
1099
+
1100
+ @property
1101
+ @pulumi.getter(name="cloudVpns")
1102
+ def cloud_vpns(self) -> Optional[Sequence['outputs.VpnConnectionDetailCloudVpn']]:
1103
+ """
1104
+ (Output)
1105
+ Each connection has multiple Cloud VPN gateways.
1106
+ Structure is documented below.
1107
+ """
1108
+ return pulumi.get(self, "cloud_vpns")
1109
+
1110
+ @property
1111
+ @pulumi.getter
1112
+ def error(self) -> Optional[str]:
1113
+ """
1114
+ (Output)
1115
+ The error message. This is only populated when state=ERROR.
1116
+ """
1117
+ return pulumi.get(self, "error")
1118
+
1119
+ @property
1120
+ @pulumi.getter
1121
+ def state(self) -> Optional[str]:
1122
+ """
1123
+ (Output)
1124
+ The current connection state.
1125
+ """
1126
+ return pulumi.get(self, "state")
1127
+
1128
+
1129
+ @pulumi.output_type
1130
+ class VpnConnectionDetailCloudRouter(dict):
1131
+ def __init__(__self__, *,
1132
+ name: Optional[str] = None):
1133
+ """
1134
+ :param str name: The resource name of VPN connection
1135
+ """
1136
+ if name is not None:
1137
+ pulumi.set(__self__, "name", name)
1138
+
1139
+ @property
1140
+ @pulumi.getter
1141
+ def name(self) -> Optional[str]:
1142
+ """
1143
+ The resource name of VPN connection
1144
+ """
1145
+ return pulumi.get(self, "name")
1146
+
1147
+
1148
+ @pulumi.output_type
1149
+ class VpnConnectionDetailCloudVpn(dict):
1150
+ def __init__(__self__, *,
1151
+ gateway: Optional[str] = None):
1152
+ """
1153
+ :param str gateway: (Output)
1154
+ The created Cloud VPN gateway name.
1155
+ """
1156
+ if gateway is not None:
1157
+ pulumi.set(__self__, "gateway", gateway)
1158
+
1159
+ @property
1160
+ @pulumi.getter
1161
+ def gateway(self) -> Optional[str]:
1162
+ """
1163
+ (Output)
1164
+ The created Cloud VPN gateway name.
1165
+ """
1166
+ return pulumi.get(self, "gateway")
1167
+
1168
+
1169
+ @pulumi.output_type
1170
+ class VpnConnectionVpcProject(dict):
1171
+ @staticmethod
1172
+ def __key_warning(key: str):
1173
+ suggest = None
1174
+ if key == "projectId":
1175
+ suggest = "project_id"
1176
+
1177
+ if suggest:
1178
+ pulumi.log.warn(f"Key '{key}' not found in VpnConnectionVpcProject. Access the value via the '{suggest}' property getter instead.")
1179
+
1180
+ def __getitem__(self, key: str) -> Any:
1181
+ VpnConnectionVpcProject.__key_warning(key)
1182
+ return super().__getitem__(key)
1183
+
1184
+ def get(self, key: str, default = None) -> Any:
1185
+ VpnConnectionVpcProject.__key_warning(key)
1186
+ return super().get(key, default)
1187
+
1188
+ def __init__(__self__, *,
1189
+ project_id: Optional[str] = None):
1190
+ """
1191
+ :param str project_id: The project of the VPC to connect to. If not specified, it is the same as the cluster project.
1192
+ """
1193
+ if project_id is not None:
1194
+ pulumi.set(__self__, "project_id", project_id)
1195
+
1196
+ @property
1197
+ @pulumi.getter(name="projectId")
1198
+ def project_id(self) -> Optional[str]:
1199
+ """
1200
+ The project of the VPC to connect to. If not specified, it is the same as the cluster project.
1201
+ """
1202
+ return pulumi.get(self, "project_id")
1203
+
1204
+