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.
Files changed (53) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +2 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +780 -0
  4. pulumi_gcp/accesscontextmanager/outputs.py +601 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +323 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +332 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +2 -24
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +2 -24
  9. pulumi_gcp/applicationintegration/client.py +2 -2
  10. pulumi_gcp/clouddeploy/_inputs.py +21 -1
  11. pulumi_gcp/clouddeploy/outputs.py +15 -1
  12. pulumi_gcp/cloudrunv2/_inputs.py +40 -0
  13. pulumi_gcp/cloudrunv2/outputs.py +46 -0
  14. pulumi_gcp/compute/region_target_https_proxy.py +28 -0
  15. pulumi_gcp/container/_inputs.py +26 -0
  16. pulumi_gcp/container/outputs.py +29 -0
  17. pulumi_gcp/dataform/repository.py +80 -2
  18. pulumi_gcp/discoveryengine/data_store.py +93 -2
  19. pulumi_gcp/gkehub/_inputs.py +63 -0
  20. pulumi_gcp/gkehub/outputs.py +38 -0
  21. pulumi_gcp/logging/get_log_view_iam_policy.py +28 -2
  22. pulumi_gcp/logging/log_view_iam_binding.py +512 -0
  23. pulumi_gcp/logging/log_view_iam_member.py +512 -0
  24. pulumi_gcp/logging/log_view_iam_policy.py +512 -0
  25. pulumi_gcp/netapp/_inputs.py +6 -6
  26. pulumi_gcp/netapp/outputs.py +4 -4
  27. pulumi_gcp/networkconnectivity/regional_endpoint.py +6 -6
  28. pulumi_gcp/organizations/get_project.py +11 -1
  29. pulumi_gcp/organizations/project.py +76 -21
  30. pulumi_gcp/pulumi-plugin.json +1 -1
  31. pulumi_gcp/securitycenter/__init__.py +8 -0
  32. pulumi_gcp/securitycenter/_inputs.py +191 -0
  33. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +146 -0
  34. pulumi_gcp/securitycenter/outputs.py +115 -0
  35. pulumi_gcp/securitycenter/v2_folder_mute_config.py +679 -0
  36. pulumi_gcp/securitycenter/v2_organization_source.py +416 -0
  37. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +722 -0
  38. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +722 -0
  39. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +561 -0
  40. pulumi_gcp/securitycenter/v2_project_mute_config.py +684 -0
  41. pulumi_gcp/securitycenter/v2_project_notification_config.py +559 -0
  42. pulumi_gcp/spanner/instance.py +0 -7
  43. pulumi_gcp/sql/_inputs.py +3 -3
  44. pulumi_gcp/sql/outputs.py +6 -6
  45. pulumi_gcp/storage/bucket_object.py +28 -0
  46. pulumi_gcp/storage/get_bucket_object.py +14 -1
  47. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  48. pulumi_gcp/storage/managed_folder.py +72 -2
  49. pulumi_gcp/vmwareengine/network_policy.py +6 -6
  50. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/METADATA +1 -1
  51. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/RECORD +53 -43
  52. {pulumi_gcp-7.36.0a1723631483.dist-info → pulumi_gcp-7.37.0a1723638212.dist-info}/WHEEL +0 -0
  53. {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
+
@@ -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
- Specifies if connections must use Cloud SQL connectors.
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: Specifies if connections must use Cloud SQL connectors.
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
- Specifies if connections must use Cloud SQL connectors.
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