pulumi-gcp 8.21.0a1741156431__py3-none-any.whl → 8.21.0a1741183435__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 (56) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/cluster.py +148 -0
  3. pulumi_gcp/alloydb/instance.py +28 -28
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/host_project_registration.py +535 -0
  6. pulumi_gcp/bigquery/table.py +1 -1
  7. pulumi_gcp/compute/__init__.py +5 -0
  8. pulumi_gcp/compute/_inputs.py +770 -0
  9. pulumi_gcp/compute/backend_service.py +14 -7
  10. pulumi_gcp/compute/ca_external_account_key.py +48 -3
  11. pulumi_gcp/compute/disk.py +295 -0
  12. pulumi_gcp/compute/get_disk.py +56 -1
  13. pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
  14. pulumi_gcp/compute/instant_snapshot.py +796 -0
  15. pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
  16. pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
  17. pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
  18. pulumi_gcp/compute/outputs.py +1329 -6
  19. pulumi_gcp/compute/region_backend_service.py +14 -7
  20. pulumi_gcp/compute/route.py +228 -2
  21. pulumi_gcp/compute/url_map.py +8 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datacatalog/entry.py +4 -0
  25. pulumi_gcp/datacatalog/tag.py +4 -0
  26. pulumi_gcp/dataproc/_inputs.py +12 -15
  27. pulumi_gcp/dataproc/outputs.py +8 -10
  28. pulumi_gcp/discoveryengine/target_site.py +4 -4
  29. pulumi_gcp/eventarc/__init__.py +1 -0
  30. pulumi_gcp/eventarc/_inputs.py +40 -0
  31. pulumi_gcp/eventarc/message_bus.py +927 -0
  32. pulumi_gcp/eventarc/outputs.py +41 -0
  33. pulumi_gcp/gemini/__init__.py +1 -0
  34. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
  35. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
  37. pulumi_gcp/gemini/logging_setting_binding.py +7 -7
  38. pulumi_gcp/iam/_inputs.py +33 -9
  39. pulumi_gcp/iam/outputs.py +22 -6
  40. pulumi_gcp/iam/workforce_pool_provider.py +2 -2
  41. pulumi_gcp/memorystore/__init__.py +1 -0
  42. pulumi_gcp/memorystore/get_instance.py +425 -0
  43. pulumi_gcp/memorystore/outputs.py +582 -0
  44. pulumi_gcp/networkconnectivity/hub.py +84 -0
  45. pulumi_gcp/networkservices/grpc_route.py +116 -12
  46. pulumi_gcp/notebooks/location.py +4 -0
  47. pulumi_gcp/pulumi-plugin.json +1 -1
  48. pulumi_gcp/storage/__init__.py +1 -0
  49. pulumi_gcp/storage/_inputs.py +74 -0
  50. pulumi_gcp/storage/anywhere_cache.py +552 -0
  51. pulumi_gcp/storage/outputs.py +65 -0
  52. pulumi_gcp/storage/transfer_job.py +67 -0
  53. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/RECORD +56 -46
  55. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,927 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['MessageBusArgs', 'MessageBus']
20
+
21
+ @pulumi.input_type
22
+ class MessageBusArgs:
23
+ def __init__(__self__, *,
24
+ location: pulumi.Input[str],
25
+ message_bus_id: pulumi.Input[str],
26
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
28
+ display_name: Optional[pulumi.Input[str]] = None,
29
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
30
+ logging_config: Optional[pulumi.Input['MessageBusLoggingConfigArgs']] = None,
31
+ project: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a MessageBus resource.
34
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
35
+ :param pulumi.Input[str] message_bus_id: Required. The user-provided ID to be assigned to the MessageBus. It should match the
36
+ format `^a-z?$`.
37
+
38
+
39
+ - - -
40
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Resource annotations.
41
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
42
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
43
+ :param pulumi.Input[str] crypto_key_name: Optional. Resource name of a KMS crypto key (managed by the user) used to
44
+ encrypt/decrypt their event data.
45
+ It must match the pattern
46
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
47
+ :param pulumi.Input[str] display_name: Optional. Resource display name.
48
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels.
49
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
50
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
51
+ :param pulumi.Input['MessageBusLoggingConfigArgs'] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
52
+ resources.
53
+ Structure is documented below.
54
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
55
+ If it is not provided, the provider project is used.
56
+ """
57
+ pulumi.set(__self__, "location", location)
58
+ pulumi.set(__self__, "message_bus_id", message_bus_id)
59
+ if annotations is not None:
60
+ pulumi.set(__self__, "annotations", annotations)
61
+ if crypto_key_name is not None:
62
+ pulumi.set(__self__, "crypto_key_name", crypto_key_name)
63
+ if display_name is not None:
64
+ pulumi.set(__self__, "display_name", display_name)
65
+ if labels is not None:
66
+ pulumi.set(__self__, "labels", labels)
67
+ if logging_config is not None:
68
+ pulumi.set(__self__, "logging_config", logging_config)
69
+ if project is not None:
70
+ pulumi.set(__self__, "project", project)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def location(self) -> pulumi.Input[str]:
75
+ """
76
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
77
+ """
78
+ return pulumi.get(self, "location")
79
+
80
+ @location.setter
81
+ def location(self, value: pulumi.Input[str]):
82
+ pulumi.set(self, "location", value)
83
+
84
+ @property
85
+ @pulumi.getter(name="messageBusId")
86
+ def message_bus_id(self) -> pulumi.Input[str]:
87
+ """
88
+ Required. The user-provided ID to be assigned to the MessageBus. It should match the
89
+ format `^a-z?$`.
90
+
91
+
92
+ - - -
93
+ """
94
+ return pulumi.get(self, "message_bus_id")
95
+
96
+ @message_bus_id.setter
97
+ def message_bus_id(self, value: pulumi.Input[str]):
98
+ pulumi.set(self, "message_bus_id", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
103
+ """
104
+ Optional. Resource annotations.
105
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
106
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
107
+ """
108
+ return pulumi.get(self, "annotations")
109
+
110
+ @annotations.setter
111
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
112
+ pulumi.set(self, "annotations", value)
113
+
114
+ @property
115
+ @pulumi.getter(name="cryptoKeyName")
116
+ def crypto_key_name(self) -> Optional[pulumi.Input[str]]:
117
+ """
118
+ Optional. Resource name of a KMS crypto key (managed by the user) used to
119
+ encrypt/decrypt their event data.
120
+ It must match the pattern
121
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
122
+ """
123
+ return pulumi.get(self, "crypto_key_name")
124
+
125
+ @crypto_key_name.setter
126
+ def crypto_key_name(self, value: Optional[pulumi.Input[str]]):
127
+ pulumi.set(self, "crypto_key_name", value)
128
+
129
+ @property
130
+ @pulumi.getter(name="displayName")
131
+ def display_name(self) -> Optional[pulumi.Input[str]]:
132
+ """
133
+ Optional. Resource display name.
134
+ """
135
+ return pulumi.get(self, "display_name")
136
+
137
+ @display_name.setter
138
+ def display_name(self, value: Optional[pulumi.Input[str]]):
139
+ pulumi.set(self, "display_name", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
144
+ """
145
+ Optional. Resource labels.
146
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
147
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
148
+ """
149
+ return pulumi.get(self, "labels")
150
+
151
+ @labels.setter
152
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
153
+ pulumi.set(self, "labels", value)
154
+
155
+ @property
156
+ @pulumi.getter(name="loggingConfig")
157
+ def logging_config(self) -> Optional[pulumi.Input['MessageBusLoggingConfigArgs']]:
158
+ """
159
+ The configuration for Platform Telemetry logging for Eventarc Advanced
160
+ resources.
161
+ Structure is documented below.
162
+ """
163
+ return pulumi.get(self, "logging_config")
164
+
165
+ @logging_config.setter
166
+ def logging_config(self, value: Optional[pulumi.Input['MessageBusLoggingConfigArgs']]):
167
+ pulumi.set(self, "logging_config", value)
168
+
169
+ @property
170
+ @pulumi.getter
171
+ def project(self) -> Optional[pulumi.Input[str]]:
172
+ """
173
+ The ID of the project in which the resource belongs.
174
+ If it is not provided, the provider project is used.
175
+ """
176
+ return pulumi.get(self, "project")
177
+
178
+ @project.setter
179
+ def project(self, value: Optional[pulumi.Input[str]]):
180
+ pulumi.set(self, "project", value)
181
+
182
+
183
+ @pulumi.input_type
184
+ class _MessageBusState:
185
+ def __init__(__self__, *,
186
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
187
+ create_time: Optional[pulumi.Input[str]] = None,
188
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
189
+ display_name: Optional[pulumi.Input[str]] = None,
190
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
191
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
192
+ etag: Optional[pulumi.Input[str]] = None,
193
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
194
+ location: Optional[pulumi.Input[str]] = None,
195
+ logging_config: Optional[pulumi.Input['MessageBusLoggingConfigArgs']] = None,
196
+ message_bus_id: Optional[pulumi.Input[str]] = None,
197
+ name: Optional[pulumi.Input[str]] = None,
198
+ project: Optional[pulumi.Input[str]] = None,
199
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
200
+ uid: Optional[pulumi.Input[str]] = None,
201
+ update_time: Optional[pulumi.Input[str]] = None):
202
+ """
203
+ Input properties used for looking up and filtering MessageBus resources.
204
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Resource annotations.
205
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
206
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
207
+ :param pulumi.Input[str] create_time: Output only. The creation time.
208
+ :param pulumi.Input[str] crypto_key_name: Optional. Resource name of a KMS crypto key (managed by the user) used to
209
+ encrypt/decrypt their event data.
210
+ It must match the pattern
211
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
212
+ :param pulumi.Input[str] display_name: Optional. Resource display name.
213
+ :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.
214
+ :param pulumi.Input[str] etag: Output only. This checksum is computed by the server based on the value of other
215
+ fields, and might be sent only on update and delete requests to ensure that
216
+ the client has an up-to-date value before proceeding.
217
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels.
218
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
219
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
220
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
221
+ :param pulumi.Input['MessageBusLoggingConfigArgs'] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
222
+ resources.
223
+ Structure is documented below.
224
+ :param pulumi.Input[str] message_bus_id: Required. The user-provided ID to be assigned to the MessageBus. It should match the
225
+ format `^a-z?$`.
226
+
227
+
228
+ - - -
229
+ :param pulumi.Input[str] name: Identifier. Resource name of the form
230
+ projects/{project}/locations/{location}/messageBuses/{message_bus}
231
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
232
+ If it is not provided, the provider project is used.
233
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
234
+ and default labels configured on the provider.
235
+ :param pulumi.Input[str] uid: Output only. Server assigned unique identifier for the channel. The value is a UUID4
236
+ string and guaranteed to remain unchanged until the resource is deleted.
237
+ :param pulumi.Input[str] update_time: Output only. The last-modified time.
238
+ """
239
+ if annotations is not None:
240
+ pulumi.set(__self__, "annotations", annotations)
241
+ if create_time is not None:
242
+ pulumi.set(__self__, "create_time", create_time)
243
+ if crypto_key_name is not None:
244
+ pulumi.set(__self__, "crypto_key_name", crypto_key_name)
245
+ if display_name is not None:
246
+ pulumi.set(__self__, "display_name", display_name)
247
+ if effective_annotations is not None:
248
+ pulumi.set(__self__, "effective_annotations", effective_annotations)
249
+ if effective_labels is not None:
250
+ pulumi.set(__self__, "effective_labels", effective_labels)
251
+ if etag is not None:
252
+ pulumi.set(__self__, "etag", etag)
253
+ if labels is not None:
254
+ pulumi.set(__self__, "labels", labels)
255
+ if location is not None:
256
+ pulumi.set(__self__, "location", location)
257
+ if logging_config is not None:
258
+ pulumi.set(__self__, "logging_config", logging_config)
259
+ if message_bus_id is not None:
260
+ pulumi.set(__self__, "message_bus_id", message_bus_id)
261
+ if name is not None:
262
+ pulumi.set(__self__, "name", name)
263
+ if project is not None:
264
+ pulumi.set(__self__, "project", project)
265
+ if pulumi_labels is not None:
266
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
267
+ if uid is not None:
268
+ pulumi.set(__self__, "uid", uid)
269
+ if update_time is not None:
270
+ pulumi.set(__self__, "update_time", update_time)
271
+
272
+ @property
273
+ @pulumi.getter
274
+ def annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
275
+ """
276
+ Optional. Resource annotations.
277
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
278
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
279
+ """
280
+ return pulumi.get(self, "annotations")
281
+
282
+ @annotations.setter
283
+ def annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
284
+ pulumi.set(self, "annotations", value)
285
+
286
+ @property
287
+ @pulumi.getter(name="createTime")
288
+ def create_time(self) -> Optional[pulumi.Input[str]]:
289
+ """
290
+ Output only. The creation time.
291
+ """
292
+ return pulumi.get(self, "create_time")
293
+
294
+ @create_time.setter
295
+ def create_time(self, value: Optional[pulumi.Input[str]]):
296
+ pulumi.set(self, "create_time", value)
297
+
298
+ @property
299
+ @pulumi.getter(name="cryptoKeyName")
300
+ def crypto_key_name(self) -> Optional[pulumi.Input[str]]:
301
+ """
302
+ Optional. Resource name of a KMS crypto key (managed by the user) used to
303
+ encrypt/decrypt their event data.
304
+ It must match the pattern
305
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
306
+ """
307
+ return pulumi.get(self, "crypto_key_name")
308
+
309
+ @crypto_key_name.setter
310
+ def crypto_key_name(self, value: Optional[pulumi.Input[str]]):
311
+ pulumi.set(self, "crypto_key_name", value)
312
+
313
+ @property
314
+ @pulumi.getter(name="displayName")
315
+ def display_name(self) -> Optional[pulumi.Input[str]]:
316
+ """
317
+ Optional. Resource display name.
318
+ """
319
+ return pulumi.get(self, "display_name")
320
+
321
+ @display_name.setter
322
+ def display_name(self, value: Optional[pulumi.Input[str]]):
323
+ pulumi.set(self, "display_name", value)
324
+
325
+ @property
326
+ @pulumi.getter(name="effectiveAnnotations")
327
+ def effective_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
328
+ return pulumi.get(self, "effective_annotations")
329
+
330
+ @effective_annotations.setter
331
+ def effective_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
332
+ pulumi.set(self, "effective_annotations", value)
333
+
334
+ @property
335
+ @pulumi.getter(name="effectiveLabels")
336
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
337
+ """
338
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
339
+ """
340
+ return pulumi.get(self, "effective_labels")
341
+
342
+ @effective_labels.setter
343
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
344
+ pulumi.set(self, "effective_labels", value)
345
+
346
+ @property
347
+ @pulumi.getter
348
+ def etag(self) -> Optional[pulumi.Input[str]]:
349
+ """
350
+ Output only. This checksum is computed by the server based on the value of other
351
+ fields, and might be sent only on update and delete requests to ensure that
352
+ the client has an up-to-date value before proceeding.
353
+ """
354
+ return pulumi.get(self, "etag")
355
+
356
+ @etag.setter
357
+ def etag(self, value: Optional[pulumi.Input[str]]):
358
+ pulumi.set(self, "etag", value)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
363
+ """
364
+ Optional. Resource labels.
365
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
366
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
367
+ """
368
+ return pulumi.get(self, "labels")
369
+
370
+ @labels.setter
371
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
372
+ pulumi.set(self, "labels", value)
373
+
374
+ @property
375
+ @pulumi.getter
376
+ def location(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
379
+ """
380
+ return pulumi.get(self, "location")
381
+
382
+ @location.setter
383
+ def location(self, value: Optional[pulumi.Input[str]]):
384
+ pulumi.set(self, "location", value)
385
+
386
+ @property
387
+ @pulumi.getter(name="loggingConfig")
388
+ def logging_config(self) -> Optional[pulumi.Input['MessageBusLoggingConfigArgs']]:
389
+ """
390
+ The configuration for Platform Telemetry logging for Eventarc Advanced
391
+ resources.
392
+ Structure is documented below.
393
+ """
394
+ return pulumi.get(self, "logging_config")
395
+
396
+ @logging_config.setter
397
+ def logging_config(self, value: Optional[pulumi.Input['MessageBusLoggingConfigArgs']]):
398
+ pulumi.set(self, "logging_config", value)
399
+
400
+ @property
401
+ @pulumi.getter(name="messageBusId")
402
+ def message_bus_id(self) -> Optional[pulumi.Input[str]]:
403
+ """
404
+ Required. The user-provided ID to be assigned to the MessageBus. It should match the
405
+ format `^a-z?$`.
406
+
407
+
408
+ - - -
409
+ """
410
+ return pulumi.get(self, "message_bus_id")
411
+
412
+ @message_bus_id.setter
413
+ def message_bus_id(self, value: Optional[pulumi.Input[str]]):
414
+ pulumi.set(self, "message_bus_id", value)
415
+
416
+ @property
417
+ @pulumi.getter
418
+ def name(self) -> Optional[pulumi.Input[str]]:
419
+ """
420
+ Identifier. Resource name of the form
421
+ projects/{project}/locations/{location}/messageBuses/{message_bus}
422
+ """
423
+ return pulumi.get(self, "name")
424
+
425
+ @name.setter
426
+ def name(self, value: Optional[pulumi.Input[str]]):
427
+ pulumi.set(self, "name", value)
428
+
429
+ @property
430
+ @pulumi.getter
431
+ def project(self) -> Optional[pulumi.Input[str]]:
432
+ """
433
+ The ID of the project in which the resource belongs.
434
+ If it is not provided, the provider project is used.
435
+ """
436
+ return pulumi.get(self, "project")
437
+
438
+ @project.setter
439
+ def project(self, value: Optional[pulumi.Input[str]]):
440
+ pulumi.set(self, "project", value)
441
+
442
+ @property
443
+ @pulumi.getter(name="pulumiLabels")
444
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
445
+ """
446
+ The combination of labels configured directly on the resource
447
+ and default labels configured on the provider.
448
+ """
449
+ return pulumi.get(self, "pulumi_labels")
450
+
451
+ @pulumi_labels.setter
452
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
453
+ pulumi.set(self, "pulumi_labels", value)
454
+
455
+ @property
456
+ @pulumi.getter
457
+ def uid(self) -> Optional[pulumi.Input[str]]:
458
+ """
459
+ Output only. Server assigned unique identifier for the channel. The value is a UUID4
460
+ string and guaranteed to remain unchanged until the resource is deleted.
461
+ """
462
+ return pulumi.get(self, "uid")
463
+
464
+ @uid.setter
465
+ def uid(self, value: Optional[pulumi.Input[str]]):
466
+ pulumi.set(self, "uid", value)
467
+
468
+ @property
469
+ @pulumi.getter(name="updateTime")
470
+ def update_time(self) -> Optional[pulumi.Input[str]]:
471
+ """
472
+ Output only. The last-modified time.
473
+ """
474
+ return pulumi.get(self, "update_time")
475
+
476
+ @update_time.setter
477
+ def update_time(self, value: Optional[pulumi.Input[str]]):
478
+ pulumi.set(self, "update_time", value)
479
+
480
+
481
+ class MessageBus(pulumi.CustomResource):
482
+ @overload
483
+ def __init__(__self__,
484
+ resource_name: str,
485
+ opts: Optional[pulumi.ResourceOptions] = None,
486
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
487
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
488
+ display_name: Optional[pulumi.Input[str]] = None,
489
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
490
+ location: Optional[pulumi.Input[str]] = None,
491
+ logging_config: Optional[pulumi.Input[Union['MessageBusLoggingConfigArgs', 'MessageBusLoggingConfigArgsDict']]] = None,
492
+ message_bus_id: Optional[pulumi.Input[str]] = None,
493
+ project: Optional[pulumi.Input[str]] = None,
494
+ __props__=None):
495
+ """
496
+ The Eventarc MessageBus resource
497
+
498
+ To get more information about MessageBus, see:
499
+
500
+ * [API documentation](https://cloud.google.com/eventarc/docs/reference/rest/v1/projects.locations.messageBuses)
501
+ * How-to Guides
502
+ * [Official Documentation](https://cloud.google.com/eventarc/advanced/docs/publish-events/create-bus)
503
+
504
+ ## Example Usage
505
+
506
+ ### Eventarc Message Bus With Cmek
507
+
508
+ ```python
509
+ import pulumi
510
+ import pulumi_gcp as gcp
511
+
512
+ test_project = gcp.organizations.get_project(project_id="my-project-name")
513
+ test_key_ring = gcp.kms.get_kms_key_ring(name="keyring",
514
+ location="us-central1")
515
+ key = gcp.kms.get_kms_crypto_key(name="key",
516
+ key_ring=test_key_ring.id)
517
+ key_member = gcp.kms.CryptoKeyIAMMember("key_member",
518
+ crypto_key_id=key.id,
519
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
520
+ member=f"serviceAccount:service-{test_project.number}@gcp-sa-eventarc.iam.gserviceaccount.com")
521
+ primary = gcp.eventarc.MessageBus("primary",
522
+ location="us-central1",
523
+ message_bus_id="some-message-bus",
524
+ crypto_key_name=key.id,
525
+ opts = pulumi.ResourceOptions(depends_on=[key_member]))
526
+ ```
527
+
528
+ ## Import
529
+
530
+ MessageBus can be imported using any of these accepted formats:
531
+
532
+ * `projects/{{project}}/locations/{{location}}/messageBuses/{{message_bus_id}}`
533
+
534
+ * `{{project}}/{{location}}/{{message_bus_id}}`
535
+
536
+ * `{{location}}/{{message_bus_id}}`
537
+
538
+ When using the `pulumi import` command, MessageBus can be imported using one of the formats above. For example:
539
+
540
+ ```sh
541
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default projects/{{project}}/locations/{{location}}/messageBuses/{{message_bus_id}}
542
+ ```
543
+
544
+ ```sh
545
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default {{project}}/{{location}}/{{message_bus_id}}
546
+ ```
547
+
548
+ ```sh
549
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default {{location}}/{{message_bus_id}}
550
+ ```
551
+
552
+ :param str resource_name: The name of the resource.
553
+ :param pulumi.ResourceOptions opts: Options for the resource.
554
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Resource annotations.
555
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
556
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
557
+ :param pulumi.Input[str] crypto_key_name: Optional. Resource name of a KMS crypto key (managed by the user) used to
558
+ encrypt/decrypt their event data.
559
+ It must match the pattern
560
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
561
+ :param pulumi.Input[str] display_name: Optional. Resource display name.
562
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels.
563
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
564
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
565
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
566
+ :param pulumi.Input[Union['MessageBusLoggingConfigArgs', 'MessageBusLoggingConfigArgsDict']] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
567
+ resources.
568
+ Structure is documented below.
569
+ :param pulumi.Input[str] message_bus_id: Required. The user-provided ID to be assigned to the MessageBus. It should match the
570
+ format `^a-z?$`.
571
+
572
+
573
+ - - -
574
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
575
+ If it is not provided, the provider project is used.
576
+ """
577
+ ...
578
+ @overload
579
+ def __init__(__self__,
580
+ resource_name: str,
581
+ args: MessageBusArgs,
582
+ opts: Optional[pulumi.ResourceOptions] = None):
583
+ """
584
+ The Eventarc MessageBus resource
585
+
586
+ To get more information about MessageBus, see:
587
+
588
+ * [API documentation](https://cloud.google.com/eventarc/docs/reference/rest/v1/projects.locations.messageBuses)
589
+ * How-to Guides
590
+ * [Official Documentation](https://cloud.google.com/eventarc/advanced/docs/publish-events/create-bus)
591
+
592
+ ## Example Usage
593
+
594
+ ### Eventarc Message Bus With Cmek
595
+
596
+ ```python
597
+ import pulumi
598
+ import pulumi_gcp as gcp
599
+
600
+ test_project = gcp.organizations.get_project(project_id="my-project-name")
601
+ test_key_ring = gcp.kms.get_kms_key_ring(name="keyring",
602
+ location="us-central1")
603
+ key = gcp.kms.get_kms_crypto_key(name="key",
604
+ key_ring=test_key_ring.id)
605
+ key_member = gcp.kms.CryptoKeyIAMMember("key_member",
606
+ crypto_key_id=key.id,
607
+ role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
608
+ member=f"serviceAccount:service-{test_project.number}@gcp-sa-eventarc.iam.gserviceaccount.com")
609
+ primary = gcp.eventarc.MessageBus("primary",
610
+ location="us-central1",
611
+ message_bus_id="some-message-bus",
612
+ crypto_key_name=key.id,
613
+ opts = pulumi.ResourceOptions(depends_on=[key_member]))
614
+ ```
615
+
616
+ ## Import
617
+
618
+ MessageBus can be imported using any of these accepted formats:
619
+
620
+ * `projects/{{project}}/locations/{{location}}/messageBuses/{{message_bus_id}}`
621
+
622
+ * `{{project}}/{{location}}/{{message_bus_id}}`
623
+
624
+ * `{{location}}/{{message_bus_id}}`
625
+
626
+ When using the `pulumi import` command, MessageBus can be imported using one of the formats above. For example:
627
+
628
+ ```sh
629
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default projects/{{project}}/locations/{{location}}/messageBuses/{{message_bus_id}}
630
+ ```
631
+
632
+ ```sh
633
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default {{project}}/{{location}}/{{message_bus_id}}
634
+ ```
635
+
636
+ ```sh
637
+ $ pulumi import gcp:eventarc/messageBus:MessageBus default {{location}}/{{message_bus_id}}
638
+ ```
639
+
640
+ :param str resource_name: The name of the resource.
641
+ :param MessageBusArgs args: The arguments to use to populate this resource's properties.
642
+ :param pulumi.ResourceOptions opts: Options for the resource.
643
+ """
644
+ ...
645
+ def __init__(__self__, resource_name: str, *args, **kwargs):
646
+ resource_args, opts = _utilities.get_resource_args_opts(MessageBusArgs, pulumi.ResourceOptions, *args, **kwargs)
647
+ if resource_args is not None:
648
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
649
+ else:
650
+ __self__._internal_init(resource_name, *args, **kwargs)
651
+
652
+ def _internal_init(__self__,
653
+ resource_name: str,
654
+ opts: Optional[pulumi.ResourceOptions] = None,
655
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
656
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
657
+ display_name: Optional[pulumi.Input[str]] = None,
658
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
659
+ location: Optional[pulumi.Input[str]] = None,
660
+ logging_config: Optional[pulumi.Input[Union['MessageBusLoggingConfigArgs', 'MessageBusLoggingConfigArgsDict']]] = None,
661
+ message_bus_id: Optional[pulumi.Input[str]] = None,
662
+ project: Optional[pulumi.Input[str]] = None,
663
+ __props__=None):
664
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
665
+ if not isinstance(opts, pulumi.ResourceOptions):
666
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
667
+ if opts.id is None:
668
+ if __props__ is not None:
669
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
670
+ __props__ = MessageBusArgs.__new__(MessageBusArgs)
671
+
672
+ __props__.__dict__["annotations"] = annotations
673
+ __props__.__dict__["crypto_key_name"] = crypto_key_name
674
+ __props__.__dict__["display_name"] = display_name
675
+ __props__.__dict__["labels"] = labels
676
+ if location is None and not opts.urn:
677
+ raise TypeError("Missing required property 'location'")
678
+ __props__.__dict__["location"] = location
679
+ __props__.__dict__["logging_config"] = logging_config
680
+ if message_bus_id is None and not opts.urn:
681
+ raise TypeError("Missing required property 'message_bus_id'")
682
+ __props__.__dict__["message_bus_id"] = message_bus_id
683
+ __props__.__dict__["project"] = project
684
+ __props__.__dict__["create_time"] = None
685
+ __props__.__dict__["effective_annotations"] = None
686
+ __props__.__dict__["effective_labels"] = None
687
+ __props__.__dict__["etag"] = None
688
+ __props__.__dict__["name"] = None
689
+ __props__.__dict__["pulumi_labels"] = None
690
+ __props__.__dict__["uid"] = None
691
+ __props__.__dict__["update_time"] = None
692
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
693
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
694
+ super(MessageBus, __self__).__init__(
695
+ 'gcp:eventarc/messageBus:MessageBus',
696
+ resource_name,
697
+ __props__,
698
+ opts)
699
+
700
+ @staticmethod
701
+ def get(resource_name: str,
702
+ id: pulumi.Input[str],
703
+ opts: Optional[pulumi.ResourceOptions] = None,
704
+ annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
705
+ create_time: Optional[pulumi.Input[str]] = None,
706
+ crypto_key_name: Optional[pulumi.Input[str]] = None,
707
+ display_name: Optional[pulumi.Input[str]] = None,
708
+ effective_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
709
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
710
+ etag: Optional[pulumi.Input[str]] = None,
711
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
712
+ location: Optional[pulumi.Input[str]] = None,
713
+ logging_config: Optional[pulumi.Input[Union['MessageBusLoggingConfigArgs', 'MessageBusLoggingConfigArgsDict']]] = None,
714
+ message_bus_id: Optional[pulumi.Input[str]] = None,
715
+ name: Optional[pulumi.Input[str]] = None,
716
+ project: Optional[pulumi.Input[str]] = None,
717
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
718
+ uid: Optional[pulumi.Input[str]] = None,
719
+ update_time: Optional[pulumi.Input[str]] = None) -> 'MessageBus':
720
+ """
721
+ Get an existing MessageBus resource's state with the given name, id, and optional extra
722
+ properties used to qualify the lookup.
723
+
724
+ :param str resource_name: The unique name of the resulting resource.
725
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
726
+ :param pulumi.ResourceOptions opts: Options for the resource.
727
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] annotations: Optional. Resource annotations.
728
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
729
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
730
+ :param pulumi.Input[str] create_time: Output only. The creation time.
731
+ :param pulumi.Input[str] crypto_key_name: Optional. Resource name of a KMS crypto key (managed by the user) used to
732
+ encrypt/decrypt their event data.
733
+ It must match the pattern
734
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
735
+ :param pulumi.Input[str] display_name: Optional. Resource display name.
736
+ :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.
737
+ :param pulumi.Input[str] etag: Output only. This checksum is computed by the server based on the value of other
738
+ fields, and might be sent only on update and delete requests to ensure that
739
+ the client has an up-to-date value before proceeding.
740
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Resource labels.
741
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
742
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
743
+ :param pulumi.Input[str] location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
744
+ :param pulumi.Input[Union['MessageBusLoggingConfigArgs', 'MessageBusLoggingConfigArgsDict']] logging_config: The configuration for Platform Telemetry logging for Eventarc Advanced
745
+ resources.
746
+ Structure is documented below.
747
+ :param pulumi.Input[str] message_bus_id: Required. The user-provided ID to be assigned to the MessageBus. It should match the
748
+ format `^a-z?$`.
749
+
750
+
751
+ - - -
752
+ :param pulumi.Input[str] name: Identifier. Resource name of the form
753
+ projects/{project}/locations/{location}/messageBuses/{message_bus}
754
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
755
+ If it is not provided, the provider project is used.
756
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
757
+ and default labels configured on the provider.
758
+ :param pulumi.Input[str] uid: Output only. Server assigned unique identifier for the channel. The value is a UUID4
759
+ string and guaranteed to remain unchanged until the resource is deleted.
760
+ :param pulumi.Input[str] update_time: Output only. The last-modified time.
761
+ """
762
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
763
+
764
+ __props__ = _MessageBusState.__new__(_MessageBusState)
765
+
766
+ __props__.__dict__["annotations"] = annotations
767
+ __props__.__dict__["create_time"] = create_time
768
+ __props__.__dict__["crypto_key_name"] = crypto_key_name
769
+ __props__.__dict__["display_name"] = display_name
770
+ __props__.__dict__["effective_annotations"] = effective_annotations
771
+ __props__.__dict__["effective_labels"] = effective_labels
772
+ __props__.__dict__["etag"] = etag
773
+ __props__.__dict__["labels"] = labels
774
+ __props__.__dict__["location"] = location
775
+ __props__.__dict__["logging_config"] = logging_config
776
+ __props__.__dict__["message_bus_id"] = message_bus_id
777
+ __props__.__dict__["name"] = name
778
+ __props__.__dict__["project"] = project
779
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
780
+ __props__.__dict__["uid"] = uid
781
+ __props__.__dict__["update_time"] = update_time
782
+ return MessageBus(resource_name, opts=opts, __props__=__props__)
783
+
784
+ @property
785
+ @pulumi.getter
786
+ def annotations(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
787
+ """
788
+ Optional. Resource annotations.
789
+ **Note**: This field is non-authoritative, and will only manage the annotations present in your configuration.
790
+ Please refer to the field `effective_annotations` for all of the annotations present on the resource.
791
+ """
792
+ return pulumi.get(self, "annotations")
793
+
794
+ @property
795
+ @pulumi.getter(name="createTime")
796
+ def create_time(self) -> pulumi.Output[str]:
797
+ """
798
+ Output only. The creation time.
799
+ """
800
+ return pulumi.get(self, "create_time")
801
+
802
+ @property
803
+ @pulumi.getter(name="cryptoKeyName")
804
+ def crypto_key_name(self) -> pulumi.Output[Optional[str]]:
805
+ """
806
+ Optional. Resource name of a KMS crypto key (managed by the user) used to
807
+ encrypt/decrypt their event data.
808
+ It must match the pattern
809
+ `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
810
+ """
811
+ return pulumi.get(self, "crypto_key_name")
812
+
813
+ @property
814
+ @pulumi.getter(name="displayName")
815
+ def display_name(self) -> pulumi.Output[Optional[str]]:
816
+ """
817
+ Optional. Resource display name.
818
+ """
819
+ return pulumi.get(self, "display_name")
820
+
821
+ @property
822
+ @pulumi.getter(name="effectiveAnnotations")
823
+ def effective_annotations(self) -> pulumi.Output[Mapping[str, str]]:
824
+ return pulumi.get(self, "effective_annotations")
825
+
826
+ @property
827
+ @pulumi.getter(name="effectiveLabels")
828
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
829
+ """
830
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
831
+ """
832
+ return pulumi.get(self, "effective_labels")
833
+
834
+ @property
835
+ @pulumi.getter
836
+ def etag(self) -> pulumi.Output[str]:
837
+ """
838
+ Output only. This checksum is computed by the server based on the value of other
839
+ fields, and might be sent only on update and delete requests to ensure that
840
+ the client has an up-to-date value before proceeding.
841
+ """
842
+ return pulumi.get(self, "etag")
843
+
844
+ @property
845
+ @pulumi.getter
846
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
847
+ """
848
+ Optional. Resource labels.
849
+ **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
850
+ Please refer to the field `effective_labels` for all of the labels present on the resource.
851
+ """
852
+ return pulumi.get(self, "labels")
853
+
854
+ @property
855
+ @pulumi.getter
856
+ def location(self) -> pulumi.Output[str]:
857
+ """
858
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
859
+ """
860
+ return pulumi.get(self, "location")
861
+
862
+ @property
863
+ @pulumi.getter(name="loggingConfig")
864
+ def logging_config(self) -> pulumi.Output['outputs.MessageBusLoggingConfig']:
865
+ """
866
+ The configuration for Platform Telemetry logging for Eventarc Advanced
867
+ resources.
868
+ Structure is documented below.
869
+ """
870
+ return pulumi.get(self, "logging_config")
871
+
872
+ @property
873
+ @pulumi.getter(name="messageBusId")
874
+ def message_bus_id(self) -> pulumi.Output[str]:
875
+ """
876
+ Required. The user-provided ID to be assigned to the MessageBus. It should match the
877
+ format `^a-z?$`.
878
+
879
+
880
+ - - -
881
+ """
882
+ return pulumi.get(self, "message_bus_id")
883
+
884
+ @property
885
+ @pulumi.getter
886
+ def name(self) -> pulumi.Output[str]:
887
+ """
888
+ Identifier. Resource name of the form
889
+ projects/{project}/locations/{location}/messageBuses/{message_bus}
890
+ """
891
+ return pulumi.get(self, "name")
892
+
893
+ @property
894
+ @pulumi.getter
895
+ def project(self) -> pulumi.Output[str]:
896
+ """
897
+ The ID of the project in which the resource belongs.
898
+ If it is not provided, the provider project is used.
899
+ """
900
+ return pulumi.get(self, "project")
901
+
902
+ @property
903
+ @pulumi.getter(name="pulumiLabels")
904
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
905
+ """
906
+ The combination of labels configured directly on the resource
907
+ and default labels configured on the provider.
908
+ """
909
+ return pulumi.get(self, "pulumi_labels")
910
+
911
+ @property
912
+ @pulumi.getter
913
+ def uid(self) -> pulumi.Output[str]:
914
+ """
915
+ Output only. Server assigned unique identifier for the channel. The value is a UUID4
916
+ string and guaranteed to remain unchanged until the resource is deleted.
917
+ """
918
+ return pulumi.get(self, "uid")
919
+
920
+ @property
921
+ @pulumi.getter(name="updateTime")
922
+ def update_time(self) -> pulumi.Output[str]:
923
+ """
924
+ Output only. The last-modified time.
925
+ """
926
+ return pulumi.get(self, "update_time")
927
+