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