pulumi-gcp 7.20.0a1713986537__py3-none-any.whl → 7.21.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +74 -0
  3. pulumi_gcp/alloydb/backup.py +0 -12
  4. pulumi_gcp/alloydb/cluster.py +0 -12
  5. pulumi_gcp/alloydb/instance.py +90 -81
  6. pulumi_gcp/alloydb/outputs.py +98 -0
  7. pulumi_gcp/apigee/environment.py +47 -0
  8. pulumi_gcp/apigee/sharedflow.py +0 -20
  9. pulumi_gcp/appengine/flexible_app_version.py +0 -20
  10. pulumi_gcp/applicationintegration/__init__.py +1 -0
  11. pulumi_gcp/applicationintegration/_inputs.py +843 -0
  12. pulumi_gcp/applicationintegration/auth_config.py +998 -0
  13. pulumi_gcp/applicationintegration/outputs.py +891 -0
  14. pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
  15. pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
  16. pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
  17. pulumi_gcp/certificateauthority/_inputs.py +92 -12
  18. pulumi_gcp/certificateauthority/authority.py +117 -27
  19. pulumi_gcp/certificateauthority/certificate.py +176 -0
  20. pulumi_gcp/certificateauthority/outputs.py +144 -12
  21. pulumi_gcp/cloudbuild/worker_pool.py +0 -12
  22. pulumi_gcp/cloudbuildv2/connection.py +0 -12
  23. pulumi_gcp/cloudbuildv2/repository.py +0 -12
  24. pulumi_gcp/clouddeploy/automation.py +0 -12
  25. pulumi_gcp/clouddeploy/custom_target_type.py +0 -12
  26. pulumi_gcp/clouddeploy/delivery_pipeline.py +0 -12
  27. pulumi_gcp/clouddeploy/target.py +0 -12
  28. pulumi_gcp/cloudrunv2/job.py +0 -12
  29. pulumi_gcp/cloudrunv2/service.py +0 -12
  30. pulumi_gcp/composer/__init__.py +1 -0
  31. pulumi_gcp/composer/environment.py +35 -47
  32. pulumi_gcp/composer/user_workloads_secret.py +441 -0
  33. pulumi_gcp/compute/__init__.py +1 -0
  34. pulumi_gcp/compute/_inputs.py +121 -58
  35. pulumi_gcp/compute/forwarding_rule.py +0 -13
  36. pulumi_gcp/compute/global_address.py +0 -12
  37. pulumi_gcp/compute/global_forwarding_rule.py +0 -282
  38. pulumi_gcp/compute/instance_from_machine_image.py +14 -46
  39. pulumi_gcp/compute/instance_from_template.py +14 -46
  40. pulumi_gcp/compute/outputs.py +120 -65
  41. pulumi_gcp/compute/region_instance_template.py +0 -13
  42. pulumi_gcp/compute/region_target_https_proxy.py +257 -0
  43. pulumi_gcp/compute/region_url_map.py +0 -470
  44. pulumi_gcp/compute/security_policy_rule.py +850 -0
  45. pulumi_gcp/container/attached_cluster.py +0 -12
  46. pulumi_gcp/container/aws_cluster.py +0 -12
  47. pulumi_gcp/container/aws_node_pool.py +0 -12
  48. pulumi_gcp/container/azure_cluster.py +0 -12
  49. pulumi_gcp/container/azure_node_pool.py +0 -12
  50. pulumi_gcp/container/cluster.py +0 -20
  51. pulumi_gcp/dataflow/flex_template_job.py +0 -39
  52. pulumi_gcp/dataloss/__init__.py +1 -0
  53. pulumi_gcp/dataloss/_inputs.py +1040 -0
  54. pulumi_gcp/dataloss/outputs.py +1123 -0
  55. pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
  56. pulumi_gcp/dataproc/cluster.py +0 -20
  57. pulumi_gcp/dataproc/workflow_template.py +21 -26
  58. pulumi_gcp/deploymentmanager/deployment.py +0 -34
  59. pulumi_gcp/dns/_inputs.py +2 -2
  60. pulumi_gcp/dns/outputs.py +2 -2
  61. pulumi_gcp/dns/record_set.py +2 -36
  62. pulumi_gcp/filestore/get_instance.py +11 -1
  63. pulumi_gcp/filestore/instance.py +101 -0
  64. pulumi_gcp/firebase/_inputs.py +16 -0
  65. pulumi_gcp/firebase/android_app.py +0 -27
  66. pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
  67. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
  68. pulumi_gcp/firebase/app_check_service_config.py +0 -125
  69. pulumi_gcp/firebase/apple_app.py +0 -27
  70. pulumi_gcp/firebase/hosting_custom_domain.py +0 -27
  71. pulumi_gcp/firebase/hosting_version.py +44 -0
  72. pulumi_gcp/firebase/outputs.py +12 -0
  73. pulumi_gcp/firebase/web_app.py +0 -20
  74. pulumi_gcp/firestore/database.py +0 -68
  75. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +0 -12
  76. pulumi_gcp/gkeonprem/bare_metal_cluster.py +0 -12
  77. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +0 -12
  78. pulumi_gcp/gkeonprem/v_mware_cluster.py +0 -12
  79. pulumi_gcp/gkeonprem/v_mware_node_pool.py +0 -12
  80. pulumi_gcp/logging/folder_sink.py +54 -0
  81. pulumi_gcp/logging/organization_sink.py +54 -0
  82. pulumi_gcp/monitoring/_inputs.py +46 -2
  83. pulumi_gcp/monitoring/outputs.py +40 -2
  84. pulumi_gcp/monitoring/uptime_check_config.py +6 -0
  85. pulumi_gcp/netapp/active_directory.py +0 -20
  86. pulumi_gcp/netapp/volume_replication.py +0 -68
  87. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  88. pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
  89. pulumi_gcp/provider.py +3 -1
  90. pulumi_gcp/secretmanager/get_secret.py +13 -3
  91. pulumi_gcp/secretmanager/outputs.py +20 -1
  92. pulumi_gcp/secretmanager/secret.py +90 -15
  93. pulumi_gcp/servicenetworking/connection.py +0 -20
  94. pulumi_gcp/spanner/database.py +0 -41
  95. pulumi_gcp/spanner/instance.py +0 -40
  96. pulumi_gcp/storage/__init__.py +1 -0
  97. pulumi_gcp/storage/bucket.py +0 -12
  98. pulumi_gcp/storage/get_bucket_objects.py +153 -0
  99. pulumi_gcp/storage/outputs.py +63 -0
  100. pulumi_gcp/workstations/workstation.py +0 -12
  101. pulumi_gcp/workstations/workstation_cluster.py +0 -12
  102. pulumi_gcp/workstations/workstation_config.py +0 -12
  103. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/METADATA +1 -1
  104. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/RECORD +106 -100
  105. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/WHEEL +0 -0
  106. {pulumi_gcp-7.20.0a1713986537.dist-info → pulumi_gcp-7.21.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,737 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['PreventionDiscoveryConfigArgs', 'PreventionDiscoveryConfig']
15
+
16
+ @pulumi.input_type
17
+ class PreventionDiscoveryConfigArgs:
18
+ def __init__(__self__, *,
19
+ location: pulumi.Input[str],
20
+ parent: pulumi.Input[str],
21
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]] = None,
22
+ display_name: Optional[pulumi.Input[str]] = None,
23
+ inspect_templates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
24
+ org_config: Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']] = None,
25
+ status: Optional[pulumi.Input[str]] = None,
26
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]] = None):
27
+ """
28
+ The set of arguments for constructing a PreventionDiscoveryConfig resource.
29
+ :param pulumi.Input[str] location: Location to create the discovery config in.
30
+
31
+
32
+ - - -
33
+ :param pulumi.Input[str] parent: The parent of the discovery config in any of the following formats:
34
+ * `projects/{{project}}/locations/{{location}}`
35
+ * `organizations/{{organization_id}}/locations/{{location}}`
36
+ :param pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]] actions: Actions to execute at the completion of scanning
37
+ Structure is documented below.
38
+ :param pulumi.Input[str] display_name: Display Name (max 1000 Chars)
39
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] inspect_templates: Detection logic for profile generation
40
+ :param pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs'] org_config: A nested object resource
41
+ Structure is documented below.
42
+ :param pulumi.Input[str] status: Required. A status for this configuration
43
+ Possible values are: `RUNNING`, `PAUSED`.
44
+ :param pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]] targets: Target to match against for determining what to scan and how frequently
45
+ Structure is documented below.
46
+ """
47
+ pulumi.set(__self__, "location", location)
48
+ pulumi.set(__self__, "parent", parent)
49
+ if actions is not None:
50
+ pulumi.set(__self__, "actions", actions)
51
+ if display_name is not None:
52
+ pulumi.set(__self__, "display_name", display_name)
53
+ if inspect_templates is not None:
54
+ pulumi.set(__self__, "inspect_templates", inspect_templates)
55
+ if org_config is not None:
56
+ pulumi.set(__self__, "org_config", org_config)
57
+ if status is not None:
58
+ pulumi.set(__self__, "status", status)
59
+ if targets is not None:
60
+ pulumi.set(__self__, "targets", targets)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def location(self) -> pulumi.Input[str]:
65
+ """
66
+ Location to create the discovery config in.
67
+
68
+
69
+ - - -
70
+ """
71
+ return pulumi.get(self, "location")
72
+
73
+ @location.setter
74
+ def location(self, value: pulumi.Input[str]):
75
+ pulumi.set(self, "location", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def parent(self) -> pulumi.Input[str]:
80
+ """
81
+ The parent of the discovery config in any of the following formats:
82
+ * `projects/{{project}}/locations/{{location}}`
83
+ * `organizations/{{organization_id}}/locations/{{location}}`
84
+ """
85
+ return pulumi.get(self, "parent")
86
+
87
+ @parent.setter
88
+ def parent(self, value: pulumi.Input[str]):
89
+ pulumi.set(self, "parent", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]]:
94
+ """
95
+ Actions to execute at the completion of scanning
96
+ Structure is documented below.
97
+ """
98
+ return pulumi.get(self, "actions")
99
+
100
+ @actions.setter
101
+ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]]):
102
+ pulumi.set(self, "actions", value)
103
+
104
+ @property
105
+ @pulumi.getter(name="displayName")
106
+ def display_name(self) -> Optional[pulumi.Input[str]]:
107
+ """
108
+ Display Name (max 1000 Chars)
109
+ """
110
+ return pulumi.get(self, "display_name")
111
+
112
+ @display_name.setter
113
+ def display_name(self, value: Optional[pulumi.Input[str]]):
114
+ pulumi.set(self, "display_name", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="inspectTemplates")
118
+ def inspect_templates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
119
+ """
120
+ Detection logic for profile generation
121
+ """
122
+ return pulumi.get(self, "inspect_templates")
123
+
124
+ @inspect_templates.setter
125
+ def inspect_templates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
126
+ pulumi.set(self, "inspect_templates", value)
127
+
128
+ @property
129
+ @pulumi.getter(name="orgConfig")
130
+ def org_config(self) -> Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']]:
131
+ """
132
+ A nested object resource
133
+ Structure is documented below.
134
+ """
135
+ return pulumi.get(self, "org_config")
136
+
137
+ @org_config.setter
138
+ def org_config(self, value: Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']]):
139
+ pulumi.set(self, "org_config", value)
140
+
141
+ @property
142
+ @pulumi.getter
143
+ def status(self) -> Optional[pulumi.Input[str]]:
144
+ """
145
+ Required. A status for this configuration
146
+ Possible values are: `RUNNING`, `PAUSED`.
147
+ """
148
+ return pulumi.get(self, "status")
149
+
150
+ @status.setter
151
+ def status(self, value: Optional[pulumi.Input[str]]):
152
+ pulumi.set(self, "status", value)
153
+
154
+ @property
155
+ @pulumi.getter
156
+ def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]]:
157
+ """
158
+ Target to match against for determining what to scan and how frequently
159
+ Structure is documented below.
160
+ """
161
+ return pulumi.get(self, "targets")
162
+
163
+ @targets.setter
164
+ def targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]]):
165
+ pulumi.set(self, "targets", value)
166
+
167
+
168
+ @pulumi.input_type
169
+ class _PreventionDiscoveryConfigState:
170
+ def __init__(__self__, *,
171
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]] = None,
172
+ create_time: Optional[pulumi.Input[str]] = None,
173
+ display_name: Optional[pulumi.Input[str]] = None,
174
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigErrorArgs']]]] = None,
175
+ inspect_templates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
176
+ last_run_time: Optional[pulumi.Input[str]] = None,
177
+ location: Optional[pulumi.Input[str]] = None,
178
+ name: Optional[pulumi.Input[str]] = None,
179
+ org_config: Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']] = None,
180
+ parent: Optional[pulumi.Input[str]] = None,
181
+ status: Optional[pulumi.Input[str]] = None,
182
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]] = None,
183
+ update_time: Optional[pulumi.Input[str]] = None):
184
+ """
185
+ Input properties used for looking up and filtering PreventionDiscoveryConfig resources.
186
+ :param pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]] actions: Actions to execute at the completion of scanning
187
+ Structure is documented below.
188
+ :param pulumi.Input[str] create_time: Output only. The creation timestamp of a DiscoveryConfig.
189
+ :param pulumi.Input[str] display_name: Display Name (max 1000 Chars)
190
+ :param pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigErrorArgs']]] errors: Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
191
+ Structure is documented below.
192
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] inspect_templates: Detection logic for profile generation
193
+ :param pulumi.Input[str] last_run_time: Output only. The timestamp of the last time this config was executed
194
+ :param pulumi.Input[str] location: Location to create the discovery config in.
195
+
196
+
197
+ - - -
198
+ :param pulumi.Input[str] name: Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
199
+ :param pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs'] org_config: A nested object resource
200
+ Structure is documented below.
201
+ :param pulumi.Input[str] parent: The parent of the discovery config in any of the following formats:
202
+ * `projects/{{project}}/locations/{{location}}`
203
+ * `organizations/{{organization_id}}/locations/{{location}}`
204
+ :param pulumi.Input[str] status: Required. A status for this configuration
205
+ Possible values are: `RUNNING`, `PAUSED`.
206
+ :param pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]] targets: Target to match against for determining what to scan and how frequently
207
+ Structure is documented below.
208
+ :param pulumi.Input[str] update_time: Output only. The last update timestamp of a DiscoveryConfig.
209
+ """
210
+ if actions is not None:
211
+ pulumi.set(__self__, "actions", actions)
212
+ if create_time is not None:
213
+ pulumi.set(__self__, "create_time", create_time)
214
+ if display_name is not None:
215
+ pulumi.set(__self__, "display_name", display_name)
216
+ if errors is not None:
217
+ pulumi.set(__self__, "errors", errors)
218
+ if inspect_templates is not None:
219
+ pulumi.set(__self__, "inspect_templates", inspect_templates)
220
+ if last_run_time is not None:
221
+ pulumi.set(__self__, "last_run_time", last_run_time)
222
+ if location is not None:
223
+ pulumi.set(__self__, "location", location)
224
+ if name is not None:
225
+ pulumi.set(__self__, "name", name)
226
+ if org_config is not None:
227
+ pulumi.set(__self__, "org_config", org_config)
228
+ if parent is not None:
229
+ pulumi.set(__self__, "parent", parent)
230
+ if status is not None:
231
+ pulumi.set(__self__, "status", status)
232
+ if targets is not None:
233
+ pulumi.set(__self__, "targets", targets)
234
+ if update_time is not None:
235
+ pulumi.set(__self__, "update_time", update_time)
236
+
237
+ @property
238
+ @pulumi.getter
239
+ def actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]]:
240
+ """
241
+ Actions to execute at the completion of scanning
242
+ Structure is documented below.
243
+ """
244
+ return pulumi.get(self, "actions")
245
+
246
+ @actions.setter
247
+ def actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigActionArgs']]]]):
248
+ pulumi.set(self, "actions", value)
249
+
250
+ @property
251
+ @pulumi.getter(name="createTime")
252
+ def create_time(self) -> Optional[pulumi.Input[str]]:
253
+ """
254
+ Output only. The creation timestamp of a DiscoveryConfig.
255
+ """
256
+ return pulumi.get(self, "create_time")
257
+
258
+ @create_time.setter
259
+ def create_time(self, value: Optional[pulumi.Input[str]]):
260
+ pulumi.set(self, "create_time", value)
261
+
262
+ @property
263
+ @pulumi.getter(name="displayName")
264
+ def display_name(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ Display Name (max 1000 Chars)
267
+ """
268
+ return pulumi.get(self, "display_name")
269
+
270
+ @display_name.setter
271
+ def display_name(self, value: Optional[pulumi.Input[str]]):
272
+ pulumi.set(self, "display_name", value)
273
+
274
+ @property
275
+ @pulumi.getter
276
+ def errors(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigErrorArgs']]]]:
277
+ """
278
+ Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
279
+ Structure is documented below.
280
+ """
281
+ return pulumi.get(self, "errors")
282
+
283
+ @errors.setter
284
+ def errors(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigErrorArgs']]]]):
285
+ pulumi.set(self, "errors", value)
286
+
287
+ @property
288
+ @pulumi.getter(name="inspectTemplates")
289
+ def inspect_templates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
290
+ """
291
+ Detection logic for profile generation
292
+ """
293
+ return pulumi.get(self, "inspect_templates")
294
+
295
+ @inspect_templates.setter
296
+ def inspect_templates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
297
+ pulumi.set(self, "inspect_templates", value)
298
+
299
+ @property
300
+ @pulumi.getter(name="lastRunTime")
301
+ def last_run_time(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ Output only. The timestamp of the last time this config was executed
304
+ """
305
+ return pulumi.get(self, "last_run_time")
306
+
307
+ @last_run_time.setter
308
+ def last_run_time(self, value: Optional[pulumi.Input[str]]):
309
+ pulumi.set(self, "last_run_time", value)
310
+
311
+ @property
312
+ @pulumi.getter
313
+ def location(self) -> Optional[pulumi.Input[str]]:
314
+ """
315
+ Location to create the discovery config in.
316
+
317
+
318
+ - - -
319
+ """
320
+ return pulumi.get(self, "location")
321
+
322
+ @location.setter
323
+ def location(self, value: Optional[pulumi.Input[str]]):
324
+ pulumi.set(self, "location", value)
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def name(self) -> Optional[pulumi.Input[str]]:
329
+ """
330
+ Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
331
+ """
332
+ return pulumi.get(self, "name")
333
+
334
+ @name.setter
335
+ def name(self, value: Optional[pulumi.Input[str]]):
336
+ pulumi.set(self, "name", value)
337
+
338
+ @property
339
+ @pulumi.getter(name="orgConfig")
340
+ def org_config(self) -> Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']]:
341
+ """
342
+ A nested object resource
343
+ Structure is documented below.
344
+ """
345
+ return pulumi.get(self, "org_config")
346
+
347
+ @org_config.setter
348
+ def org_config(self, value: Optional[pulumi.Input['PreventionDiscoveryConfigOrgConfigArgs']]):
349
+ pulumi.set(self, "org_config", value)
350
+
351
+ @property
352
+ @pulumi.getter
353
+ def parent(self) -> Optional[pulumi.Input[str]]:
354
+ """
355
+ The parent of the discovery config in any of the following formats:
356
+ * `projects/{{project}}/locations/{{location}}`
357
+ * `organizations/{{organization_id}}/locations/{{location}}`
358
+ """
359
+ return pulumi.get(self, "parent")
360
+
361
+ @parent.setter
362
+ def parent(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "parent", value)
364
+
365
+ @property
366
+ @pulumi.getter
367
+ def status(self) -> Optional[pulumi.Input[str]]:
368
+ """
369
+ Required. A status for this configuration
370
+ Possible values are: `RUNNING`, `PAUSED`.
371
+ """
372
+ return pulumi.get(self, "status")
373
+
374
+ @status.setter
375
+ def status(self, value: Optional[pulumi.Input[str]]):
376
+ pulumi.set(self, "status", value)
377
+
378
+ @property
379
+ @pulumi.getter
380
+ def targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]]:
381
+ """
382
+ Target to match against for determining what to scan and how frequently
383
+ Structure is documented below.
384
+ """
385
+ return pulumi.get(self, "targets")
386
+
387
+ @targets.setter
388
+ def targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PreventionDiscoveryConfigTargetArgs']]]]):
389
+ pulumi.set(self, "targets", value)
390
+
391
+ @property
392
+ @pulumi.getter(name="updateTime")
393
+ def update_time(self) -> Optional[pulumi.Input[str]]:
394
+ """
395
+ Output only. The last update timestamp of a DiscoveryConfig.
396
+ """
397
+ return pulumi.get(self, "update_time")
398
+
399
+ @update_time.setter
400
+ def update_time(self, value: Optional[pulumi.Input[str]]):
401
+ pulumi.set(self, "update_time", value)
402
+
403
+
404
+ class PreventionDiscoveryConfig(pulumi.CustomResource):
405
+ @overload
406
+ def __init__(__self__,
407
+ resource_name: str,
408
+ opts: Optional[pulumi.ResourceOptions] = None,
409
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigActionArgs']]]]] = None,
410
+ display_name: Optional[pulumi.Input[str]] = None,
411
+ inspect_templates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
412
+ location: Optional[pulumi.Input[str]] = None,
413
+ org_config: Optional[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigOrgConfigArgs']]] = None,
414
+ parent: Optional[pulumi.Input[str]] = None,
415
+ status: Optional[pulumi.Input[str]] = None,
416
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigTargetArgs']]]]] = None,
417
+ __props__=None):
418
+ """
419
+ Configuration for discovery to scan resources for profile generation. Only one discovery configuration may exist per organization, folder, or project.
420
+
421
+ To get more information about DiscoveryConfig, see:
422
+
423
+ * [API documentation](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.locations.discoveryConfigs)
424
+ * How-to Guides
425
+ * [Schedule inspection scan](https://cloud.google.com/dlp/docs/schedule-inspection-scan)
426
+
427
+ ## Example Usage
428
+
429
+ ## Import
430
+
431
+ DiscoveryConfig can be imported using any of these accepted formats:
432
+
433
+ * `{{parent}}/discoveryConfigs/{{name}}`
434
+
435
+ * `{{parent}}/{{name}}`
436
+
437
+ When using the `pulumi import` command, DiscoveryConfig can be imported using one of the formats above. For example:
438
+
439
+ ```sh
440
+ $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/discoveryConfigs/{{name}}
441
+ ```
442
+
443
+ ```sh
444
+ $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/{{name}}
445
+ ```
446
+
447
+ :param str resource_name: The name of the resource.
448
+ :param pulumi.ResourceOptions opts: Options for the resource.
449
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigActionArgs']]]] actions: Actions to execute at the completion of scanning
450
+ Structure is documented below.
451
+ :param pulumi.Input[str] display_name: Display Name (max 1000 Chars)
452
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] inspect_templates: Detection logic for profile generation
453
+ :param pulumi.Input[str] location: Location to create the discovery config in.
454
+
455
+
456
+ - - -
457
+ :param pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigOrgConfigArgs']] org_config: A nested object resource
458
+ Structure is documented below.
459
+ :param pulumi.Input[str] parent: The parent of the discovery config in any of the following formats:
460
+ * `projects/{{project}}/locations/{{location}}`
461
+ * `organizations/{{organization_id}}/locations/{{location}}`
462
+ :param pulumi.Input[str] status: Required. A status for this configuration
463
+ Possible values are: `RUNNING`, `PAUSED`.
464
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigTargetArgs']]]] targets: Target to match against for determining what to scan and how frequently
465
+ Structure is documented below.
466
+ """
467
+ ...
468
+ @overload
469
+ def __init__(__self__,
470
+ resource_name: str,
471
+ args: PreventionDiscoveryConfigArgs,
472
+ opts: Optional[pulumi.ResourceOptions] = None):
473
+ """
474
+ Configuration for discovery to scan resources for profile generation. Only one discovery configuration may exist per organization, folder, or project.
475
+
476
+ To get more information about DiscoveryConfig, see:
477
+
478
+ * [API documentation](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.locations.discoveryConfigs)
479
+ * How-to Guides
480
+ * [Schedule inspection scan](https://cloud.google.com/dlp/docs/schedule-inspection-scan)
481
+
482
+ ## Example Usage
483
+
484
+ ## Import
485
+
486
+ DiscoveryConfig can be imported using any of these accepted formats:
487
+
488
+ * `{{parent}}/discoveryConfigs/{{name}}`
489
+
490
+ * `{{parent}}/{{name}}`
491
+
492
+ When using the `pulumi import` command, DiscoveryConfig can be imported using one of the formats above. For example:
493
+
494
+ ```sh
495
+ $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/discoveryConfigs/{{name}}
496
+ ```
497
+
498
+ ```sh
499
+ $ pulumi import gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig default {{parent}}/{{name}}
500
+ ```
501
+
502
+ :param str resource_name: The name of the resource.
503
+ :param PreventionDiscoveryConfigArgs args: The arguments to use to populate this resource's properties.
504
+ :param pulumi.ResourceOptions opts: Options for the resource.
505
+ """
506
+ ...
507
+ def __init__(__self__, resource_name: str, *args, **kwargs):
508
+ resource_args, opts = _utilities.get_resource_args_opts(PreventionDiscoveryConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
509
+ if resource_args is not None:
510
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
511
+ else:
512
+ __self__._internal_init(resource_name, *args, **kwargs)
513
+
514
+ def _internal_init(__self__,
515
+ resource_name: str,
516
+ opts: Optional[pulumi.ResourceOptions] = None,
517
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigActionArgs']]]]] = None,
518
+ display_name: Optional[pulumi.Input[str]] = None,
519
+ inspect_templates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
520
+ location: Optional[pulumi.Input[str]] = None,
521
+ org_config: Optional[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigOrgConfigArgs']]] = None,
522
+ parent: Optional[pulumi.Input[str]] = None,
523
+ status: Optional[pulumi.Input[str]] = None,
524
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigTargetArgs']]]]] = None,
525
+ __props__=None):
526
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
527
+ if not isinstance(opts, pulumi.ResourceOptions):
528
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
529
+ if opts.id is None:
530
+ if __props__ is not None:
531
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
532
+ __props__ = PreventionDiscoveryConfigArgs.__new__(PreventionDiscoveryConfigArgs)
533
+
534
+ __props__.__dict__["actions"] = actions
535
+ __props__.__dict__["display_name"] = display_name
536
+ __props__.__dict__["inspect_templates"] = inspect_templates
537
+ if location is None and not opts.urn:
538
+ raise TypeError("Missing required property 'location'")
539
+ __props__.__dict__["location"] = location
540
+ __props__.__dict__["org_config"] = org_config
541
+ if parent is None and not opts.urn:
542
+ raise TypeError("Missing required property 'parent'")
543
+ __props__.__dict__["parent"] = parent
544
+ __props__.__dict__["status"] = status
545
+ __props__.__dict__["targets"] = targets
546
+ __props__.__dict__["create_time"] = None
547
+ __props__.__dict__["errors"] = None
548
+ __props__.__dict__["last_run_time"] = None
549
+ __props__.__dict__["name"] = None
550
+ __props__.__dict__["update_time"] = None
551
+ super(PreventionDiscoveryConfig, __self__).__init__(
552
+ 'gcp:dataloss/preventionDiscoveryConfig:PreventionDiscoveryConfig',
553
+ resource_name,
554
+ __props__,
555
+ opts)
556
+
557
+ @staticmethod
558
+ def get(resource_name: str,
559
+ id: pulumi.Input[str],
560
+ opts: Optional[pulumi.ResourceOptions] = None,
561
+ actions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigActionArgs']]]]] = None,
562
+ create_time: Optional[pulumi.Input[str]] = None,
563
+ display_name: Optional[pulumi.Input[str]] = None,
564
+ errors: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigErrorArgs']]]]] = None,
565
+ inspect_templates: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
566
+ last_run_time: Optional[pulumi.Input[str]] = None,
567
+ location: Optional[pulumi.Input[str]] = None,
568
+ name: Optional[pulumi.Input[str]] = None,
569
+ org_config: Optional[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigOrgConfigArgs']]] = None,
570
+ parent: Optional[pulumi.Input[str]] = None,
571
+ status: Optional[pulumi.Input[str]] = None,
572
+ targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigTargetArgs']]]]] = None,
573
+ update_time: Optional[pulumi.Input[str]] = None) -> 'PreventionDiscoveryConfig':
574
+ """
575
+ Get an existing PreventionDiscoveryConfig resource's state with the given name, id, and optional extra
576
+ properties used to qualify the lookup.
577
+
578
+ :param str resource_name: The unique name of the resulting resource.
579
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
580
+ :param pulumi.ResourceOptions opts: Options for the resource.
581
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigActionArgs']]]] actions: Actions to execute at the completion of scanning
582
+ Structure is documented below.
583
+ :param pulumi.Input[str] create_time: Output only. The creation timestamp of a DiscoveryConfig.
584
+ :param pulumi.Input[str] display_name: Display Name (max 1000 Chars)
585
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigErrorArgs']]]] errors: Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
586
+ Structure is documented below.
587
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] inspect_templates: Detection logic for profile generation
588
+ :param pulumi.Input[str] last_run_time: Output only. The timestamp of the last time this config was executed
589
+ :param pulumi.Input[str] location: Location to create the discovery config in.
590
+
591
+
592
+ - - -
593
+ :param pulumi.Input[str] name: Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
594
+ :param pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigOrgConfigArgs']] org_config: A nested object resource
595
+ Structure is documented below.
596
+ :param pulumi.Input[str] parent: The parent of the discovery config in any of the following formats:
597
+ * `projects/{{project}}/locations/{{location}}`
598
+ * `organizations/{{organization_id}}/locations/{{location}}`
599
+ :param pulumi.Input[str] status: Required. A status for this configuration
600
+ Possible values are: `RUNNING`, `PAUSED`.
601
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PreventionDiscoveryConfigTargetArgs']]]] targets: Target to match against for determining what to scan and how frequently
602
+ Structure is documented below.
603
+ :param pulumi.Input[str] update_time: Output only. The last update timestamp of a DiscoveryConfig.
604
+ """
605
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
606
+
607
+ __props__ = _PreventionDiscoveryConfigState.__new__(_PreventionDiscoveryConfigState)
608
+
609
+ __props__.__dict__["actions"] = actions
610
+ __props__.__dict__["create_time"] = create_time
611
+ __props__.__dict__["display_name"] = display_name
612
+ __props__.__dict__["errors"] = errors
613
+ __props__.__dict__["inspect_templates"] = inspect_templates
614
+ __props__.__dict__["last_run_time"] = last_run_time
615
+ __props__.__dict__["location"] = location
616
+ __props__.__dict__["name"] = name
617
+ __props__.__dict__["org_config"] = org_config
618
+ __props__.__dict__["parent"] = parent
619
+ __props__.__dict__["status"] = status
620
+ __props__.__dict__["targets"] = targets
621
+ __props__.__dict__["update_time"] = update_time
622
+ return PreventionDiscoveryConfig(resource_name, opts=opts, __props__=__props__)
623
+
624
+ @property
625
+ @pulumi.getter
626
+ def actions(self) -> pulumi.Output[Optional[Sequence['outputs.PreventionDiscoveryConfigAction']]]:
627
+ """
628
+ Actions to execute at the completion of scanning
629
+ Structure is documented below.
630
+ """
631
+ return pulumi.get(self, "actions")
632
+
633
+ @property
634
+ @pulumi.getter(name="createTime")
635
+ def create_time(self) -> pulumi.Output[str]:
636
+ """
637
+ Output only. The creation timestamp of a DiscoveryConfig.
638
+ """
639
+ return pulumi.get(self, "create_time")
640
+
641
+ @property
642
+ @pulumi.getter(name="displayName")
643
+ def display_name(self) -> pulumi.Output[Optional[str]]:
644
+ """
645
+ Display Name (max 1000 Chars)
646
+ """
647
+ return pulumi.get(self, "display_name")
648
+
649
+ @property
650
+ @pulumi.getter
651
+ def errors(self) -> pulumi.Output[Sequence['outputs.PreventionDiscoveryConfigError']]:
652
+ """
653
+ Output only. A stream of errors encountered when the config was activated. Repeated errors may result in the config automatically being paused. Output only field. Will return the last 100 errors. Whenever the config is modified this list will be cleared.
654
+ Structure is documented below.
655
+ """
656
+ return pulumi.get(self, "errors")
657
+
658
+ @property
659
+ @pulumi.getter(name="inspectTemplates")
660
+ def inspect_templates(self) -> pulumi.Output[Optional[Sequence[str]]]:
661
+ """
662
+ Detection logic for profile generation
663
+ """
664
+ return pulumi.get(self, "inspect_templates")
665
+
666
+ @property
667
+ @pulumi.getter(name="lastRunTime")
668
+ def last_run_time(self) -> pulumi.Output[str]:
669
+ """
670
+ Output only. The timestamp of the last time this config was executed
671
+ """
672
+ return pulumi.get(self, "last_run_time")
673
+
674
+ @property
675
+ @pulumi.getter
676
+ def location(self) -> pulumi.Output[str]:
677
+ """
678
+ Location to create the discovery config in.
679
+
680
+
681
+ - - -
682
+ """
683
+ return pulumi.get(self, "location")
684
+
685
+ @property
686
+ @pulumi.getter
687
+ def name(self) -> pulumi.Output[str]:
688
+ """
689
+ Unique resource name for the DiscoveryConfig, assigned by the service when the DiscoveryConfig is created.
690
+ """
691
+ return pulumi.get(self, "name")
692
+
693
+ @property
694
+ @pulumi.getter(name="orgConfig")
695
+ def org_config(self) -> pulumi.Output[Optional['outputs.PreventionDiscoveryConfigOrgConfig']]:
696
+ """
697
+ A nested object resource
698
+ Structure is documented below.
699
+ """
700
+ return pulumi.get(self, "org_config")
701
+
702
+ @property
703
+ @pulumi.getter
704
+ def parent(self) -> pulumi.Output[str]:
705
+ """
706
+ The parent of the discovery config in any of the following formats:
707
+ * `projects/{{project}}/locations/{{location}}`
708
+ * `organizations/{{organization_id}}/locations/{{location}}`
709
+ """
710
+ return pulumi.get(self, "parent")
711
+
712
+ @property
713
+ @pulumi.getter
714
+ def status(self) -> pulumi.Output[Optional[str]]:
715
+ """
716
+ Required. A status for this configuration
717
+ Possible values are: `RUNNING`, `PAUSED`.
718
+ """
719
+ return pulumi.get(self, "status")
720
+
721
+ @property
722
+ @pulumi.getter
723
+ def targets(self) -> pulumi.Output[Optional[Sequence['outputs.PreventionDiscoveryConfigTarget']]]:
724
+ """
725
+ Target to match against for determining what to scan and how frequently
726
+ Structure is documented below.
727
+ """
728
+ return pulumi.get(self, "targets")
729
+
730
+ @property
731
+ @pulumi.getter(name="updateTime")
732
+ def update_time(self) -> pulumi.Output[str]:
733
+ """
734
+ Output only. The last update timestamp of a DiscoveryConfig.
735
+ """
736
+ return pulumi.get(self, "update_time")
737
+