pulumi-gcp 7.27.0a1718247696__py3-none-any.whl → 7.28.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 (59) hide show
  1. pulumi_gcp/__init__.py +59 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +58 -74
  3. pulumi_gcp/accesscontextmanager/access_levels.py +0 -20
  4. pulumi_gcp/accesscontextmanager/outputs.py +58 -74
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +2 -0
  6. pulumi_gcp/bigtable/_inputs.py +40 -0
  7. pulumi_gcp/bigtable/outputs.py +49 -0
  8. pulumi_gcp/bigtable/table.py +54 -0
  9. pulumi_gcp/cloudbuildv2/_inputs.py +383 -0
  10. pulumi_gcp/cloudbuildv2/connection.py +110 -2
  11. pulumi_gcp/cloudbuildv2/outputs.py +421 -0
  12. pulumi_gcp/composer/__init__.py +3 -0
  13. pulumi_gcp/composer/get_user_workloads_config_map.py +190 -0
  14. pulumi_gcp/composer/get_user_workloads_secret.py +188 -0
  15. pulumi_gcp/composer/user_workloads_config_map.py +475 -0
  16. pulumi_gcp/compute/_inputs.py +4 -2
  17. pulumi_gcp/compute/backend_service.py +28 -48
  18. pulumi_gcp/compute/interconnect.py +4 -4
  19. pulumi_gcp/compute/outputs.py +10 -4
  20. pulumi_gcp/compute/region_backend_service.py +35 -48
  21. pulumi_gcp/compute/region_network_endpoint.py +187 -0
  22. pulumi_gcp/compute/region_network_endpoint_group.py +49 -9
  23. pulumi_gcp/compute/region_target_https_proxy.py +7 -14
  24. pulumi_gcp/compute/target_https_proxy.py +28 -14
  25. pulumi_gcp/config/__init__.pyi +2 -0
  26. pulumi_gcp/config/vars.py +4 -0
  27. pulumi_gcp/container/_inputs.py +2 -2
  28. pulumi_gcp/container/outputs.py +4 -4
  29. pulumi_gcp/discoveryengine/_inputs.py +227 -0
  30. pulumi_gcp/discoveryengine/data_store.py +108 -0
  31. pulumi_gcp/discoveryengine/outputs.py +280 -0
  32. pulumi_gcp/edgecontainer/_inputs.py +107 -1
  33. pulumi_gcp/edgecontainer/outputs.py +123 -1
  34. pulumi_gcp/gkehub/_inputs.py +16 -0
  35. pulumi_gcp/gkehub/outputs.py +15 -1
  36. pulumi_gcp/kms/crypto_key.py +2 -6
  37. pulumi_gcp/logging/folder_sink.py +14 -14
  38. pulumi_gcp/logging/organization_sink.py +14 -14
  39. pulumi_gcp/managedkafka/__init__.py +11 -0
  40. pulumi_gcp/managedkafka/_inputs.py +169 -0
  41. pulumi_gcp/managedkafka/cluster.py +807 -0
  42. pulumi_gcp/managedkafka/outputs.py +197 -0
  43. pulumi_gcp/managedkafka/topic.py +599 -0
  44. pulumi_gcp/netapp/__init__.py +1 -0
  45. pulumi_gcp/netapp/active_directory.py +55 -0
  46. pulumi_gcp/netapp/backup.py +903 -0
  47. pulumi_gcp/provider.py +20 -0
  48. pulumi_gcp/pulumi-plugin.json +1 -1
  49. pulumi_gcp/securitycenter/__init__.py +3 -0
  50. pulumi_gcp/securitycenter/_inputs.py +1105 -0
  51. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +725 -0
  52. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +713 -0
  53. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +706 -0
  54. pulumi_gcp/securitycenter/outputs.py +1048 -0
  55. pulumi_gcp/vertex/ai_feature_online_store.py +37 -8
  56. {pulumi_gcp-7.27.0a1718247696.dist-info → pulumi_gcp-7.28.0.dist-info}/METADATA +1 -1
  57. {pulumi_gcp-7.27.0a1718247696.dist-info → pulumi_gcp-7.28.0.dist-info}/RECORD +59 -47
  58. {pulumi_gcp-7.27.0a1718247696.dist-info → pulumi_gcp-7.28.0.dist-info}/WHEEL +1 -1
  59. {pulumi_gcp-7.27.0a1718247696.dist-info → pulumi_gcp-7.28.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,599 @@
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
+
12
+ __all__ = ['TopicArgs', 'Topic']
13
+
14
+ @pulumi.input_type
15
+ class TopicArgs:
16
+ def __init__(__self__, *,
17
+ cluster: pulumi.Input[str],
18
+ location: pulumi.Input[str],
19
+ replication_factor: pulumi.Input[int],
20
+ topic_id: pulumi.Input[str],
21
+ configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
22
+ partition_count: Optional[pulumi.Input[int]] = None,
23
+ project: Optional[pulumi.Input[str]] = None):
24
+ """
25
+ The set of arguments for constructing a Topic resource.
26
+ :param pulumi.Input[str] cluster: The cluster name.
27
+ :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.
28
+ :param pulumi.Input[int] replication_factor: The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
29
+ :param pulumi.Input[str] topic_id: The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
30
+
31
+
32
+ - - -
33
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] configs: Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
34
+ :param pulumi.Input[int] partition_count: The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
35
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
36
+ If it is not provided, the provider project is used.
37
+ """
38
+ pulumi.set(__self__, "cluster", cluster)
39
+ pulumi.set(__self__, "location", location)
40
+ pulumi.set(__self__, "replication_factor", replication_factor)
41
+ pulumi.set(__self__, "topic_id", topic_id)
42
+ if configs is not None:
43
+ pulumi.set(__self__, "configs", configs)
44
+ if partition_count is not None:
45
+ pulumi.set(__self__, "partition_count", partition_count)
46
+ if project is not None:
47
+ pulumi.set(__self__, "project", project)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def cluster(self) -> pulumi.Input[str]:
52
+ """
53
+ The cluster name.
54
+ """
55
+ return pulumi.get(self, "cluster")
56
+
57
+ @cluster.setter
58
+ def cluster(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "cluster", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def location(self) -> pulumi.Input[str]:
64
+ """
65
+ 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.
66
+ """
67
+ return pulumi.get(self, "location")
68
+
69
+ @location.setter
70
+ def location(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "location", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="replicationFactor")
75
+ def replication_factor(self) -> pulumi.Input[int]:
76
+ """
77
+ The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
78
+ """
79
+ return pulumi.get(self, "replication_factor")
80
+
81
+ @replication_factor.setter
82
+ def replication_factor(self, value: pulumi.Input[int]):
83
+ pulumi.set(self, "replication_factor", value)
84
+
85
+ @property
86
+ @pulumi.getter(name="topicId")
87
+ def topic_id(self) -> pulumi.Input[str]:
88
+ """
89
+ The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
90
+
91
+
92
+ - - -
93
+ """
94
+ return pulumi.get(self, "topic_id")
95
+
96
+ @topic_id.setter
97
+ def topic_id(self, value: pulumi.Input[str]):
98
+ pulumi.set(self, "topic_id", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
103
+ """
104
+ Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
105
+ """
106
+ return pulumi.get(self, "configs")
107
+
108
+ @configs.setter
109
+ def configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
110
+ pulumi.set(self, "configs", value)
111
+
112
+ @property
113
+ @pulumi.getter(name="partitionCount")
114
+ def partition_count(self) -> Optional[pulumi.Input[int]]:
115
+ """
116
+ The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
117
+ """
118
+ return pulumi.get(self, "partition_count")
119
+
120
+ @partition_count.setter
121
+ def partition_count(self, value: Optional[pulumi.Input[int]]):
122
+ pulumi.set(self, "partition_count", value)
123
+
124
+ @property
125
+ @pulumi.getter
126
+ def project(self) -> Optional[pulumi.Input[str]]:
127
+ """
128
+ The ID of the project in which the resource belongs.
129
+ If it is not provided, the provider project is used.
130
+ """
131
+ return pulumi.get(self, "project")
132
+
133
+ @project.setter
134
+ def project(self, value: Optional[pulumi.Input[str]]):
135
+ pulumi.set(self, "project", value)
136
+
137
+
138
+ @pulumi.input_type
139
+ class _TopicState:
140
+ def __init__(__self__, *,
141
+ cluster: Optional[pulumi.Input[str]] = None,
142
+ configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
143
+ location: Optional[pulumi.Input[str]] = None,
144
+ name: Optional[pulumi.Input[str]] = None,
145
+ partition_count: Optional[pulumi.Input[int]] = None,
146
+ project: Optional[pulumi.Input[str]] = None,
147
+ replication_factor: Optional[pulumi.Input[int]] = None,
148
+ topic_id: Optional[pulumi.Input[str]] = None):
149
+ """
150
+ Input properties used for looking up and filtering Topic resources.
151
+ :param pulumi.Input[str] cluster: The cluster name.
152
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] configs: Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
153
+ :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.
154
+ :param pulumi.Input[str] name: The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
155
+ :param pulumi.Input[int] partition_count: The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
156
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
157
+ If it is not provided, the provider project is used.
158
+ :param pulumi.Input[int] replication_factor: The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
159
+ :param pulumi.Input[str] topic_id: The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
160
+
161
+
162
+ - - -
163
+ """
164
+ if cluster is not None:
165
+ pulumi.set(__self__, "cluster", cluster)
166
+ if configs is not None:
167
+ pulumi.set(__self__, "configs", configs)
168
+ if location is not None:
169
+ pulumi.set(__self__, "location", location)
170
+ if name is not None:
171
+ pulumi.set(__self__, "name", name)
172
+ if partition_count is not None:
173
+ pulumi.set(__self__, "partition_count", partition_count)
174
+ if project is not None:
175
+ pulumi.set(__self__, "project", project)
176
+ if replication_factor is not None:
177
+ pulumi.set(__self__, "replication_factor", replication_factor)
178
+ if topic_id is not None:
179
+ pulumi.set(__self__, "topic_id", topic_id)
180
+
181
+ @property
182
+ @pulumi.getter
183
+ def cluster(self) -> Optional[pulumi.Input[str]]:
184
+ """
185
+ The cluster name.
186
+ """
187
+ return pulumi.get(self, "cluster")
188
+
189
+ @cluster.setter
190
+ def cluster(self, value: Optional[pulumi.Input[str]]):
191
+ pulumi.set(self, "cluster", value)
192
+
193
+ @property
194
+ @pulumi.getter
195
+ def configs(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
196
+ """
197
+ Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
198
+ """
199
+ return pulumi.get(self, "configs")
200
+
201
+ @configs.setter
202
+ def configs(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
203
+ pulumi.set(self, "configs", value)
204
+
205
+ @property
206
+ @pulumi.getter
207
+ def location(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ 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.
210
+ """
211
+ return pulumi.get(self, "location")
212
+
213
+ @location.setter
214
+ def location(self, value: Optional[pulumi.Input[str]]):
215
+ pulumi.set(self, "location", value)
216
+
217
+ @property
218
+ @pulumi.getter
219
+ def name(self) -> Optional[pulumi.Input[str]]:
220
+ """
221
+ The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
222
+ """
223
+ return pulumi.get(self, "name")
224
+
225
+ @name.setter
226
+ def name(self, value: Optional[pulumi.Input[str]]):
227
+ pulumi.set(self, "name", value)
228
+
229
+ @property
230
+ @pulumi.getter(name="partitionCount")
231
+ def partition_count(self) -> Optional[pulumi.Input[int]]:
232
+ """
233
+ The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
234
+ """
235
+ return pulumi.get(self, "partition_count")
236
+
237
+ @partition_count.setter
238
+ def partition_count(self, value: Optional[pulumi.Input[int]]):
239
+ pulumi.set(self, "partition_count", value)
240
+
241
+ @property
242
+ @pulumi.getter
243
+ def project(self) -> Optional[pulumi.Input[str]]:
244
+ """
245
+ The ID of the project in which the resource belongs.
246
+ If it is not provided, the provider project is used.
247
+ """
248
+ return pulumi.get(self, "project")
249
+
250
+ @project.setter
251
+ def project(self, value: Optional[pulumi.Input[str]]):
252
+ pulumi.set(self, "project", value)
253
+
254
+ @property
255
+ @pulumi.getter(name="replicationFactor")
256
+ def replication_factor(self) -> Optional[pulumi.Input[int]]:
257
+ """
258
+ The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
259
+ """
260
+ return pulumi.get(self, "replication_factor")
261
+
262
+ @replication_factor.setter
263
+ def replication_factor(self, value: Optional[pulumi.Input[int]]):
264
+ pulumi.set(self, "replication_factor", value)
265
+
266
+ @property
267
+ @pulumi.getter(name="topicId")
268
+ def topic_id(self) -> Optional[pulumi.Input[str]]:
269
+ """
270
+ The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
271
+
272
+
273
+ - - -
274
+ """
275
+ return pulumi.get(self, "topic_id")
276
+
277
+ @topic_id.setter
278
+ def topic_id(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "topic_id", value)
280
+
281
+
282
+ class Topic(pulumi.CustomResource):
283
+ @overload
284
+ def __init__(__self__,
285
+ resource_name: str,
286
+ opts: Optional[pulumi.ResourceOptions] = None,
287
+ cluster: Optional[pulumi.Input[str]] = None,
288
+ configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
289
+ location: Optional[pulumi.Input[str]] = None,
290
+ partition_count: Optional[pulumi.Input[int]] = None,
291
+ project: Optional[pulumi.Input[str]] = None,
292
+ replication_factor: Optional[pulumi.Input[int]] = None,
293
+ topic_id: Optional[pulumi.Input[str]] = None,
294
+ __props__=None):
295
+ """
296
+ ## Example Usage
297
+
298
+ ### Managedkafka Topic Basic
299
+
300
+ ```python
301
+ import pulumi
302
+ import pulumi_gcp as gcp
303
+
304
+ project = gcp.organizations.get_project()
305
+ cluster = gcp.managedkafka.Cluster("cluster",
306
+ cluster_id="my-cluster",
307
+ location="us-central1",
308
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
309
+ vcpu_count="3",
310
+ memory_bytes="3221225472",
311
+ ),
312
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
313
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
314
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
315
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
316
+ )],
317
+ ),
318
+ ))
319
+ example = gcp.managedkafka.Topic("example",
320
+ topic_id="my-topic",
321
+ cluster=cluster.cluster_id,
322
+ location="us-central1",
323
+ partition_count=2,
324
+ replication_factor=3,
325
+ configs={
326
+ "cleanup.policy": "compact",
327
+ })
328
+ ```
329
+
330
+ ## Import
331
+
332
+ Topic can be imported using any of these accepted formats:
333
+
334
+ * `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}}`
335
+
336
+ * `{{project}}/{{location}}/{{cluster}}/{{topic_id}}`
337
+
338
+ * `{{location}}/{{cluster}}/{{topic_id}}`
339
+
340
+ When using the `pulumi import` command, Topic can be imported using one of the formats above. For example:
341
+
342
+ ```sh
343
+ $ pulumi import gcp:managedkafka/topic:Topic default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}}
344
+ ```
345
+
346
+ ```sh
347
+ $ pulumi import gcp:managedkafka/topic:Topic default {{project}}/{{location}}/{{cluster}}/{{topic_id}}
348
+ ```
349
+
350
+ ```sh
351
+ $ pulumi import gcp:managedkafka/topic:Topic default {{location}}/{{cluster}}/{{topic_id}}
352
+ ```
353
+
354
+ :param str resource_name: The name of the resource.
355
+ :param pulumi.ResourceOptions opts: Options for the resource.
356
+ :param pulumi.Input[str] cluster: The cluster name.
357
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] configs: Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
358
+ :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.
359
+ :param pulumi.Input[int] partition_count: The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
360
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
361
+ If it is not provided, the provider project is used.
362
+ :param pulumi.Input[int] replication_factor: The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
363
+ :param pulumi.Input[str] topic_id: The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
364
+
365
+
366
+ - - -
367
+ """
368
+ ...
369
+ @overload
370
+ def __init__(__self__,
371
+ resource_name: str,
372
+ args: TopicArgs,
373
+ opts: Optional[pulumi.ResourceOptions] = None):
374
+ """
375
+ ## Example Usage
376
+
377
+ ### Managedkafka Topic Basic
378
+
379
+ ```python
380
+ import pulumi
381
+ import pulumi_gcp as gcp
382
+
383
+ project = gcp.organizations.get_project()
384
+ cluster = gcp.managedkafka.Cluster("cluster",
385
+ cluster_id="my-cluster",
386
+ location="us-central1",
387
+ capacity_config=gcp.managedkafka.ClusterCapacityConfigArgs(
388
+ vcpu_count="3",
389
+ memory_bytes="3221225472",
390
+ ),
391
+ gcp_config=gcp.managedkafka.ClusterGcpConfigArgs(
392
+ access_config=gcp.managedkafka.ClusterGcpConfigAccessConfigArgs(
393
+ network_configs=[gcp.managedkafka.ClusterGcpConfigAccessConfigNetworkConfigArgs(
394
+ subnet=f"projects/{project.number}/regions/us-central1/subnetworks/default",
395
+ )],
396
+ ),
397
+ ))
398
+ example = gcp.managedkafka.Topic("example",
399
+ topic_id="my-topic",
400
+ cluster=cluster.cluster_id,
401
+ location="us-central1",
402
+ partition_count=2,
403
+ replication_factor=3,
404
+ configs={
405
+ "cleanup.policy": "compact",
406
+ })
407
+ ```
408
+
409
+ ## Import
410
+
411
+ Topic can be imported using any of these accepted formats:
412
+
413
+ * `projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}}`
414
+
415
+ * `{{project}}/{{location}}/{{cluster}}/{{topic_id}}`
416
+
417
+ * `{{location}}/{{cluster}}/{{topic_id}}`
418
+
419
+ When using the `pulumi import` command, Topic can be imported using one of the formats above. For example:
420
+
421
+ ```sh
422
+ $ pulumi import gcp:managedkafka/topic:Topic default projects/{{project}}/locations/{{location}}/clusters/{{cluster}}/topics/{{topic_id}}
423
+ ```
424
+
425
+ ```sh
426
+ $ pulumi import gcp:managedkafka/topic:Topic default {{project}}/{{location}}/{{cluster}}/{{topic_id}}
427
+ ```
428
+
429
+ ```sh
430
+ $ pulumi import gcp:managedkafka/topic:Topic default {{location}}/{{cluster}}/{{topic_id}}
431
+ ```
432
+
433
+ :param str resource_name: The name of the resource.
434
+ :param TopicArgs args: The arguments to use to populate this resource's properties.
435
+ :param pulumi.ResourceOptions opts: Options for the resource.
436
+ """
437
+ ...
438
+ def __init__(__self__, resource_name: str, *args, **kwargs):
439
+ resource_args, opts = _utilities.get_resource_args_opts(TopicArgs, pulumi.ResourceOptions, *args, **kwargs)
440
+ if resource_args is not None:
441
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
442
+ else:
443
+ __self__._internal_init(resource_name, *args, **kwargs)
444
+
445
+ def _internal_init(__self__,
446
+ resource_name: str,
447
+ opts: Optional[pulumi.ResourceOptions] = None,
448
+ cluster: Optional[pulumi.Input[str]] = None,
449
+ configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
450
+ location: Optional[pulumi.Input[str]] = None,
451
+ partition_count: Optional[pulumi.Input[int]] = None,
452
+ project: Optional[pulumi.Input[str]] = None,
453
+ replication_factor: Optional[pulumi.Input[int]] = None,
454
+ topic_id: Optional[pulumi.Input[str]] = None,
455
+ __props__=None):
456
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
457
+ if not isinstance(opts, pulumi.ResourceOptions):
458
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
459
+ if opts.id is None:
460
+ if __props__ is not None:
461
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
462
+ __props__ = TopicArgs.__new__(TopicArgs)
463
+
464
+ if cluster is None and not opts.urn:
465
+ raise TypeError("Missing required property 'cluster'")
466
+ __props__.__dict__["cluster"] = cluster
467
+ __props__.__dict__["configs"] = configs
468
+ if location is None and not opts.urn:
469
+ raise TypeError("Missing required property 'location'")
470
+ __props__.__dict__["location"] = location
471
+ __props__.__dict__["partition_count"] = partition_count
472
+ __props__.__dict__["project"] = project
473
+ if replication_factor is None and not opts.urn:
474
+ raise TypeError("Missing required property 'replication_factor'")
475
+ __props__.__dict__["replication_factor"] = replication_factor
476
+ if topic_id is None and not opts.urn:
477
+ raise TypeError("Missing required property 'topic_id'")
478
+ __props__.__dict__["topic_id"] = topic_id
479
+ __props__.__dict__["name"] = None
480
+ super(Topic, __self__).__init__(
481
+ 'gcp:managedkafka/topic:Topic',
482
+ resource_name,
483
+ __props__,
484
+ opts)
485
+
486
+ @staticmethod
487
+ def get(resource_name: str,
488
+ id: pulumi.Input[str],
489
+ opts: Optional[pulumi.ResourceOptions] = None,
490
+ cluster: Optional[pulumi.Input[str]] = None,
491
+ configs: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
492
+ location: Optional[pulumi.Input[str]] = None,
493
+ name: Optional[pulumi.Input[str]] = None,
494
+ partition_count: Optional[pulumi.Input[int]] = None,
495
+ project: Optional[pulumi.Input[str]] = None,
496
+ replication_factor: Optional[pulumi.Input[int]] = None,
497
+ topic_id: Optional[pulumi.Input[str]] = None) -> 'Topic':
498
+ """
499
+ Get an existing Topic resource's state with the given name, id, and optional extra
500
+ properties used to qualify the lookup.
501
+
502
+ :param str resource_name: The unique name of the resulting resource.
503
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
504
+ :param pulumi.ResourceOptions opts: Options for the resource.
505
+ :param pulumi.Input[str] cluster: The cluster name.
506
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] configs: Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
507
+ :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.
508
+ :param pulumi.Input[str] name: The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
509
+ :param pulumi.Input[int] partition_count: The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
510
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
511
+ If it is not provided, the provider project is used.
512
+ :param pulumi.Input[int] replication_factor: The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
513
+ :param pulumi.Input[str] topic_id: The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
514
+
515
+
516
+ - - -
517
+ """
518
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
519
+
520
+ __props__ = _TopicState.__new__(_TopicState)
521
+
522
+ __props__.__dict__["cluster"] = cluster
523
+ __props__.__dict__["configs"] = configs
524
+ __props__.__dict__["location"] = location
525
+ __props__.__dict__["name"] = name
526
+ __props__.__dict__["partition_count"] = partition_count
527
+ __props__.__dict__["project"] = project
528
+ __props__.__dict__["replication_factor"] = replication_factor
529
+ __props__.__dict__["topic_id"] = topic_id
530
+ return Topic(resource_name, opts=opts, __props__=__props__)
531
+
532
+ @property
533
+ @pulumi.getter
534
+ def cluster(self) -> pulumi.Output[str]:
535
+ """
536
+ The cluster name.
537
+ """
538
+ return pulumi.get(self, "cluster")
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def configs(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
543
+ """
544
+ Configuration for the topic that are overridden from the cluster defaults. The key of the map is a Kafka topic property name, for example: `cleanup.policy=compact`, `compression.type=producer`.
545
+ """
546
+ return pulumi.get(self, "configs")
547
+
548
+ @property
549
+ @pulumi.getter
550
+ def location(self) -> pulumi.Output[str]:
551
+ """
552
+ 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.
553
+ """
554
+ return pulumi.get(self, "location")
555
+
556
+ @property
557
+ @pulumi.getter
558
+ def name(self) -> pulumi.Output[str]:
559
+ """
560
+ The name of the topic. The `topic` segment is used when connecting directly to the cluster. Must be in the format `projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/topics/TOPIC_ID`.
561
+ """
562
+ return pulumi.get(self, "name")
563
+
564
+ @property
565
+ @pulumi.getter(name="partitionCount")
566
+ def partition_count(self) -> pulumi.Output[Optional[int]]:
567
+ """
568
+ The number of partitions in a topic. You can increase the partition count for a topic, but you cannot decrease it. Increasing partitions for a topic that uses a key might change how messages are distributed.
569
+ """
570
+ return pulumi.get(self, "partition_count")
571
+
572
+ @property
573
+ @pulumi.getter
574
+ def project(self) -> pulumi.Output[str]:
575
+ """
576
+ The ID of the project in which the resource belongs.
577
+ If it is not provided, the provider project is used.
578
+ """
579
+ return pulumi.get(self, "project")
580
+
581
+ @property
582
+ @pulumi.getter(name="replicationFactor")
583
+ def replication_factor(self) -> pulumi.Output[int]:
584
+ """
585
+ The number of replicas of each partition. A replication factor of 3 is recommended for high availability.
586
+ """
587
+ return pulumi.get(self, "replication_factor")
588
+
589
+ @property
590
+ @pulumi.getter(name="topicId")
591
+ def topic_id(self) -> pulumi.Output[str]:
592
+ """
593
+ The ID to use for the topic, which will become the final component of the topic's name. This value is structured like: `my-topic-name`.
594
+
595
+
596
+ - - -
597
+ """
598
+ return pulumi.get(self, "topic_id")
599
+
@@ -6,6 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .active_directory import *
9
+ from .backup import *
9
10
  from .backup_policy import *
10
11
  from .backup_vault import *
11
12
  from .kmsconfig import *