pulumi-gcp 7.31.0a1721039192__py3-none-any.whl → 7.32.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 (33) hide show
  1. pulumi_gcp/__init__.py +11 -0
  2. pulumi_gcp/alloydb/cluster.py +0 -24
  3. pulumi_gcp/bigquery/_inputs.py +0 -12
  4. pulumi_gcp/bigquery/dataset.py +0 -28
  5. pulumi_gcp/bigquery/dataset_access.py +0 -28
  6. pulumi_gcp/bigquery/outputs.py +0 -24
  7. pulumi_gcp/bigtable/authorized_view.py +104 -0
  8. pulumi_gcp/compute/global_address.py +16 -4
  9. pulumi_gcp/compute/target_instance.py +2 -2
  10. pulumi_gcp/config/__init__.pyi +2 -0
  11. pulumi_gcp/config/vars.py +4 -0
  12. pulumi_gcp/gkehub/__init__.py +1 -0
  13. pulumi_gcp/gkehub/get_membership_binding.py +222 -0
  14. pulumi_gcp/gkehub/outputs.py +19 -0
  15. pulumi_gcp/iap/client.py +7 -7
  16. pulumi_gcp/kms/_inputs.py +40 -0
  17. pulumi_gcp/kms/crypto_key.py +103 -0
  18. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  19. pulumi_gcp/kms/outputs.py +112 -0
  20. pulumi_gcp/networksecurity/address_group.py +1 -1
  21. pulumi_gcp/privilegedaccessmanager/entitlement.py +4 -0
  22. pulumi_gcp/provider.py +20 -0
  23. pulumi_gcp/pulumi-plugin.json +1 -1
  24. pulumi_gcp/securitycenter/__init__.py +1 -0
  25. pulumi_gcp/securitycenter/_inputs.py +93 -0
  26. pulumi_gcp/securitycenter/outputs.py +59 -0
  27. pulumi_gcp/securitycenter/project_notification_config.py +518 -0
  28. pulumi_gcp/siteverification/__init__.py +8 -0
  29. pulumi_gcp/siteverification/get_token.py +221 -0
  30. {pulumi_gcp-7.31.0a1721039192.dist-info → pulumi_gcp-7.32.0.dist-info}/METADATA +1 -1
  31. {pulumi_gcp-7.31.0a1721039192.dist-info → pulumi_gcp-7.32.0.dist-info}/RECORD +33 -29
  32. {pulumi_gcp-7.31.0a1721039192.dist-info → pulumi_gcp-7.32.0.dist-info}/WHEEL +0 -0
  33. {pulumi_gcp-7.31.0a1721039192.dist-info → pulumi_gcp-7.32.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,518 @@
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__ = ['ProjectNotificationConfigArgs', 'ProjectNotificationConfig']
20
+
21
+ @pulumi.input_type
22
+ class ProjectNotificationConfigArgs:
23
+ def __init__(__self__, *,
24
+ config_id: pulumi.Input[str],
25
+ pubsub_topic: pulumi.Input[str],
26
+ streaming_config: pulumi.Input['ProjectNotificationConfigStreamingConfigArgs'],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ project: Optional[pulumi.Input[str]] = None):
29
+ """
30
+ The set of arguments for constructing a ProjectNotificationConfig resource.
31
+ :param pulumi.Input[str] config_id: This must be unique within the organization.
32
+ :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
33
+ "projects/[project_id]/topics/[topic]".
34
+ :param pulumi.Input['ProjectNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
35
+ Structure is documented below.
36
+ :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
37
+ """
38
+ pulumi.set(__self__, "config_id", config_id)
39
+ pulumi.set(__self__, "pubsub_topic", pubsub_topic)
40
+ pulumi.set(__self__, "streaming_config", streaming_config)
41
+ if description is not None:
42
+ pulumi.set(__self__, "description", description)
43
+ if project is not None:
44
+ pulumi.set(__self__, "project", project)
45
+
46
+ @property
47
+ @pulumi.getter(name="configId")
48
+ def config_id(self) -> pulumi.Input[str]:
49
+ """
50
+ This must be unique within the organization.
51
+ """
52
+ return pulumi.get(self, "config_id")
53
+
54
+ @config_id.setter
55
+ def config_id(self, value: pulumi.Input[str]):
56
+ pulumi.set(self, "config_id", value)
57
+
58
+ @property
59
+ @pulumi.getter(name="pubsubTopic")
60
+ def pubsub_topic(self) -> pulumi.Input[str]:
61
+ """
62
+ The Pub/Sub topic to send notifications to. Its format is
63
+ "projects/[project_id]/topics/[topic]".
64
+ """
65
+ return pulumi.get(self, "pubsub_topic")
66
+
67
+ @pubsub_topic.setter
68
+ def pubsub_topic(self, value: pulumi.Input[str]):
69
+ pulumi.set(self, "pubsub_topic", value)
70
+
71
+ @property
72
+ @pulumi.getter(name="streamingConfig")
73
+ def streaming_config(self) -> pulumi.Input['ProjectNotificationConfigStreamingConfigArgs']:
74
+ """
75
+ The config for triggering streaming-based notifications.
76
+ Structure is documented below.
77
+ """
78
+ return pulumi.get(self, "streaming_config")
79
+
80
+ @streaming_config.setter
81
+ def streaming_config(self, value: pulumi.Input['ProjectNotificationConfigStreamingConfigArgs']):
82
+ pulumi.set(self, "streaming_config", value)
83
+
84
+ @property
85
+ @pulumi.getter
86
+ def description(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ The description of the notification config (max of 1024 characters).
89
+ """
90
+ return pulumi.get(self, "description")
91
+
92
+ @description.setter
93
+ def description(self, value: Optional[pulumi.Input[str]]):
94
+ pulumi.set(self, "description", value)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def project(self) -> Optional[pulumi.Input[str]]:
99
+ return pulumi.get(self, "project")
100
+
101
+ @project.setter
102
+ def project(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "project", value)
104
+
105
+
106
+ @pulumi.input_type
107
+ class _ProjectNotificationConfigState:
108
+ def __init__(__self__, *,
109
+ config_id: Optional[pulumi.Input[str]] = None,
110
+ description: Optional[pulumi.Input[str]] = None,
111
+ name: Optional[pulumi.Input[str]] = None,
112
+ project: Optional[pulumi.Input[str]] = None,
113
+ pubsub_topic: Optional[pulumi.Input[str]] = None,
114
+ service_account: Optional[pulumi.Input[str]] = None,
115
+ streaming_config: Optional[pulumi.Input['ProjectNotificationConfigStreamingConfigArgs']] = None):
116
+ """
117
+ Input properties used for looking up and filtering ProjectNotificationConfig resources.
118
+ :param pulumi.Input[str] config_id: This must be unique within the organization.
119
+ :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
120
+ :param pulumi.Input[str] name: The resource name of this notification config, in the format
121
+ `projects/{{projectId}}/notificationConfigs/{{config_id}}`.
122
+ :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
123
+ "projects/[project_id]/topics/[topic]".
124
+ :param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
125
+ publish to the Pub/Sub topic.
126
+ :param pulumi.Input['ProjectNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
127
+ Structure is documented below.
128
+ """
129
+ if config_id is not None:
130
+ pulumi.set(__self__, "config_id", config_id)
131
+ if description is not None:
132
+ pulumi.set(__self__, "description", description)
133
+ if name is not None:
134
+ pulumi.set(__self__, "name", name)
135
+ if project is not None:
136
+ pulumi.set(__self__, "project", project)
137
+ if pubsub_topic is not None:
138
+ pulumi.set(__self__, "pubsub_topic", pubsub_topic)
139
+ if service_account is not None:
140
+ pulumi.set(__self__, "service_account", service_account)
141
+ if streaming_config is not None:
142
+ pulumi.set(__self__, "streaming_config", streaming_config)
143
+
144
+ @property
145
+ @pulumi.getter(name="configId")
146
+ def config_id(self) -> Optional[pulumi.Input[str]]:
147
+ """
148
+ This must be unique within the organization.
149
+ """
150
+ return pulumi.get(self, "config_id")
151
+
152
+ @config_id.setter
153
+ def config_id(self, value: Optional[pulumi.Input[str]]):
154
+ pulumi.set(self, "config_id", value)
155
+
156
+ @property
157
+ @pulumi.getter
158
+ def description(self) -> Optional[pulumi.Input[str]]:
159
+ """
160
+ The description of the notification config (max of 1024 characters).
161
+ """
162
+ return pulumi.get(self, "description")
163
+
164
+ @description.setter
165
+ def description(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "description", value)
167
+
168
+ @property
169
+ @pulumi.getter
170
+ def name(self) -> Optional[pulumi.Input[str]]:
171
+ """
172
+ The resource name of this notification config, in the format
173
+ `projects/{{projectId}}/notificationConfigs/{{config_id}}`.
174
+ """
175
+ return pulumi.get(self, "name")
176
+
177
+ @name.setter
178
+ def name(self, value: Optional[pulumi.Input[str]]):
179
+ pulumi.set(self, "name", value)
180
+
181
+ @property
182
+ @pulumi.getter
183
+ def project(self) -> Optional[pulumi.Input[str]]:
184
+ return pulumi.get(self, "project")
185
+
186
+ @project.setter
187
+ def project(self, value: Optional[pulumi.Input[str]]):
188
+ pulumi.set(self, "project", value)
189
+
190
+ @property
191
+ @pulumi.getter(name="pubsubTopic")
192
+ def pubsub_topic(self) -> Optional[pulumi.Input[str]]:
193
+ """
194
+ The Pub/Sub topic to send notifications to. Its format is
195
+ "projects/[project_id]/topics/[topic]".
196
+ """
197
+ return pulumi.get(self, "pubsub_topic")
198
+
199
+ @pubsub_topic.setter
200
+ def pubsub_topic(self, value: Optional[pulumi.Input[str]]):
201
+ pulumi.set(self, "pubsub_topic", value)
202
+
203
+ @property
204
+ @pulumi.getter(name="serviceAccount")
205
+ def service_account(self) -> Optional[pulumi.Input[str]]:
206
+ """
207
+ The service account that needs "pubsub.topics.publish" permission to
208
+ publish to the Pub/Sub topic.
209
+ """
210
+ return pulumi.get(self, "service_account")
211
+
212
+ @service_account.setter
213
+ def service_account(self, value: Optional[pulumi.Input[str]]):
214
+ pulumi.set(self, "service_account", value)
215
+
216
+ @property
217
+ @pulumi.getter(name="streamingConfig")
218
+ def streaming_config(self) -> Optional[pulumi.Input['ProjectNotificationConfigStreamingConfigArgs']]:
219
+ """
220
+ The config for triggering streaming-based notifications.
221
+ Structure is documented below.
222
+ """
223
+ return pulumi.get(self, "streaming_config")
224
+
225
+ @streaming_config.setter
226
+ def streaming_config(self, value: Optional[pulumi.Input['ProjectNotificationConfigStreamingConfigArgs']]):
227
+ pulumi.set(self, "streaming_config", value)
228
+
229
+
230
+ class ProjectNotificationConfig(pulumi.CustomResource):
231
+ @overload
232
+ def __init__(__self__,
233
+ resource_name: str,
234
+ opts: Optional[pulumi.ResourceOptions] = None,
235
+ config_id: Optional[pulumi.Input[str]] = None,
236
+ description: Optional[pulumi.Input[str]] = None,
237
+ project: Optional[pulumi.Input[str]] = None,
238
+ pubsub_topic: Optional[pulumi.Input[str]] = None,
239
+ streaming_config: Optional[pulumi.Input[Union['ProjectNotificationConfigStreamingConfigArgs', 'ProjectNotificationConfigStreamingConfigArgsDict']]] = None,
240
+ __props__=None):
241
+ """
242
+ A Cloud Security Command Center (Cloud SCC) notification configs. A
243
+ notification config is a Cloud SCC resource that contains the
244
+ configuration to send notifications for create/update events of
245
+ findings, assets and etc.
246
+ > **Note:** In order to use Cloud SCC resources, your organization must be enrolled
247
+ in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
248
+ Without doing so, you may run into errors during resource creation.
249
+
250
+ To get more information about ProjectNotificationConfig, see:
251
+
252
+ * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/projects.notificationConfigs)
253
+ * How-to Guides
254
+ * [Official Documentation](https://cloud.google.com/security-command-center/docs)
255
+
256
+ ## Example Usage
257
+
258
+ ### Scc Project Notification Config Basic
259
+
260
+ ```python
261
+ import pulumi
262
+ import pulumi_gcp as gcp
263
+
264
+ scc_project_notification = gcp.pubsub.Topic("scc_project_notification", name="my-topic")
265
+ custom_notification_config = gcp.securitycenter.ProjectNotificationConfig("custom_notification_config",
266
+ config_id="my-config",
267
+ project="my-project-name",
268
+ description="My custom Cloud Security Command Center Finding Notification Configuration",
269
+ pubsub_topic=scc_project_notification.id,
270
+ streaming_config={
271
+ "filter": "category = \\"OPEN_FIREWALL\\" AND state = \\"ACTIVE\\"",
272
+ })
273
+ ```
274
+
275
+ ## Import
276
+
277
+ ProjectNotificationConfig can be imported using any of these accepted formats:
278
+
279
+ * `projects/{{project}}/notificationConfigs/{{name}}`
280
+
281
+ * `{{project}}/{{name}}`
282
+
283
+ * `{{name}}`
284
+
285
+ When using the `pulumi import` command, ProjectNotificationConfig can be imported using one of the formats above. For example:
286
+
287
+ ```sh
288
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default projects/{{project}}/notificationConfigs/{{name}}
289
+ ```
290
+
291
+ ```sh
292
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default {{project}}/{{name}}
293
+ ```
294
+
295
+ ```sh
296
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default {{name}}
297
+ ```
298
+
299
+ :param str resource_name: The name of the resource.
300
+ :param pulumi.ResourceOptions opts: Options for the resource.
301
+ :param pulumi.Input[str] config_id: This must be unique within the organization.
302
+ :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
303
+ :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
304
+ "projects/[project_id]/topics/[topic]".
305
+ :param pulumi.Input[Union['ProjectNotificationConfigStreamingConfigArgs', 'ProjectNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
306
+ Structure is documented below.
307
+ """
308
+ ...
309
+ @overload
310
+ def __init__(__self__,
311
+ resource_name: str,
312
+ args: ProjectNotificationConfigArgs,
313
+ opts: Optional[pulumi.ResourceOptions] = None):
314
+ """
315
+ A Cloud Security Command Center (Cloud SCC) notification configs. A
316
+ notification config is a Cloud SCC resource that contains the
317
+ configuration to send notifications for create/update events of
318
+ findings, assets and etc.
319
+ > **Note:** In order to use Cloud SCC resources, your organization must be enrolled
320
+ in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
321
+ Without doing so, you may run into errors during resource creation.
322
+
323
+ To get more information about ProjectNotificationConfig, see:
324
+
325
+ * [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/projects.notificationConfigs)
326
+ * How-to Guides
327
+ * [Official Documentation](https://cloud.google.com/security-command-center/docs)
328
+
329
+ ## Example Usage
330
+
331
+ ### Scc Project Notification Config Basic
332
+
333
+ ```python
334
+ import pulumi
335
+ import pulumi_gcp as gcp
336
+
337
+ scc_project_notification = gcp.pubsub.Topic("scc_project_notification", name="my-topic")
338
+ custom_notification_config = gcp.securitycenter.ProjectNotificationConfig("custom_notification_config",
339
+ config_id="my-config",
340
+ project="my-project-name",
341
+ description="My custom Cloud Security Command Center Finding Notification Configuration",
342
+ pubsub_topic=scc_project_notification.id,
343
+ streaming_config={
344
+ "filter": "category = \\"OPEN_FIREWALL\\" AND state = \\"ACTIVE\\"",
345
+ })
346
+ ```
347
+
348
+ ## Import
349
+
350
+ ProjectNotificationConfig can be imported using any of these accepted formats:
351
+
352
+ * `projects/{{project}}/notificationConfigs/{{name}}`
353
+
354
+ * `{{project}}/{{name}}`
355
+
356
+ * `{{name}}`
357
+
358
+ When using the `pulumi import` command, ProjectNotificationConfig can be imported using one of the formats above. For example:
359
+
360
+ ```sh
361
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default projects/{{project}}/notificationConfigs/{{name}}
362
+ ```
363
+
364
+ ```sh
365
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default {{project}}/{{name}}
366
+ ```
367
+
368
+ ```sh
369
+ $ pulumi import gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig default {{name}}
370
+ ```
371
+
372
+ :param str resource_name: The name of the resource.
373
+ :param ProjectNotificationConfigArgs args: The arguments to use to populate this resource's properties.
374
+ :param pulumi.ResourceOptions opts: Options for the resource.
375
+ """
376
+ ...
377
+ def __init__(__self__, resource_name: str, *args, **kwargs):
378
+ resource_args, opts = _utilities.get_resource_args_opts(ProjectNotificationConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
379
+ if resource_args is not None:
380
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
381
+ else:
382
+ __self__._internal_init(resource_name, *args, **kwargs)
383
+
384
+ def _internal_init(__self__,
385
+ resource_name: str,
386
+ opts: Optional[pulumi.ResourceOptions] = None,
387
+ config_id: Optional[pulumi.Input[str]] = None,
388
+ description: Optional[pulumi.Input[str]] = None,
389
+ project: Optional[pulumi.Input[str]] = None,
390
+ pubsub_topic: Optional[pulumi.Input[str]] = None,
391
+ streaming_config: Optional[pulumi.Input[Union['ProjectNotificationConfigStreamingConfigArgs', 'ProjectNotificationConfigStreamingConfigArgsDict']]] = None,
392
+ __props__=None):
393
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
394
+ if not isinstance(opts, pulumi.ResourceOptions):
395
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
396
+ if opts.id is None:
397
+ if __props__ is not None:
398
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
399
+ __props__ = ProjectNotificationConfigArgs.__new__(ProjectNotificationConfigArgs)
400
+
401
+ if config_id is None and not opts.urn:
402
+ raise TypeError("Missing required property 'config_id'")
403
+ __props__.__dict__["config_id"] = config_id
404
+ __props__.__dict__["description"] = description
405
+ __props__.__dict__["project"] = project
406
+ if pubsub_topic is None and not opts.urn:
407
+ raise TypeError("Missing required property 'pubsub_topic'")
408
+ __props__.__dict__["pubsub_topic"] = pubsub_topic
409
+ if streaming_config is None and not opts.urn:
410
+ raise TypeError("Missing required property 'streaming_config'")
411
+ __props__.__dict__["streaming_config"] = streaming_config
412
+ __props__.__dict__["name"] = None
413
+ __props__.__dict__["service_account"] = None
414
+ super(ProjectNotificationConfig, __self__).__init__(
415
+ 'gcp:securitycenter/projectNotificationConfig:ProjectNotificationConfig',
416
+ resource_name,
417
+ __props__,
418
+ opts)
419
+
420
+ @staticmethod
421
+ def get(resource_name: str,
422
+ id: pulumi.Input[str],
423
+ opts: Optional[pulumi.ResourceOptions] = None,
424
+ config_id: Optional[pulumi.Input[str]] = None,
425
+ description: Optional[pulumi.Input[str]] = None,
426
+ name: Optional[pulumi.Input[str]] = None,
427
+ project: Optional[pulumi.Input[str]] = None,
428
+ pubsub_topic: Optional[pulumi.Input[str]] = None,
429
+ service_account: Optional[pulumi.Input[str]] = None,
430
+ streaming_config: Optional[pulumi.Input[Union['ProjectNotificationConfigStreamingConfigArgs', 'ProjectNotificationConfigStreamingConfigArgsDict']]] = None) -> 'ProjectNotificationConfig':
431
+ """
432
+ Get an existing ProjectNotificationConfig resource's state with the given name, id, and optional extra
433
+ properties used to qualify the lookup.
434
+
435
+ :param str resource_name: The unique name of the resulting resource.
436
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
437
+ :param pulumi.ResourceOptions opts: Options for the resource.
438
+ :param pulumi.Input[str] config_id: This must be unique within the organization.
439
+ :param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
440
+ :param pulumi.Input[str] name: The resource name of this notification config, in the format
441
+ `projects/{{projectId}}/notificationConfigs/{{config_id}}`.
442
+ :param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
443
+ "projects/[project_id]/topics/[topic]".
444
+ :param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
445
+ publish to the Pub/Sub topic.
446
+ :param pulumi.Input[Union['ProjectNotificationConfigStreamingConfigArgs', 'ProjectNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
447
+ Structure is documented below.
448
+ """
449
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
450
+
451
+ __props__ = _ProjectNotificationConfigState.__new__(_ProjectNotificationConfigState)
452
+
453
+ __props__.__dict__["config_id"] = config_id
454
+ __props__.__dict__["description"] = description
455
+ __props__.__dict__["name"] = name
456
+ __props__.__dict__["project"] = project
457
+ __props__.__dict__["pubsub_topic"] = pubsub_topic
458
+ __props__.__dict__["service_account"] = service_account
459
+ __props__.__dict__["streaming_config"] = streaming_config
460
+ return ProjectNotificationConfig(resource_name, opts=opts, __props__=__props__)
461
+
462
+ @property
463
+ @pulumi.getter(name="configId")
464
+ def config_id(self) -> pulumi.Output[str]:
465
+ """
466
+ This must be unique within the organization.
467
+ """
468
+ return pulumi.get(self, "config_id")
469
+
470
+ @property
471
+ @pulumi.getter
472
+ def description(self) -> pulumi.Output[Optional[str]]:
473
+ """
474
+ The description of the notification config (max of 1024 characters).
475
+ """
476
+ return pulumi.get(self, "description")
477
+
478
+ @property
479
+ @pulumi.getter
480
+ def name(self) -> pulumi.Output[str]:
481
+ """
482
+ The resource name of this notification config, in the format
483
+ `projects/{{projectId}}/notificationConfigs/{{config_id}}`.
484
+ """
485
+ return pulumi.get(self, "name")
486
+
487
+ @property
488
+ @pulumi.getter
489
+ def project(self) -> pulumi.Output[str]:
490
+ return pulumi.get(self, "project")
491
+
492
+ @property
493
+ @pulumi.getter(name="pubsubTopic")
494
+ def pubsub_topic(self) -> pulumi.Output[str]:
495
+ """
496
+ The Pub/Sub topic to send notifications to. Its format is
497
+ "projects/[project_id]/topics/[topic]".
498
+ """
499
+ return pulumi.get(self, "pubsub_topic")
500
+
501
+ @property
502
+ @pulumi.getter(name="serviceAccount")
503
+ def service_account(self) -> pulumi.Output[str]:
504
+ """
505
+ The service account that needs "pubsub.topics.publish" permission to
506
+ publish to the Pub/Sub topic.
507
+ """
508
+ return pulumi.get(self, "service_account")
509
+
510
+ @property
511
+ @pulumi.getter(name="streamingConfig")
512
+ def streaming_config(self) -> pulumi.Output['outputs.ProjectNotificationConfigStreamingConfig']:
513
+ """
514
+ The config for triggering streaming-based notifications.
515
+ Structure is documented below.
516
+ """
517
+ return pulumi.get(self, "streaming_config")
518
+
@@ -0,0 +1,8 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .get_token import *