pulumi-gcp 7.37.0a1723638212__py3-none-any.whl → 7.38.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.
- pulumi_gcp/__init__.py +32 -0
- pulumi_gcp/appengine/application_url_dispatch_rules.py +10 -2
- pulumi_gcp/appengine/engine_split_traffic.py +32 -8
- pulumi_gcp/appengine/flexible_app_version.py +18 -2
- pulumi_gcp/appengine/service_network_settings.py +10 -2
- pulumi_gcp/appengine/standard_app_version.py +20 -4
- pulumi_gcp/applicationintegration/client.py +2 -2
- pulumi_gcp/artifactregistry/__init__.py +1 -0
- pulumi_gcp/artifactregistry/get_locations.py +167 -0
- pulumi_gcp/assuredworkloads/workload.py +14 -14
- pulumi_gcp/biglake/database.py +10 -2
- pulumi_gcp/biglake/table.py +20 -4
- pulumi_gcp/bigquery/connection.py +12 -0
- pulumi_gcp/bigquery/job.py +20 -4
- pulumi_gcp/cloudbuild/worker_pool.py +5 -5
- pulumi_gcp/clouddeploy/_inputs.py +41 -1
- pulumi_gcp/clouddeploy/delivery_pipeline.py +19 -19
- pulumi_gcp/clouddeploy/outputs.py +29 -1
- pulumi_gcp/clouddeploy/target.py +19 -19
- pulumi_gcp/cloudfunctions/function.py +42 -42
- pulumi_gcp/cloudfunctions/get_function.py +3 -3
- 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/cloudquota/outputs.py +6 -6
- pulumi_gcp/composer/get_user_workloads_secret.py +1 -1
- pulumi_gcp/composer/user_workloads_secret.py +14 -14
- pulumi_gcp/compute/_inputs.py +91 -85
- pulumi_gcp/compute/get_instance_serial_port.py +12 -4
- pulumi_gcp/compute/get_instance_template.py +1 -1
- pulumi_gcp/compute/get_region_instance_template.py +1 -1
- pulumi_gcp/compute/instance_template.py +14 -14
- pulumi_gcp/compute/outputs.py +93 -83
- pulumi_gcp/compute/region_instance_template.py +14 -14
- pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
- pulumi_gcp/compute/subnetwork.py +82 -0
- pulumi_gcp/container/_inputs.py +35 -38
- pulumi_gcp/container/attached_cluster.py +14 -7
- pulumi_gcp/container/aws_cluster.py +5 -5
- pulumi_gcp/container/aws_node_pool.py +5 -5
- pulumi_gcp/container/azure_cluster.py +5 -5
- pulumi_gcp/container/azure_node_pool.py +5 -5
- pulumi_gcp/container/outputs.py +31 -33
- pulumi_gcp/databasemigrationservice/_inputs.py +5 -5
- pulumi_gcp/databasemigrationservice/outputs.py +3 -3
- pulumi_gcp/dataflow/flex_template_job.py +42 -42
- pulumi_gcp/dataflow/job.py +42 -42
- pulumi_gcp/datafusion/instance.py +10 -2
- pulumi_gcp/dataloss/_inputs.py +5 -5
- pulumi_gcp/dataloss/outputs.py +3 -3
- pulumi_gcp/dataloss/prevention_stored_info_type.py +10 -2
- pulumi_gcp/dataplex/asset.py +14 -14
- pulumi_gcp/dataplex/lake.py +14 -14
- pulumi_gcp/dataplex/zone.py +14 -14
- pulumi_gcp/dataproc/_inputs.py +10 -10
- pulumi_gcp/dataproc/outputs.py +6 -6
- pulumi_gcp/dataproc/workflow_template.py +12 -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/eventarc/trigger.py +14 -14
- pulumi_gcp/firebase/_inputs.py +5 -5
- pulumi_gcp/firebase/outputs.py +3 -3
- pulumi_gcp/healthcare/dicom_store.py +12 -2
- pulumi_gcp/healthcare/fhir_store.py +10 -2
- pulumi_gcp/iam/access_boundary_policy.py +10 -2
- 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/monitoring/get_app_engine_service.py +10 -2
- pulumi_gcp/networkconnectivity/_inputs.py +5 -5
- pulumi_gcp/networkconnectivity/outputs.py +3 -3
- pulumi_gcp/parallelstore/instance.py +215 -15
- pulumi_gcp/projects/default_service_accounts.py +7 -7
- pulumi_gcp/pubsub/subscription.py +36 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/recaptcha/enterprise_key.py +14 -14
- 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/instance_iam_binding.py +10 -2
- pulumi_gcp/securitycenter/instance_iam_member.py +10 -2
- pulumi_gcp/securitycenter/instance_iam_policy.py +10 -2
- pulumi_gcp/securitycenter/outputs.py +118 -0
- pulumi_gcp/securitycenter/v2_folder_notification_config.py +575 -0
- pulumi_gcp/serviceaccount/key.py +14 -14
- 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_feature_group.py +12 -2
- pulumi_gcp/vertex/ai_feature_group_feature.py +12 -2
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +48 -8
- pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +1170 -0
- pulumi_gcp/vertex/outputs.py +393 -0
- pulumi_gcp/workstations/_inputs.py +10 -10
- pulumi_gcp/workstations/outputs.py +6 -6
- pulumi_gcp/workstations/workstation_config.py +14 -6
- {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/RECORD +107 -101
- {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,486 @@
|
|
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__ = ['FolderNotificationConfigArgs', 'FolderNotificationConfig']
|
20
|
+
|
21
|
+
@pulumi.input_type
|
22
|
+
class FolderNotificationConfigArgs:
|
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['FolderNotificationConfigStreamingConfigArgs'],
|
28
|
+
description: Optional[pulumi.Input[str]] = None):
|
29
|
+
"""
|
30
|
+
The set of arguments for constructing a FolderNotificationConfig resource.
|
31
|
+
:param pulumi.Input[str] config_id: This must be unique within the organization.
|
32
|
+
:param pulumi.Input[str] folder: Numerical ID of the parent folder.
|
33
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
|
34
|
+
"projects/[project_id]/topics/[topic]".
|
35
|
+
:param pulumi.Input['FolderNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
|
36
|
+
Structure is documented below.
|
37
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
38
|
+
"""
|
39
|
+
pulumi.set(__self__, "config_id", config_id)
|
40
|
+
pulumi.set(__self__, "folder", folder)
|
41
|
+
pulumi.set(__self__, "pubsub_topic", pubsub_topic)
|
42
|
+
pulumi.set(__self__, "streaming_config", streaming_config)
|
43
|
+
if description is not None:
|
44
|
+
pulumi.set(__self__, "description", description)
|
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
|
60
|
+
def folder(self) -> pulumi.Input[str]:
|
61
|
+
"""
|
62
|
+
Numerical ID of the parent folder.
|
63
|
+
"""
|
64
|
+
return pulumi.get(self, "folder")
|
65
|
+
|
66
|
+
@folder.setter
|
67
|
+
def folder(self, value: pulumi.Input[str]):
|
68
|
+
pulumi.set(self, "folder", value)
|
69
|
+
|
70
|
+
@property
|
71
|
+
@pulumi.getter(name="pubsubTopic")
|
72
|
+
def pubsub_topic(self) -> pulumi.Input[str]:
|
73
|
+
"""
|
74
|
+
The Pub/Sub topic to send notifications to. Its format is
|
75
|
+
"projects/[project_id]/topics/[topic]".
|
76
|
+
"""
|
77
|
+
return pulumi.get(self, "pubsub_topic")
|
78
|
+
|
79
|
+
@pubsub_topic.setter
|
80
|
+
def pubsub_topic(self, value: pulumi.Input[str]):
|
81
|
+
pulumi.set(self, "pubsub_topic", value)
|
82
|
+
|
83
|
+
@property
|
84
|
+
@pulumi.getter(name="streamingConfig")
|
85
|
+
def streaming_config(self) -> pulumi.Input['FolderNotificationConfigStreamingConfigArgs']:
|
86
|
+
"""
|
87
|
+
The config for triggering streaming-based notifications.
|
88
|
+
Structure is documented below.
|
89
|
+
"""
|
90
|
+
return pulumi.get(self, "streaming_config")
|
91
|
+
|
92
|
+
@streaming_config.setter
|
93
|
+
def streaming_config(self, value: pulumi.Input['FolderNotificationConfigStreamingConfigArgs']):
|
94
|
+
pulumi.set(self, "streaming_config", value)
|
95
|
+
|
96
|
+
@property
|
97
|
+
@pulumi.getter
|
98
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
99
|
+
"""
|
100
|
+
The description of the notification config (max of 1024 characters).
|
101
|
+
"""
|
102
|
+
return pulumi.get(self, "description")
|
103
|
+
|
104
|
+
@description.setter
|
105
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
106
|
+
pulumi.set(self, "description", value)
|
107
|
+
|
108
|
+
|
109
|
+
@pulumi.input_type
|
110
|
+
class _FolderNotificationConfigState:
|
111
|
+
def __init__(__self__, *,
|
112
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
113
|
+
description: Optional[pulumi.Input[str]] = None,
|
114
|
+
folder: Optional[pulumi.Input[str]] = None,
|
115
|
+
name: Optional[pulumi.Input[str]] = None,
|
116
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
117
|
+
service_account: Optional[pulumi.Input[str]] = None,
|
118
|
+
streaming_config: Optional[pulumi.Input['FolderNotificationConfigStreamingConfigArgs']] = None):
|
119
|
+
"""
|
120
|
+
Input properties used for looking up and filtering FolderNotificationConfig resources.
|
121
|
+
:param pulumi.Input[str] config_id: This must be unique within the organization.
|
122
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
123
|
+
:param pulumi.Input[str] folder: Numerical ID of the parent folder.
|
124
|
+
:param pulumi.Input[str] name: The resource name of this notification config, in the format
|
125
|
+
`folders/{{folder}}/notificationConfigs/{{config_id}}`.
|
126
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
|
127
|
+
"projects/[project_id]/topics/[topic]".
|
128
|
+
:param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
|
129
|
+
publish to the Pub/Sub topic.
|
130
|
+
:param pulumi.Input['FolderNotificationConfigStreamingConfigArgs'] streaming_config: The config for triggering streaming-based notifications.
|
131
|
+
Structure is documented below.
|
132
|
+
"""
|
133
|
+
if config_id is not None:
|
134
|
+
pulumi.set(__self__, "config_id", config_id)
|
135
|
+
if description is not None:
|
136
|
+
pulumi.set(__self__, "description", description)
|
137
|
+
if folder is not None:
|
138
|
+
pulumi.set(__self__, "folder", folder)
|
139
|
+
if name is not None:
|
140
|
+
pulumi.set(__self__, "name", name)
|
141
|
+
if pubsub_topic is not None:
|
142
|
+
pulumi.set(__self__, "pubsub_topic", pubsub_topic)
|
143
|
+
if service_account is not None:
|
144
|
+
pulumi.set(__self__, "service_account", service_account)
|
145
|
+
if streaming_config is not None:
|
146
|
+
pulumi.set(__self__, "streaming_config", streaming_config)
|
147
|
+
|
148
|
+
@property
|
149
|
+
@pulumi.getter(name="configId")
|
150
|
+
def config_id(self) -> Optional[pulumi.Input[str]]:
|
151
|
+
"""
|
152
|
+
This must be unique within the organization.
|
153
|
+
"""
|
154
|
+
return pulumi.get(self, "config_id")
|
155
|
+
|
156
|
+
@config_id.setter
|
157
|
+
def config_id(self, value: Optional[pulumi.Input[str]]):
|
158
|
+
pulumi.set(self, "config_id", value)
|
159
|
+
|
160
|
+
@property
|
161
|
+
@pulumi.getter
|
162
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
163
|
+
"""
|
164
|
+
The description of the notification config (max of 1024 characters).
|
165
|
+
"""
|
166
|
+
return pulumi.get(self, "description")
|
167
|
+
|
168
|
+
@description.setter
|
169
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
170
|
+
pulumi.set(self, "description", value)
|
171
|
+
|
172
|
+
@property
|
173
|
+
@pulumi.getter
|
174
|
+
def folder(self) -> Optional[pulumi.Input[str]]:
|
175
|
+
"""
|
176
|
+
Numerical ID of the parent folder.
|
177
|
+
"""
|
178
|
+
return pulumi.get(self, "folder")
|
179
|
+
|
180
|
+
@folder.setter
|
181
|
+
def folder(self, value: Optional[pulumi.Input[str]]):
|
182
|
+
pulumi.set(self, "folder", value)
|
183
|
+
|
184
|
+
@property
|
185
|
+
@pulumi.getter
|
186
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
187
|
+
"""
|
188
|
+
The resource name of this notification config, in the format
|
189
|
+
`folders/{{folder}}/notificationConfigs/{{config_id}}`.
|
190
|
+
"""
|
191
|
+
return pulumi.get(self, "name")
|
192
|
+
|
193
|
+
@name.setter
|
194
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
195
|
+
pulumi.set(self, "name", value)
|
196
|
+
|
197
|
+
@property
|
198
|
+
@pulumi.getter(name="pubsubTopic")
|
199
|
+
def pubsub_topic(self) -> Optional[pulumi.Input[str]]:
|
200
|
+
"""
|
201
|
+
The Pub/Sub topic to send notifications to. Its format is
|
202
|
+
"projects/[project_id]/topics/[topic]".
|
203
|
+
"""
|
204
|
+
return pulumi.get(self, "pubsub_topic")
|
205
|
+
|
206
|
+
@pubsub_topic.setter
|
207
|
+
def pubsub_topic(self, value: Optional[pulumi.Input[str]]):
|
208
|
+
pulumi.set(self, "pubsub_topic", value)
|
209
|
+
|
210
|
+
@property
|
211
|
+
@pulumi.getter(name="serviceAccount")
|
212
|
+
def service_account(self) -> Optional[pulumi.Input[str]]:
|
213
|
+
"""
|
214
|
+
The service account that needs "pubsub.topics.publish" permission to
|
215
|
+
publish to the Pub/Sub topic.
|
216
|
+
"""
|
217
|
+
return pulumi.get(self, "service_account")
|
218
|
+
|
219
|
+
@service_account.setter
|
220
|
+
def service_account(self, value: Optional[pulumi.Input[str]]):
|
221
|
+
pulumi.set(self, "service_account", value)
|
222
|
+
|
223
|
+
@property
|
224
|
+
@pulumi.getter(name="streamingConfig")
|
225
|
+
def streaming_config(self) -> Optional[pulumi.Input['FolderNotificationConfigStreamingConfigArgs']]:
|
226
|
+
"""
|
227
|
+
The config for triggering streaming-based notifications.
|
228
|
+
Structure is documented below.
|
229
|
+
"""
|
230
|
+
return pulumi.get(self, "streaming_config")
|
231
|
+
|
232
|
+
@streaming_config.setter
|
233
|
+
def streaming_config(self, value: Optional[pulumi.Input['FolderNotificationConfigStreamingConfigArgs']]):
|
234
|
+
pulumi.set(self, "streaming_config", value)
|
235
|
+
|
236
|
+
|
237
|
+
class FolderNotificationConfig(pulumi.CustomResource):
|
238
|
+
@overload
|
239
|
+
def __init__(__self__,
|
240
|
+
resource_name: str,
|
241
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
242
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
243
|
+
description: Optional[pulumi.Input[str]] = None,
|
244
|
+
folder: Optional[pulumi.Input[str]] = None,
|
245
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
246
|
+
streaming_config: Optional[pulumi.Input[Union['FolderNotificationConfigStreamingConfigArgs', 'FolderNotificationConfigStreamingConfigArgsDict']]] = None,
|
247
|
+
__props__=None):
|
248
|
+
"""
|
249
|
+
A Cloud Security Command Center (Cloud SCC) notification configs. A
|
250
|
+
notification config is a Cloud SCC resource that contains the
|
251
|
+
configuration to send notifications for create/update events of
|
252
|
+
findings, assets and etc.
|
253
|
+
> **Note:** In order to use Cloud SCC resources, your organization must be enrolled
|
254
|
+
in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
|
255
|
+
Without doing so, you may run into errors during resource creation.
|
256
|
+
|
257
|
+
To get more information about FolderNotificationConfig, see:
|
258
|
+
|
259
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/folders.notificationConfigs)
|
260
|
+
* How-to Guides
|
261
|
+
* [Official Documentation](https://cloud.google.com/security-command-center/docs)
|
262
|
+
|
263
|
+
## Example Usage
|
264
|
+
|
265
|
+
## Import
|
266
|
+
|
267
|
+
FolderNotificationConfig can be imported using any of these accepted formats:
|
268
|
+
|
269
|
+
* `folders/{{folder}}/notificationConfigs/{{config_id}}`
|
270
|
+
|
271
|
+
* `{{folder}}/{{config_id}}`
|
272
|
+
|
273
|
+
When using the `pulumi import` command, FolderNotificationConfig can be imported using one of the formats above. For example:
|
274
|
+
|
275
|
+
```sh
|
276
|
+
$ pulumi import gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig default folders/{{folder}}/notificationConfigs/{{config_id}}
|
277
|
+
```
|
278
|
+
|
279
|
+
```sh
|
280
|
+
$ pulumi import gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig default {{folder}}/{{config_id}}
|
281
|
+
```
|
282
|
+
|
283
|
+
:param str resource_name: The name of the resource.
|
284
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
285
|
+
:param pulumi.Input[str] config_id: This must be unique within the organization.
|
286
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
287
|
+
:param pulumi.Input[str] folder: Numerical ID of the parent folder.
|
288
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
|
289
|
+
"projects/[project_id]/topics/[topic]".
|
290
|
+
:param pulumi.Input[Union['FolderNotificationConfigStreamingConfigArgs', 'FolderNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
|
291
|
+
Structure is documented below.
|
292
|
+
"""
|
293
|
+
...
|
294
|
+
@overload
|
295
|
+
def __init__(__self__,
|
296
|
+
resource_name: str,
|
297
|
+
args: FolderNotificationConfigArgs,
|
298
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
299
|
+
"""
|
300
|
+
A Cloud Security Command Center (Cloud SCC) notification configs. A
|
301
|
+
notification config is a Cloud SCC resource that contains the
|
302
|
+
configuration to send notifications for create/update events of
|
303
|
+
findings, assets and etc.
|
304
|
+
> **Note:** In order to use Cloud SCC resources, your organization must be enrolled
|
305
|
+
in [SCC Standard/Premium](https://cloud.google.com/security-command-center/docs/quickstart-security-command-center).
|
306
|
+
Without doing so, you may run into errors during resource creation.
|
307
|
+
|
308
|
+
To get more information about FolderNotificationConfig, see:
|
309
|
+
|
310
|
+
* [API documentation](https://cloud.google.com/security-command-center/docs/reference/rest/v1/folders.notificationConfigs)
|
311
|
+
* How-to Guides
|
312
|
+
* [Official Documentation](https://cloud.google.com/security-command-center/docs)
|
313
|
+
|
314
|
+
## Example Usage
|
315
|
+
|
316
|
+
## Import
|
317
|
+
|
318
|
+
FolderNotificationConfig can be imported using any of these accepted formats:
|
319
|
+
|
320
|
+
* `folders/{{folder}}/notificationConfigs/{{config_id}}`
|
321
|
+
|
322
|
+
* `{{folder}}/{{config_id}}`
|
323
|
+
|
324
|
+
When using the `pulumi import` command, FolderNotificationConfig can be imported using one of the formats above. For example:
|
325
|
+
|
326
|
+
```sh
|
327
|
+
$ pulumi import gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig default folders/{{folder}}/notificationConfigs/{{config_id}}
|
328
|
+
```
|
329
|
+
|
330
|
+
```sh
|
331
|
+
$ pulumi import gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig default {{folder}}/{{config_id}}
|
332
|
+
```
|
333
|
+
|
334
|
+
:param str resource_name: The name of the resource.
|
335
|
+
:param FolderNotificationConfigArgs args: The arguments to use to populate this resource's properties.
|
336
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
337
|
+
"""
|
338
|
+
...
|
339
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
340
|
+
resource_args, opts = _utilities.get_resource_args_opts(FolderNotificationConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
|
341
|
+
if resource_args is not None:
|
342
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
343
|
+
else:
|
344
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
345
|
+
|
346
|
+
def _internal_init(__self__,
|
347
|
+
resource_name: str,
|
348
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
349
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
350
|
+
description: Optional[pulumi.Input[str]] = None,
|
351
|
+
folder: Optional[pulumi.Input[str]] = None,
|
352
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
353
|
+
streaming_config: Optional[pulumi.Input[Union['FolderNotificationConfigStreamingConfigArgs', 'FolderNotificationConfigStreamingConfigArgsDict']]] = None,
|
354
|
+
__props__=None):
|
355
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
356
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
357
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
358
|
+
if opts.id is None:
|
359
|
+
if __props__ is not None:
|
360
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
361
|
+
__props__ = FolderNotificationConfigArgs.__new__(FolderNotificationConfigArgs)
|
362
|
+
|
363
|
+
if config_id is None and not opts.urn:
|
364
|
+
raise TypeError("Missing required property 'config_id'")
|
365
|
+
__props__.__dict__["config_id"] = config_id
|
366
|
+
__props__.__dict__["description"] = description
|
367
|
+
if folder is None and not opts.urn:
|
368
|
+
raise TypeError("Missing required property 'folder'")
|
369
|
+
__props__.__dict__["folder"] = folder
|
370
|
+
if pubsub_topic is None and not opts.urn:
|
371
|
+
raise TypeError("Missing required property 'pubsub_topic'")
|
372
|
+
__props__.__dict__["pubsub_topic"] = pubsub_topic
|
373
|
+
if streaming_config is None and not opts.urn:
|
374
|
+
raise TypeError("Missing required property 'streaming_config'")
|
375
|
+
__props__.__dict__["streaming_config"] = streaming_config
|
376
|
+
__props__.__dict__["name"] = None
|
377
|
+
__props__.__dict__["service_account"] = None
|
378
|
+
super(FolderNotificationConfig, __self__).__init__(
|
379
|
+
'gcp:securitycenter/folderNotificationConfig:FolderNotificationConfig',
|
380
|
+
resource_name,
|
381
|
+
__props__,
|
382
|
+
opts)
|
383
|
+
|
384
|
+
@staticmethod
|
385
|
+
def get(resource_name: str,
|
386
|
+
id: pulumi.Input[str],
|
387
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
388
|
+
config_id: Optional[pulumi.Input[str]] = None,
|
389
|
+
description: Optional[pulumi.Input[str]] = None,
|
390
|
+
folder: Optional[pulumi.Input[str]] = None,
|
391
|
+
name: Optional[pulumi.Input[str]] = None,
|
392
|
+
pubsub_topic: Optional[pulumi.Input[str]] = None,
|
393
|
+
service_account: Optional[pulumi.Input[str]] = None,
|
394
|
+
streaming_config: Optional[pulumi.Input[Union['FolderNotificationConfigStreamingConfigArgs', 'FolderNotificationConfigStreamingConfigArgsDict']]] = None) -> 'FolderNotificationConfig':
|
395
|
+
"""
|
396
|
+
Get an existing FolderNotificationConfig resource's state with the given name, id, and optional extra
|
397
|
+
properties used to qualify the lookup.
|
398
|
+
|
399
|
+
:param str resource_name: The unique name of the resulting resource.
|
400
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
401
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
402
|
+
:param pulumi.Input[str] config_id: This must be unique within the organization.
|
403
|
+
:param pulumi.Input[str] description: The description of the notification config (max of 1024 characters).
|
404
|
+
:param pulumi.Input[str] folder: Numerical ID of the parent folder.
|
405
|
+
:param pulumi.Input[str] name: The resource name of this notification config, in the format
|
406
|
+
`folders/{{folder}}/notificationConfigs/{{config_id}}`.
|
407
|
+
:param pulumi.Input[str] pubsub_topic: The Pub/Sub topic to send notifications to. Its format is
|
408
|
+
"projects/[project_id]/topics/[topic]".
|
409
|
+
:param pulumi.Input[str] service_account: The service account that needs "pubsub.topics.publish" permission to
|
410
|
+
publish to the Pub/Sub topic.
|
411
|
+
:param pulumi.Input[Union['FolderNotificationConfigStreamingConfigArgs', 'FolderNotificationConfigStreamingConfigArgsDict']] streaming_config: The config for triggering streaming-based notifications.
|
412
|
+
Structure is documented below.
|
413
|
+
"""
|
414
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
415
|
+
|
416
|
+
__props__ = _FolderNotificationConfigState.__new__(_FolderNotificationConfigState)
|
417
|
+
|
418
|
+
__props__.__dict__["config_id"] = config_id
|
419
|
+
__props__.__dict__["description"] = description
|
420
|
+
__props__.__dict__["folder"] = folder
|
421
|
+
__props__.__dict__["name"] = name
|
422
|
+
__props__.__dict__["pubsub_topic"] = pubsub_topic
|
423
|
+
__props__.__dict__["service_account"] = service_account
|
424
|
+
__props__.__dict__["streaming_config"] = streaming_config
|
425
|
+
return FolderNotificationConfig(resource_name, opts=opts, __props__=__props__)
|
426
|
+
|
427
|
+
@property
|
428
|
+
@pulumi.getter(name="configId")
|
429
|
+
def config_id(self) -> pulumi.Output[str]:
|
430
|
+
"""
|
431
|
+
This must be unique within the organization.
|
432
|
+
"""
|
433
|
+
return pulumi.get(self, "config_id")
|
434
|
+
|
435
|
+
@property
|
436
|
+
@pulumi.getter
|
437
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
438
|
+
"""
|
439
|
+
The description of the notification config (max of 1024 characters).
|
440
|
+
"""
|
441
|
+
return pulumi.get(self, "description")
|
442
|
+
|
443
|
+
@property
|
444
|
+
@pulumi.getter
|
445
|
+
def folder(self) -> pulumi.Output[str]:
|
446
|
+
"""
|
447
|
+
Numerical ID of the parent folder.
|
448
|
+
"""
|
449
|
+
return pulumi.get(self, "folder")
|
450
|
+
|
451
|
+
@property
|
452
|
+
@pulumi.getter
|
453
|
+
def name(self) -> pulumi.Output[str]:
|
454
|
+
"""
|
455
|
+
The resource name of this notification config, in the format
|
456
|
+
`folders/{{folder}}/notificationConfigs/{{config_id}}`.
|
457
|
+
"""
|
458
|
+
return pulumi.get(self, "name")
|
459
|
+
|
460
|
+
@property
|
461
|
+
@pulumi.getter(name="pubsubTopic")
|
462
|
+
def pubsub_topic(self) -> pulumi.Output[str]:
|
463
|
+
"""
|
464
|
+
The Pub/Sub topic to send notifications to. Its format is
|
465
|
+
"projects/[project_id]/topics/[topic]".
|
466
|
+
"""
|
467
|
+
return pulumi.get(self, "pubsub_topic")
|
468
|
+
|
469
|
+
@property
|
470
|
+
@pulumi.getter(name="serviceAccount")
|
471
|
+
def service_account(self) -> pulumi.Output[str]:
|
472
|
+
"""
|
473
|
+
The service account that needs "pubsub.topics.publish" permission to
|
474
|
+
publish to the Pub/Sub topic.
|
475
|
+
"""
|
476
|
+
return pulumi.get(self, "service_account")
|
477
|
+
|
478
|
+
@property
|
479
|
+
@pulumi.getter(name="streamingConfig")
|
480
|
+
def streaming_config(self) -> pulumi.Output['outputs.FolderNotificationConfigStreamingConfig']:
|
481
|
+
"""
|
482
|
+
The config for triggering streaming-based notifications.
|
483
|
+
Structure is documented below.
|
484
|
+
"""
|
485
|
+
return pulumi.get(self, "streaming_config")
|
486
|
+
|
@@ -279,7 +279,11 @@ class InstanceIamBinding(pulumi.CustomResource):
|
|
279
279
|
},
|
280
280
|
network_config={
|
281
281
|
"network": "default",
|
282
|
-
"ip_allocation": pulumi.Output.all(
|
282
|
+
"ip_allocation": pulumi.Output.all(
|
283
|
+
address=private_ip_alloc.address,
|
284
|
+
prefix_length=private_ip_alloc.prefix_length
|
285
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
286
|
+
,
|
283
287
|
},
|
284
288
|
accelerators=[{
|
285
289
|
"accelerator_type": "CDC",
|
@@ -479,7 +483,11 @@ class InstanceIamBinding(pulumi.CustomResource):
|
|
479
483
|
},
|
480
484
|
network_config={
|
481
485
|
"network": "default",
|
482
|
-
"ip_allocation": pulumi.Output.all(
|
486
|
+
"ip_allocation": pulumi.Output.all(
|
487
|
+
address=private_ip_alloc.address,
|
488
|
+
prefix_length=private_ip_alloc.prefix_length
|
489
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
490
|
+
,
|
483
491
|
},
|
484
492
|
accelerators=[{
|
485
493
|
"accelerator_type": "CDC",
|
@@ -279,7 +279,11 @@ class InstanceIamMember(pulumi.CustomResource):
|
|
279
279
|
},
|
280
280
|
network_config={
|
281
281
|
"network": "default",
|
282
|
-
"ip_allocation": pulumi.Output.all(
|
282
|
+
"ip_allocation": pulumi.Output.all(
|
283
|
+
address=private_ip_alloc.address,
|
284
|
+
prefix_length=private_ip_alloc.prefix_length
|
285
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
286
|
+
,
|
283
287
|
},
|
284
288
|
accelerators=[{
|
285
289
|
"accelerator_type": "CDC",
|
@@ -479,7 +483,11 @@ class InstanceIamMember(pulumi.CustomResource):
|
|
479
483
|
},
|
480
484
|
network_config={
|
481
485
|
"network": "default",
|
482
|
-
"ip_allocation": pulumi.Output.all(
|
486
|
+
"ip_allocation": pulumi.Output.all(
|
487
|
+
address=private_ip_alloc.address,
|
488
|
+
prefix_length=private_ip_alloc.prefix_length
|
489
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
490
|
+
,
|
483
491
|
},
|
484
492
|
accelerators=[{
|
485
493
|
"accelerator_type": "CDC",
|
@@ -228,7 +228,11 @@ class InstanceIamPolicy(pulumi.CustomResource):
|
|
228
228
|
},
|
229
229
|
network_config={
|
230
230
|
"network": "default",
|
231
|
-
"ip_allocation": pulumi.Output.all(
|
231
|
+
"ip_allocation": pulumi.Output.all(
|
232
|
+
address=private_ip_alloc.address,
|
233
|
+
prefix_length=private_ip_alloc.prefix_length
|
234
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
235
|
+
,
|
232
236
|
},
|
233
237
|
accelerators=[{
|
234
238
|
"accelerator_type": "CDC",
|
@@ -428,7 +432,11 @@ class InstanceIamPolicy(pulumi.CustomResource):
|
|
428
432
|
},
|
429
433
|
network_config={
|
430
434
|
"network": "default",
|
431
|
-
"ip_allocation": pulumi.Output.all(
|
435
|
+
"ip_allocation": pulumi.Output.all(
|
436
|
+
address=private_ip_alloc.address,
|
437
|
+
prefix_length=private_ip_alloc.prefix_length
|
438
|
+
).apply(lambda resolved_outputs: f"{resolved_outputs['address']}/{resolved_outputs['prefix_length']}")
|
439
|
+
,
|
432
440
|
},
|
433
441
|
accelerators=[{
|
434
442
|
"accelerator_type": "CDC",
|