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,1539 @@
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__ = ['ClusterArgs', 'Cluster']
15
+
16
+ @pulumi.input_type
17
+ class ClusterArgs:
18
+ def __init__(__self__, *,
19
+ authorization: pulumi.Input['ClusterAuthorizationArgs'],
20
+ fleet: pulumi.Input['ClusterFleetArgs'],
21
+ location: pulumi.Input[str],
22
+ networking: pulumi.Input['ClusterNetworkingArgs'],
23
+ control_plane: Optional[pulumi.Input['ClusterControlPlaneArgs']] = None,
24
+ control_plane_encryption: Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']] = None,
25
+ default_max_pods_per_node: Optional[pulumi.Input[int]] = None,
26
+ external_load_balancer_ipv4_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
27
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
28
+ maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
29
+ name: Optional[pulumi.Input[str]] = None,
30
+ project: Optional[pulumi.Input[str]] = None,
31
+ release_channel: Optional[pulumi.Input[str]] = None,
32
+ system_addons_config: Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']] = None,
33
+ target_version: Optional[pulumi.Input[str]] = None):
34
+ """
35
+ The set of arguments for constructing a Cluster resource.
36
+ :param pulumi.Input['ClusterAuthorizationArgs'] authorization: RBAC policy that will be applied and managed by GEC.
37
+ Structure is documented below.
38
+ :param pulumi.Input['ClusterFleetArgs'] fleet: Fleet related configuration.
39
+ Fleets are a Google Cloud concept for logically organizing clusters,
40
+ letting you use and manage multi-cluster capabilities and apply
41
+ consistent policies across your systems.
42
+ Structure is documented below.
43
+ :param pulumi.Input[str] location: The location of the resource.
44
+ :param pulumi.Input['ClusterNetworkingArgs'] networking: Fleet related configuration.
45
+ Fleets are a Google Cloud concept for logically organizing clusters,
46
+ letting you use and manage multi-cluster capabilities and apply
47
+ consistent policies across your systems.
48
+ Structure is documented below.
49
+ :param pulumi.Input['ClusterControlPlaneArgs'] control_plane: The configuration of the cluster control plane.
50
+ Structure is documented below.
51
+ :param pulumi.Input['ClusterControlPlaneEncryptionArgs'] control_plane_encryption: Remote control plane disk encryption options. This field is only used when
52
+ enabling CMEK support.
53
+ Structure is documented below.
54
+ :param pulumi.Input[int] default_max_pods_per_node: The default maximum number of pods per node used if a maximum value is not
55
+ specified explicitly for a node pool in this cluster. If unspecified, the
56
+ Kubernetes default value will be used.
57
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_load_balancer_ipv4_address_pools: Address pools for cluster data plane external load balancing.
58
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the edgecloud cluster.
59
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
60
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
61
+ :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Cluster-wide maintenance policy configuration.
62
+ Structure is documented below.
63
+ :param pulumi.Input[str] name: The GDCE cluster name.
64
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
65
+ If it is not provided, the provider project is used.
66
+ :param pulumi.Input[str] release_channel: The release channel a cluster is subscribed to.
67
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
68
+ :param pulumi.Input['ClusterSystemAddonsConfigArgs'] system_addons_config: Config that customers are allowed to define for GDCE system add-ons.
69
+ Structure is documented below.
70
+ :param pulumi.Input[str] target_version: The target cluster version. For example: "1.5.0".
71
+ """
72
+ pulumi.set(__self__, "authorization", authorization)
73
+ pulumi.set(__self__, "fleet", fleet)
74
+ pulumi.set(__self__, "location", location)
75
+ pulumi.set(__self__, "networking", networking)
76
+ if control_plane is not None:
77
+ pulumi.set(__self__, "control_plane", control_plane)
78
+ if control_plane_encryption is not None:
79
+ pulumi.set(__self__, "control_plane_encryption", control_plane_encryption)
80
+ if default_max_pods_per_node is not None:
81
+ pulumi.set(__self__, "default_max_pods_per_node", default_max_pods_per_node)
82
+ if external_load_balancer_ipv4_address_pools is not None:
83
+ pulumi.set(__self__, "external_load_balancer_ipv4_address_pools", external_load_balancer_ipv4_address_pools)
84
+ if labels is not None:
85
+ pulumi.set(__self__, "labels", labels)
86
+ if maintenance_policy is not None:
87
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
88
+ if name is not None:
89
+ pulumi.set(__self__, "name", name)
90
+ if project is not None:
91
+ pulumi.set(__self__, "project", project)
92
+ if release_channel is not None:
93
+ pulumi.set(__self__, "release_channel", release_channel)
94
+ if system_addons_config is not None:
95
+ pulumi.set(__self__, "system_addons_config", system_addons_config)
96
+ if target_version is not None:
97
+ pulumi.set(__self__, "target_version", target_version)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def authorization(self) -> pulumi.Input['ClusterAuthorizationArgs']:
102
+ """
103
+ RBAC policy that will be applied and managed by GEC.
104
+ Structure is documented below.
105
+ """
106
+ return pulumi.get(self, "authorization")
107
+
108
+ @authorization.setter
109
+ def authorization(self, value: pulumi.Input['ClusterAuthorizationArgs']):
110
+ pulumi.set(self, "authorization", value)
111
+
112
+ @property
113
+ @pulumi.getter
114
+ def fleet(self) -> pulumi.Input['ClusterFleetArgs']:
115
+ """
116
+ Fleet related configuration.
117
+ Fleets are a Google Cloud concept for logically organizing clusters,
118
+ letting you use and manage multi-cluster capabilities and apply
119
+ consistent policies across your systems.
120
+ Structure is documented below.
121
+ """
122
+ return pulumi.get(self, "fleet")
123
+
124
+ @fleet.setter
125
+ def fleet(self, value: pulumi.Input['ClusterFleetArgs']):
126
+ pulumi.set(self, "fleet", value)
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def location(self) -> pulumi.Input[str]:
131
+ """
132
+ The location of the resource.
133
+ """
134
+ return pulumi.get(self, "location")
135
+
136
+ @location.setter
137
+ def location(self, value: pulumi.Input[str]):
138
+ pulumi.set(self, "location", value)
139
+
140
+ @property
141
+ @pulumi.getter
142
+ def networking(self) -> pulumi.Input['ClusterNetworkingArgs']:
143
+ """
144
+ Fleet related configuration.
145
+ Fleets are a Google Cloud concept for logically organizing clusters,
146
+ letting you use and manage multi-cluster capabilities and apply
147
+ consistent policies across your systems.
148
+ Structure is documented below.
149
+ """
150
+ return pulumi.get(self, "networking")
151
+
152
+ @networking.setter
153
+ def networking(self, value: pulumi.Input['ClusterNetworkingArgs']):
154
+ pulumi.set(self, "networking", value)
155
+
156
+ @property
157
+ @pulumi.getter(name="controlPlane")
158
+ def control_plane(self) -> Optional[pulumi.Input['ClusterControlPlaneArgs']]:
159
+ """
160
+ The configuration of the cluster control plane.
161
+ Structure is documented below.
162
+ """
163
+ return pulumi.get(self, "control_plane")
164
+
165
+ @control_plane.setter
166
+ def control_plane(self, value: Optional[pulumi.Input['ClusterControlPlaneArgs']]):
167
+ pulumi.set(self, "control_plane", value)
168
+
169
+ @property
170
+ @pulumi.getter(name="controlPlaneEncryption")
171
+ def control_plane_encryption(self) -> Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']]:
172
+ """
173
+ Remote control plane disk encryption options. This field is only used when
174
+ enabling CMEK support.
175
+ Structure is documented below.
176
+ """
177
+ return pulumi.get(self, "control_plane_encryption")
178
+
179
+ @control_plane_encryption.setter
180
+ def control_plane_encryption(self, value: Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']]):
181
+ pulumi.set(self, "control_plane_encryption", value)
182
+
183
+ @property
184
+ @pulumi.getter(name="defaultMaxPodsPerNode")
185
+ def default_max_pods_per_node(self) -> Optional[pulumi.Input[int]]:
186
+ """
187
+ The default maximum number of pods per node used if a maximum value is not
188
+ specified explicitly for a node pool in this cluster. If unspecified, the
189
+ Kubernetes default value will be used.
190
+ """
191
+ return pulumi.get(self, "default_max_pods_per_node")
192
+
193
+ @default_max_pods_per_node.setter
194
+ def default_max_pods_per_node(self, value: Optional[pulumi.Input[int]]):
195
+ pulumi.set(self, "default_max_pods_per_node", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="externalLoadBalancerIpv4AddressPools")
199
+ def external_load_balancer_ipv4_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
200
+ """
201
+ Address pools for cluster data plane external load balancing.
202
+ """
203
+ return pulumi.get(self, "external_load_balancer_ipv4_address_pools")
204
+
205
+ @external_load_balancer_ipv4_address_pools.setter
206
+ def external_load_balancer_ipv4_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
207
+ pulumi.set(self, "external_load_balancer_ipv4_address_pools", value)
208
+
209
+ @property
210
+ @pulumi.getter
211
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
212
+ """
213
+ User-defined labels for the edgecloud cluster.
214
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
215
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
216
+ """
217
+ return pulumi.get(self, "labels")
218
+
219
+ @labels.setter
220
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
221
+ pulumi.set(self, "labels", value)
222
+
223
+ @property
224
+ @pulumi.getter(name="maintenancePolicy")
225
+ def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
226
+ """
227
+ Cluster-wide maintenance policy configuration.
228
+ Structure is documented below.
229
+ """
230
+ return pulumi.get(self, "maintenance_policy")
231
+
232
+ @maintenance_policy.setter
233
+ def maintenance_policy(self, value: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]):
234
+ pulumi.set(self, "maintenance_policy", value)
235
+
236
+ @property
237
+ @pulumi.getter
238
+ def name(self) -> Optional[pulumi.Input[str]]:
239
+ """
240
+ The GDCE cluster name.
241
+ """
242
+ return pulumi.get(self, "name")
243
+
244
+ @name.setter
245
+ def name(self, value: Optional[pulumi.Input[str]]):
246
+ pulumi.set(self, "name", value)
247
+
248
+ @property
249
+ @pulumi.getter
250
+ def project(self) -> Optional[pulumi.Input[str]]:
251
+ """
252
+ The ID of the project in which the resource belongs.
253
+ If it is not provided, the provider project is used.
254
+ """
255
+ return pulumi.get(self, "project")
256
+
257
+ @project.setter
258
+ def project(self, value: Optional[pulumi.Input[str]]):
259
+ pulumi.set(self, "project", value)
260
+
261
+ @property
262
+ @pulumi.getter(name="releaseChannel")
263
+ def release_channel(self) -> Optional[pulumi.Input[str]]:
264
+ """
265
+ The release channel a cluster is subscribed to.
266
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
267
+ """
268
+ return pulumi.get(self, "release_channel")
269
+
270
+ @release_channel.setter
271
+ def release_channel(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "release_channel", value)
273
+
274
+ @property
275
+ @pulumi.getter(name="systemAddonsConfig")
276
+ def system_addons_config(self) -> Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']]:
277
+ """
278
+ Config that customers are allowed to define for GDCE system add-ons.
279
+ Structure is documented below.
280
+ """
281
+ return pulumi.get(self, "system_addons_config")
282
+
283
+ @system_addons_config.setter
284
+ def system_addons_config(self, value: Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']]):
285
+ pulumi.set(self, "system_addons_config", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="targetVersion")
289
+ def target_version(self) -> Optional[pulumi.Input[str]]:
290
+ """
291
+ The target cluster version. For example: "1.5.0".
292
+ """
293
+ return pulumi.get(self, "target_version")
294
+
295
+ @target_version.setter
296
+ def target_version(self, value: Optional[pulumi.Input[str]]):
297
+ pulumi.set(self, "target_version", value)
298
+
299
+
300
+ @pulumi.input_type
301
+ class _ClusterState:
302
+ def __init__(__self__, *,
303
+ authorization: Optional[pulumi.Input['ClusterAuthorizationArgs']] = None,
304
+ cluster_ca_certificate: Optional[pulumi.Input[str]] = None,
305
+ control_plane: Optional[pulumi.Input['ClusterControlPlaneArgs']] = None,
306
+ control_plane_encryption: Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']] = None,
307
+ control_plane_version: Optional[pulumi.Input[str]] = None,
308
+ create_time: Optional[pulumi.Input[str]] = None,
309
+ default_max_pods_per_node: Optional[pulumi.Input[int]] = None,
310
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
311
+ endpoint: Optional[pulumi.Input[str]] = None,
312
+ external_load_balancer_ipv4_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
313
+ fleet: Optional[pulumi.Input['ClusterFleetArgs']] = None,
314
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
315
+ location: Optional[pulumi.Input[str]] = None,
316
+ maintenance_events: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceEventArgs']]]] = None,
317
+ maintenance_policy: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']] = None,
318
+ name: Optional[pulumi.Input[str]] = None,
319
+ networking: Optional[pulumi.Input['ClusterNetworkingArgs']] = None,
320
+ node_version: Optional[pulumi.Input[str]] = None,
321
+ port: Optional[pulumi.Input[int]] = None,
322
+ project: Optional[pulumi.Input[str]] = None,
323
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
324
+ release_channel: Optional[pulumi.Input[str]] = None,
325
+ status: Optional[pulumi.Input[str]] = None,
326
+ system_addons_config: Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']] = None,
327
+ target_version: Optional[pulumi.Input[str]] = None,
328
+ update_time: Optional[pulumi.Input[str]] = None):
329
+ """
330
+ Input properties used for looking up and filtering Cluster resources.
331
+ :param pulumi.Input['ClusterAuthorizationArgs'] authorization: RBAC policy that will be applied and managed by GEC.
332
+ Structure is documented below.
333
+ :param pulumi.Input[str] cluster_ca_certificate: The PEM-encoded public certificate of the cluster's CA.
334
+ **Note**: This property is sensitive and will not be displayed in the plan.
335
+ :param pulumi.Input['ClusterControlPlaneArgs'] control_plane: The configuration of the cluster control plane.
336
+ Structure is documented below.
337
+ :param pulumi.Input['ClusterControlPlaneEncryptionArgs'] control_plane_encryption: Remote control plane disk encryption options. This field is only used when
338
+ enabling CMEK support.
339
+ Structure is documented below.
340
+ :param pulumi.Input[str] control_plane_version: The control plane release version.
341
+ :param pulumi.Input[str] create_time: (Output)
342
+ The time when the maintenance event request was created.
343
+ :param pulumi.Input[int] default_max_pods_per_node: The default maximum number of pods per node used if a maximum value is not
344
+ specified explicitly for a node pool in this cluster. If unspecified, the
345
+ Kubernetes default value will be used.
346
+ :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.
347
+ :param pulumi.Input[str] endpoint: The IP address of the Kubernetes API server.
348
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_load_balancer_ipv4_address_pools: Address pools for cluster data plane external load balancing.
349
+ :param pulumi.Input['ClusterFleetArgs'] fleet: Fleet related configuration.
350
+ Fleets are a Google Cloud concept for logically organizing clusters,
351
+ letting you use and manage multi-cluster capabilities and apply
352
+ consistent policies across your systems.
353
+ Structure is documented below.
354
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the edgecloud cluster.
355
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
356
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
357
+ :param pulumi.Input[str] location: The location of the resource.
358
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceEventArgs']]] maintenance_events: All the maintenance events scheduled for the cluster, including the ones
359
+ ongoing, planned for the future and done in the past (up to 90 days).
360
+ Structure is documented below.
361
+ :param pulumi.Input['ClusterMaintenancePolicyArgs'] maintenance_policy: Cluster-wide maintenance policy configuration.
362
+ Structure is documented below.
363
+ :param pulumi.Input[str] name: The GDCE cluster name.
364
+ :param pulumi.Input['ClusterNetworkingArgs'] networking: Fleet related configuration.
365
+ Fleets are a Google Cloud concept for logically organizing clusters,
366
+ letting you use and manage multi-cluster capabilities and apply
367
+ consistent policies across your systems.
368
+ Structure is documented below.
369
+ :param pulumi.Input[str] node_version: The lowest release version among all worker nodes. This field can be empty
370
+ if the cluster does not have any worker nodes.
371
+ :param pulumi.Input[int] port: The port number of the Kubernetes API server.
372
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
373
+ If it is not provided, the provider project is used.
374
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
375
+ and default labels configured on the provider.
376
+ :param pulumi.Input[str] release_channel: The release channel a cluster is subscribed to.
377
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
378
+ :param pulumi.Input[str] status: Indicates the status of the cluster.
379
+ :param pulumi.Input['ClusterSystemAddonsConfigArgs'] system_addons_config: Config that customers are allowed to define for GDCE system add-ons.
380
+ Structure is documented below.
381
+ :param pulumi.Input[str] target_version: The target cluster version. For example: "1.5.0".
382
+ :param pulumi.Input[str] update_time: (Output)
383
+ The time when the maintenance event message was updated.
384
+ """
385
+ if authorization is not None:
386
+ pulumi.set(__self__, "authorization", authorization)
387
+ if cluster_ca_certificate is not None:
388
+ pulumi.set(__self__, "cluster_ca_certificate", cluster_ca_certificate)
389
+ if control_plane is not None:
390
+ pulumi.set(__self__, "control_plane", control_plane)
391
+ if control_plane_encryption is not None:
392
+ pulumi.set(__self__, "control_plane_encryption", control_plane_encryption)
393
+ if control_plane_version is not None:
394
+ pulumi.set(__self__, "control_plane_version", control_plane_version)
395
+ if create_time is not None:
396
+ pulumi.set(__self__, "create_time", create_time)
397
+ if default_max_pods_per_node is not None:
398
+ pulumi.set(__self__, "default_max_pods_per_node", default_max_pods_per_node)
399
+ if effective_labels is not None:
400
+ pulumi.set(__self__, "effective_labels", effective_labels)
401
+ if endpoint is not None:
402
+ pulumi.set(__self__, "endpoint", endpoint)
403
+ if external_load_balancer_ipv4_address_pools is not None:
404
+ pulumi.set(__self__, "external_load_balancer_ipv4_address_pools", external_load_balancer_ipv4_address_pools)
405
+ if fleet is not None:
406
+ pulumi.set(__self__, "fleet", fleet)
407
+ if labels is not None:
408
+ pulumi.set(__self__, "labels", labels)
409
+ if location is not None:
410
+ pulumi.set(__self__, "location", location)
411
+ if maintenance_events is not None:
412
+ pulumi.set(__self__, "maintenance_events", maintenance_events)
413
+ if maintenance_policy is not None:
414
+ pulumi.set(__self__, "maintenance_policy", maintenance_policy)
415
+ if name is not None:
416
+ pulumi.set(__self__, "name", name)
417
+ if networking is not None:
418
+ pulumi.set(__self__, "networking", networking)
419
+ if node_version is not None:
420
+ pulumi.set(__self__, "node_version", node_version)
421
+ if port is not None:
422
+ pulumi.set(__self__, "port", port)
423
+ if project is not None:
424
+ pulumi.set(__self__, "project", project)
425
+ if pulumi_labels is not None:
426
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
427
+ if release_channel is not None:
428
+ pulumi.set(__self__, "release_channel", release_channel)
429
+ if status is not None:
430
+ pulumi.set(__self__, "status", status)
431
+ if system_addons_config is not None:
432
+ pulumi.set(__self__, "system_addons_config", system_addons_config)
433
+ if target_version is not None:
434
+ pulumi.set(__self__, "target_version", target_version)
435
+ if update_time is not None:
436
+ pulumi.set(__self__, "update_time", update_time)
437
+
438
+ @property
439
+ @pulumi.getter
440
+ def authorization(self) -> Optional[pulumi.Input['ClusterAuthorizationArgs']]:
441
+ """
442
+ RBAC policy that will be applied and managed by GEC.
443
+ Structure is documented below.
444
+ """
445
+ return pulumi.get(self, "authorization")
446
+
447
+ @authorization.setter
448
+ def authorization(self, value: Optional[pulumi.Input['ClusterAuthorizationArgs']]):
449
+ pulumi.set(self, "authorization", value)
450
+
451
+ @property
452
+ @pulumi.getter(name="clusterCaCertificate")
453
+ def cluster_ca_certificate(self) -> Optional[pulumi.Input[str]]:
454
+ """
455
+ The PEM-encoded public certificate of the cluster's CA.
456
+ **Note**: This property is sensitive and will not be displayed in the plan.
457
+ """
458
+ return pulumi.get(self, "cluster_ca_certificate")
459
+
460
+ @cluster_ca_certificate.setter
461
+ def cluster_ca_certificate(self, value: Optional[pulumi.Input[str]]):
462
+ pulumi.set(self, "cluster_ca_certificate", value)
463
+
464
+ @property
465
+ @pulumi.getter(name="controlPlane")
466
+ def control_plane(self) -> Optional[pulumi.Input['ClusterControlPlaneArgs']]:
467
+ """
468
+ The configuration of the cluster control plane.
469
+ Structure is documented below.
470
+ """
471
+ return pulumi.get(self, "control_plane")
472
+
473
+ @control_plane.setter
474
+ def control_plane(self, value: Optional[pulumi.Input['ClusterControlPlaneArgs']]):
475
+ pulumi.set(self, "control_plane", value)
476
+
477
+ @property
478
+ @pulumi.getter(name="controlPlaneEncryption")
479
+ def control_plane_encryption(self) -> Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']]:
480
+ """
481
+ Remote control plane disk encryption options. This field is only used when
482
+ enabling CMEK support.
483
+ Structure is documented below.
484
+ """
485
+ return pulumi.get(self, "control_plane_encryption")
486
+
487
+ @control_plane_encryption.setter
488
+ def control_plane_encryption(self, value: Optional[pulumi.Input['ClusterControlPlaneEncryptionArgs']]):
489
+ pulumi.set(self, "control_plane_encryption", value)
490
+
491
+ @property
492
+ @pulumi.getter(name="controlPlaneVersion")
493
+ def control_plane_version(self) -> Optional[pulumi.Input[str]]:
494
+ """
495
+ The control plane release version.
496
+ """
497
+ return pulumi.get(self, "control_plane_version")
498
+
499
+ @control_plane_version.setter
500
+ def control_plane_version(self, value: Optional[pulumi.Input[str]]):
501
+ pulumi.set(self, "control_plane_version", value)
502
+
503
+ @property
504
+ @pulumi.getter(name="createTime")
505
+ def create_time(self) -> Optional[pulumi.Input[str]]:
506
+ """
507
+ (Output)
508
+ The time when the maintenance event request was created.
509
+ """
510
+ return pulumi.get(self, "create_time")
511
+
512
+ @create_time.setter
513
+ def create_time(self, value: Optional[pulumi.Input[str]]):
514
+ pulumi.set(self, "create_time", value)
515
+
516
+ @property
517
+ @pulumi.getter(name="defaultMaxPodsPerNode")
518
+ def default_max_pods_per_node(self) -> Optional[pulumi.Input[int]]:
519
+ """
520
+ The default maximum number of pods per node used if a maximum value is not
521
+ specified explicitly for a node pool in this cluster. If unspecified, the
522
+ Kubernetes default value will be used.
523
+ """
524
+ return pulumi.get(self, "default_max_pods_per_node")
525
+
526
+ @default_max_pods_per_node.setter
527
+ def default_max_pods_per_node(self, value: Optional[pulumi.Input[int]]):
528
+ pulumi.set(self, "default_max_pods_per_node", value)
529
+
530
+ @property
531
+ @pulumi.getter(name="effectiveLabels")
532
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
533
+ """
534
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
535
+ """
536
+ return pulumi.get(self, "effective_labels")
537
+
538
+ @effective_labels.setter
539
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
540
+ pulumi.set(self, "effective_labels", value)
541
+
542
+ @property
543
+ @pulumi.getter
544
+ def endpoint(self) -> Optional[pulumi.Input[str]]:
545
+ """
546
+ The IP address of the Kubernetes API server.
547
+ """
548
+ return pulumi.get(self, "endpoint")
549
+
550
+ @endpoint.setter
551
+ def endpoint(self, value: Optional[pulumi.Input[str]]):
552
+ pulumi.set(self, "endpoint", value)
553
+
554
+ @property
555
+ @pulumi.getter(name="externalLoadBalancerIpv4AddressPools")
556
+ def external_load_balancer_ipv4_address_pools(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
557
+ """
558
+ Address pools for cluster data plane external load balancing.
559
+ """
560
+ return pulumi.get(self, "external_load_balancer_ipv4_address_pools")
561
+
562
+ @external_load_balancer_ipv4_address_pools.setter
563
+ def external_load_balancer_ipv4_address_pools(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
564
+ pulumi.set(self, "external_load_balancer_ipv4_address_pools", value)
565
+
566
+ @property
567
+ @pulumi.getter
568
+ def fleet(self) -> Optional[pulumi.Input['ClusterFleetArgs']]:
569
+ """
570
+ Fleet related configuration.
571
+ Fleets are a Google Cloud concept for logically organizing clusters,
572
+ letting you use and manage multi-cluster capabilities and apply
573
+ consistent policies across your systems.
574
+ Structure is documented below.
575
+ """
576
+ return pulumi.get(self, "fleet")
577
+
578
+ @fleet.setter
579
+ def fleet(self, value: Optional[pulumi.Input['ClusterFleetArgs']]):
580
+ pulumi.set(self, "fleet", value)
581
+
582
+ @property
583
+ @pulumi.getter
584
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
585
+ """
586
+ User-defined labels for the edgecloud cluster.
587
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
588
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
589
+ """
590
+ return pulumi.get(self, "labels")
591
+
592
+ @labels.setter
593
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
594
+ pulumi.set(self, "labels", value)
595
+
596
+ @property
597
+ @pulumi.getter
598
+ def location(self) -> Optional[pulumi.Input[str]]:
599
+ """
600
+ The location of the resource.
601
+ """
602
+ return pulumi.get(self, "location")
603
+
604
+ @location.setter
605
+ def location(self, value: Optional[pulumi.Input[str]]):
606
+ pulumi.set(self, "location", value)
607
+
608
+ @property
609
+ @pulumi.getter(name="maintenanceEvents")
610
+ def maintenance_events(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceEventArgs']]]]:
611
+ """
612
+ All the maintenance events scheduled for the cluster, including the ones
613
+ ongoing, planned for the future and done in the past (up to 90 days).
614
+ Structure is documented below.
615
+ """
616
+ return pulumi.get(self, "maintenance_events")
617
+
618
+ @maintenance_events.setter
619
+ def maintenance_events(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMaintenanceEventArgs']]]]):
620
+ pulumi.set(self, "maintenance_events", value)
621
+
622
+ @property
623
+ @pulumi.getter(name="maintenancePolicy")
624
+ def maintenance_policy(self) -> Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]:
625
+ """
626
+ Cluster-wide maintenance policy configuration.
627
+ Structure is documented below.
628
+ """
629
+ return pulumi.get(self, "maintenance_policy")
630
+
631
+ @maintenance_policy.setter
632
+ def maintenance_policy(self, value: Optional[pulumi.Input['ClusterMaintenancePolicyArgs']]):
633
+ pulumi.set(self, "maintenance_policy", value)
634
+
635
+ @property
636
+ @pulumi.getter
637
+ def name(self) -> Optional[pulumi.Input[str]]:
638
+ """
639
+ The GDCE cluster name.
640
+ """
641
+ return pulumi.get(self, "name")
642
+
643
+ @name.setter
644
+ def name(self, value: Optional[pulumi.Input[str]]):
645
+ pulumi.set(self, "name", value)
646
+
647
+ @property
648
+ @pulumi.getter
649
+ def networking(self) -> Optional[pulumi.Input['ClusterNetworkingArgs']]:
650
+ """
651
+ Fleet related configuration.
652
+ Fleets are a Google Cloud concept for logically organizing clusters,
653
+ letting you use and manage multi-cluster capabilities and apply
654
+ consistent policies across your systems.
655
+ Structure is documented below.
656
+ """
657
+ return pulumi.get(self, "networking")
658
+
659
+ @networking.setter
660
+ def networking(self, value: Optional[pulumi.Input['ClusterNetworkingArgs']]):
661
+ pulumi.set(self, "networking", value)
662
+
663
+ @property
664
+ @pulumi.getter(name="nodeVersion")
665
+ def node_version(self) -> Optional[pulumi.Input[str]]:
666
+ """
667
+ The lowest release version among all worker nodes. This field can be empty
668
+ if the cluster does not have any worker nodes.
669
+ """
670
+ return pulumi.get(self, "node_version")
671
+
672
+ @node_version.setter
673
+ def node_version(self, value: Optional[pulumi.Input[str]]):
674
+ pulumi.set(self, "node_version", value)
675
+
676
+ @property
677
+ @pulumi.getter
678
+ def port(self) -> Optional[pulumi.Input[int]]:
679
+ """
680
+ The port number of the Kubernetes API server.
681
+ """
682
+ return pulumi.get(self, "port")
683
+
684
+ @port.setter
685
+ def port(self, value: Optional[pulumi.Input[int]]):
686
+ pulumi.set(self, "port", value)
687
+
688
+ @property
689
+ @pulumi.getter
690
+ def project(self) -> Optional[pulumi.Input[str]]:
691
+ """
692
+ The ID of the project in which the resource belongs.
693
+ If it is not provided, the provider project is used.
694
+ """
695
+ return pulumi.get(self, "project")
696
+
697
+ @project.setter
698
+ def project(self, value: Optional[pulumi.Input[str]]):
699
+ pulumi.set(self, "project", value)
700
+
701
+ @property
702
+ @pulumi.getter(name="pulumiLabels")
703
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
704
+ """
705
+ The combination of labels configured directly on the resource
706
+ and default labels configured on the provider.
707
+ """
708
+ return pulumi.get(self, "pulumi_labels")
709
+
710
+ @pulumi_labels.setter
711
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
712
+ pulumi.set(self, "pulumi_labels", value)
713
+
714
+ @property
715
+ @pulumi.getter(name="releaseChannel")
716
+ def release_channel(self) -> Optional[pulumi.Input[str]]:
717
+ """
718
+ The release channel a cluster is subscribed to.
719
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
720
+ """
721
+ return pulumi.get(self, "release_channel")
722
+
723
+ @release_channel.setter
724
+ def release_channel(self, value: Optional[pulumi.Input[str]]):
725
+ pulumi.set(self, "release_channel", value)
726
+
727
+ @property
728
+ @pulumi.getter
729
+ def status(self) -> Optional[pulumi.Input[str]]:
730
+ """
731
+ Indicates the status of the cluster.
732
+ """
733
+ return pulumi.get(self, "status")
734
+
735
+ @status.setter
736
+ def status(self, value: Optional[pulumi.Input[str]]):
737
+ pulumi.set(self, "status", value)
738
+
739
+ @property
740
+ @pulumi.getter(name="systemAddonsConfig")
741
+ def system_addons_config(self) -> Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']]:
742
+ """
743
+ Config that customers are allowed to define for GDCE system add-ons.
744
+ Structure is documented below.
745
+ """
746
+ return pulumi.get(self, "system_addons_config")
747
+
748
+ @system_addons_config.setter
749
+ def system_addons_config(self, value: Optional[pulumi.Input['ClusterSystemAddonsConfigArgs']]):
750
+ pulumi.set(self, "system_addons_config", value)
751
+
752
+ @property
753
+ @pulumi.getter(name="targetVersion")
754
+ def target_version(self) -> Optional[pulumi.Input[str]]:
755
+ """
756
+ The target cluster version. For example: "1.5.0".
757
+ """
758
+ return pulumi.get(self, "target_version")
759
+
760
+ @target_version.setter
761
+ def target_version(self, value: Optional[pulumi.Input[str]]):
762
+ pulumi.set(self, "target_version", value)
763
+
764
+ @property
765
+ @pulumi.getter(name="updateTime")
766
+ def update_time(self) -> Optional[pulumi.Input[str]]:
767
+ """
768
+ (Output)
769
+ The time when the maintenance event message was updated.
770
+ """
771
+ return pulumi.get(self, "update_time")
772
+
773
+ @update_time.setter
774
+ def update_time(self, value: Optional[pulumi.Input[str]]):
775
+ pulumi.set(self, "update_time", value)
776
+
777
+
778
+ class Cluster(pulumi.CustomResource):
779
+ @overload
780
+ def __init__(__self__,
781
+ resource_name: str,
782
+ opts: Optional[pulumi.ResourceOptions] = None,
783
+ authorization: Optional[pulumi.Input[pulumi.InputType['ClusterAuthorizationArgs']]] = None,
784
+ control_plane: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneArgs']]] = None,
785
+ control_plane_encryption: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneEncryptionArgs']]] = None,
786
+ default_max_pods_per_node: Optional[pulumi.Input[int]] = None,
787
+ external_load_balancer_ipv4_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
788
+ fleet: Optional[pulumi.Input[pulumi.InputType['ClusterFleetArgs']]] = None,
789
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
790
+ location: Optional[pulumi.Input[str]] = None,
791
+ maintenance_policy: Optional[pulumi.Input[pulumi.InputType['ClusterMaintenancePolicyArgs']]] = None,
792
+ name: Optional[pulumi.Input[str]] = None,
793
+ networking: Optional[pulumi.Input[pulumi.InputType['ClusterNetworkingArgs']]] = None,
794
+ project: Optional[pulumi.Input[str]] = None,
795
+ release_channel: Optional[pulumi.Input[str]] = None,
796
+ system_addons_config: Optional[pulumi.Input[pulumi.InputType['ClusterSystemAddonsConfigArgs']]] = None,
797
+ target_version: Optional[pulumi.Input[str]] = None,
798
+ __props__=None):
799
+ """
800
+ Cluster contains information about a Google Distributed Cloud Edge Kubernetes cluster.
801
+
802
+ To get more information about Cluster, see:
803
+
804
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters)
805
+ * How-to Guides
806
+ * [Create and manage clusters](https://cloud.google.com/distributed-cloud/edge/latest/docs/clusters)
807
+
808
+ > **Warning:** All arguments including the following potentially sensitive
809
+ values will be stored in the raw state as plain text: `cluster_ca_certificate`.
810
+ Read more about sensitive data in state.
811
+
812
+ ## Example Usage
813
+ ### Edgecontainer Cluster
814
+
815
+ ```python
816
+ import pulumi
817
+ import pulumi_gcp as gcp
818
+
819
+ project = gcp.organizations.get_project()
820
+ default = gcp.edgecontainer.Cluster("default",
821
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
822
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
823
+ username="admin@hashicorptest.com",
824
+ ),
825
+ ),
826
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
827
+ project=f"projects/{project.number}",
828
+ ),
829
+ labels={
830
+ "my_key": "my_val",
831
+ "other_key": "other_val",
832
+ },
833
+ location="us-central1",
834
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
835
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
836
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
837
+ ))
838
+ ```
839
+ ### Edgecontainer Cluster With Maintenance Window
840
+
841
+ ```python
842
+ import pulumi
843
+ import pulumi_gcp as gcp
844
+
845
+ project = gcp.organizations.get_project()
846
+ default = gcp.edgecontainer.Cluster("default",
847
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
848
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
849
+ username="admin@hashicorptest.com",
850
+ ),
851
+ ),
852
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
853
+ project=f"projects/{project.number}",
854
+ ),
855
+ location="us-central1",
856
+ maintenance_policy=gcp.edgecontainer.ClusterMaintenancePolicyArgs(
857
+ window=gcp.edgecontainer.ClusterMaintenancePolicyWindowArgs(
858
+ recurring_window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs(
859
+ recurrence="FREQ=WEEKLY;BYDAY=SA",
860
+ window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs(
861
+ end_time="2023-01-01T17:00:00Z",
862
+ start_time="2023-01-01T08:00:00Z",
863
+ ),
864
+ ),
865
+ ),
866
+ ),
867
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
868
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
869
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
870
+ ))
871
+ ```
872
+ ### Edgecontainer Local Control Plane Cluster
873
+
874
+ ```python
875
+ import pulumi
876
+ import pulumi_gcp as gcp
877
+
878
+ project = gcp.organizations.get_project()
879
+ default = gcp.edgecontainer.Cluster("default",
880
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
881
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
882
+ username="admin@hashicorptest.com",
883
+ ),
884
+ ),
885
+ control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
886
+ local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
887
+ machine_filter="machine-name",
888
+ node_count=1,
889
+ node_location="us-central1-edge-example-edgesite",
890
+ shared_deployment_policy="ALLOWED",
891
+ ),
892
+ ),
893
+ external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
894
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
895
+ project=f"projects/{project.number}",
896
+ ),
897
+ location="us-central1",
898
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
899
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
900
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
901
+ ))
902
+ ```
903
+
904
+ ## Import
905
+
906
+ Cluster can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/clusters/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Cluster using one of the formats above. For exampletf import {
907
+
908
+ id = "projects/{{project}}/locations/{{location}}/clusters/{{name}}"
909
+
910
+ to = google_edgecontainer_cluster.default }
911
+
912
+ ```sh
913
+ $ pulumi import gcp:edgecontainer/cluster:Cluster When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Cluster can be imported using one of the formats above. For example
914
+ ```
915
+
916
+ ```sh
917
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{name}}
918
+ ```
919
+
920
+ ```sh
921
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default {{project}}/{{location}}/{{name}}
922
+ ```
923
+
924
+ ```sh
925
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default {{location}}/{{name}}
926
+ ```
927
+
928
+ :param str resource_name: The name of the resource.
929
+ :param pulumi.ResourceOptions opts: Options for the resource.
930
+ :param pulumi.Input[pulumi.InputType['ClusterAuthorizationArgs']] authorization: RBAC policy that will be applied and managed by GEC.
931
+ Structure is documented below.
932
+ :param pulumi.Input[pulumi.InputType['ClusterControlPlaneArgs']] control_plane: The configuration of the cluster control plane.
933
+ Structure is documented below.
934
+ :param pulumi.Input[pulumi.InputType['ClusterControlPlaneEncryptionArgs']] control_plane_encryption: Remote control plane disk encryption options. This field is only used when
935
+ enabling CMEK support.
936
+ Structure is documented below.
937
+ :param pulumi.Input[int] default_max_pods_per_node: The default maximum number of pods per node used if a maximum value is not
938
+ specified explicitly for a node pool in this cluster. If unspecified, the
939
+ Kubernetes default value will be used.
940
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_load_balancer_ipv4_address_pools: Address pools for cluster data plane external load balancing.
941
+ :param pulumi.Input[pulumi.InputType['ClusterFleetArgs']] fleet: Fleet related configuration.
942
+ Fleets are a Google Cloud concept for logically organizing clusters,
943
+ letting you use and manage multi-cluster capabilities and apply
944
+ consistent policies across your systems.
945
+ Structure is documented below.
946
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the edgecloud cluster.
947
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
948
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
949
+ :param pulumi.Input[str] location: The location of the resource.
950
+ :param pulumi.Input[pulumi.InputType['ClusterMaintenancePolicyArgs']] maintenance_policy: Cluster-wide maintenance policy configuration.
951
+ Structure is documented below.
952
+ :param pulumi.Input[str] name: The GDCE cluster name.
953
+ :param pulumi.Input[pulumi.InputType['ClusterNetworkingArgs']] networking: Fleet related configuration.
954
+ Fleets are a Google Cloud concept for logically organizing clusters,
955
+ letting you use and manage multi-cluster capabilities and apply
956
+ consistent policies across your systems.
957
+ Structure is documented below.
958
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
959
+ If it is not provided, the provider project is used.
960
+ :param pulumi.Input[str] release_channel: The release channel a cluster is subscribed to.
961
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
962
+ :param pulumi.Input[pulumi.InputType['ClusterSystemAddonsConfigArgs']] system_addons_config: Config that customers are allowed to define for GDCE system add-ons.
963
+ Structure is documented below.
964
+ :param pulumi.Input[str] target_version: The target cluster version. For example: "1.5.0".
965
+ """
966
+ ...
967
+ @overload
968
+ def __init__(__self__,
969
+ resource_name: str,
970
+ args: ClusterArgs,
971
+ opts: Optional[pulumi.ResourceOptions] = None):
972
+ """
973
+ Cluster contains information about a Google Distributed Cloud Edge Kubernetes cluster.
974
+
975
+ To get more information about Cluster, see:
976
+
977
+ * [API documentation](https://cloud.google.com/distributed-cloud/edge/latest/docs/reference/container/rest/v1/projects.locations.clusters)
978
+ * How-to Guides
979
+ * [Create and manage clusters](https://cloud.google.com/distributed-cloud/edge/latest/docs/clusters)
980
+
981
+ > **Warning:** All arguments including the following potentially sensitive
982
+ values will be stored in the raw state as plain text: `cluster_ca_certificate`.
983
+ Read more about sensitive data in state.
984
+
985
+ ## Example Usage
986
+ ### Edgecontainer Cluster
987
+
988
+ ```python
989
+ import pulumi
990
+ import pulumi_gcp as gcp
991
+
992
+ project = gcp.organizations.get_project()
993
+ default = gcp.edgecontainer.Cluster("default",
994
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
995
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
996
+ username="admin@hashicorptest.com",
997
+ ),
998
+ ),
999
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
1000
+ project=f"projects/{project.number}",
1001
+ ),
1002
+ labels={
1003
+ "my_key": "my_val",
1004
+ "other_key": "other_val",
1005
+ },
1006
+ location="us-central1",
1007
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
1008
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
1009
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
1010
+ ))
1011
+ ```
1012
+ ### Edgecontainer Cluster With Maintenance Window
1013
+
1014
+ ```python
1015
+ import pulumi
1016
+ import pulumi_gcp as gcp
1017
+
1018
+ project = gcp.organizations.get_project()
1019
+ default = gcp.edgecontainer.Cluster("default",
1020
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
1021
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
1022
+ username="admin@hashicorptest.com",
1023
+ ),
1024
+ ),
1025
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
1026
+ project=f"projects/{project.number}",
1027
+ ),
1028
+ location="us-central1",
1029
+ maintenance_policy=gcp.edgecontainer.ClusterMaintenancePolicyArgs(
1030
+ window=gcp.edgecontainer.ClusterMaintenancePolicyWindowArgs(
1031
+ recurring_window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowArgs(
1032
+ recurrence="FREQ=WEEKLY;BYDAY=SA",
1033
+ window=gcp.edgecontainer.ClusterMaintenancePolicyWindowRecurringWindowWindowArgs(
1034
+ end_time="2023-01-01T17:00:00Z",
1035
+ start_time="2023-01-01T08:00:00Z",
1036
+ ),
1037
+ ),
1038
+ ),
1039
+ ),
1040
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
1041
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
1042
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
1043
+ ))
1044
+ ```
1045
+ ### Edgecontainer Local Control Plane Cluster
1046
+
1047
+ ```python
1048
+ import pulumi
1049
+ import pulumi_gcp as gcp
1050
+
1051
+ project = gcp.organizations.get_project()
1052
+ default = gcp.edgecontainer.Cluster("default",
1053
+ authorization=gcp.edgecontainer.ClusterAuthorizationArgs(
1054
+ admin_users=gcp.edgecontainer.ClusterAuthorizationAdminUsersArgs(
1055
+ username="admin@hashicorptest.com",
1056
+ ),
1057
+ ),
1058
+ control_plane=gcp.edgecontainer.ClusterControlPlaneArgs(
1059
+ local=gcp.edgecontainer.ClusterControlPlaneLocalArgs(
1060
+ machine_filter="machine-name",
1061
+ node_count=1,
1062
+ node_location="us-central1-edge-example-edgesite",
1063
+ shared_deployment_policy="ALLOWED",
1064
+ ),
1065
+ ),
1066
+ external_load_balancer_ipv4_address_pools=["10.100.0.0-10.100.0.10"],
1067
+ fleet=gcp.edgecontainer.ClusterFleetArgs(
1068
+ project=f"projects/{project.number}",
1069
+ ),
1070
+ location="us-central1",
1071
+ networking=gcp.edgecontainer.ClusterNetworkingArgs(
1072
+ cluster_ipv4_cidr_blocks=["10.0.0.0/16"],
1073
+ services_ipv4_cidr_blocks=["10.1.0.0/16"],
1074
+ ))
1075
+ ```
1076
+
1077
+ ## Import
1078
+
1079
+ Cluster can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/clusters/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import Cluster using one of the formats above. For exampletf import {
1080
+
1081
+ id = "projects/{{project}}/locations/{{location}}/clusters/{{name}}"
1082
+
1083
+ to = google_edgecontainer_cluster.default }
1084
+
1085
+ ```sh
1086
+ $ pulumi import gcp:edgecontainer/cluster:Cluster When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), Cluster can be imported using one of the formats above. For example
1087
+ ```
1088
+
1089
+ ```sh
1090
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{name}}
1091
+ ```
1092
+
1093
+ ```sh
1094
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default {{project}}/{{location}}/{{name}}
1095
+ ```
1096
+
1097
+ ```sh
1098
+ $ pulumi import gcp:edgecontainer/cluster:Cluster default {{location}}/{{name}}
1099
+ ```
1100
+
1101
+ :param str resource_name: The name of the resource.
1102
+ :param ClusterArgs args: The arguments to use to populate this resource's properties.
1103
+ :param pulumi.ResourceOptions opts: Options for the resource.
1104
+ """
1105
+ ...
1106
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1107
+ resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs)
1108
+ if resource_args is not None:
1109
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1110
+ else:
1111
+ __self__._internal_init(resource_name, *args, **kwargs)
1112
+
1113
+ def _internal_init(__self__,
1114
+ resource_name: str,
1115
+ opts: Optional[pulumi.ResourceOptions] = None,
1116
+ authorization: Optional[pulumi.Input[pulumi.InputType['ClusterAuthorizationArgs']]] = None,
1117
+ control_plane: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneArgs']]] = None,
1118
+ control_plane_encryption: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneEncryptionArgs']]] = None,
1119
+ default_max_pods_per_node: Optional[pulumi.Input[int]] = None,
1120
+ external_load_balancer_ipv4_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1121
+ fleet: Optional[pulumi.Input[pulumi.InputType['ClusterFleetArgs']]] = None,
1122
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1123
+ location: Optional[pulumi.Input[str]] = None,
1124
+ maintenance_policy: Optional[pulumi.Input[pulumi.InputType['ClusterMaintenancePolicyArgs']]] = None,
1125
+ name: Optional[pulumi.Input[str]] = None,
1126
+ networking: Optional[pulumi.Input[pulumi.InputType['ClusterNetworkingArgs']]] = None,
1127
+ project: Optional[pulumi.Input[str]] = None,
1128
+ release_channel: Optional[pulumi.Input[str]] = None,
1129
+ system_addons_config: Optional[pulumi.Input[pulumi.InputType['ClusterSystemAddonsConfigArgs']]] = None,
1130
+ target_version: Optional[pulumi.Input[str]] = None,
1131
+ __props__=None):
1132
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1133
+ if not isinstance(opts, pulumi.ResourceOptions):
1134
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1135
+ if opts.id is None:
1136
+ if __props__ is not None:
1137
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1138
+ __props__ = ClusterArgs.__new__(ClusterArgs)
1139
+
1140
+ if authorization is None and not opts.urn:
1141
+ raise TypeError("Missing required property 'authorization'")
1142
+ __props__.__dict__["authorization"] = authorization
1143
+ __props__.__dict__["control_plane"] = control_plane
1144
+ __props__.__dict__["control_plane_encryption"] = control_plane_encryption
1145
+ __props__.__dict__["default_max_pods_per_node"] = default_max_pods_per_node
1146
+ __props__.__dict__["external_load_balancer_ipv4_address_pools"] = external_load_balancer_ipv4_address_pools
1147
+ if fleet is None and not opts.urn:
1148
+ raise TypeError("Missing required property 'fleet'")
1149
+ __props__.__dict__["fleet"] = fleet
1150
+ __props__.__dict__["labels"] = labels
1151
+ if location is None and not opts.urn:
1152
+ raise TypeError("Missing required property 'location'")
1153
+ __props__.__dict__["location"] = location
1154
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
1155
+ __props__.__dict__["name"] = name
1156
+ if networking is None and not opts.urn:
1157
+ raise TypeError("Missing required property 'networking'")
1158
+ __props__.__dict__["networking"] = networking
1159
+ __props__.__dict__["project"] = project
1160
+ __props__.__dict__["release_channel"] = release_channel
1161
+ __props__.__dict__["system_addons_config"] = system_addons_config
1162
+ __props__.__dict__["target_version"] = target_version
1163
+ __props__.__dict__["cluster_ca_certificate"] = None
1164
+ __props__.__dict__["control_plane_version"] = None
1165
+ __props__.__dict__["create_time"] = None
1166
+ __props__.__dict__["effective_labels"] = None
1167
+ __props__.__dict__["endpoint"] = None
1168
+ __props__.__dict__["maintenance_events"] = None
1169
+ __props__.__dict__["node_version"] = None
1170
+ __props__.__dict__["port"] = None
1171
+ __props__.__dict__["pulumi_labels"] = None
1172
+ __props__.__dict__["status"] = None
1173
+ __props__.__dict__["update_time"] = None
1174
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clusterCaCertificate", "effectiveLabels", "pulumiLabels"])
1175
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
1176
+ super(Cluster, __self__).__init__(
1177
+ 'gcp:edgecontainer/cluster:Cluster',
1178
+ resource_name,
1179
+ __props__,
1180
+ opts)
1181
+
1182
+ @staticmethod
1183
+ def get(resource_name: str,
1184
+ id: pulumi.Input[str],
1185
+ opts: Optional[pulumi.ResourceOptions] = None,
1186
+ authorization: Optional[pulumi.Input[pulumi.InputType['ClusterAuthorizationArgs']]] = None,
1187
+ cluster_ca_certificate: Optional[pulumi.Input[str]] = None,
1188
+ control_plane: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneArgs']]] = None,
1189
+ control_plane_encryption: Optional[pulumi.Input[pulumi.InputType['ClusterControlPlaneEncryptionArgs']]] = None,
1190
+ control_plane_version: Optional[pulumi.Input[str]] = None,
1191
+ create_time: Optional[pulumi.Input[str]] = None,
1192
+ default_max_pods_per_node: Optional[pulumi.Input[int]] = None,
1193
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1194
+ endpoint: Optional[pulumi.Input[str]] = None,
1195
+ external_load_balancer_ipv4_address_pools: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1196
+ fleet: Optional[pulumi.Input[pulumi.InputType['ClusterFleetArgs']]] = None,
1197
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1198
+ location: Optional[pulumi.Input[str]] = None,
1199
+ maintenance_events: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterMaintenanceEventArgs']]]]] = None,
1200
+ maintenance_policy: Optional[pulumi.Input[pulumi.InputType['ClusterMaintenancePolicyArgs']]] = None,
1201
+ name: Optional[pulumi.Input[str]] = None,
1202
+ networking: Optional[pulumi.Input[pulumi.InputType['ClusterNetworkingArgs']]] = None,
1203
+ node_version: Optional[pulumi.Input[str]] = None,
1204
+ port: Optional[pulumi.Input[int]] = None,
1205
+ project: Optional[pulumi.Input[str]] = None,
1206
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
1207
+ release_channel: Optional[pulumi.Input[str]] = None,
1208
+ status: Optional[pulumi.Input[str]] = None,
1209
+ system_addons_config: Optional[pulumi.Input[pulumi.InputType['ClusterSystemAddonsConfigArgs']]] = None,
1210
+ target_version: Optional[pulumi.Input[str]] = None,
1211
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Cluster':
1212
+ """
1213
+ Get an existing Cluster resource's state with the given name, id, and optional extra
1214
+ properties used to qualify the lookup.
1215
+
1216
+ :param str resource_name: The unique name of the resulting resource.
1217
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1218
+ :param pulumi.ResourceOptions opts: Options for the resource.
1219
+ :param pulumi.Input[pulumi.InputType['ClusterAuthorizationArgs']] authorization: RBAC policy that will be applied and managed by GEC.
1220
+ Structure is documented below.
1221
+ :param pulumi.Input[str] cluster_ca_certificate: The PEM-encoded public certificate of the cluster's CA.
1222
+ **Note**: This property is sensitive and will not be displayed in the plan.
1223
+ :param pulumi.Input[pulumi.InputType['ClusterControlPlaneArgs']] control_plane: The configuration of the cluster control plane.
1224
+ Structure is documented below.
1225
+ :param pulumi.Input[pulumi.InputType['ClusterControlPlaneEncryptionArgs']] control_plane_encryption: Remote control plane disk encryption options. This field is only used when
1226
+ enabling CMEK support.
1227
+ Structure is documented below.
1228
+ :param pulumi.Input[str] control_plane_version: The control plane release version.
1229
+ :param pulumi.Input[str] create_time: (Output)
1230
+ The time when the maintenance event request was created.
1231
+ :param pulumi.Input[int] default_max_pods_per_node: The default maximum number of pods per node used if a maximum value is not
1232
+ specified explicitly for a node pool in this cluster. If unspecified, the
1233
+ Kubernetes default value will be used.
1234
+ :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.
1235
+ :param pulumi.Input[str] endpoint: The IP address of the Kubernetes API server.
1236
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] external_load_balancer_ipv4_address_pools: Address pools for cluster data plane external load balancing.
1237
+ :param pulumi.Input[pulumi.InputType['ClusterFleetArgs']] fleet: Fleet related configuration.
1238
+ Fleets are a Google Cloud concept for logically organizing clusters,
1239
+ letting you use and manage multi-cluster capabilities and apply
1240
+ consistent policies across your systems.
1241
+ Structure is documented below.
1242
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: User-defined labels for the edgecloud cluster.
1243
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1244
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1245
+ :param pulumi.Input[str] location: The location of the resource.
1246
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterMaintenanceEventArgs']]]] maintenance_events: All the maintenance events scheduled for the cluster, including the ones
1247
+ ongoing, planned for the future and done in the past (up to 90 days).
1248
+ Structure is documented below.
1249
+ :param pulumi.Input[pulumi.InputType['ClusterMaintenancePolicyArgs']] maintenance_policy: Cluster-wide maintenance policy configuration.
1250
+ Structure is documented below.
1251
+ :param pulumi.Input[str] name: The GDCE cluster name.
1252
+ :param pulumi.Input[pulumi.InputType['ClusterNetworkingArgs']] networking: Fleet related configuration.
1253
+ Fleets are a Google Cloud concept for logically organizing clusters,
1254
+ letting you use and manage multi-cluster capabilities and apply
1255
+ consistent policies across your systems.
1256
+ Structure is documented below.
1257
+ :param pulumi.Input[str] node_version: The lowest release version among all worker nodes. This field can be empty
1258
+ if the cluster does not have any worker nodes.
1259
+ :param pulumi.Input[int] port: The port number of the Kubernetes API server.
1260
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1261
+ If it is not provided, the provider project is used.
1262
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
1263
+ and default labels configured on the provider.
1264
+ :param pulumi.Input[str] release_channel: The release channel a cluster is subscribed to.
1265
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
1266
+ :param pulumi.Input[str] status: Indicates the status of the cluster.
1267
+ :param pulumi.Input[pulumi.InputType['ClusterSystemAddonsConfigArgs']] system_addons_config: Config that customers are allowed to define for GDCE system add-ons.
1268
+ Structure is documented below.
1269
+ :param pulumi.Input[str] target_version: The target cluster version. For example: "1.5.0".
1270
+ :param pulumi.Input[str] update_time: (Output)
1271
+ The time when the maintenance event message was updated.
1272
+ """
1273
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1274
+
1275
+ __props__ = _ClusterState.__new__(_ClusterState)
1276
+
1277
+ __props__.__dict__["authorization"] = authorization
1278
+ __props__.__dict__["cluster_ca_certificate"] = cluster_ca_certificate
1279
+ __props__.__dict__["control_plane"] = control_plane
1280
+ __props__.__dict__["control_plane_encryption"] = control_plane_encryption
1281
+ __props__.__dict__["control_plane_version"] = control_plane_version
1282
+ __props__.__dict__["create_time"] = create_time
1283
+ __props__.__dict__["default_max_pods_per_node"] = default_max_pods_per_node
1284
+ __props__.__dict__["effective_labels"] = effective_labels
1285
+ __props__.__dict__["endpoint"] = endpoint
1286
+ __props__.__dict__["external_load_balancer_ipv4_address_pools"] = external_load_balancer_ipv4_address_pools
1287
+ __props__.__dict__["fleet"] = fleet
1288
+ __props__.__dict__["labels"] = labels
1289
+ __props__.__dict__["location"] = location
1290
+ __props__.__dict__["maintenance_events"] = maintenance_events
1291
+ __props__.__dict__["maintenance_policy"] = maintenance_policy
1292
+ __props__.__dict__["name"] = name
1293
+ __props__.__dict__["networking"] = networking
1294
+ __props__.__dict__["node_version"] = node_version
1295
+ __props__.__dict__["port"] = port
1296
+ __props__.__dict__["project"] = project
1297
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
1298
+ __props__.__dict__["release_channel"] = release_channel
1299
+ __props__.__dict__["status"] = status
1300
+ __props__.__dict__["system_addons_config"] = system_addons_config
1301
+ __props__.__dict__["target_version"] = target_version
1302
+ __props__.__dict__["update_time"] = update_time
1303
+ return Cluster(resource_name, opts=opts, __props__=__props__)
1304
+
1305
+ @property
1306
+ @pulumi.getter
1307
+ def authorization(self) -> pulumi.Output['outputs.ClusterAuthorization']:
1308
+ """
1309
+ RBAC policy that will be applied and managed by GEC.
1310
+ Structure is documented below.
1311
+ """
1312
+ return pulumi.get(self, "authorization")
1313
+
1314
+ @property
1315
+ @pulumi.getter(name="clusterCaCertificate")
1316
+ def cluster_ca_certificate(self) -> pulumi.Output[str]:
1317
+ """
1318
+ The PEM-encoded public certificate of the cluster's CA.
1319
+ **Note**: This property is sensitive and will not be displayed in the plan.
1320
+ """
1321
+ return pulumi.get(self, "cluster_ca_certificate")
1322
+
1323
+ @property
1324
+ @pulumi.getter(name="controlPlane")
1325
+ def control_plane(self) -> pulumi.Output[Optional['outputs.ClusterControlPlane']]:
1326
+ """
1327
+ The configuration of the cluster control plane.
1328
+ Structure is documented below.
1329
+ """
1330
+ return pulumi.get(self, "control_plane")
1331
+
1332
+ @property
1333
+ @pulumi.getter(name="controlPlaneEncryption")
1334
+ def control_plane_encryption(self) -> pulumi.Output['outputs.ClusterControlPlaneEncryption']:
1335
+ """
1336
+ Remote control plane disk encryption options. This field is only used when
1337
+ enabling CMEK support.
1338
+ Structure is documented below.
1339
+ """
1340
+ return pulumi.get(self, "control_plane_encryption")
1341
+
1342
+ @property
1343
+ @pulumi.getter(name="controlPlaneVersion")
1344
+ def control_plane_version(self) -> pulumi.Output[str]:
1345
+ """
1346
+ The control plane release version.
1347
+ """
1348
+ return pulumi.get(self, "control_plane_version")
1349
+
1350
+ @property
1351
+ @pulumi.getter(name="createTime")
1352
+ def create_time(self) -> pulumi.Output[str]:
1353
+ """
1354
+ (Output)
1355
+ The time when the maintenance event request was created.
1356
+ """
1357
+ return pulumi.get(self, "create_time")
1358
+
1359
+ @property
1360
+ @pulumi.getter(name="defaultMaxPodsPerNode")
1361
+ def default_max_pods_per_node(self) -> pulumi.Output[int]:
1362
+ """
1363
+ The default maximum number of pods per node used if a maximum value is not
1364
+ specified explicitly for a node pool in this cluster. If unspecified, the
1365
+ Kubernetes default value will be used.
1366
+ """
1367
+ return pulumi.get(self, "default_max_pods_per_node")
1368
+
1369
+ @property
1370
+ @pulumi.getter(name="effectiveLabels")
1371
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
1372
+ """
1373
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
1374
+ """
1375
+ return pulumi.get(self, "effective_labels")
1376
+
1377
+ @property
1378
+ @pulumi.getter
1379
+ def endpoint(self) -> pulumi.Output[str]:
1380
+ """
1381
+ The IP address of the Kubernetes API server.
1382
+ """
1383
+ return pulumi.get(self, "endpoint")
1384
+
1385
+ @property
1386
+ @pulumi.getter(name="externalLoadBalancerIpv4AddressPools")
1387
+ def external_load_balancer_ipv4_address_pools(self) -> pulumi.Output[Sequence[str]]:
1388
+ """
1389
+ Address pools for cluster data plane external load balancing.
1390
+ """
1391
+ return pulumi.get(self, "external_load_balancer_ipv4_address_pools")
1392
+
1393
+ @property
1394
+ @pulumi.getter
1395
+ def fleet(self) -> pulumi.Output['outputs.ClusterFleet']:
1396
+ """
1397
+ Fleet related configuration.
1398
+ Fleets are a Google Cloud concept for logically organizing clusters,
1399
+ letting you use and manage multi-cluster capabilities and apply
1400
+ consistent policies across your systems.
1401
+ Structure is documented below.
1402
+ """
1403
+ return pulumi.get(self, "fleet")
1404
+
1405
+ @property
1406
+ @pulumi.getter
1407
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
1408
+ """
1409
+ User-defined labels for the edgecloud cluster.
1410
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
1411
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
1412
+ """
1413
+ return pulumi.get(self, "labels")
1414
+
1415
+ @property
1416
+ @pulumi.getter
1417
+ def location(self) -> pulumi.Output[str]:
1418
+ """
1419
+ The location of the resource.
1420
+ """
1421
+ return pulumi.get(self, "location")
1422
+
1423
+ @property
1424
+ @pulumi.getter(name="maintenanceEvents")
1425
+ def maintenance_events(self) -> pulumi.Output[Sequence['outputs.ClusterMaintenanceEvent']]:
1426
+ """
1427
+ All the maintenance events scheduled for the cluster, including the ones
1428
+ ongoing, planned for the future and done in the past (up to 90 days).
1429
+ Structure is documented below.
1430
+ """
1431
+ return pulumi.get(self, "maintenance_events")
1432
+
1433
+ @property
1434
+ @pulumi.getter(name="maintenancePolicy")
1435
+ def maintenance_policy(self) -> pulumi.Output['outputs.ClusterMaintenancePolicy']:
1436
+ """
1437
+ Cluster-wide maintenance policy configuration.
1438
+ Structure is documented below.
1439
+ """
1440
+ return pulumi.get(self, "maintenance_policy")
1441
+
1442
+ @property
1443
+ @pulumi.getter
1444
+ def name(self) -> pulumi.Output[str]:
1445
+ """
1446
+ The GDCE cluster name.
1447
+ """
1448
+ return pulumi.get(self, "name")
1449
+
1450
+ @property
1451
+ @pulumi.getter
1452
+ def networking(self) -> pulumi.Output['outputs.ClusterNetworking']:
1453
+ """
1454
+ Fleet related configuration.
1455
+ Fleets are a Google Cloud concept for logically organizing clusters,
1456
+ letting you use and manage multi-cluster capabilities and apply
1457
+ consistent policies across your systems.
1458
+ Structure is documented below.
1459
+ """
1460
+ return pulumi.get(self, "networking")
1461
+
1462
+ @property
1463
+ @pulumi.getter(name="nodeVersion")
1464
+ def node_version(self) -> pulumi.Output[str]:
1465
+ """
1466
+ The lowest release version among all worker nodes. This field can be empty
1467
+ if the cluster does not have any worker nodes.
1468
+ """
1469
+ return pulumi.get(self, "node_version")
1470
+
1471
+ @property
1472
+ @pulumi.getter
1473
+ def port(self) -> pulumi.Output[int]:
1474
+ """
1475
+ The port number of the Kubernetes API server.
1476
+ """
1477
+ return pulumi.get(self, "port")
1478
+
1479
+ @property
1480
+ @pulumi.getter
1481
+ def project(self) -> pulumi.Output[str]:
1482
+ """
1483
+ The ID of the project in which the resource belongs.
1484
+ If it is not provided, the provider project is used.
1485
+ """
1486
+ return pulumi.get(self, "project")
1487
+
1488
+ @property
1489
+ @pulumi.getter(name="pulumiLabels")
1490
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
1491
+ """
1492
+ The combination of labels configured directly on the resource
1493
+ and default labels configured on the provider.
1494
+ """
1495
+ return pulumi.get(self, "pulumi_labels")
1496
+
1497
+ @property
1498
+ @pulumi.getter(name="releaseChannel")
1499
+ def release_channel(self) -> pulumi.Output[str]:
1500
+ """
1501
+ The release channel a cluster is subscribed to.
1502
+ Possible values are: `RELEASE_CHANNEL_UNSPECIFIED`, `NONE`, `REGULAR`.
1503
+ """
1504
+ return pulumi.get(self, "release_channel")
1505
+
1506
+ @property
1507
+ @pulumi.getter
1508
+ def status(self) -> pulumi.Output[str]:
1509
+ """
1510
+ Indicates the status of the cluster.
1511
+ """
1512
+ return pulumi.get(self, "status")
1513
+
1514
+ @property
1515
+ @pulumi.getter(name="systemAddonsConfig")
1516
+ def system_addons_config(self) -> pulumi.Output['outputs.ClusterSystemAddonsConfig']:
1517
+ """
1518
+ Config that customers are allowed to define for GDCE system add-ons.
1519
+ Structure is documented below.
1520
+ """
1521
+ return pulumi.get(self, "system_addons_config")
1522
+
1523
+ @property
1524
+ @pulumi.getter(name="targetVersion")
1525
+ def target_version(self) -> pulumi.Output[str]:
1526
+ """
1527
+ The target cluster version. For example: "1.5.0".
1528
+ """
1529
+ return pulumi.get(self, "target_version")
1530
+
1531
+ @property
1532
+ @pulumi.getter(name="updateTime")
1533
+ def update_time(self) -> pulumi.Output[str]:
1534
+ """
1535
+ (Output)
1536
+ The time when the maintenance event message was updated.
1537
+ """
1538
+ return pulumi.get(self, "update_time")
1539
+