pulumi-gcp 7.36.0a1723631483__py3-none-any.whl → 7.37.0a1723638212__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 +72 -0
- pulumi_gcp/accesscontextmanager/__init__.py +2 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +780 -0
- pulumi_gcp/accesscontextmanager/outputs.py +601 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +323 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +332 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -24
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -24
- pulumi_gcp/applicationintegration/client.py +2 -2
- pulumi_gcp/clouddeploy/_inputs.py +21 -1
- pulumi_gcp/clouddeploy/outputs.py +15 -1
- pulumi_gcp/cloudrunv2/_inputs.py +40 -0
- pulumi_gcp/cloudrunv2/outputs.py +46 -0
- pulumi_gcp/compute/region_target_https_proxy.py +28 -0
- pulumi_gcp/container/_inputs.py +26 -0
- pulumi_gcp/container/outputs.py +29 -0
- pulumi_gcp/dataform/repository.py +80 -2
- pulumi_gcp/discoveryengine/data_store.py +93 -2
- pulumi_gcp/gkehub/_inputs.py +63 -0
- pulumi_gcp/gkehub/outputs.py +38 -0
- pulumi_gcp/logging/get_log_view_iam_policy.py +28 -2
- pulumi_gcp/logging/log_view_iam_binding.py +512 -0
- pulumi_gcp/logging/log_view_iam_member.py +512 -0
- pulumi_gcp/logging/log_view_iam_policy.py +512 -0
- pulumi_gcp/netapp/_inputs.py +6 -6
- pulumi_gcp/netapp/outputs.py +4 -4
- pulumi_gcp/networkconnectivity/regional_endpoint.py +6 -6
- pulumi_gcp/organizations/get_project.py +11 -1
- pulumi_gcp/organizations/project.py +76 -21
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securitycenter/__init__.py +8 -0
- pulumi_gcp/securitycenter/_inputs.py +191 -0
- pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +146 -0
- pulumi_gcp/securitycenter/outputs.py +115 -0
- pulumi_gcp/securitycenter/v2_folder_mute_config.py +679 -0
- pulumi_gcp/securitycenter/v2_organization_source.py +416 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +722 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +722 -0
- pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +561 -0
- pulumi_gcp/securitycenter/v2_project_mute_config.py +684 -0
- pulumi_gcp/securitycenter/v2_project_notification_config.py +559 -0
- pulumi_gcp/spanner/instance.py +0 -7
- pulumi_gcp/sql/_inputs.py +3 -3
- pulumi_gcp/sql/outputs.py +6 -6
- pulumi_gcp/storage/bucket_object.py +28 -0
- pulumi_gcp/storage/get_bucket_object.py +14 -1
- pulumi_gcp/storage/get_bucket_object_content.py +11 -1
- pulumi_gcp/storage/managed_folder.py +72 -2
- pulumi_gcp/vmwareengine/network_policy.py +6 -6
- {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/RECORD +53 -43
- {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,559 @@
|
|
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__ = ['V2ProjectNotificationConfigArgs', 'V2ProjectNotificationConfig']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class V2ProjectNotificationConfigArgs:
|
23
|
+
def __init__(__self__, *,
|
24
|
+
config_id: pulumi.Input[str],
|
25
|
+
streaming_config: pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs'],
|
26
|
+
description: Optional[pulumi.Input[str]] = None,
|
27
|
+
location: Optional[pulumi.Input[str]] = None,
|
28
|
+
project: Optional[pulumi.Input[str]] = None,
|
29
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None):
|
30
|
+
"""
|
31
|
+
The set of arguments for constructing a V2ProjectNotificationConfig resource.
|
32
|
+
:param pulumi.Input[str] config_id: This must be unique within the project.
|
33
|
+
:param pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
|
34
|
+
Structure is documented below.
|
35
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
36
|
+
:param pulumi.Input[str] location: Location ID of the parent organization. Only global is supported at the moment.
|
37
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
38
|
+
"""
|
39
|
+
pulumi.set(__self__, "config_id", config_id)
|
40
|
+
pulumi.set(__self__, "streaming_config", streaming_config)
|
41
|
+
if description is not None:
|
42
|
+
pulumi.set(__self__, "description", description)
|
43
|
+
if location is not None:
|
44
|
+
pulumi.set(__self__, "location", location)
|
45
|
+
if project is not None:
|
46
|
+
pulumi.set(__self__, "project", project)
|
47
|
+
if pubsub_topic is not None:
|
48
|
+
pulumi.set(__self__, "pubsub_topic", pubsub_topic)
|
49
|
+
|
50
|
+
@property
|
51
|
+
@pulumi.getter(name="configId")
|
52
|
+
def config_id(self) -> pulumi.Input[str]:
|
53
|
+
"""
|
54
|
+
This must be unique within the project.
|
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(name="streamingConfig")
|
64
|
+
def streaming_config(self) -> pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs']:
|
65
|
+
"""
|
66
|
+
The config for triggering streaming-based notifications.
|
67
|
+
Structure is documented below.
|
68
|
+
"""
|
69
|
+
return pulumi.get(self, "streaming_config")
|
70
|
+
|
71
|
+
@streaming_config.setter
|
72
|
+
def streaming_config(self, value: pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs']):
|
73
|
+
pulumi.set(self, "streaming_config", value)
|
74
|
+
|
75
|
+
@property
|
76
|
+
@pulumi.getter
|
77
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
78
|
+
"""
|
79
|
+
The description of the notification config (max of 1024 characters).
|
80
|
+
"""
|
81
|
+
return pulumi.get(self, "description")
|
82
|
+
|
83
|
+
@description.setter
|
84
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
85
|
+
pulumi.set(self, "description", value)
|
86
|
+
|
87
|
+
@property
|
88
|
+
@pulumi.getter
|
89
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
90
|
+
"""
|
91
|
+
Location ID of the parent organization. Only global is supported at the moment.
|
92
|
+
"""
|
93
|
+
return pulumi.get(self, "location")
|
94
|
+
|
95
|
+
@location.setter
|
96
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
97
|
+
pulumi.set(self, "location", value)
|
98
|
+
|
99
|
+
@property
|
100
|
+
@pulumi.getter
|
101
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
102
|
+
return pulumi.get(self, "project")
|
103
|
+
|
104
|
+
@project.setter
|
105
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
106
|
+
pulumi.set(self, "project", value)
|
107
|
+
|
108
|
+
@property
|
109
|
+
@pulumi.getter(name="pubsubTopic")
|
110
|
+
def pubsub_topic(self) -> Optional[pulumi.Input[str]]:
|
111
|
+
"""
|
112
|
+
The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
113
|
+
"""
|
114
|
+
return pulumi.get(self, "pubsub_topic")
|
115
|
+
|
116
|
+
@pubsub_topic.setter
|
117
|
+
def pubsub_topic(self, value: Optional[pulumi.Input[str]]):
|
118
|
+
pulumi.set(self, "pubsub_topic", value)
|
119
|
+
|
120
|
+
|
121
|
+
@pulumi.input_type
|
122
|
+
class _V2ProjectNotificationConfigState:
|
123
|
+
def __init__(__self__, *,
|
124
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
125
|
+
description: Optional[pulumi.Input[str]] = None,
|
126
|
+
location: Optional[pulumi.Input[str]] = None,
|
127
|
+
name: Optional[pulumi.Input[str]] = None,
|
128
|
+
project: Optional[pulumi.Input[str]] = None,
|
129
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
130
|
+
service_account: Optional[pulumi.Input[str]] = None,
|
131
|
+
streaming_config: Optional[pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs']] = None):
|
132
|
+
"""
|
133
|
+
Input properties used for looking up and filtering V2ProjectNotificationConfig resources.
|
134
|
+
:param pulumi.Input[str] config_id: This must be unique within the project.
|
135
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
136
|
+
:param pulumi.Input[str] location: Location ID of the parent organization. Only global is supported at the moment.
|
137
|
+
:param pulumi.Input[str] name: The resource name of this notification config, in the format
|
138
|
+
`projects/{{projectId}}/locations/{{location}}/notificationConfigs/{{config_id}}`.
|
139
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
140
|
+
:param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
|
141
|
+
publish to the Pub/Sub topic.
|
142
|
+
:param pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
|
143
|
+
Structure is documented below.
|
144
|
+
"""
|
145
|
+
if config_id is not None:
|
146
|
+
pulumi.set(__self__, "config_id", config_id)
|
147
|
+
if description is not None:
|
148
|
+
pulumi.set(__self__, "description", description)
|
149
|
+
if location is not None:
|
150
|
+
pulumi.set(__self__, "location", location)
|
151
|
+
if name is not None:
|
152
|
+
pulumi.set(__self__, "name", name)
|
153
|
+
if project is not None:
|
154
|
+
pulumi.set(__self__, "project", project)
|
155
|
+
if pubsub_topic is not None:
|
156
|
+
pulumi.set(__self__, "pubsub_topic", pubsub_topic)
|
157
|
+
if service_account is not None:
|
158
|
+
pulumi.set(__self__, "service_account", service_account)
|
159
|
+
if streaming_config is not None:
|
160
|
+
pulumi.set(__self__, "streaming_config", streaming_config)
|
161
|
+
|
162
|
+
@property
|
163
|
+
@pulumi.getter(name="configId")
|
164
|
+
def config_id(self) -> Optional[pulumi.Input[str]]:
|
165
|
+
"""
|
166
|
+
This must be unique within the project.
|
167
|
+
"""
|
168
|
+
return pulumi.get(self, "config_id")
|
169
|
+
|
170
|
+
@config_id.setter
|
171
|
+
def config_id(self, value: Optional[pulumi.Input[str]]):
|
172
|
+
pulumi.set(self, "config_id", value)
|
173
|
+
|
174
|
+
@property
|
175
|
+
@pulumi.getter
|
176
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
177
|
+
"""
|
178
|
+
The description of the notification config (max of 1024 characters).
|
179
|
+
"""
|
180
|
+
return pulumi.get(self, "description")
|
181
|
+
|
182
|
+
@description.setter
|
183
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
184
|
+
pulumi.set(self, "description", value)
|
185
|
+
|
186
|
+
@property
|
187
|
+
@pulumi.getter
|
188
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
189
|
+
"""
|
190
|
+
Location ID of the parent organization. Only global is supported at the moment.
|
191
|
+
"""
|
192
|
+
return pulumi.get(self, "location")
|
193
|
+
|
194
|
+
@location.setter
|
195
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
196
|
+
pulumi.set(self, "location", value)
|
197
|
+
|
198
|
+
@property
|
199
|
+
@pulumi.getter
|
200
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
201
|
+
"""
|
202
|
+
The resource name of this notification config, in the format
|
203
|
+
`projects/{{projectId}}/locations/{{location}}/notificationConfigs/{{config_id}}`.
|
204
|
+
"""
|
205
|
+
return pulumi.get(self, "name")
|
206
|
+
|
207
|
+
@name.setter
|
208
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
209
|
+
pulumi.set(self, "name", value)
|
210
|
+
|
211
|
+
@property
|
212
|
+
@pulumi.getter
|
213
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
214
|
+
return pulumi.get(self, "project")
|
215
|
+
|
216
|
+
@project.setter
|
217
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
218
|
+
pulumi.set(self, "project", value)
|
219
|
+
|
220
|
+
@property
|
221
|
+
@pulumi.getter(name="pubsubTopic")
|
222
|
+
def pubsub_topic(self) -> Optional[pulumi.Input[str]]:
|
223
|
+
"""
|
224
|
+
The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
225
|
+
"""
|
226
|
+
return pulumi.get(self, "pubsub_topic")
|
227
|
+
|
228
|
+
@pubsub_topic.setter
|
229
|
+
def pubsub_topic(self, value: Optional[pulumi.Input[str]]):
|
230
|
+
pulumi.set(self, "pubsub_topic", value)
|
231
|
+
|
232
|
+
@property
|
233
|
+
@pulumi.getter(name="serviceAccount")
|
234
|
+
def service_account(self) -> Optional[pulumi.Input[str]]:
|
235
|
+
"""
|
236
|
+
The service account that needs "pubsub.topics.publish" permission to
|
237
|
+
publish to the Pub/Sub topic.
|
238
|
+
"""
|
239
|
+
return pulumi.get(self, "service_account")
|
240
|
+
|
241
|
+
@service_account.setter
|
242
|
+
def service_account(self, value: Optional[pulumi.Input[str]]):
|
243
|
+
pulumi.set(self, "service_account", value)
|
244
|
+
|
245
|
+
@property
|
246
|
+
@pulumi.getter(name="streamingConfig")
|
247
|
+
def streaming_config(self) -> Optional[pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs']]:
|
248
|
+
"""
|
249
|
+
The config for triggering streaming-based notifications.
|
250
|
+
Structure is documented below.
|
251
|
+
"""
|
252
|
+
return pulumi.get(self, "streaming_config")
|
253
|
+
|
254
|
+
@streaming_config.setter
|
255
|
+
def streaming_config(self, value: Optional[pulumi.Input['V2ProjectNotificationConfigStreamingConfigArgs']]):
|
256
|
+
pulumi.set(self, "streaming_config", value)
|
257
|
+
|
258
|
+
|
259
|
+
class V2ProjectNotificationConfig(pulumi.CustomResource):
|
260
|
+
@overload
|
261
|
+
def __init__(__self__,
|
262
|
+
resource_name: str,
|
263
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
264
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
265
|
+
description: Optional[pulumi.Input[str]] = None,
|
266
|
+
location: Optional[pulumi.Input[str]] = None,
|
267
|
+
project: Optional[pulumi.Input[str]] = None,
|
268
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
269
|
+
streaming_config: Optional[pulumi.Input[Union['V2ProjectNotificationConfigStreamingConfigArgs', 'V2ProjectNotificationConfigStreamingConfigArgsDict']]] = None,
|
270
|
+
__props__=None):
|
271
|
+
"""
|
272
|
+
A Cloud Security Command Center (Cloud SCC) notification configs. A
|
273
|
+
notification config is a Cloud SCC resource that contains the
|
274
|
+
configuration to send notifications for create/update events of
|
275
|
+
findings, assets and etc.
|
276
|
+
> **Note:** In order to use Cloud SCC resources, your organization must be enrolled
|
277
|
+
in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
|
278
|
+
Without doing so, you may run into errors during resource creation.
|
279
|
+
|
280
|
+
To get more information about ProjectNotificationConfig, see:
|
281
|
+
|
282
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v2/projects.locations.notificationConfigs)
|
283
|
+
* How-to Guides
|
284
|
+
* [Official Documentation](https://cloud.google.com/security-command-center/docs)
|
285
|
+
|
286
|
+
## Example Usage
|
287
|
+
|
288
|
+
### Scc V2 Project Notification Config Basic
|
289
|
+
|
290
|
+
```python
|
291
|
+
import pulumi
|
292
|
+
import pulumi_gcp as gcp
|
293
|
+
|
294
|
+
scc_v2_project_notification = gcp.pubsub.Topic("scc_v2_project_notification", name="my-topic")
|
295
|
+
custom_notification_config = gcp.securitycenter.V2ProjectNotificationConfig("custom_notification_config",
|
296
|
+
config_id="my-config",
|
297
|
+
project="my-project-name",
|
298
|
+
location="global",
|
299
|
+
description="My custom Cloud Security Command Center Finding Notification Configuration",
|
300
|
+
pubsub_topic=scc_v2_project_notification.id,
|
301
|
+
streaming_config={
|
302
|
+
"filter": "category = \\"OPEN_FIREWALL\\" AND state = \\"ACTIVE\\"",
|
303
|
+
})
|
304
|
+
```
|
305
|
+
|
306
|
+
## Import
|
307
|
+
|
308
|
+
ProjectNotificationConfig can be imported using any of these accepted formats:
|
309
|
+
|
310
|
+
* `projects/{{project}}/locations/{{location}}/notificationConfigs/{{config_id}}`
|
311
|
+
|
312
|
+
* `{{project}}/{{location}}/{{config_id}}`
|
313
|
+
|
314
|
+
* `{{location}}/{{config_id}}`
|
315
|
+
|
316
|
+
When using the `pulumi import` command, ProjectNotificationConfig can be imported using one of the formats above. For example:
|
317
|
+
|
318
|
+
```sh
|
319
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default projects/{{project}}/locations/{{location}}/notificationConfigs/{{config_id}}
|
320
|
+
```
|
321
|
+
|
322
|
+
```sh
|
323
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default {{project}}/{{location}}/{{config_id}}
|
324
|
+
```
|
325
|
+
|
326
|
+
```sh
|
327
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default {{location}}/{{config_id}}
|
328
|
+
```
|
329
|
+
|
330
|
+
:param str resource_name: The name of the resource.
|
331
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
332
|
+
:param pulumi.Input[str] config_id: This must be unique within the project.
|
333
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
334
|
+
:param pulumi.Input[str] location: Location ID of the parent organization. Only global is supported at the moment.
|
335
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
336
|
+
:param pulumi.Input[Union['V2ProjectNotificationConfigStreamingConfigArgs', 'V2ProjectNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
|
337
|
+
Structure is documented below.
|
338
|
+
"""
|
339
|
+
...
|
340
|
+
@overload
|
341
|
+
def __init__(__self__,
|
342
|
+
resource_name: str,
|
343
|
+
args: V2ProjectNotificationConfigArgs,
|
344
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
345
|
+
"""
|
346
|
+
A Cloud Security Command Center (Cloud SCC) notification configs. A
|
347
|
+
notification config is a Cloud SCC resource that contains the
|
348
|
+
configuration to send notifications for create/update events of
|
349
|
+
findings, assets and etc.
|
350
|
+
> **Note:** In order to use Cloud SCC resources, your organization must be enrolled
|
351
|
+
in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
|
352
|
+
Without doing so, you may run into errors during resource creation.
|
353
|
+
|
354
|
+
To get more information about ProjectNotificationConfig, see:
|
355
|
+
|
356
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v2/projects.locations.notificationConfigs)
|
357
|
+
* How-to Guides
|
358
|
+
* [Official Documentation](https://cloud.google.com/security-command-center/docs)
|
359
|
+
|
360
|
+
## Example Usage
|
361
|
+
|
362
|
+
### Scc V2 Project Notification Config Basic
|
363
|
+
|
364
|
+
```python
|
365
|
+
import pulumi
|
366
|
+
import pulumi_gcp as gcp
|
367
|
+
|
368
|
+
scc_v2_project_notification = gcp.pubsub.Topic("scc_v2_project_notification", name="my-topic")
|
369
|
+
custom_notification_config = gcp.securitycenter.V2ProjectNotificationConfig("custom_notification_config",
|
370
|
+
config_id="my-config",
|
371
|
+
project="my-project-name",
|
372
|
+
location="global",
|
373
|
+
description="My custom Cloud Security Command Center Finding Notification Configuration",
|
374
|
+
pubsub_topic=scc_v2_project_notification.id,
|
375
|
+
streaming_config={
|
376
|
+
"filter": "category = \\"OPEN_FIREWALL\\" AND state = \\"ACTIVE\\"",
|
377
|
+
})
|
378
|
+
```
|
379
|
+
|
380
|
+
## Import
|
381
|
+
|
382
|
+
ProjectNotificationConfig can be imported using any of these accepted formats:
|
383
|
+
|
384
|
+
* `projects/{{project}}/locations/{{location}}/notificationConfigs/{{config_id}}`
|
385
|
+
|
386
|
+
* `{{project}}/{{location}}/{{config_id}}`
|
387
|
+
|
388
|
+
* `{{location}}/{{config_id}}`
|
389
|
+
|
390
|
+
When using the `pulumi import` command, ProjectNotificationConfig can be imported using one of the formats above. For example:
|
391
|
+
|
392
|
+
```sh
|
393
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default projects/{{project}}/locations/{{location}}/notificationConfigs/{{config_id}}
|
394
|
+
```
|
395
|
+
|
396
|
+
```sh
|
397
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default {{project}}/{{location}}/{{config_id}}
|
398
|
+
```
|
399
|
+
|
400
|
+
```sh
|
401
|
+
$ pulumi import gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig default {{location}}/{{config_id}}
|
402
|
+
```
|
403
|
+
|
404
|
+
:param str resource_name: The name of the resource.
|
405
|
+
:param V2ProjectNotificationConfigArgs args: The arguments to use to populate this resource's properties.
|
406
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
407
|
+
"""
|
408
|
+
...
|
409
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
410
|
+
resource_args, opts = _utilities.get_resource_args_opts(V2ProjectNotificationConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
|
411
|
+
if resource_args is not None:
|
412
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
413
|
+
else:
|
414
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
415
|
+
|
416
|
+
def _internal_init(__self__,
|
417
|
+
resource_name: str,
|
418
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
419
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
420
|
+
description: Optional[pulumi.Input[str]] = None,
|
421
|
+
location: Optional[pulumi.Input[str]] = None,
|
422
|
+
project: Optional[pulumi.Input[str]] = None,
|
423
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
424
|
+
streaming_config: Optional[pulumi.Input[Union['V2ProjectNotificationConfigStreamingConfigArgs', 'V2ProjectNotificationConfigStreamingConfigArgsDict']]] = None,
|
425
|
+
__props__=None):
|
426
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
427
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
428
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
429
|
+
if opts.id is None:
|
430
|
+
if __props__ is not None:
|
431
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
432
|
+
__props__ = V2ProjectNotificationConfigArgs.__new__(V2ProjectNotificationConfigArgs)
|
433
|
+
|
434
|
+
if config_id is None and not opts.urn:
|
435
|
+
raise TypeError("Missing required property 'config_id'")
|
436
|
+
__props__.__dict__["config_id"] = config_id
|
437
|
+
__props__.__dict__["description"] = description
|
438
|
+
__props__.__dict__["location"] = location
|
439
|
+
__props__.__dict__["project"] = project
|
440
|
+
__props__.__dict__["pubsub_topic"] = pubsub_topic
|
441
|
+
if streaming_config is None and not opts.urn:
|
442
|
+
raise TypeError("Missing required property 'streaming_config'")
|
443
|
+
__props__.__dict__["streaming_config"] = streaming_config
|
444
|
+
__props__.__dict__["name"] = None
|
445
|
+
__props__.__dict__["service_account"] = None
|
446
|
+
super(V2ProjectNotificationConfig, __self__).__init__(
|
447
|
+
'gcp:securitycenter/v2ProjectNotificationConfig:V2ProjectNotificationConfig',
|
448
|
+
resource_name,
|
449
|
+
__props__,
|
450
|
+
opts)
|
451
|
+
|
452
|
+
@staticmethod
|
453
|
+
def get(resource_name: str,
|
454
|
+
id: pulumi.Input[str],
|
455
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
456
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
457
|
+
description: Optional[pulumi.Input[str]] = None,
|
458
|
+
location: Optional[pulumi.Input[str]] = None,
|
459
|
+
name: Optional[pulumi.Input[str]] = None,
|
460
|
+
project: Optional[pulumi.Input[str]] = None,
|
461
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
462
|
+
service_account: Optional[pulumi.Input[str]] = None,
|
463
|
+
streaming_config: Optional[pulumi.Input[Union['V2ProjectNotificationConfigStreamingConfigArgs', 'V2ProjectNotificationConfigStreamingConfigArgsDict']]] = None) -> 'V2ProjectNotificationConfig':
|
464
|
+
"""
|
465
|
+
Get an existing V2ProjectNotificationConfig resource's state with the given name, id, and optional extra
|
466
|
+
properties used to qualify the lookup.
|
467
|
+
|
468
|
+
:param str resource_name: The unique name of the resulting resource.
|
469
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
470
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
471
|
+
:param pulumi.Input[str] config_id: This must be unique within the project.
|
472
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
473
|
+
:param pulumi.Input[str] location: Location ID of the parent organization. Only global is supported at the moment.
|
474
|
+
:param pulumi.Input[str] name: The resource name of this notification config, in the format
|
475
|
+
`projects/{{projectId}}/locations/{{location}}/notificationConfigs/{{config_id}}`.
|
476
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
477
|
+
:param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
|
478
|
+
publish to the Pub/Sub topic.
|
479
|
+
:param pulumi.Input[Union['V2ProjectNotificationConfigStreamingConfigArgs', 'V2ProjectNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
|
480
|
+
Structure is documented below.
|
481
|
+
"""
|
482
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
483
|
+
|
484
|
+
__props__ = _V2ProjectNotificationConfigState.__new__(_V2ProjectNotificationConfigState)
|
485
|
+
|
486
|
+
__props__.__dict__["config_id"] = config_id
|
487
|
+
__props__.__dict__["description"] = description
|
488
|
+
__props__.__dict__["location"] = location
|
489
|
+
__props__.__dict__["name"] = name
|
490
|
+
__props__.__dict__["project"] = project
|
491
|
+
__props__.__dict__["pubsub_topic"] = pubsub_topic
|
492
|
+
__props__.__dict__["service_account"] = service_account
|
493
|
+
__props__.__dict__["streaming_config"] = streaming_config
|
494
|
+
return V2ProjectNotificationConfig(resource_name, opts=opts, __props__=__props__)
|
495
|
+
|
496
|
+
@property
|
497
|
+
@pulumi.getter(name="configId")
|
498
|
+
def config_id(self) -> pulumi.Output[str]:
|
499
|
+
"""
|
500
|
+
This must be unique within the project.
|
501
|
+
"""
|
502
|
+
return pulumi.get(self, "config_id")
|
503
|
+
|
504
|
+
@property
|
505
|
+
@pulumi.getter
|
506
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
507
|
+
"""
|
508
|
+
The description of the notification config (max of 1024 characters).
|
509
|
+
"""
|
510
|
+
return pulumi.get(self, "description")
|
511
|
+
|
512
|
+
@property
|
513
|
+
@pulumi.getter
|
514
|
+
def location(self) -> pulumi.Output[Optional[str]]:
|
515
|
+
"""
|
516
|
+
Location ID of the parent organization. Only global is supported at the moment.
|
517
|
+
"""
|
518
|
+
return pulumi.get(self, "location")
|
519
|
+
|
520
|
+
@property
|
521
|
+
@pulumi.getter
|
522
|
+
def name(self) -> pulumi.Output[str]:
|
523
|
+
"""
|
524
|
+
The resource name of this notification config, in the format
|
525
|
+
`projects/{{projectId}}/locations/{{location}}/notificationConfigs/{{config_id}}`.
|
526
|
+
"""
|
527
|
+
return pulumi.get(self, "name")
|
528
|
+
|
529
|
+
@property
|
530
|
+
@pulumi.getter
|
531
|
+
def project(self) -> pulumi.Output[str]:
|
532
|
+
return pulumi.get(self, "project")
|
533
|
+
|
534
|
+
@property
|
535
|
+
@pulumi.getter(name="pubsubTopic")
|
536
|
+
def pubsub_topic(self) -> pulumi.Output[Optional[str]]:
|
537
|
+
"""
|
538
|
+
The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]".
|
539
|
+
"""
|
540
|
+
return pulumi.get(self, "pubsub_topic")
|
541
|
+
|
542
|
+
@property
|
543
|
+
@pulumi.getter(name="serviceAccount")
|
544
|
+
def service_account(self) -> pulumi.Output[str]:
|
545
|
+
"""
|
546
|
+
The service account that needs "pubsub.topics.publish" permission to
|
547
|
+
publish to the Pub/Sub topic.
|
548
|
+
"""
|
549
|
+
return pulumi.get(self, "service_account")
|
550
|
+
|
551
|
+
@property
|
552
|
+
@pulumi.getter(name="streamingConfig")
|
553
|
+
def streaming_config(self) -> pulumi.Output['outputs.V2ProjectNotificationConfigStreamingConfig']:
|
554
|
+
"""
|
555
|
+
The config for triggering streaming-based notifications.
|
556
|
+
Structure is documented below.
|
557
|
+
"""
|
558
|
+
return pulumi.get(self, "streaming_config")
|
559
|
+
|
pulumi_gcp/spanner/instance.py
CHANGED
@@ -58,7 +58,6 @@ class InstanceArgs:
|
|
58
58
|
:param pulumi.Input[str] name: A unique identifier for the instance, which cannot be changed after
|
59
59
|
the instance is created. The name must be between 6 and 30 characters
|
60
60
|
in length.
|
61
|
-
|
62
61
|
If not provided, a random string starting with `tf-` will be selected.
|
63
62
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
64
63
|
If it is not provided, the provider project is used.
|
@@ -165,7 +164,6 @@ class InstanceArgs:
|
|
165
164
|
A unique identifier for the instance, which cannot be changed after
|
166
165
|
the instance is created. The name must be between 6 and 30 characters
|
167
166
|
in length.
|
168
|
-
|
169
167
|
If not provided, a random string starting with `tf-` will be selected.
|
170
168
|
"""
|
171
169
|
return pulumi.get(self, "name")
|
@@ -250,7 +248,6 @@ class _InstanceState:
|
|
250
248
|
:param pulumi.Input[str] name: A unique identifier for the instance, which cannot be changed after
|
251
249
|
the instance is created. The name must be between 6 and 30 characters
|
252
250
|
in length.
|
253
|
-
|
254
251
|
If not provided, a random string starting with `tf-` will be selected.
|
255
252
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
256
253
|
If it is not provided, the provider project is used.
|
@@ -380,7 +377,6 @@ class _InstanceState:
|
|
380
377
|
A unique identifier for the instance, which cannot be changed after
|
381
378
|
the instance is created. The name must be between 6 and 30 characters
|
382
379
|
in length.
|
383
|
-
|
384
380
|
If not provided, a random string starting with `tf-` will be selected.
|
385
381
|
"""
|
386
382
|
return pulumi.get(self, "name")
|
@@ -591,7 +587,6 @@ class Instance(pulumi.CustomResource):
|
|
591
587
|
:param pulumi.Input[str] name: A unique identifier for the instance, which cannot be changed after
|
592
588
|
the instance is created. The name must be between 6 and 30 characters
|
593
589
|
in length.
|
594
|
-
|
595
590
|
If not provided, a random string starting with `tf-` will be selected.
|
596
591
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
597
592
|
If it is not provided, the provider project is used.
|
@@ -811,7 +806,6 @@ class Instance(pulumi.CustomResource):
|
|
811
806
|
:param pulumi.Input[str] name: A unique identifier for the instance, which cannot be changed after
|
812
807
|
the instance is created. The name must be between 6 and 30 characters
|
813
808
|
in length.
|
814
|
-
|
815
809
|
If not provided, a random string starting with `tf-` will be selected.
|
816
810
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
817
811
|
If it is not provided, the provider project is used.
|
@@ -910,7 +904,6 @@ class Instance(pulumi.CustomResource):
|
|
910
904
|
A unique identifier for the instance, which cannot be changed after
|
911
905
|
the instance is created. The name must be between 6 and 30 characters
|
912
906
|
in length.
|
913
|
-
|
914
907
|
If not provided, a random string starting with `tf-` will be selected.
|
915
908
|
"""
|
916
909
|
return pulumi.get(self, "name")
|
pulumi_gcp/sql/_inputs.py
CHANGED
@@ -741,7 +741,7 @@ if not MYPY:
|
|
741
741
|
"""
|
742
742
|
connector_enforcement: NotRequired[pulumi.Input[str]]
|
743
743
|
"""
|
744
|
-
|
744
|
+
Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
|
745
745
|
"""
|
746
746
|
data_cache_config: NotRequired[pulumi.Input['DatabaseInstanceSettingsDataCacheConfigArgsDict']]
|
747
747
|
"""
|
@@ -858,7 +858,7 @@ class DatabaseInstanceSettingsArgs:
|
|
858
858
|
For Postgres and SQL Server instances, ensure that `settings.backup_configuration.point_in_time_recovery_enabled`
|
859
859
|
is set to `true`. Defaults to `ZONAL`.
|
860
860
|
:param pulumi.Input[str] collation: The name of server instance collation.
|
861
|
-
:param pulumi.Input[str] connector_enforcement:
|
861
|
+
:param pulumi.Input[str] connector_enforcement: Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
|
862
862
|
:param pulumi.Input['DatabaseInstanceSettingsDataCacheConfigArgs'] data_cache_config: Data cache configurations.
|
863
863
|
:param pulumi.Input[bool] deletion_protection_enabled: Configuration to protect against accidental instance deletion.
|
864
864
|
:param pulumi.Input[bool] disk_autoresize: Enables auto-resizing of the storage size. Defaults to `true`. Note that if `disk_size` is set, future `pulumi up` calls will attempt to delete the instance in order to resize the disk to the value specified in disk_size if it has been resized. To avoid this, ensure that `lifecycle.ignore_changes` is applied to `disk_size`.
|
@@ -1021,7 +1021,7 @@ class DatabaseInstanceSettingsArgs:
|
|
1021
1021
|
@pulumi.getter(name="connectorEnforcement")
|
1022
1022
|
def connector_enforcement(self) -> Optional[pulumi.Input[str]]:
|
1023
1023
|
"""
|
1024
|
-
|
1024
|
+
Enables the enforcement of Cloud SQL Auth Proxy or Cloud SQL connectors for all the connections. If enabled, all the direct connections are rejected.
|
1025
1025
|
"""
|
1026
1026
|
return pulumi.get(self, "connector_enforcement")
|
1027
1027
|
|