pulumi-gcp 7.28.0a1718950249__py3-none-any.whl → 7.29.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. pulumi_gcp/__init__.py +67 -0
  2. pulumi_gcp/_utilities.py +35 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +58 -74
  4. pulumi_gcp/accesscontextmanager/access_levels.py +0 -20
  5. pulumi_gcp/accesscontextmanager/outputs.py +58 -74
  6. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  7. pulumi_gcp/activedirectory/domain.py +14 -14
  8. pulumi_gcp/activedirectory/domain_trust.py +14 -14
  9. pulumi_gcp/alloydb/backup.py +8 -8
  10. pulumi_gcp/alloydb/cluster.py +11 -17
  11. pulumi_gcp/alloydb/instance.py +8 -8
  12. pulumi_gcp/alloydb/user.py +8 -8
  13. pulumi_gcp/apigee/addons_config.py +4 -4
  14. pulumi_gcp/apigee/endpoint_attachment.py +2 -2
  15. pulumi_gcp/apigee/env_group.py +2 -2
  16. pulumi_gcp/apigee/environment.py +2 -2
  17. pulumi_gcp/apigee/instance.py +8 -8
  18. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +10 -10
  19. pulumi_gcp/apigee/nat_address.py +2 -2
  20. pulumi_gcp/apigee/organization.py +6 -6
  21. pulumi_gcp/apigee/sync_authorization.py +4 -4
  22. pulumi_gcp/apigee/target_server.py +10 -10
  23. pulumi_gcp/apphub/service.py +20 -20
  24. pulumi_gcp/apphub/service_project_attachment.py +8 -8
  25. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  26. pulumi_gcp/applicationintegration/client.py +6 -18
  27. pulumi_gcp/artifactregistry/__init__.py +1 -0
  28. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  29. pulumi_gcp/artifactregistry/get_docker_image.py +244 -0
  30. pulumi_gcp/artifactregistry/outputs.py +6 -6
  31. pulumi_gcp/artifactregistry/repository.py +10 -10
  32. pulumi_gcp/backupdisasterrecovery/management_server.py +2 -2
  33. pulumi_gcp/bigquery/_inputs.py +2 -6
  34. pulumi_gcp/bigquery/data_transfer_config.py +4 -4
  35. pulumi_gcp/bigquery/dataset.py +75 -0
  36. pulumi_gcp/bigquery/get_dataset.py +11 -1
  37. pulumi_gcp/bigquery/job.py +6 -6
  38. pulumi_gcp/bigquery/outputs.py +2 -6
  39. pulumi_gcp/bigtable/_inputs.py +41 -3
  40. pulumi_gcp/bigtable/instance.py +3 -9
  41. pulumi_gcp/bigtable/outputs.py +50 -3
  42. pulumi_gcp/bigtable/table.py +54 -0
  43. pulumi_gcp/billing/_inputs.py +22 -0
  44. pulumi_gcp/billing/budget.py +50 -0
  45. pulumi_gcp/billing/outputs.py +20 -0
  46. pulumi_gcp/certificateauthority/authority.py +2 -2
  47. pulumi_gcp/certificateauthority/certificate.py +4 -4
  48. pulumi_gcp/certificatemanager/_inputs.py +2 -6
  49. pulumi_gcp/certificatemanager/certificate.py +4 -4
  50. pulumi_gcp/certificatemanager/certificate_issuance_config.py +2 -2
  51. pulumi_gcp/certificatemanager/outputs.py +2 -6
  52. pulumi_gcp/cloudbuild/bitbucket_server_config.py +6 -6
  53. pulumi_gcp/cloudbuild/trigger.py +2 -2
  54. pulumi_gcp/cloudbuild/worker_pool.py +6 -6
  55. pulumi_gcp/cloudbuildv2/_inputs.py +383 -0
  56. pulumi_gcp/cloudbuildv2/connection.py +112 -4
  57. pulumi_gcp/cloudbuildv2/outputs.py +421 -0
  58. pulumi_gcp/cloudbuildv2/repository.py +2 -2
  59. pulumi_gcp/cloudfunctionsv2/function.py +28 -28
  60. pulumi_gcp/cloudids/endpoint.py +2 -2
  61. pulumi_gcp/cloudrun/_inputs.py +3 -9
  62. pulumi_gcp/cloudrun/outputs.py +3 -9
  63. pulumi_gcp/cloudrunv2/get_job.py +21 -1
  64. pulumi_gcp/cloudrunv2/job.py +163 -19
  65. pulumi_gcp/cloudrunv2/service.py +8 -8
  66. pulumi_gcp/composer/__init__.py +3 -0
  67. pulumi_gcp/composer/get_user_workloads_config_map.py +190 -0
  68. pulumi_gcp/composer/get_user_workloads_secret.py +188 -0
  69. pulumi_gcp/composer/user_workloads_config_map.py +475 -0
  70. pulumi_gcp/compute/_inputs.py +87 -2
  71. pulumi_gcp/compute/backend_service.py +28 -48
  72. pulumi_gcp/compute/disk.py +3 -9
  73. pulumi_gcp/compute/firewall.py +3 -9
  74. pulumi_gcp/compute/forwarding_rule.py +22 -22
  75. pulumi_gcp/compute/interconnect.py +4 -4
  76. pulumi_gcp/compute/outputs.py +176 -5
  77. pulumi_gcp/compute/packet_mirroring.py +2 -2
  78. pulumi_gcp/compute/project_cloud_armor_tier.py +2 -2
  79. pulumi_gcp/compute/region_backend_service.py +35 -48
  80. pulumi_gcp/compute/region_disk.py +3 -9
  81. pulumi_gcp/compute/region_network_endpoint.py +187 -0
  82. pulumi_gcp/compute/region_network_endpoint_group.py +49 -9
  83. pulumi_gcp/compute/region_security_policy_rule.py +2 -2
  84. pulumi_gcp/compute/region_target_https_proxy.py +7 -14
  85. pulumi_gcp/compute/route.py +2 -2
  86. pulumi_gcp/compute/subnetwork.py +2 -6
  87. pulumi_gcp/compute/target_https_proxy.py +28 -14
  88. pulumi_gcp/compute/target_instance.py +2 -2
  89. pulumi_gcp/compute/vpn_gateway.py +2 -2
  90. pulumi_gcp/compute/vpn_tunnel.py +2 -2
  91. pulumi_gcp/config/__init__.pyi +2 -0
  92. pulumi_gcp/config/vars.py +4 -0
  93. pulumi_gcp/container/_inputs.py +4 -8
  94. pulumi_gcp/container/outputs.py +6 -10
  95. pulumi_gcp/databasemigrationservice/connection_profile.py +16 -16
  96. pulumi_gcp/datacatalog/policy_tag.py +2 -2
  97. pulumi_gcp/datafusion/instance.py +4 -8
  98. pulumi_gcp/dataplex/asset.py +2 -2
  99. pulumi_gcp/dataplex/datascan.py +2 -2
  100. pulumi_gcp/dataproc/_inputs.py +100 -0
  101. pulumi_gcp/dataproc/metastore_service.py +172 -0
  102. pulumi_gcp/dataproc/outputs.py +192 -1
  103. pulumi_gcp/dataproc/workflow_template.py +3 -9
  104. pulumi_gcp/datastore/data_store_index.py +2 -2
  105. pulumi_gcp/datastream/stream.py +6 -6
  106. pulumi_gcp/diagflow/entity_type.py +2 -2
  107. pulumi_gcp/diagflow/fulfillment.py +2 -2
  108. pulumi_gcp/diagflow/intent.py +4 -4
  109. pulumi_gcp/discoveryengine/_inputs.py +227 -0
  110. pulumi_gcp/discoveryengine/data_store.py +108 -0
  111. pulumi_gcp/discoveryengine/outputs.py +280 -0
  112. pulumi_gcp/edgecontainer/_inputs.py +107 -1
  113. pulumi_gcp/edgecontainer/node_pool.py +2 -2
  114. pulumi_gcp/edgecontainer/outputs.py +123 -1
  115. pulumi_gcp/edgecontainer/vpn_connection.py +2 -2
  116. pulumi_gcp/eventarc/channel.py +2 -2
  117. pulumi_gcp/eventarc/google_channel_config.py +2 -2
  118. pulumi_gcp/filestore/instance.py +3 -9
  119. pulumi_gcp/firebase/app_check_app_attest_config.py +8 -8
  120. pulumi_gcp/firebase/app_check_debug_token.py +4 -4
  121. pulumi_gcp/firebase/app_check_device_check_config.py +4 -4
  122. pulumi_gcp/firebase/app_check_play_integrity_config.py +8 -8
  123. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +4 -4
  124. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +4 -4
  125. pulumi_gcp/firebase/app_check_service_config.py +6 -6
  126. pulumi_gcp/firebase/database_instance.py +2 -2
  127. pulumi_gcp/firestore/database.py +4 -4
  128. pulumi_gcp/firestore/document.py +12 -12
  129. pulumi_gcp/folder/access_approval_settings.py +2 -2
  130. pulumi_gcp/gkehub/_inputs.py +20 -8
  131. pulumi_gcp/gkehub/membership.py +3 -9
  132. pulumi_gcp/gkehub/membership_binding.py +4 -4
  133. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  134. pulumi_gcp/gkehub/namespace.py +2 -2
  135. pulumi_gcp/gkehub/outputs.py +19 -9
  136. pulumi_gcp/gkehub/scope_rbac_role_binding.py +2 -2
  137. pulumi_gcp/healthcare/fhir_store.py +3 -9
  138. pulumi_gcp/healthcare/hl7_store.py +3 -9
  139. pulumi_gcp/integrationconnectors/connection.py +2 -2
  140. pulumi_gcp/integrationconnectors/managed_zone.py +6 -6
  141. pulumi_gcp/kms/_inputs.py +1 -3
  142. pulumi_gcp/kms/autokey_config.py +16 -16
  143. pulumi_gcp/kms/key_handle.py +22 -22
  144. pulumi_gcp/kms/outputs.py +1 -3
  145. pulumi_gcp/logging/folder_settings.py +2 -2
  146. pulumi_gcp/logging/folder_sink.py +14 -14
  147. pulumi_gcp/logging/linked_dataset.py +2 -2
  148. pulumi_gcp/logging/organization_settings.py +2 -2
  149. pulumi_gcp/logging/organization_sink.py +14 -14
  150. pulumi_gcp/logging/project_bucket_config.py +2 -2
  151. pulumi_gcp/looker/instance.py +2 -2
  152. pulumi_gcp/managedkafka/__init__.py +11 -0
  153. pulumi_gcp/managedkafka/_inputs.py +169 -0
  154. pulumi_gcp/managedkafka/cluster.py +807 -0
  155. pulumi_gcp/managedkafka/outputs.py +197 -0
  156. pulumi_gcp/managedkafka/topic.py +599 -0
  157. pulumi_gcp/netapp/__init__.py +1 -0
  158. pulumi_gcp/netapp/active_directory.py +55 -0
  159. pulumi_gcp/netapp/backup.py +903 -0
  160. pulumi_gcp/netapp/volume_replication.py +2 -2
  161. pulumi_gcp/netapp/volume_snapshot.py +2 -2
  162. pulumi_gcp/networkconnectivity/internal_range.py +2 -2
  163. pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
  164. pulumi_gcp/networksecurity/tls_inspection_policy.py +4 -4
  165. pulumi_gcp/networkservices/gateway.py +6 -6
  166. pulumi_gcp/organizations/access_approval_settings.py +2 -2
  167. pulumi_gcp/parallelstore/instance.py +2 -2
  168. pulumi_gcp/projects/access_approval_settings.py +5 -11
  169. pulumi_gcp/provider.py +20 -0
  170. pulumi_gcp/pubsub/_inputs.py +40 -0
  171. pulumi_gcp/pubsub/outputs.py +66 -0
  172. pulumi_gcp/pubsub/schema.py +2 -2
  173. pulumi_gcp/pubsub/subscription.py +174 -8
  174. pulumi_gcp/pubsub/topic.py +2 -2
  175. pulumi_gcp/pulumi-plugin.json +1 -1
  176. pulumi_gcp/redis/cluster.py +4 -4
  177. pulumi_gcp/redis/get_instance.py +11 -1
  178. pulumi_gcp/redis/instance.py +49 -2
  179. pulumi_gcp/secretmanager/secret.py +2 -2
  180. pulumi_gcp/securesourcemanager/instance.py +6 -6
  181. pulumi_gcp/securitycenter/__init__.py +3 -0
  182. pulumi_gcp/securitycenter/_inputs.py +1105 -0
  183. pulumi_gcp/securitycenter/instance_iam_binding.py +2 -2
  184. pulumi_gcp/securitycenter/instance_iam_member.py +2 -2
  185. pulumi_gcp/securitycenter/instance_iam_policy.py +2 -2
  186. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +725 -0
  187. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +713 -0
  188. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +706 -0
  189. pulumi_gcp/securitycenter/outputs.py +1048 -0
  190. pulumi_gcp/servicenetworking/__init__.py +1 -0
  191. pulumi_gcp/servicenetworking/vpc_service_controls.py +511 -0
  192. pulumi_gcp/sql/_inputs.py +1 -3
  193. pulumi_gcp/sql/database_instance.py +2 -2
  194. pulumi_gcp/sql/outputs.py +1 -3
  195. pulumi_gcp/sql/user.py +21 -7
  196. pulumi_gcp/storage/get_project_service_account.py +2 -2
  197. pulumi_gcp/storage/insights_report_config.py +2 -2
  198. pulumi_gcp/storage/notification.py +2 -2
  199. pulumi_gcp/storage/transfer_agent_pool.py +2 -2
  200. pulumi_gcp/storage/transfer_job.py +4 -4
  201. pulumi_gcp/tpu/v2_vm.py +4 -4
  202. pulumi_gcp/vertex/_inputs.py +1 -3
  203. pulumi_gcp/vertex/ai_endpoint.py +2 -2
  204. pulumi_gcp/vertex/ai_feature_online_store.py +31 -8
  205. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  206. pulumi_gcp/vertex/ai_tensorboard.py +2 -2
  207. pulumi_gcp/vertex/outputs.py +1 -3
  208. pulumi_gcp/vmwareengine/external_address.py +2 -2
  209. pulumi_gcp/vmwareengine/network.py +4 -4
  210. pulumi_gcp/vpcaccess/connector.py +2 -8
  211. {pulumi_gcp-7.28.0a1718950249.dist-info → pulumi_gcp-7.29.0.dist-info}/METADATA +1 -1
  212. {pulumi_gcp-7.28.0a1718950249.dist-info → pulumi_gcp-7.29.0.dist-info}/RECORD +214 -200
  213. {pulumi_gcp-7.28.0a1718950249.dist-info → pulumi_gcp-7.29.0.dist-info}/WHEEL +1 -1
  214. {pulumi_gcp-7.28.0a1718950249.dist-info → pulumi_gcp-7.29.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,807 @@
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
+ capacity_config: pulumi.Input['ClusterCapacityConfigArgs'],
20
+ cluster_id: pulumi.Input[str],
21
+ gcp_config: pulumi.Input['ClusterGcpConfigArgs'],
22
+ location: pulumi.Input[str],
23
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
24
+ project: Optional[pulumi.Input[str]] = None,
25
+ rebalance_config: Optional[pulumi.Input['ClusterRebalanceConfigArgs']] = None):
26
+ """
27
+ The set of arguments for constructing a Cluster resource.
28
+ :param pulumi.Input['ClusterCapacityConfigArgs'] capacity_config: A capacity configuration of a Kafka cluster.
29
+ Structure is documented below.
30
+ :param pulumi.Input[str] cluster_id: The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
31
+ :param pulumi.Input['ClusterGcpConfigArgs'] gcp_config: Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
32
+ Structure is documented below.
33
+ :param pulumi.Input[str] location: ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
34
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
35
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
36
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
37
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
38
+ :param pulumi.Input['ClusterRebalanceConfigArgs'] rebalance_config: Defines rebalancing behavior of a Kafka cluster.
39
+ """
40
+ pulumi.set(__self__, "capacity_config", capacity_config)
41
+ pulumi.set(__self__, "cluster_id", cluster_id)
42
+ pulumi.set(__self__, "gcp_config", gcp_config)
43
+ pulumi.set(__self__, "location", location)
44
+ if labels is not None:
45
+ pulumi.set(__self__, "labels", labels)
46
+ if project is not None:
47
+ pulumi.set(__self__, "project", project)
48
+ if rebalance_config is not None:
49
+ pulumi.set(__self__, "rebalance_config", rebalance_config)
50
+
51
+ @property
52
+ @pulumi.getter(name="capacityConfig")
53
+ def capacity_config(self) -> pulumi.Input['ClusterCapacityConfigArgs']:
54
+ """
55
+ A capacity configuration of a Kafka cluster.
56
+ Structure is documented below.
57
+ """
58
+ return pulumi.get(self, "capacity_config")
59
+
60
+ @capacity_config.setter
61
+ def capacity_config(self, value: pulumi.Input['ClusterCapacityConfigArgs']):
62
+ pulumi.set(self, "capacity_config", value)
63
+
64
+ @property
65
+ @pulumi.getter(name="clusterId")
66
+ def cluster_id(self) -> pulumi.Input[str]:
67
+ """
68
+ The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
69
+ """
70
+ return pulumi.get(self, "cluster_id")
71
+
72
+ @cluster_id.setter
73
+ def cluster_id(self, value: pulumi.Input[str]):
74
+ pulumi.set(self, "cluster_id", value)
75
+
76
+ @property
77
+ @pulumi.getter(name="gcpConfig")
78
+ def gcp_config(self) -> pulumi.Input['ClusterGcpConfigArgs']:
79
+ """
80
+ Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
81
+ Structure is documented below.
82
+ """
83
+ return pulumi.get(self, "gcp_config")
84
+
85
+ @gcp_config.setter
86
+ def gcp_config(self, value: pulumi.Input['ClusterGcpConfigArgs']):
87
+ pulumi.set(self, "gcp_config", value)
88
+
89
+ @property
90
+ @pulumi.getter
91
+ def location(self) -> pulumi.Input[str]:
92
+ """
93
+ ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
94
+ """
95
+ return pulumi.get(self, "location")
96
+
97
+ @location.setter
98
+ def location(self, value: pulumi.Input[str]):
99
+ pulumi.set(self, "location", value)
100
+
101
+ @property
102
+ @pulumi.getter
103
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
104
+ """
105
+ List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
106
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
107
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
108
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
109
+ """
110
+ return pulumi.get(self, "labels")
111
+
112
+ @labels.setter
113
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
114
+ pulumi.set(self, "labels", value)
115
+
116
+ @property
117
+ @pulumi.getter
118
+ def project(self) -> Optional[pulumi.Input[str]]:
119
+ return pulumi.get(self, "project")
120
+
121
+ @project.setter
122
+ def project(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "project", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="rebalanceConfig")
127
+ def rebalance_config(self) -> Optional[pulumi.Input['ClusterRebalanceConfigArgs']]:
128
+ """
129
+ Defines rebalancing behavior of a Kafka cluster.
130
+ """
131
+ return pulumi.get(self, "rebalance_config")
132
+
133
+ @rebalance_config.setter
134
+ def rebalance_config(self, value: Optional[pulumi.Input['ClusterRebalanceConfigArgs']]):
135
+ pulumi.set(self, "rebalance_config", value)
136
+
137
+
138
+ @pulumi.input_type
139
+ class _ClusterState:
140
+ def __init__(__self__, *,
141
+ capacity_config: Optional[pulumi.Input['ClusterCapacityConfigArgs']] = None,
142
+ cluster_id: Optional[pulumi.Input[str]] = None,
143
+ create_time: Optional[pulumi.Input[str]] = None,
144
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
145
+ gcp_config: Optional[pulumi.Input['ClusterGcpConfigArgs']] = None,
146
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
147
+ location: Optional[pulumi.Input[str]] = None,
148
+ name: Optional[pulumi.Input[str]] = None,
149
+ project: Optional[pulumi.Input[str]] = None,
150
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
151
+ rebalance_config: Optional[pulumi.Input['ClusterRebalanceConfigArgs']] = None,
152
+ state: Optional[pulumi.Input[str]] = None,
153
+ update_time: Optional[pulumi.Input[str]] = None):
154
+ """
155
+ Input properties used for looking up and filtering Cluster resources.
156
+ :param pulumi.Input['ClusterCapacityConfigArgs'] capacity_config: A capacity configuration of a Kafka cluster.
157
+ Structure is documented below.
158
+ :param pulumi.Input[str] cluster_id: The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
159
+ :param pulumi.Input[str] create_time: The time when the cluster was created.
160
+ :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.
161
+ :param pulumi.Input['ClusterGcpConfigArgs'] gcp_config: Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
162
+ Structure is documented below.
163
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
164
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
165
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
166
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
167
+ :param pulumi.Input[str] location: ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
168
+ :param pulumi.Input[str] name: The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
169
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
170
+ and default labels configured on the provider.
171
+ :param pulumi.Input['ClusterRebalanceConfigArgs'] rebalance_config: Defines rebalancing behavior of a Kafka cluster.
172
+ :param pulumi.Input[str] state: The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
173
+ :param pulumi.Input[str] update_time: The time when the cluster was last updated.
174
+ """
175
+ if capacity_config is not None:
176
+ pulumi.set(__self__, "capacity_config", capacity_config)
177
+ if cluster_id is not None:
178
+ pulumi.set(__self__, "cluster_id", cluster_id)
179
+ if create_time is not None:
180
+ pulumi.set(__self__, "create_time", create_time)
181
+ if effective_labels is not None:
182
+ pulumi.set(__self__, "effective_labels", effective_labels)
183
+ if gcp_config is not None:
184
+ pulumi.set(__self__, "gcp_config", gcp_config)
185
+ if labels is not None:
186
+ pulumi.set(__self__, "labels", labels)
187
+ if location is not None:
188
+ pulumi.set(__self__, "location", location)
189
+ if name is not None:
190
+ pulumi.set(__self__, "name", name)
191
+ if project is not None:
192
+ pulumi.set(__self__, "project", project)
193
+ if pulumi_labels is not None:
194
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
195
+ if rebalance_config is not None:
196
+ pulumi.set(__self__, "rebalance_config", rebalance_config)
197
+ if state is not None:
198
+ pulumi.set(__self__, "state", state)
199
+ if update_time is not None:
200
+ pulumi.set(__self__, "update_time", update_time)
201
+
202
+ @property
203
+ @pulumi.getter(name="capacityConfig")
204
+ def capacity_config(self) -> Optional[pulumi.Input['ClusterCapacityConfigArgs']]:
205
+ """
206
+ A capacity configuration of a Kafka cluster.
207
+ Structure is documented below.
208
+ """
209
+ return pulumi.get(self, "capacity_config")
210
+
211
+ @capacity_config.setter
212
+ def capacity_config(self, value: Optional[pulumi.Input['ClusterCapacityConfigArgs']]):
213
+ pulumi.set(self, "capacity_config", value)
214
+
215
+ @property
216
+ @pulumi.getter(name="clusterId")
217
+ def cluster_id(self) -> Optional[pulumi.Input[str]]:
218
+ """
219
+ The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
220
+ """
221
+ return pulumi.get(self, "cluster_id")
222
+
223
+ @cluster_id.setter
224
+ def cluster_id(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "cluster_id", value)
226
+
227
+ @property
228
+ @pulumi.getter(name="createTime")
229
+ def create_time(self) -> Optional[pulumi.Input[str]]:
230
+ """
231
+ The time when the cluster was created.
232
+ """
233
+ return pulumi.get(self, "create_time")
234
+
235
+ @create_time.setter
236
+ def create_time(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "create_time", value)
238
+
239
+ @property
240
+ @pulumi.getter(name="effectiveLabels")
241
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
242
+ """
243
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
244
+ """
245
+ return pulumi.get(self, "effective_labels")
246
+
247
+ @effective_labels.setter
248
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
249
+ pulumi.set(self, "effective_labels", value)
250
+
251
+ @property
252
+ @pulumi.getter(name="gcpConfig")
253
+ def gcp_config(self) -> Optional[pulumi.Input['ClusterGcpConfigArgs']]:
254
+ """
255
+ Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
256
+ Structure is documented below.
257
+ """
258
+ return pulumi.get(self, "gcp_config")
259
+
260
+ @gcp_config.setter
261
+ def gcp_config(self, value: Optional[pulumi.Input['ClusterGcpConfigArgs']]):
262
+ pulumi.set(self, "gcp_config", value)
263
+
264
+ @property
265
+ @pulumi.getter
266
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
267
+ """
268
+ List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
269
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
270
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
271
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
272
+ """
273
+ return pulumi.get(self, "labels")
274
+
275
+ @labels.setter
276
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
277
+ pulumi.set(self, "labels", value)
278
+
279
+ @property
280
+ @pulumi.getter
281
+ def location(self) -> Optional[pulumi.Input[str]]:
282
+ """
283
+ ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
284
+ """
285
+ return pulumi.get(self, "location")
286
+
287
+ @location.setter
288
+ def location(self, value: Optional[pulumi.Input[str]]):
289
+ pulumi.set(self, "location", value)
290
+
291
+ @property
292
+ @pulumi.getter
293
+ def name(self) -> Optional[pulumi.Input[str]]:
294
+ """
295
+ The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
296
+ """
297
+ return pulumi.get(self, "name")
298
+
299
+ @name.setter
300
+ def name(self, value: Optional[pulumi.Input[str]]):
301
+ pulumi.set(self, "name", value)
302
+
303
+ @property
304
+ @pulumi.getter
305
+ def project(self) -> Optional[pulumi.Input[str]]:
306
+ return pulumi.get(self, "project")
307
+
308
+ @project.setter
309
+ def project(self, value: Optional[pulumi.Input[str]]):
310
+ pulumi.set(self, "project", value)
311
+
312
+ @property
313
+ @pulumi.getter(name="pulumiLabels")
314
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
315
+ """
316
+ The combination of labels configured directly on the resource
317
+ and default labels configured on the provider.
318
+ """
319
+ return pulumi.get(self, "pulumi_labels")
320
+
321
+ @pulumi_labels.setter
322
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
323
+ pulumi.set(self, "pulumi_labels", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="rebalanceConfig")
327
+ def rebalance_config(self) -> Optional[pulumi.Input['ClusterRebalanceConfigArgs']]:
328
+ """
329
+ Defines rebalancing behavior of a Kafka cluster.
330
+ """
331
+ return pulumi.get(self, "rebalance_config")
332
+
333
+ @rebalance_config.setter
334
+ def rebalance_config(self, value: Optional[pulumi.Input['ClusterRebalanceConfigArgs']]):
335
+ pulumi.set(self, "rebalance_config", value)
336
+
337
+ @property
338
+ @pulumi.getter
339
+ def state(self) -> Optional[pulumi.Input[str]]:
340
+ """
341
+ The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
342
+ """
343
+ return pulumi.get(self, "state")
344
+
345
+ @state.setter
346
+ def state(self, value: Optional[pulumi.Input[str]]):
347
+ pulumi.set(self, "state", value)
348
+
349
+ @property
350
+ @pulumi.getter(name="updateTime")
351
+ def update_time(self) -> Optional[pulumi.Input[str]]:
352
+ """
353
+ The time when the cluster was last updated.
354
+ """
355
+ return pulumi.get(self, "update_time")
356
+
357
+ @update_time.setter
358
+ def update_time(self, value: Optional[pulumi.Input[str]]):
359
+ pulumi.set(self, "update_time", value)
360
+
361
+
362
+ class Cluster(pulumi.CustomResource):
363
+ @overload
364
+ def __init__(__self__,
365
+ resource_name: str,
366
+ opts: Optional[pulumi.ResourceOptions] = None,
367
+ capacity_config: Optional[pulumi.Input[pulumi.InputType['ClusterCapacityConfigArgs']]] = None,
368
+ cluster_id: Optional[pulumi.Input[str]] = None,
369
+ gcp_config: Optional[pulumi.Input[pulumi.InputType['ClusterGcpConfigArgs']]] = None,
370
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
371
+ location: Optional[pulumi.Input[str]] = None,
372
+ project: Optional[pulumi.Input[str]] = None,
373
+ rebalance_config: Optional[pulumi.Input[pulumi.InputType['ClusterRebalanceConfigArgs']]] = None,
374
+ __props__=None):
375
+ """
376
+ ## Example Usage
377
+
378
+ ### Managedkafka Cluster Basic
379
+
380
+ ```python
381
+ import pulumi
382
+ import pulumi_gcp as gcp
383
+
384
+ project = gcp.organizations.get_project()
385
+ example = gcp.managedkafka.Cluster("example",
386
+ cluster_id="my-cluster",
387
+ location="us-central1",
388
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
389
+ vcpu_count="3",
390
+ memory_bytes="3221225472",
391
+ ),
392
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
393
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
394
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
395
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
396
+ )],
397
+ ),
398
+ ),
399
+ rebalance_config=gcp.managedkafka.ClusterRebalanceConfigArgs(
400
+ mode="NO_REBALANCE",
401
+ ),
402
+ labels={
403
+ "key": "value",
404
+ })
405
+ ```
406
+ ### Managedkafka Cluster Cmek
407
+
408
+ ```python
409
+ import pulumi
410
+ import pulumi_gcp as gcp
411
+
412
+ key_ring = gcp.kms.KeyRing("key_ring",
413
+ name="example-key-ring",
414
+ location="us-central1")
415
+ key = gcp.kms.CryptoKey("key",
416
+ name="example-key",
417
+ key_ring=key_ring.id)
418
+ project = gcp.organizations.get_project()
419
+ example = gcp.managedkafka.Cluster("example",
420
+ cluster_id="my-cluster",
421
+ location="us-central1",
422
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
423
+ vcpu_count="3",
424
+ memory_bytes="3221225472",
425
+ ),
426
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
427
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
428
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
429
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
430
+ )],
431
+ ),
432
+ kms_key=key.id,
433
+ ))
434
+ kafka_service_identity = gcp.projects.ServiceIdentity("kafka_service_identity",
435
+ project=project.project_id,
436
+ service="managedkafka.googleapis.com")
437
+ crypto_key_binding = gcp.kms.CryptoKeyIAMBinding("crypto_key_binding",
438
+ crypto_key_id=key.id,
439
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
440
+ members=[f"serviceAccount:service-{project.number}@gcp-sa-managedkafka.iam.gserviceaccount.com"])
441
+ ```
442
+
443
+ ## Import
444
+
445
+ Cluster can be imported using any of these accepted formats:
446
+
447
+ * `projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}`
448
+
449
+ * `{{project}}/{{location}}/{{cluster_id}}`
450
+
451
+ * `{{location}}/{{cluster_id}}`
452
+
453
+ When using the `pulumi import` command, Cluster can be imported using one of the formats above. For example:
454
+
455
+ ```sh
456
+ $ pulumi import gcp:managedkafka/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}
457
+ ```
458
+
459
+ ```sh
460
+ $ pulumi import gcp:managedkafka/cluster:Cluster default {{project}}/{{location}}/{{cluster_id}}
461
+ ```
462
+
463
+ ```sh
464
+ $ pulumi import gcp:managedkafka/cluster:Cluster default {{location}}/{{cluster_id}}
465
+ ```
466
+
467
+ :param str resource_name: The name of the resource.
468
+ :param pulumi.ResourceOptions opts: Options for the resource.
469
+ :param pulumi.Input[pulumi.InputType['ClusterCapacityConfigArgs']] capacity_config: A capacity configuration of a Kafka cluster.
470
+ Structure is documented below.
471
+ :param pulumi.Input[str] cluster_id: The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
472
+ :param pulumi.Input[pulumi.InputType['ClusterGcpConfigArgs']] gcp_config: Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
473
+ Structure is documented below.
474
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
475
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
476
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
477
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
478
+ :param pulumi.Input[str] location: ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
479
+ :param pulumi.Input[pulumi.InputType['ClusterRebalanceConfigArgs']] rebalance_config: Defines rebalancing behavior of a Kafka cluster.
480
+ """
481
+ ...
482
+ @overload
483
+ def __init__(__self__,
484
+ resource_name: str,
485
+ args: ClusterArgs,
486
+ opts: Optional[pulumi.ResourceOptions] = None):
487
+ """
488
+ ## Example Usage
489
+
490
+ ### Managedkafka Cluster Basic
491
+
492
+ ```python
493
+ import pulumi
494
+ import pulumi_gcp as gcp
495
+
496
+ project = gcp.organizations.get_project()
497
+ example = gcp.managedkafka.Cluster("example",
498
+ cluster_id="my-cluster",
499
+ location="us-central1",
500
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
501
+ vcpu_count="3",
502
+ memory_bytes="3221225472",
503
+ ),
504
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
505
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
506
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
507
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
508
+ )],
509
+ ),
510
+ ),
511
+ rebalance_config=gcp.managedkafka.ClusterRebalanceConfigArgs(
512
+ mode="NO_REBALANCE",
513
+ ),
514
+ labels={
515
+ "key": "value",
516
+ })
517
+ ```
518
+ ### Managedkafka Cluster Cmek
519
+
520
+ ```python
521
+ import pulumi
522
+ import pulumi_gcp as gcp
523
+
524
+ key_ring = gcp.kms.KeyRing("key_ring",
525
+ name="example-key-ring",
526
+ location="us-central1")
527
+ key = gcp.kms.CryptoKey("key",
528
+ name="example-key",
529
+ key_ring=key_ring.id)
530
+ project = gcp.organizations.get_project()
531
+ example = gcp.managedkafka.Cluster("example",
532
+ cluster_id="my-cluster",
533
+ location="us-central1",
534
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
535
+ vcpu_count="3",
536
+ memory_bytes="3221225472",
537
+ ),
538
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
539
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
540
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
541
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
542
+ )],
543
+ ),
544
+ kms_key=key.id,
545
+ ))
546
+ kafka_service_identity = gcp.projects.ServiceIdentity("kafka_service_identity",
547
+ project=project.project_id,
548
+ service="managedkafka.googleapis.com")
549
+ crypto_key_binding = gcp.kms.CryptoKeyIAMBinding("crypto_key_binding",
550
+ crypto_key_id=key.id,
551
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
552
+ members=[f"serviceAccount:service-{project.number}@gcp-sa-managedkafka.iam.gserviceaccount.com"])
553
+ ```
554
+
555
+ ## Import
556
+
557
+ Cluster can be imported using any of these accepted formats:
558
+
559
+ * `projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}`
560
+
561
+ * `{{project}}/{{location}}/{{cluster_id}}`
562
+
563
+ * `{{location}}/{{cluster_id}}`
564
+
565
+ When using the `pulumi import` command, Cluster can be imported using one of the formats above. For example:
566
+
567
+ ```sh
568
+ $ pulumi import gcp:managedkafka/cluster:Cluster default projects/{{project}}/locations/{{location}}/clusters/{{cluster_id}}
569
+ ```
570
+
571
+ ```sh
572
+ $ pulumi import gcp:managedkafka/cluster:Cluster default {{project}}/{{location}}/{{cluster_id}}
573
+ ```
574
+
575
+ ```sh
576
+ $ pulumi import gcp:managedkafka/cluster:Cluster default {{location}}/{{cluster_id}}
577
+ ```
578
+
579
+ :param str resource_name: The name of the resource.
580
+ :param ClusterArgs args: The arguments to use to populate this resource's properties.
581
+ :param pulumi.ResourceOptions opts: Options for the resource.
582
+ """
583
+ ...
584
+ def __init__(__self__, resource_name: str, *args, **kwargs):
585
+ resource_args, opts = _utilities.get_resource_args_opts(ClusterArgs, pulumi.ResourceOptions, *args, **kwargs)
586
+ if resource_args is not None:
587
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
588
+ else:
589
+ __self__._internal_init(resource_name, *args, **kwargs)
590
+
591
+ def _internal_init(__self__,
592
+ resource_name: str,
593
+ opts: Optional[pulumi.ResourceOptions] = None,
594
+ capacity_config: Optional[pulumi.Input[pulumi.InputType['ClusterCapacityConfigArgs']]] = None,
595
+ cluster_id: Optional[pulumi.Input[str]] = None,
596
+ gcp_config: Optional[pulumi.Input[pulumi.InputType['ClusterGcpConfigArgs']]] = None,
597
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
598
+ location: Optional[pulumi.Input[str]] = None,
599
+ project: Optional[pulumi.Input[str]] = None,
600
+ rebalance_config: Optional[pulumi.Input[pulumi.InputType['ClusterRebalanceConfigArgs']]] = None,
601
+ __props__=None):
602
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
603
+ if not isinstance(opts, pulumi.ResourceOptions):
604
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
605
+ if opts.id is None:
606
+ if __props__ is not None:
607
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
608
+ __props__ = ClusterArgs.__new__(ClusterArgs)
609
+
610
+ if capacity_config is None and not opts.urn:
611
+ raise TypeError("Missing required property 'capacity_config'")
612
+ __props__.__dict__["capacity_config"] = capacity_config
613
+ if cluster_id is None and not opts.urn:
614
+ raise TypeError("Missing required property 'cluster_id'")
615
+ __props__.__dict__["cluster_id"] = cluster_id
616
+ if gcp_config is None and not opts.urn:
617
+ raise TypeError("Missing required property 'gcp_config'")
618
+ __props__.__dict__["gcp_config"] = gcp_config
619
+ __props__.__dict__["labels"] = labels
620
+ if location is None and not opts.urn:
621
+ raise TypeError("Missing required property 'location'")
622
+ __props__.__dict__["location"] = location
623
+ __props__.__dict__["project"] = project
624
+ __props__.__dict__["rebalance_config"] = rebalance_config
625
+ __props__.__dict__["create_time"] = None
626
+ __props__.__dict__["effective_labels"] = None
627
+ __props__.__dict__["name"] = None
628
+ __props__.__dict__["pulumi_labels"] = None
629
+ __props__.__dict__["state"] = None
630
+ __props__.__dict__["update_time"] = None
631
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
632
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
633
+ super(Cluster, __self__).__init__(
634
+ 'gcp:managedkafka/cluster:Cluster',
635
+ resource_name,
636
+ __props__,
637
+ opts)
638
+
639
+ @staticmethod
640
+ def get(resource_name: str,
641
+ id: pulumi.Input[str],
642
+ opts: Optional[pulumi.ResourceOptions] = None,
643
+ capacity_config: Optional[pulumi.Input[pulumi.InputType['ClusterCapacityConfigArgs']]] = None,
644
+ cluster_id: Optional[pulumi.Input[str]] = None,
645
+ create_time: Optional[pulumi.Input[str]] = None,
646
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
647
+ gcp_config: Optional[pulumi.Input[pulumi.InputType['ClusterGcpConfigArgs']]] = None,
648
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
649
+ location: Optional[pulumi.Input[str]] = None,
650
+ name: Optional[pulumi.Input[str]] = None,
651
+ project: Optional[pulumi.Input[str]] = None,
652
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
653
+ rebalance_config: Optional[pulumi.Input[pulumi.InputType['ClusterRebalanceConfigArgs']]] = None,
654
+ state: Optional[pulumi.Input[str]] = None,
655
+ update_time: Optional[pulumi.Input[str]] = None) -> 'Cluster':
656
+ """
657
+ Get an existing Cluster resource's state with the given name, id, and optional extra
658
+ properties used to qualify the lookup.
659
+
660
+ :param str resource_name: The unique name of the resulting resource.
661
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
662
+ :param pulumi.ResourceOptions opts: Options for the resource.
663
+ :param pulumi.Input[pulumi.InputType['ClusterCapacityConfigArgs']] capacity_config: A capacity configuration of a Kafka cluster.
664
+ Structure is documented below.
665
+ :param pulumi.Input[str] cluster_id: The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
666
+ :param pulumi.Input[str] create_time: The time when the cluster was created.
667
+ :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.
668
+ :param pulumi.Input[pulumi.InputType['ClusterGcpConfigArgs']] gcp_config: Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
669
+ Structure is documented below.
670
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
671
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
672
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
673
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
674
+ :param pulumi.Input[str] location: ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
675
+ :param pulumi.Input[str] name: The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
676
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
677
+ and default labels configured on the provider.
678
+ :param pulumi.Input[pulumi.InputType['ClusterRebalanceConfigArgs']] rebalance_config: Defines rebalancing behavior of a Kafka cluster.
679
+ :param pulumi.Input[str] state: The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
680
+ :param pulumi.Input[str] update_time: The time when the cluster was last updated.
681
+ """
682
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
683
+
684
+ __props__ = _ClusterState.__new__(_ClusterState)
685
+
686
+ __props__.__dict__["capacity_config"] = capacity_config
687
+ __props__.__dict__["cluster_id"] = cluster_id
688
+ __props__.__dict__["create_time"] = create_time
689
+ __props__.__dict__["effective_labels"] = effective_labels
690
+ __props__.__dict__["gcp_config"] = gcp_config
691
+ __props__.__dict__["labels"] = labels
692
+ __props__.__dict__["location"] = location
693
+ __props__.__dict__["name"] = name
694
+ __props__.__dict__["project"] = project
695
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
696
+ __props__.__dict__["rebalance_config"] = rebalance_config
697
+ __props__.__dict__["state"] = state
698
+ __props__.__dict__["update_time"] = update_time
699
+ return Cluster(resource_name, opts=opts, __props__=__props__)
700
+
701
+ @property
702
+ @pulumi.getter(name="capacityConfig")
703
+ def capacity_config(self) -> pulumi.Output['outputs.ClusterCapacityConfig']:
704
+ """
705
+ A capacity configuration of a Kafka cluster.
706
+ Structure is documented below.
707
+ """
708
+ return pulumi.get(self, "capacity_config")
709
+
710
+ @property
711
+ @pulumi.getter(name="clusterId")
712
+ def cluster_id(self) -> pulumi.Output[str]:
713
+ """
714
+ The ID to use for the cluster, which will become the final component of the cluster's name. The ID must be 1-63 characters long, and match the regular expression `a-z?` to comply with RFC 1035. This value is structured like: `my-cluster-id`.
715
+ """
716
+ return pulumi.get(self, "cluster_id")
717
+
718
+ @property
719
+ @pulumi.getter(name="createTime")
720
+ def create_time(self) -> pulumi.Output[str]:
721
+ """
722
+ The time when the cluster was created.
723
+ """
724
+ return pulumi.get(self, "create_time")
725
+
726
+ @property
727
+ @pulumi.getter(name="effectiveLabels")
728
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
729
+ """
730
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
731
+ """
732
+ return pulumi.get(self, "effective_labels")
733
+
734
+ @property
735
+ @pulumi.getter(name="gcpConfig")
736
+ def gcp_config(self) -> pulumi.Output['outputs.ClusterGcpConfig']:
737
+ """
738
+ Configuration properties for a Kafka cluster deployed to Google Cloud Platform.
739
+ Structure is documented below.
740
+ """
741
+ return pulumi.get(self, "gcp_config")
742
+
743
+ @property
744
+ @pulumi.getter
745
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
746
+ """
747
+ List of label KEY=VALUE pairs to add. Keys must start with a lowercase character and contain only hyphens (-),
748
+ underscores ( ), lowercase characters, and numbers. Values must contain only hyphens (-), underscores ( ), lowercase
749
+ characters, and numbers. **Note**: This field is non-authoritative, and will only manage the labels present in your
750
+ configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
751
+ """
752
+ return pulumi.get(self, "labels")
753
+
754
+ @property
755
+ @pulumi.getter
756
+ def location(self) -> pulumi.Output[str]:
757
+ """
758
+ ID of the location of the Apache Kafka for BigQuery resource. See https://cloud.google.com/managed-kafka/docs/locations for a list of supported locations.
759
+ """
760
+ return pulumi.get(self, "location")
761
+
762
+ @property
763
+ @pulumi.getter
764
+ def name(self) -> pulumi.Output[str]:
765
+ """
766
+ The name of the cluster. Structured like: `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID`.
767
+ """
768
+ return pulumi.get(self, "name")
769
+
770
+ @property
771
+ @pulumi.getter
772
+ def project(self) -> pulumi.Output[str]:
773
+ return pulumi.get(self, "project")
774
+
775
+ @property
776
+ @pulumi.getter(name="pulumiLabels")
777
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
778
+ """
779
+ The combination of labels configured directly on the resource
780
+ and default labels configured on the provider.
781
+ """
782
+ return pulumi.get(self, "pulumi_labels")
783
+
784
+ @property
785
+ @pulumi.getter(name="rebalanceConfig")
786
+ def rebalance_config(self) -> pulumi.Output[Optional['outputs.ClusterRebalanceConfig']]:
787
+ """
788
+ Defines rebalancing behavior of a Kafka cluster.
789
+ """
790
+ return pulumi.get(self, "rebalance_config")
791
+
792
+ @property
793
+ @pulumi.getter
794
+ def state(self) -> pulumi.Output[str]:
795
+ """
796
+ The current state of the cluster. Possible values: `STATE_UNSPECIFIED`, `CREATING`, `ACTIVE`, `DELETING`.
797
+ """
798
+ return pulumi.get(self, "state")
799
+
800
+ @property
801
+ @pulumi.getter(name="updateTime")
802
+ def update_time(self) -> pulumi.Output[str]:
803
+ """
804
+ The time when the cluster was last updated.
805
+ """
806
+ return pulumi.get(self, "update_time")
807
+